Skip to content

Commit ff4e77e

Browse files
authoredJan 8, 2025··
Remove --experimental-versions (and related flags) as it is now GA (#7456)
* chore: remove experimentalGradualRollouts flag lint chore: add changeset chore: remove some more x-versions * chore: update changeset
1 parent e4716cc commit ff4e77e

27 files changed

+180
-851
lines changed
 

‎.changeset/bright-keys-march.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"wrangler": patch
3+
---
4+
5+
chore: removes --experimental-versions flag, as versions is now GA.

‎packages/wrangler/CONTRIBUTING.md

+1-3
Original file line numberDiff line numberDiff line change
@@ -152,11 +152,9 @@ feat: implement the `wrangler versions deploy` command
152152

153153
This command allows users to deploy a multiple versions of their Worker.
154154

155-
Note: while in open-beta, the `--experimental-versions` flag is required.
156-
157155
For interactive use (to be prompted for all options), run:
158156

159-
- `wrangler versions deploy --x-versions`
157+
- `wrangler versions deploy`
160158

161159
For non-interactive use, run with CLI args (and `--yes` to accept defaults):
162160

‎packages/wrangler/e2e/versions.test.ts

+18-30
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ describe("versions deploy", { timeout: TIMEOUT }, () => {
5656

5757
it("should upload 1st Worker version", async () => {
5858
const upload = await helper.run(
59-
`wrangler versions upload --message "Upload via e2e test" --tag "e2e-upload" --x-versions`
59+
`wrangler versions upload --message "Upload via e2e test" --tag "e2e-upload"`
6060
);
6161

6262
versionId1 = matchVersionId(upload.stdout);
@@ -74,7 +74,7 @@ describe("versions deploy", { timeout: TIMEOUT }, () => {
7474
});
7575

7676
it("should list 1 version", async () => {
77-
const list = await helper.run(`wrangler versions list --x-versions`);
77+
const list = await helper.run(`wrangler versions list`);
7878

7979
expect(normalize(list.stdout)).toMatchInlineSnapshot(`
8080
"Version ID: 00000000-0000-0000-0000-000000000000
@@ -97,7 +97,7 @@ describe("versions deploy", { timeout: TIMEOUT }, () => {
9797

9898
it("should deploy 1st Worker version", async () => {
9999
const deploy = await helper.run(
100-
`wrangler versions deploy ${versionId1}@100% --message "Deploy via e2e test" --yes --x-versions`
100+
`wrangler versions deploy ${versionId1}@100% --message "Deploy via e2e test" --yes`
101101
);
102102

103103
expect(normalize(deploy.stdout)).toMatchInlineSnapshot(`
@@ -137,7 +137,7 @@ describe("versions deploy", { timeout: TIMEOUT }, () => {
137137
});
138138

139139
it("should list 1 deployment", async () => {
140-
const list = await helper.run(`wrangler deployments list --x-versions`);
140+
const list = await helper.run(`wrangler deployments list`);
141141

142142
expect(normalize(list.stdout)).toMatchInlineSnapshot(`
143143
"Created: TIMESTAMP
@@ -172,7 +172,7 @@ describe("versions deploy", { timeout: TIMEOUT }, () => {
172172
});
173173

174174
const upload = await helper.run(
175-
`wrangler versions upload --message "Upload AGAIN via e2e test" --tag "e2e-upload-AGAIN" --x-versions`
175+
`wrangler versions upload --message "Upload AGAIN via e2e test" --tag "e2e-upload-AGAIN"`
176176
);
177177

178178
versionId2 = matchVersionId(upload.stdout);
@@ -188,9 +188,7 @@ describe("versions deploy", { timeout: TIMEOUT }, () => {
188188
Changes to triggers (routes, custom domains, cron schedules, etc) must be applied with the command wrangler triggers deploy"
189189
`);
190190

191-
const versionsList = await helper.run(
192-
`wrangler versions list --x-versions`
193-
);
191+
const versionsList = await helper.run(`wrangler versions list`);
194192

195193
expect(normalize(versionsList.stdout)).toMatchInlineSnapshot(`
196194
"Version ID: 00000000-0000-0000-0000-000000000000
@@ -219,12 +217,10 @@ describe("versions deploy", { timeout: TIMEOUT }, () => {
219217

220218
it("should deploy 2nd Worker version", async () => {
221219
const deploy = await helper.run(
222-
`wrangler versions deploy ${versionId2}@100% --message "Deploy AGAIN via e2e test" --yes --x-versions`
220+
`wrangler versions deploy ${versionId2}@100% --message "Deploy AGAIN via e2e test" --yes`
223221
);
224222

225-
const deploymentsList = await helper.run(
226-
`wrangler deployments list --x-versions`
227-
);
223+
const deploymentsList = await helper.run(`wrangler deployments list`);
228224

229225
expect(normalize(deploy.stdout)).toMatchInlineSnapshot(`
230226
"╭ Deploy Worker Versions by splitting traffic between multiple versions
@@ -296,16 +292,12 @@ describe("versions deploy", { timeout: TIMEOUT }, () => {
296292

297293
it("should rollback to implicit Worker version (1st version)", async () => {
298294
const rollback = await helper.run(
299-
`wrangler rollback --message "Rollback via e2e test" --yes --x-versions`
295+
`wrangler rollback --message "Rollback via e2e test" --yes`
300296
);
301297

302-
const versionsList = await helper.run(
303-
`wrangler versions list --x-versions`
304-
);
298+
const versionsList = await helper.run(`wrangler versions list`);
305299

306-
const deploymentsList = await helper.run(
307-
`wrangler deployments list --x-versions`
308-
);
300+
const deploymentsList = await helper.run(`wrangler deployments list`);
309301

310302
expect(normalize(rollback.stdout)).toMatchInlineSnapshot(`
311303
"├ Fetching latest deployment
@@ -410,16 +402,12 @@ describe("versions deploy", { timeout: TIMEOUT }, () => {
410402

411403
it("should rollback to specific Worker version (0th version)", async () => {
412404
const rollback = await helper.run(
413-
`wrangler rollback ${versionId0} --message "Rollback to old version" --yes --x-versions`
405+
`wrangler rollback ${versionId0} --message "Rollback to old version" --yes`
414406
);
415407

416-
const versionsList = await helper.run(
417-
`wrangler versions list --x-versions`
418-
);
408+
const versionsList = await helper.run(`wrangler versions list`);
419409

420-
const deploymentsList = await helper.run(
421-
`wrangler deployments list --x-versions`
422-
);
410+
const deploymentsList = await helper.run(`wrangler deployments list`);
423411

424412
expect(normalize(rollback.stdout)).toMatchInlineSnapshot(`
425413
"├ Fetching latest deployment
@@ -551,7 +539,7 @@ describe("versions deploy", { timeout: TIMEOUT }, () => {
551539
});
552540

553541
const upload = await helper.run(
554-
`wrangler versions upload --legacy-assets='./public' --x-versions`
542+
`wrangler versions upload --legacy-assets='./public'`
555543
);
556544

557545
expect(normalize(upload.output)).toMatchInlineSnapshot(`
@@ -586,7 +574,7 @@ describe("versions deploy", { timeout: TIMEOUT }, () => {
586574
`,
587575
});
588576

589-
const upload = await helper.run(`wrangler versions upload --x-versions`);
577+
const upload = await helper.run(`wrangler versions upload`);
590578

591579
expect(normalize(upload.output)).toMatchInlineSnapshot(`
592580
"X [ERROR] Workers Sites does not support uploading versions through \`wrangler versions upload\`. You must use \`wrangler deploy\` instead.
@@ -614,7 +602,7 @@ describe("versions deploy", { timeout: TIMEOUT }, () => {
614602
});
615603

616604
const upload = await helper.run(
617-
`wrangler versions upload --message "Upload via e2e test" --tag "e2e-upload-assets" --x-versions`
605+
`wrangler versions upload --message "Upload via e2e test" --tag "e2e-upload-assets"`
618606
);
619607

620608
expect(normalize(upload.stdout)).toMatchInlineSnapshot(`
@@ -638,7 +626,7 @@ describe("versions deploy", { timeout: TIMEOUT }, () => {
638626
it("should include version preview url in output file", async () => {
639627
const outputFile = path.join(helper.tmpPath, "output.jsonnd");
640628
const upload = await helper.run(
641-
`wrangler versions upload --message "Upload via e2e test" --tag "e2e-upload" --x-versions`,
629+
`wrangler versions upload --message "Upload via e2e test" --tag "e2e-upload"`,
642630
{
643631
env: {
644632
...process.env,
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
import fs from "node:fs";
2-
import { http, HttpResponse } from "msw";
32
import { mockAccountId, mockApiToken } from "./helpers/mock-account-id";
43
import { mockConsoleMethods } from "./helpers/mock-console";
5-
import { clearDialogs, mockConfirm, mockPrompt } from "./helpers/mock-dialogs";
6-
import { useMockIsTTY } from "./helpers/mock-istty";
4+
import { clearDialogs } from "./helpers/mock-dialogs";
75
import {
8-
createFetchResult,
96
msw,
7+
mswListNewDeployments,
108
mswSuccessDeploymentDetails,
119
mswSuccessDeployments,
1210
mswSuccessDeploymentScriptMetadata,
@@ -37,6 +35,7 @@ describe("deployments", () => {
3735

3836
beforeEach(() => {
3937
msw.use(
38+
mswListNewDeployments,
4039
...mswSuccessDeployments,
4140
...mswSuccessOauthHandlers,
4241
...mswSuccessUserHandlers,
@@ -74,82 +73,8 @@ describe("deployments", () => {
7473
});
7574

7675
describe("deployments subcommands", () => {
77-
describe("deployments list", () => {
78-
it("should log deployments", async () => {
79-
writeWranglerConfig();
80-
81-
await runWrangler("deployments list --no-x-versions");
82-
expect(std.out).toMatchInlineSnapshot(`
83-
"
84-
Version ID: Constitution-Class-tag:test-name
85-
Created on: 2021-01-01T00:00:00.000000Z
86-
Author: Jean-Luc-Picard@federation.org
87-
Source: Upload from Wrangler 🤠
88-
89-
Version ID: Intrepid-Class-tag:test-name
90-
Created on: 2021-02-02T00:00:00.000000Z
91-
Author: Kathryn-Janeway@federation.org
92-
Source: Rollback from Wrangler 🤠
93-
Rollback from: MOCK-DEPLOYMENT-ID-1111
94-
Message: Rolled back for this version
95-
96-
Version ID: 3mEgaU1T-Intrepid-someThing-tag:test-name
97-
Created on: 2021-02-03T00:00:00.000000Z
98-
Author: Kathryn-Janeway@federation.org
99-
Source: Wrangler 🤠
100-
101-
Version ID: Galaxy-Class-tag:test-name
102-
Created on: 2021-01-04T00:00:00.000000Z
103-
Author: Jean-Luc-Picard@federation.org
104-
Source: Rollback from Wrangler 🤠
105-
Rollback from: MOCK-DEPLOYMENT-ID-2222
106-
🟩 Active"
107-
`);
108-
});
109-
110-
it("should log deployments for script with passed in name option", async () => {
111-
await runWrangler(
112-
"deployments list --name something-else --no-x-versions"
113-
);
114-
expect(std.out).toMatchInlineSnapshot(`
115-
"
116-
Version ID: Constitution-Class-tag:something-else
117-
Created on: 2021-01-01T00:00:00.000000Z
118-
Author: Jean-Luc-Picard@federation.org
119-
Source: Upload from Wrangler 🤠
120-
121-
Version ID: Intrepid-Class-tag:something-else
122-
Created on: 2021-02-02T00:00:00.000000Z
123-
Author: Kathryn-Janeway@federation.org
124-
Source: Rollback from Wrangler 🤠
125-
Rollback from: MOCK-DEPLOYMENT-ID-1111
126-
Message: Rolled back for this version
127-
128-
Version ID: 3mEgaU1T-Intrepid-someThing-tag:something-else
129-
Created on: 2021-02-03T00:00:00.000000Z
130-
Author: Kathryn-Janeway@federation.org
131-
Source: Wrangler 🤠
132-
133-
Version ID: Galaxy-Class-tag:something-else
134-
Created on: 2021-01-04T00:00:00.000000Z
135-
Author: Jean-Luc-Picard@federation.org
136-
Source: Rollback from Wrangler 🤠
137-
Rollback from: MOCK-DEPLOYMENT-ID-2222
138-
🟩 Active"
139-
`);
140-
});
141-
142-
it("should error on missing script name", async () => {
143-
await expect(
144-
runWrangler("deployments list --no-x-versions")
145-
).rejects.toMatchInlineSnapshot(
146-
`[Error: Required Worker name missing. Please specify the Worker name in your Wrangler configuration file, or pass it as an argument with \`--name\`]`
147-
);
148-
});
149-
});
150-
15176
describe("deployment view", () => {
152-
it("should error with no --no-x-versions flag", async () => {
77+
it("should error with no flag", async () => {
15378
writeWranglerConfig();
15479

15580
await expect(
@@ -158,257 +83,6 @@ describe("deployments", () => {
15883
`[Error: \`wrangler deployments view <deployment-id>\` has been renamed \`wrangler versions view [version-id]\`. Please use that command instead.]`
15984
);
16085
});
161-
162-
it("should log deployment details", async () => {
163-
writeWranglerConfig();
164-
165-
await runWrangler("deployments view 1701-E --no-x-versions");
166-
167-
expect(std.out).toMatchInlineSnapshot(`
168-
"
169-
Version ID: 1701-E
170-
Created on: 2021-01-01T00:00:00.000000Z
171-
Author: Jean-Luc-Picard@federation.org
172-
Source: Wrangler 🤠
173-
------------------------------------------------------------
174-
Author ID: Picard-Gamma-6-0-7-3
175-
Usage Model: bundled
176-
Handlers: fetch
177-
--------------------------bindings--------------------------
178-
None
179-
"
180-
`);
181-
});
182-
183-
it("should log deployment details with bindings", async () => {
184-
writeWranglerConfig();
185-
186-
await runWrangler("deployments view bindings-tag --no-x-versions");
187-
188-
expect(std.out).toMatchInlineSnapshot(`
189-
"
190-
Version ID: 1701-E
191-
Created on: 2021-01-01T00:00:00.000000Z
192-
Author: Jean-Luc-Picard@federation.org
193-
Source: Wrangler 🤠
194-
------------------------------------------------------------
195-
Author ID: Picard-Gamma-6-0-7-3
196-
Usage Model: bundled
197-
Handlers: fetch
198-
--------------------------bindings--------------------------
199-
[[r2_buckets]]
200-
binding = \\"MY_BUCKET\\"
201-
bucket_name = \\"testr2\\"
202-
203-
"
204-
`);
205-
});
206-
207-
it("should automatically log latest deployment details", async () => {
208-
writeWranglerConfig();
209-
210-
await runWrangler("deployments view --no-x-versions");
211-
212-
expect(std.out).toMatchInlineSnapshot(`
213-
"
214-
Version ID: 1701-E
215-
Created on: 2021-01-01T00:00:00.000000Z
216-
Author: Jean-Luc-Picard@federation.org
217-
Source: Wrangler 🤠
218-
------------------------------------------------------------
219-
Author ID: Picard-Gamma-6-0-7-3
220-
Usage Model: bundled
221-
Handlers: fetch
222-
--------------------------bindings--------------------------
223-
None
224-
"
225-
`);
226-
});
227-
});
228-
229-
describe("rollback", () => {
230-
const { setIsTTY } = useMockIsTTY();
231-
const requests = { count: 0 };
232-
beforeEach(() => {
233-
setIsTTY(true);
234-
requests.count = 0;
235-
msw.use(
236-
http.put(
237-
"*/accounts/:accountID/workers/scripts/:scriptName",
238-
({ request }) => {
239-
const url = new URL(request.url);
240-
241-
expect(url.searchParams.get("rollback_to")).toMatch(
242-
/^3mEgaU1T-Intrepid-someThing-tag:/
243-
);
244-
245-
requests.count++;
246-
247-
return HttpResponse.json(
248-
createFetchResult({
249-
created_on: "2222-11-18T16:40:48.50545Z",
250-
modified_on: "2222-01-20T18:08:47.464024Z",
251-
id: "space_craft_1",
252-
tag: "alien_tech_001",
253-
tags: ["hyperdrive", "laser_cannons", "shields"],
254-
deployment_id: "galactic_mission_alpha",
255-
logpush: true,
256-
etag: "13a3240e8fb414561b0366813b0b8f42b3e6cfa0d9e70e99835dae83d0d8a794",
257-
handlers: [
258-
"interstellar_communication",
259-
"hyperspace_navigation",
260-
],
261-
last_deployed_from: "spaceport_alpha",
262-
usage_model: "intergalactic",
263-
script: `addEventListener('interstellar_communication', event =\u003e
264-
{ event.respondWith(transmit(event.request)) }
265-
)`,
266-
size: "1 light-year",
267-
})
268-
);
269-
},
270-
{ once: true }
271-
)
272-
);
273-
});
274-
275-
it("should successfully rollback and output a success message", async () => {
276-
mockConfirm({
277-
text: "This deployment 3mEgaU1T will immediately replace the current deployment and become the active deployment across all your deployed routes and domains. However, your local development environment will not be affected by this rollback. Note: Rolling back to a previous deployment will not rollback any of the bound resources (Durable Object, D1, R2, KV, etc).",
278-
result: true,
279-
});
280-
281-
mockPrompt({
282-
text: "Please provide a message for this rollback (120 characters max)",
283-
result: "",
284-
});
285-
286-
writeWranglerConfig();
287-
await runWrangler(
288-
"rollback 3mEgaU1T-Intrepid-someThing-tag:test-name --no-x-versions"
289-
);
290-
expect(std.out).toMatchInlineSnapshot(`
291-
"
292-
Successfully rolled back to Deployment ID: 3mEgaU1T-Intrepid-someThing-tag:test-name
293-
Current Version ID: galactic_mission_alpha"
294-
`);
295-
296-
expect(requests.count).toEqual(1);
297-
});
298-
299-
it("should early exit from rollback if user denies continuing", async () => {
300-
mockConfirm({
301-
text: "This deployment 3mEgaU1T will immediately replace the current deployment and become the active deployment across all your deployed routes and domains. However, your local development environment will not be affected by this rollback. Note: Rolling back to a previous deployment will not rollback any of the bound resources (Durable Object, D1, R2, KV, etc).",
302-
result: false,
303-
});
304-
305-
writeWranglerConfig();
306-
await runWrangler(
307-
"rollback 3mEgaU1T-Intrpid-someThing-tag:test-name --no-x-versions"
308-
);
309-
expect(std.out).toMatchInlineSnapshot(`""`);
310-
311-
expect(requests.count).toEqual(0);
312-
});
313-
314-
it("should skip prompt automatically in rollback if in a non-TTY environment", async () => {
315-
setIsTTY(false);
316-
317-
writeWranglerConfig();
318-
await runWrangler(
319-
"rollback 3mEgaU1T-Intrepid-someThing-tag:test-name --no-x-versions"
320-
);
321-
expect(std.out).toMatchInlineSnapshot(`
322-
"? This deployment 3mEgaU1T will immediately replace the current deployment and become the active deployment across all your deployed routes and domains. However, your local development environment will not be affected by this rollback. Note: Rolling back to a previous deployment will not rollback any of the bound resources (Durable Object, D1, R2, KV, etc).
323-
🤖 Using fallback value in non-interactive context: yes
324-
? Please provide a message for this rollback (120 characters max)
325-
🤖 Using default value in non-interactive context:
326-
327-
Successfully rolled back to Deployment ID: 3mEgaU1T-Intrepid-someThing-tag:test-name
328-
Current Version ID: galactic_mission_alpha"
329-
`);
330-
331-
expect(requests.count).toEqual(1);
332-
});
333-
334-
it("should skip prompt automatically in rollback if message flag is provided", async () => {
335-
writeWranglerConfig();
336-
await runWrangler(
337-
`rollback 3mEgaU1T-Intrepid-someThing-tag:test-name --message "test" --no-x-versions`
338-
);
339-
expect(std.out).toMatchInlineSnapshot(`
340-
"
341-
Successfully rolled back to Deployment ID: 3mEgaU1T-Intrepid-someThing-tag:test-name
342-
Current Version ID: galactic_mission_alpha"
343-
`);
344-
345-
expect(requests.count).toEqual(1);
346-
});
347-
348-
it("should skip prompt automatically in rollback with empty message", async () => {
349-
writeWranglerConfig();
350-
await runWrangler(
351-
`rollback 3mEgaU1T-Intrepid-someThing-tag:test-name --message "test" --no-x-versions`
352-
);
353-
expect(std.out).toMatchInlineSnapshot(`
354-
"
355-
Successfully rolled back to Deployment ID: 3mEgaU1T-Intrepid-someThing-tag:test-name
356-
Current Version ID: galactic_mission_alpha"
357-
`);
358-
359-
expect(requests.count).toEqual(1);
360-
});
361-
362-
it("should automatically rollback to previous deployment when id is not specified", async () => {
363-
mockConfirm({
364-
text: "This deployment 3mEgaU1T will immediately replace the current deployment and become the active deployment across all your deployed routes and domains. However, your local development environment will not be affected by this rollback. Note: Rolling back to a previous deployment will not rollback any of the bound resources (Durable Object, D1, R2, KV, etc).",
365-
result: true,
366-
});
367-
368-
mockPrompt({
369-
text: "Please provide a message for this rollback (120 characters max)",
370-
result: "",
371-
});
372-
373-
writeWranglerConfig();
374-
await runWrangler("rollback --no-x-versions");
375-
expect(std.out).toMatchInlineSnapshot(`
376-
"
377-
Successfully rolled back to Deployment ID: 3mEgaU1T-Intrepid-someThing-tag:test-name
378-
Current Version ID: galactic_mission_alpha"
379-
`);
380-
381-
expect(requests.count).toEqual(1);
382-
});
383-
384-
it("should require a worker name", async () => {
385-
await expect(runWrangler("rollback")).rejects.toMatchInlineSnapshot(
386-
`[Error: You need to provide a name for your Worker. Either pass it as a cli arg with \`--name <name>\` or in your configuration file as \`name = "<name>"\`]`
387-
);
388-
389-
expect(requests.count).toEqual(0);
390-
});
391-
392-
it("should automatically rollback to previous deployment with specified name", async () => {
393-
mockConfirm({
394-
text: "This deployment 3mEgaU1T will immediately replace the current deployment and become the active deployment across all your deployed routes and domains. However, your local development environment will not be affected by this rollback. Note: Rolling back to a previous deployment will not rollback any of the bound resources (Durable Object, D1, R2, KV, etc).",
395-
result: true,
396-
});
397-
398-
mockPrompt({
399-
text: "Please provide a message for this rollback (120 characters max)",
400-
result: "",
401-
});
402-
403-
await runWrangler("rollback --name something-else --no-x-versions");
404-
expect(std.out).toMatchInlineSnapshot(`
405-
"
406-
Successfully rolled back to Deployment ID: 3mEgaU1T-Intrepid-someThing-tag:something-else
407-
Current Version ID: galactic_mission_alpha"
408-
`);
409-
410-
expect(requests.count).toEqual(1);
411-
});
41286
});
41387
});
41488
});

‎packages/wrangler/src/__tests__/metrics.test.ts

-2
Original file line numberDiff line numberDiff line change
@@ -197,8 +197,6 @@ describe("metrics", () => {
197197
args: {
198198
xJsonConfig: true,
199199
j: true,
200-
xVersions: true,
201-
xGradualRollouts: true,
202200
search: ["<REDACTED>"],
203201
},
204202
};

‎packages/wrangler/src/__tests__/rollback.test.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ describe("rollback", () => {
131131
});
132132

133133
await runWrangler(
134-
"rollback --name script-name --version-id rollback-version --x-versions"
134+
"rollback --name script-name --version-id rollback-version"
135135
);
136136

137137
// Unable to test stdout as the output has weird whitespace. Causing lint to fail with "no-irregular-whitespace"
@@ -188,7 +188,7 @@ describe("rollback", () => {
188188
});
189189

190190
await runWrangler(
191-
"rollback --name script-name --version-id rollback-version --x-versions"
191+
"rollback --name script-name --version-id rollback-version"
192192
);
193193

194194
// Unable to test stdout as the output has weird whitespace. Causing lint to fail with "no-irregular-whitespace"
@@ -228,7 +228,7 @@ describe("rollback", () => {
228228
mockPostDeployment(true);
229229

230230
await runWrangler(
231-
"rollback --name script-name --version-id rollback-version --x-versions"
231+
"rollback --name script-name --version-id rollback-version"
232232
);
233233

234234
// Unable to test stdout as the output has weird whitespace. Causing lint to fail with "no-irregular-whitespace"

‎packages/wrangler/src/__tests__/versions/deployments/deployments.list.test.ts

+5-11
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ describe("deployments list", () => {
2020

2121
describe("without wrangler.toml", () => {
2222
test("fails with no args", async () => {
23-
const result = runWrangler("deployments list --experimental-versions");
23+
const result = runWrangler("deployments list");
2424

2525
await expect(result).rejects.toMatchInlineSnapshot(
2626
`[Error: You need to provide a name for your Worker. Either pass it as a cli arg with \`--name <name>\` or in your configuration file as \`name = "<name>"\`]`
@@ -32,9 +32,7 @@ describe("deployments list", () => {
3232
});
3333

3434
test("prints deployments to stdout", async () => {
35-
const result = runWrangler(
36-
"deployments list --name test-name --experimental-versions"
37-
);
35+
const result = runWrangler("deployments list --name test-name");
3836

3937
await expect(result).resolves.toBeUndefined();
4038

@@ -101,9 +99,7 @@ describe("deployments list", () => {
10199
});
102100

103101
test("prints deployments to stdout as --json", async () => {
104-
const result = runWrangler(
105-
"deployments list --name test-name --json --experimental-versions"
106-
);
102+
const result = runWrangler("deployments list --name test-name --json");
107103

108104
await expect(result).resolves.toBeUndefined();
109105

@@ -199,7 +195,7 @@ describe("deployments list", () => {
199195
beforeEach(() => writeWranglerConfig());
200196

201197
test("prints deployments to stdout", async () => {
202-
const result = runWrangler("deployments list --experimental-versions");
198+
const result = runWrangler("deployments list");
203199

204200
await expect(result).resolves.toBeUndefined();
205201

@@ -266,9 +262,7 @@ describe("deployments list", () => {
266262
});
267263

268264
test("prints deployments to stdout as --json", async () => {
269-
const result = runWrangler(
270-
"deployments list --json --experimental-versions"
271-
);
265+
const result = runWrangler("deployments list --json");
272266

273267
await expect(result).resolves.toBeUndefined();
274268

‎packages/wrangler/src/__tests__/versions/deployments/deployments.status.test.ts

+5-15
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,7 @@ describe("deployments list", () => {
2020

2121
describe("without wrangler.toml", () => {
2222
test("fails with no args", async () => {
23-
const result = runWrangler(
24-
"deployments status --experimental-gradual-rollouts"
25-
);
23+
const result = runWrangler("deployments status");
2624

2725
await expect(result).rejects.toMatchInlineSnapshot(
2826
`[Error: You need to provide a name for your Worker. Either pass it as a cli arg with \`--name <name>\` or in your configuration file as \`name = "<name>"\`]`
@@ -34,9 +32,7 @@ describe("deployments list", () => {
3432
});
3533

3634
test("prints latest deployment to stdout", async () => {
37-
const result = runWrangler(
38-
"deployments status --name test-name --experimental-gradual-rollouts"
39-
);
35+
const result = runWrangler("deployments status --name test-name");
4036

4137
await expect(result).resolves.toBeUndefined();
4238

@@ -61,9 +57,7 @@ describe("deployments list", () => {
6157
});
6258

6359
test("prints latest deployment to stdout as --json", async () => {
64-
const result = runWrangler(
65-
"deployments status --name test-name --json --experimental-versions"
66-
);
60+
const result = runWrangler("deployments status --name test-name --json");
6761

6862
await expect(result).resolves.toBeUndefined();
6963

@@ -98,9 +92,7 @@ describe("deployments list", () => {
9892
beforeEach(() => writeWranglerConfig());
9993

10094
test("prints latest deployment to stdout", async () => {
101-
const result = runWrangler(
102-
"deployments status --experimental-gradual-rollouts"
103-
);
95+
const result = runWrangler("deployments status");
10496

10597
await expect(result).resolves.toBeUndefined();
10698

@@ -125,9 +117,7 @@ describe("deployments list", () => {
125117
});
126118

127119
test("prints latest deployment to stdout as --json", async () => {
128-
const result = runWrangler(
129-
"deployments status --json --experimental-versions"
130-
);
120+
const result = runWrangler("deployments status --json");
131121

132122
await expect(result).resolves.toBeUndefined();
133123

‎packages/wrangler/src/__tests__/versions/deployments/deployments.view.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ describe("deployments view", () => {
66
mockConsoleMethods();
77

88
test("error when run with no args", async () => {
9-
const result = runWrangler("deployments view --x-versions");
9+
const result = runWrangler("deployments view");
1010

1111
await expect(result).rejects.toMatchInlineSnapshot(
1212
`[Error: \`wrangler deployments view\` has been renamed \`wrangler deployments status\`. Please use that command instead.]`
@@ -15,7 +15,7 @@ describe("deployments view", () => {
1515
});
1616

1717
test("error when run with positional arg", async () => {
18-
const result = runWrangler("deployments view dummy-id --x-versions");
18+
const result = runWrangler("deployments view dummy-id");
1919

2020
await expect(result).rejects.toMatchInlineSnapshot(
2121
`[Error: \`wrangler deployments view <deployment-id>\` has been renamed \`wrangler versions view [version-id]\`. Please use that command instead.]`

‎packages/wrangler/src/__tests__/versions/secrets/bulk.test.ts

+6-12
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ describe("versions secret bulk", () => {
2222
vi.spyOn(readline, "createInterface").mockImplementation(
2323
() => null as unknown as Interface
2424
);
25-
await runWrangler(`versions secret bulk --name script-name --x-versions`);
25+
await runWrangler(`versions secret bulk --name script-name`);
2626
expect(std.out).toMatchInlineSnapshot(
2727
`"🌀 Creating the secrets for the Worker \\"script-name\\" "`
2828
);
@@ -59,9 +59,7 @@ describe("versions secret bulk", () => {
5959
expect(metadata.keep_assets).toBeTruthy();
6060
});
6161

62-
await runWrangler(
63-
`versions secret bulk secrets.json --name script-name --x-versions`
64-
);
62+
await runWrangler(`versions secret bulk secrets.json --name script-name`);
6563
expect(std.out).toMatchInlineSnapshot(
6664
`
6765
"🌀 Creating the secrets for the Worker \\"script-name\\"
@@ -80,9 +78,7 @@ describe("versions secret bulk", () => {
8078
await writeFile("wrangler.json", JSON.stringify({ invalid_field: true }));
8179
mockSetupApiCalls();
8280
mockPostVersion();
83-
await runWrangler(
84-
`versions secret bulk secrets.json --name script-name --x-versions`
85-
);
81+
await runWrangler(`versions secret bulk secrets.json --name script-name`);
8682
expect(std.warn).toMatchInlineSnapshot(`""`);
8783
expect(std.err).toMatchInlineSnapshot(`""`);
8884
});
@@ -112,7 +108,7 @@ describe("versions secret bulk", () => {
112108
expect(metadata.keep_assets).toBeTruthy();
113109
});
114110

115-
await runWrangler(`versions secret bulk --name script-name --x-versions`);
111+
await runWrangler(`versions secret bulk --name script-name`);
116112
expect(std.out).toMatchInlineSnapshot(
117113
`
118114
"🌀 Creating the secrets for the Worker \\"script-name\\"
@@ -129,9 +125,7 @@ describe("versions secret bulk", () => {
129125
test("should error on invalid json file", async () => {
130126
await writeFile("secrets.json", "not valid json :(", { encoding: "utf8" });
131127

132-
await runWrangler(
133-
`versions secret bulk secrets.json --name script-name --x-versions`
134-
);
128+
await runWrangler(`versions secret bulk secrets.json --name script-name`);
135129
expect(std.out).toMatchInlineSnapshot(
136130
`"🌀 Creating the secrets for the Worker \\"script-name\\" "`
137131
);
@@ -163,7 +157,7 @@ describe("versions secret bulk", () => {
163157
expect(metadata.keep_assets).toBeTruthy();
164158
});
165159

166-
await runWrangler(`versions secret bulk --name script-name --x-versions`);
160+
await runWrangler(`versions secret bulk --name script-name`);
167161
expect(std.out).toMatchInlineSnapshot(
168162
`"🌀 Creating the secrets for the Worker \\"script-name\\" "`
169163
);

‎packages/wrangler/src/__tests__/versions/secrets/delete.test.ts

+4-10
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,7 @@ describe("versions secret delete", () => {
3838
// We will not be inherting secret_text as that would bring back SECRET
3939
expect(metadata.keep_bindings).toStrictEqual(["secret_key"]);
4040
});
41-
await runWrangler(
42-
"versions secret delete SECRET --name script-name --x-versions"
43-
);
41+
await runWrangler("versions secret delete SECRET --name script-name");
4442

4543
expect(std.out).toMatchInlineSnapshot(`
4644
"🌀 Deleting the secret SECRET on the Worker script-name
@@ -64,9 +62,7 @@ describe("versions secret delete", () => {
6462
expect(metadata.keep_bindings).toStrictEqual(["secret_key"]);
6563
});
6664

67-
await runWrangler(
68-
"versions secret delete SECRET --name script-name --x-versions"
69-
);
65+
await runWrangler("versions secret delete SECRET --name script-name");
7066

7167
expect(std.out).toMatchInlineSnapshot(`
7268
"? Are you sure you want to permanently delete the secret SECRET on the Worker script-name?
@@ -93,7 +89,7 @@ describe("versions secret delete", () => {
9389
expect(metadata.keep_bindings).toStrictEqual(["secret_key"]);
9490
});
9591

96-
await runWrangler("versions secret delete SECRET --x-versions");
92+
await runWrangler("versions secret delete SECRET");
9793

9894
expect(std.out).toMatchInlineSnapshot(`
9995
"? Are you sure you want to permanently delete the secret SECRET on the Worker script-name?
@@ -113,9 +109,7 @@ describe("versions secret delete", () => {
113109
mockGetVersion();
114110
mockPostVersion();
115111

116-
await runWrangler(
117-
"versions secret delete SECRET --name script-name --x-versions"
118-
);
112+
await runWrangler("versions secret delete SECRET --name script-name");
119113

120114
expect(std.warn).toMatchInlineSnapshot(`""`);
121115
expect(std.err).toMatchInlineSnapshot(`""`);

‎packages/wrangler/src/__tests__/versions/secrets/list.test.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ describe("versions secret list", () => {
101101
mockGetDeployments();
102102
mockGetVersion("version-id-1");
103103

104-
await runWrangler("versions secret list --name script-name --x-versions");
104+
await runWrangler("versions secret list --name script-name");
105105

106106
expect(std.out).toMatchInlineSnapshot(`
107107
"-- Version version-id-1 (100%) secrets --
@@ -118,7 +118,7 @@ describe("versions secret list", () => {
118118
mockGetVersion("version-id-1");
119119
mockGetVersion("version-id-2");
120120

121-
await runWrangler("versions secret list --name script-name --x-versions");
121+
await runWrangler("versions secret list --name script-name");
122122

123123
expect(std.out).toMatchInlineSnapshot(`
124124
"-- Version version-id-1 (50%) secrets --
@@ -141,7 +141,7 @@ describe("versions secret list", () => {
141141
mockGetDeployments();
142142
mockGetVersion("version-id-1");
143143

144-
await runWrangler("versions secret list --x-versions");
144+
await runWrangler("versions secret list");
145145

146146
expect(std.out).toMatchInlineSnapshot(`
147147
"-- Version version-id-1 (100%) secrets --
@@ -245,7 +245,7 @@ describe("versions secret list", () => {
245245
mockGetDeployments();
246246
mockGetVersion("version-id-1");
247247

248-
await runWrangler("versions secret list --latest-version --x-versions");
248+
await runWrangler("versions secret list --latest-version");
249249

250250
expect(std.out).toMatchInlineSnapshot(`
251251
"-- Version version-id-3 (0%) secrets --
@@ -262,7 +262,7 @@ describe("versions secret list", () => {
262262
mockGetDeployments();
263263
mockGetVersion("version-id-1");
264264

265-
await runWrangler("versions secret list --name script-name --x-versions");
265+
await runWrangler("versions secret list --name script-name");
266266

267267
expect(std.warn).toMatchInlineSnapshot(`""`);
268268
expect(std.err).toMatchInlineSnapshot(`""`);

‎packages/wrangler/src/__tests__/versions/secrets/put.test.ts

+8-15
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,7 @@ describe("versions secret put", () => {
4343
]);
4444
expect(metadata.keep_assets).toBeTruthy();
4545
});
46-
await runWrangler(
47-
"versions secret put NEW_SECRET --name script-name --x-versions"
48-
);
46+
await runWrangler("versions secret put NEW_SECRET --name script-name");
4947

5048
expect(std.out).toMatchInlineSnapshot(`
5149
"🌀 Creating the secret for the Worker \\"script-name\\"
@@ -67,10 +65,7 @@ describe("versions secret put", () => {
6765

6866
mockSetupApiCalls();
6967
mockPostVersion();
70-
await runWrangler(
71-
"versions secret put NEW_SECRET --name script-name --x-versions"
72-
);
73-
68+
await runWrangler("versions secret put NEW_SECRET --name script-name");
7469
expect(std.warn).toMatchInlineSnapshot(`""`);
7570
expect(std.err).toMatchInlineSnapshot(`""`);
7671
});
@@ -96,9 +91,7 @@ describe("versions secret put", () => {
9691
`secret
9792
` // whitespace & newline being removed
9893
);
99-
await runWrangler(
100-
"versions secret put NEW_SECRET --name script-name --x-versions"
101-
);
94+
await runWrangler("versions secret put NEW_SECRET --name script-name");
10295

10396
expect(std.out).toMatchInlineSnapshot(`
10497
"🌀 Creating the secret for the Worker \\"script-name\\"
@@ -131,7 +124,7 @@ describe("versions secret put", () => {
131124
]);
132125
expect(metadata.keep_assets).toBeTruthy();
133126
});
134-
await runWrangler("versions secret put NEW_SECRET --x-versions");
127+
await runWrangler("versions secret put NEW_SECRET");
135128

136129
expect(std.out).toMatchInlineSnapshot(`
137130
"🌀 Creating the secret for the Worker \\"script-name\\"
@@ -167,7 +160,7 @@ describe("versions secret put", () => {
167160
).toBe("Deploy a new secret");
168161
});
169162
await runWrangler(
170-
"versions secret put NEW_SECRET --name script-name --message 'Deploy a new secret' --x-versions"
163+
"versions secret put NEW_SECRET --name script-name --message 'Deploy a new secret'"
171164
);
172165

173166
expect(std.out).toMatchInlineSnapshot(`
@@ -207,7 +200,7 @@ describe("versions secret put", () => {
207200
).toBe("v1");
208201
});
209202
await runWrangler(
210-
"versions secret put NEW_SECRET --name script-name --message 'Deploy a new secret' --tag v1 --x-versions"
203+
"versions secret put NEW_SECRET --name script-name --message 'Deploy a new secret' --tag v1"
211204
);
212205

213206
expect(std.out).toMatchInlineSnapshot(`
@@ -244,7 +237,7 @@ describe("versions secret put", () => {
244237
).toBe("Deploy a new secret");
245238
});
246239
await runWrangler(
247-
"versions secret put SECRET --name script-name --message 'Deploy a new secret' --x-versions"
240+
"versions secret put SECRET --name script-name --message 'Deploy a new secret'"
248241
);
249242

250243
expect(std.out).toMatchInlineSnapshot(`
@@ -320,7 +313,7 @@ describe("versions secret put", () => {
320313
).toBe("Deploy a new secret");
321314
});
322315
await runWrangler(
323-
"versions secret put SECRET --name script-name --message 'Deploy a new secret' --x-versions"
316+
"versions secret put SECRET --name script-name --message 'Deploy a new secret'"
324317
);
325318

326319
expect(std.out).toMatchInlineSnapshot(`

‎packages/wrangler/src/__tests__/versions/versions.deploy.test.ts

+20-22
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ describe("versions deploy", () => {
8989
describe("without wrangler.toml", () => {
9090
test("succeeds with --name arg", async () => {
9191
const result = runWrangler(
92-
"versions deploy 10000000-0000-0000-0000-000000000000 --name named-worker --yes --experimental-gradual-rollouts"
92+
"versions deploy 10000000-0000-0000-0000-000000000000 --name named-worker --yes"
9393
);
9494

9595
await expect(result).resolves.toMatchInlineSnapshot(`undefined`);
@@ -140,7 +140,7 @@ describe("versions deploy", () => {
140140

141141
test("fails without --name arg", async () => {
142142
const result = runWrangler(
143-
"versions deploy 10000000-0000-0000-0000-000000000000 --yes --experimental-gradual-rollouts"
143+
"versions deploy 10000000-0000-0000-0000-000000000000 --yes"
144144
);
145145

146146
await expect(result).rejects.toMatchInlineSnapshot(
@@ -153,9 +153,7 @@ describe("versions deploy", () => {
153153
beforeEach(() => writeWranglerConfig());
154154

155155
test("no args", async () => {
156-
const result = runWrangler(
157-
"versions deploy --yes --experimental-gradual-rollouts"
158-
);
156+
const result = runWrangler("versions deploy --yes");
159157

160158
await expect(result).rejects.toMatchInlineSnapshot(
161159
`[Error: You must select at least 1 version to deploy.]`
@@ -188,7 +186,7 @@ describe("versions deploy", () => {
188186

189187
test("1 version @ (implicit) 100%", async () => {
190188
const result = runWrangler(
191-
"versions deploy 10000000-0000-0000-0000-000000000000 --yes --experimental-gradual-rollouts"
189+
"versions deploy 10000000-0000-0000-0000-000000000000 --yes"
192190
);
193191

194192
await expect(result).resolves.toBeUndefined();
@@ -235,7 +233,7 @@ describe("versions deploy", () => {
235233

236234
test("1 version @ (explicit) 100%", async () => {
237235
const result = runWrangler(
238-
"versions deploy 10000000-0000-0000-0000-000000000000@100% --yes --experimental-gradual-rollouts"
236+
"versions deploy 10000000-0000-0000-0000-000000000000@100% --yes"
239237
);
240238

241239
await expect(result).resolves.toBeUndefined();
@@ -282,7 +280,7 @@ describe("versions deploy", () => {
282280

283281
test("2 versions @ (implicit) 50% each", async () => {
284282
const result = runWrangler(
285-
"versions deploy 10000000-0000-0000-0000-000000000000 20000000-0000-0000-0000-000000000000 --yes --experimental-gradual-rollouts"
283+
"versions deploy 10000000-0000-0000-0000-000000000000 20000000-0000-0000-0000-000000000000 --yes"
286284
);
287285

288286
await expect(result).resolves.toBeUndefined();
@@ -337,7 +335,7 @@ describe("versions deploy", () => {
337335

338336
test("1 version @ (explicit) 100%", async () => {
339337
const result = runWrangler(
340-
"versions deploy 10000000-0000-0000-0000-000000000000@100% --yes --experimental-gradual-rollouts"
338+
"versions deploy 10000000-0000-0000-0000-000000000000@100% --yes"
341339
);
342340

343341
await expect(result).resolves.toBeUndefined();
@@ -384,7 +382,7 @@ describe("versions deploy", () => {
384382

385383
test("2 versions @ (explicit) 30% + (implicit) 70%", async () => {
386384
const result = runWrangler(
387-
"versions deploy 10000000-0000-0000-0000-000000000000@30% 20000000-0000-0000-0000-000000000000 --yes --experimental-gradual-rollouts"
385+
"versions deploy 10000000-0000-0000-0000-000000000000@30% 20000000-0000-0000-0000-000000000000 --yes"
388386
);
389387

390388
await expect(result).resolves.toBeUndefined();
@@ -439,7 +437,7 @@ describe("versions deploy", () => {
439437

440438
test("2 versions @ (explicit) 40% + (explicit) 60%", async () => {
441439
const result = runWrangler(
442-
"versions deploy 10000000-0000-0000-0000-000000000000@40% 20000000-0000-0000-0000-000000000000@60% --yes --experimental-gradual-rollouts"
440+
"versions deploy 10000000-0000-0000-0000-000000000000@40% 20000000-0000-0000-0000-000000000000@60% --yes"
443441
);
444442

445443
await expect(result).resolves.toBeUndefined();
@@ -495,7 +493,7 @@ describe("versions deploy", () => {
495493
describe("max versions restrictions (temp)", () => {
496494
test("2+ versions fails", async () => {
497495
const result = runWrangler(
498-
"versions deploy 10000000-0000-0000-0000-000000000000 20000000-0000-0000-0000-000000000000 30000000-0000-0000-0000-000000000000 --yes --experimental-gradual-rollouts"
496+
"versions deploy 10000000-0000-0000-0000-000000000000 20000000-0000-0000-0000-000000000000 30000000-0000-0000-0000-000000000000 --yes"
499497
);
500498

501499
await expect(result).rejects.toMatchInlineSnapshot(
@@ -544,7 +542,7 @@ describe("versions deploy", () => {
544542

545543
test("--max-versions allows > 2 versions", async () => {
546544
const result = runWrangler(
547-
"versions deploy 10000000-0000-0000-0000-000000000000 20000000-0000-0000-0000-000000000000 30000000-0000-0000-0000-000000000000 --max-versions=3 --yes --experimental-gradual-rollouts"
545+
"versions deploy 10000000-0000-0000-0000-000000000000 20000000-0000-0000-0000-000000000000 30000000-0000-0000-0000-000000000000 --max-versions=3 --yes"
548546
);
549547

550548
await expect(result).resolves.toBeUndefined();
@@ -610,7 +608,7 @@ describe("versions deploy", () => {
610608

611609
test("with a message", async () => {
612610
const result = runWrangler(
613-
"versions deploy 10000000-0000-0000-0000-000000000000 --message 'My versioned deployment message' --yes --experimental-gradual-rollouts"
611+
"versions deploy 10000000-0000-0000-0000-000000000000 --message 'My versioned deployment message' --yes"
614612
);
615613

616614
await expect(result).resolves.toBeUndefined();
@@ -662,7 +660,7 @@ describe("versions deploy", () => {
662660
});
663661

664662
const result = runWrangler(
665-
"versions deploy 10000000-0000-0000-0000-000000000000 --yes --experimental-gradual-rollouts"
663+
"versions deploy 10000000-0000-0000-0000-000000000000 --yes"
666664
);
667665

668666
await expect(result).resolves.toBeUndefined();
@@ -720,7 +718,7 @@ describe("versions deploy", () => {
720718
});
721719

722720
const result = runWrangler(
723-
"versions deploy 10000000-0000-0000-0000-000000000000 --yes --experimental-gradual-rollouts"
721+
"versions deploy 10000000-0000-0000-0000-000000000000 --yes"
724722
);
725723

726724
await expect(result).resolves.toBeUndefined();
@@ -785,7 +783,7 @@ describe("versions deploy", () => {
785783
});
786784

787785
const result = runWrangler(
788-
"versions deploy 10000000-0000-0000-0000-000000000000 --yes --experimental-gradual-rollouts"
786+
"versions deploy 10000000-0000-0000-0000-000000000000 --yes"
789787
);
790788

791789
await expect(result).resolves.toBeUndefined();
@@ -840,7 +838,7 @@ describe("versions deploy", () => {
840838

841839
test("fails for non-existent versionId", async () => {
842840
const result = runWrangler(
843-
"versions deploy ffffffff-ffff-ffff-ffff-ffffffffffff --yes --experimental-gradual-rollouts"
841+
"versions deploy ffffffff-ffff-ffff-ffff-ffffffffffff --yes"
844842
);
845843

846844
// TODO: could do with a better error message but this will suffice for now (this error isn't possible in the interactive flow)
@@ -872,7 +870,7 @@ describe("versions deploy", () => {
872870

873871
test("fails if --percentage > 100", async () => {
874872
const result = runWrangler(
875-
"versions deploy 10000000-0000-0000-0000-000000000000 --percentage 101 --yes --experimental-gradual-rollouts"
873+
"versions deploy 10000000-0000-0000-0000-000000000000 --percentage 101 --yes"
876874
);
877875

878876
await expect(result).rejects.toMatchInlineSnapshot(
@@ -884,7 +882,7 @@ describe("versions deploy", () => {
884882

885883
test("fails if --percentage < 0", async () => {
886884
const result = runWrangler(
887-
"versions deploy 10000000-0000-0000-0000-000000000000 --percentage -1 --yes --experimental-gradual-rollouts"
885+
"versions deploy 10000000-0000-0000-0000-000000000000 --percentage -1 --yes"
888886
);
889887

890888
await expect(result).rejects.toMatchInlineSnapshot(
@@ -896,7 +894,7 @@ describe("versions deploy", () => {
896894

897895
test("fails if version-spec percentage > 100", async () => {
898896
const result = runWrangler(
899-
"versions deploy 10000000-0000-0000-0000-000000000000 --percentage 101 --yes --experimental-gradual-rollouts"
897+
"versions deploy 10000000-0000-0000-0000-000000000000 --percentage 101 --yes"
900898
);
901899

902900
await expect(result).rejects.toMatchInlineSnapshot(
@@ -908,7 +906,7 @@ describe("versions deploy", () => {
908906

909907
test("fails if version-spec percentage < 0", async () => {
910908
const result = runWrangler(
911-
"versions deploy 10000000-0000-0000-0000-000000000000 --percentage -1 --yes --experimental-gradual-rollouts"
909+
"versions deploy 10000000-0000-0000-0000-000000000000 --percentage -1 --yes"
912910
);
913911

914912
await expect(result).rejects.toMatchInlineSnapshot(

‎packages/wrangler/src/__tests__/versions/versions.help.test.ts

-158
Original file line numberDiff line numberDiff line change
@@ -5,78 +5,6 @@ import { runWrangler } from "../helpers/run-wrangler";
55
describe("versions --help", () => {
66
const std = mockConsoleMethods();
77

8-
test("shows generic help w/ --help flag and --no-experimental-versions flag", async () => {
9-
const result = runWrangler("versions --help --no-experimental-versions");
10-
11-
await expect(result).resolves.toBeUndefined();
12-
13-
expect(std.out).toMatchInlineSnapshot(`
14-
"wrangler
15-
16-
COMMANDS
17-
wrangler docs [search..] 📚 Open Wrangler's command documentation in your browser
18-
19-
wrangler init [name] 📥 Initialize a basic Worker
20-
wrangler dev [script] 👂 Start a local server for developing your Worker
21-
wrangler deploy [script] 🆙 Deploy a Worker to Cloudflare [aliases: publish]
22-
wrangler deployments 🚢 List and view the current and past deployments for your Worker
23-
wrangler rollback [deployment-id] 🔙 Rollback a deployment for a Worker
24-
wrangler delete [script] 🗑 Delete a Worker from Cloudflare
25-
wrangler tail [worker] 🦚 Start a log tailing session for a Worker
26-
wrangler secret 🤫 Generate a secret that can be referenced in a Worker
27-
wrangler types [path] 📝 Generate types from bindings and module rules in configuration
28-
29-
wrangler kv 🗂️ Manage Workers KV Namespaces
30-
wrangler queues 🇶 Manage Workers Queues
31-
wrangler r2 📦 Manage R2 buckets & objects
32-
wrangler d1 🗄 Manage Workers D1 databases
33-
wrangler vectorize 🧮 Manage Vectorize indexes [open beta]
34-
wrangler hyperdrive 🚀 Manage Hyperdrive databases
35-
wrangler pages ⚡️ Configure Cloudflare Pages
36-
wrangler mtls-certificate 🪪 Manage certificates used for mTLS connections
37-
wrangler pubsub 📮 Manage Pub/Sub brokers [private beta]
38-
wrangler dispatch-namespace 🏗️ Manage dispatch namespaces
39-
wrangler ai 🤖 Manage AI models
40-
wrangler workflows 🔁 Manage Workflows [open-beta]
41-
wrangler login 🔓 Login to Cloudflare
42-
wrangler logout 🚪 Logout from Cloudflare
43-
wrangler whoami 🕵️ Retrieve your user information
44-
45-
GLOBAL FLAGS
46-
-c, --config Path to Wrangler configuration file [string]
47-
-e, --env Environment to use for operations and .env files [string]
48-
-h, --help Show help [boolean]
49-
-v, --version Show version number [boolean]
50-
51-
Please report any issues to https://github.com/cloudflare/workers-sdk/issues/new/choose"
52-
`);
53-
});
54-
55-
test("shows versions help w/ --help and --experimental-versions flag", async () => {
56-
const result = runWrangler("versions --help --experimental-versions");
57-
58-
await expect(result).resolves.toBeUndefined();
59-
60-
expect(std.out).toMatchInlineSnapshot(`
61-
"wrangler versions
62-
63-
🫧 List, view, upload and deploy Versions of your Worker to Cloudflare
64-
65-
COMMANDS
66-
wrangler versions view <version-id> View the details of a specific version of your Worker
67-
wrangler versions list List the 10 most recent Versions of your Worker
68-
wrangler versions upload Uploads your Worker code and config as a new Version
69-
wrangler versions deploy [version-specs..] Safely roll out new Versions of your Worker by splitting traffic between multiple Versions
70-
wrangler versions secret Generate a secret that can be referenced in a Worker
71-
72-
GLOBAL FLAGS
73-
-c, --config Path to Wrangler configuration file [string]
74-
-e, --env Environment to use for operations and .env files [string]
75-
-h, --help Show help [boolean]
76-
-v, --version Show version number [boolean]"
77-
`);
78-
});
79-
808
test("shows versions help w/ --help", async () => {
819
const result = runWrangler("versions --help");
8210

@@ -106,14 +34,6 @@ describe("versions --help", () => {
10634
describe("versions subhelp", () => {
10735
const std = mockConsoleMethods();
10836

109-
test("fails with --no-experimental-versions flag", async () => {
110-
const result = runWrangler("versions --no-experimental-versions");
111-
112-
await expect(result).rejects.toMatchInlineSnapshot(
113-
`[Error: Unknown argument: versions]`
114-
);
115-
});
116-
11737
test("shows implicit subhelp", async () => {
11838
const result = runWrangler("versions");
11939

@@ -139,82 +59,4 @@ describe("versions subhelp", () => {
13959
-v, --version Show version number [boolean]"
14060
`);
14161
});
142-
143-
test("shows implicit subhelp with --experimental-versions flag", async () => {
144-
const result = runWrangler("versions --experimental-versions");
145-
146-
await expect(result).resolves.toBeUndefined();
147-
await setImmediate(); // wait for subhelp
148-
149-
expect(std.out).toMatchInlineSnapshot(`
150-
"wrangler versions
151-
152-
🫧 List, view, upload and deploy Versions of your Worker to Cloudflare
153-
154-
COMMANDS
155-
wrangler versions view <version-id> View the details of a specific version of your Worker
156-
wrangler versions list List the 10 most recent Versions of your Worker
157-
wrangler versions upload Uploads your Worker code and config as a new Version
158-
wrangler versions deploy [version-specs..] Safely roll out new Versions of your Worker by splitting traffic between multiple Versions
159-
wrangler versions secret Generate a secret that can be referenced in a Worker
160-
161-
GLOBAL FLAGS
162-
-c, --config Path to Wrangler configuration file [string]
163-
-e, --env Environment to use for operations and .env files [string]
164-
-h, --help Show help [boolean]
165-
-v, --version Show version number [boolean]"
166-
`);
167-
});
168-
169-
test("shows implicit subhelp with --x-versions flag", async () => {
170-
const result = runWrangler("versions --x-versions");
171-
172-
await expect(result).resolves.toBeUndefined();
173-
await setImmediate(); // wait for subhelp
174-
175-
expect(std.out).toMatchInlineSnapshot(`
176-
"wrangler versions
177-
178-
🫧 List, view, upload and deploy Versions of your Worker to Cloudflare
179-
180-
COMMANDS
181-
wrangler versions view <version-id> View the details of a specific version of your Worker
182-
wrangler versions list List the 10 most recent Versions of your Worker
183-
wrangler versions upload Uploads your Worker code and config as a new Version
184-
wrangler versions deploy [version-specs..] Safely roll out new Versions of your Worker by splitting traffic between multiple Versions
185-
wrangler versions secret Generate a secret that can be referenced in a Worker
186-
187-
GLOBAL FLAGS
188-
-c, --config Path to Wrangler configuration file [string]
189-
-e, --env Environment to use for operations and .env files [string]
190-
-h, --help Show help [boolean]
191-
-v, --version Show version number [boolean]"
192-
`);
193-
});
194-
195-
test("shows implicit subhelp with --experimental-gradual-rollouts flag", async () => {
196-
const result = runWrangler("versions --experimental-gradual-rollouts");
197-
198-
await expect(result).resolves.toBeUndefined();
199-
await setImmediate(); // wait for subhelp
200-
201-
expect(std.out).toMatchInlineSnapshot(`
202-
"wrangler versions
203-
204-
🫧 List, view, upload and deploy Versions of your Worker to Cloudflare
205-
206-
COMMANDS
207-
wrangler versions view <version-id> View the details of a specific version of your Worker
208-
wrangler versions list List the 10 most recent Versions of your Worker
209-
wrangler versions upload Uploads your Worker code and config as a new Version
210-
wrangler versions deploy [version-specs..] Safely roll out new Versions of your Worker by splitting traffic between multiple Versions
211-
wrangler versions secret Generate a secret that can be referenced in a Worker
212-
213-
GLOBAL FLAGS
214-
-c, --config Path to Wrangler configuration file [string]
215-
-e, --env Environment to use for operations and .env files [string]
216-
-h, --help Show help [boolean]
217-
-v, --version Show version number [boolean]"
218-
`);
219-
});
22062
});

‎packages/wrangler/src/__tests__/versions/versions.list.test.ts

+5-13
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,7 @@ describe("versions list", () => {
2424

2525
describe("without wrangler.toml", () => {
2626
test("fails with no args", async () => {
27-
const result = runWrangler(
28-
"versions list --json --experimental-versions"
29-
);
27+
const result = runWrangler("versions list --json");
3028

3129
await expect(result).rejects.toMatchInlineSnapshot(
3230
`[Error: You need to provide a name of your worker. Either pass it as a cli arg with \`--name <name>\` or in your config file as \`name = "<name>"\`]`
@@ -38,9 +36,7 @@ describe("versions list", () => {
3836
});
3937

4038
test("prints versions to stdout", async () => {
41-
const result = runWrangler(
42-
"versions list --name test-name --experimental-versions"
43-
);
39+
const result = runWrangler("versions list --name test-name");
4440

4541
await expect(result).resolves.toBeUndefined();
4642

@@ -82,9 +78,7 @@ describe("versions list", () => {
8278
});
8379

8480
test("prints versions to stdout as --json", async () => {
85-
const result = runWrangler(
86-
"versions list --name test-name --json --experimental-versions"
87-
);
81+
const result = runWrangler("versions list --name test-name --json");
8882

8983
await expect(result).resolves.toBeUndefined();
9084

@@ -164,7 +158,7 @@ describe("versions list", () => {
164158
beforeEach(() => writeWranglerConfig());
165159

166160
test("prints versions to stdout", async () => {
167-
const result = runWrangler("versions list --experimental-versions");
161+
const result = runWrangler("versions list");
168162

169163
await expect(result).resolves.toBeUndefined();
170164

@@ -204,9 +198,7 @@ describe("versions list", () => {
204198
});
205199

206200
test("prints versions to as --json", async () => {
207-
const result = runWrangler(
208-
"versions list --json --experimental-versions"
209-
);
201+
const result = runWrangler("versions list --json");
210202

211203
await expect(result).resolves.toBeUndefined();
212204

‎packages/wrangler/src/__tests__/versions/versions.upload.test.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ describe("versions upload", () => {
8686
writeWorkerSource();
8787
setIsTTY(false);
8888

89-
const result = runWrangler("versions upload --x-versions");
89+
const result = runWrangler("versions upload");
9090

9191
await expect(result).resolves.toBeUndefined();
9292

@@ -124,7 +124,7 @@ describe("versions upload", () => {
124124
writeWorkerSource();
125125
setIsTTY(false);
126126

127-
const result = runWrangler("versions upload --x-versions");
127+
const result = runWrangler("versions upload");
128128

129129
await expect(result).resolves.toBeUndefined();
130130

@@ -156,7 +156,7 @@ describe("versions upload", () => {
156156
writeWorkerSource();
157157
setIsTTY(false);
158158

159-
const result = runWrangler("versions upload --x-versions");
159+
const result = runWrangler("versions upload");
160160

161161
await expect(result).resolves.toBeUndefined();
162162

‎packages/wrangler/src/__tests__/versions/versions.view.test.ts

+15-21
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,7 @@ describe("versions view", () => {
2020
beforeEach(() => msw.use(mswGetVersion()));
2121

2222
test("fails with no args", async () => {
23-
const result = runWrangler(
24-
"versions view --experimental-gradual-rollouts"
25-
);
23+
const result = runWrangler("versions view");
2624

2725
await expect(result).rejects.toMatchInlineSnapshot(
2826
`[Error: Not enough non-option arguments: got 0, need at least 1]`
@@ -34,9 +32,7 @@ describe("versions view", () => {
3432
});
3533

3634
test("fails with --name arg only", async () => {
37-
const result = runWrangler(
38-
"versions view --name test-name --experimental-gradual-rollouts"
39-
);
35+
const result = runWrangler("versions view --name test-name");
4036

4137
await expect(result).rejects.toMatchInlineSnapshot(
4238
`[Error: Not enough non-option arguments: got 0, need at least 1]`
@@ -49,7 +45,7 @@ describe("versions view", () => {
4945

5046
test("fails with positional version-id arg only", async () => {
5147
const result = runWrangler(
52-
"versions view 10000000-0000-0000-0000-000000000000 --experimental-gradual-rollouts"
48+
"versions view 10000000-0000-0000-0000-000000000000"
5349
);
5450

5551
await expect(result).rejects.toMatchInlineSnapshot(
@@ -63,7 +59,7 @@ describe("versions view", () => {
6359

6460
test("succeeds with positional version-id arg and --name arg", async () => {
6561
const result = runWrangler(
66-
"versions view 10000000-0000-0000-0000-000000000000 --name test-name --experimental-gradual-rollouts"
62+
"versions view 10000000-0000-0000-0000-000000000000 --name test-name"
6763
);
6864

6965
await expect(result).resolves.toBeUndefined();
@@ -98,7 +94,7 @@ describe("versions view", () => {
9894

9995
test("prints version to stdout as --json", async () => {
10096
const result = runWrangler(
101-
"versions view 10000000-0000-0000-0000-000000000000 --name test-name --json --experimental-versions"
97+
"versions view 10000000-0000-0000-0000-000000000000 --name test-name --json"
10298
);
10399

104100
await expect(result).resolves.toBeUndefined();
@@ -165,9 +161,7 @@ describe("versions view", () => {
165161
});
166162

167163
test("fails with no args", async () => {
168-
const result = runWrangler(
169-
"versions view --experimental-gradual-rollouts"
170-
);
164+
const result = runWrangler("versions view");
171165

172166
await expect(result).rejects.toMatchInlineSnapshot(
173167
`[Error: Not enough non-option arguments: got 0, need at least 1]`
@@ -180,7 +174,7 @@ describe("versions view", () => {
180174

181175
test("succeeds with positional version-id arg only", async () => {
182176
const result = runWrangler(
183-
"versions view 10000000-0000-0000-0000-000000000000 --experimental-gradual-rollouts"
177+
"versions view 10000000-0000-0000-0000-000000000000"
184178
);
185179

186180
await expect(result).resolves.toBeUndefined();
@@ -213,7 +207,7 @@ describe("versions view", () => {
213207

214208
test("fails with non-existent version-id", async () => {
215209
const result = runWrangler(
216-
"versions view ffffffff-ffff-ffff-ffff-ffffffffffff --experimental-gradual-rollouts"
210+
"versions view ffffffff-ffff-ffff-ffff-ffffffffffff"
217211
);
218212

219213
await expect(result).rejects.toMatchInlineSnapshot(
@@ -227,7 +221,7 @@ describe("versions view", () => {
227221

228222
test("prints version to stdout as --json", async () => {
229223
const result = runWrangler(
230-
"versions view 10000000-0000-0000-0000-000000000000 --json --experimental-versions"
224+
"versions view 10000000-0000-0000-0000-000000000000 --json"
231225
);
232226

233227
await expect(result).resolves.toBeUndefined();
@@ -314,7 +308,7 @@ describe("versions view", () => {
314308
);
315309

316310
const result = runWrangler(
317-
"versions view 10000000-0000-0000-0000-000000000000 --name test --experimental-versions"
311+
"versions view 10000000-0000-0000-0000-000000000000 --name test"
318312
);
319313

320314
await expect(result).resolves.toBeUndefined();
@@ -361,7 +355,7 @@ describe("versions view", () => {
361355
);
362356

363357
const result = runWrangler(
364-
"versions view 10000000-0000-0000-0000-000000000000 --name test --experimental-versions"
358+
"versions view 10000000-0000-0000-0000-000000000000 --name test"
365359
);
366360

367361
await expect(result).resolves.toBeUndefined();
@@ -410,7 +404,7 @@ describe("versions view", () => {
410404
);
411405

412406
const result = runWrangler(
413-
"versions view 10000000-0000-0000-0000-000000000000 --name test --experimental-versions"
407+
"versions view 10000000-0000-0000-0000-000000000000 --name test"
414408
);
415409

416410
await expect(result).resolves.toBeUndefined();
@@ -463,7 +457,7 @@ describe("versions view", () => {
463457
);
464458

465459
const result = runWrangler(
466-
"versions view 10000000-0000-0000-0000-000000000000 --name test --experimental-versions"
460+
"versions view 10000000-0000-0000-0000-000000000000 --name test"
467461
);
468462

469463
await expect(result).resolves.toBeUndefined();
@@ -519,7 +513,7 @@ describe("versions view", () => {
519513
);
520514

521515
const result = runWrangler(
522-
"versions view 10000000-0000-0000-0000-000000000000 --name test --experimental-versions"
516+
"versions view 10000000-0000-0000-0000-000000000000 --name test"
523517
);
524518

525519
await expect(result).resolves.toBeUndefined();
@@ -651,7 +645,7 @@ describe("versions view", () => {
651645
);
652646

653647
const result = runWrangler(
654-
"versions view 10000000-0000-0000-0000-000000000000 --name test --experimental-versions"
648+
"versions view 10000000-0000-0000-0000-000000000000 --name test"
655649
);
656650

657651
await expect(result).resolves.toBeUndefined();

‎packages/wrangler/src/api/dev.ts

-1
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,6 @@ export async function unstable_dev(
218218
logLevel: options?.logLevel ?? defaultLogLevel,
219219
port: options?.port ?? 0,
220220
experimentalProvision: undefined,
221-
experimentalVersions: undefined,
222221
experimentalDevEnv: undefined,
223222
experimentalRegistry: fileBasedRegistry,
224223
experimentalVectorizeBindToProd: vectorizeBindToProd ?? false,

‎packages/wrangler/src/deploy/deploy.ts

-3
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,6 @@ type Props = {
107107
oldAssetTtl: number | undefined;
108108
projectRoot: string | undefined;
109109
dispatchNamespace: string | undefined;
110-
experimentalVersions: boolean | undefined;
111110
experimentalAutoCreate: boolean;
112111
};
113112

@@ -781,15 +780,13 @@ See https://developers.cloudflare.com/workers/platform/compatibility-dates for m
781780
}
782781

783782
// We can use the new versions/deployments APIs if we:
784-
// * have --x-versions enabled (default, but can be disabled with --no-x-versions)
785783
// * are uploading a worker that already exists
786784
// * aren't a dispatch namespace deploy
787785
// * aren't a service env deploy
788786
// * aren't a service Worker
789787
// * we don't have DO migrations
790788
// * we aren't an fpw
791789
const canUseNewVersionsDeploymentsApi =
792-
props.experimentalVersions &&
793790
workerExists &&
794791
props.dispatchNamespace === undefined &&
795792
prod &&

‎packages/wrangler/src/deploy/index.ts

-1
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,6 @@ async function deployWorker(args: DeployArgs) {
383383
oldAssetTtl: args.oldAssetTtl,
384384
projectRoot,
385385
dispatchNamespace: args.dispatchNamespace,
386-
experimentalVersions: args.experimentalVersions,
387386
experimentalAutoCreate: args.experimentalAutoCreate,
388387
});
389388

‎packages/wrangler/src/deprecated/index.ts

-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ export async function buildHandler(buildArgs: BuildArgs) {
3636
"--outdir=dist",
3737
...(buildArgs.env ? ["--env", buildArgs.env] : []),
3838
...(buildArgs.config ? ["--config", buildArgs.config] : []),
39-
...(buildArgs.experimentalVersions ? ["--experimental-versions"] : []),
4039
]).parse();
4140
}
4241

‎packages/wrangler/src/generate/index.ts

-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ export async function generateHandler(args: GenerateArgs) {
5757
type: undefined,
5858
_: args._,
5959
$0: args.$0,
60-
experimentalVersions: args.experimentalVersions,
6160
experimentalProvision: args.experimentalProvision,
6261
});
6362
}

‎packages/wrangler/src/index.ts

+70-182
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,6 @@ import {
2525
isBuildFailure,
2626
isBuildFailureFromCause,
2727
} from "./deployment-bundle/build-failures";
28-
import {
29-
commonDeploymentCMDSetup,
30-
deployments,
31-
rollbackDeployment,
32-
viewDeployment,
33-
} from "./deployments";
3428
import {
3529
buildHandler,
3630
buildOptions,
@@ -273,14 +267,6 @@ export function getLegacyScriptName(
273267
}
274268

275269
export function createCLIParser(argv: string[]) {
276-
const experimentalGradualRollouts =
277-
// original flag -- using internal product name (Gradual Rollouts) -- kept for temp back-compat
278-
!argv.includes("--no-experimental-gradual-rollouts") &&
279-
// new flag -- using external product name (Versions)
280-
!argv.includes("--no-experimental-versions") &&
281-
// new flag -- shorthand
282-
!argv.includes("--no-x-versions");
283-
284270
// Type check result against CommonYargsOptions to make sure we've included
285271
// all common options
286272
const wrangler: CommonYargsArgv = makeCLI(argv)
@@ -340,13 +326,6 @@ export function createCLIParser(argv: string[]) {
340326
}
341327
return true;
342328
})
343-
.option("experimental-versions", {
344-
describe: `Experimental: support Worker Versions`,
345-
type: "boolean",
346-
default: true,
347-
hidden: true,
348-
alias: ["x-versions", "experimental-gradual-rollouts"],
349-
})
350329
.check((args) => {
351330
// Grab locally specified env params from `.env` file
352331
const loaded = loadDotEnv(".env", args.env);
@@ -479,170 +458,79 @@ export function createCLIParser(argv: string[]) {
479458
deployHandler
480459
);
481460

482-
if (experimentalGradualRollouts) {
483-
registry.define([
484-
{ command: "wrangler deployments", definition: deploymentsNamespace },
485-
{
486-
command: "wrangler deployments list",
487-
definition: deploymentsListCommand,
488-
},
489-
{
490-
command: "wrangler deployments status",
491-
definition: deploymentsStatusCommand,
492-
},
493-
{
494-
command: "wrangler deployments view",
495-
definition: deploymentsViewCommand,
496-
},
497-
]);
498-
registry.registerNamespace("deployments");
499-
} else {
500-
wrangler.command(
501-
"deployments",
502-
"🚢 List and view the current and past deployments for your Worker",
503-
(yargs) =>
504-
yargs
505-
.option("name", {
506-
describe: "The name of your Worker",
507-
type: "string",
508-
})
509-
.command(
510-
"list",
511-
"Displays the 10 most recent deployments for a Worker",
512-
async (listYargs) => listYargs,
513-
async (listYargs) => {
514-
const { accountId, scriptName, config } =
515-
await commonDeploymentCMDSetup(listYargs);
516-
await deployments(accountId, scriptName, config);
517-
}
518-
)
519-
.command(
520-
"view [deployment-id]",
521-
"View a deployment",
522-
async (viewYargs) =>
523-
viewYargs.positional("deployment-id", {
524-
describe: "The ID of the deployment you want to inspect",
525-
type: "string",
526-
demandOption: false,
527-
}),
528-
async (viewYargs) => {
529-
const { accountId, scriptName, config } =
530-
await commonDeploymentCMDSetup(viewYargs);
531-
532-
await viewDeployment(
533-
accountId,
534-
scriptName,
535-
config,
536-
viewYargs.deploymentId
537-
);
538-
}
539-
)
540-
.command(subHelp)
541-
);
542-
}
461+
registry.define([
462+
{ command: "wrangler deployments", definition: deploymentsNamespace },
463+
{
464+
command: "wrangler deployments list",
465+
definition: deploymentsListCommand,
466+
},
467+
{
468+
command: "wrangler deployments status",
469+
definition: deploymentsStatusCommand,
470+
},
471+
{
472+
command: "wrangler deployments view",
473+
definition: deploymentsViewCommand,
474+
},
475+
]);
476+
registry.registerNamespace("deployments");
543477

544-
// rollback
545-
const rollbackDescription = "🔙 Rollback a deployment for a Worker";
546-
547-
if (experimentalGradualRollouts) {
548-
registry.define([
549-
{ command: "wrangler rollback", definition: versionsRollbackCommand },
550-
]);
551-
registry.registerNamespace("rollback");
552-
} else {
553-
wrangler.command(
554-
"rollback [deployment-id]",
555-
rollbackDescription,
556-
(rollbackYargs) =>
557-
rollbackYargs
558-
.positional("deployment-id", {
559-
describe: "The ID of the deployment to rollback to",
560-
type: "string",
561-
demandOption: false,
562-
})
563-
.option("message", {
564-
alias: "m",
565-
describe:
566-
"Skip confirmation and message prompts, uses provided argument as message",
567-
type: "string",
568-
default: undefined,
569-
})
570-
.option("name", {
571-
describe: "The name of your Worker",
572-
type: "string",
573-
}),
574-
async (rollbackYargs) => {
575-
const { accountId, scriptName, config } =
576-
await commonDeploymentCMDSetup(rollbackYargs);
577-
578-
await rollbackDeployment(
579-
accountId,
580-
scriptName,
581-
config,
582-
rollbackYargs.deploymentId,
583-
rollbackYargs.message
584-
);
585-
}
586-
);
587-
}
478+
registry.define([
479+
{ command: "wrangler rollback", definition: versionsRollbackCommand },
480+
]);
481+
registry.registerNamespace("rollback");
588482

589-
// versions
590-
if (experimentalGradualRollouts) {
591-
registry.define([
592-
{
593-
command: "wrangler versions",
594-
definition: versionsNamespace,
595-
},
596-
{
597-
command: "wrangler versions view",
598-
definition: versionsViewCommand,
599-
},
600-
{
601-
command: "wrangler versions list",
602-
definition: versionsListCommand,
603-
},
604-
{
605-
command: "wrangler versions upload",
606-
definition: versionsUploadCommand,
607-
},
608-
{
609-
command: "wrangler versions deploy",
610-
definition: versionsDeployCommand,
611-
},
612-
{
613-
command: "wrangler versions secret",
614-
definition: versionsSecretNamespace,
615-
},
616-
{
617-
command: "wrangler versions secret put",
618-
definition: versionsSecretPutCommand,
619-
},
620-
{
621-
command: "wrangler versions secret bulk",
622-
definition: versionsSecretBulkCommand,
623-
},
624-
{
625-
command: "wrangler versions secret delete",
626-
definition: versionsSecretDeleteCommand,
627-
},
628-
{
629-
command: "wrangler versions secret list",
630-
definition: versionsSecretsListCommand,
631-
},
632-
]);
633-
registry.registerNamespace("versions");
634-
}
483+
registry.define([
484+
{
485+
command: "wrangler versions",
486+
definition: versionsNamespace,
487+
},
488+
{
489+
command: "wrangler versions view",
490+
definition: versionsViewCommand,
491+
},
492+
{
493+
command: "wrangler versions list",
494+
definition: versionsListCommand,
495+
},
496+
{
497+
command: "wrangler versions upload",
498+
definition: versionsUploadCommand,
499+
},
500+
{
501+
command: "wrangler versions deploy",
502+
definition: versionsDeployCommand,
503+
},
504+
{
505+
command: "wrangler versions secret",
506+
definition: versionsSecretNamespace,
507+
},
508+
{
509+
command: "wrangler versions secret put",
510+
definition: versionsSecretPutCommand,
511+
},
512+
{
513+
command: "wrangler versions secret bulk",
514+
definition: versionsSecretBulkCommand,
515+
},
516+
{
517+
command: "wrangler versions secret delete",
518+
definition: versionsSecretDeleteCommand,
519+
},
520+
{
521+
command: "wrangler versions secret list",
522+
definition: versionsSecretsListCommand,
523+
},
524+
]);
525+
registry.registerNamespace("versions");
635526

636-
// triggers
637-
if (experimentalGradualRollouts) {
638-
wrangler.command(
639-
"triggers",
640-
"🎯 Updates the triggers of your current deployment",
641-
(yargs) => {
642-
return registerTriggersSubcommands(yargs.command(subHelp));
643-
}
644-
);
645-
}
527+
wrangler.command(
528+
"triggers",
529+
"🎯 Updates the triggers of your current deployment",
530+
(yargs) => {
531+
return registerTriggersSubcommands(yargs.command(subHelp));
532+
}
533+
);
646534

647535
// delete
648536
wrangler.command(

‎packages/wrangler/src/triggers/deploy.ts

+1-5
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ type Props = {
2828
routes: string[] | undefined;
2929
legacyEnv: boolean | undefined;
3030
dryRun: boolean | undefined;
31-
experimentalVersions: boolean | undefined;
3231
assetsOptions: AssetsOptions | undefined;
3332
};
3433

@@ -276,10 +275,7 @@ export default async function triggersDeploy(
276275
const deployMs = Date.now() - start - uploadMs;
277276

278277
if (deployments.length > 0) {
279-
const msg = props.experimentalVersions
280-
? `Deployed ${workerName} triggers`
281-
: `Published ${workerName}`;
282-
logger.log(msg, formatTime(deployMs));
278+
logger.log(`Deployed ${workerName} triggers`, formatTime(deployMs));
283279

284280
const flatTargets = targets.flat().map(
285281
// Append protocol only on workers.dev domains

‎packages/wrangler/src/triggers/index.ts

-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@ async function triggersDeployHandler(
7878
routes: args.routes,
7979
legacyEnv: isLegacyEnv(config),
8080
dryRun: args.dryRun,
81-
experimentalVersions: args.experimentalVersions,
8281
assetsOptions,
8382
});
8483
}

‎packages/wrangler/src/yargs-types.ts

-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ export interface CommonYargsOptions {
88
v: boolean | undefined;
99
config: string | undefined;
1010
env: string | undefined;
11-
"experimental-versions": boolean | undefined;
1211
"experimental-provision": boolean | undefined;
1312
}
1413

0 commit comments

Comments
 (0)
Please sign in to comment.