@supernovaio/cli 2.0.38 → 2.0.40
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/README.md +1 -0
- package/dist/code-analyzer/analyzers/component-usage.d.ts +6 -0
- package/dist/code-analyzer/analyzers/component-usage.d.ts.map +1 -0
- package/dist/code-analyzer/analyzers/component-usage.js +344 -0
- package/dist/code-analyzer/analyzers/component-usage.js.map +1 -0
- package/dist/code-analyzer/analyzers/helpers.d.ts +11 -0
- package/dist/code-analyzer/analyzers/helpers.d.ts.map +1 -0
- package/dist/code-analyzer/analyzers/helpers.js +59 -0
- package/dist/code-analyzer/analyzers/helpers.js.map +1 -0
- package/dist/code-analyzer/analyzers/index.d.ts +8 -0
- package/dist/code-analyzer/analyzers/index.d.ts.map +1 -0
- package/dist/code-analyzer/analyzers/index.js +11 -0
- package/dist/code-analyzer/analyzers/index.js.map +1 -0
- package/dist/code-analyzer/analyzers/jsdoc.d.ts +3 -0
- package/dist/code-analyzer/analyzers/jsdoc.d.ts.map +1 -0
- package/dist/code-analyzer/analyzers/jsdoc.js +7 -0
- package/dist/code-analyzer/analyzers/jsdoc.js.map +1 -0
- package/dist/code-analyzer/analyzers/static-components.d.ts +3 -0
- package/dist/code-analyzer/analyzers/static-components.d.ts.map +1 -0
- package/dist/code-analyzer/analyzers/static-components.js +399 -0
- package/dist/code-analyzer/analyzers/static-components.js.map +1 -0
- package/dist/code-analyzer/analyzers/storybook-docs.d.ts +3 -0
- package/dist/code-analyzer/analyzers/storybook-docs.d.ts.map +1 -0
- package/dist/code-analyzer/analyzers/storybook-docs.js +163 -0
- package/dist/code-analyzer/analyzers/storybook-docs.js.map +1 -0
- package/dist/code-analyzer/analyzers/storybook-stories.d.ts +3 -0
- package/dist/code-analyzer/analyzers/storybook-stories.d.ts.map +1 -0
- package/dist/code-analyzer/analyzers/storybook-stories.js +91 -0
- package/dist/code-analyzer/analyzers/storybook-stories.js.map +1 -0
- package/dist/code-analyzer/analyzers/types.d.ts +88 -0
- package/dist/code-analyzer/analyzers/types.d.ts.map +1 -0
- package/dist/code-analyzer/analyzers/types.js +12 -0
- package/dist/code-analyzer/analyzers/types.js.map +1 -0
- package/dist/code-analyzer/analyzers/typescript-api.d.ts +3 -0
- package/dist/code-analyzer/analyzers/typescript-api.d.ts.map +1 -0
- package/dist/code-analyzer/analyzers/typescript-api.js +7 -0
- package/dist/code-analyzer/analyzers/typescript-api.js.map +1 -0
- package/dist/code-analyzer/components/analyze.d.ts +8 -0
- package/dist/code-analyzer/components/analyze.d.ts.map +1 -0
- package/dist/code-analyzer/components/analyze.js +38 -0
- package/dist/code-analyzer/components/analyze.js.map +1 -0
- package/dist/code-analyzer/components/mappers/component.d.ts +4 -0
- package/dist/code-analyzer/components/mappers/component.d.ts.map +1 -0
- package/dist/code-analyzer/components/mappers/component.js +20 -0
- package/dist/code-analyzer/components/mappers/component.js.map +1 -0
- package/dist/code-analyzer/components/mappers/property.d.ts +4 -0
- package/dist/code-analyzer/components/mappers/property.d.ts.map +1 -0
- package/dist/code-analyzer/components/mappers/property.js +19 -0
- package/dist/code-analyzer/components/mappers/property.js.map +1 -0
- package/dist/code-analyzer/components/parser/index.d.ts +6 -0
- package/dist/code-analyzer/components/parser/index.d.ts.map +1 -0
- package/dist/code-analyzer/components/parser/index.js +9 -0
- package/dist/code-analyzer/components/parser/index.js.map +1 -0
- package/dist/code-analyzer/components/parser/module-parser.d.ts +12 -0
- package/dist/code-analyzer/components/parser/module-parser.d.ts.map +1 -0
- package/dist/code-analyzer/components/parser/module-parser.js +116 -0
- package/dist/code-analyzer/components/parser/module-parser.js.map +1 -0
- package/dist/code-analyzer/components/parser/parser.d.ts +46 -0
- package/dist/code-analyzer/components/parser/parser.d.ts.map +1 -0
- package/dist/code-analyzer/components/parser/parser.js +904 -0
- package/dist/code-analyzer/components/parser/parser.js.map +1 -0
- package/dist/code-analyzer/components/parser/types.d.ts +123 -0
- package/dist/code-analyzer/components/parser/types.d.ts.map +1 -0
- package/dist/code-analyzer/components/parser/types.js +21 -0
- package/dist/code-analyzer/components/parser/types.js.map +1 -0
- package/dist/code-analyzer/components/parser/utils/build-filter.d.ts +3 -0
- package/dist/code-analyzer/components/parser/utils/build-filter.d.ts.map +1 -0
- package/dist/code-analyzer/components/parser/utils/build-filter.js +31 -0
- package/dist/code-analyzer/components/parser/utils/build-filter.js.map +1 -0
- package/dist/code-analyzer/components/parser/utils/filter-duplicates.d.ts +3 -0
- package/dist/code-analyzer/components/parser/utils/filter-duplicates.d.ts.map +1 -0
- package/dist/code-analyzer/components/parser/utils/filter-duplicates.js +17 -0
- package/dist/code-analyzer/components/parser/utils/filter-duplicates.js.map +1 -0
- package/dist/code-analyzer/components/parser/utils/is-react-component.d.ts +4 -0
- package/dist/code-analyzer/components/parser/utils/is-react-component.d.ts.map +1 -0
- package/dist/code-analyzer/components/parser/utils/is-react-component.js +43 -0
- package/dist/code-analyzer/components/parser/utils/is-react-component.js.map +1 -0
- package/dist/code-analyzer/components/parser/utils/trim-file-name.d.ts +2 -0
- package/dist/code-analyzer/components/parser/utils/trim-file-name.d.ts.map +1 -0
- package/dist/code-analyzer/components/parser/utils/trim-file-name.js +22 -0
- package/dist/code-analyzer/components/parser/utils/trim-file-name.js.map +1 -0
- package/dist/code-analyzer/components/types.d.ts +18 -0
- package/dist/code-analyzer/components/types.d.ts.map +1 -0
- package/dist/code-analyzer/components/types.js +5 -0
- package/dist/code-analyzer/components/types.js.map +1 -0
- package/dist/code-analyzer/components/utils/get-module-exports-path.d.ts +2 -0
- package/dist/code-analyzer/components/utils/get-module-exports-path.d.ts.map +1 -0
- package/dist/code-analyzer/components/utils/get-module-exports-path.js +60 -0
- package/dist/code-analyzer/components/utils/get-module-exports-path.js.map +1 -0
- package/dist/code-analyzer/index.d.ts +5 -0
- package/dist/code-analyzer/index.d.ts.map +1 -0
- package/dist/code-analyzer/index.js +8 -0
- package/dist/code-analyzer/index.js.map +1 -0
- package/dist/code-analyzer/orchestrator/index.d.ts +2 -0
- package/dist/code-analyzer/orchestrator/index.d.ts.map +1 -0
- package/dist/code-analyzer/orchestrator/index.js +5 -0
- package/dist/code-analyzer/orchestrator/index.js.map +1 -0
- package/dist/code-analyzer/orchestrator/run-analysis.d.ts +19 -0
- package/dist/code-analyzer/orchestrator/run-analysis.d.ts.map +1 -0
- package/dist/code-analyzer/orchestrator/run-analysis.js +109 -0
- package/dist/code-analyzer/orchestrator/run-analysis.js.map +1 -0
- package/dist/code-analyzer/snapshot/index.d.ts +2 -0
- package/dist/code-analyzer/snapshot/index.d.ts.map +1 -0
- package/dist/code-analyzer/snapshot/index.js +5 -0
- package/dist/code-analyzer/snapshot/index.js.map +1 -0
- package/dist/code-analyzer/snapshot/write-snapshot.d.ts +17 -0
- package/dist/code-analyzer/snapshot/write-snapshot.d.ts.map +1 -0
- package/dist/code-analyzer/snapshot/write-snapshot.js +60 -0
- package/dist/code-analyzer/snapshot/write-snapshot.js.map +1 -0
- package/dist/commands/analyze/adoption.d.ts +15 -0
- package/dist/commands/analyze/adoption.d.ts.map +1 -0
- package/dist/commands/analyze/adoption.js +34 -0
- package/dist/commands/analyze/adoption.js.map +1 -0
- package/dist/commands/analyze/components.d.ts +15 -0
- package/dist/commands/analyze/components.d.ts.map +1 -0
- package/dist/commands/analyze/components.js +34 -0
- package/dist/commands/analyze/components.js.map +1 -0
- package/dist/commands/analyze/status.d.ts +24 -0
- package/dist/commands/analyze/status.d.ts.map +1 -0
- package/dist/commands/analyze/status.js +54 -0
- package/dist/commands/analyze/status.js.map +1 -0
- package/dist/commands/analyze.d.ts +15 -0
- package/dist/commands/analyze.d.ts.map +1 -0
- package/dist/commands/analyze.js +34 -0
- package/dist/commands/analyze.js.map +1 -0
- package/dist/commands/components-import.d.ts +3 -3
- package/dist/commands/components-import.d.ts.map +1 -1
- package/dist/commands/components-import.js +9 -3
- package/dist/commands/components-import.js.map +1 -1
- package/dist/commands/publish-documentation.d.ts +2 -2
- package/dist/commands/run-local-exporter.js +2 -2
- package/dist/commands/run-local-exporter.js.map +1 -1
- package/dist/commands/storybook-import.d.ts +2 -2
- package/dist/commands/template-upload.d.ts.map +1 -1
- package/dist/commands/template-upload.js +10 -12
- package/dist/commands/template-upload.js.map +1 -1
- package/dist/types/config.d.ts +41 -5
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +9 -2
- package/dist/types/config.js.map +1 -1
- package/dist/types/types.js +2 -2
- package/dist/types/types.js.map +1 -1
- package/dist/utils/analyze-command.d.ts +42 -0
- package/dist/utils/analyze-command.d.ts.map +1 -0
- package/dist/utils/analyze-command.js +606 -0
- package/dist/utils/analyze-command.js.map +1 -0
- package/dist/utils/analyze-status.d.ts +7 -0
- package/dist/utils/analyze-status.d.ts.map +1 -0
- package/dist/utils/analyze-status.js +94 -0
- package/dist/utils/analyze-status.js.map +1 -0
- package/dist/utils/config.service.d.ts +1 -2
- package/dist/utils/config.service.d.ts.map +1 -1
- package/dist/utils/config.service.js +5 -7
- package/dist/utils/config.service.js.map +1 -1
- package/dist/utils/discover.d.ts +2 -2
- package/dist/utils/discover.d.ts.map +1 -1
- package/dist/utils/discover.js +25 -23
- package/dist/utils/discover.js.map +1 -1
- package/dist/utils/figma-tokens-data-loader.js +2 -2
- package/dist/utils/figma-tokens-data-loader.js.map +1 -1
- package/dist/utils/http-client.d.ts +4 -0
- package/dist/utils/http-client.d.ts.map +1 -0
- package/dist/utils/http-client.js +18 -0
- package/dist/utils/http-client.js.map +1 -0
- package/dist/utils/run-exporter/exporter-utils.js +2 -2
- package/dist/utils/run-exporter/exporter-utils.js.map +1 -1
- package/dist/utils/validate-templates.d.ts +1 -1
- package/dist/utils/validate-templates.d.ts.map +1 -1
- package/dist/utils/validate-templates.js +4 -4
- package/dist/utils/validate-templates.js.map +1 -1
- package/oclif.manifest.json +216 -1
- package/package.json +12 -4
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="d6a0a8d6-93f5-5ba0-8222-f2bb5a3c4b4c")}catch(e){}}();
|
|
3
|
+
import * as fs from "node:fs/promises";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
function getNodeModulesRoots(rootDir) {
|
|
6
|
+
const roots = [];
|
|
7
|
+
let current = path.resolve(rootDir);
|
|
8
|
+
while (true) {
|
|
9
|
+
roots.push(path.join(current, "node_modules"));
|
|
10
|
+
const parent = path.dirname(current);
|
|
11
|
+
if (parent === current) {
|
|
12
|
+
break;
|
|
13
|
+
}
|
|
14
|
+
current = parent;
|
|
15
|
+
}
|
|
16
|
+
return roots;
|
|
17
|
+
}
|
|
18
|
+
export async function getModuleEntryPath(rootDir, modulePath) {
|
|
19
|
+
let entryFile = null;
|
|
20
|
+
const possibleEntries = [
|
|
21
|
+
path.join(modulePath, "index.ts"),
|
|
22
|
+
path.join(modulePath, "index.mts"),
|
|
23
|
+
path.join(modulePath, "index.mjs"),
|
|
24
|
+
path.join(modulePath, "index.d.ts"),
|
|
25
|
+
path.join(modulePath, "index.d.mts"),
|
|
26
|
+
path.join(modulePath, "dist/index.d.ts"),
|
|
27
|
+
path.join(modulePath, "dist/index.d.mts"),
|
|
28
|
+
path.join(modulePath, "dist/index.mts"),
|
|
29
|
+
path.join(modulePath, "dist/index.mjs"),
|
|
30
|
+
path.join(modulePath, "lib/index.d.ts"),
|
|
31
|
+
path.join(modulePath, "lib/index.d.mts"),
|
|
32
|
+
path.join(modulePath, "index.js"),
|
|
33
|
+
path.join(modulePath, "index.cjs"),
|
|
34
|
+
path.join(modulePath, "dist/index.js"),
|
|
35
|
+
path.join(modulePath, "dist/index.cjs"),
|
|
36
|
+
path.join(modulePath, "lib/index.js"),
|
|
37
|
+
path.join(modulePath, "lib/index.cjs"),
|
|
38
|
+
];
|
|
39
|
+
const nodeModulesRoots = getNodeModulesRoots(rootDir);
|
|
40
|
+
const allPossibleEntriesPaths = [
|
|
41
|
+
...nodeModulesRoots.flatMap(nodeModulesRoot => possibleEntries.map(entry => path.join(nodeModulesRoot, entry))),
|
|
42
|
+
...possibleEntries.map(entry => path.join(rootDir, entry)),
|
|
43
|
+
];
|
|
44
|
+
for (const entryPath of allPossibleEntriesPaths) {
|
|
45
|
+
try {
|
|
46
|
+
await fs.access(entryPath);
|
|
47
|
+
entryFile = entryPath;
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (!entryFile) {
|
|
55
|
+
throw new Error(`Could not find entry file for "${modulePath}"`);
|
|
56
|
+
}
|
|
57
|
+
return entryFile;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=get-module-exports-path.js.map
|
|
60
|
+
//# debugId=d6a0a8d6-93f5-5ba0-8222-f2bb5a3c4b4c
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-module-exports-path.js","sources":["../../../../src/code-analyzer/components/utils/get-module-exports-path.ts"],"sourceRoot":"","sourcesContent":["import * as fs from \"node:fs/promises\"\nimport path from \"node:path\"\n\nfunction getNodeModulesRoots(rootDir: string): string[] {\n const roots: string[] = []\n let current = path.resolve(rootDir)\n\n while (true) {\n roots.push(path.join(current, \"node_modules\"))\n const parent = path.dirname(current)\n if (parent === current) {\n break\n }\n\n current = parent\n }\n\n return roots\n}\n\nexport async function getModuleEntryPath(rootDir: string, modulePath: string): Promise<string> {\n let entryFile: null | string = null\n\n const possibleEntries = [\n path.join(modulePath, \"index.ts\"),\n path.join(modulePath, \"index.mts\"),\n path.join(modulePath, \"index.mjs\"),\n path.join(modulePath, \"index.d.ts\"),\n path.join(modulePath, \"index.d.mts\"),\n path.join(modulePath, \"dist/index.d.ts\"),\n path.join(modulePath, \"dist/index.d.mts\"),\n path.join(modulePath, \"dist/index.mts\"),\n path.join(modulePath, \"dist/index.mjs\"),\n path.join(modulePath, \"lib/index.d.ts\"),\n path.join(modulePath, \"lib/index.d.mts\"),\n path.join(modulePath, \"index.js\"),\n path.join(modulePath, \"index.cjs\"),\n path.join(modulePath, \"dist/index.js\"),\n path.join(modulePath, \"dist/index.cjs\"),\n path.join(modulePath, \"lib/index.js\"),\n path.join(modulePath, \"lib/index.cjs\"),\n ]\n\n const nodeModulesRoots = getNodeModulesRoots(rootDir)\n const allPossibleEntriesPaths = [\n ...nodeModulesRoots.flatMap(nodeModulesRoot => possibleEntries.map(entry => path.join(nodeModulesRoot, entry))),\n ...possibleEntries.map(entry => path.join(rootDir, entry)),\n ]\n\n for (const entryPath of allPossibleEntriesPaths) {\n try {\n await fs.access(entryPath)\n entryFile = entryPath\n break\n } catch {\n continue\n }\n }\n\n if (!entryFile) {\n throw new Error(`Could not find entry file for \"${modulePath}\"`)\n }\n\n return entryFile\n}\n"],"names":[],"mappings":"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","debug_id":"d6a0a8d6-93f5-5ba0-8222-f2bb5a3c4b4c"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/code-analyzer/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="212bb6c3-8bf9-5063-a704-66e0880dd080")}catch(e){}}();
|
|
3
|
+
export * from "./analyzers/index.js";
|
|
4
|
+
export * from "./components/analyze.js";
|
|
5
|
+
export * from "./orchestrator/index.js";
|
|
6
|
+
export * from "./snapshot/index.js";
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
8
|
+
//# debugId=212bb6c3-8bf9-5063-a704-66e0880dd080
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/code-analyzer/index.ts"],"sourceRoot":"","sourcesContent":["export * from \"./analyzers/index.js\"\nexport * from \"./components/analyze.js\"\nexport * from \"./orchestrator/index.js\"\nexport * from \"./snapshot/index.js\"\n"],"names":[],"mappings":";;AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA","debug_id":"212bb6c3-8bf9-5063-a704-66e0880dd080"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/code-analyzer/orchestrator/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="42d0c813-f724-5d47-82ab-04f3876ebc82")}catch(e){}}();
|
|
3
|
+
export * from "./run-analysis.js";
|
|
4
|
+
//# sourceMappingURL=index.js.map
|
|
5
|
+
//# debugId=42d0c813-f724-5d47-82ab-04f3876ebc82
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/code-analyzer/orchestrator/index.ts"],"sourceRoot":"","sourcesContent":["export * from \"./run-analysis.js\"\n"],"names":[],"mappings":";;AAAA,cAAc,mBAAmB,CAAA","debug_id":"42d0c813-f724-5d47-82ab-04f3876ebc82"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ComponentDescriptor } from "../analyzers/types.js";
|
|
2
|
+
export type AnalyzeProjectInput = {
|
|
3
|
+
designSystemId?: string;
|
|
4
|
+
excludePaths?: string[];
|
|
5
|
+
importFrom: string | string[];
|
|
6
|
+
mode?: "all" | "components" | "usage";
|
|
7
|
+
projectRoot: string;
|
|
8
|
+
snapshotBaseRoot?: string;
|
|
9
|
+
runCommitSha?: string;
|
|
10
|
+
snapshotId?: string;
|
|
11
|
+
versionId?: string;
|
|
12
|
+
};
|
|
13
|
+
export type AnalyzeProjectOutput = {
|
|
14
|
+
components: ComponentDescriptor[];
|
|
15
|
+
snapshotId: string;
|
|
16
|
+
snapshotRoot: string;
|
|
17
|
+
};
|
|
18
|
+
export declare function runCodeAnalysis(input: AnalyzeProjectInput): Promise<AnalyzeProjectOutput>;
|
|
19
|
+
//# sourceMappingURL=run-analysis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-analysis.d.ts","sourceRoot":"","sources":["../../../src/code-analyzer/orchestrator/run-analysis.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgD,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AASzG,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC7B,IAAI,CAAC,EAAE,KAAK,GAAG,YAAY,GAAG,OAAO,CAAA;IACrC,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,mBAAmB,EAAE,CAAA;IACjC,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAgDD,wBAAsB,eAAe,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA8E/F"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="22fe8582-d0a7-5587-85d0-4e932dfc7f38")}catch(e){}}();
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { analyzeComponentUsage } from "../analyzers/component-usage.js";
|
|
5
|
+
import { analyzeJsDoc } from "../analyzers/jsdoc.js";
|
|
6
|
+
import { analyzeStaticComponents } from "../analyzers/static-components.js";
|
|
7
|
+
import { analyzeStorybookDocs } from "../analyzers/storybook-docs.js";
|
|
8
|
+
import { analyzeStorybookStories } from "../analyzers/storybook-stories.js";
|
|
9
|
+
import { analyzeTypescriptApi } from "../analyzers/typescript-api.js";
|
|
10
|
+
import { writeSnapshot } from "../snapshot/write-snapshot.js";
|
|
11
|
+
function createSnapshotId() {
|
|
12
|
+
const now = new Date();
|
|
13
|
+
const yyyy = now.getUTCFullYear();
|
|
14
|
+
const mm = String(now.getUTCMonth() + 1).padStart(2, "0");
|
|
15
|
+
const dd = String(now.getUTCDate()).padStart(2, "0");
|
|
16
|
+
const hh = String(now.getUTCHours()).padStart(2, "0");
|
|
17
|
+
const mi = String(now.getUTCMinutes()).padStart(2, "0");
|
|
18
|
+
const ss = String(now.getUTCSeconds()).padStart(2, "0");
|
|
19
|
+
const ms = String(now.getUTCMilliseconds()).padStart(3, "0");
|
|
20
|
+
return `snap-${yyyy}${mm}${dd}-${hh}${mi}${ss}${ms}`;
|
|
21
|
+
}
|
|
22
|
+
async function runAnalyzer(name, work) {
|
|
23
|
+
const startedAt = new Date().toISOString();
|
|
24
|
+
const started = Date.now();
|
|
25
|
+
try {
|
|
26
|
+
const output = await work();
|
|
27
|
+
return {
|
|
28
|
+
output,
|
|
29
|
+
run: {
|
|
30
|
+
analyzer: name,
|
|
31
|
+
durationMs: Date.now() - started,
|
|
32
|
+
finishedAt: new Date().toISOString(),
|
|
33
|
+
startedAt,
|
|
34
|
+
status: "done",
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
return {
|
|
40
|
+
run: {
|
|
41
|
+
analyzer: name,
|
|
42
|
+
durationMs: Date.now() - started,
|
|
43
|
+
finishedAt: new Date().toISOString(),
|
|
44
|
+
message: error instanceof Error ? error.message : String(error),
|
|
45
|
+
startedAt,
|
|
46
|
+
status: "failed",
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export async function runCodeAnalysis(input) {
|
|
52
|
+
const snapshotId = input.snapshotId ?? createSnapshotId();
|
|
53
|
+
const snapshotRoot = path.join(input.snapshotBaseRoot ?? input.projectRoot, ".supernova", "snapshots", snapshotId);
|
|
54
|
+
const excludePaths = input.excludePaths ?? [];
|
|
55
|
+
const mode = input.mode ?? "components";
|
|
56
|
+
const runComponentPipeline = mode === "components" || mode === "all";
|
|
57
|
+
const runUsagePipeline = mode === "usage" || mode === "all";
|
|
58
|
+
const usageImportFromPackages = (Array.isArray(input.importFrom) ? input.importFrom : [input.importFrom])
|
|
59
|
+
.map(item => item.trim())
|
|
60
|
+
.filter(Boolean);
|
|
61
|
+
const artifacts = {
|
|
62
|
+
componentUsage: {},
|
|
63
|
+
jsdoc: {},
|
|
64
|
+
staticComponents: [],
|
|
65
|
+
storybookDocs: {},
|
|
66
|
+
storybookStories: {},
|
|
67
|
+
typescriptApi: {},
|
|
68
|
+
};
|
|
69
|
+
let components = [];
|
|
70
|
+
if (runComponentPipeline) {
|
|
71
|
+
const componentsImportFrom = Array.isArray(input.importFrom) ? input.importFrom[0] : input.importFrom;
|
|
72
|
+
const staticRun = await runAnalyzer("static-components", async () => analyzeStaticComponents(input.projectRoot, componentsImportFrom));
|
|
73
|
+
const staticResult = staticRun.output;
|
|
74
|
+
components = staticResult?.components ?? [];
|
|
75
|
+
artifacts.staticComponents = components;
|
|
76
|
+
const typescriptApiRun = await runAnalyzer("typescript-api", async () => staticResult ? analyzeTypescriptApi(staticResult) : Promise.resolve({}));
|
|
77
|
+
artifacts.typescriptApi = typescriptApiRun.output ?? {};
|
|
78
|
+
const storiesRun = await runAnalyzer("storybook-stories", async () => analyzeStorybookStories(input.projectRoot, components, excludePaths));
|
|
79
|
+
artifacts.storybookStories = storiesRun.output ?? {};
|
|
80
|
+
const docsRun = await runAnalyzer("storybook-docs", async () => analyzeStorybookDocs(input.projectRoot, components, excludePaths));
|
|
81
|
+
artifacts.storybookDocs = docsRun.output ?? {};
|
|
82
|
+
const jsdocRun = await runAnalyzer("jsdoc", async () => staticResult ? analyzeJsDoc(staticResult) : Promise.resolve({}));
|
|
83
|
+
artifacts.jsdoc = jsdocRun.output ?? {};
|
|
84
|
+
}
|
|
85
|
+
if (runUsagePipeline) {
|
|
86
|
+
const usageRun = await runAnalyzer("component-usage", async () => analyzeComponentUsage(input.projectRoot, components, input.importFrom, excludePaths));
|
|
87
|
+
artifacts.componentUsage = usageRun.output?.records ?? {};
|
|
88
|
+
if (components.length === 0 && usageRun.output?.components.length) {
|
|
89
|
+
components = usageRun.output.components;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
await writeSnapshot({
|
|
93
|
+
artifacts,
|
|
94
|
+
rawArtifacts: mode === "usage"
|
|
95
|
+
? ["component-usage"]
|
|
96
|
+
: mode === "components"
|
|
97
|
+
? ["static-components", "typescript-api", "storybook-stories", "storybook-docs", "jsdoc"]
|
|
98
|
+
: ["static-components", "typescript-api", "storybook-stories", "storybook-docs", "jsdoc", "component-usage"],
|
|
99
|
+
snapshotRoot,
|
|
100
|
+
usageImportFromPackages,
|
|
101
|
+
});
|
|
102
|
+
return {
|
|
103
|
+
components,
|
|
104
|
+
snapshotId,
|
|
105
|
+
snapshotRoot,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=run-analysis.js.map
|
|
109
|
+
//# debugId=22fe8582-d0a7-5587-85d0-4e932dfc7f38
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-analysis.js","sources":["../../../src/code-analyzer/orchestrator/run-analysis.ts"],"sourceRoot":"","sourcesContent":["import path from \"node:path\"\n\nimport { AnalyzerArtifacts, AnalyzerName, AnalyzerRun, ComponentDescriptor } from \"../analyzers/types.js\"\nimport { analyzeComponentUsage } from \"../analyzers/component-usage.js\"\nimport { analyzeJsDoc } from \"../analyzers/jsdoc.js\"\nimport { analyzeStaticComponents } from \"../analyzers/static-components.js\"\nimport { analyzeStorybookDocs } from \"../analyzers/storybook-docs.js\"\nimport { analyzeStorybookStories } from \"../analyzers/storybook-stories.js\"\nimport { analyzeTypescriptApi } from \"../analyzers/typescript-api.js\"\nimport { writeSnapshot } from \"../snapshot/write-snapshot.js\"\n\nexport type AnalyzeProjectInput = {\n designSystemId?: string\n excludePaths?: string[]\n importFrom: string | string[]\n mode?: \"all\" | \"components\" | \"usage\"\n projectRoot: string\n snapshotBaseRoot?: string\n runCommitSha?: string\n snapshotId?: string\n versionId?: string\n}\n\nexport type AnalyzeProjectOutput = {\n components: ComponentDescriptor[]\n snapshotId: string\n snapshotRoot: string\n}\n\nfunction createSnapshotId(): string {\n const now = new Date()\n const yyyy = now.getUTCFullYear()\n const mm = String(now.getUTCMonth() + 1).padStart(2, \"0\")\n const dd = String(now.getUTCDate()).padStart(2, \"0\")\n const hh = String(now.getUTCHours()).padStart(2, \"0\")\n const mi = String(now.getUTCMinutes()).padStart(2, \"0\")\n const ss = String(now.getUTCSeconds()).padStart(2, \"0\")\n const ms = String(now.getUTCMilliseconds()).padStart(3, \"0\")\n\n return `snap-${yyyy}${mm}${dd}-${hh}${mi}${ss}${ms}`\n}\n\nasync function runAnalyzer<T>(\n name: AnalyzerName,\n work: () => Promise<T>,\n): Promise<{ output?: T; run: AnalyzerRun }> {\n const startedAt = new Date().toISOString()\n const started = Date.now()\n\n try {\n const output = await work()\n return {\n output,\n run: {\n analyzer: name,\n durationMs: Date.now() - started,\n finishedAt: new Date().toISOString(),\n startedAt,\n status: \"done\",\n },\n }\n } catch (error) {\n return {\n run: {\n analyzer: name,\n durationMs: Date.now() - started,\n finishedAt: new Date().toISOString(),\n message: error instanceof Error ? error.message : String(error),\n startedAt,\n status: \"failed\",\n },\n }\n }\n}\n\nexport async function runCodeAnalysis(input: AnalyzeProjectInput): Promise<AnalyzeProjectOutput> {\n const snapshotId = input.snapshotId ?? createSnapshotId()\n const snapshotRoot = path.join(input.snapshotBaseRoot ?? input.projectRoot, \".supernova\", \"snapshots\", snapshotId)\n const excludePaths = input.excludePaths ?? []\n const mode = input.mode ?? \"components\"\n const runComponentPipeline = mode === \"components\" || mode === \"all\"\n const runUsagePipeline = mode === \"usage\" || mode === \"all\"\n const usageImportFromPackages = (Array.isArray(input.importFrom) ? input.importFrom : [input.importFrom])\n .map(item => item.trim())\n .filter(Boolean)\n\n const artifacts: AnalyzerArtifacts = {\n componentUsage: {},\n jsdoc: {},\n staticComponents: [],\n storybookDocs: {},\n storybookStories: {},\n typescriptApi: {},\n }\n let components: ComponentDescriptor[] = []\n\n if (runComponentPipeline) {\n const componentsImportFrom = Array.isArray(input.importFrom) ? input.importFrom[0] : input.importFrom\n const staticRun = await runAnalyzer(\"static-components\", async () =>\n analyzeStaticComponents(input.projectRoot, componentsImportFrom),\n )\n const staticResult = staticRun.output\n components = staticResult?.components ?? []\n artifacts.staticComponents = components\n\n const typescriptApiRun = await runAnalyzer(\"typescript-api\", async () =>\n staticResult ? analyzeTypescriptApi(staticResult) : Promise.resolve({}),\n )\n artifacts.typescriptApi = typescriptApiRun.output ?? {}\n\n const storiesRun = await runAnalyzer(\"storybook-stories\", async () =>\n analyzeStorybookStories(input.projectRoot, components, excludePaths),\n )\n artifacts.storybookStories = storiesRun.output ?? {}\n\n const docsRun = await runAnalyzer(\"storybook-docs\", async () =>\n analyzeStorybookDocs(input.projectRoot, components, excludePaths),\n )\n artifacts.storybookDocs = docsRun.output ?? {}\n\n const jsdocRun = await runAnalyzer(\"jsdoc\", async () =>\n staticResult ? analyzeJsDoc(staticResult) : Promise.resolve({}),\n )\n artifacts.jsdoc = jsdocRun.output ?? {}\n }\n\n if (runUsagePipeline) {\n const usageRun = await runAnalyzer(\"component-usage\", async () =>\n analyzeComponentUsage(input.projectRoot, components, input.importFrom, excludePaths),\n )\n artifacts.componentUsage = usageRun.output?.records ?? {}\n if (components.length === 0 && usageRun.output?.components.length) {\n components = usageRun.output.components\n }\n }\n\n await writeSnapshot({\n artifacts,\n rawArtifacts:\n mode === \"usage\"\n ? [\"component-usage\"]\n : mode === \"components\"\n ? [\"static-components\", \"typescript-api\", \"storybook-stories\", \"storybook-docs\", \"jsdoc\"]\n : [\"static-components\", \"typescript-api\", \"storybook-stories\", \"storybook-docs\", \"jsdoc\", \"component-usage\"],\n snapshotRoot,\n usageImportFromPackages,\n })\n\n return {\n components,\n snapshotId,\n snapshotRoot,\n }\n}\n"],"names":[],"mappings":"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","debug_id":"22fe8582-d0a7-5587-85d0-4e932dfc7f38"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/code-analyzer/snapshot/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="b1d36602-6dba-5745-9f45-abde550ade2f")}catch(e){}}();
|
|
3
|
+
export * from "./write-snapshot.js";
|
|
4
|
+
//# sourceMappingURL=index.js.map
|
|
5
|
+
//# debugId=b1d36602-6dba-5745-9f45-abde550ade2f
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/code-analyzer/snapshot/index.ts"],"sourceRoot":"","sourcesContent":["export * from \"./write-snapshot.js\"\n"],"names":[],"mappings":";;AAAA,cAAc,qBAAqB,CAAA","debug_id":"b1d36602-6dba-5745-9f45-abde550ade2f"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AnalyzerArtifacts, UsageRecord } from "../analyzers/types.js";
|
|
2
|
+
type Input = {
|
|
3
|
+
artifacts: AnalyzerArtifacts;
|
|
4
|
+
rawArtifacts?: RawArtifactName[];
|
|
5
|
+
snapshotRoot: string;
|
|
6
|
+
usageImportFromPackages?: string[];
|
|
7
|
+
};
|
|
8
|
+
type RawArtifactName = "static-components" | "typescript-api" | "storybook-stories" | "storybook-docs" | "jsdoc" | "component-usage";
|
|
9
|
+
export type ComponentUsageSnapshot = {
|
|
10
|
+
meta: {
|
|
11
|
+
importFromPackages: string[];
|
|
12
|
+
};
|
|
13
|
+
records: Record<string, UsageRecord>;
|
|
14
|
+
};
|
|
15
|
+
export declare function writeSnapshot(input: Input): Promise<void>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=write-snapshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-snapshot.d.ts","sourceRoot":"","sources":["../../../src/code-analyzer/snapshot/write-snapshot.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEtE,KAAK,KAAK,GAAG;IACX,SAAS,EAAE,iBAAiB,CAAA;IAC5B,YAAY,CAAC,EAAE,eAAe,EAAE,CAAA;IAChC,YAAY,EAAE,MAAM,CAAA;IACpB,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAA;CACnC,CAAA;AAED,KAAK,eAAe,GAChB,mBAAmB,GACnB,gBAAgB,GAChB,mBAAmB,GACnB,gBAAgB,GAChB,OAAO,GACP,iBAAiB,CAAA;AAErB,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE;QACJ,kBAAkB,EAAE,MAAM,EAAE,CAAA;KAC7B,CAAA;IACD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;CACrC,CAAA;AA8BD,wBAAsB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CA6C/D"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="6a383449-19a0-5392-ae86-5ab404c62766")}catch(e){}}();
|
|
3
|
+
import { mkdir, writeFile } from "node:fs/promises";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
async function ensureSnapshotLayout(snapshotRoot) {
|
|
6
|
+
await mkdir(path.join(snapshotRoot, "raw"), { recursive: true });
|
|
7
|
+
}
|
|
8
|
+
function isEmptyJsonPayload(payload) {
|
|
9
|
+
if (payload === null || payload === undefined) {
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
if (Array.isArray(payload)) {
|
|
13
|
+
return payload.length === 0;
|
|
14
|
+
}
|
|
15
|
+
if (typeof payload === "object") {
|
|
16
|
+
return Object.keys(payload).length === 0;
|
|
17
|
+
}
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
async function writeJson(filePath, payload) {
|
|
21
|
+
if (isEmptyJsonPayload(payload)) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
await writeFile(filePath, `${JSON.stringify(payload, null, 2)}\n`, "utf8");
|
|
25
|
+
}
|
|
26
|
+
export async function writeSnapshot(input) {
|
|
27
|
+
const { artifacts, snapshotRoot } = input;
|
|
28
|
+
await ensureSnapshotLayout(snapshotRoot);
|
|
29
|
+
const rawArtifacts = new Set(input.rawArtifacts ?? ["static-components", "typescript-api", "storybook-stories", "storybook-docs", "jsdoc", "component-usage"]);
|
|
30
|
+
if (rawArtifacts.has("static-components")) {
|
|
31
|
+
await writeJson(path.join(snapshotRoot, "raw", "static-components.json"), artifacts.staticComponents);
|
|
32
|
+
}
|
|
33
|
+
if (rawArtifacts.has("typescript-api")) {
|
|
34
|
+
await writeJson(path.join(snapshotRoot, "raw", "typescript-api.json"), artifacts.typescriptApi);
|
|
35
|
+
}
|
|
36
|
+
if (rawArtifacts.has("storybook-stories")) {
|
|
37
|
+
await writeJson(path.join(snapshotRoot, "raw", "storybook-stories.json"), artifacts.storybookStories);
|
|
38
|
+
}
|
|
39
|
+
if (rawArtifacts.has("storybook-docs")) {
|
|
40
|
+
await writeJson(path.join(snapshotRoot, "raw", "storybook-docs.json"), artifacts.storybookDocs);
|
|
41
|
+
}
|
|
42
|
+
if (rawArtifacts.has("jsdoc")) {
|
|
43
|
+
await writeJson(path.join(snapshotRoot, "raw", "jsdoc.json"), artifacts.jsdoc);
|
|
44
|
+
}
|
|
45
|
+
if (rawArtifacts.has("component-usage")) {
|
|
46
|
+
const usageRecords = artifacts.componentUsage;
|
|
47
|
+
if (isEmptyJsonPayload(usageRecords)) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const payload = {
|
|
51
|
+
meta: {
|
|
52
|
+
importFromPackages: [...new Set((input.usageImportFromPackages ?? []).map(item => item.trim()).filter(Boolean))].sort((a, b) => a.localeCompare(b)),
|
|
53
|
+
},
|
|
54
|
+
records: usageRecords,
|
|
55
|
+
};
|
|
56
|
+
await writeJson(path.join(snapshotRoot, "raw", "component-usage.json"), payload);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=write-snapshot.js.map
|
|
60
|
+
//# debugId=6a383449-19a0-5392-ae86-5ab404c62766
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-snapshot.js","sources":["../../../src/code-analyzer/snapshot/write-snapshot.ts"],"sourceRoot":"","sourcesContent":["import { mkdir, writeFile } from \"node:fs/promises\"\nimport path from \"node:path\"\n\nimport { AnalyzerArtifacts, UsageRecord } from \"../analyzers/types.js\"\n\ntype Input = {\n artifacts: AnalyzerArtifacts\n rawArtifacts?: RawArtifactName[]\n snapshotRoot: string\n usageImportFromPackages?: string[]\n}\n\ntype RawArtifactName =\n | \"static-components\"\n | \"typescript-api\"\n | \"storybook-stories\"\n | \"storybook-docs\"\n | \"jsdoc\"\n | \"component-usage\"\n\nexport type ComponentUsageSnapshot = {\n meta: {\n importFromPackages: string[]\n }\n records: Record<string, UsageRecord>\n}\n\nasync function ensureSnapshotLayout(snapshotRoot: string): Promise<void> {\n await mkdir(path.join(snapshotRoot, \"raw\"), { recursive: true })\n}\n\nfunction isEmptyJsonPayload(payload: unknown): boolean {\n if (payload === null || payload === undefined) {\n return true\n }\n\n if (Array.isArray(payload)) {\n return payload.length === 0\n }\n\n if (typeof payload === \"object\") {\n return Object.keys(payload as Record<string, unknown>).length === 0\n }\n\n return false\n}\n\nasync function writeJson(filePath: string, payload: unknown): Promise<void> {\n if (isEmptyJsonPayload(payload)) {\n return\n }\n\n await writeFile(filePath, `${JSON.stringify(payload, null, 2)}\\n`, \"utf8\")\n}\n\nexport async function writeSnapshot(input: Input): Promise<void> {\n const { artifacts, snapshotRoot } = input\n await ensureSnapshotLayout(snapshotRoot)\n\n const rawArtifacts = new Set<RawArtifactName>(\n input.rawArtifacts ?? [\"static-components\", \"typescript-api\", \"storybook-stories\", \"storybook-docs\", \"jsdoc\", \"component-usage\"],\n )\n\n if (rawArtifacts.has(\"static-components\")) {\n await writeJson(path.join(snapshotRoot, \"raw\", \"static-components.json\"), artifacts.staticComponents)\n }\n\n if (rawArtifacts.has(\"typescript-api\")) {\n await writeJson(path.join(snapshotRoot, \"raw\", \"typescript-api.json\"), artifacts.typescriptApi)\n }\n\n if (rawArtifacts.has(\"storybook-stories\")) {\n await writeJson(path.join(snapshotRoot, \"raw\", \"storybook-stories.json\"), artifacts.storybookStories)\n }\n\n if (rawArtifacts.has(\"storybook-docs\")) {\n await writeJson(path.join(snapshotRoot, \"raw\", \"storybook-docs.json\"), artifacts.storybookDocs)\n }\n\n if (rawArtifacts.has(\"jsdoc\")) {\n await writeJson(path.join(snapshotRoot, \"raw\", \"jsdoc.json\"), artifacts.jsdoc)\n }\n\n if (rawArtifacts.has(\"component-usage\")) {\n const usageRecords = artifacts.componentUsage\n if (isEmptyJsonPayload(usageRecords)) {\n return\n }\n\n const payload: ComponentUsageSnapshot = {\n meta: {\n importFromPackages: [...new Set((input.usageImportFromPackages ?? []).map(item => item.trim()).filter(Boolean))].sort(\n (a, b) => a.localeCompare(b),\n ),\n },\n records: usageRecords,\n }\n\n await writeJson(path.join(snapshotRoot, \"raw\", \"component-usage.json\"), payload)\n }\n}\n"],"names":[],"mappings":"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","debug_id":"6a383449-19a0-5392-ae86-5ab404c62766"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AnalyzeCommandBase } from "../../utils/analyze-command.js";
|
|
2
|
+
export default class AnalyzeAdoption extends AnalyzeCommandBase {
|
|
3
|
+
static hidden: boolean;
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
designSystemId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
package: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
exclude: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
dryRun: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
noWait: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=adoption.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adoption.d.ts","sourceRoot":"","sources":["../../../src/commands/analyze/adoption.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAgB,MAAM,gCAAgC,CAAA;AAEjF,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,kBAAkB;IAC7D,OAAgB,MAAM,UAAO;IAC7B,OAAgB,WAAW,SAAsE;IACjG,OAAgB,QAAQ,WAGvB;IACD,OAAgB,KAAK;;;;;;MAAe;IAGvB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAIlC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="1312306f-3ab0-5d68-a8b3-7bccb1df5b10")}catch(e){}}();
|
|
3
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
4
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
5
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
6
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
7
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
8
|
+
};
|
|
9
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
10
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
11
|
+
};
|
|
12
|
+
import { SentryTraced } from "@sentry/nestjs";
|
|
13
|
+
import { AnalyzeCommandBase, analyzeFlags } from "../../utils/analyze-command.js";
|
|
14
|
+
export default class AnalyzeAdoption extends AnalyzeCommandBase {
|
|
15
|
+
static hidden = true;
|
|
16
|
+
static description = "Analyze package adoption and push adoption snapshots to Supernova";
|
|
17
|
+
static examples = [
|
|
18
|
+
"<%= config.bin %> <%= command.id %> --designSystemId 123 --package @acme/ds",
|
|
19
|
+
"<%= config.bin %> <%= command.id %> --package @acme/ds --dry-run",
|
|
20
|
+
];
|
|
21
|
+
static flags = analyzeFlags;
|
|
22
|
+
async run() {
|
|
23
|
+
const { flags } = await this.parse(AnalyzeAdoption);
|
|
24
|
+
await this.executeAnalyze(flags, "usage");
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
__decorate([
|
|
28
|
+
SentryTraced(),
|
|
29
|
+
__metadata("design:type", Function),
|
|
30
|
+
__metadata("design:paramtypes", []),
|
|
31
|
+
__metadata("design:returntype", Promise)
|
|
32
|
+
], AnalyzeAdoption.prototype, "run", null);
|
|
33
|
+
//# sourceMappingURL=adoption.js.map
|
|
34
|
+
//# debugId=1312306f-3ab0-5d68-a8b3-7bccb1df5b10
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adoption.js","sources":["../../../src/commands/analyze/adoption.ts"],"sourceRoot":"","sourcesContent":["import { SentryTraced } from \"@sentry/nestjs\"\n\nimport { AnalyzeCommandBase, analyzeFlags } from \"../../utils/analyze-command.js\"\n\nexport default class AnalyzeAdoption extends AnalyzeCommandBase {\n static override hidden = true\n static override description = \"Analyze package adoption and push adoption snapshots to Supernova\"\n static override examples = [\n \"<%= config.bin %> <%= command.id %> --designSystemId 123 --package @acme/ds\",\n \"<%= config.bin %> <%= command.id %> --package @acme/ds --dry-run\",\n ]\n static override flags = analyzeFlags\n\n @SentryTraced()\n public async run(): Promise<void> {\n const { flags } = await this.parse(AnalyzeAdoption)\n await this.executeAnalyze(flags, \"usage\")\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAEjF,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,kBAAkB;IAC7D,MAAM,CAAU,MAAM,GAAG,IAAI,CAAA;IAC7B,MAAM,CAAU,WAAW,GAAG,mEAAmE,CAAA;IACjG,MAAM,CAAU,QAAQ,GAAG;QACzB,6EAA6E;QAC7E,kEAAkE;KACnE,CAAA;IACD,MAAM,CAAU,KAAK,GAAG,YAAY,CAAA;IAGvB,AAAN,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QACnD,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;;AAHY;IADZ,YAAY,EAAE;;;;0CAId","debug_id":"1312306f-3ab0-5d68-a8b3-7bccb1df5b10"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AnalyzeCommandBase } from "../../utils/analyze-command.js";
|
|
2
|
+
export default class AnalyzeComponents extends AnalyzeCommandBase {
|
|
3
|
+
static hidden: boolean;
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
designSystemId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
package: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
exclude: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
dryRun: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
noWait: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=components.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/commands/analyze/components.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAgB,MAAM,gCAAgC,CAAA;AAEjF,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,kBAAkB;IAC/D,OAAgB,MAAM,UAAO;IAC7B,OAAgB,WAAW,SAA+E;IAC1G,OAAgB,QAAQ,WAGvB;IACD,OAAgB,KAAK;;;;;;MAAe;IAGvB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAIlC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="e15aba56-cfab-5cc4-84bf-1599ee1cfdb8")}catch(e){}}();
|
|
3
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
4
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
5
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
6
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
7
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
8
|
+
};
|
|
9
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
10
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
11
|
+
};
|
|
12
|
+
import { SentryTraced } from "@sentry/nestjs";
|
|
13
|
+
import { AnalyzeCommandBase, analyzeFlags } from "../../utils/analyze-command.js";
|
|
14
|
+
export default class AnalyzeComponents extends AnalyzeCommandBase {
|
|
15
|
+
static hidden = true;
|
|
16
|
+
static description = "Analyze design system components and push component snapshots to Supernova";
|
|
17
|
+
static examples = [
|
|
18
|
+
"<%= config.bin %> <%= command.id %> --designSystemId 123 --package @acme/ds",
|
|
19
|
+
"<%= config.bin %> <%= command.id %> --package @acme/ds --dry-run",
|
|
20
|
+
];
|
|
21
|
+
static flags = analyzeFlags;
|
|
22
|
+
async run() {
|
|
23
|
+
const { flags } = await this.parse(AnalyzeComponents);
|
|
24
|
+
await this.executeAnalyze(flags, "components");
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
__decorate([
|
|
28
|
+
SentryTraced(),
|
|
29
|
+
__metadata("design:type", Function),
|
|
30
|
+
__metadata("design:paramtypes", []),
|
|
31
|
+
__metadata("design:returntype", Promise)
|
|
32
|
+
], AnalyzeComponents.prototype, "run", null);
|
|
33
|
+
//# sourceMappingURL=components.js.map
|
|
34
|
+
//# debugId=e15aba56-cfab-5cc4-84bf-1599ee1cfdb8
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.js","sources":["../../../src/commands/analyze/components.ts"],"sourceRoot":"","sourcesContent":["import { SentryTraced } from \"@sentry/nestjs\"\n\nimport { AnalyzeCommandBase, analyzeFlags } from \"../../utils/analyze-command.js\"\n\nexport default class AnalyzeComponents extends AnalyzeCommandBase {\n static override hidden = true\n static override description = \"Analyze design system components and push component snapshots to Supernova\"\n static override examples = [\n \"<%= config.bin %> <%= command.id %> --designSystemId 123 --package @acme/ds\",\n \"<%= config.bin %> <%= command.id %> --package @acme/ds --dry-run\",\n ]\n static override flags = analyzeFlags\n\n @SentryTraced()\n public async run(): Promise<void> {\n const { flags } = await this.parse(AnalyzeComponents)\n await this.executeAnalyze(flags, \"components\")\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAEjF,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,kBAAkB;IAC/D,MAAM,CAAU,MAAM,GAAG,IAAI,CAAA;IAC7B,MAAM,CAAU,WAAW,GAAG,4EAA4E,CAAA;IAC1G,MAAM,CAAU,QAAQ,GAAG;QACzB,6EAA6E;QAC7E,kEAAkE;KACnE,CAAA;IACD,MAAM,CAAU,KAAK,GAAG,YAAY,CAAA;IAGvB,AAAN,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACrD,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IAChD,CAAC;;AAHY;IADZ,YAAY,EAAE;;;;4CAId","debug_id":"e15aba56-cfab-5cc4-84bf-1599ee1cfdb8"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { z, ZodType } from "zod";
|
|
2
|
+
import { SentryCommand } from "../../types/index.js";
|
|
3
|
+
declare const AnalyzeStatusConfig: z.ZodObject<{
|
|
4
|
+
designSystemId: z.ZodOptional<z.ZodString>;
|
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
|
6
|
+
designSystemId?: string | undefined;
|
|
7
|
+
}, {
|
|
8
|
+
designSystemId?: string | undefined;
|
|
9
|
+
}>;
|
|
10
|
+
type AnalyzeStatusConfig = z.infer<typeof AnalyzeStatusConfig>;
|
|
11
|
+
export default class AnalyzeStatus extends SentryCommand<AnalyzeStatusConfig> {
|
|
12
|
+
static hidden: boolean;
|
|
13
|
+
static args: {};
|
|
14
|
+
static description: string;
|
|
15
|
+
static examples: string[];
|
|
16
|
+
static flags: {
|
|
17
|
+
designSystemId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
};
|
|
19
|
+
get commandId(): string;
|
|
20
|
+
get configSchema(): ZodType<AnalyzeStatusConfig>;
|
|
21
|
+
run(): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/commands/analyze/status.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAIpD,QAAA,MAAM,mBAAmB;;;;;;EAEvB,CAAA;AAEF,KAAK,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE9D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,aAAa,CAAC,mBAAmB,CAAC;IAC3E,OAAgB,MAAM,UAAO;IAC7B,OAAgB,IAAI,KAAK;IACzB,OAAgB,WAAW,SAA0D;IACrF,OAAgB,QAAQ,WAA+D;IACvF,OAAgB,KAAK;;MAEpB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,YAAY,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAE/C;IAGY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAYlC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="9b414a25-ffd6-56d4-9196-e9ef1b31464d")}catch(e){}}();
|
|
3
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
4
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
5
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
6
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
7
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
8
|
+
};
|
|
9
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
10
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
11
|
+
};
|
|
12
|
+
import { Flags } from "@oclif/core";
|
|
13
|
+
import { SentryTraced } from "@sentry/nestjs";
|
|
14
|
+
import { z } from "zod";
|
|
15
|
+
import { SentryCommand } from "../../types/index.js";
|
|
16
|
+
import { watchAnalyzeStatus } from "../../utils/analyze-status.js";
|
|
17
|
+
import { createApiClient } from "../../utils/http-client.js";
|
|
18
|
+
const AnalyzeStatusConfig = z.object({
|
|
19
|
+
designSystemId: z.string().optional(),
|
|
20
|
+
});
|
|
21
|
+
export default class AnalyzeStatus extends SentryCommand {
|
|
22
|
+
static hidden = true;
|
|
23
|
+
static args = {};
|
|
24
|
+
static description = "Show code snapshot processing status for current user";
|
|
25
|
+
static examples = ["<%= config.bin %> <%= command.id %> --designSystemId 123"];
|
|
26
|
+
static flags = {
|
|
27
|
+
designSystemId: Flags.string({ char: "d", description: "Design system ID" }),
|
|
28
|
+
};
|
|
29
|
+
get commandId() {
|
|
30
|
+
return AnalyzeStatus.id;
|
|
31
|
+
}
|
|
32
|
+
get configSchema() {
|
|
33
|
+
return AnalyzeStatusConfig;
|
|
34
|
+
}
|
|
35
|
+
async run() {
|
|
36
|
+
const { flags } = await this.parse(AnalyzeStatus);
|
|
37
|
+
const config = this.configService.get();
|
|
38
|
+
const designSystemId = flags.designSystemId ?? config?.designSystemId ?? (await this.promptDesignSystemId());
|
|
39
|
+
const apiClient = await createApiClient(this.env);
|
|
40
|
+
await watchAnalyzeStatus({
|
|
41
|
+
apiClient,
|
|
42
|
+
designSystemId,
|
|
43
|
+
error: message => this.error(message),
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
__decorate([
|
|
48
|
+
SentryTraced(),
|
|
49
|
+
__metadata("design:type", Function),
|
|
50
|
+
__metadata("design:paramtypes", []),
|
|
51
|
+
__metadata("design:returntype", Promise)
|
|
52
|
+
], AnalyzeStatus.prototype, "run", null);
|
|
53
|
+
//# sourceMappingURL=status.js.map
|
|
54
|
+
//# debugId=9b414a25-ffd6-56d4-9196-e9ef1b31464d
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sources":["../../../src/commands/analyze/status.ts"],"sourceRoot":"","sourcesContent":["import { Flags } from \"@oclif/core\"\nimport { SentryTraced } from \"@sentry/nestjs\"\nimport { z, ZodType } from \"zod\"\n\nimport { SentryCommand } from \"../../types/index.js\"\nimport { watchAnalyzeStatus } from \"../../utils/analyze-status.js\"\nimport { createApiClient } from \"../../utils/http-client.js\"\n\nconst AnalyzeStatusConfig = z.object({\n designSystemId: z.string().optional(),\n})\n\ntype AnalyzeStatusConfig = z.infer<typeof AnalyzeStatusConfig>\n\nexport default class AnalyzeStatus extends SentryCommand<AnalyzeStatusConfig> {\n static override hidden = true\n static override args = {}\n static override description = \"Show code snapshot processing status for current user\"\n static override examples = [\"<%= config.bin %> <%= command.id %> --designSystemId 123\"]\n static override flags = {\n designSystemId: Flags.string({ char: \"d\", description: \"Design system ID\" }),\n }\n\n get commandId(): string {\n return AnalyzeStatus.id\n }\n\n get configSchema(): ZodType<AnalyzeStatusConfig> {\n return AnalyzeStatusConfig\n }\n\n @SentryTraced()\n public async run(): Promise<void> {\n const { flags } = await this.parse(AnalyzeStatus)\n const config = this.configService.get()\n const designSystemId = flags.designSystemId ?? config?.designSystemId ?? (await this.promptDesignSystemId())\n const apiClient = await createApiClient(this.env)\n\n await watchAnalyzeStatus({\n apiClient,\n designSystemId,\n error: message => this.error(message),\n })\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,CAAC,EAAW,MAAM,KAAK,CAAA;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAA;AAIF,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,aAAkC;IAC3E,MAAM,CAAU,MAAM,GAAG,IAAI,CAAA;IAC7B,MAAM,CAAU,IAAI,GAAG,EAAE,CAAA;IACzB,MAAM,CAAU,WAAW,GAAG,uDAAuD,CAAA;IACrF,MAAM,CAAU,QAAQ,GAAG,CAAC,0DAA0D,CAAC,CAAA;IACvF,MAAM,CAAU,KAAK,GAAG;QACtB,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;KAC7E,CAAA;IAED,IAAI,SAAS;QACX,OAAO,aAAa,CAAC,EAAE,CAAA;IACzB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,mBAAmB,CAAA;IAC5B,CAAC;IAGY,AAAN,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAA;QACvC,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,IAAI,MAAM,EAAE,cAAc,IAAI,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAA;QAC5G,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEjD,MAAM,kBAAkB,CAAC;YACvB,SAAS;YACT,cAAc;YACd,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;SACtC,CAAC,CAAA;IACJ,CAAC;;AAXY;IADZ,YAAY,EAAE;;;;wCAYd","debug_id":"9b414a25-ffd6-56d4-9196-e9ef1b31464d"}
|