Skip to content

Commit 56dcc94

Browse files
authored
chore: use defineCommand in wrangler docs (#7246)
* use defineCommand * feedback
1 parent 6d15863 commit 56dcc94

File tree

2 files changed

+40
-47
lines changed

2 files changed

+40
-47
lines changed
Lines changed: 38 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,53 @@
1-
import { printWranglerBanner } from "..";
2-
import { readConfig } from "../config";
1+
import { defineCommand } from "../core";
32
import { logger } from "../logger";
43
import * as metrics from "../metrics";
54
import openInBrowser from "../open-in-browser";
65
import { runSearch } from "./helpers";
7-
import type {
8-
CommonYargsArgv,
9-
StrictYargsOptionsToInterface,
10-
} from "../yargs-types";
116

12-
export function docsOptions(yargs: CommonYargsArgv) {
13-
return yargs
14-
.positional("search", {
7+
defineCommand({
8+
command: "wrangler docs",
9+
metadata: {
10+
description: "📚 Open Wrangler's command documentation in your browser\n",
11+
owner: "Workers: Authoring and Testing",
12+
status: "stable",
13+
},
14+
args: {
15+
search: {
1516
describe:
1617
"Enter search terms (e.g. the wrangler command) you want to know more about",
1718
type: "string",
1819
array: true,
19-
})
20-
.option("yes", {
20+
},
21+
yes: {
2122
alias: "y",
2223
type: "boolean",
23-
description: "Takes you to the docs, even if search fails",
24-
});
25-
}
26-
27-
export async function docsHandler(
28-
args: StrictYargsOptionsToInterface<typeof docsOptions>
29-
) {
30-
//if no command is provided, open the docs homepage
31-
//or, if a command IS provided, but we can't find anything, open the docs homepage
32-
let urlToOpen =
33-
args.yes || !args.search || args.search.length === 0
34-
? "https://developers.cloudflare.com/workers/wrangler/commands/"
35-
: "";
24+
describe: "Takes you to the docs, even if search fails",
25+
},
26+
},
27+
positionalArgs: ["search"],
28+
async handler(args, { config }) {
29+
//if no command is provided, open the docs homepage
30+
//or, if a command IS provided, but we can't find anything, open the docs homepage
31+
let urlToOpen =
32+
args.yes || !args.search || args.search.length === 0
33+
? "https://developers.cloudflare.com/workers/wrangler/commands/"
34+
: "";
3635

37-
if (args.search && args.search.length > 0) {
38-
const searchTerm = args.search.join(" ");
39-
const searchResult = await runSearch(searchTerm);
36+
if (args.search && args.search.length > 0) {
37+
const searchTerm = args.search.join(" ");
38+
const searchResult = await runSearch(searchTerm);
4039

41-
urlToOpen = searchResult ?? urlToOpen;
42-
}
40+
urlToOpen = searchResult ?? urlToOpen;
41+
}
4342

44-
if (!urlToOpen) {
45-
return;
46-
}
47-
await printWranglerBanner();
43+
if (!urlToOpen) {
44+
return;
45+
}
4846

49-
logger.log(`Opening a link in your default browser: ${urlToOpen}`);
50-
await openInBrowser(urlToOpen);
51-
const config = readConfig(undefined, args);
52-
await metrics.sendMetricsEvent("view docs", {
53-
sendMetrics: config.send_metrics,
54-
});
55-
}
47+
logger.log(`Opening a link in your default browser: ${urlToOpen}`);
48+
await openInBrowser(urlToOpen);
49+
await metrics.sendMetricsEvent("view docs", {
50+
sendMetrics: config.send_metrics,
51+
});
52+
},
53+
});

packages/wrangler/src/index.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ import {
3737
} from "./deprecated";
3838
import { devHandler, devOptions } from "./dev";
3939
import { workerNamespaceCommands } from "./dispatch-namespace";
40-
import { docsHandler, docsOptions } from "./docs";
4140
import {
4241
CommandLineArgsError,
4342
JsonFriendlyFatalError,
@@ -46,6 +45,7 @@ import {
4645
import { generateHandler, generateOptions } from "./generate";
4746
import { hyperdrive } from "./hyperdrive/index";
4847
import { initHandler, initOptions } from "./init";
48+
import "./docs";
4949
import "./kv";
5050
import "./workflows";
5151
import "./user/commands";
@@ -317,12 +317,7 @@ export function createCLIParser(argv: string[]) {
317317
/* WRANGLER COMMANDS */
318318
/******************************************************/
319319
// docs
320-
wrangler.command(
321-
"docs [search..]",
322-
"📚 Open Wrangler's command documentation in your browser\n",
323-
docsOptions,
324-
docsHandler
325-
);
320+
register.registerNamespace("docs");
326321

327322
/******************** CMD GROUP ***********************/
328323
// init

0 commit comments

Comments
 (0)