@swmansion/argent 0.22.1-next.2 → 0.22.1-next.3

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.
@@ -1,35 +1,22 @@
1
1
  /**
2
- * Help handling for the installer subcommands (init / install / update /
3
- * uninstall / remove).
4
- *
5
- * These commands forward their argv straight to the side-effecting installer
6
- * functions, which do not themselves short-circuit on `--help`. Without an
7
- * explicit guard `argent uninstall --help` runs the real uninstall — it even
8
- * opens the destructive "Remove argent configuration from this workspace?"
9
- * prompt. The dispatcher checks `installerHelpRequested` before dispatching so
10
- * a help request prints usage and returns without loading or invoking any
11
- * installer code.
12
- *
13
- * The other subcommands (run / tools / server / link / flags / …) handle
14
- * `--help` themselves, so they are deliberately excluded here — intercepting
15
- * them would swallow their own command-specific help.
16
- *
17
- * This module is also the single source of truth for each installer command's
18
- * help text: the top-level `argent --help` table in cli.ts reads the summary
19
- * and detail lines from `INSTALLER_COMMAND_META` so the two can't drift.
2
+ * Help for the subcommands that cannot serve `--help` themselves (see
3
+ * `INSTALLER_COMMANDS`), and the single source of truth for their help text:
4
+ * the top-level `argent --help` table in cli.ts renders the summary and detail
5
+ * lines from `INSTALLER_COMMAND_META`, so the two can't drift.
20
6
  */
21
7
  /**
22
8
  * Subcommands whose argv never reaches a `--help` handler. The installers
23
- * forward theirs to side-effecting functions that do not check it; `mcp` is
24
- * handed no argv at all — `startMcpServer` takes only its paths — so a help
25
- * flag there starts the stdio server and blocks reading JSON-RPC from stdin.
9
+ * forward theirs to side-effecting functions that ignore it, so `argent
10
+ * uninstall --help` would run the real uninstall, destructive prompt included;
11
+ * `mcp` is handed no argv at all — `startMcpServer` takes only its paths — so a
12
+ * help flag there starts the stdio server and blocks reading JSON-RPC from
13
+ * stdin. Every other subcommand parses `--help` itself.
26
14
  */
27
15
  export declare const INSTALLER_COMMANDS: readonly ["init", "install", "update", "uninstall", "remove", "mcp"];
28
16
  export type InstallerCommand = (typeof INSTALLER_COMMANDS)[number];
29
17
  export declare function isInstallerCommand(command: string | undefined): command is InstallerCommand;
30
18
  /**
31
- * Flags that consume the next argv token, mirroring the real parsers
32
- * (`extractFlag` in init-args.ts, the lookahead loops in update.ts). A
19
+ * Flags that consume the next argv token, mirroring the real parsers: a
33
20
  * bareword `help` immediately after one of these is that flag's value, not a
34
21
  * help request. `--project-root` (update) is agent-internal — parsed but
35
22
  * deliberately absent from the help text. Kept in sync with the parsers by
@@ -37,17 +24,15 @@ export declare function isInstallerCommand(command: string | undefined): command
37
24
  */
38
25
  export declare const VALUE_TAKING_FLAGS: Record<InstallerCommand, readonly string[]>;
39
26
  /**
40
- * True when `command` is an installer subcommand and `rest` requests help. Pure
41
- * — the dispatcher uses it to short-circuit before running any side-effecting
42
- * installer code.
27
+ * True when `command` is an installer subcommand and `rest` requests help.
28
+ * Pure, so the dispatcher can short-circuit before loading installer code.
43
29
  *
44
- * Help is recognised from a help flag anywhere in `rest` (see `isHelpFlag`) or
45
- * the bareword `help` (case-insensitive) in any position — EXCEPT directly
46
- * after a value-taking flag, where it is that flag's value: `argent init
47
- * --from help` names a package literally called `help` and must reach the
48
- * installer. The bareword matters on the destructive path: `argent uninstall
49
- * --yes help` would otherwise run a prompt-free uninstall (`--yes` skips the
50
- * confirmation).
30
+ * Matches a help flag anywhere in `rest` (see `isHelpFlag`), or the bareword
31
+ * `help` (case-insensitive) in any position EXCEPT directly after a
32
+ * value-taking flag, where it is that flag's value: `argent init --from help`
33
+ * names a package literally called `help`. The bareword matters on the
34
+ * destructive path — `argent uninstall --yes help` would otherwise run a
35
+ * prompt-free uninstall (`--yes` skips the confirmation).
51
36
  */
52
37
  export declare function installerHelpRequested(command: string | undefined, rest: string[]): boolean;
53
38
  interface InstallerOption {
@@ -59,41 +44,38 @@ interface InstallerCommandMeta {
59
44
  /**
60
45
  * One-line summary shared with the top-level `argent --help` table. No
61
46
  * trailing period — cli.ts renders it inline in a command list, and
62
- * `printInstallerHelp` appends its own.
47
+ * `printInstallerHelp` appends one.
63
48
  */
64
49
  summary: string;
65
50
  /**
66
51
  * Extra lines rendered indented under the summary in the top-level command
67
- * table (cli.ts). Per-command `--help` conveys the same information through
68
- * the option descriptions instead.
52
+ * table (cli.ts) only; per-command `--help` conveys the same through its
53
+ * option descriptions.
69
54
  */
70
55
  details?: string[];
71
56
  /**
72
- * Prose rendered under the summary in this command's own `--help` only —
73
- * the mirror of `details`, which appears only in the top-level table. Used
74
- * where the option list cannot carry what the reader needs to know.
57
+ * Prose rendered under the summary in this command's own `--help` only — the
58
+ * mirror of `details`. For what the option list cannot carry.
75
59
  */
76
60
  notes?: string[];
77
61
  /** Usage line, e.g. `argent init [options]`. */
78
62
  usage: string;
79
- /** Real flags this command parses. Empty for aliases (see `aliasOf`). */
63
+ /** Flags listed in this command's help. Empty for aliases (see `aliasOf`). */
80
64
  options: InstallerOption[];
81
65
  /** When set, this command is an alias; its help defers to the target's. */
82
66
  aliasOf?: InstallerCommand;
83
67
  }
84
68
  /**
85
- * How each installer subcommand is described in help — its summary and detail
86
- * lines (the sole copy, also rendered by the top-level table in cli.ts), usage,
87
- * and options. The option lists mirror the flags each installer actually parses
88
- * (init-args.ts, update.ts, uninstall.ts, install-targets.ts in
89
- * packages/argent-installer); test/installer-flags-sync.test.ts fails when they
90
- * drift from the parsers.
69
+ * Help copy per subcommand. The summary and detail lines are the sole copy, also
70
+ * rendered by the top-level table in cli.ts. The option lists mirror the flags
71
+ * the installers parse (init-args.ts, update.ts, uninstall.ts,
72
+ * install-targets.ts in packages/argent-installer);
73
+ * test/installer-flags-sync.test.ts fails when they drift.
91
74
  */
92
75
  export declare const INSTALLER_COMMAND_META: Record<InstallerCommand, InstallerCommandMeta>;
93
76
  /**
94
- * Print the usage block for an installer subcommand — usage line, summary, the
95
- * command's options (or a pointer to the aliased command), and a footer.
96
- * Read-only: no network, no wizard, no prompt.
77
+ * Print a subcommand's usage block. Read-only: no network, no wizard, no
78
+ * prompt.
97
79
  */
98
80
  export declare function printInstallerHelp(command: InstallerCommand): void;
99
81
  export {};
@@ -1,28 +1,16 @@
1
1
  /**
2
- * Help handling for the installer subcommands (init / install / update /
3
- * uninstall / remove).
4
- *
5
- * These commands forward their argv straight to the side-effecting installer
6
- * functions, which do not themselves short-circuit on `--help`. Without an
7
- * explicit guard `argent uninstall --help` runs the real uninstall — it even
8
- * opens the destructive "Remove argent configuration from this workspace?"
9
- * prompt. The dispatcher checks `installerHelpRequested` before dispatching so
10
- * a help request prints usage and returns without loading or invoking any
11
- * installer code.
12
- *
13
- * The other subcommands (run / tools / server / link / flags / …) handle
14
- * `--help` themselves, so they are deliberately excluded here — intercepting
15
- * them would swallow their own command-specific help.
16
- *
17
- * This module is also the single source of truth for each installer command's
18
- * help text: the top-level `argent --help` table in cli.ts reads the summary
19
- * and detail lines from `INSTALLER_COMMAND_META` so the two can't drift.
2
+ * Help for the subcommands that cannot serve `--help` themselves (see
3
+ * `INSTALLER_COMMANDS`), and the single source of truth for their help text:
4
+ * the top-level `argent --help` table in cli.ts renders the summary and detail
5
+ * lines from `INSTALLER_COMMAND_META`, so the two can't drift.
20
6
  */
21
7
  /**
22
8
  * Subcommands whose argv never reaches a `--help` handler. The installers
23
- * forward theirs to side-effecting functions that do not check it; `mcp` is
24
- * handed no argv at all — `startMcpServer` takes only its paths — so a help
25
- * flag there starts the stdio server and blocks reading JSON-RPC from stdin.
9
+ * forward theirs to side-effecting functions that ignore it, so `argent
10
+ * uninstall --help` would run the real uninstall, destructive prompt included;
11
+ * `mcp` is handed no argv at all — `startMcpServer` takes only its paths — so a
12
+ * help flag there starts the stdio server and blocks reading JSON-RPC from
13
+ * stdin. Every other subcommand parses `--help` itself.
26
14
  */
27
15
  export const INSTALLER_COMMANDS = [
28
16
  "init",
@@ -36,22 +24,18 @@ export function isInstallerCommand(command) {
36
24
  return INSTALLER_COMMANDS.includes(command);
37
25
  }
38
26
  /**
39
- * True when `arg` is a help flag. Accepted spellings, all case-insensitive:
40
- * `--help`, `-h`, `--help=<anything>`, single-dash `-help`, and an em/en-dash
41
- * `—help` (smart-dash editors rewrite a pasted `--` into one). Anything else —
42
- * e.g. `/help` or `--helpme` — is NOT treated as help and falls through to the
43
- * real command, where uninstall's interactive confirmation still guards the
44
- * destructive path (unless `--yes` was also passed).
27
+ * True when `arg` is a help flag: `--help`, `-h`, `--help=<anything>`,
28
+ * single-dash `-help`, or em/en-dash `—help` (smart-dash editors rewrite a
29
+ * pasted `--` into one), all case-insensitive. Anything else — `/help`,
30
+ * `--helpme` — falls through to the real command, where uninstall's
31
+ * confirmation still guards the destructive path unless `--yes` was passed.
45
32
  */
46
33
  function isHelpFlag(arg) {
47
- // Smart-dash normalization: a leading em/en dash stands for the `--` it was
48
- // rewritten from.
49
34
  const lower = arg.toLowerCase().replace(/^[—–]/, "--");
50
35
  return lower === "--help" || lower === "-h" || lower === "-help" || lower.startsWith("--help=");
51
36
  }
52
37
  /**
53
- * Flags that consume the next argv token, mirroring the real parsers
54
- * (`extractFlag` in init-args.ts, the lookahead loops in update.ts). A
38
+ * Flags that consume the next argv token, mirroring the real parsers: a
55
39
  * bareword `help` immediately after one of these is that flag's value, not a
56
40
  * help request. `--project-root` (update) is agent-internal — parsed but
57
41
  * deliberately absent from the help text. Kept in sync with the parsers by
@@ -63,22 +47,19 @@ export const VALUE_TAKING_FLAGS = {
63
47
  update: ["--version", "--project-root"],
64
48
  uninstall: [],
65
49
  remove: [],
66
- // `mcp` parses nothing, so no argument can be a flag's value and a bareword
67
- // `help` anywhere is unambiguously a help request.
50
+ // `mcp` parses nothing, so a bareword `help` in any position is a help request.
68
51
  mcp: [],
69
52
  };
70
53
  /**
71
- * True when `command` is an installer subcommand and `rest` requests help. Pure
72
- * — the dispatcher uses it to short-circuit before running any side-effecting
73
- * installer code.
54
+ * True when `command` is an installer subcommand and `rest` requests help.
55
+ * Pure, so the dispatcher can short-circuit before loading installer code.
74
56
  *
75
- * Help is recognised from a help flag anywhere in `rest` (see `isHelpFlag`) or
76
- * the bareword `help` (case-insensitive) in any position — EXCEPT directly
77
- * after a value-taking flag, where it is that flag's value: `argent init
78
- * --from help` names a package literally called `help` and must reach the
79
- * installer. The bareword matters on the destructive path: `argent uninstall
80
- * --yes help` would otherwise run a prompt-free uninstall (`--yes` skips the
81
- * confirmation).
57
+ * Matches a help flag anywhere in `rest` (see `isHelpFlag`), or the bareword
58
+ * `help` (case-insensitive) in any position EXCEPT directly after a
59
+ * value-taking flag, where it is that flag's value: `argent init --from help`
60
+ * names a package literally called `help`. The bareword matters on the
61
+ * destructive path — `argent uninstall --yes help` would otherwise run a
62
+ * prompt-free uninstall (`--yes` skips the confirmation).
82
63
  */
83
64
  export function installerHelpRequested(command, rest) {
84
65
  if (!isInstallerCommand(command))
@@ -97,12 +78,11 @@ const NO_TELEMETRY_OPTION = {
97
78
  description: "Opt out of anonymous telemetry for this run.",
98
79
  };
99
80
  /**
100
- * How each installer subcommand is described in help — its summary and detail
101
- * lines (the sole copy, also rendered by the top-level table in cli.ts), usage,
102
- * and options. The option lists mirror the flags each installer actually parses
103
- * (init-args.ts, update.ts, uninstall.ts, install-targets.ts in
104
- * packages/argent-installer); test/installer-flags-sync.test.ts fails when they
105
- * drift from the parsers.
81
+ * Help copy per subcommand. The summary and detail lines are the sole copy, also
82
+ * rendered by the top-level table in cli.ts. The option lists mirror the flags
83
+ * the installers parse (init-args.ts, update.ts, uninstall.ts,
84
+ * install-targets.ts in packages/argent-installer);
85
+ * test/installer-flags-sync.test.ts fails when they drift.
106
86
  */
107
87
  export const INSTALLER_COMMAND_META = {
108
88
  init: {
@@ -182,8 +162,6 @@ export const INSTALLER_COMMAND_META = {
182
162
  aliasOf: "uninstall",
183
163
  },
184
164
  mcp: {
185
- // Byte-identical to the row the top-level table printed by hand, so moving
186
- // that row onto this meta changes no output.
187
165
  summary: "Start the MCP stdio server (used by editors)",
188
166
  usage: "argent mcp",
189
167
  notes: [
@@ -205,9 +183,8 @@ export const INSTALLER_COMMAND_META = {
205
183
  },
206
184
  };
207
185
  /**
208
- * Print the usage block for an installer subcommand — usage line, summary, the
209
- * command's options (or a pointer to the aliased command), and a footer.
210
- * Read-only: no network, no wizard, no prompt.
186
+ * Print a subcommand's usage block. Read-only: no network, no wizard, no
187
+ * prompt.
211
188
  */
212
189
  export function printInstallerHelp(command) {
213
190
  const meta = INSTALLER_COMMAND_META[command];
@@ -1 +1 @@
1
- {"version":3,"file":"installer-help.js","sourceRoot":"","sources":["../src/installer-help.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installer-help.js","sourceRoot":"","sources":["../src/installer-help.ts"],"names":[],"mappings":"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"}