wrangler 4.123.0 → 4.124.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -61,9 +61,8 @@ function runCfWranglerDevFromArgs(parsedArgs) {
61
61
 
62
62
  function createDevOptions(parsedArgs) {
63
63
  // Build wrangler dev's full (yargs-derived) options object. Every field
64
- // must be present; we set the four accepted flags plus `wrangler dev`'s
65
- // defaults and leave everything else `undefined`, which makes wrangler's
66
- // ConfigController resolve those exactly as `wrangler dev` would.
64
+ // must be present; we set the four accepted flags, force cf's new config
65
+ // format, and otherwise use `wrangler dev`'s defaults.
67
66
  return {
68
67
  _: [],
69
68
  $0: "",
@@ -77,6 +76,7 @@ function createDevOptions(parsedArgs) {
77
76
  testScheduled: false,
78
77
  processEntrypoint: false,
79
78
  experimentalAutoCreate: false,
79
+ experimentalNewConfig: true,
80
80
  types: false,
81
81
  disableDevRegistry: false,
82
82
  config: undefined,
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$ref": "#/definitions/RawConfig",
4
3
  "definitions": {
5
4
  "RawConfig": {
6
5
  "type": "object",
@@ -3595,6 +3594,11 @@
3595
3594
  },
3596
3595
  "storage": {
3597
3596
  "$ref": "#/definitions/DurableObjectExportStorage"
3597
+ },
3598
+ "container": {
3599
+ "type": "string",
3600
+ "description": "Attach a container to this Durable Object. Must match the `name` of an entry in the top-level `containers` array, and requires `storage: \"sqlite\"`.",
3601
+ "markdownDescription": "Attach a container to this Durable Object. Must match the `name` of an\nentry in the top-level `containers` array, and requires\n`storage: \"sqlite\"`."
3598
3602
  }
3599
3603
  },
3600
3604
  "required": [
@@ -3681,6 +3685,11 @@
3681
3685
  },
3682
3686
  "transfer_from": {
3683
3687
  "type": "string"
3688
+ },
3689
+ "container": {
3690
+ "type": "string",
3691
+ "description": "Attach a container to this Durable Object. Must match the `name` of an entry in the top-level `containers` array, and requires `storage: \"sqlite\"`.",
3692
+ "markdownDescription": "Attach a container to this Durable Object. Must match the `name` of an\nentry in the top-level `containers` array, and requires\n`storage: \"sqlite\"`."
3684
3693
  }
3685
3694
  },
3686
3695
  "required": [
@@ -3692,8 +3701,8 @@
3692
3701
  "additionalProperties": false
3693
3702
  }
3694
3703
  ],
3695
- "description": "A single declarative Durable Object export entry in the `exports` config map. `type` is reserved for the export kind. `state` carries the Durable Object lifecycle and defaults to `\"created\"` (live) when omitted.\n\nMutually exclusive with {@link DurableObjectMigration } at the config- validation boundary.\n\n - `created` (default, live): `storage` is required. - `deleted` (tombstone): retire a provisioned namespace whose class has been removed from code. - `renamed` (tombstone): rewrite a provisioned namespace's class name to `renamed_to`. The target name must also appear as a live (state `\"created\"`) `durable-object` entry in the same map. - `transferred` (tombstone): hand ownership of the namespace to another script in the same account (`transferred_to`). Two-phase commit; the target must first deploy an `expecting-transfer` entry naming this script via `transfer_from`. - `expecting-transfer` (live): receiving side of a two-phase transfer; `storage` and `transfer_from` are both required.",
3696
- "markdownDescription": "A single declarative Durable Object export entry in the `exports` config\nmap. `type` is reserved for the export kind. `state` carries the Durable\nObject lifecycle and defaults to `\"created\"` (live) when omitted.\n\nMutually exclusive with {@link DurableObjectMigration } at the config-\nvalidation boundary.\n\n - `created` (default, live): `storage` is required.\n - `deleted` (tombstone): retire a provisioned namespace whose class has\n been removed from code.\n - `renamed` (tombstone): rewrite a provisioned namespace's class name to\n `renamed_to`. The target name must also appear as a live (state\n `\"created\"`) `durable-object` entry in the same map.\n - `transferred` (tombstone): hand ownership of the namespace to another\n script in the same account (`transferred_to`). Two-phase commit;\n the target must first deploy an `expecting-transfer` entry naming this\n script via `transfer_from`.\n - `expecting-transfer` (live): receiving side of a two-phase transfer;\n `storage` and `transfer_from` are both required."
3704
+ "description": "A single declarative Durable Object export entry in the `exports` config map. `type` is reserved for the export kind. `state` carries the Durable Object lifecycle and defaults to `\"created\"` (live) when omitted.\n\nMutually exclusive with {@link DurableObjectMigration } at the config- validation boundary.\n\n - `created` (default, live): `storage` is required. - `deleted` (tombstone): retire a provisioned namespace whose class has been removed from code. - `renamed` (tombstone): rewrite a provisioned namespace's class name to `renamed_to`. The target name must also appear as a live (state `\"created\"`) `durable-object` entry in the same map. - `transferred` (tombstone): hand ownership of the namespace to another script in the same account (`transferred_to`). Two-phase commit; the target must first deploy an `expecting-transfer` entry naming this script via `transfer_from`. - `expecting-transfer` (live): receiving side of a two-phase transfer; `storage` and `transfer_from` are both required.\n\nThe live states may additionally attach a container via `container`, which names an entry in the top-level `containers` array. Tombstones cannot.",
3705
+ "markdownDescription": "A single declarative Durable Object export entry in the `exports` config\nmap. `type` is reserved for the export kind. `state` carries the Durable\nObject lifecycle and defaults to `\"created\"` (live) when omitted.\n\nMutually exclusive with {@link DurableObjectMigration } at the config-\nvalidation boundary.\n\n - `created` (default, live): `storage` is required.\n - `deleted` (tombstone): retire a provisioned namespace whose class has\n been removed from code.\n - `renamed` (tombstone): rewrite a provisioned namespace's class name to\n `renamed_to`. The target name must also appear as a live (state\n `\"created\"`) `durable-object` entry in the same map.\n - `transferred` (tombstone): hand ownership of the namespace to another\n script in the same account (`transferred_to`). Two-phase commit;\n the target must first deploy an `expecting-transfer` entry naming this\n script via `transfer_from`.\n - `expecting-transfer` (live): receiving side of a two-phase transfer;\n `storage` and `transfer_from` are both required.\n\nThe live states may additionally attach a container via `container`, which\nnames an entry in the top-level `containers` array. Tombstones cannot."
3697
3706
  },
3698
3707
  "DurableObjectExportStorage": {
3699
3708
  "type": "string",
@@ -4027,16 +4036,16 @@
4027
4036
  "additionalProperties": false,
4028
4037
  "properties": {
4029
4038
  "logpush": {
4030
- "$ref": "#/definitions/interface-769040647-10754-21116-769040647-0-543362004818536"
4039
+ "$ref": "#/definitions/interface-769040647-11843-22205-769040647-0-554252004818536"
4031
4040
  },
4032
4041
  "observability": {
4033
- "$ref": "#/definitions/interface-769040647-10754-21116-769040647-0-543362004818536"
4042
+ "$ref": "#/definitions/interface-769040647-11843-22205-769040647-0-554252004818536"
4034
4043
  },
4035
4044
  "limits": {
4036
- "$ref": "#/definitions/interface-769040647-10754-21116-769040647-0-543362004818536"
4045
+ "$ref": "#/definitions/interface-769040647-11843-22205-769040647-0-554252004818536"
4037
4046
  },
4038
4047
  "cache": {
4039
- "$ref": "#/definitions/interface-769040647-10754-21116-769040647-0-543362004818536"
4048
+ "$ref": "#/definitions/interface-769040647-11843-22205-769040647-0-554252004818536"
4040
4049
  },
4041
4050
  "define": {
4042
4051
  "type": "object",
@@ -5308,7 +5317,7 @@
5308
5317
  "description": "Configuration for Worker Previews.\n\nThis defines the settings used when creating Preview deployments. Previews are branches of your Worker's main instance used to test features during feature development outside of production.\n\nThe `previews` block contains any intentionally divergent configuration intended solely for Previews, including:\n- All non-inheritable properties (environment variables and bindings like KV, D1, R2, etc.)\n- Select inheritable properties: `logpush`, `observability`, `limits`, `cache`",
5309
5318
  "markdownDescription": "Configuration for Worker Previews.\n\nThis defines the settings used when creating Preview deployments.\nPreviews are branches of your Worker's main instance used to test features\nduring feature development outside of production.\n\nThe `previews` block contains any intentionally divergent configuration intended solely for Previews, including:\n- All non-inheritable properties (environment variables and bindings like KV, D1, R2, etc.)\n- Select inheritable properties: `logpush`, `observability`, `limits`, `cache`"
5310
5319
  },
5311
- "interface-769040647-10754-21116-769040647-0-543362004818536": {
5320
+ "interface-769040647-11843-22205-769040647-0-554252004818536": {
5312
5321
  "type": "object",
5313
5322
  "properties": {
5314
5323
  "name": {
@@ -5864,8 +5873,8 @@
5864
5873
  "properties": {
5865
5874
  "name": {
5866
5875
  "type": "string",
5867
- "description": "Name of the application",
5868
- "markdownDescription": "Name of the application"
5876
+ "description": "Name of the application.\n\nThis is also the identifier used to reference the container from a Durable Object's `exports` entry via its `container` field.",
5877
+ "markdownDescription": "Name of the application.\n\nThis is also the identifier used to reference the container from a Durable\nObject's `exports` entry via its `container` field."
5869
5878
  },
5870
5879
  "max_instances": {
5871
5880
  "type": "number",
@@ -6084,8 +6093,7 @@
6084
6093
  }
6085
6094
  },
6086
6095
  "required": [
6087
- "image",
6088
- "class_name"
6096
+ "image"
6089
6097
  ],
6090
6098
  "additionalProperties": false,
6091
6099
  "description": "Configuration for a container application",
@@ -6280,5 +6288,10 @@
6280
6288
  "additionalProperties": false
6281
6289
  }
6282
6290
  },
6283
- "allowTrailingCommas": true
6291
+ "allowTrailingCommas": true,
6292
+ "allOf": [
6293
+ {
6294
+ "$ref": "#/definitions/RawConfig"
6295
+ }
6296
+ ]
6284
6297
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wrangler",
3
- "version": "4.123.0",
3
+ "version": "4.124.0",
4
4
  "description": "Command-line interface for all things Cloudflare Workers",
5
5
  "keywords": [
6
6
  "assembly",
@@ -66,17 +66,17 @@
66
66
  "esbuild": "0.28.1",
67
67
  "path-to-regexp": "6.3.0",
68
68
  "unenv": "2.0.0-rc.24",
69
- "workerd": "1.20260811.1",
69
+ "workerd": "1.20260815.1",
70
70
  "@cloudflare/kv-asset-handler": "0.5.0",
71
71
  "@cloudflare/unenv-preset": "2.16.1",
72
- "miniflare": "5.20260811.1-alpha"
72
+ "miniflare": "5.20260815.0-alpha"
73
73
  },
74
74
  "devDependencies": {
75
75
  "@aws-sdk/client-s3": "^3.721.0",
76
76
  "@aws-sdk/s3-request-presigner": "^3.721.0",
77
77
  "@bomb.sh/tab": "^0.0.12",
78
78
  "@cloudflare/types": "6.18.4",
79
- "@cloudflare/workers-types": "^5.20260811.1",
79
+ "@cloudflare/workers-types": "^5.20260815.1",
80
80
  "@cspotcode/source-map-support": "0.8.1",
81
81
  "@netlify/build-info": "^10.5.1",
82
82
  "@sentry/node": "^7.86.0",
@@ -125,7 +125,7 @@
125
125
  "mime": "^3.0.0",
126
126
  "minimatch": "^5.1.0",
127
127
  "mock-socket": "^9.3.1",
128
- "msw": "2.12.4",
128
+ "msw": "2.14.6",
129
129
  "node-forge": "^1.3.2",
130
130
  "open": "11.0.0",
131
131
  "p-queue": "^9.0.0",
@@ -156,25 +156,25 @@
156
156
  "yaml": "^2.8.1",
157
157
  "yargs": "^17.7.2",
158
158
  "zod": "4.4.3",
159
- "@cloudflare/autoconfig": "0.2.7",
160
- "@cloudflare/build-output-utils": "0.1.1",
161
- "@cloudflare/cli-shared-helpers": "0.1.23",
159
+ "@cloudflare/autoconfig": "0.2.8",
160
+ "@cloudflare/build-output-utils": "0.1.2",
161
+ "@cloudflare/cli-shared-helpers": "0.1.24",
162
+ "@cloudflare/config": "0.6.0",
162
163
  "@cloudflare/codemod": "1.1.0",
163
- "@cloudflare/config": "0.5.0",
164
164
  "@cloudflare/containers-shared": "0.16.0",
165
- "@cloudflare/deploy-helpers": "0.7.0",
165
+ "@cloudflare/deploy-helpers": "0.7.1",
166
166
  "@cloudflare/pages-functions": "0.1.0",
167
- "@cloudflare/pages-shared": "^0.13.169",
168
- "@cloudflare/remote-bindings": "0.0.12",
169
- "@cloudflare/runtime-types": "0.0.14",
170
- "@cloudflare/workers-auth": "0.6.3",
167
+ "@cloudflare/pages-shared": "^0.13.170",
168
+ "@cloudflare/remote-bindings": "0.0.13",
169
+ "@cloudflare/runtime-types": "0.0.15",
170
+ "@cloudflare/workers-auth": "0.6.4",
171
171
  "@cloudflare/workers-shared": "0.19.9",
172
- "@cloudflare/workflows-shared": "0.12.2",
173
172
  "@cloudflare/workers-tsconfig": "0.0.0",
174
- "@cloudflare/workers-utils": "0.33.0"
173
+ "@cloudflare/workers-utils": "0.33.1",
174
+ "@cloudflare/workflows-shared": "0.12.2"
175
175
  },
176
176
  "peerDependencies": {
177
- "@cloudflare/workers-types": "^5.20260811.1"
177
+ "@cloudflare/workers-types": "^5.20260815.1"
178
178
  },
179
179
  "peerDependenciesMeta": {
180
180
  "@cloudflare/workers-types": {
@@ -1298,8 +1298,14 @@ type UnsafeBinding = {
1298
1298
  */
1299
1299
  type ContainerApp = {
1300
1300
  /**
1301
- * Name of the application
1302
- * @optional Defaults to `worker_name-class_name` if not specified.
1301
+ * Name of the application.
1302
+ *
1303
+ * This is also the identifier used to reference the container from a Durable
1304
+ * Object's `exports` entry via its `container` field.
1305
+ *
1306
+ * @optional Defaults to `worker_name-class_name` if not specified. A name is
1307
+ * required when `class_name` is not set, since there is no class name to
1308
+ * derive the default from.
1303
1309
  */
1304
1310
  name?: string;
1305
1311
  /**
@@ -1330,8 +1336,12 @@ type ContainerApp = {
1330
1336
  image_vars?: Record<string, string>;
1331
1337
  /**
1332
1338
  * The class name of the Durable Object the container is connected to.
1339
+ *
1340
+ * @optional Instead of naming the Durable Object here, you can reference this
1341
+ * container from the Durable Object's `exports` entry via its `container`
1342
+ * field. Exactly one of the two directions must be configured.
1333
1343
  */
1334
- class_name: string;
1344
+ class_name?: string;
1335
1345
  /**
1336
1346
  * The scheduling policy of the application
1337
1347
  * @optional
@@ -1543,11 +1553,22 @@ type DurableObjectExportStorage = "sqlite" | "legacy-kv";
1543
1553
  * script via `transfer_from`.
1544
1554
  * - `expecting-transfer` (live): receiving side of a two-phase transfer;
1545
1555
  * `storage` and `transfer_from` are both required.
1556
+ *
1557
+ * The live states may additionally attach a container via `container`, which
1558
+ * names an entry in the top-level `containers` array. Tombstones cannot.
1546
1559
  */
1547
1560
  type DurableObjectExport = {
1548
1561
  type: "durable-object";
1549
1562
  state?: "created";
1550
1563
  storage: DurableObjectExportStorage;
1564
+ /**
1565
+ * Attach a container to this Durable Object. Must match the `name` of an
1566
+ * entry in the top-level `containers` array, and requires
1567
+ * `storage: "sqlite"`.
1568
+ *
1569
+ * @optional
1570
+ */
1571
+ container?: string;
1551
1572
  } | {
1552
1573
  type: "durable-object";
1553
1574
  state: "deleted";
@@ -1564,6 +1585,14 @@ type DurableObjectExport = {
1564
1585
  state: "expecting-transfer";
1565
1586
  storage: DurableObjectExportStorage;
1566
1587
  transfer_from: string;
1588
+ /**
1589
+ * Attach a container to this Durable Object. Must match the `name` of an
1590
+ * entry in the top-level `containers` array, and requires
1591
+ * `storage: "sqlite"`.
1592
+ *
1593
+ * @optional
1594
+ */
1595
+ container?: string;
1567
1596
  };
1568
1597
  interface WorkerEntrypointExport {
1569
1598
  type: "worker";
@@ -3201,7 +3230,7 @@ type VarBinding = Extract<Binding, {
3201
3230
  declare function getVarsForDev(configPath: string | undefined, envFiles: string[] | undefined, vars: Config$1["vars"], env: string | undefined, silent?: boolean, secrets?: Config$1["secrets"]): Record<string, VarBinding>;
3202
3231
 
3203
3232
  /**
3204
- * @deprecated Use today's date as the compatibility date instead.
3233
+ * @deprecated Set a compatibility date explicitly instead.
3205
3234
  */
3206
3235
  declare function unstable_getDevCompatibilityDate(): `${number}${number}${number}${number}-${number}${number}-${number}${number}`;
3207
3236