@component-compass/cli 0.1.23 → 0.1.25

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.
Files changed (223) hide show
  1. package/dist/cli.js +103882 -104
  2. package/package.json +21 -25
  3. package/dist/auth/browser.d.ts +0 -13
  4. package/dist/auth/browser.js +0 -21
  5. package/dist/auth/browser.js.map +0 -1
  6. package/dist/auth/client.d.ts +0 -48
  7. package/dist/auth/client.js +0 -89
  8. package/dist/auth/client.js.map +0 -1
  9. package/dist/auth/paths.d.ts +0 -2
  10. package/dist/auth/paths.js +0 -14
  11. package/dist/auth/paths.js.map +0 -1
  12. package/dist/auth/session.d.ts +0 -38
  13. package/dist/auth/session.js +0 -88
  14. package/dist/auth/session.js.map +0 -1
  15. package/dist/auth/store.d.ts +0 -16
  16. package/dist/auth/store.js +0 -37
  17. package/dist/auth/store.js.map +0 -1
  18. package/dist/auth/upload-auth.d.ts +0 -22
  19. package/dist/auth/upload-auth.js +0 -51
  20. package/dist/auth/upload-auth.js.map +0 -1
  21. package/dist/cli/help.d.ts +0 -4
  22. package/dist/cli/help.js +0 -52
  23. package/dist/cli/help.js.map +0 -1
  24. package/dist/cli/parse.d.ts +0 -14
  25. package/dist/cli/parse.js +0 -75
  26. package/dist/cli/parse.js.map +0 -1
  27. package/dist/cli/suggest.d.ts +0 -4
  28. package/dist/cli/suggest.js +0 -38
  29. package/dist/cli/suggest.js.map +0 -1
  30. package/dist/cli.d.ts +0 -2
  31. package/dist/cli.js.map +0 -1
  32. package/dist/commands/auth.d.ts +0 -33
  33. package/dist/commands/auth.js +0 -248
  34. package/dist/commands/auth.js.map +0 -1
  35. package/dist/commands/init.d.ts +0 -11
  36. package/dist/commands/init.js +0 -112
  37. package/dist/commands/init.js.map +0 -1
  38. package/dist/commands/scan.d.ts +0 -33
  39. package/dist/commands/scan.js +0 -691
  40. package/dist/commands/scan.js.map +0 -1
  41. package/dist/composition-rollup.d.ts +0 -23
  42. package/dist/composition-rollup.js +0 -64
  43. package/dist/composition-rollup.js.map +0 -1
  44. package/dist/config/loader.d.ts +0 -6
  45. package/dist/config/loader.js +0 -71
  46. package/dist/config/loader.js.map +0 -1
  47. package/dist/config/schema.d.ts +0 -18
  48. package/dist/config/schema.js +0 -15
  49. package/dist/config/schema.js.map +0 -1
  50. package/dist/dispatcher.d.ts +0 -8
  51. package/dist/dispatcher.js +0 -22
  52. package/dist/dispatcher.js.map +0 -1
  53. package/dist/envelope/git.d.ts +0 -13
  54. package/dist/envelope/git.js +0 -69
  55. package/dist/envelope/git.js.map +0 -1
  56. package/dist/envelope/index.d.ts +0 -1
  57. package/dist/envelope/index.js +0 -12
  58. package/dist/envelope/index.js.map +0 -1
  59. package/dist/envelope/repo-id.d.ts +0 -16
  60. package/dist/envelope/repo-id.js +0 -40
  61. package/dist/envelope/repo-id.js.map +0 -1
  62. package/dist/identity.d.ts +0 -56
  63. package/dist/identity.js +0 -115
  64. package/dist/identity.js.map +0 -1
  65. package/dist/index.d.ts +0 -3
  66. package/dist/index.js +0 -3
  67. package/dist/index.js.map +0 -1
  68. package/dist/local-index/declared-props.d.ts +0 -15
  69. package/dist/local-index/declared-props.js +0 -101
  70. package/dist/local-index/declared-props.js.map +0 -1
  71. package/dist/local-index/detect-react.d.ts +0 -3
  72. package/dist/local-index/detect-react.js +0 -378
  73. package/dist/local-index/detect-react.js.map +0 -1
  74. package/dist/local-index/detect-vue.d.ts +0 -16
  75. package/dist/local-index/detect-vue.js +0 -284
  76. package/dist/local-index/detect-vue.js.map +0 -1
  77. package/dist/local-index/detect-wc.d.ts +0 -8
  78. package/dist/local-index/detect-wc.js +0 -70
  79. package/dist/local-index/detect-wc.js.map +0 -1
  80. package/dist/local-index/index.d.ts +0 -14
  81. package/dist/local-index/index.js +0 -46
  82. package/dist/local-index/index.js.map +0 -1
  83. package/dist/local-index/types.d.ts +0 -2
  84. package/dist/local-index/types.js +0 -2
  85. package/dist/local-index/types.js.map +0 -1
  86. package/dist/manifest/barrel-parser.d.ts +0 -35
  87. package/dist/manifest/barrel-parser.js +0 -76
  88. package/dist/manifest/barrel-parser.js.map +0 -1
  89. package/dist/manifest/lazy-resolver.d.ts +0 -123
  90. package/dist/manifest/lazy-resolver.js +0 -712
  91. package/dist/manifest/lazy-resolver.js.map +0 -1
  92. package/dist/occurrences.d.ts +0 -15
  93. package/dist/occurrences.js +0 -101
  94. package/dist/occurrences.js.map +0 -1
  95. package/dist/parse-by-ext.d.ts +0 -21
  96. package/dist/parse-by-ext.js +0 -53
  97. package/dist/parse-by-ext.js.map +0 -1
  98. package/dist/prompts/adapter.d.ts +0 -43
  99. package/dist/prompts/adapter.js +0 -32
  100. package/dist/prompts/adapter.js.map +0 -1
  101. package/dist/reporter/diagnostic-lines.d.ts +0 -7
  102. package/dist/reporter/diagnostic-lines.js +0 -40
  103. package/dist/reporter/diagnostic-lines.js.map +0 -1
  104. package/dist/reporter/index.d.ts +0 -39
  105. package/dist/reporter/index.js +0 -144
  106. package/dist/reporter/index.js.map +0 -1
  107. package/dist/reporter/json.d.ts +0 -6
  108. package/dist/reporter/json.js +0 -11
  109. package/dist/reporter/json.js.map +0 -1
  110. package/dist/reporter/stdout.d.ts +0 -3
  111. package/dist/reporter/stdout.js +0 -41
  112. package/dist/reporter/stdout.js.map +0 -1
  113. package/dist/rollup.d.ts +0 -26
  114. package/dist/rollup.js +0 -135
  115. package/dist/rollup.js.map +0 -1
  116. package/dist/scan/cem-index.d.ts +0 -38
  117. package/dist/scan/cem-index.js +0 -139
  118. package/dist/scan/cem-index.js.map +0 -1
  119. package/dist/scan/entry-packages.d.ts +0 -42
  120. package/dist/scan/entry-packages.js +0 -87
  121. package/dist/scan/entry-packages.js.map +0 -1
  122. package/dist/scan/framework-root.d.ts +0 -1
  123. package/dist/scan/framework-root.js +0 -22
  124. package/dist/scan/framework-root.js.map +0 -1
  125. package/dist/scan/git-mtime.d.ts +0 -2
  126. package/dist/scan/git-mtime.js +0 -22
  127. package/dist/scan/git-mtime.js.map +0 -1
  128. package/dist/scan/global-components.d.ts +0 -37
  129. package/dist/scan/global-components.js +0 -228
  130. package/dist/scan/global-components.js.map +0 -1
  131. package/dist/scan/meta.d.ts +0 -5
  132. package/dist/scan/meta.js +0 -58
  133. package/dist/scan/meta.js.map +0 -1
  134. package/dist/scan/stamp-version.d.ts +0 -18
  135. package/dist/scan/stamp-version.js +0 -94
  136. package/dist/scan/stamp-version.js.map +0 -1
  137. package/dist/scan/stamp-wraps.d.ts +0 -11
  138. package/dist/scan/stamp-wraps.js +0 -24
  139. package/dist/scan/stamp-wraps.js.map +0 -1
  140. package/dist/scan/wrap-relationships.d.ts +0 -12
  141. package/dist/scan/wrap-relationships.js +0 -38
  142. package/dist/scan/wrap-relationships.js.map +0 -1
  143. package/dist/seeds.d.ts +0 -81
  144. package/dist/seeds.js +0 -258
  145. package/dist/seeds.js.map +0 -1
  146. package/dist/types/brand.d.ts +0 -11
  147. package/dist/types/brand.js +0 -5
  148. package/dist/types/brand.js.map +0 -1
  149. package/dist/types/component-id.d.ts +0 -2
  150. package/dist/types/component-id.js +0 -2
  151. package/dist/types/component-id.js.map +0 -1
  152. package/dist/types.d.ts +0 -13
  153. package/dist/types.js +0 -2
  154. package/dist/types.js.map +0 -1
  155. package/dist/upload.d.ts +0 -18
  156. package/dist/upload.js +0 -34
  157. package/dist/upload.js.map +0 -1
  158. package/dist/util/color.d.ts +0 -24
  159. package/dist/util/color.js +0 -45
  160. package/dist/util/color.js.map +0 -1
  161. package/dist/util/git.d.ts +0 -10
  162. package/dist/util/git.js +0 -95
  163. package/dist/util/git.js.map +0 -1
  164. package/dist/util/interactive.d.ts +0 -17
  165. package/dist/util/interactive.js +0 -19
  166. package/dist/util/interactive.js.map +0 -1
  167. package/dist/util/log.d.ts +0 -9
  168. package/dist/util/log.js +0 -20
  169. package/dist/util/log.js.map +0 -1
  170. package/dist/util/pkg.d.ts +0 -1
  171. package/dist/util/pkg.js +0 -13
  172. package/dist/util/pkg.js.map +0 -1
  173. package/dist/util/pnp-check.d.ts +0 -1
  174. package/dist/util/pnp-check.js +0 -6
  175. package/dist/util/pnp-check.js.map +0 -1
  176. package/dist/util/posix.d.ts +0 -2
  177. package/dist/util/posix.js +0 -15
  178. package/dist/util/posix.js.map +0 -1
  179. package/dist/util/progress.d.ts +0 -21
  180. package/dist/util/progress.js +0 -54
  181. package/dist/util/progress.js.map +0 -1
  182. package/dist/util/version.d.ts +0 -7
  183. package/dist/util/version.js +0 -13
  184. package/dist/util/version.js.map +0 -1
  185. package/dist/walker/bounded-definition-resolver.d.ts +0 -9
  186. package/dist/walker/bounded-definition-resolver.js +0 -125
  187. package/dist/walker/bounded-definition-resolver.js.map +0 -1
  188. package/dist/walker/files.d.ts +0 -7
  189. package/dist/walker/files.js +0 -24
  190. package/dist/walker/files.js.map +0 -1
  191. package/dist/walker/package-alias-layers.d.ts +0 -7
  192. package/dist/walker/package-alias-layers.js +0 -40
  193. package/dist/walker/package-alias-layers.js.map +0 -1
  194. package/dist/walker/resolve-import.d.ts +0 -25
  195. package/dist/walker/resolve-import.js +0 -243
  196. package/dist/walker/resolve-import.js.map +0 -1
  197. package/dist/walker/tsconfig-discovery.d.ts +0 -36
  198. package/dist/walker/tsconfig-discovery.js +0 -52
  199. package/dist/walker/tsconfig-discovery.js.map +0 -1
  200. package/dist/walker/tsconfig-loader.d.ts +0 -35
  201. package/dist/walker/tsconfig-loader.js +0 -138
  202. package/dist/walker/tsconfig-loader.js.map +0 -1
  203. package/dist/walker/workspace-exports.d.ts +0 -3
  204. package/dist/walker/workspace-exports.js +0 -120
  205. package/dist/walker/workspace-exports.js.map +0 -1
  206. package/dist/workspace/build-graph.d.ts +0 -15
  207. package/dist/workspace/build-graph.js +0 -120
  208. package/dist/workspace/build-graph.js.map +0 -1
  209. package/dist/workspace/declared-deps.d.ts +0 -5
  210. package/dist/workspace/declared-deps.js +0 -42
  211. package/dist/workspace/declared-deps.js.map +0 -1
  212. package/dist/workspace/find-owning-package.d.ts +0 -8
  213. package/dist/workspace/find-owning-package.js +0 -69
  214. package/dist/workspace/find-owning-package.js.map +0 -1
  215. package/dist/workspace/find-workspace-root.d.ts +0 -1
  216. package/dist/workspace/find-workspace-root.js +0 -60
  217. package/dist/workspace/find-workspace-root.js.map +0 -1
  218. package/dist/workspace/index.d.ts +0 -4
  219. package/dist/workspace/index.js +0 -4
  220. package/dist/workspace/index.js.map +0 -1
  221. package/dist/workspace/types.d.ts +0 -49
  222. package/dist/workspace/types.js +0 -13
  223. package/dist/workspace/types.js.map +0 -1
package/dist/cli/parse.js DELETED
@@ -1,75 +0,0 @@
1
- import { parseArgs } from "node:util";
2
- import { nearestMatch } from "./suggest.js";
3
- /** A user-facing CLI error: its message is printed and `exitCode` is returned. */
4
- export class CliError extends Error {
5
- exitCode;
6
- constructor(message, exitCode = 2) {
7
- super(message);
8
- this.exitCode = exitCode;
9
- this.name = "CliError";
10
- }
11
- }
12
- export const KNOWN_COMMANDS = ["scan", "init", "auth"];
13
- const SCAN_OPTIONS = {
14
- config: { type: "string" },
15
- output: { type: "string" },
16
- quiet: { type: "boolean" },
17
- "repo-id": { type: "string" },
18
- "repo-root": { type: "string" },
19
- upload: { type: "boolean" },
20
- host: { type: "string" },
21
- };
22
- const INIT_OPTIONS = {
23
- output: { type: "string" },
24
- framework: { type: "string", multiple: true },
25
- "repo-id": { type: "string" },
26
- yes: { type: "boolean", short: "y" },
27
- };
28
- const AUTH_OPTIONS = { host: { type: "string" } };
29
- const COMMANDS = {
30
- scan: { options: SCAN_OPTIONS, allowPositionals: false },
31
- init: { options: INIT_OPTIONS, allowPositionals: false },
32
- auth: { options: AUTH_OPTIONS, allowPositionals: true },
33
- };
34
- /** Parse one command's argv in strict mode, mapping failures to a CliError. */
35
- export function parseCommand(command, argv) {
36
- const spec = COMMANDS[command];
37
- if (!spec)
38
- throw new CliError(unknownCommandMessage(command));
39
- try {
40
- const { values, positionals } = parseArgs({
41
- args: argv,
42
- options: spec.options,
43
- allowPositionals: spec.allowPositionals,
44
- strict: true,
45
- });
46
- const parsedValues = values;
47
- return { values: parsedValues, positionals: [...positionals] };
48
- }
49
- catch (err) {
50
- throw toCliError(err, command, spec.options);
51
- }
52
- }
53
- /** Message for an unrecognised top-level command, with a nearest-match hint. */
54
- export function unknownCommandMessage(command) {
55
- const suggestion = nearestMatch(command, KNOWN_COMMANDS);
56
- const hint = suggestion ? ` Did you mean '${suggestion}'?` : "";
57
- return `Unknown command '${command}'.${hint} Run \`component-compass --help\`.`;
58
- }
59
- function toCliError(err, command, options) {
60
- const e = err;
61
- if (e.code === "ERR_PARSE_ARGS_UNKNOWN_OPTION") {
62
- const bad = extractUnknownOption(e.message ?? "");
63
- const names = Object.keys(options).map((o) => `--${o}`);
64
- const suggestion = bad ? nearestMatch(bad, names) : undefined;
65
- const hint = suggestion ? ` Did you mean '${suggestion}'?` : "";
66
- return new CliError(`Unknown option '${bad ?? "(option)"}' for \`component-compass ${command}\`.${hint}`);
67
- }
68
- return new CliError(`${e.message ?? `Invalid arguments for \`component-compass ${command}\``} (run \`component-compass ${command} --help\`).`);
69
- }
70
- /** Node phrases the error as: Unknown option '--ouput'. To specify ... */
71
- function extractUnknownOption(message) {
72
- const m = message.match(/Unknown option '([^']+)'/);
73
- return m?.[1];
74
- }
75
- //# sourceMappingURL=parse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/cli/parse.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- /** Levenshtein edit distance between two strings. */
2
- export declare function editDistance(a: string, b: string): number;
3
- /** Closest candidate within `maxDistance` edits, or undefined. */
4
- export declare function nearestMatch(input: string, candidates: readonly string[], maxDistance?: number): string | undefined;
@@ -1,38 +0,0 @@
1
- /** Levenshtein edit distance between two strings. */
2
- export function editDistance(a, b) {
3
- const m = a.length;
4
- const n = b.length;
5
- if (m === 0)
6
- return n;
7
- if (n === 0)
8
- return m;
9
- let prev = [];
10
- for (let j = 0; j <= n; j++)
11
- prev[j] = j;
12
- for (let i = 1; i <= m; i++) {
13
- const curr = [i];
14
- for (let j = 1; j <= n; j++) {
15
- const cost = a.charAt(i - 1) === b.charAt(j - 1) ? 0 : 1;
16
- const del = (prev[j] ?? 0) + 1;
17
- const ins = (curr[j - 1] ?? 0) + 1;
18
- const sub = (prev[j - 1] ?? 0) + cost;
19
- curr[j] = Math.min(del, ins, sub);
20
- }
21
- prev = curr;
22
- }
23
- return prev[n] ?? 0;
24
- }
25
- /** Closest candidate within `maxDistance` edits, or undefined. */
26
- export function nearestMatch(input, candidates, maxDistance = 2) {
27
- let best;
28
- let bestDist = maxDistance + 1;
29
- for (const candidate of candidates) {
30
- const d = editDistance(input, candidate);
31
- if (d < bestDist) {
32
- bestDist = d;
33
- best = candidate;
34
- }
35
- }
36
- return best;
37
- }
38
- //# sourceMappingURL=suggest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"suggest.js","sourceRoot":"","sources":["../../src/cli/suggest.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,MAAM,UAAU,YAAY,CAAC,CAAS,EAAE,CAAS;IAC/C,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACnB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACnB,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAEtB,IAAI,IAAI,GAAa,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAa,CAAC,CAAC,CAAC,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;YACtC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,GAAG,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,UAA6B,EAC7B,WAAW,GAAG,CAAC;IAEf,IAAI,IAAwB,CAAC;IAC7B,IAAI,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAC;IAC/B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC;YACjB,QAAQ,GAAG,CAAC,CAAC;YACb,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
package/dist/cli.d.ts DELETED
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
package/dist/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import { type PromptAdapter } from "../prompts/adapter.js";
2
- type StoreOpt = {
3
- filePath?: string;
4
- };
5
- export declare function runAuthLogin(opts: {
6
- host: string;
7
- store?: StoreOpt;
8
- sleep?: (ms: number) => Promise<void>;
9
- now?: () => number;
10
- prompts?: PromptAdapter;
11
- }): Promise<number>;
12
- export declare function runAuthStatus(opts: {
13
- host?: string;
14
- store?: StoreOpt;
15
- env?: NodeJS.ProcessEnv;
16
- write?: (s: string) => void;
17
- }): Promise<number>;
18
- export declare function runAuthLogout(opts: {
19
- host?: string;
20
- store?: StoreOpt;
21
- env?: NodeJS.ProcessEnv;
22
- write?: (s: string) => void;
23
- }): Promise<number>;
24
- type AuthDeps = {
25
- env?: NodeJS.ProcessEnv;
26
- store?: StoreOpt;
27
- interactive?: boolean;
28
- prompts?: PromptAdapter;
29
- sleep?: (ms: number) => Promise<void>;
30
- now?: () => number;
31
- };
32
- export declare function runAuth(argv: string[], deps?: AuthDeps): Promise<number>;
33
- export {};
@@ -1,248 +0,0 @@
1
- import { loadStore, saveStore, normalizeHost } from "../auth/store.js";
2
- import { requestDeviceCode, pollToken, whoami, AuthHttpError } from "../auth/client.js";
3
- import { openBrowser } from "../auth/browser.js";
4
- import { resolveHost, getAccessToken, formatAuthError } from "../auth/session.js";
5
- import { parseCommand } from "../cli/parse.js";
6
- import { assertNotCancelled, PromptCancelledError } from "../prompts/adapter.js";
7
- const out = (s) => process.stdout.write(s);
8
- const err = (s) => process.stderr.write(s);
9
- function defaultSleep(ms) {
10
- return new Promise((resolve) => setTimeout(resolve, ms));
11
- }
12
- function isValidUrl(value) {
13
- if (!value)
14
- return "Enter a valid host URL.";
15
- try {
16
- normalizeHost(value);
17
- return undefined;
18
- }
19
- catch {
20
- return "Enter a valid host URL.";
21
- }
22
- }
23
- /** Best transport-failure detail: the cause's syscall code, else its message, else the error's own message. */
24
- function transportDetail(e) {
25
- if (!(e instanceof Error))
26
- return undefined;
27
- const cause = e.cause;
28
- if (cause && typeof cause.code === "string" && cause.code !== "")
29
- return cause.code;
30
- if (cause && typeof cause.message === "string" && cause.message !== "")
31
- return cause.message;
32
- return e.message === "" ? undefined : e.message;
33
- }
34
- export async function runAuthLogin(opts) {
35
- const base = normalizeHost(opts.host);
36
- const sleep = opts.sleep ?? defaultSleep;
37
- const now = opts.now ?? Date.now;
38
- const filePath = opts.store?.filePath;
39
- let device;
40
- try {
41
- device = await requestDeviceCode(base);
42
- }
43
- catch (e) {
44
- if (e instanceof AuthHttpError) {
45
- err(`Login failed: ${base} returned HTTP ${e.status}.\n`);
46
- }
47
- else {
48
- const detail = transportDetail(e);
49
- err(`Could not reach ${base}${detail ? ` (${detail})` : ""}. Check the host URL and your network.\n`);
50
- }
51
- return 1;
52
- }
53
- out(`To authorize this device, open:\n ${device.verificationUri}\nCode: ${device.userCode}\n`);
54
- if (openBrowser(device.verificationUriComplete))
55
- out("Opened your browser…\n");
56
- const spin = opts.prompts?.spinner();
57
- if (spin)
58
- spin.start("Waiting for approval…");
59
- else
60
- out("Waiting for approval… ");
61
- let intervalMs = device.interval * 1000;
62
- const deadline = now() + device.expiresIn * 1000;
63
- while (now() < deadline) {
64
- await sleep(intervalMs);
65
- let result;
66
- try {
67
- result = await pollToken(base, device.deviceCode);
68
- }
69
- catch (e) {
70
- spin?.stop("Login failed");
71
- if (e instanceof AuthHttpError) {
72
- err(`\nLogin failed: ${base} returned HTTP ${e.status}. Run \`component-compass auth login\` again.\n`);
73
- }
74
- else {
75
- const detail = transportDetail(e);
76
- err(`\nCould not reach ${base}${detail ? ` (${detail})` : ""}. Check the host URL and your network, then run \`component-compass auth login\` again.\n`);
77
- }
78
- return 1;
79
- }
80
- if (result.kind === "tokens") {
81
- const entry = {
82
- accessToken: result.tokens.accessToken,
83
- refreshToken: result.tokens.refreshToken,
84
- userEmail: result.tokens.email ?? "",
85
- expiresAt: new Date(now() + result.tokens.expiresIn * 1000).toISOString(),
86
- };
87
- const store = await loadStore(filePath);
88
- store.hosts[base] = entry;
89
- if (!store.default)
90
- store.default = base;
91
- await saveStore(store, filePath);
92
- if (spin)
93
- spin.stop("Approved");
94
- out(`✓ Signed in as ${entry.userEmail || "your account"}\n`);
95
- return 0;
96
- }
97
- if (result.kind === "slow_down") {
98
- intervalMs += 5_000;
99
- continue;
100
- }
101
- if (result.kind === "expired") {
102
- spin?.stop("Code expired");
103
- err("\nCode expired. Run `component-compass auth login` again.\n");
104
- return 1;
105
- }
106
- if (result.kind === "denied") {
107
- spin?.stop("Authorization declined");
108
- err("\nAuthorization was declined.\n");
109
- return 1;
110
- }
111
- // pending → keep polling
112
- }
113
- spin?.stop("Timed out");
114
- err("\nTimed out waiting for approval. Run `component-compass auth login` again.\n");
115
- return 1;
116
- }
117
- export async function runAuthStatus(opts) {
118
- const write = opts.write ?? out;
119
- const filePath = opts.store?.filePath;
120
- const store = await loadStore(filePath);
121
- let base;
122
- try {
123
- base = resolveHost({ ...(opts.host !== undefined ? { flagHost: opts.host } : {}), env: opts.env ?? process.env, store });
124
- }
125
- catch {
126
- write("Not signed in.\n");
127
- return 1;
128
- }
129
- if (!store.hosts[base]) {
130
- write(`Not signed in to ${base}.\n`);
131
- return 1;
132
- }
133
- try {
134
- const { accessToken, userEmail } = await getAccessToken(base, filePath !== undefined ? { filePath } : {});
135
- const who = await whoami(base, accessToken);
136
- write(`Signed in as ${who?.email ?? userEmail} to ${base}.\n`);
137
- return 0;
138
- }
139
- catch (e) {
140
- const msg = formatAuthError(e) ?? (e instanceof Error ? e.message : String(e));
141
- write(`${msg}\n`);
142
- return 1;
143
- }
144
- }
145
- export async function runAuthLogout(opts) {
146
- const write = opts.write ?? out;
147
- const filePath = opts.store?.filePath;
148
- const store = await loadStore(filePath);
149
- let base;
150
- try {
151
- base = resolveHost({ ...(opts.host !== undefined ? { flagHost: opts.host } : {}), env: opts.env ?? process.env, store });
152
- }
153
- catch {
154
- write("Not signed in to anything.\n");
155
- return 0;
156
- }
157
- if (!store.hosts[base]) {
158
- write(`Not signed in to ${base}.\n`);
159
- return 0;
160
- }
161
- const { [base]: _removed, ...remaining } = store.hosts;
162
- const next = {
163
- hosts: remaining,
164
- ...(store.default && store.default !== base ? { default: store.default } : {}),
165
- };
166
- await saveStore(next, filePath);
167
- write(`Signed out of ${base}.\n`);
168
- return 0;
169
- }
170
- /**
171
- * Resolve a host for status/logout. Returns a concrete host only when the user
172
- * actively picks one from a select (interactive + several stored hosts + no
173
- * flag/env/default). Otherwise returns undefined, letting the callee resolve
174
- * (flag/env/default) and print its own "not signed in" message.
175
- */
176
- async function selectHostIfAmbiguous(flagHost, env, deps, interactive, prompts) {
177
- if (flagHost !== undefined)
178
- return flagHost;
179
- const store = await loadStore(deps.store?.filePath);
180
- try {
181
- resolveHost({ env, store });
182
- return undefined;
183
- }
184
- catch {
185
- const hosts = Object.keys(store.hosts);
186
- if (interactive && prompts && hosts.length > 1) {
187
- const picked = assertNotCancelled(await prompts.select({ message: "Which host?", options: hosts.map((h) => ({ value: h, label: h })) }), prompts);
188
- return normalizeHost(picked);
189
- }
190
- return undefined;
191
- }
192
- }
193
- export async function runAuth(argv, deps = {}) {
194
- const { positionals, values } = parseCommand("auth", argv);
195
- const sub = positionals[0];
196
- const { host } = values;
197
- const flagHost = typeof host === "string" ? host : undefined;
198
- const env = deps.env ?? process.env;
199
- const interactive = deps.interactive ?? false;
200
- const prompts = deps.prompts;
201
- try {
202
- switch (sub) {
203
- case "login": {
204
- const store = await loadStore(deps.store?.filePath);
205
- let resolved;
206
- try {
207
- resolved = resolveHost({ ...(flagHost !== undefined ? { flagHost } : {}), env, store });
208
- }
209
- catch {
210
- if (interactive && prompts) {
211
- const entered = assertNotCancelled(await prompts.text({ message: "Host URL", placeholder: "https://component-compass.example.com", validate: isValidUrl }), prompts);
212
- resolved = normalizeHost(entered);
213
- }
214
- else {
215
- err("Specify a host: `component-compass auth login --host <url>` (or set COMPONENT_COMPASS_HOST).\n");
216
- return 2;
217
- }
218
- }
219
- return runAuthLogin({
220
- host: resolved,
221
- ...(deps.store ? { store: deps.store } : {}),
222
- ...(prompts ? { prompts } : {}),
223
- ...(deps.sleep ? { sleep: deps.sleep } : {}),
224
- ...(deps.now ? { now: deps.now } : {}),
225
- });
226
- }
227
- case "status": {
228
- const picked = await selectHostIfAmbiguous(flagHost, env, deps, interactive, prompts);
229
- return runAuthStatus({ ...(picked !== undefined ? { host: picked } : {}), ...(deps.store ? { store: deps.store } : {}), env });
230
- }
231
- case "logout": {
232
- const picked = await selectHostIfAmbiguous(flagHost, env, deps, interactive, prompts);
233
- return runAuthLogout({ ...(picked !== undefined ? { host: picked } : {}), ...(deps.store ? { store: deps.store } : {}), env });
234
- }
235
- default:
236
- err(`Unknown auth subcommand: ${sub ?? "(none)"}\nUsage: component-compass auth <login|logout|status> [--host <url>]\n`);
237
- return 2;
238
- }
239
- }
240
- catch (e) {
241
- if (e instanceof PromptCancelledError) {
242
- err("Cancelled.\n");
243
- return 130;
244
- }
245
- throw e;
246
- }
247
- }
248
- //# sourceMappingURL=auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { type PromptAdapter } from "../prompts/adapter.js";
2
- export type Framework = "react" | "vue" | "lit" | "html" | "wc";
3
- export type InitOptions = {
4
- cwd: string;
5
- outputPath?: string;
6
- repoId?: string;
7
- frameworks?: Framework[];
8
- interactive?: boolean;
9
- prompts?: PromptAdapter;
10
- };
11
- export declare function runInit(opts: InitOptions): Promise<void>;
@@ -1,112 +0,0 @@
1
- import { writeFile, stat, readFile } from "node:fs/promises";
2
- import { basename, isAbsolute, resolve } from "node:path";
3
- import { assertNotCancelled } from "../prompts/adapter.js";
4
- const DEFAULT_INCLUDE = "src/**/*.{ts,tsx,jsx,js,vue,html}";
5
- const FRAMEWORK_EXTS = {
6
- react: ["ts", "tsx", "js", "jsx"],
7
- vue: ["vue"],
8
- lit: ["ts", "js"],
9
- html: ["html"],
10
- wc: ["ts", "js"],
11
- };
12
- const FRAMEWORK_OPTIONS = [
13
- { value: "react", label: "React" },
14
- { value: "vue", label: "Vue" },
15
- { value: "lit", label: "Lit" },
16
- { value: "html", label: "HTML" },
17
- { value: "wc", label: "Web components" },
18
- ];
19
- function includeGlob(frameworks) {
20
- const exts = new Set();
21
- for (const f of frameworks)
22
- for (const e of FRAMEWORK_EXTS[f])
23
- exts.add(e);
24
- if (exts.size === 0)
25
- return DEFAULT_INCLUDE;
26
- return `src/**/*.{${[...exts].sort().join(",")}}`;
27
- }
28
- function buildConfig(o) {
29
- return {
30
- $schema: "https://unpkg.com/@component-compass/cli/schema/config.schema.json",
31
- repoId: o.repoId,
32
- include: [o.include],
33
- exclude: ["**/*.{test,spec,stories}.*", "**/node_modules/**"],
34
- output: o.output,
35
- };
36
- }
37
- export async function runInit(opts) {
38
- const cwd = isAbsolute(opts.cwd) ? opts.cwd : resolve(opts.cwd);
39
- const out = opts.outputPath ?? resolve(cwd, "component-compass.config.json");
40
- await assertNoExistingConfig(out);
41
- const repoId = opts.repoId ?? (await deriveRepoId(cwd));
42
- if (opts.interactive && opts.prompts) {
43
- const cfg = await runWizard(opts.prompts, cwd, repoId);
44
- await writeFile(out, `${JSON.stringify(cfg, null, 2)}\n`, "utf8");
45
- opts.prompts.outro(`Wrote ${out}. Run \`component-compass scan\` to generate your first artifact.`);
46
- return;
47
- }
48
- const cfg = buildConfig({
49
- repoId,
50
- include: opts.frameworks && opts.frameworks.length > 0 ? includeGlob(opts.frameworks) : DEFAULT_INCLUDE,
51
- output: "./component-compass.json",
52
- });
53
- await writeFile(out, `${JSON.stringify(cfg, null, 2)}\n`, "utf8");
54
- // eslint-disable-next-line no-console
55
- console.log(`Wrote ${out}.\nCustomize the config to match your repo structure.`);
56
- }
57
- async function runWizard(prompts, cwd, repoId) {
58
- prompts.intro("component-compass init");
59
- const detected = await detectFrameworks(cwd);
60
- const frameworks = assertNotCancelled(await prompts.multiselect({
61
- message: "Which frameworks does this repo use?",
62
- options: FRAMEWORK_OPTIONS,
63
- initialValues: detected,
64
- required: true,
65
- }), prompts);
66
- const output = assertNotCancelled(await prompts.text({ message: "Output path for the artifact", initialValue: "./component-compass.json" }), prompts);
67
- return buildConfig({ repoId, include: includeGlob(frameworks), output });
68
- }
69
- async function detectFrameworks(cwd) {
70
- try {
71
- const pkg = JSON.parse(await readFile(resolve(cwd, "package.json"), "utf8"));
72
- const deps = { ...pkg.dependencies, ...pkg.devDependencies };
73
- const { react, vue, lit } = deps;
74
- const out = [];
75
- if (react)
76
- out.push("react");
77
- if (vue)
78
- out.push("vue");
79
- if (lit)
80
- out.push("lit");
81
- return out.length > 0 ? out : ["react"];
82
- }
83
- catch {
84
- return ["react"];
85
- }
86
- }
87
- async function assertNoExistingConfig(out) {
88
- try {
89
- await stat(out);
90
- throw new Error(`Config already exists at ${out}. Refusing to overwrite.`);
91
- }
92
- catch (err) {
93
- const e = err;
94
- if (e.code !== "ENOENT") {
95
- if (e.message?.startsWith("Config already exists"))
96
- throw e;
97
- throw err;
98
- }
99
- }
100
- }
101
- async function deriveRepoId(cwd) {
102
- try {
103
- const pkg = JSON.parse(await readFile(resolve(cwd, "package.json"), "utf8"));
104
- if (pkg.name)
105
- return pkg.name;
106
- }
107
- catch {
108
- // ignore
109
- }
110
- return basename(cwd) || "unknown";
111
- }
112
- //# sourceMappingURL=init.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import type { ScanOutput } from "@component-compass/plugin-core";
2
- export type ScanOptions = {
3
- /**
4
- * Path to the config file. Defaults to `<cwd>/component-compass.config.json`
5
- * when `cwd` is provided and `configPath` is omitted.
6
- */
7
- configPath?: string;
8
- /**
9
- * Working directory used to locate the config when `configPath` is omitted.
10
- * Has no effect when `configPath` is supplied.
11
- */
12
- cwd?: string;
13
- outputOverride?: string;
14
- quiet?: boolean;
15
- repoId?: string;
16
- /**
17
- * Directory to treat as the repository root for artefact paths. Overrides
18
- * git-toplevel discovery. Resolved against `cwd` when relative. Primarily
19
- * for pinning a scan's output space in tests (fixture dir as its own root)
20
- * and for non-git or nested-work-tree consumers.
21
- */
22
- repoRoot?: string;
23
- upload?: boolean;
24
- hostOverride?: string;
25
- };
26
- export type UploadOutcome = "ok" | "exists" | "skipped" | "failed";
27
- export type ScanResult = {
28
- output: ScanOutput | null;
29
- upload: UploadOutcome;
30
- };
31
- /** Map a scan result to a process exit code: 2 = scan failed, 1 = requested upload failed, 0 = ok. */
32
- export declare function scanExitCode(result: ScanResult): number;
33
- export declare function runScan(opts: ScanOptions): Promise<ScanResult>;