Skip to content

Commit

Permalink
Catch erroneous use of `deployments view [deployment-id] --experiment…
Browse files Browse the repository at this point in the history
…al-versions` command (#5405)
  • Loading branch information
RamIdeas committed Mar 27, 2024
1 parent 9e60c7e commit 7c701bf
Show file tree
Hide file tree
Showing 4 changed files with 80 additions and 0 deletions.
7 changes: 7 additions & 0 deletions .changeset/tough-suns-punch.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"wrangler": patch
---

chore: add `wrangler deployments view [deployment-id] --experimental-versions` command

This command will display an error message which points the user to run either `wrangler deployments status --experimental-versions` or `wrangler versions view <version-id> --experimental-versions` instead.
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import { UserError } from "../../../errors";
import { runWrangler } from "../../helpers/run-wrangler";

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

await expect(result).rejects.toMatchInlineSnapshot(
`[Error: \`wrangler deployments view\` has been renamed \`wrangler deployments status --x-versions\`. Please use that command instead.]`
);
await expect(result).rejects.toBeInstanceOf(UserError);
});

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

await expect(result).rejects.toMatchInlineSnapshot(
`[Error: \`wrangler deployments view <deployment-id>\` has been renamed \`wrangler versions view [version-id] --x-versions\`. Please use that command instead.]`
);
await expect(result).rejects.toBeInstanceOf(UserError);
});
});
10 changes: 10 additions & 0 deletions packages/wrangler/src/versions/deployments/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ import {
versionsDeploymentsStatusHandler,
versionsDeploymentsStatusOptions,
} from "./status";
import {
versionsDeploymentsViewHandler,
versionsDeploymentsViewOptions,
} from "./view";
import type { CommonYargsArgv } from "../../yargs-types";

export default function registerVersionsDeploymentsSubcommands(
Expand All @@ -23,5 +27,11 @@ export default function registerVersionsDeploymentsSubcommands(
"See the current state of your production [beta]",
versionsDeploymentsStatusOptions,
versionsDeploymentsStatusHandler
)
.command(
"view [deployment-id]",
false,
versionsDeploymentsViewOptions,
versionsDeploymentsViewHandler
);
}
41 changes: 41 additions & 0 deletions packages/wrangler/src/versions/deployments/view.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import { UserError } from "../../errors";
import { printWranglerBanner } from "../../update-check";
import type {
CommonYargsArgv,
StrictYargsOptionsToInterface,
} from "../../yargs-types";

export type VersionsDeploymentsViewArgs = StrictYargsOptionsToInterface<
typeof versionsDeploymentsViewOptions
>;

export function versionsDeploymentsViewOptions(yargs: CommonYargsArgv) {
return yargs
.option("name", {
describe: "Name of the worker",
type: "string",
requiresArg: true,
})
.positional("deployment-id", {
describe:
"Deprecated. Deployment ID is now referred to as Version ID. Please use `wrangler versions view [version-id]` instead.",
type: "string",
requiresArg: true,
});
}

export async function versionsDeploymentsViewHandler(
args: VersionsDeploymentsViewArgs
) {
await printWranglerBanner();

if (args.deploymentId === undefined) {
throw new UserError(
"`wrangler deployments view` has been renamed `wrangler deployments status --x-versions`. Please use that command instead."
);
} else {
throw new UserError(
"`wrangler deployments view <deployment-id>` has been renamed `wrangler versions view [version-id] --x-versions`. Please use that command instead."
);
}
}

0 comments on commit 7c701bf

Please sign in to comment.