From 59a83f8ff4fc1bffcf049ad4795d3539d25f9eb8 Mon Sep 17 00:00:00 2001 From: Max Rozen <3822106+rozenmd@users.noreply.github.com> Date: Thu, 23 Jun 2022 17:40:21 +0200 Subject: [PATCH] polish: split generate into its own file (#1343) * polish: split generate into its own file * Create spotty-birds-care.md * use regular functions --- .changeset/spotty-birds-care.md | 5 +++++ packages/wrangler/src/generate.ts | 33 +++++++++++++++++++++++++++++++ packages/wrangler/src/index.tsx | 25 +++-------------------- 3 files changed, 41 insertions(+), 22 deletions(-) create mode 100644 .changeset/spotty-birds-care.md create mode 100644 packages/wrangler/src/generate.ts diff --git a/.changeset/spotty-birds-care.md b/.changeset/spotty-birds-care.md new file mode 100644 index 000000000000..399ac2895689 --- /dev/null +++ b/.changeset/spotty-birds-care.md @@ -0,0 +1,5 @@ +--- +"wrangler": patch +--- + +polish: split generate into its own file diff --git a/packages/wrangler/src/generate.ts b/packages/wrangler/src/generate.ts new file mode 100644 index 000000000000..5361fbc589e2 --- /dev/null +++ b/packages/wrangler/src/generate.ts @@ -0,0 +1,33 @@ +import { DeprecationError } from "./errors"; +import type { Argv, ArgumentsCamelCase } from "yargs"; + +interface GenerateArgs { + name: string; + template: string; +} + +export function generateOptions(yargs: Argv) { + return yargs + .positional("name", { + describe: "Name of the Workers project", + default: "worker", + }) + .positional("template", { + describe: "The URL of a GitHub template", + default: "https://github.com/cloudflare/worker-template", + }); +} + +export function generateHandler( + generateArgs: ArgumentsCamelCase +) { + // "👯 [DEPRECATED]. Scaffold a Cloudflare Workers project from a public GitHub repository.", + throw new DeprecationError( + "`wrangler generate` has been deprecated.\n" + + "Try running `wrangler init` to generate a basic Worker, or cloning the template repository instead:\n\n" + + "```\n" + + `git clone ${generateArgs.template}\n` + + "```\n\n" + + "Please refer to https://developers.cloudflare.com/workers/wrangler/deprecations/#generate for more information." + ); +} diff --git a/packages/wrangler/src/index.tsx b/packages/wrangler/src/index.tsx index 6cd88187b570..0b76cbf45b97 100644 --- a/packages/wrangler/src/index.tsx +++ b/packages/wrangler/src/index.tsx @@ -22,6 +22,7 @@ import Dev from "./dev/dev"; import { confirm, prompt, select } from "./dialogs"; import { getEntry } from "./entry"; import { DeprecationError } from "./errors"; +import { generateHandler, generateOptions } from "./generate"; import { initializeGit, isGitInstalled, isInsideGitRepo } from "./git-client"; import { getKVNamespaceId, @@ -284,28 +285,8 @@ function createCLIParser(argv: string[]) { // we can do something better here, let's see "generate [name] [template]", false, - (yargs) => { - return yargs - .positional("name", { - describe: "Name of the Workers project", - default: "worker", - }) - .positional("template", { - describe: "The URL of a GitHub template", - default: "https://github.com/cloudflare/worker-template", - }); - }, - (generateArgs) => { - // "👯 [DEPRECATED]. Scaffold a Cloudflare Workers project from a public GitHub repository.", - throw new DeprecationError( - "`wrangler generate` has been deprecated.\n" + - "Try running `wrangler init` to generate a basic Worker, or cloning the template repository instead:\n\n" + - "```\n" + - `git clone ${generateArgs.template}\n` + - "```\n\n" + - "Please refer to https://developers.cloudflare.com/workers/wrangler/deprecations/#generate for more information." - ); - } + generateOptions, + generateHandler ); // init