diff --git a/packages/vite-plugin-cloudflare/package.json b/packages/vite-plugin-cloudflare/package.json index 70ac030b..69c2a008 100644 --- a/packages/vite-plugin-cloudflare/package.json +++ b/packages/vite-plugin-cloudflare/package.json @@ -36,7 +36,7 @@ }, "dependencies": { "@hattip/adapter-node": "^0.0.49", - "miniflare": "3.20241205.0", + "miniflare": "3.20241230.1", "unenv": "catalog:default", "ws": "^8.18.0" }, diff --git a/packages/vite-plugin-cloudflare/src/__tests__/fixtures/simple-wrangler.toml b/packages/vite-plugin-cloudflare/src/__tests__/fixtures/simple-wrangler.toml index c172c129..ac4f9592 100644 --- a/packages/vite-plugin-cloudflare/src/__tests__/fixtures/simple-wrangler.toml +++ b/packages/vite-plugin-cloudflare/src/__tests__/fixtures/simple-wrangler.toml @@ -1,3 +1,3 @@ name = "my-worker" main = "./index.ts" -compatibility_date = "2024-09-09" +compatibility_date = "2024-12-30" diff --git a/packages/vite-plugin-cloudflare/src/__tests__/fixtures/wrangler-with-fields-to-ignore.toml b/packages/vite-plugin-cloudflare/src/__tests__/fixtures/wrangler-with-fields-to-ignore.toml index b843ffde..2cf9e137 100644 --- a/packages/vite-plugin-cloudflare/src/__tests__/fixtures/wrangler-with-fields-to-ignore.toml +++ b/packages/vite-plugin-cloudflare/src/__tests__/fixtures/wrangler-with-fields-to-ignore.toml @@ -1,6 +1,6 @@ name = "my-worker" main = "./index.ts" -compatibility_date = "2024-09-09" +compatibility_date = "2024-12-30" base_dir = "./src" diff --git a/packages/vite-plugin-cloudflare/src/__tests__/get-worker-config.spec.ts b/packages/vite-plugin-cloudflare/src/__tests__/get-worker-config.spec.ts index d637d373..81943ae5 100644 --- a/packages/vite-plugin-cloudflare/src/__tests__/get-worker-config.spec.ts +++ b/packages/vite-plugin-cloudflare/src/__tests__/get-worker-config.spec.ts @@ -6,6 +6,7 @@ describe('getWorkerConfig', () => { test('should return a simple raw config', () => { const { raw } = getWorkerConfig( fileURLToPath(new URL('fixtures/simple-wrangler.toml', import.meta.url)), + undefined, ); expect(typeof raw).toEqual('object'); @@ -35,6 +36,7 @@ describe('getWorkerConfig', () => { test('should return a simple config without non-applicable fields', () => { const { config } = getWorkerConfig( fileURLToPath(new URL('fixtures/simple-wrangler.toml', import.meta.url)), + undefined, ); expect(typeof config).toEqual('object'); @@ -44,6 +46,7 @@ describe('getWorkerConfig', () => { test("should not return any non-applicable config when there isn't any", () => { const { nonApplicable } = getWorkerConfig( fileURLToPath(new URL('fixtures/simple-wrangler.toml', import.meta.url)), + undefined, ); expect(nonApplicable).toEqual({ replacedByVite: new Set(), @@ -55,6 +58,7 @@ describe('getWorkerConfig', () => { test('should read a simple wrangler.toml file', () => { const { config, raw, nonApplicable } = getWorkerConfig( fileURLToPath(new URL('fixtures/simple-wrangler.toml', import.meta.url)), + undefined, ); expect(typeof config).toEqual('object'); @@ -91,6 +95,7 @@ describe('getWorkerConfig', () => { import.meta.url, ), ), + undefined, ); expect(typeof config).toEqual('object'); diff --git a/packages/vite-plugin-cloudflare/src/index.ts b/packages/vite-plugin-cloudflare/src/index.ts index 37ce7dec..9b4a4663 100644 --- a/packages/vite-plugin-cloudflare/src/index.ts +++ b/packages/vite-plugin-cloudflare/src/index.ts @@ -41,7 +41,7 @@ export function cloudflare(pluginConfig: PluginConfig = {}): vite.Plugin { return { appType: 'custom' }; } - resolvedPluginConfig = resolvePluginConfig(pluginConfig, userConfig); + resolvedPluginConfig = resolvePluginConfig(pluginConfig, userConfig, env); if (!workersConfigsWarningShown) { workersConfigsWarningShown = true; diff --git a/packages/vite-plugin-cloudflare/src/plugin-config.ts b/packages/vite-plugin-cloudflare/src/plugin-config.ts index e16b1dae..19beb8c0 100644 --- a/packages/vite-plugin-cloudflare/src/plugin-config.ts +++ b/packages/vite-plugin-cloudflare/src/plugin-config.ts @@ -11,26 +11,38 @@ import type { export type PersistState = boolean | { path: string }; -interface PluginWorkerConfig { - configPath: string; +interface BaseWorkerConfig { viteEnvironment?: { name?: string }; } -export interface PluginConfig extends Partial { - auxiliaryWorkers?: PluginWorkerConfig[]; +interface EntryWorkerConfig extends BaseWorkerConfig { + configPath?: string; +} + +interface AuxiliaryWorkerConfig extends BaseWorkerConfig { + configPath: string; +} + +export interface PluginConfig extends EntryWorkerConfig { + auxiliaryWorkers?: AuxiliaryWorkerConfig[]; persistState?: PersistState; } type Defined = Exclude; -export type AssetsOnlyConfig = SanitizedWorkerConfig & { +interface BaseConfig extends SanitizedWorkerConfig { + topLevelName: Defined; + name: Defined; + compatibility_date: Defined; +} + +export interface AssetsOnlyConfig extends BaseConfig { assets: Defined; -}; +} -export type WorkerConfig = SanitizedWorkerConfig & { - name: Defined; +export interface WorkerConfig extends BaseConfig { main: Defined; -}; +} interface BasePluginConfig { configPaths: Set; @@ -65,10 +77,12 @@ function workerNameToEnvironmentName(workerName: string) { export function resolvePluginConfig( pluginConfig: PluginConfig, userConfig: vite.UserConfig, + viteEnv: vite.ConfigEnv, ): ResolvedPluginConfig { const configPaths = new Set(); const persistState = pluginConfig.persistState ?? true; const root = userConfig.root ? path.resolve(userConfig.root) : process.cwd(); + const { CLOUDFLARE_ENV } = vite.loadEnv(viteEnv.mode, root, ''); const configPath = pluginConfig.configPath ? path.resolve(root, pluginConfig.configPath) @@ -79,10 +93,14 @@ export function resolvePluginConfig( `Config not found. Have you created a wrangler.json(c) or wrangler.toml file?`, ); - const entryWorkerResolvedConfig = getWorkerConfig(configPath, { - visitedConfigPaths: configPaths, - isEntryWorker: true, - }); + const entryWorkerResolvedConfig = getWorkerConfig( + configPath, + CLOUDFLARE_ENV, + { + visitedConfigPaths: configPaths, + isEntryWorker: true, + }, + ); if (entryWorkerResolvedConfig.type === 'assets-only') { return { @@ -100,7 +118,7 @@ export function resolvePluginConfig( const entryWorkerEnvironmentName = pluginConfig.viteEnvironment?.name ?? - workerNameToEnvironmentName(entryWorkerConfig.name); + workerNameToEnvironmentName(entryWorkerConfig.topLevelName); const workers = { [entryWorkerEnvironmentName]: entryWorkerConfig, @@ -111,6 +129,7 @@ export function resolvePluginConfig( for (const auxiliaryWorker of pluginConfig.auxiliaryWorkers ?? []) { const workerResolvedConfig = getWorkerConfig( path.resolve(root, auxiliaryWorker.configPath), + CLOUDFLARE_ENV, { visitedConfigPaths: configPaths, }, @@ -127,7 +146,7 @@ export function resolvePluginConfig( const workerEnvironmentName = auxiliaryWorker.viteEnvironment?.name ?? - workerNameToEnvironmentName(workerConfig.name); + workerNameToEnvironmentName(workerConfig.topLevelName); if (workers[workerEnvironmentName]) { throw new Error( diff --git a/packages/vite-plugin-cloudflare/src/workers-configs.ts b/packages/vite-plugin-cloudflare/src/workers-configs.ts index 84aa75ae..83fefd74 100644 --- a/packages/vite-plugin-cloudflare/src/workers-configs.ts +++ b/packages/vite-plugin-cloudflare/src/workers-configs.ts @@ -2,7 +2,7 @@ import assert from 'node:assert'; import * as fs from 'node:fs'; import * as path from 'node:path'; import { unstable_readConfig } from 'wrangler'; -import { name } from '../package.json'; +import { name as packageName } from '../package.json'; import type { AssetsOnlyConfig, WorkerConfig } from './plugin-config'; import type { Optional } from './utils'; import type { Unstable_Config as RawWorkerConfig } from 'wrangler'; @@ -128,7 +128,10 @@ const nullableNonApplicable = [ 'upload_source_maps', ] as const; -function readWorkerConfig(configPath: string): { +function readWorkerConfig( + configPath: string, + env: string | undefined, +): { raw: RawWorkerConfig; config: SanitizedWorkerConfig; nonApplicable: NonApplicableConfigMap; @@ -139,7 +142,7 @@ function readWorkerConfig(configPath: string): { overridden: new Set(), }; const config: Optional = - unstable_readConfig({ config: configPath }, {}); + unstable_readConfig({ config: configPath, env }, {}); const raw = structuredClone(config) as RawWorkerConfig; nullableNonApplicable.forEach((prop) => { @@ -273,7 +276,7 @@ function getWorkerNonApplicableWarnLines( if (overridden.size > 0) lines.push( - `${linePrefix}${[...overridden].map((config) => `\`${config}\``).join(', ')} which ${overridden.size > 1 ? 'are' : 'is'} overridden by \`${name}\``, + `${linePrefix}${[...overridden].map((config) => `\`${config}\``).join(', ')} which ${overridden.size > 1 ? 'are' : 'is'} overridden by \`${packageName}\``, ); return lines; @@ -297,8 +300,17 @@ function isOverridden( return nonApplicableWorkerConfigs.overridden.includes(configName as any); } +function missingFieldErrorMessage( + field: string, + configPath: string, + env: string | undefined, +) { + return `No ${field} field provided in '${configPath}'${env ? ` for '${env}' environment` : ''}`; +} + export function getWorkerConfig( configPath: string, + env: string | undefined, opts?: { visitedConfigPaths?: Set; isEntryWorker?: boolean; @@ -308,34 +320,50 @@ export function getWorkerConfig( throw new Error(`Duplicate Wrangler config path found: ${configPath}`); } - const { raw, config, nonApplicable } = readWorkerConfig(configPath); + const { raw, config, nonApplicable } = readWorkerConfig(configPath, env); opts?.visitedConfigPaths?.add(configPath); + assert( + config.topLevelName, + missingFieldErrorMessage(`top-level 'name'`, configPath, env), + ); + assert(config.name, missingFieldErrorMessage(`'name'`, configPath, env)); + assert( + config.compatibility_date, + missingFieldErrorMessage(`'compatibility_date'`, configPath, env), + ); + if (opts?.isEntryWorker && !config.main) { assert( config.assets, - `No main or assets field provided in ${config.configPath}`, + missingFieldErrorMessage(`'main' or 'assets'`, configPath, env), ); return { - raw, type: 'assets-only', - config: { ...config, assets: config.assets }, + raw, + config: { + ...config, + topLevelName: config.topLevelName, + name: config.name, + compatibility_date: config.compatibility_date, + assets: config.assets, + }, nonApplicable, }; } - assert(config.main, `No main field provided in ${config.configPath}`); - - assert(config.name, `No name field provided in ${config.configPath}`); + assert(config.main, missingFieldErrorMessage(`'main'`, configPath, env)); return { type: 'worker', raw, config: { ...config, + topLevelName: config.topLevelName, name: config.name, + compatibility_date: config.compatibility_date, main: config.main, }, nonApplicable, diff --git a/playground/cloudflare-env/.env.custom-mode b/playground/cloudflare-env/.env.custom-mode new file mode 100644 index 00000000..9e764113 --- /dev/null +++ b/playground/cloudflare-env/.env.custom-mode @@ -0,0 +1 @@ +CLOUDFLARE_ENV=custom-env \ No newline at end of file diff --git a/playground/cloudflare-env/__tests__/cloudflare-env.spec.ts b/playground/cloudflare-env/__tests__/cloudflare-env.spec.ts new file mode 100644 index 00000000..1d6155c4 --- /dev/null +++ b/playground/cloudflare-env/__tests__/cloudflare-env.spec.ts @@ -0,0 +1,6 @@ +import { expect, test } from 'vitest'; +import { getTextResponse } from '../../__test-utils__'; + +test('returns the correct top-level var when CLOUDFLARE_ENV is undefined', async () => { + expect(await getTextResponse()).toEqual('Top level var'); +}); diff --git a/playground/cloudflare-env/__tests__/custom-mode/cloudflare-env.spec.ts b/playground/cloudflare-env/__tests__/custom-mode/cloudflare-env.spec.ts new file mode 100644 index 00000000..e61ea4aa --- /dev/null +++ b/playground/cloudflare-env/__tests__/custom-mode/cloudflare-env.spec.ts @@ -0,0 +1,6 @@ +import { expect, test } from 'vitest'; +import { getTextResponse } from '../../../__test-utils__'; + +test('returns the correct var when CLOUDFLARE_ENV is provided in a .env.[mode] file', async () => { + expect(await getTextResponse()).toEqual('Custom env var'); +}); diff --git a/playground/cloudflare-env/package.json b/playground/cloudflare-env/package.json new file mode 100644 index 00000000..84eafef8 --- /dev/null +++ b/playground/cloudflare-env/package.json @@ -0,0 +1,22 @@ +{ + "name": "@playground/cloudflare-env", + "private": true, + "type": "module", + "scripts": { + "build": "vite build --app", + "build:custom-mode": "vite build --app -c vite.config.custom-mode.ts", + "check:types": "tsc --build", + "dev": "vite dev", + "dev:custom-mode": "vite dev -c vite.config.custom-mode.ts", + "preview": "vite preview", + "preview:custom-mode": "vite preview -c vite.config.custom-mode.ts" + }, + "devDependencies": { + "@cloudflare/workers-types": "catalog:default", + "@flarelabs-net/vite-plugin-cloudflare": "workspace:*", + "@vite-plugin-cloudflare/typescript-config": "workspace:*", + "typescript": "catalog:default", + "vite": "catalog:default", + "wrangler": "catalog:default" + } +} diff --git a/playground/cloudflare-env/src/index.ts b/playground/cloudflare-env/src/index.ts new file mode 100644 index 00000000..9d76da70 --- /dev/null +++ b/playground/cloudflare-env/src/index.ts @@ -0,0 +1,9 @@ +interface Env { + MY_VAR: string; +} + +export default { + async fetch(request, env) { + return new Response(env.MY_VAR); + }, +} satisfies ExportedHandler; diff --git a/playground/cloudflare-env/tsconfig.json b/playground/cloudflare-env/tsconfig.json new file mode 100644 index 00000000..b52af703 --- /dev/null +++ b/playground/cloudflare-env/tsconfig.json @@ -0,0 +1,7 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.node.json" }, + { "path": "./tsconfig.worker.json" } + ] +} diff --git a/playground/cloudflare-env/tsconfig.node.json b/playground/cloudflare-env/tsconfig.node.json new file mode 100644 index 00000000..1878c502 --- /dev/null +++ b/playground/cloudflare-env/tsconfig.node.json @@ -0,0 +1,4 @@ +{ + "extends": ["@vite-plugin-cloudflare/typescript-config/base.json"], + "include": ["vite.config.ts", "vite.config.custom-mode.ts", "__tests__"] +} diff --git a/playground/cloudflare-env/tsconfig.worker.json b/playground/cloudflare-env/tsconfig.worker.json new file mode 100644 index 00000000..b2ab8f7a --- /dev/null +++ b/playground/cloudflare-env/tsconfig.worker.json @@ -0,0 +1,4 @@ +{ + "extends": ["@vite-plugin-cloudflare/typescript-config/worker.json"], + "include": ["src"] +} diff --git a/playground/cloudflare-env/vite.config.custom-mode.ts b/playground/cloudflare-env/vite.config.custom-mode.ts new file mode 100644 index 00000000..73283120 --- /dev/null +++ b/playground/cloudflare-env/vite.config.custom-mode.ts @@ -0,0 +1,7 @@ +import { cloudflare } from '@flarelabs-net/vite-plugin-cloudflare'; +import { defineConfig } from 'vite'; + +export default defineConfig({ + mode: 'custom-mode', + plugins: [cloudflare({ persistState: false })], +}); diff --git a/playground/cloudflare-env/vite.config.ts b/playground/cloudflare-env/vite.config.ts new file mode 100644 index 00000000..f7c1b369 --- /dev/null +++ b/playground/cloudflare-env/vite.config.ts @@ -0,0 +1,6 @@ +import { cloudflare } from '@flarelabs-net/vite-plugin-cloudflare'; +import { defineConfig } from 'vite'; + +export default defineConfig({ + plugins: [cloudflare({ persistState: false })], +}); diff --git a/playground/cloudflare-env/wrangler.toml b/playground/cloudflare-env/wrangler.toml new file mode 100644 index 00000000..66b03c7a --- /dev/null +++ b/playground/cloudflare-env/wrangler.toml @@ -0,0 +1,8 @@ +name = "worker" +main = "./src/index.ts" +compatibility_date = "2024-12-30" + +vars = { MY_VAR = "Top level var" } + +[env.custom-env] +vars = { MY_VAR = "Custom env var" } diff --git a/playground/durable-objects/wrangler.toml b/playground/durable-objects/wrangler.toml index 709f1813..44ec3720 100644 --- a/playground/durable-objects/wrangler.toml +++ b/playground/durable-objects/wrangler.toml @@ -1,6 +1,6 @@ name = "worker" main = "./src/index.ts" -compatibility_date = "2024-09-09" +compatibility_date = "2024-12-30" [durable_objects] bindings = [{ name = "COUNTERS", class_name = "Counter" }] diff --git a/playground/external-durable-objects/worker-a/wrangler.toml b/playground/external-durable-objects/worker-a/wrangler.toml index c988c7de..5422696b 100644 --- a/playground/external-durable-objects/worker-a/wrangler.toml +++ b/playground/external-durable-objects/worker-a/wrangler.toml @@ -1,6 +1,6 @@ name = "worker-a" main = "./index.ts" -compatibility_date = "2024-09-09" +compatibility_date = "2024-12-30" [durable_objects] bindings = [ diff --git a/playground/external-durable-objects/worker-b/wrangler.toml b/playground/external-durable-objects/worker-b/wrangler.toml index b32819a4..eb8703d4 100644 --- a/playground/external-durable-objects/worker-b/wrangler.toml +++ b/playground/external-durable-objects/worker-b/wrangler.toml @@ -1,3 +1,3 @@ name = "worker-b" main = "./index.ts" -compatibility_date = "2024-09-09" +compatibility_date = "2024-12-30" diff --git a/playground/external-workflows/__tests__/workflows.spec.ts b/playground/external-workflows/__tests__/workflows.spec.ts index 15478e2b..e8936d11 100644 --- a/playground/external-workflows/__tests__/workflows.spec.ts +++ b/playground/external-workflows/__tests__/workflows.spec.ts @@ -8,7 +8,8 @@ test('creates a Workflow with an ID', async () => { id: instanceId, status: { status: 'running', - output: [], + __LOCAL_DEV_STEP_OUTPUTS: [], + output: null, }, }); @@ -16,7 +17,8 @@ test('creates a Workflow with an ID', async () => { async () => { expect(await getJsonResponse(`/get?id=${instanceId}`)).toEqual({ status: 'running', - output: [{ output: 'First step result' }], + __LOCAL_DEV_STEP_OUTPUTS: [{ output: 'First step result' }], + output: null, }); }, { timeout: 5000 }, @@ -26,10 +28,11 @@ test('creates a Workflow with an ID', async () => { async () => { expect(await getJsonResponse(`/get?id=${instanceId}`)).toEqual({ status: 'complete', - output: [ + __LOCAL_DEV_STEP_OUTPUTS: [ { output: 'First step result' }, { output: 'Second step result' }, ], + output: 'Workflow output', }); }, { timeout: 5000 }, diff --git a/playground/external-workflows/worker-a/wrangler.toml b/playground/external-workflows/worker-a/wrangler.toml index 49647098..7b93a976 100644 --- a/playground/external-workflows/worker-a/wrangler.toml +++ b/playground/external-workflows/worker-a/wrangler.toml @@ -1,6 +1,6 @@ name = "worker-a" main = "./index.ts" -compatibility_date = "2024-09-09" +compatibility_date = "2024-12-30" [[workflows]] name = "workflow" diff --git a/playground/external-workflows/worker-b/index.ts b/playground/external-workflows/worker-b/index.ts index f76b0a45..c491159c 100644 --- a/playground/external-workflows/worker-b/index.ts +++ b/playground/external-workflows/worker-b/index.ts @@ -16,5 +16,7 @@ export class MyWorkflow extends WorkflowEntrypoint { output: 'Second step result', }; }); + + return 'Workflow output'; } } diff --git a/playground/external-workflows/worker-b/wrangler.toml b/playground/external-workflows/worker-b/wrangler.toml index b32819a4..eb8703d4 100644 --- a/playground/external-workflows/worker-b/wrangler.toml +++ b/playground/external-workflows/worker-b/wrangler.toml @@ -1,3 +1,3 @@ name = "worker-b" main = "./index.ts" -compatibility_date = "2024-09-09" +compatibility_date = "2024-12-30" diff --git a/playground/hot-channel/wrangler.toml b/playground/hot-channel/wrangler.toml index 74f13186..9a44ca37 100644 --- a/playground/hot-channel/wrangler.toml +++ b/playground/hot-channel/wrangler.toml @@ -1,3 +1,3 @@ name = "worker" main = "./src/index.ts" -compatibility_date = "2024-09-09" +compatibility_date = "2024-12-30" diff --git a/playground/module-resolution/wrangler.toml b/playground/module-resolution/wrangler.toml index 7cbc0a0f..9a44ca37 100644 --- a/playground/module-resolution/wrangler.toml +++ b/playground/module-resolution/wrangler.toml @@ -1,3 +1,3 @@ name = "worker" main = "./src/index.ts" -compatibility_date = "2024-10-01" +compatibility_date = "2024-12-30" diff --git a/playground/multi-worker/worker-a/wrangler.toml b/playground/multi-worker/worker-a/wrangler.toml index bfaa47c3..6c9ff1ed 100644 --- a/playground/multi-worker/worker-a/wrangler.toml +++ b/playground/multi-worker/worker-a/wrangler.toml @@ -1,6 +1,6 @@ name = "worker-a" main = "./index.ts" -compatibility_date = "2024-09-09" +compatibility_date = "2024-12-30" services = [ { binding = "WORKER_B", service = "worker-b" }, diff --git a/playground/multi-worker/worker-a/wrangler.with-warning.toml b/playground/multi-worker/worker-a/wrangler.with-warning.toml index 3cb7ed80..abf8e39f 100644 --- a/playground/multi-worker/worker-a/wrangler.with-warning.toml +++ b/playground/multi-worker/worker-a/wrangler.with-warning.toml @@ -1,6 +1,6 @@ name = "worker-a" main = "./index.ts" -compatibility_date = "2024-09-09" +compatibility_date = "2024-12-30" services = [ { binding = "WORKER_B", service = "worker-b" }, diff --git a/playground/multi-worker/worker-b/wrangler.toml b/playground/multi-worker/worker-b/wrangler.toml index b32819a4..eb8703d4 100644 --- a/playground/multi-worker/worker-b/wrangler.toml +++ b/playground/multi-worker/worker-b/wrangler.toml @@ -1,3 +1,3 @@ name = "worker-b" main = "./index.ts" -compatibility_date = "2024-09-09" +compatibility_date = "2024-12-30" diff --git a/playground/multi-worker/worker-b/wrangler.with-warning.toml b/playground/multi-worker/worker-b/wrangler.with-warning.toml index 980cc970..32a66151 100644 --- a/playground/multi-worker/worker-b/wrangler.with-warning.toml +++ b/playground/multi-worker/worker-b/wrangler.with-warning.toml @@ -1,6 +1,6 @@ name = "worker-b" main = "./index.ts" -compatibility_date = "2024-09-09" +compatibility_date = "2024-12-30" [build] command = "npm run build" diff --git a/playground/node-compat/worker-basic/wrangler.toml b/playground/node-compat/worker-basic/wrangler.toml index 5ca53e1f..cbd15cf2 100644 --- a/playground/node-compat/worker-basic/wrangler.toml +++ b/playground/node-compat/worker-basic/wrangler.toml @@ -1,4 +1,4 @@ name = "worker" main = "./index.ts" -compatibility_date = "2024-09-23" +compatibility_date = "2024-12-30" compatibility_flags = ["nodejs_compat"] diff --git a/playground/node-compat/worker-cross-env/wrangler.toml b/playground/node-compat/worker-cross-env/wrangler.toml index 5ca53e1f..cbd15cf2 100644 --- a/playground/node-compat/worker-cross-env/wrangler.toml +++ b/playground/node-compat/worker-cross-env/wrangler.toml @@ -1,4 +1,4 @@ name = "worker" main = "./index.ts" -compatibility_date = "2024-09-23" +compatibility_date = "2024-12-30" compatibility_flags = ["nodejs_compat"] diff --git a/playground/node-compat/worker-crypto/wrangler.toml b/playground/node-compat/worker-crypto/wrangler.toml index 5ca53e1f..cbd15cf2 100644 --- a/playground/node-compat/worker-crypto/wrangler.toml +++ b/playground/node-compat/worker-crypto/wrangler.toml @@ -1,4 +1,4 @@ name = "worker" main = "./index.ts" -compatibility_date = "2024-09-23" +compatibility_date = "2024-12-30" compatibility_flags = ["nodejs_compat"] diff --git a/playground/node-compat/worker-postgres/wrangler.toml b/playground/node-compat/worker-postgres/wrangler.toml index baac709c..0cfe231f 100644 --- a/playground/node-compat/worker-postgres/wrangler.toml +++ b/playground/node-compat/worker-postgres/wrangler.toml @@ -1,6 +1,6 @@ name = "worker" main = "./index.ts" -compatibility_date = "2024-09-23" +compatibility_date = "2024-12-30" compatibility_flags = ["nodejs_compat"] [vars] diff --git a/playground/node-compat/worker-process/wrangler.toml b/playground/node-compat/worker-process/wrangler.toml index 5ca53e1f..cbd15cf2 100644 --- a/playground/node-compat/worker-process/wrangler.toml +++ b/playground/node-compat/worker-process/wrangler.toml @@ -1,4 +1,4 @@ name = "worker" main = "./index.ts" -compatibility_date = "2024-09-23" +compatibility_date = "2024-12-30" compatibility_flags = ["nodejs_compat"] diff --git a/playground/node-compat/worker-random/wrangler.toml b/playground/node-compat/worker-random/wrangler.toml index baac709c..0cfe231f 100644 --- a/playground/node-compat/worker-random/wrangler.toml +++ b/playground/node-compat/worker-random/wrangler.toml @@ -1,6 +1,6 @@ name = "worker" main = "./index.ts" -compatibility_date = "2024-09-23" +compatibility_date = "2024-12-30" compatibility_flags = ["nodejs_compat"] [vars] diff --git a/playground/react-spa/wrangler.toml b/playground/react-spa/wrangler.toml index b6932d03..9f66d48c 100644 --- a/playground/react-spa/wrangler.toml +++ b/playground/react-spa/wrangler.toml @@ -1 +1,3 @@ +name = "react-spa" +compatibility_date = "2024-12-30" assets = { not_found_handling = "single-page-application" } diff --git a/playground/spa-with-api/wrangler.toml b/playground/spa-with-api/wrangler.toml index 91dedf15..20bff697 100644 --- a/playground/spa-with-api/wrangler.toml +++ b/playground/spa-with-api/wrangler.toml @@ -1,4 +1,4 @@ name = "api" main = "./api/index.ts" -compatibility_date = "2024-09-09" +compatibility_date = "2024-12-30" assets = { not_found_handling = "single-page-application", binding = "ASSETS" } diff --git a/playground/static-mpa/wrangler.toml b/playground/static-mpa/wrangler.toml index 636ec3ab..998fcaee 100644 --- a/playground/static-mpa/wrangler.toml +++ b/playground/static-mpa/wrangler.toml @@ -1 +1,3 @@ +name = "static-mpa" +compatibility_date = "2024-12-30" assets = { html_handling = "auto-trailing-slash", not_found_handling = "404-page" } diff --git a/playground/static-mpa/wrangler.with-warning.toml b/playground/static-mpa/wrangler.with-warning.toml index a0666946..315e16dd 100644 --- a/playground/static-mpa/wrangler.with-warning.toml +++ b/playground/static-mpa/wrangler.with-warning.toml @@ -1,3 +1,5 @@ +name = "static-mpa" +compatibility_date = "2024-12-30" assets = { html_handling = "auto-trailing-slash", not_found_handling = "404-page" } preserve_file_names = true diff --git a/playground/virtual-modules/wrangler.toml b/playground/virtual-modules/wrangler.toml index 74f13186..9a44ca37 100644 --- a/playground/virtual-modules/wrangler.toml +++ b/playground/virtual-modules/wrangler.toml @@ -1,3 +1,3 @@ name = "worker" main = "./src/index.ts" -compatibility_date = "2024-09-09" +compatibility_date = "2024-12-30" diff --git a/playground/worker/wrangler.toml b/playground/worker/wrangler.toml index 74f13186..9a44ca37 100644 --- a/playground/worker/wrangler.toml +++ b/playground/worker/wrangler.toml @@ -1,3 +1,3 @@ name = "worker" main = "./src/index.ts" -compatibility_date = "2024-09-09" +compatibility_date = "2024-12-30" diff --git a/playground/workflows/__tests__/workflows.spec.ts b/playground/workflows/__tests__/workflows.spec.ts index 15478e2b..e8936d11 100644 --- a/playground/workflows/__tests__/workflows.spec.ts +++ b/playground/workflows/__tests__/workflows.spec.ts @@ -8,7 +8,8 @@ test('creates a Workflow with an ID', async () => { id: instanceId, status: { status: 'running', - output: [], + __LOCAL_DEV_STEP_OUTPUTS: [], + output: null, }, }); @@ -16,7 +17,8 @@ test('creates a Workflow with an ID', async () => { async () => { expect(await getJsonResponse(`/get?id=${instanceId}`)).toEqual({ status: 'running', - output: [{ output: 'First step result' }], + __LOCAL_DEV_STEP_OUTPUTS: [{ output: 'First step result' }], + output: null, }); }, { timeout: 5000 }, @@ -26,10 +28,11 @@ test('creates a Workflow with an ID', async () => { async () => { expect(await getJsonResponse(`/get?id=${instanceId}`)).toEqual({ status: 'complete', - output: [ + __LOCAL_DEV_STEP_OUTPUTS: [ { output: 'First step result' }, { output: 'Second step result' }, ], + output: 'Workflow output', }); }, { timeout: 5000 }, diff --git a/playground/workflows/src/index.ts b/playground/workflows/src/index.ts index 653dad26..903ab156 100644 --- a/playground/workflows/src/index.ts +++ b/playground/workflows/src/index.ts @@ -20,6 +20,8 @@ export class MyWorkflow extends WorkflowEntrypoint { output: 'Second step result', }; }); + + return 'Workflow output'; } } diff --git a/playground/workflows/wrangler.toml b/playground/workflows/wrangler.toml index 1c73be12..e0790f84 100644 --- a/playground/workflows/wrangler.toml +++ b/playground/workflows/wrangler.toml @@ -1,6 +1,6 @@ name = "worker" main = "./src/index.ts" -compatibility_date = "2024-09-09" +compatibility_date = "2024-12-30" [[workflows]] name = "workflow" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ecd3e80d..1688ffa8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,8 +22,8 @@ catalogs: specifier: ^6.0.7 version: 6.0.7 wrangler: - specifier: 3.94.0 - version: 3.94.0 + specifier: 3.101.0 + version: 3.101.0 importers: @@ -69,8 +69,8 @@ importers: specifier: ^0.0.49 version: 0.0.49 miniflare: - specifier: 3.20241205.0 - version: 3.20241205.0 + specifier: 3.20241230.1 + version: 3.20241230.1 unenv: specifier: catalog:default version: unenv-nightly@2.0.0-20241218-183400-5d6aec3 @@ -107,7 +107,7 @@ importers: version: 6.0.7(@types/node@22.10.1) wrangler: specifier: catalog:default - version: 3.94.0(@cloudflare/workers-types@4.20241205.0) + version: 3.101.0(@cloudflare/workers-types@4.20241205.0) playground: devDependencies: @@ -118,6 +118,27 @@ importers: specifier: catalog:default version: 5.7.2 + playground/cloudflare-env: + devDependencies: + '@cloudflare/workers-types': + specifier: catalog:default + version: 4.20241205.0 + '@flarelabs-net/vite-plugin-cloudflare': + specifier: workspace:* + version: link:../../packages/vite-plugin-cloudflare + '@vite-plugin-cloudflare/typescript-config': + specifier: workspace:* + version: link:../../packages/typescript-config + typescript: + specifier: catalog:default + version: 5.7.2 + vite: + specifier: catalog:default + version: 6.0.7(@types/node@22.10.1) + wrangler: + specifier: catalog:default + version: 3.101.0(@cloudflare/workers-types@4.20241205.0) + playground/durable-objects: devDependencies: '@cloudflare/workers-types': @@ -137,7 +158,7 @@ importers: version: 6.0.7(@types/node@22.10.1) wrangler: specifier: catalog:default - version: 3.94.0(@cloudflare/workers-types@4.20241205.0) + version: 3.101.0(@cloudflare/workers-types@4.20241205.0) playground/external-durable-objects: devDependencies: @@ -158,7 +179,7 @@ importers: version: 6.0.7(@types/node@22.10.1) wrangler: specifier: catalog:default - version: 3.94.0(@cloudflare/workers-types@4.20241205.0) + version: 3.101.0(@cloudflare/workers-types@4.20241205.0) playground/external-workflows: devDependencies: @@ -179,7 +200,7 @@ importers: version: 6.0.7(@types/node@22.10.1) wrangler: specifier: catalog:default - version: 3.94.0(@cloudflare/workers-types@4.20241205.0) + version: 3.101.0(@cloudflare/workers-types@4.20241205.0) playground/hot-channel: devDependencies: @@ -200,7 +221,7 @@ importers: version: 6.0.7(@types/node@22.10.1) wrangler: specifier: catalog:default - version: 3.94.0(@cloudflare/workers-types@4.20241205.0) + version: 3.101.0(@cloudflare/workers-types@4.20241205.0) playground/module-resolution: devDependencies: @@ -242,7 +263,7 @@ importers: version: 6.0.7(@types/node@22.10.1) wrangler: specifier: catalog:default - version: 3.94.0(@cloudflare/workers-types@4.20241205.0) + version: 3.101.0(@cloudflare/workers-types@4.20241205.0) playground/multi-worker: devDependencies: @@ -263,7 +284,7 @@ importers: version: 6.0.7(@types/node@22.10.1) wrangler: specifier: catalog:default - version: 3.94.0(@cloudflare/workers-types@4.20241205.0) + version: 3.101.0(@cloudflare/workers-types@4.20241205.0) playground/node-compat: devDependencies: @@ -299,7 +320,7 @@ importers: version: 6.0.7(@types/node@22.10.1) wrangler: specifier: catalog:default - version: 3.94.0(@cloudflare/workers-types@4.20241205.0) + version: 3.101.0(@cloudflare/workers-types@4.20241205.0) playground/react-spa: dependencies: @@ -336,7 +357,7 @@ importers: version: 6.0.7(@types/node@22.10.1) wrangler: specifier: catalog:default - version: 3.94.0(@cloudflare/workers-types@4.20241205.0) + version: 3.101.0(@cloudflare/workers-types@4.20241205.0) playground/spa-with-api: dependencies: @@ -373,7 +394,7 @@ importers: version: 6.0.7(@types/node@22.10.1) wrangler: specifier: catalog:default - version: 3.94.0(@cloudflare/workers-types@4.20241205.0) + version: 3.101.0(@cloudflare/workers-types@4.20241205.0) playground/static-mpa: devDependencies: @@ -394,7 +415,7 @@ importers: version: 6.0.7(@types/node@22.10.1) wrangler: specifier: catalog:default - version: 3.94.0(@cloudflare/workers-types@4.20241205.0) + version: 3.101.0(@cloudflare/workers-types@4.20241205.0) playground/virtual-modules: devDependencies: @@ -415,7 +436,7 @@ importers: version: 6.0.7(@types/node@22.10.1) wrangler: specifier: catalog:default - version: 3.94.0(@cloudflare/workers-types@4.20241205.0) + version: 3.101.0(@cloudflare/workers-types@4.20241205.0) playground/websockets: devDependencies: @@ -436,7 +457,7 @@ importers: version: 6.0.7(@types/node@22.10.1) wrangler: specifier: catalog:default - version: 3.94.0(@cloudflare/workers-types@4.20241205.0) + version: 3.101.0(@cloudflare/workers-types@4.20241205.0) playground/worker: devDependencies: @@ -457,7 +478,7 @@ importers: version: 6.0.7(@types/node@22.10.1) wrangler: specifier: catalog:default - version: 3.94.0(@cloudflare/workers-types@4.20241205.0) + version: 3.101.0(@cloudflare/workers-types@4.20241205.0) playground/workflows: devDependencies: @@ -478,7 +499,7 @@ importers: version: 6.0.7(@types/node@22.10.1) wrangler: specifier: catalog:default - version: 3.94.0(@cloudflare/workers-types@4.20241205.0) + version: 3.101.0(@cloudflare/workers-types@4.20241205.0) packages: @@ -486,6 +507,169 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} + '@aws-crypto/crc32@5.2.0': + resolution: {integrity: sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==} + engines: {node: '>=16.0.0'} + + '@aws-crypto/crc32c@5.2.0': + resolution: {integrity: sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==} + + '@aws-crypto/sha1-browser@5.2.0': + resolution: {integrity: sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==} + + '@aws-crypto/sha256-browser@5.2.0': + resolution: {integrity: sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==} + + '@aws-crypto/sha256-js@5.2.0': + resolution: {integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==} + engines: {node: '>=16.0.0'} + + '@aws-crypto/supports-web-crypto@5.2.0': + resolution: {integrity: sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==} + + '@aws-crypto/util@5.2.0': + resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} + + '@aws-sdk/client-s3@3.726.1': + resolution: {integrity: sha512-UpOGcob87DiuS2d3fW6vDZg94g57mNiOSkzvR/6GOdvBSlUgk8LLwVzGASB71FdKMl1EGEr4MeD5uKH9JsG+dw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/client-sso-oidc@3.726.0': + resolution: {integrity: sha512-5JzTX9jwev7+y2Jkzjz0pd1wobB5JQfPOQF3N2DrJ5Pao0/k6uRYwE4NqB0p0HlGrMTDm7xNq7OSPPIPG575Jw==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@aws-sdk/client-sts': ^3.726.0 + + '@aws-sdk/client-sso@3.726.0': + resolution: {integrity: sha512-NM5pjv2qglEc4XN3nnDqtqGsSGv1k5YTmzDo3W3pObItHmpS8grSeNfX9zSH+aVl0Q8hE4ZIgvTPNZ+GzwVlqg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/client-sts@3.726.1': + resolution: {integrity: sha512-qh9Q9Vu1hrM/wMBOBIaskwnE4GTFaZu26Q6WHwyWNfj7J8a40vBxpW16c2vYXHLBtwRKM1be8uRLkmDwghpiNw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/core@3.723.0': + resolution: {integrity: sha512-UraXNmvqj3vScSsTkjMwQkhei30BhXlW5WxX6JacMKVtl95c7z0qOXquTWeTalYkFfulfdirUhvSZrl+hcyqTw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-env@3.723.0': + resolution: {integrity: sha512-OuH2yULYUHTVDUotBoP/9AEUIJPn81GQ/YBtZLoo2QyezRJ2QiO/1epVtbJlhNZRwXrToLEDmQGA2QfC8c7pbA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-http@3.723.0': + resolution: {integrity: sha512-DTsKC6xo/kz/ZSs1IcdbQMTgiYbpGTGEd83kngFc1bzmw7AmK92DBZKNZpumf8R/UfSpTcj9zzUUmrWz1kD0eQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-ini@3.726.0': + resolution: {integrity: sha512-seTtcKL2+gZX6yK1QRPr5mDJIBOatrpoyrO8D5b8plYtV/PDbDW3mtDJSWFHet29G61ZmlNElyXRqQCXn9WX+A==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@aws-sdk/client-sts': ^3.726.0 + + '@aws-sdk/credential-provider-node@3.726.0': + resolution: {integrity: sha512-jjsewBcw/uLi24x8JbnuDjJad4VA9ROCE94uVRbEnGmUEsds75FWOKp3fWZLQlmjLtzsIbJOZLALkZP86liPaw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-process@3.723.0': + resolution: {integrity: sha512-fgupvUjz1+jeoCBA7GMv0L6xEk92IN6VdF4YcFhsgRHlHvNgm7ayaoKQg7pz2JAAhG/3jPX6fp0ASNy+xOhmPA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-sso@3.726.0': + resolution: {integrity: sha512-WxkN76WeB08j2yw7jUH9yCMPxmT9eBFd9ZA/aACG7yzOIlsz7gvG3P2FQ0tVg25GHM0E4PdU3p/ByTOawzcOAg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-web-identity@3.723.0': + resolution: {integrity: sha512-tl7pojbFbr3qLcOE6xWaNCf1zEfZrIdSJtOPeSXfV/thFMMAvIjgf3YN6Zo1a6cxGee8zrV/C8PgOH33n+Ev/A==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@aws-sdk/client-sts': ^3.723.0 + + '@aws-sdk/middleware-bucket-endpoint@3.726.0': + resolution: {integrity: sha512-vpaP80rZqwu0C3ELayIcRIW84/nd1tadeoqllT+N9TDshuEvq4UJ+w47OBHB7RkHFJoc79lXXNYle0fdQdaE/A==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-expect-continue@3.723.0': + resolution: {integrity: sha512-w/O0EkIzkiqvGu7U8Ke7tue0V0HYM5dZQrz6nVU+R8T2LddWJ+njEIHU4Wh8aHPLQXdZA5NQumv0xLPdEutykw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-flexible-checksums@3.723.0': + resolution: {integrity: sha512-JY76mrUCLa0FHeMZp8X9+KK6uEuZaRZaQrlgq6zkXX/3udukH0T3YdFC+Y9uw5ddbiwZ5+KwgmlhnPpiXKfP4g==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-host-header@3.723.0': + resolution: {integrity: sha512-LLVzLvk299pd7v4jN9yOSaWDZDfH0SnBPb6q+FDPaOCMGBY8kuwQso7e/ozIKSmZHRMGO3IZrflasHM+rI+2YQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-location-constraint@3.723.0': + resolution: {integrity: sha512-inp9tyrdRWjGOMu1rzli8i2gTo0P4X6L7nNRXNTKfyPNZcBimZ4H0H1B671JofSI5isaklVy5r4pvv2VjjLSHw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-logger@3.723.0': + resolution: {integrity: sha512-chASQfDG5NJ8s5smydOEnNK7N0gDMyuPbx7dYYcm1t/PKtnVfvWF+DHCTrRC2Ej76gLJVCVizlAJKM8v8Kg3cg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-recursion-detection@3.723.0': + resolution: {integrity: sha512-7usZMtoynT9/jxL/rkuDOFQ0C2mhXl4yCm67Rg7GNTstl67u7w5WN1aIRImMeztaKlw8ExjoTyo6WTs1Kceh7A==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-sdk-s3@3.723.0': + resolution: {integrity: sha512-wfjOvNJVp8LDWhq4wO5jtSMb8Vgf4tNlR7QTEQfoYc6AGU3WlK5xyUQcpfcpwytEhQTN9u0cJLQpSyXDO+qSCw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-ssec@3.723.0': + resolution: {integrity: sha512-Bs+8RAeSMik6ZYCGSDJzJieGsDDh2fRbh1HQG94T8kpwBXVxMYihm6e9Xp2cyl+w9fyyCnh0IdCKChP/DvrdhA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-user-agent@3.726.0': + resolution: {integrity: sha512-hZvzuE5S0JmFie1r68K2wQvJbzyxJFdzltj9skgnnwdvLe8F/tz7MqLkm28uV0m4jeHk0LpiBo6eZaPkQiwsZQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/region-config-resolver@3.723.0': + resolution: {integrity: sha512-tGF/Cvch3uQjZIj34LY2mg8M2Dr4kYG8VU8Yd0dFnB1ybOEOveIK/9ypUo9ycZpB9oO6q01KRe5ijBaxNueUQg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/signature-v4-multi-region@3.723.0': + resolution: {integrity: sha512-lJlVAa5Sl589qO8lwMLVUtnlF1Q7I+6k1Iomv2goY9d1bRl4q2N5Pit2qJVr2AMW0sceQXeh23i2a/CKOqVAdg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/token-providers@3.723.0': + resolution: {integrity: sha512-hniWi1x4JHVwKElANh9afKIMUhAutHVBRD8zo6usr0PAoj+Waf220+1ULS74GXtLXAPCiNXl5Og+PHA7xT8ElQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@aws-sdk/client-sso-oidc': ^3.723.0 + + '@aws-sdk/types@3.723.0': + resolution: {integrity: sha512-LmK3kwiMZG1y5g3LGihT9mNkeNOmwEyPk6HGcJqh0wOSV4QpWoKu2epyKE4MLQNUUlz2kOVbVbOrwmI6ZcteuA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-arn-parser@3.723.0': + resolution: {integrity: sha512-ZhEfvUwNliOQROcAk34WJWVYTlTa4694kSVhDSjW6lE1bMataPnIN8A0ycukEzBXmd8ZSoBcQLn6lKGl7XIJ5w==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-endpoints@3.726.0': + resolution: {integrity: sha512-sLd30ASsPMoPn3XBK50oe/bkpJ4N8Bpb7SbhoxcY3Lk+fSASaWxbbXE81nbvCnkxrZCvkPOiDHzJCp1E2im71A==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-locate-window@3.723.0': + resolution: {integrity: sha512-Yf2CS10BqK688DRsrKI/EO6B8ff5J86NXe4C+VCysK7UOgN0l1zOTeTukZ3H8Q9tYYX3oaF1961o8vRkFm7Nmw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-user-agent-browser@3.723.0': + resolution: {integrity: sha512-Wh9I6j2jLhNFq6fmXydIpqD1WyQLyTfSxjW9B+PXSnPyk3jtQW8AKQur7p97rO8LAUzVI0bv8kb3ZzDEVbquIg==} + + '@aws-sdk/util-user-agent-node@3.726.0': + resolution: {integrity: sha512-iEj6KX9o6IQf23oziorveRqyzyclWai95oZHDJtYav3fvLJKStwSjygO4xSF7ycHcTYeCHSLO1FFOHgGVs4Viw==} + engines: {node: '>=18.0.0'} + peerDependencies: + aws-crt: '>=1.0.0' + peerDependenciesMeta: + aws-crt: + optional: true + + '@aws-sdk/xml-builder@3.723.0': + resolution: {integrity: sha512-5xK2SqGU1mzzsOeemy7cy3fGKxR1sEpUs4pEiIjaT0OIvU+fZaDVUEYWOqsgns6wI90XZEQJlXtI8uAHX/do5Q==} + engines: {node: '>=18.0.0'} + '@babel/code-frame@7.25.7': resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==} engines: {node: '>=6.9.0'} @@ -643,40 +827,36 @@ packages: resolution: {integrity: sha512-YLPHc8yASwjNkmcDMQMY35yiWjoKAKnhUbPRszBRS0YgH+IXtsMp61j+yTcnCE3oO2DgP0U3iejLC8FTtKDC8Q==} engines: {node: '>=16.13'} - '@cloudflare/workerd-darwin-64@1.20241205.0': - resolution: {integrity: sha512-TArEZkSZkHJyEwnlWWkSpCI99cF6lJ14OVeEoI9Um/+cD9CKZLM9vCmsLeKglKheJ0KcdCnkA+DbeD15t3VaWg==} + '@cloudflare/workerd-darwin-64@1.20241230.0': + resolution: {integrity: sha512-BZHLg4bbhNQoaY1Uan81O3FV/zcmWueC55juhnaI7NAobiQth9RppadPNpxNAmS9fK2mR5z8xrwMQSQrHmztyQ==} engines: {node: '>=16'} cpu: [x64] os: [darwin] - '@cloudflare/workerd-darwin-arm64@1.20241205.0': - resolution: {integrity: sha512-u5eqKa9QRdA8MugfgCoD+ADDjY6EpKbv3hSYJETmmUh17l7WXjWBzv4pUvOKIX67C0UzMUy4jZYwC53MymhX3w==} + '@cloudflare/workerd-darwin-arm64@1.20241230.0': + resolution: {integrity: sha512-lllxycj7EzYoJ0VOJh8M3palUgoonVrILnzGrgsworgWlIpgjfXGS7b41tEGCw6AxSxL9prmTIGtfSPUvn/rjg==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] - '@cloudflare/workerd-linux-64@1.20241205.0': - resolution: {integrity: sha512-OYA7S5zpumMamWEW+IhhBU6YojIEocyE5X/YFPiTOCrDE3dsfr9t6oqNE7hxGm1VAAu+Irtl+a/5LwmBOU681w==} + '@cloudflare/workerd-linux-64@1.20241230.0': + resolution: {integrity: sha512-Y3mHcW0KghOmWdNZyHYpEOG4Ba/ga8tht5vj1a+WXfagEjMO8Y98XhZUlCaYa9yB7Wh5jVcK5LM2jlO/BLgqpA==} engines: {node: '>=16'} cpu: [x64] os: [linux] - '@cloudflare/workerd-linux-arm64@1.20241205.0': - resolution: {integrity: sha512-qAzecONjFJGIAVJZKExQ5dlbic0f3d4A+GdKa+H6SoUJtPaWiE3K6WuePo4JOT7W3/Zfh25McmX+MmpMUUcM5Q==} + '@cloudflare/workerd-linux-arm64@1.20241230.0': + resolution: {integrity: sha512-IAjhsWPlHzhhkJ6I49sDG6XfMnhPvv0szKGXxTWQK/IWMrbGdHm4RSfNKBSoLQm67jGMIzbmcrX9UIkms27Y1g==} engines: {node: '>=16'} cpu: [arm64] os: [linux] - '@cloudflare/workerd-windows-64@1.20241205.0': - resolution: {integrity: sha512-BEab+HiUgCdl6GXAT7EI2yaRtDPiRJlB94XLvRvXi1ZcmQqsrq6awGo6apctFo4WUL29V7c09LxmN4HQ3X2Tvg==} + '@cloudflare/workerd-windows-64@1.20241230.0': + resolution: {integrity: sha512-y5SPIk9iOb2gz+yWtHxoeMnjPnkYQswiCJ480oHC6zexnJLlKTpcmBCjDH1nWCT4pQi8F25gaH8thgElf4NvXQ==} engines: {node: '>=16'} cpu: [x64] os: [win32] - '@cloudflare/workers-shared@0.11.0': - resolution: {integrity: sha512-A+lQ8xp7992qSeMmuQ0ssL6CPmm+ZmAv6Ddikan0n1jjpMAic+97l7xtVIsswSn9iLMFPYQ9uNN/8Fl0AgARIQ==} - engines: {node: '>=16.7.0'} - '@cloudflare/workers-shared@0.7.0': resolution: {integrity: sha512-LLQRTqx7lKC7o2eCYMpyc5FXV8d0pUX6r3A+agzhqS9aoR5A6zCPefwQGcvbKx83ozX22ATZcemwxQXn12UofQ==} engines: {node: '>=16.7.0'} @@ -1588,6 +1768,218 @@ packages: cpu: [x64] os: [win32] + '@smithy/abort-controller@4.0.1': + resolution: {integrity: sha512-fiUIYgIgRjMWznk6iLJz35K2YxSLHzLBA/RC6lBrKfQ8fHbPfvk7Pk9UvpKoHgJjI18MnbPuEju53zcVy6KF1g==} + engines: {node: '>=18.0.0'} + + '@smithy/chunked-blob-reader-native@4.0.0': + resolution: {integrity: sha512-R9wM2yPmfEMsUmlMlIgSzOyICs0x9uu7UTHoccMyt7BWw8shcGM8HqB355+BZCPBcySvbTYMs62EgEQkNxz2ig==} + engines: {node: '>=18.0.0'} + + '@smithy/chunked-blob-reader@5.0.0': + resolution: {integrity: sha512-+sKqDBQqb036hh4NPaUiEkYFkTUGYzRsn3EuFhyfQfMy6oGHEUJDurLP9Ufb5dasr/XiAmPNMr6wa9afjQB+Gw==} + engines: {node: '>=18.0.0'} + + '@smithy/config-resolver@4.0.1': + resolution: {integrity: sha512-Igfg8lKu3dRVkTSEm98QpZUvKEOa71jDX4vKRcvJVyRc3UgN3j7vFMf0s7xLQhYmKa8kyJGQgUJDOV5V3neVlQ==} + engines: {node: '>=18.0.0'} + + '@smithy/core@3.1.0': + resolution: {integrity: sha512-swFv0wQiK7TGHeuAp6lfF5Kw1dHWsTrCuc+yh4Kh05gEShjsE2RUxHucEerR9ih9JITNtaHcSpUThn5Y/vDw0A==} + engines: {node: '>=18.0.0'} + + '@smithy/credential-provider-imds@4.0.1': + resolution: {integrity: sha512-l/qdInaDq1Zpznpmev/+52QomsJNZ3JkTl5yrTl02V6NBgJOQ4LY0SFw/8zsMwj3tLe8vqiIuwF6nxaEwgf6mg==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-codec@4.0.1': + resolution: {integrity: sha512-Q2bCAAR6zXNVtJgifsU16ZjKGqdw/DyecKNgIgi7dlqw04fqDu0mnq+JmGphqheypVc64CYq3azSuCpAdFk2+A==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-browser@4.0.1': + resolution: {integrity: sha512-HbIybmz5rhNg+zxKiyVAnvdM3vkzjE6ccrJ620iPL8IXcJEntd3hnBl+ktMwIy12Te/kyrSbUb8UCdnUT4QEdA==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-config-resolver@4.0.1': + resolution: {integrity: sha512-lSipaiq3rmHguHa3QFF4YcCM3VJOrY9oq2sow3qlhFY+nBSTF/nrO82MUQRPrxHQXA58J5G1UnU2WuJfi465BA==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-node@4.0.1': + resolution: {integrity: sha512-o4CoOI6oYGYJ4zXo34U8X9szDe3oGjmHgsMGiZM0j4vtNoT+h80TLnkUcrLZR3+E6HIxqW+G+9WHAVfl0GXK0Q==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-universal@4.0.1': + resolution: {integrity: sha512-Z94uZp0tGJuxds3iEAZBqGU2QiaBHP4YytLUjwZWx+oUeohCsLyUm33yp4MMBmhkuPqSbQCXq5hDet6JGUgHWA==} + engines: {node: '>=18.0.0'} + + '@smithy/fetch-http-handler@5.0.1': + resolution: {integrity: sha512-3aS+fP28urrMW2KTjb6z9iFow6jO8n3MFfineGbndvzGZit3taZhKWtTorf+Gp5RpFDDafeHlhfsGlDCXvUnJA==} + engines: {node: '>=18.0.0'} + + '@smithy/hash-blob-browser@4.0.1': + resolution: {integrity: sha512-rkFIrQOKZGS6i1D3gKJ8skJ0RlXqDvb1IyAphksaFOMzkn3v3I1eJ8m7OkLj0jf1McP63rcCEoLlkAn/HjcTRw==} + engines: {node: '>=18.0.0'} + + '@smithy/hash-node@4.0.1': + resolution: {integrity: sha512-TJ6oZS+3r2Xu4emVse1YPB3Dq3d8RkZDKcPr71Nj/lJsdAP1c7oFzYqEn1IBc915TsgLl2xIJNuxCz+gLbLE0w==} + engines: {node: '>=18.0.0'} + + '@smithy/hash-stream-node@4.0.1': + resolution: {integrity: sha512-U1rAE1fxmReCIr6D2o/4ROqAQX+GffZpyMt3d7njtGDr2pUNmAKRWa49gsNVhCh2vVAuf3wXzWwNr2YN8PAXIw==} + engines: {node: '>=18.0.0'} + + '@smithy/invalid-dependency@4.0.1': + resolution: {integrity: sha512-gdudFPf4QRQ5pzj7HEnu6FhKRi61BfH/Gk5Yf6O0KiSbr1LlVhgjThcvjdu658VE6Nve8vaIWB8/fodmS1rBPQ==} + engines: {node: '>=18.0.0'} + + '@smithy/is-array-buffer@2.2.0': + resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} + engines: {node: '>=14.0.0'} + + '@smithy/is-array-buffer@4.0.0': + resolution: {integrity: sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==} + engines: {node: '>=18.0.0'} + + '@smithy/md5-js@4.0.1': + resolution: {integrity: sha512-HLZ647L27APi6zXkZlzSFZIjpo8po45YiyjMGJZM3gyDY8n7dPGdmxIIljLm4gPt/7rRvutLTTkYJpZVfG5r+A==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-content-length@4.0.1': + resolution: {integrity: sha512-OGXo7w5EkB5pPiac7KNzVtfCW2vKBTZNuCctn++TTSOMpe6RZO/n6WEC1AxJINn3+vWLKW49uad3lo/u0WJ9oQ==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-endpoint@4.0.1': + resolution: {integrity: sha512-hCCOPu9+sRI7Wj0rZKKnGylKXBEd9cQJetzjQqe8cT4PWvtQAbvNVa6cgAONiZg9m8LaXtP9/waxm3C3eO4hiw==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-retry@4.0.1': + resolution: {integrity: sha512-n3g2zZFgOWaz2ZYCy8+4wxSmq+HSTD8QKkRhFDv+nkxY1o7gzyp4PDz/+tOdcNPMPZ/A6Mt4aVECYNjQNiaHJw==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-serde@4.0.1': + resolution: {integrity: sha512-Fh0E2SOF+S+P1+CsgKyiBInAt3o2b6Qk7YOp2W0Qx2XnfTdfMuSDKUEcnrtpxCzgKJnqXeLUZYqtThaP0VGqtA==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-stack@4.0.1': + resolution: {integrity: sha512-dHwDmrtR/ln8UTHpaIavRSzeIk5+YZTBtLnKwDW3G2t6nAupCiQUvNzNoHBpik63fwUaJPtlnMzXbQrNFWssIA==} + engines: {node: '>=18.0.0'} + + '@smithy/node-config-provider@4.0.1': + resolution: {integrity: sha512-8mRTjvCtVET8+rxvmzRNRR0hH2JjV0DFOmwXPrISmTIJEfnCBugpYYGAsCj8t41qd+RB5gbheSQ/6aKZCQvFLQ==} + engines: {node: '>=18.0.0'} + + '@smithy/node-http-handler@4.0.1': + resolution: {integrity: sha512-ddQc7tvXiVLC5c3QKraGWde761KSk+mboCheZoWtuqnXh5l0WKyFy3NfDIM/dsKrI9HlLVH/21pi9wWK2gUFFA==} + engines: {node: '>=18.0.0'} + + '@smithy/property-provider@4.0.1': + resolution: {integrity: sha512-o+VRiwC2cgmk/WFV0jaETGOtX16VNPp2bSQEzu0whbReqE1BMqsP2ami2Vi3cbGVdKu1kq9gQkDAGKbt0WOHAQ==} + engines: {node: '>=18.0.0'} + + '@smithy/protocol-http@5.0.1': + resolution: {integrity: sha512-TE4cpj49jJNB/oHyh/cRVEgNZaoPaxd4vteJNB0yGidOCVR0jCw/hjPVsT8Q8FRmj8Bd3bFZt8Dh7xGCT+xMBQ==} + engines: {node: '>=18.0.0'} + + '@smithy/querystring-builder@4.0.1': + resolution: {integrity: sha512-wU87iWZoCbcqrwszsOewEIuq+SU2mSoBE2CcsLwE0I19m0B2gOJr1MVjxWcDQYOzHbR1xCk7AcOBbGFUYOKvdg==} + engines: {node: '>=18.0.0'} + + '@smithy/querystring-parser@4.0.1': + resolution: {integrity: sha512-Ma2XC7VS9aV77+clSFylVUnPZRindhB7BbmYiNOdr+CHt/kZNJoPP0cd3QxCnCFyPXC4eybmyE98phEHkqZ5Jw==} + engines: {node: '>=18.0.0'} + + '@smithy/service-error-classification@4.0.1': + resolution: {integrity: sha512-3JNjBfOWpj/mYfjXJHB4Txc/7E4LVq32bwzE7m28GN79+M1f76XHflUaSUkhOriprPDzev9cX/M+dEB80DNDKA==} + engines: {node: '>=18.0.0'} + + '@smithy/shared-ini-file-loader@4.0.1': + resolution: {integrity: sha512-hC8F6qTBbuHRI/uqDgqqi6J0R4GtEZcgrZPhFQnMhfJs3MnUTGSnR1NSJCJs5VWlMydu0kJz15M640fJlRsIOw==} + engines: {node: '>=18.0.0'} + + '@smithy/signature-v4@5.0.1': + resolution: {integrity: sha512-nCe6fQ+ppm1bQuw5iKoeJ0MJfz2os7Ic3GBjOkLOPtavbD1ONoyE3ygjBfz2ythFWm4YnRm6OxW+8p/m9uCoIA==} + engines: {node: '>=18.0.0'} + + '@smithy/smithy-client@4.1.0': + resolution: {integrity: sha512-NiboZnrsrZY+Cy5hQNbYi+nVNssXVi2I+yL4CIKNIanOhH8kpC5PKQ2jx/MQpwVr21a3XcVoQBArlpRF36OeEQ==} + engines: {node: '>=18.0.0'} + + '@smithy/types@4.1.0': + resolution: {integrity: sha512-enhjdwp4D7CXmwLtD6zbcDMbo6/T6WtuuKCY49Xxc6OMOmUWlBEBDREsxxgV2LIdeQPW756+f97GzcgAwp3iLw==} + engines: {node: '>=18.0.0'} + + '@smithy/url-parser@4.0.1': + resolution: {integrity: sha512-gPXcIEUtw7VlK8f/QcruNXm7q+T5hhvGu9tl63LsJPZ27exB6dtNwvh2HIi0v7JcXJ5emBxB+CJxwaLEdJfA+g==} + engines: {node: '>=18.0.0'} + + '@smithy/util-base64@4.0.0': + resolution: {integrity: sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-body-length-browser@4.0.0': + resolution: {integrity: sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==} + engines: {node: '>=18.0.0'} + + '@smithy/util-body-length-node@4.0.0': + resolution: {integrity: sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-buffer-from@2.2.0': + resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} + engines: {node: '>=14.0.0'} + + '@smithy/util-buffer-from@4.0.0': + resolution: {integrity: sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==} + engines: {node: '>=18.0.0'} + + '@smithy/util-config-provider@4.0.0': + resolution: {integrity: sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==} + engines: {node: '>=18.0.0'} + + '@smithy/util-defaults-mode-browser@4.0.1': + resolution: {integrity: sha512-nkQifWzWUHw/D0aLPgyKut+QnJ5X+5E8wBvGfvrYLLZ86xPfVO6MoqfQo/9s4bF3Xscefua1M6KLZtobHMWrBg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-defaults-mode-node@4.0.1': + resolution: {integrity: sha512-LeAx2faB83litC9vaOdwFaldtto2gczUHxfFf8yoRwDU3cwL4/pDm7i0hxsuBCRk5mzHsrVGw+3EVCj32UZMdw==} + engines: {node: '>=18.0.0'} + + '@smithy/util-endpoints@3.0.1': + resolution: {integrity: sha512-zVdUENQpdtn9jbpD9SCFK4+aSiavRb9BxEtw9ZGUR1TYo6bBHbIoi7VkrFQ0/RwZlzx0wRBaRmPclj8iAoJCLA==} + engines: {node: '>=18.0.0'} + + '@smithy/util-hex-encoding@4.0.0': + resolution: {integrity: sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==} + engines: {node: '>=18.0.0'} + + '@smithy/util-middleware@4.0.1': + resolution: {integrity: sha512-HiLAvlcqhbzhuiOa0Lyct5IIlyIz0PQO5dnMlmQ/ubYM46dPInB+3yQGkfxsk6Q24Y0n3/JmcA1v5iEhmOF5mA==} + engines: {node: '>=18.0.0'} + + '@smithy/util-retry@4.0.1': + resolution: {integrity: sha512-WmRHqNVwn3kI3rKk1LsKcVgPBG6iLTBGC1iYOV3GQegwJ3E8yjzHytPt26VNzOWr1qu0xE03nK0Ug8S7T7oufw==} + engines: {node: '>=18.0.0'} + + '@smithy/util-stream@4.0.1': + resolution: {integrity: sha512-Js16gOgU6Qht6qTPfuJgb+1YD4AEO+5Y1UPGWKSp3BNo8ONl/qhXSYDhFKJtwybRJynlCqvP5IeiaBsUmkSPTQ==} + engines: {node: '>=18.0.0'} + + '@smithy/util-uri-escape@4.0.0': + resolution: {integrity: sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-utf8@2.3.0': + resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} + engines: {node: '>=14.0.0'} + + '@smithy/util-utf8@4.0.0': + resolution: {integrity: sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==} + engines: {node: '>=18.0.0'} + + '@smithy/util-waiter@4.0.2': + resolution: {integrity: sha512-piUTHyp2Axx3p/kc2CIJkYSv0BAaheBQmbACZgQSSfWUumWNW+R1lL+H9PDBxKJkvOeEX+hKYEFiwO8xagL8AQ==} + engines: {node: '>=18.0.0'} + '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} @@ -1736,6 +2128,9 @@ packages: blake3-wasm@2.1.5: resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} + bowser@2.11.0: + resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} + brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} @@ -1956,6 +2351,10 @@ packages: fast-querystring@1.1.2: resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} + fast-xml-parser@4.4.1: + resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} + hasBin: true + fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} @@ -2182,8 +2581,8 @@ packages: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} - miniflare@3.20241205.0: - resolution: {integrity: sha512-Z0cTtIf6ZrcAJ3SrOI9EUM3s4dkGhNeU6Ubl8sroYhsPVD+rtz3m5+p6McHFWCkcMff1o60X5XEKVTmkz0gbpA==} + miniflare@3.20241230.1: + resolution: {integrity: sha512-CS6zm12IK7VQGAnypfqqfweVtRKwkz1k4E1cKuF04yCDsuKzkM1UkzCfKhD7cJdGwdEtdtRwq69kODeVFAl8og==} engines: {node: '>=16.13'} hasBin: true @@ -2643,6 +3042,9 @@ packages: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} + strnum@1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + sucrase@3.35.0: resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} engines: {node: '>=16 || 14 >=14.17'} @@ -2765,9 +3167,6 @@ packages: resolution: {integrity: sha512-BUgJXc752Kou3oOIuU1i+yZZypyZRqNPW0vqoMPl8VaoalSfeR0D8/t4iAS3yirs79SSMTxTag+ZC86uswv+Cw==} engines: {node: '>=18.17'} - unenv-nightly@2.0.0-20241204-140205-a5d5190: - resolution: {integrity: sha512-jpmAytLeiiW01pl5bhVn9wYJ4vtiLdhGe10oXlJBuQEX8mxjxO8BlEXGHU4vr4yEikjFP1wsomTHt/CLU8kUwg==} - unenv-nightly@2.0.0-20241218-183400-5d6aec3: resolution: {integrity: sha512-7Xpi29CJRbOV1/IrC03DawMJ0hloklDLq/cigSe+J2jkcC+iDres2Cy0r4ltj5f0x7DqsaGaB4/dLuCPPFZnZA==} @@ -2787,6 +3186,10 @@ packages: urlpattern-polyfill@10.0.0: resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==} + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + validate-npm-package-name@5.0.1: resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -2914,17 +3317,17 @@ packages: engines: {node: '>=8'} hasBin: true - workerd@1.20241205.0: - resolution: {integrity: sha512-vso/2n0c5SdBDWiD+Sx5gM7unA6SiZXRVUHDqH1euoP/9mFVHZF8icoYsNLB87b/TX8zNgpae+I5N/xFpd9v0g==} + workerd@1.20241230.0: + resolution: {integrity: sha512-EgixXP0JGXGq6J9lz17TKIZtfNDUvJNG+cl9paPMfZuYWT920fFpBx+K04YmnbQRLnglsivF1GT9pxh1yrlWhg==} engines: {node: '>=16'} hasBin: true - wrangler@3.94.0: - resolution: {integrity: sha512-4yw8FKp6SI6WQkALnRlWYjehmgliaaMroLLnymWS9qHndjqrZIPZ16trrhl1HvAEDov/rIg0jZ4nxo5n6K0a/Q==} + wrangler@3.101.0: + resolution: {integrity: sha512-zKRqL/jjyF54DH8YCCaF4B2x0v9kSdxLpNkxGDltZ17vCBbq9PCchooN25jbmxOTC2LWdB2LVDw7S66zdl7XuQ==} engines: {node: '>=16.17.0'} hasBin: true peerDependencies: - '@cloudflare/workers-types': ^4.20241205.0 + '@cloudflare/workers-types': ^4.20241230.0 peerDependenciesMeta: '@cloudflare/workers-types': optional: true @@ -2979,6 +3382,513 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 + '@aws-crypto/crc32@5.2.0': + dependencies: + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.723.0 + tslib: 2.7.0 + + '@aws-crypto/crc32c@5.2.0': + dependencies: + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.723.0 + tslib: 2.7.0 + + '@aws-crypto/sha1-browser@5.2.0': + dependencies: + '@aws-crypto/supports-web-crypto': 5.2.0 + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.723.0 + '@aws-sdk/util-locate-window': 3.723.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.7.0 + + '@aws-crypto/sha256-browser@5.2.0': + dependencies: + '@aws-crypto/sha256-js': 5.2.0 + '@aws-crypto/supports-web-crypto': 5.2.0 + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.723.0 + '@aws-sdk/util-locate-window': 3.723.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.7.0 + + '@aws-crypto/sha256-js@5.2.0': + dependencies: + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.723.0 + tslib: 2.7.0 + + '@aws-crypto/supports-web-crypto@5.2.0': + dependencies: + tslib: 2.7.0 + + '@aws-crypto/util@5.2.0': + dependencies: + '@aws-sdk/types': 3.723.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.7.0 + + '@aws-sdk/client-s3@3.726.1': + dependencies: + '@aws-crypto/sha1-browser': 5.2.0 + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/client-sso-oidc': 3.726.0(@aws-sdk/client-sts@3.726.1) + '@aws-sdk/client-sts': 3.726.1 + '@aws-sdk/core': 3.723.0 + '@aws-sdk/credential-provider-node': 3.726.0(@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1))(@aws-sdk/client-sts@3.726.1) + '@aws-sdk/middleware-bucket-endpoint': 3.726.0 + '@aws-sdk/middleware-expect-continue': 3.723.0 + '@aws-sdk/middleware-flexible-checksums': 3.723.0 + '@aws-sdk/middleware-host-header': 3.723.0 + '@aws-sdk/middleware-location-constraint': 3.723.0 + '@aws-sdk/middleware-logger': 3.723.0 + '@aws-sdk/middleware-recursion-detection': 3.723.0 + '@aws-sdk/middleware-sdk-s3': 3.723.0 + '@aws-sdk/middleware-ssec': 3.723.0 + '@aws-sdk/middleware-user-agent': 3.726.0 + '@aws-sdk/region-config-resolver': 3.723.0 + '@aws-sdk/signature-v4-multi-region': 3.723.0 + '@aws-sdk/types': 3.723.0 + '@aws-sdk/util-endpoints': 3.726.0 + '@aws-sdk/util-user-agent-browser': 3.723.0 + '@aws-sdk/util-user-agent-node': 3.726.0 + '@aws-sdk/xml-builder': 3.723.0 + '@smithy/config-resolver': 4.0.1 + '@smithy/core': 3.1.0 + '@smithy/eventstream-serde-browser': 4.0.1 + '@smithy/eventstream-serde-config-resolver': 4.0.1 + '@smithy/eventstream-serde-node': 4.0.1 + '@smithy/fetch-http-handler': 5.0.1 + '@smithy/hash-blob-browser': 4.0.1 + '@smithy/hash-node': 4.0.1 + '@smithy/hash-stream-node': 4.0.1 + '@smithy/invalid-dependency': 4.0.1 + '@smithy/md5-js': 4.0.1 + '@smithy/middleware-content-length': 4.0.1 + '@smithy/middleware-endpoint': 4.0.1 + '@smithy/middleware-retry': 4.0.1 + '@smithy/middleware-serde': 4.0.1 + '@smithy/middleware-stack': 4.0.1 + '@smithy/node-config-provider': 4.0.1 + '@smithy/node-http-handler': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/smithy-client': 4.1.0 + '@smithy/types': 4.1.0 + '@smithy/url-parser': 4.0.1 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-body-length-node': 4.0.0 + '@smithy/util-defaults-mode-browser': 4.0.1 + '@smithy/util-defaults-mode-node': 4.0.1 + '@smithy/util-endpoints': 3.0.1 + '@smithy/util-middleware': 4.0.1 + '@smithy/util-retry': 4.0.1 + '@smithy/util-stream': 4.0.1 + '@smithy/util-utf8': 4.0.0 + '@smithy/util-waiter': 4.0.2 + tslib: 2.7.0 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1)': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/client-sts': 3.726.1 + '@aws-sdk/core': 3.723.0 + '@aws-sdk/credential-provider-node': 3.726.0(@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1))(@aws-sdk/client-sts@3.726.1) + '@aws-sdk/middleware-host-header': 3.723.0 + '@aws-sdk/middleware-logger': 3.723.0 + '@aws-sdk/middleware-recursion-detection': 3.723.0 + '@aws-sdk/middleware-user-agent': 3.726.0 + '@aws-sdk/region-config-resolver': 3.723.0 + '@aws-sdk/types': 3.723.0 + '@aws-sdk/util-endpoints': 3.726.0 + '@aws-sdk/util-user-agent-browser': 3.723.0 + '@aws-sdk/util-user-agent-node': 3.726.0 + '@smithy/config-resolver': 4.0.1 + '@smithy/core': 3.1.0 + '@smithy/fetch-http-handler': 5.0.1 + '@smithy/hash-node': 4.0.1 + '@smithy/invalid-dependency': 4.0.1 + '@smithy/middleware-content-length': 4.0.1 + '@smithy/middleware-endpoint': 4.0.1 + '@smithy/middleware-retry': 4.0.1 + '@smithy/middleware-serde': 4.0.1 + '@smithy/middleware-stack': 4.0.1 + '@smithy/node-config-provider': 4.0.1 + '@smithy/node-http-handler': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/smithy-client': 4.1.0 + '@smithy/types': 4.1.0 + '@smithy/url-parser': 4.0.1 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-body-length-node': 4.0.0 + '@smithy/util-defaults-mode-browser': 4.0.1 + '@smithy/util-defaults-mode-node': 4.0.1 + '@smithy/util-endpoints': 3.0.1 + '@smithy/util-middleware': 4.0.1 + '@smithy/util-retry': 4.0.1 + '@smithy/util-utf8': 4.0.0 + tslib: 2.7.0 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/client-sso@3.726.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.723.0 + '@aws-sdk/middleware-host-header': 3.723.0 + '@aws-sdk/middleware-logger': 3.723.0 + '@aws-sdk/middleware-recursion-detection': 3.723.0 + '@aws-sdk/middleware-user-agent': 3.726.0 + '@aws-sdk/region-config-resolver': 3.723.0 + '@aws-sdk/types': 3.723.0 + '@aws-sdk/util-endpoints': 3.726.0 + '@aws-sdk/util-user-agent-browser': 3.723.0 + '@aws-sdk/util-user-agent-node': 3.726.0 + '@smithy/config-resolver': 4.0.1 + '@smithy/core': 3.1.0 + '@smithy/fetch-http-handler': 5.0.1 + '@smithy/hash-node': 4.0.1 + '@smithy/invalid-dependency': 4.0.1 + '@smithy/middleware-content-length': 4.0.1 + '@smithy/middleware-endpoint': 4.0.1 + '@smithy/middleware-retry': 4.0.1 + '@smithy/middleware-serde': 4.0.1 + '@smithy/middleware-stack': 4.0.1 + '@smithy/node-config-provider': 4.0.1 + '@smithy/node-http-handler': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/smithy-client': 4.1.0 + '@smithy/types': 4.1.0 + '@smithy/url-parser': 4.0.1 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-body-length-node': 4.0.0 + '@smithy/util-defaults-mode-browser': 4.0.1 + '@smithy/util-defaults-mode-node': 4.0.1 + '@smithy/util-endpoints': 3.0.1 + '@smithy/util-middleware': 4.0.1 + '@smithy/util-retry': 4.0.1 + '@smithy/util-utf8': 4.0.0 + tslib: 2.7.0 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/client-sts@3.726.1': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/client-sso-oidc': 3.726.0(@aws-sdk/client-sts@3.726.1) + '@aws-sdk/core': 3.723.0 + '@aws-sdk/credential-provider-node': 3.726.0(@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1))(@aws-sdk/client-sts@3.726.1) + '@aws-sdk/middleware-host-header': 3.723.0 + '@aws-sdk/middleware-logger': 3.723.0 + '@aws-sdk/middleware-recursion-detection': 3.723.0 + '@aws-sdk/middleware-user-agent': 3.726.0 + '@aws-sdk/region-config-resolver': 3.723.0 + '@aws-sdk/types': 3.723.0 + '@aws-sdk/util-endpoints': 3.726.0 + '@aws-sdk/util-user-agent-browser': 3.723.0 + '@aws-sdk/util-user-agent-node': 3.726.0 + '@smithy/config-resolver': 4.0.1 + '@smithy/core': 3.1.0 + '@smithy/fetch-http-handler': 5.0.1 + '@smithy/hash-node': 4.0.1 + '@smithy/invalid-dependency': 4.0.1 + '@smithy/middleware-content-length': 4.0.1 + '@smithy/middleware-endpoint': 4.0.1 + '@smithy/middleware-retry': 4.0.1 + '@smithy/middleware-serde': 4.0.1 + '@smithy/middleware-stack': 4.0.1 + '@smithy/node-config-provider': 4.0.1 + '@smithy/node-http-handler': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/smithy-client': 4.1.0 + '@smithy/types': 4.1.0 + '@smithy/url-parser': 4.0.1 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-body-length-node': 4.0.0 + '@smithy/util-defaults-mode-browser': 4.0.1 + '@smithy/util-defaults-mode-node': 4.0.1 + '@smithy/util-endpoints': 3.0.1 + '@smithy/util-middleware': 4.0.1 + '@smithy/util-retry': 4.0.1 + '@smithy/util-utf8': 4.0.0 + tslib: 2.7.0 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/core@3.723.0': + dependencies: + '@aws-sdk/types': 3.723.0 + '@smithy/core': 3.1.0 + '@smithy/node-config-provider': 4.0.1 + '@smithy/property-provider': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/signature-v4': 5.0.1 + '@smithy/smithy-client': 4.1.0 + '@smithy/types': 4.1.0 + '@smithy/util-middleware': 4.0.1 + fast-xml-parser: 4.4.1 + tslib: 2.7.0 + + '@aws-sdk/credential-provider-env@3.723.0': + dependencies: + '@aws-sdk/core': 3.723.0 + '@aws-sdk/types': 3.723.0 + '@smithy/property-provider': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@aws-sdk/credential-provider-http@3.723.0': + dependencies: + '@aws-sdk/core': 3.723.0 + '@aws-sdk/types': 3.723.0 + '@smithy/fetch-http-handler': 5.0.1 + '@smithy/node-http-handler': 4.0.1 + '@smithy/property-provider': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/smithy-client': 4.1.0 + '@smithy/types': 4.1.0 + '@smithy/util-stream': 4.0.1 + tslib: 2.7.0 + + '@aws-sdk/credential-provider-ini@3.726.0(@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1))(@aws-sdk/client-sts@3.726.1)': + dependencies: + '@aws-sdk/client-sts': 3.726.1 + '@aws-sdk/core': 3.723.0 + '@aws-sdk/credential-provider-env': 3.723.0 + '@aws-sdk/credential-provider-http': 3.723.0 + '@aws-sdk/credential-provider-process': 3.723.0 + '@aws-sdk/credential-provider-sso': 3.726.0(@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1)) + '@aws-sdk/credential-provider-web-identity': 3.723.0(@aws-sdk/client-sts@3.726.1) + '@aws-sdk/types': 3.723.0 + '@smithy/credential-provider-imds': 4.0.1 + '@smithy/property-provider': 4.0.1 + '@smithy/shared-ini-file-loader': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + + '@aws-sdk/credential-provider-node@3.726.0(@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1))(@aws-sdk/client-sts@3.726.1)': + dependencies: + '@aws-sdk/credential-provider-env': 3.723.0 + '@aws-sdk/credential-provider-http': 3.723.0 + '@aws-sdk/credential-provider-ini': 3.726.0(@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1))(@aws-sdk/client-sts@3.726.1) + '@aws-sdk/credential-provider-process': 3.723.0 + '@aws-sdk/credential-provider-sso': 3.726.0(@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1)) + '@aws-sdk/credential-provider-web-identity': 3.723.0(@aws-sdk/client-sts@3.726.1) + '@aws-sdk/types': 3.723.0 + '@smithy/credential-provider-imds': 4.0.1 + '@smithy/property-provider': 4.0.1 + '@smithy/shared-ini-file-loader': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - '@aws-sdk/client-sts' + - aws-crt + + '@aws-sdk/credential-provider-process@3.723.0': + dependencies: + '@aws-sdk/core': 3.723.0 + '@aws-sdk/types': 3.723.0 + '@smithy/property-provider': 4.0.1 + '@smithy/shared-ini-file-loader': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@aws-sdk/credential-provider-sso@3.726.0(@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1))': + dependencies: + '@aws-sdk/client-sso': 3.726.0 + '@aws-sdk/core': 3.723.0 + '@aws-sdk/token-providers': 3.723.0(@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1)) + '@aws-sdk/types': 3.723.0 + '@smithy/property-provider': 4.0.1 + '@smithy/shared-ini-file-loader': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + + '@aws-sdk/credential-provider-web-identity@3.723.0(@aws-sdk/client-sts@3.726.1)': + dependencies: + '@aws-sdk/client-sts': 3.726.1 + '@aws-sdk/core': 3.723.0 + '@aws-sdk/types': 3.723.0 + '@smithy/property-provider': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@aws-sdk/middleware-bucket-endpoint@3.726.0': + dependencies: + '@aws-sdk/types': 3.723.0 + '@aws-sdk/util-arn-parser': 3.723.0 + '@smithy/node-config-provider': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-config-provider': 4.0.0 + tslib: 2.7.0 + + '@aws-sdk/middleware-expect-continue@3.723.0': + dependencies: + '@aws-sdk/types': 3.723.0 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@aws-sdk/middleware-flexible-checksums@3.723.0': + dependencies: + '@aws-crypto/crc32': 5.2.0 + '@aws-crypto/crc32c': 5.2.0 + '@aws-crypto/util': 5.2.0 + '@aws-sdk/core': 3.723.0 + '@aws-sdk/types': 3.723.0 + '@smithy/is-array-buffer': 4.0.0 + '@smithy/node-config-provider': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-middleware': 4.0.1 + '@smithy/util-stream': 4.0.1 + '@smithy/util-utf8': 4.0.0 + tslib: 2.7.0 + + '@aws-sdk/middleware-host-header@3.723.0': + dependencies: + '@aws-sdk/types': 3.723.0 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@aws-sdk/middleware-location-constraint@3.723.0': + dependencies: + '@aws-sdk/types': 3.723.0 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@aws-sdk/middleware-logger@3.723.0': + dependencies: + '@aws-sdk/types': 3.723.0 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@aws-sdk/middleware-recursion-detection@3.723.0': + dependencies: + '@aws-sdk/types': 3.723.0 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@aws-sdk/middleware-sdk-s3@3.723.0': + dependencies: + '@aws-sdk/core': 3.723.0 + '@aws-sdk/types': 3.723.0 + '@aws-sdk/util-arn-parser': 3.723.0 + '@smithy/core': 3.1.0 + '@smithy/node-config-provider': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/signature-v4': 5.0.1 + '@smithy/smithy-client': 4.1.0 + '@smithy/types': 4.1.0 + '@smithy/util-config-provider': 4.0.0 + '@smithy/util-middleware': 4.0.1 + '@smithy/util-stream': 4.0.1 + '@smithy/util-utf8': 4.0.0 + tslib: 2.7.0 + + '@aws-sdk/middleware-ssec@3.723.0': + dependencies: + '@aws-sdk/types': 3.723.0 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@aws-sdk/middleware-user-agent@3.726.0': + dependencies: + '@aws-sdk/core': 3.723.0 + '@aws-sdk/types': 3.723.0 + '@aws-sdk/util-endpoints': 3.726.0 + '@smithy/core': 3.1.0 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@aws-sdk/region-config-resolver@3.723.0': + dependencies: + '@aws-sdk/types': 3.723.0 + '@smithy/node-config-provider': 4.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-config-provider': 4.0.0 + '@smithy/util-middleware': 4.0.1 + tslib: 2.7.0 + + '@aws-sdk/signature-v4-multi-region@3.723.0': + dependencies: + '@aws-sdk/middleware-sdk-s3': 3.723.0 + '@aws-sdk/types': 3.723.0 + '@smithy/protocol-http': 5.0.1 + '@smithy/signature-v4': 5.0.1 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@aws-sdk/token-providers@3.723.0(@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1))': + dependencies: + '@aws-sdk/client-sso-oidc': 3.726.0(@aws-sdk/client-sts@3.726.1) + '@aws-sdk/types': 3.723.0 + '@smithy/property-provider': 4.0.1 + '@smithy/shared-ini-file-loader': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@aws-sdk/types@3.723.0': + dependencies: + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@aws-sdk/util-arn-parser@3.723.0': + dependencies: + tslib: 2.7.0 + + '@aws-sdk/util-endpoints@3.726.0': + dependencies: + '@aws-sdk/types': 3.723.0 + '@smithy/types': 4.1.0 + '@smithy/util-endpoints': 3.0.1 + tslib: 2.7.0 + + '@aws-sdk/util-locate-window@3.723.0': + dependencies: + tslib: 2.7.0 + + '@aws-sdk/util-user-agent-browser@3.723.0': + dependencies: + '@aws-sdk/types': 3.723.0 + '@smithy/types': 4.1.0 + bowser: 2.11.0 + tslib: 2.7.0 + + '@aws-sdk/util-user-agent-node@3.726.0': + dependencies: + '@aws-sdk/middleware-user-agent': 3.726.0 + '@aws-sdk/types': 3.723.0 + '@smithy/node-config-provider': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@aws-sdk/xml-builder@3.723.0': + dependencies: + '@smithy/types': 4.1.0 + tslib: 2.7.0 + '@babel/code-frame@7.25.7': dependencies: '@babel/highlight': 7.25.7 @@ -3209,26 +4119,21 @@ snapshots: dependencies: mime: 3.0.0 - '@cloudflare/workerd-darwin-64@1.20241205.0': + '@cloudflare/workerd-darwin-64@1.20241230.0': optional: true - '@cloudflare/workerd-darwin-arm64@1.20241205.0': + '@cloudflare/workerd-darwin-arm64@1.20241230.0': optional: true - '@cloudflare/workerd-linux-64@1.20241205.0': + '@cloudflare/workerd-linux-64@1.20241230.0': optional: true - '@cloudflare/workerd-linux-arm64@1.20241205.0': + '@cloudflare/workerd-linux-arm64@1.20241230.0': optional: true - '@cloudflare/workerd-windows-64@1.20241205.0': + '@cloudflare/workerd-windows-64@1.20241230.0': optional: true - '@cloudflare/workers-shared@0.11.0': - dependencies: - mime: 3.0.0 - zod: 3.23.8 - '@cloudflare/workers-shared@0.7.0': dependencies: mime: 3.0.0 @@ -3821,6 +4726,337 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.24.0': optional: true + '@smithy/abort-controller@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@smithy/chunked-blob-reader-native@4.0.0': + dependencies: + '@smithy/util-base64': 4.0.0 + tslib: 2.7.0 + + '@smithy/chunked-blob-reader@5.0.0': + dependencies: + tslib: 2.7.0 + + '@smithy/config-resolver@4.0.1': + dependencies: + '@smithy/node-config-provider': 4.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-config-provider': 4.0.0 + '@smithy/util-middleware': 4.0.1 + tslib: 2.7.0 + + '@smithy/core@3.1.0': + dependencies: + '@smithy/middleware-serde': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-middleware': 4.0.1 + '@smithy/util-stream': 4.0.1 + '@smithy/util-utf8': 4.0.0 + tslib: 2.7.0 + + '@smithy/credential-provider-imds@4.0.1': + dependencies: + '@smithy/node-config-provider': 4.0.1 + '@smithy/property-provider': 4.0.1 + '@smithy/types': 4.1.0 + '@smithy/url-parser': 4.0.1 + tslib: 2.7.0 + + '@smithy/eventstream-codec@4.0.1': + dependencies: + '@aws-crypto/crc32': 5.2.0 + '@smithy/types': 4.1.0 + '@smithy/util-hex-encoding': 4.0.0 + tslib: 2.7.0 + + '@smithy/eventstream-serde-browser@4.0.1': + dependencies: + '@smithy/eventstream-serde-universal': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@smithy/eventstream-serde-config-resolver@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@smithy/eventstream-serde-node@4.0.1': + dependencies: + '@smithy/eventstream-serde-universal': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@smithy/eventstream-serde-universal@4.0.1': + dependencies: + '@smithy/eventstream-codec': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@smithy/fetch-http-handler@5.0.1': + dependencies: + '@smithy/protocol-http': 5.0.1 + '@smithy/querystring-builder': 4.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-base64': 4.0.0 + tslib: 2.7.0 + + '@smithy/hash-blob-browser@4.0.1': + dependencies: + '@smithy/chunked-blob-reader': 5.0.0 + '@smithy/chunked-blob-reader-native': 4.0.0 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@smithy/hash-node@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + '@smithy/util-buffer-from': 4.0.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.7.0 + + '@smithy/hash-stream-node@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.7.0 + + '@smithy/invalid-dependency@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@smithy/is-array-buffer@2.2.0': + dependencies: + tslib: 2.7.0 + + '@smithy/is-array-buffer@4.0.0': + dependencies: + tslib: 2.7.0 + + '@smithy/md5-js@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.7.0 + + '@smithy/middleware-content-length@4.0.1': + dependencies: + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@smithy/middleware-endpoint@4.0.1': + dependencies: + '@smithy/core': 3.1.0 + '@smithy/middleware-serde': 4.0.1 + '@smithy/node-config-provider': 4.0.1 + '@smithy/shared-ini-file-loader': 4.0.1 + '@smithy/types': 4.1.0 + '@smithy/url-parser': 4.0.1 + '@smithy/util-middleware': 4.0.1 + tslib: 2.7.0 + + '@smithy/middleware-retry@4.0.1': + dependencies: + '@smithy/node-config-provider': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/service-error-classification': 4.0.1 + '@smithy/smithy-client': 4.1.0 + '@smithy/types': 4.1.0 + '@smithy/util-middleware': 4.0.1 + '@smithy/util-retry': 4.0.1 + tslib: 2.7.0 + uuid: 9.0.1 + + '@smithy/middleware-serde@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@smithy/middleware-stack@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@smithy/node-config-provider@4.0.1': + dependencies: + '@smithy/property-provider': 4.0.1 + '@smithy/shared-ini-file-loader': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@smithy/node-http-handler@4.0.1': + dependencies: + '@smithy/abort-controller': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/querystring-builder': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@smithy/property-provider@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@smithy/protocol-http@5.0.1': + dependencies: + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@smithy/querystring-builder@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + '@smithy/util-uri-escape': 4.0.0 + tslib: 2.7.0 + + '@smithy/querystring-parser@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@smithy/service-error-classification@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + + '@smithy/shared-ini-file-loader@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@smithy/signature-v4@5.0.1': + dependencies: + '@smithy/is-array-buffer': 4.0.0 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-hex-encoding': 4.0.0 + '@smithy/util-middleware': 4.0.1 + '@smithy/util-uri-escape': 4.0.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.7.0 + + '@smithy/smithy-client@4.1.0': + dependencies: + '@smithy/core': 3.1.0 + '@smithy/middleware-endpoint': 4.0.1 + '@smithy/middleware-stack': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-stream': 4.0.1 + tslib: 2.7.0 + + '@smithy/types@4.1.0': + dependencies: + tslib: 2.7.0 + + '@smithy/url-parser@4.0.1': + dependencies: + '@smithy/querystring-parser': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@smithy/util-base64@4.0.0': + dependencies: + '@smithy/util-buffer-from': 4.0.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.7.0 + + '@smithy/util-body-length-browser@4.0.0': + dependencies: + tslib: 2.7.0 + + '@smithy/util-body-length-node@4.0.0': + dependencies: + tslib: 2.7.0 + + '@smithy/util-buffer-from@2.2.0': + dependencies: + '@smithy/is-array-buffer': 2.2.0 + tslib: 2.7.0 + + '@smithy/util-buffer-from@4.0.0': + dependencies: + '@smithy/is-array-buffer': 4.0.0 + tslib: 2.7.0 + + '@smithy/util-config-provider@4.0.0': + dependencies: + tslib: 2.7.0 + + '@smithy/util-defaults-mode-browser@4.0.1': + dependencies: + '@smithy/property-provider': 4.0.1 + '@smithy/smithy-client': 4.1.0 + '@smithy/types': 4.1.0 + bowser: 2.11.0 + tslib: 2.7.0 + + '@smithy/util-defaults-mode-node@4.0.1': + dependencies: + '@smithy/config-resolver': 4.0.1 + '@smithy/credential-provider-imds': 4.0.1 + '@smithy/node-config-provider': 4.0.1 + '@smithy/property-provider': 4.0.1 + '@smithy/smithy-client': 4.1.0 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@smithy/util-endpoints@3.0.1': + dependencies: + '@smithy/node-config-provider': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@smithy/util-hex-encoding@4.0.0': + dependencies: + tslib: 2.7.0 + + '@smithy/util-middleware@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@smithy/util-retry@4.0.1': + dependencies: + '@smithy/service-error-classification': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + + '@smithy/util-stream@4.0.1': + dependencies: + '@smithy/fetch-http-handler': 5.0.1 + '@smithy/node-http-handler': 4.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-base64': 4.0.0 + '@smithy/util-buffer-from': 4.0.0 + '@smithy/util-hex-encoding': 4.0.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.7.0 + + '@smithy/util-uri-escape@4.0.0': + dependencies: + tslib: 2.7.0 + + '@smithy/util-utf8@2.3.0': + dependencies: + '@smithy/util-buffer-from': 2.2.0 + tslib: 2.7.0 + + '@smithy/util-utf8@4.0.0': + dependencies: + '@smithy/util-buffer-from': 4.0.0 + tslib: 2.7.0 + + '@smithy/util-waiter@4.0.2': + dependencies: + '@smithy/abort-controller': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.7.0 + '@types/babel__core@7.20.5': dependencies: '@babel/parser': 7.25.8 @@ -3987,6 +5223,8 @@ snapshots: blake3-wasm@2.1.5: {} + bowser@2.11.0: {} + brace-expansion@2.0.1: dependencies: balanced-match: 1.0.2 @@ -4280,6 +5518,10 @@ snapshots: dependencies: fast-decode-uri-component: 1.0.1 + fast-xml-parser@4.4.1: + dependencies: + strnum: 1.0.5 + fastq@1.17.1: dependencies: reusify: 1.0.4 @@ -4453,7 +5695,7 @@ snapshots: mimic-fn@2.1.0: {} - miniflare@3.20241205.0: + miniflare@3.20241230.1: dependencies: '@cspotcode/source-map-support': 0.8.1 acorn: 8.14.0 @@ -4463,7 +5705,7 @@ snapshots: glob-to-regexp: 0.4.1 stoppable: 1.1.0 undici: 5.28.4 - workerd: 1.20241205.0 + workerd: 1.20241230.0 ws: 8.18.0 youch: 3.3.3 zod: 3.23.8 @@ -4881,6 +6123,8 @@ snapshots: strip-final-newline@2.0.0: {} + strnum@1.0.5: {} + sucrase@3.35.0: dependencies: '@jridgewell/gen-mapping': 0.3.5 @@ -4993,13 +6237,6 @@ snapshots: undici@6.21.0: {} - unenv-nightly@2.0.0-20241204-140205-a5d5190: - dependencies: - defu: 6.1.4 - ohash: 1.1.4 - pathe: 1.1.2 - ufo: 1.5.4 - unenv-nightly@2.0.0-20241218-183400-5d6aec3: dependencies: defu: 6.1.4 @@ -5020,6 +6257,8 @@ snapshots: urlpattern-polyfill@10.0.0: {} + uuid@9.0.1: {} + validate-npm-package-name@5.0.1: {} vite-node@2.1.3(@types/node@22.10.1): @@ -5115,18 +6354,18 @@ snapshots: siginfo: 2.0.0 stackback: 0.0.2 - workerd@1.20241205.0: + workerd@1.20241230.0: optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20241205.0 - '@cloudflare/workerd-darwin-arm64': 1.20241205.0 - '@cloudflare/workerd-linux-64': 1.20241205.0 - '@cloudflare/workerd-linux-arm64': 1.20241205.0 - '@cloudflare/workerd-windows-64': 1.20241205.0 + '@cloudflare/workerd-darwin-64': 1.20241230.0 + '@cloudflare/workerd-darwin-arm64': 1.20241230.0 + '@cloudflare/workerd-linux-64': 1.20241230.0 + '@cloudflare/workerd-linux-arm64': 1.20241230.0 + '@cloudflare/workerd-windows-64': 1.20241230.0 - wrangler@3.94.0(@cloudflare/workers-types@4.20241205.0): + wrangler@3.101.0(@cloudflare/workers-types@4.20241205.0): dependencies: + '@aws-sdk/client-s3': 3.726.1 '@cloudflare/kv-asset-handler': 0.3.4 - '@cloudflare/workers-shared': 0.11.0 '@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19) '@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19) blake3-wasm: 2.1.5 @@ -5134,19 +6373,20 @@ snapshots: date-fns: 4.1.0 esbuild: 0.17.19 itty-time: 1.0.6 - miniflare: 3.20241205.0 + miniflare: 3.20241230.1 nanoid: 3.3.7 path-to-regexp: 6.3.0 resolve: 1.22.8 selfsigned: 2.4.1 source-map: 0.6.1 - unenv: unenv-nightly@2.0.0-20241204-140205-a5d5190 - workerd: 1.20241205.0 + unenv: unenv-nightly@2.0.0-20241218-183400-5d6aec3 + workerd: 1.20241230.0 xxhash-wasm: 1.0.2 optionalDependencies: '@cloudflare/workers-types': 4.20241205.0 fsevents: 2.3.3 transitivePeerDependencies: + - aws-crt - bufferutil - supports-color - utf-8-validate diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 3874d05c..c3883c1a 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -7,6 +7,6 @@ catalog: '@cloudflare/workers-types': '^4.20241205.0' 'typescript': '^5.7.2' 'vite': '^6.0.7' - 'wrangler': '3.94.0' + 'wrangler': '3.101.0' '@types/node': '^22.10.1' 'unenv': 'npm:unenv-nightly@2.0.0-20241218-183400-5d6aec3'