@detergent-software/atk 8.9.0-dev.9 → 8.9.1-dev.1
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.
- package/CHANGELOG.md +262 -0
- package/README.md +22 -12
- package/build/cli.js +18 -6
- package/build/cli.js.map +1 -1
- package/build/command-manifest.json +1507 -0
- package/build/commands/_app.d.ts.map +1 -1
- package/build/commands/_app.js +8 -4
- package/build/commands/_app.js.map +1 -1
- package/build/commands/audit.d.ts.map +1 -1
- package/build/commands/audit.js +1 -1
- package/build/commands/audit.js.map +1 -1
- package/build/commands/browse.js +2 -2
- package/build/commands/browse.js.map +1 -1
- package/build/commands/cache.d.ts +1 -1
- package/build/commands/cache.d.ts.map +1 -1
- package/build/commands/cache.js +1 -16
- package/build/commands/cache.js.map +1 -1
- package/build/commands/config.d.ts.map +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/config.js.map +1 -1
- package/build/commands/diff.d.ts.map +1 -1
- package/build/commands/diff.js +4 -0
- package/build/commands/diff.js.map +1 -1
- package/build/commands/drift.d.ts.map +1 -1
- package/build/commands/drift.js +4 -0
- package/build/commands/drift.js.map +1 -1
- package/build/commands/index.d.ts.map +1 -1
- package/build/commands/index.js +5 -40
- package/build/commands/index.js.map +1 -1
- package/build/commands/info.d.ts.map +1 -1
- package/build/commands/info.js +50 -33
- package/build/commands/info.js.map +1 -1
- package/build/commands/init.d.ts.map +1 -1
- package/build/commands/init.js +4 -2
- package/build/commands/init.js.map +1 -1
- package/build/commands/install.d.ts.map +1 -1
- package/build/commands/install.js +28 -7
- package/build/commands/install.js.map +1 -1
- package/build/commands/list.js +2 -2
- package/build/commands/list.js.map +1 -1
- package/build/commands/login.d.ts.map +1 -1
- package/build/commands/login.js +12 -2
- package/build/commands/login.js.map +1 -1
- package/build/commands/logout.d.ts.map +1 -1
- package/build/commands/logout.js +9 -1
- package/build/commands/logout.js.map +1 -1
- package/build/commands/outdated.js +1 -1
- package/build/commands/outdated.js.map +1 -1
- package/build/commands/prune.d.ts.map +1 -1
- package/build/commands/prune.js +4 -2
- package/build/commands/prune.js.map +1 -1
- package/build/commands/publish.d.ts +1 -1
- package/build/commands/publish.d.ts.map +1 -1
- package/build/commands/publish.js +14 -14
- package/build/commands/publish.js.map +1 -1
- package/build/commands/release-notes.d.ts.map +1 -1
- package/build/commands/release-notes.js +4 -0
- package/build/commands/release-notes.js.map +1 -1
- package/build/commands/schema.d.ts +3 -3
- package/build/commands/search.js +1 -1
- package/build/commands/search.js.map +1 -1
- package/build/commands/sync.d.ts +1 -1
- package/build/commands/sync.d.ts.map +1 -1
- package/build/commands/sync.js +27 -12
- package/build/commands/sync.js.map +1 -1
- package/build/commands/update.d.ts.map +1 -1
- package/build/commands/update.js +58 -9
- package/build/commands/update.js.map +1 -1
- package/build/commands/whoami.d.ts.map +1 -1
- package/build/commands/whoami.js +16 -4
- package/build/commands/whoami.js.map +1 -1
- package/build/commands/why.js +3 -4
- package/build/commands/why.js.map +1 -1
- package/build/components/Header.d.ts +2 -3
- package/build/components/Header.d.ts.map +1 -1
- package/build/components/Header.js +2 -9
- package/build/components/Header.js.map +1 -1
- package/build/components/LocalEditsHint.d.ts +16 -0
- package/build/components/LocalEditsHint.d.ts.map +1 -0
- package/build/components/LocalEditsHint.js +18 -0
- package/build/components/LocalEditsHint.js.map +1 -0
- package/build/components/SyncAllInSync.d.ts +5 -1
- package/build/components/SyncAllInSync.d.ts.map +1 -1
- package/build/components/SyncAllInSync.js +2 -2
- package/build/components/SyncAllInSync.js.map +1 -1
- package/build/components/header-art.d.ts +7 -0
- package/build/components/header-art.d.ts.map +1 -0
- package/build/components/header-art.js +14 -0
- package/build/components/header-art.js.map +1 -0
- package/build/components/index.d.ts +1 -0
- package/build/components/index.d.ts.map +1 -1
- package/build/components/index.js +1 -0
- package/build/components/index.js.map +1 -1
- package/build/hooks/useListActions.d.ts.map +1 -1
- package/build/hooks/useListActions.js +4 -0
- package/build/hooks/useListActions.js.map +1 -1
- package/build/hooks/usePruneState.d.ts +1 -7
- package/build/hooks/usePruneState.d.ts.map +1 -1
- package/build/hooks/usePruneState.js +18 -62
- package/build/hooks/usePruneState.js.map +1 -1
- package/build/lib/adapter.d.ts +10 -1
- package/build/lib/adapter.d.ts.map +1 -1
- package/build/lib/adapter.js +23 -0
- package/build/lib/adapter.js.map +1 -1
- package/build/lib/api-client.d.ts +9 -5
- package/build/lib/api-client.d.ts.map +1 -1
- package/build/lib/api-client.js +35 -8
- package/build/lib/api-client.js.map +1 -1
- package/build/lib/auth.d.ts +12 -2
- package/build/lib/auth.d.ts.map +1 -1
- package/build/lib/auth.js +38 -3
- package/build/lib/auth.js.map +1 -1
- package/build/lib/checksum.d.ts +10 -0
- package/build/lib/checksum.d.ts.map +1 -1
- package/build/lib/checksum.js +17 -0
- package/build/lib/checksum.js.map +1 -1
- package/build/lib/config.d.ts +4 -4
- package/build/lib/config.d.ts.map +1 -1
- package/build/lib/config.js +31 -8
- package/build/lib/config.js.map +1 -1
- package/build/lib/diagnostics.d.ts.map +1 -1
- package/build/lib/diagnostics.js +10 -7
- package/build/lib/diagnostics.js.map +1 -1
- package/build/lib/diff-command.js +1 -1
- package/build/lib/diff-command.js.map +1 -1
- package/build/lib/errors.d.ts +4 -1
- package/build/lib/errors.d.ts.map +1 -1
- package/build/lib/errors.js.map +1 -1
- package/build/lib/format-age.d.ts +3 -0
- package/build/lib/format-age.d.ts.map +1 -0
- package/build/lib/format-age.js +18 -0
- package/build/lib/format-age.js.map +1 -0
- package/build/lib/installer.d.ts +6 -4
- package/build/lib/installer.d.ts.map +1 -1
- package/build/lib/installer.js +53 -23
- package/build/lib/installer.js.map +1 -1
- package/build/lib/local-edits.d.ts +72 -0
- package/build/lib/local-edits.d.ts.map +1 -0
- package/build/lib/local-edits.js +145 -0
- package/build/lib/local-edits.js.map +1 -0
- package/build/lib/lockfile.d.ts +2 -2
- package/build/lib/lockfile.d.ts.map +1 -1
- package/build/lib/lockfile.js +28 -19
- package/build/lib/lockfile.js.map +1 -1
- package/build/lib/mover.d.ts.map +1 -1
- package/build/lib/mover.js +11 -12
- package/build/lib/mover.js.map +1 -1
- package/build/lib/multi-tool-install.d.ts +4 -2
- package/build/lib/multi-tool-install.d.ts.map +1 -1
- package/build/lib/multi-tool-install.js +12 -2
- package/build/lib/multi-tool-install.js.map +1 -1
- package/build/lib/offline.d.ts +19 -0
- package/build/lib/offline.d.ts.map +1 -0
- package/build/lib/offline.js +26 -0
- package/build/lib/offline.js.map +1 -0
- package/build/lib/owned-paths.d.ts +3 -2
- package/build/lib/owned-paths.d.ts.map +1 -1
- package/build/lib/owned-paths.js +4 -2
- package/build/lib/owned-paths.js.map +1 -1
- package/build/lib/parse-json.d.ts +12 -0
- package/build/lib/parse-json.d.ts.map +1 -1
- package/build/lib/parse-json.js +15 -2
- package/build/lib/parse-json.js.map +1 -1
- package/build/lib/pastel/commander-specs.d.ts +7 -0
- package/build/lib/pastel/commander-specs.d.ts.map +1 -0
- package/build/lib/pastel/commander-specs.js +50 -0
- package/build/lib/pastel/commander-specs.js.map +1 -0
- package/build/lib/pastel/generate-arguments.d.ts +3 -3
- package/build/lib/pastel/generate-arguments.d.ts.map +1 -1
- package/build/lib/pastel/generate-arguments.js +25 -22
- package/build/lib/pastel/generate-arguments.js.map +1 -1
- package/build/lib/pastel/generate-command.d.ts +7 -5
- package/build/lib/pastel/generate-command.d.ts.map +1 -1
- package/build/lib/pastel/generate-command.js +32 -67
- package/build/lib/pastel/generate-command.js.map +1 -1
- package/build/lib/pastel/generate-commands.d.ts +3 -5
- package/build/lib/pastel/generate-commands.d.ts.map +1 -1
- package/build/lib/pastel/generate-commands.js +6 -10
- package/build/lib/pastel/generate-commands.js.map +1 -1
- package/build/lib/pastel/generate-options.d.ts +3 -3
- package/build/lib/pastel/generate-options.d.ts.map +1 -1
- package/build/lib/pastel/generate-options.js +16 -13
- package/build/lib/pastel/generate-options.js.map +1 -1
- package/build/lib/pastel/index.d.ts +26 -4
- package/build/lib/pastel/index.d.ts.map +1 -1
- package/build/lib/pastel/index.js +104 -18
- package/build/lib/pastel/index.js.map +1 -1
- package/build/lib/pastel/internal-types.d.ts +39 -8
- package/build/lib/pastel/internal-types.d.ts.map +1 -1
- package/build/lib/pastel/manifest.d.ts +8 -0
- package/build/lib/pastel/manifest.d.ts.map +1 -0
- package/build/lib/pastel/manifest.js +7 -0
- package/build/lib/pastel/manifest.js.map +1 -0
- package/build/lib/pastel/read-commands.d.ts +7 -2
- package/build/lib/pastel/read-commands.d.ts.map +1 -1
- package/build/lib/pastel/read-commands.js +51 -30
- package/build/lib/pastel/read-commands.js.map +1 -1
- package/build/lib/pastel/render-command.d.ts +13 -0
- package/build/lib/pastel/render-command.d.ts.map +1 -0
- package/build/lib/pastel/render-command.js +56 -0
- package/build/lib/pastel/render-command.js.map +1 -0
- package/build/lib/process-alive.d.ts +11 -0
- package/build/lib/process-alive.d.ts.map +1 -0
- package/build/lib/process-alive.js +22 -0
- package/build/lib/process-alive.js.map +1 -0
- package/build/lib/pruner.d.ts +26 -0
- package/build/lib/pruner.d.ts.map +1 -0
- package/build/lib/pruner.js +42 -0
- package/build/lib/pruner.js.map +1 -0
- package/build/lib/publish-flow.d.ts +3 -6
- package/build/lib/publish-flow.d.ts.map +1 -1
- package/build/lib/publish-flow.js +199 -246
- package/build/lib/publish-flow.js.map +1 -1
- package/build/lib/publish-run.d.ts +2 -2
- package/build/lib/publish-run.js +11 -6
- package/build/lib/publish-run.js.map +1 -1
- package/build/lib/publisher.d.ts +23 -16
- package/build/lib/publisher.d.ts.map +1 -1
- package/build/lib/publisher.js +34 -35
- package/build/lib/publisher.js.map +1 -1
- package/build/lib/registrar.d.ts.map +1 -1
- package/build/lib/registrar.js +2 -2
- package/build/lib/registrar.js.map +1 -1
- package/build/lib/registry.d.ts +18 -7
- package/build/lib/registry.d.ts.map +1 -1
- package/build/lib/registry.js +113 -32
- package/build/lib/registry.js.map +1 -1
- package/build/lib/schemas/config.d.ts +3 -1
- package/build/lib/schemas/config.d.ts.map +1 -1
- package/build/lib/schemas/config.js +1 -1
- package/build/lib/schemas/config.js.map +1 -1
- package/build/lib/setup.d.ts.map +1 -1
- package/build/lib/setup.js +53 -48
- package/build/lib/setup.js.map +1 -1
- package/build/lib/sync.d.ts +22 -6
- package/build/lib/sync.d.ts.map +1 -1
- package/build/lib/sync.js +31 -7
- package/build/lib/sync.js.map +1 -1
- package/build/lib/uninstaller.d.ts.map +1 -1
- package/build/lib/uninstaller.js +6 -3
- package/build/lib/uninstaller.js.map +1 -1
- package/build/lib/update-check.d.ts +4 -0
- package/build/lib/update-check.d.ts.map +1 -1
- package/build/lib/update-check.js +55 -56
- package/build/lib/update-check.js.map +1 -1
- package/build/lib/updater.d.ts +31 -1
- package/build/lib/updater.d.ts.map +1 -1
- package/build/lib/updater.js +143 -4
- package/build/lib/updater.js.map +1 -1
- package/build/lib/usage-error.d.ts +20 -0
- package/build/lib/usage-error.d.ts.map +1 -0
- package/build/lib/usage-error.js +41 -0
- package/build/lib/usage-error.js.map +1 -0
- package/build/lib/user-setup.d.ts.map +1 -1
- package/build/lib/user-setup.js +62 -59
- package/build/lib/user-setup.js.map +1 -1
- package/build/lib/write-file.d.ts.map +1 -1
- package/build/lib/write-file.js +63 -11
- package/build/lib/write-file.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"owned-paths.js","sourceRoot":"","sources":["../../src/lib/owned-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAK5C,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"owned-paths.js","sourceRoot":"","sources":["../../src/lib/owned-paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,18 @@ export type SafeParseJsonResult<T> = {
|
|
|
9
9
|
error: string;
|
|
10
10
|
success: false;
|
|
11
11
|
};
|
|
12
|
+
/**
|
|
13
|
+
* Format Zod issues as one line that names each failing field,
|
|
14
|
+
* e.g. `description: Invalid input: expected string, received undefined`.
|
|
15
|
+
* An issue at the root carries no path prefix.
|
|
16
|
+
*
|
|
17
|
+
* @param issues - The issues of a failed `safeParse`
|
|
18
|
+
* @returns The issues as `path: message`, joined with `; `
|
|
19
|
+
*/
|
|
20
|
+
export declare function formatZodIssues(issues: readonly {
|
|
21
|
+
message: string;
|
|
22
|
+
path: readonly PropertyKey[];
|
|
23
|
+
}[]): string;
|
|
12
24
|
/**
|
|
13
25
|
* Parse a raw JSON string and validate against a Zod schema.
|
|
14
26
|
* Throws with a formatted error message on failure.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-json.d.ts","sourceRoot":"","sources":["../../src/lib/parse-json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,KAAK,CAAA;CAAE,CAAC;AAEpG;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAczF;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAiB3G"}
|
|
1
|
+
{"version":3,"file":"parse-json.d.ts","sourceRoot":"","sources":["../../src/lib/parse-json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,KAAK,CAAA;CAAE,CAAC;AAEpG;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,WAAW,EAAE,CAAA;CAAE,EAAE,GAAG,MAAM,CAI5G;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAczF;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAiB3G"}
|
package/build/lib/parse-json.js
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format Zod issues as one line that names each failing field,
|
|
3
|
+
* e.g. `description: Invalid input: expected string, received undefined`.
|
|
4
|
+
* An issue at the root carries no path prefix.
|
|
5
|
+
*
|
|
6
|
+
* @param issues - The issues of a failed `safeParse`
|
|
7
|
+
* @returns The issues as `path: message`, joined with `; `
|
|
8
|
+
*/
|
|
9
|
+
export function formatZodIssues(issues) {
|
|
10
|
+
return issues
|
|
11
|
+
.map((issue) => (issue.path.length > 0 ? `${issue.path.map(String).join('.')}: ${issue.message}` : issue.message))
|
|
12
|
+
.join('; ');
|
|
13
|
+
}
|
|
1
14
|
/**
|
|
2
15
|
* Parse a raw JSON string and validate against a Zod schema.
|
|
3
16
|
* Throws with a formatted error message on failure.
|
|
@@ -18,7 +31,7 @@ export function parseAndValidate(raw, schema, context) {
|
|
|
18
31
|
}
|
|
19
32
|
const result = schema.safeParse(parsed);
|
|
20
33
|
if (!result.success) {
|
|
21
|
-
throw new Error(`${context}: ${result.error.issues
|
|
34
|
+
throw new Error(`${context}: ${formatZodIssues(result.error.issues)}`);
|
|
22
35
|
}
|
|
23
36
|
return result.data;
|
|
24
37
|
}
|
|
@@ -43,7 +56,7 @@ export function safeParseJson(raw, schema, context) {
|
|
|
43
56
|
const result = schema.safeParse(parsed);
|
|
44
57
|
if (!result.success) {
|
|
45
58
|
return {
|
|
46
|
-
error: `${context}: ${result.error.issues
|
|
59
|
+
error: `${context}: ${formatZodIssues(result.error.issues)}`,
|
|
47
60
|
success: false,
|
|
48
61
|
};
|
|
49
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-json.js","sourceRoot":"","sources":["../../src/lib/parse-json.ts"],"names":[],"mappings":"AAOA;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAI,GAAW,EAAE,MAAoB,EAAE,OAAe;IACpF,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,gBAAgB,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"parse-json.js","sourceRoot":"","sources":["../../src/lib/parse-json.ts"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,MAAoE;IAClG,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SACjH,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAI,GAAW,EAAE,MAAoB,EAAE,OAAe;IACpF,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,gBAAgB,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,KAAK,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAI,GAAW,EAAE,MAAoB,EAAE,OAAe;IACjF,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,gBAAgB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC/D,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO;YACL,KAAK,EAAE,GAAG,OAAO,KAAK,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAC5D,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Argument, Option } from 'commander';
|
|
2
|
+
import type { ArgumentSpec, OptionSpec } from './internal-types.js';
|
|
3
|
+
/** commander's arguments from their specs, with no Zod (ATK-605). */
|
|
4
|
+
export declare function toArguments(specs: readonly ArgumentSpec[]): Argument[];
|
|
5
|
+
/** commander's options from their specs, with no Zod (ATK-605). */
|
|
6
|
+
export declare function toOptions(specs: readonly OptionSpec[]): Option[];
|
|
7
|
+
//# sourceMappingURL=commander-specs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commander-specs.d.ts","sourceRoot":"","sources":["../../../src/lib/pastel/commander-specs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEpE,qEAAqE;AACrE,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,QAAQ,EAAE,CA2BtE;AAED,mEAAmE;AACnE,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,EAAE,CA8BhE"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Argument, Option } from 'commander';
|
|
2
|
+
/** commander's arguments from their specs, with no Zod (ATK-605). */
|
|
3
|
+
export function toArguments(specs) {
|
|
4
|
+
return specs.map((spec) => {
|
|
5
|
+
const argument = new Argument(spec.name, spec.description);
|
|
6
|
+
if (spec.parse === 'number') {
|
|
7
|
+
argument.argParser((value) => Number.parseFloat(value));
|
|
8
|
+
}
|
|
9
|
+
if (spec.parse === 'number-list') {
|
|
10
|
+
// The default itself (not a list equal to it) is what commander passes before the first value.
|
|
11
|
+
argument.argParser((value, previousValue) => {
|
|
12
|
+
const joinPreviousValue = previousValue !== spec.defaultValue;
|
|
13
|
+
return joinPreviousValue ? [...(previousValue ?? []), Number.parseFloat(value)] : [Number.parseFloat(value)];
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
if (spec.choices) {
|
|
17
|
+
argument.choices(spec.choices);
|
|
18
|
+
}
|
|
19
|
+
if (spec.defaultValue !== undefined) {
|
|
20
|
+
argument.default(spec.defaultValue, spec.defaultValueDescription);
|
|
21
|
+
}
|
|
22
|
+
return argument;
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
/** commander's options from their specs, with no Zod (ATK-605). */
|
|
26
|
+
export function toOptions(specs) {
|
|
27
|
+
return specs.map((spec) => {
|
|
28
|
+
const option = new Option(spec.flags, spec.description);
|
|
29
|
+
// A set's default is carried as its members.
|
|
30
|
+
const defaultValue = spec.parse === 'set' && Array.isArray(spec.defaultValue) ? new Set(spec.defaultValue) : spec.defaultValue;
|
|
31
|
+
if (spec.parse === 'number') {
|
|
32
|
+
option.argParser((value) => Number.parseFloat(value));
|
|
33
|
+
}
|
|
34
|
+
if (spec.choices) {
|
|
35
|
+
option.choices(spec.choices);
|
|
36
|
+
}
|
|
37
|
+
if (spec.parse === 'set') {
|
|
38
|
+
// By identity, unlike upstream: values that add up to the default (`--tag a --tag b`) are still values.
|
|
39
|
+
option.argParser((value, previousValue) => {
|
|
40
|
+
const joinPreviousValue = previousValue instanceof Set && previousValue !== defaultValue;
|
|
41
|
+
return joinPreviousValue ? new Set([...previousValue, value]) : new Set([value]);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
if (defaultValue !== undefined) {
|
|
45
|
+
option.default(defaultValue, spec.defaultValueDescription);
|
|
46
|
+
}
|
|
47
|
+
return option;
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=commander-specs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commander-specs.js","sourceRoot":"","sources":["../../../src/lib/pastel/commander-specs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export default function
|
|
1
|
+
import { type ArgumentSpec, type CommandArguments } from './internal-types.js';
|
|
2
|
+
/** Describe a command's Zod `args` as commander argument specs (`toArguments` in `commander-specs.ts` builds them). */
|
|
3
|
+
export default function describeArguments(argumentsSchema: CommandArguments): ArgumentSpec[];
|
|
4
4
|
//# sourceMappingURL=generate-arguments.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-arguments.d.ts","sourceRoot":"","sources":["../../../src/lib/pastel/generate-arguments.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate-arguments.d.ts","sourceRoot":"","sources":["../../../src/lib/pastel/generate-arguments.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAqB/E,uHAAuH;AACvH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,eAAe,EAAE,gBAAgB,GAAG,YAAY,EAAE,CA0G3F"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { Argument } from 'commander';
|
|
2
1
|
import decamelize from 'decamelize';
|
|
3
|
-
import { isDeepStrictEqual } from 'node:util';
|
|
4
2
|
import { ZodArray, ZodDefault, ZodEnum, ZodNumber, ZodOptional, ZodTuple } from 'zod';
|
|
5
3
|
import {} from './internal-types.js';
|
|
6
4
|
import {} from './types.js';
|
|
@@ -18,7 +16,8 @@ const getDescription = (value) => {
|
|
|
18
16
|
const getDefaultValueDescription = (value) => {
|
|
19
17
|
return getConfig(value)?.defaultValueDescription;
|
|
20
18
|
};
|
|
21
|
-
|
|
19
|
+
/** Describe a command's Zod `args` as commander argument specs (`toArguments` in `commander-specs.ts` builds them). */
|
|
20
|
+
export default function describeArguments(argumentsSchema) {
|
|
22
21
|
let isOptionalByDefault = false;
|
|
23
22
|
let arrayDefaultValue;
|
|
24
23
|
let arrayName = getName(argumentsSchema.description);
|
|
@@ -65,47 +64,51 @@ export default function generateArguments(argumentsSchema) {
|
|
|
65
64
|
name = getName(argumentSchema.description) ?? name;
|
|
66
65
|
}
|
|
67
66
|
name = decamelize(name ?? 'arg', { separator: '-' });
|
|
68
|
-
const argument =
|
|
67
|
+
const argument = spec(isOptional ? `[${name}]` : `<${name}>`, description);
|
|
69
68
|
if (argumentSchema instanceof ZodNumber) {
|
|
70
|
-
argument.
|
|
69
|
+
argument.parse = 'number';
|
|
71
70
|
}
|
|
72
71
|
if (argumentSchema instanceof ZodEnum) {
|
|
73
|
-
argument.choices
|
|
74
|
-
}
|
|
75
|
-
if (defaultValue !== undefined) {
|
|
76
|
-
argument.default(defaultValue, defaultValueDescription);
|
|
72
|
+
argument.choices = Object.values(argumentSchema._zod.def.entries).map(String);
|
|
77
73
|
}
|
|
74
|
+
setDefault(argument, defaultValue, defaultValueDescription);
|
|
78
75
|
arguments_.push(argument);
|
|
79
76
|
}
|
|
80
77
|
const restSchema = argumentsSchema._zod.def.rest;
|
|
81
78
|
if (restSchema) {
|
|
82
79
|
const name = getName(restSchema.description) ?? 'arg';
|
|
83
|
-
const argument =
|
|
80
|
+
const argument = spec(`[${name}...]`, getDescription(restSchema.description));
|
|
81
|
+
// No default, so every value joins the list.
|
|
84
82
|
if (restSchema instanceof ZodNumber) {
|
|
85
|
-
argument.
|
|
86
|
-
return [...(previousValue ?? []), Number.parseFloat(value)];
|
|
87
|
-
});
|
|
83
|
+
argument.parse = 'number-list';
|
|
88
84
|
}
|
|
89
85
|
if (restSchema instanceof ZodEnum) {
|
|
90
|
-
argument.choices
|
|
86
|
+
argument.choices = Object.values(restSchema._zod.def.entries).map(String);
|
|
91
87
|
}
|
|
92
88
|
arguments_.push(argument);
|
|
93
89
|
}
|
|
94
90
|
}
|
|
95
91
|
if (argumentsSchema instanceof ZodArray) {
|
|
96
92
|
const name = arrayName ?? 'arg';
|
|
97
|
-
const argument =
|
|
98
|
-
|
|
99
|
-
argument.default(arrayDefaultValue, arrayDefaultValueDescription);
|
|
100
|
-
}
|
|
93
|
+
const argument = spec(isOptionalByDefault ? `[${name}...]` : `<${name}...>`, arrayDescription);
|
|
94
|
+
setDefault(argument, arrayDefaultValue, arrayDefaultValueDescription);
|
|
101
95
|
if (argumentsSchema.element instanceof ZodNumber) {
|
|
102
|
-
argument.
|
|
103
|
-
const joinPreviousValue = !isDeepStrictEqual(previousValue, arrayDefaultValue);
|
|
104
|
-
return joinPreviousValue ? [...(previousValue ?? []), Number.parseFloat(value)] : [Number.parseFloat(value)];
|
|
105
|
-
});
|
|
96
|
+
argument.parse = 'number-list';
|
|
106
97
|
}
|
|
107
98
|
arguments_.push(argument);
|
|
108
99
|
}
|
|
109
100
|
return arguments_;
|
|
110
101
|
}
|
|
102
|
+
function setDefault(argument, defaultValue, defaultValueDescription) {
|
|
103
|
+
if (defaultValue === undefined) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
argument.defaultValue = defaultValue;
|
|
107
|
+
if (defaultValueDescription) {
|
|
108
|
+
argument.defaultValueDescription = defaultValueDescription;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
function spec(name, description) {
|
|
112
|
+
return description ? { description, name } : { name };
|
|
113
|
+
}
|
|
111
114
|
//# sourceMappingURL=generate-arguments.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-arguments.js","sourceRoot":"","sources":["../../../src/lib/pastel/generate-arguments.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"generate-arguments.js","sourceRoot":"","sources":["../../../src/lib/pastel/generate-arguments.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { type Command as CommanderCommand } from 'commander';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
import type { CommandSpec } from './internal-types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Set up a commander command from its spec. Its module is imported only when the command runs, and Ink with it
|
|
5
|
+
* (`render-command.tsx`), so `--help` and `--version` load neither (ATK-605).
|
|
6
|
+
*/
|
|
7
|
+
declare const generateCommand: (commanderCommand: CommanderCommand, pastelCommand: CommandSpec, { commandsDirectory }: {
|
|
8
|
+
commandsDirectory: string;
|
|
7
9
|
}) => void;
|
|
8
10
|
export default generateCommand;
|
|
9
11
|
//# sourceMappingURL=generate-command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-command.d.ts","sourceRoot":"","sources":["../../../src/lib/pastel/generate-command.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate-command.d.ts","sourceRoot":"","sources":["../../../src/lib/pastel/generate-command.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,IAAI,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAI7D,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIvE;;;GAGG;AACH,QAAA,MAAM,eAAe,GACnB,kBAAkB,gBAAgB,EAClC,eAAe,WAAW,EAC1B,uBAAuB;IAAE,iBAAiB,EAAE,MAAM,CAAA;CAAE,SA0CrD,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
2
|
+
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
3
|
+
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
4
|
+
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
5
|
+
});
|
|
6
|
+
}
|
|
7
|
+
return path;
|
|
8
|
+
};
|
|
3
9
|
import {} from 'commander';
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const generateCommand = (commanderCommand, pastelCommand, { appComponent }) => {
|
|
10
|
+
import path from 'node:path';
|
|
11
|
+
import { pathToFileURL } from 'node:url';
|
|
12
|
+
import { toArguments, toOptions } from './commander-specs.js';
|
|
13
|
+
/**
|
|
14
|
+
* Set up a commander command from its spec. Its module is imported only when the command runs, and Ink with it
|
|
15
|
+
* (`render-command.tsx`), so `--help` and `--version` load neither (ATK-605).
|
|
16
|
+
*/
|
|
17
|
+
const generateCommand = (commanderCommand, pastelCommand, { commandsDirectory }) => {
|
|
13
18
|
commanderCommand.helpOption('-h, --help', 'Show help');
|
|
14
19
|
if (pastelCommand.description) {
|
|
15
20
|
commanderCommand.description(pastelCommand.description);
|
|
@@ -17,67 +22,27 @@ const generateCommand = (commanderCommand, pastelCommand, { appComponent }) => {
|
|
|
17
22
|
if (pastelCommand.alias) {
|
|
18
23
|
commanderCommand.alias(pastelCommand.alias);
|
|
19
24
|
}
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
const options = generateOptions(optionsSchema);
|
|
23
|
-
for (const option of options) {
|
|
24
|
-
commanderCommand.addOption(option);
|
|
25
|
-
}
|
|
25
|
+
for (const option of toOptions(pastelCommand.options ?? [])) {
|
|
26
|
+
commanderCommand.addOption(option);
|
|
26
27
|
}
|
|
27
|
-
let
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
for (const argument of arguments_) {
|
|
32
|
-
if (argument.variadic) {
|
|
33
|
-
hasVariadicArgument = true;
|
|
34
|
-
}
|
|
35
|
-
commanderCommand.addArgument(argument);
|
|
28
|
+
let variadic = false;
|
|
29
|
+
for (const argument of toArguments(pastelCommand.args ?? [])) {
|
|
30
|
+
if (argument.variadic) {
|
|
31
|
+
variadic = true;
|
|
36
32
|
}
|
|
33
|
+
commanderCommand.addArgument(argument);
|
|
37
34
|
}
|
|
38
|
-
const {
|
|
39
|
-
if (
|
|
40
|
-
commanderCommand.action((...input) => {
|
|
35
|
+
const { file } = pastelCommand;
|
|
36
|
+
if (file) {
|
|
37
|
+
commanderCommand.action(async (...input) => {
|
|
41
38
|
// Remove the last argument, which is an instance of Commander command
|
|
42
39
|
input.pop();
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
render(_jsx(StatusMessage, { variant: 'error', children: fromZodError(result.error, {
|
|
52
|
-
maxIssuesInMessage: 1,
|
|
53
|
-
prefix: '',
|
|
54
|
-
prefixSeparator: '',
|
|
55
|
-
}).message }));
|
|
56
|
-
process.exit(1);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
let arguments_ = [];
|
|
60
|
-
if (pastelCommand.args) {
|
|
61
|
-
const result = pastelCommand.args.safeParse(hasVariadicArgument ? input.flat() : input);
|
|
62
|
-
if (result.success) {
|
|
63
|
-
arguments_ = result.data ?? [];
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
render(_jsx(StatusMessage, { variant: 'error', children: fromZodError(result.error, {
|
|
67
|
-
maxIssuesInMessage: 1,
|
|
68
|
-
prefix: '',
|
|
69
|
-
prefixSeparator: '',
|
|
70
|
-
}).message }));
|
|
71
|
-
process.exit(1);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
render(React.createElement(appComponent, {
|
|
75
|
-
commandProps: {
|
|
76
|
-
args: arguments_,
|
|
77
|
-
options: parsedOptions,
|
|
78
|
-
},
|
|
79
|
-
Component: component,
|
|
80
|
-
}));
|
|
40
|
+
const moduleUrl = pathToFileURL(path.join(commandsDirectory, file)).href;
|
|
41
|
+
const [module, { default: renderCommand }] = await Promise.all([
|
|
42
|
+
import(__rewriteRelativeImportExtension(moduleUrl)),
|
|
43
|
+
import('./render-command.js'),
|
|
44
|
+
]);
|
|
45
|
+
await renderCommand(commanderCommand, module, { commandsDirectory, input, variadic });
|
|
81
46
|
});
|
|
82
47
|
}
|
|
83
48
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-command.js","sourceRoot":"","sources":["../../../src/lib/pastel/generate-command.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate-command.js","sourceRoot":"","sources":["../../../src/lib/pastel/generate-command.tsx"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,EAAoC,MAAM,WAAW,CAAC;AAC7D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAE9D;;;GAGG;AACH,MAAM,eAAe,GAAG,CACtB,gBAAkC,EAClC,aAA0B,EAC1B,EAAE,iBAAiB,EAAiC,EACpD,EAAE;IACF,gBAAgB,CAAC,UAAU,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAEvD,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;QAC9B,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;QACxB,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QAC5D,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7D,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;IAE/B,IAAI,IAAI,EAAE,CAAC;QACT,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,KAAgB,EAAE,EAAE;YACpD,sEAAsE;YACtE,KAAK,CAAC,GAAG,EAAE,CAAC;YAEZ,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACzE,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC7D,MAAM,kCAAC,SAAS,EAA4B;gBAC5C,MAAM,CAAC,qBAAqB,CAAC;aAC9B,CAAC,CAAC;YAEH,MAAM,aAAa,CAAC,gBAAgB,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { Command as CommanderCommand } from 'commander';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
declare const generateCommands: (parentCommanderCommand: CommanderCommand, pastelCommands: Map<string, Command>, { appComponent }: {
|
|
6
|
-
appComponent: ComponentType<AppProps>;
|
|
2
|
+
import type { CommandSpec } from './internal-types.js';
|
|
3
|
+
declare const generateCommands: (parentCommanderCommand: CommanderCommand, pastelCommands: readonly CommandSpec[], { commandsDirectory }: {
|
|
4
|
+
commandsDirectory: string;
|
|
7
5
|
}) => void;
|
|
8
6
|
export default generateCommands;
|
|
9
7
|
//# sourceMappingURL=generate-commands.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-commands.d.ts","sourceRoot":"","sources":["../../../src/lib/pastel/generate-commands.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"generate-commands.d.ts","sourceRoot":"","sources":["../../../src/lib/pastel/generate-commands.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIvD,QAAA,MAAM,gBAAgB,GACpB,wBAAwB,gBAAgB,EACxC,gBAAgB,SAAS,WAAW,EAAE,EACtC,uBAAuB;IAAE,iBAAiB,EAAE,MAAM,CAAA;CAAE,SAkBrD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
import { Command as CommanderCommand } from 'commander';
|
|
2
|
-
import {} from 'react';
|
|
3
2
|
import generateCommand from './generate-command.js';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
if (pastelCommands.size > 0) {
|
|
3
|
+
const generateCommands = (parentCommanderCommand, pastelCommands, { commandsDirectory }) => {
|
|
4
|
+
if (pastelCommands.length > 0) {
|
|
7
5
|
parentCommanderCommand.addHelpCommand('help [command]', 'Show help for command');
|
|
8
6
|
}
|
|
9
|
-
for (const
|
|
10
|
-
const commanderCommand = new CommanderCommand(name);
|
|
11
|
-
generateCommand(commanderCommand, pastelCommand, {
|
|
7
|
+
for (const pastelCommand of pastelCommands) {
|
|
8
|
+
const commanderCommand = new CommanderCommand(pastelCommand.name);
|
|
9
|
+
generateCommand(commanderCommand, pastelCommand, { commandsDirectory });
|
|
12
10
|
if (pastelCommand.commands) {
|
|
13
|
-
generateCommands(commanderCommand, pastelCommand.commands, {
|
|
14
|
-
appComponent,
|
|
15
|
-
});
|
|
11
|
+
generateCommands(commanderCommand, pastelCommand.commands, { commandsDirectory });
|
|
16
12
|
}
|
|
17
13
|
parentCommanderCommand.addCommand(commanderCommand, {
|
|
18
14
|
isDefault: pastelCommand.isDefault,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-commands.js","sourceRoot":"","sources":["../../../src/lib/pastel/generate-commands.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"generate-commands.js","sourceRoot":"","sources":["../../../src/lib/pastel/generate-commands.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAIxD,OAAO,eAAe,MAAM,uBAAuB,CAAC;AAEpD,MAAM,gBAAgB,GAAG,CACvB,sBAAwC,EACxC,cAAsC,EACtC,EAAE,iBAAiB,EAAiC,EACpD,EAAE;IACF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,sBAAsB,CAAC,cAAc,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;QAC3C,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAClE,eAAe,CAAC,gBAAgB,EAAE,aAAa,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAExE,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC3B,gBAAgB,CAAC,gBAAgB,EAAE,aAAa,CAAC,QAAQ,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,sBAAsB,CAAC,UAAU,CAAC,gBAAgB,EAAE;YAClD,SAAS,EAAE,aAAa,CAAC,SAAS;SACnC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export default function
|
|
1
|
+
import { type CommandOptions, type OptionSpec } from './internal-types.js';
|
|
2
|
+
/** Describe a command's Zod `options` as commander option specs (`toOptions` in `commander-specs.ts` builds them). */
|
|
3
|
+
export default function describeOptions(optionsSchema: CommandOptions): OptionSpec[];
|
|
4
4
|
//# sourceMappingURL=generate-options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-options.d.ts","sourceRoot":"","sources":["../../../src/lib/pastel/generate-options.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate-options.d.ts","sourceRoot":"","sources":["../../../src/lib/pastel/generate-options.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAyB3E,sHAAsH;AACtH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,aAAa,EAAE,cAAc,GAAG,UAAU,EAAE,CA0GnF"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { Option } from 'commander';
|
|
2
1
|
import decamelize from 'decamelize';
|
|
3
|
-
import { isDeepStrictEqual } from 'node:util';
|
|
4
2
|
import plur from 'plur';
|
|
5
3
|
import { ZodArray, ZodBoolean, ZodDefault, ZodEnum, ZodNumber, ZodOptional, ZodSet } from 'zod';
|
|
6
4
|
import {} from './internal-types.js';
|
|
@@ -22,7 +20,8 @@ const getValueDescription = (value) => {
|
|
|
22
20
|
const getAlias = (value) => {
|
|
23
21
|
return getConfig(value)?.alias;
|
|
24
22
|
};
|
|
25
|
-
|
|
23
|
+
/** Describe a command's Zod `options` as commander option specs (`toOptions` in `commander-specs.ts` builds them). */
|
|
24
|
+
export default function describeOptions(optionsSchema) {
|
|
26
25
|
let isOptionalByDefault = false;
|
|
27
26
|
if (optionsSchema instanceof ZodOptional) {
|
|
28
27
|
isOptionalByDefault = true;
|
|
@@ -71,27 +70,31 @@ export default function generateOptions(optionsSchema) {
|
|
|
71
70
|
const rest = isVariadic ? '...' : '';
|
|
72
71
|
flag += isOptional || defaultValue ? ` [${valueDescription}${rest}]` : ` <${valueDescription}${rest}>`;
|
|
73
72
|
}
|
|
74
|
-
const option =
|
|
73
|
+
const option = { flags: flag };
|
|
74
|
+
if (description) {
|
|
75
|
+
option.description = description;
|
|
76
|
+
}
|
|
75
77
|
if (optionSchema instanceof ZodNumber) {
|
|
76
|
-
option.
|
|
78
|
+
option.parse = 'number';
|
|
77
79
|
}
|
|
78
80
|
if (optionSchema instanceof ZodEnum) {
|
|
79
|
-
option.choices
|
|
81
|
+
option.choices = Object.values(optionSchema._zod.def.entries).map(String);
|
|
80
82
|
}
|
|
81
83
|
if (optionSchema instanceof ZodBoolean && defaultValue === undefined) {
|
|
82
84
|
defaultValue = false;
|
|
83
85
|
}
|
|
84
86
|
if (optionSchema instanceof ZodSet) {
|
|
85
|
-
option.
|
|
86
|
-
const joinPreviousValue = previousValue instanceof Set && !isDeepStrictEqual(previousValue, defaultValue);
|
|
87
|
-
return joinPreviousValue ? new Set([...previousValue, value]) : new Set([value]);
|
|
88
|
-
});
|
|
87
|
+
option.parse = 'set';
|
|
89
88
|
}
|
|
90
89
|
if (defaultValue !== undefined) {
|
|
91
|
-
if (
|
|
92
|
-
defaultValueDescription
|
|
90
|
+
if (defaultValue instanceof Set) {
|
|
91
|
+
defaultValueDescription ||= JSON.stringify([...defaultValue]);
|
|
92
|
+
defaultValue = [...defaultValue];
|
|
93
|
+
}
|
|
94
|
+
option.defaultValue = defaultValue;
|
|
95
|
+
if (defaultValueDescription) {
|
|
96
|
+
option.defaultValueDescription = defaultValueDescription;
|
|
93
97
|
}
|
|
94
|
-
option.default(defaultValue, defaultValueDescription);
|
|
95
98
|
}
|
|
96
99
|
options.push(option);
|
|
97
100
|
}
|