wrangler 4.122.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",
@@ -342,6 +341,11 @@
342
341
  "description": "Specify the observability behavior of the Worker.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#observability",
343
342
  "markdownDescription": "Specify the observability behavior of the Worker.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#observability"
344
343
  },
344
+ "access": {
345
+ "$ref": "#/definitions/Access",
346
+ "description": "Specify the Cloudflare Access authentication behavior of the Worker.",
347
+ "markdownDescription": "Specify the Cloudflare Access authentication behavior of the Worker."
348
+ },
345
349
  "cache": {
346
350
  "$ref": "#/definitions/CacheOptions",
347
351
  "description": "Specify the cache behavior of the Worker.",
@@ -2103,6 +2107,11 @@
2103
2107
  "description": "Specify the observability behavior of the Worker.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#observability",
2104
2108
  "markdownDescription": "Specify the observability behavior of the Worker.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#observability"
2105
2109
  },
2110
+ "access": {
2111
+ "$ref": "#/definitions/Access",
2112
+ "description": "Specify the Cloudflare Access authentication behavior of the Worker.",
2113
+ "markdownDescription": "Specify the Cloudflare Access authentication behavior of the Worker."
2114
+ },
2106
2115
  "cache": {
2107
2116
  "$ref": "#/definitions/CacheOptions",
2108
2117
  "description": "Specify the cache behavior of the Worker.",
@@ -3585,6 +3594,11 @@
3585
3594
  },
3586
3595
  "storage": {
3587
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\"`."
3588
3602
  }
3589
3603
  },
3590
3604
  "required": [
@@ -3671,6 +3685,11 @@
3671
3685
  },
3672
3686
  "transfer_from": {
3673
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\"`."
3674
3693
  }
3675
3694
  },
3676
3695
  "required": [
@@ -3682,8 +3701,8 @@
3682
3701
  "additionalProperties": false
3683
3702
  }
3684
3703
  ],
3685
- "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.",
3686
- "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."
3687
3706
  },
3688
3707
  "DurableObjectExportStorage": {
3689
3708
  "type": "string",
@@ -3965,6 +3984,34 @@
3965
3984
  },
3966
3985
  "additionalProperties": false
3967
3986
  },
3987
+ "Access": {
3988
+ "type": "object",
3989
+ "properties": {
3990
+ "dev": {
3991
+ "type": "object",
3992
+ "properties": {
3993
+ "aud": {
3994
+ "type": "string",
3995
+ "description": "The Access application audience tag (aud)",
3996
+ "markdownDescription": "The Access application audience tag (aud)"
3997
+ },
3998
+ "identity": {
3999
+ "type": "object",
4000
+ "additionalProperties": {},
4001
+ "description": "Mock identity object returned by ctx.access.getIdentity()",
4002
+ "markdownDescription": "Mock identity object returned by ctx.access.getIdentity()"
4003
+ }
4004
+ },
4005
+ "required": [
4006
+ "aud"
4007
+ ],
4008
+ "additionalProperties": false,
4009
+ "description": "Local dev simulation of Cloudflare Access authentication",
4010
+ "markdownDescription": "Local dev simulation of Cloudflare Access authentication"
4011
+ }
4012
+ },
4013
+ "additionalProperties": false
4014
+ },
3968
4015
  "CacheOptions": {
3969
4016
  "type": "object",
3970
4017
  "properties": {
@@ -3989,16 +4036,16 @@
3989
4036
  "additionalProperties": false,
3990
4037
  "properties": {
3991
4038
  "logpush": {
3992
- "$ref": "#/definitions/interface-769040647-10754-20982-769040647-0-539242004818536"
4039
+ "$ref": "#/definitions/interface-769040647-11843-22205-769040647-0-554252004818536"
3993
4040
  },
3994
4041
  "observability": {
3995
- "$ref": "#/definitions/interface-769040647-10754-20982-769040647-0-539242004818536"
4042
+ "$ref": "#/definitions/interface-769040647-11843-22205-769040647-0-554252004818536"
3996
4043
  },
3997
4044
  "limits": {
3998
- "$ref": "#/definitions/interface-769040647-10754-20982-769040647-0-539242004818536"
4045
+ "$ref": "#/definitions/interface-769040647-11843-22205-769040647-0-554252004818536"
3999
4046
  },
4000
4047
  "cache": {
4001
- "$ref": "#/definitions/interface-769040647-10754-20982-769040647-0-539242004818536"
4048
+ "$ref": "#/definitions/interface-769040647-11843-22205-769040647-0-554252004818536"
4002
4049
  },
4003
4050
  "define": {
4004
4051
  "type": "object",
@@ -5270,7 +5317,7 @@
5270
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`",
5271
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`"
5272
5319
  },
5273
- "interface-769040647-10754-20982-769040647-0-539242004818536": {
5320
+ "interface-769040647-11843-22205-769040647-0-554252004818536": {
5274
5321
  "type": "object",
5275
5322
  "properties": {
5276
5323
  "name": {
@@ -5597,6 +5644,11 @@
5597
5644
  "description": "Specify the observability behavior of the Worker.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#observability",
5598
5645
  "markdownDescription": "Specify the observability behavior of the Worker.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#observability"
5599
5646
  },
5647
+ "access": {
5648
+ "$ref": "#/definitions/Access",
5649
+ "description": "Specify the Cloudflare Access authentication behavior of the Worker.",
5650
+ "markdownDescription": "Specify the Cloudflare Access authentication behavior of the Worker."
5651
+ },
5600
5652
  "cache": {
5601
5653
  "$ref": "#/definitions/CacheOptions",
5602
5654
  "description": "Specify the cache behavior of the Worker.",
@@ -5821,8 +5873,8 @@
5821
5873
  "properties": {
5822
5874
  "name": {
5823
5875
  "type": "string",
5824
- "description": "Name of the application",
5825
- "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."
5826
5878
  },
5827
5879
  "max_instances": {
5828
5880
  "type": "number",
@@ -6041,8 +6093,7 @@
6041
6093
  }
6042
6094
  },
6043
6095
  "required": [
6044
- "image",
6045
- "class_name"
6096
+ "image"
6046
6097
  ],
6047
6098
  "additionalProperties": false,
6048
6099
  "description": "Configuration for a container application",
@@ -6237,5 +6288,10 @@
6237
6288
  "additionalProperties": false
6238
6289
  }
6239
6290
  },
6240
- "allowTrailingCommas": true
6291
+ "allowTrailingCommas": true,
6292
+ "allOf": [
6293
+ {
6294
+ "$ref": "#/definitions/RawConfig"
6295
+ }
6296
+ ]
6241
6297
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wrangler",
3
- "version": "4.122.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
- "miniflare": "5.20260811.0-alpha",
72
- "@cloudflare/unenv-preset": "2.16.1"
71
+ "@cloudflare/unenv-preset": "2.16.1",
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",
162
- "@cloudflare/containers-shared": "0.16.0",
163
- "@cloudflare/config": "0.5.0",
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",
164
163
  "@cloudflare/codemod": "1.1.0",
165
- "@cloudflare/deploy-helpers": "0.6.9",
164
+ "@cloudflare/containers-shared": "0.16.0",
165
+ "@cloudflare/deploy-helpers": "0.7.1",
166
166
  "@cloudflare/pages-functions": "0.1.0",
167
- "@cloudflare/remote-bindings": "0.0.11",
168
- "@cloudflare/runtime-types": "0.0.13",
169
- "@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",
170
171
  "@cloudflare/workers-shared": "0.19.9",
171
- "@cloudflare/pages-shared": "^0.13.168",
172
172
  "@cloudflare/workers-tsconfig": "0.0.0",
173
- "@cloudflare/workers-utils": "0.33.0",
173
+ "@cloudflare/workers-utils": "0.33.1",
174
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";
@@ -1878,6 +1907,12 @@ interface EnvironmentInheritable {
1878
1907
  * @inheritable
1879
1908
  */
1880
1909
  observability: Observability | undefined;
1910
+ /**
1911
+ * Specify the Cloudflare Access authentication behavior of the Worker.
1912
+ *
1913
+ * @inheritable
1914
+ */
1915
+ access: Access | undefined;
1881
1916
  /**
1882
1917
  * Specify the cache behavior of the Worker.
1883
1918
  *
@@ -2832,6 +2867,15 @@ interface Observability {
2832
2867
  destinations?: string[];
2833
2868
  };
2834
2869
  }
2870
+ interface Access {
2871
+ /** Local dev simulation of Cloudflare Access authentication */
2872
+ dev?: {
2873
+ /** The Access application audience tag (aud) */
2874
+ aud: string;
2875
+ /** Mock identity object returned by ctx.access.getIdentity() */
2876
+ identity?: Record<string, unknown>;
2877
+ };
2878
+ }
2835
2879
  interface CacheOptions {
2836
2880
  /** If cache is enabled for this Worker */
2837
2881
  enabled: boolean;
@@ -3186,7 +3230,7 @@ type VarBinding = Extract<Binding, {
3186
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>;
3187
3231
 
3188
3232
  /**
3189
- * @deprecated Use today's date as the compatibility date instead.
3233
+ * @deprecated Set a compatibility date explicitly instead.
3190
3234
  */
3191
3235
  declare function unstable_getDevCompatibilityDate(): `${number}${number}${number}${number}-${number}${number}-${number}${number}`;
3192
3236