@component-compass/cli 0.0.2 → 0.0.4
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/dist/cli.js +5 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/init.js +1 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/scan.d.ts +13 -1
- package/dist/commands/scan.js +192 -72
- package/dist/commands/scan.js.map +1 -1
- package/dist/composition-rollup.d.ts +16 -14
- package/dist/composition-rollup.js +33 -43
- package/dist/composition-rollup.js.map +1 -1
- package/dist/config/loader.js +5 -9
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +2 -15
- package/dist/config/schema.js.map +1 -1
- package/dist/envelope/index.d.ts +0 -9
- package/dist/envelope/index.js +1 -46
- package/dist/envelope/index.js.map +1 -1
- package/dist/identity.d.ts +19 -17
- package/dist/identity.js +42 -21
- package/dist/identity.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/local-index/detect-react.d.ts +2 -1
- package/dist/local-index/detect-react.js +269 -72
- package/dist/local-index/detect-react.js.map +1 -1
- package/dist/local-index/detect-vue.d.ts +15 -1
- package/dist/local-index/detect-vue.js +130 -107
- package/dist/local-index/detect-vue.js.map +1 -1
- package/dist/local-index/detect-wc.d.ts +7 -1
- package/dist/local-index/detect-wc.js +56 -60
- package/dist/local-index/detect-wc.js.map +1 -1
- package/dist/local-index/index.d.ts +12 -4
- package/dist/local-index/index.js +40 -25
- package/dist/local-index/index.js.map +1 -1
- package/dist/manifest/barrel-parser.d.ts +10 -0
- package/dist/manifest/barrel-parser.js +11 -0
- package/dist/manifest/barrel-parser.js.map +1 -1
- package/dist/manifest/derived-manifest-stub.d.ts +16 -7
- package/dist/manifest/derived-manifest-stub.js +43 -7
- package/dist/manifest/derived-manifest-stub.js.map +1 -1
- package/dist/manifest/lazy-resolver.d.ts +52 -34
- package/dist/manifest/lazy-resolver.js +269 -69
- package/dist/manifest/lazy-resolver.js.map +1 -1
- package/dist/occurrences.d.ts +4 -4
- package/dist/occurrences.js +49 -9
- package/dist/occurrences.js.map +1 -1
- package/dist/parse-by-ext.d.ts +21 -0
- package/dist/parse-by-ext.js +53 -0
- package/dist/parse-by-ext.js.map +1 -0
- package/dist/reporter/index.d.ts +27 -28
- package/dist/reporter/index.js +99 -58
- package/dist/reporter/index.js.map +1 -1
- package/dist/reporter/stdout.js +4 -4
- package/dist/reporter/stdout.js.map +1 -1
- package/dist/rollup.d.ts +13 -6
- package/dist/rollup.js +9 -6
- package/dist/rollup.js.map +1 -1
- package/dist/scan/cem-index.d.ts +38 -0
- package/dist/scan/cem-index.js +139 -0
- package/dist/scan/cem-index.js.map +1 -0
- package/dist/scan/git-mtime.d.ts +2 -0
- package/dist/scan/git-mtime.js +22 -0
- package/dist/scan/git-mtime.js.map +1 -0
- package/dist/scan/meta.d.ts +5 -0
- package/dist/scan/meta.js +58 -0
- package/dist/scan/meta.js.map +1 -0
- package/dist/scan/stamp-deprecated.d.ts +16 -0
- package/dist/scan/stamp-deprecated.js +33 -0
- package/dist/scan/stamp-deprecated.js.map +1 -0
- package/dist/scan/stamp-version.d.ts +18 -0
- package/dist/scan/stamp-version.js +94 -0
- package/dist/scan/stamp-version.js.map +1 -0
- package/dist/seeds.d.ts +20 -19
- package/dist/seeds.js +136 -68
- package/dist/seeds.js.map +1 -1
- package/dist/types.d.ts +2 -5
- package/dist/util/git.d.ts +8 -0
- package/dist/util/git.js +73 -0
- package/dist/util/git.js.map +1 -1
- package/dist/util/progress.d.ts +21 -0
- package/dist/util/progress.js +54 -0
- package/dist/util/progress.js.map +1 -0
- package/dist/walker/files.d.ts +1 -0
- package/dist/walker/files.js +11 -5
- package/dist/walker/files.js.map +1 -1
- package/dist/workspace/build-graph.d.ts +2 -0
- package/dist/workspace/build-graph.js +117 -0
- package/dist/workspace/build-graph.js.map +1 -0
- package/dist/workspace/declared-deps.d.ts +5 -0
- package/dist/workspace/declared-deps.js +42 -0
- package/dist/workspace/declared-deps.js.map +1 -0
- package/dist/workspace/find-owning-package.d.ts +8 -0
- package/dist/workspace/find-owning-package.js +69 -0
- package/dist/workspace/find-owning-package.js.map +1 -0
- package/dist/workspace/index.d.ts +4 -0
- package/dist/workspace/index.js +4 -0
- package/dist/workspace/index.js.map +1 -0
- package/dist/workspace/types.d.ts +46 -0
- package/dist/workspace/types.js +13 -0
- package/dist/workspace/types.js.map +1 -0
- package/package.json +15 -7
- package/schema/config.schema.json +2 -24
- package/dist/config/tag-rules.d.ts +0 -2
- package/dist/config/tag-rules.js +0 -34
- package/dist/config/tag-rules.js.map +0 -1
- package/dist/local-index/walker.d.ts +0 -11
- package/dist/local-index/walker.js +0 -47
- package/dist/local-index/walker.js.map +0 -1
- package/dist/manifest/diagnostic-filter.d.ts +0 -12
- package/dist/manifest/diagnostic-filter.js +0 -23
- package/dist/manifest/diagnostic-filter.js.map +0 -1
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
export function applyCompositionRollup(components, occurrences) {
|
|
2
|
-
|
|
3
|
-
const
|
|
2
|
+
const childrenByOwner = new Map();
|
|
3
|
+
const ownersByChild = new Map();
|
|
4
|
+
const rootCountByChild = new Map();
|
|
4
5
|
for (const o of occurrences) {
|
|
5
|
-
if (o.
|
|
6
|
-
let m =
|
|
6
|
+
if (o.ownerComponentId) {
|
|
7
|
+
let m = childrenByOwner.get(o.ownerComponentId);
|
|
7
8
|
if (!m) {
|
|
8
9
|
m = new Map();
|
|
9
|
-
|
|
10
|
+
childrenByOwner.set(o.ownerComponentId, m);
|
|
10
11
|
}
|
|
11
12
|
m.set(o.componentId, (m.get(o.componentId) ?? 0) + 1);
|
|
13
|
+
let m2 = ownersByChild.get(o.componentId);
|
|
14
|
+
if (!m2) {
|
|
15
|
+
m2 = new Map();
|
|
16
|
+
ownersByChild.set(o.componentId, m2);
|
|
17
|
+
}
|
|
18
|
+
m2.set(o.ownerComponentId, (m2.get(o.ownerComponentId) ?? 0) + 1);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
rootCountByChild.set(o.componentId, (rootCountByChild.get(o.componentId) ?? 0) + 1);
|
|
12
22
|
}
|
|
13
23
|
}
|
|
14
|
-
// Group occurrences by componentId once, for per-component aggregation.
|
|
15
24
|
const occsByComp = new Map();
|
|
16
25
|
for (const o of occurrences) {
|
|
17
26
|
const list = occsByComp.get(o.componentId);
|
|
@@ -20,53 +29,34 @@ export function applyCompositionRollup(components, occurrences) {
|
|
|
20
29
|
else
|
|
21
30
|
occsByComp.set(o.componentId, [o]);
|
|
22
31
|
}
|
|
32
|
+
const validIds = new Set(components.map((c) => c.id));
|
|
23
33
|
return components.map((c) => {
|
|
24
|
-
const occs = occsByComp.get(c.id) ?? [];
|
|
25
|
-
if (occs.length === 0)
|
|
26
|
-
return c;
|
|
27
34
|
const rendersByCount = {};
|
|
28
35
|
const renderedByCount = {};
|
|
29
|
-
|
|
36
|
+
const isRootCount = rootCountByChild.get(c.id) ?? 0;
|
|
30
37
|
let isLeafCount = 0;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
if (
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
isRootCount++;
|
|
50
|
-
}
|
|
51
|
-
if (childCount === 0)
|
|
52
|
-
isLeafCount++;
|
|
53
|
-
const d = o.depth ?? 0;
|
|
54
|
-
depthSum += d;
|
|
55
|
-
if (d > maxDepth)
|
|
56
|
-
maxDepth = d;
|
|
57
|
-
totalChildCount += childCount;
|
|
58
|
-
if (childCount > maxChildCount)
|
|
59
|
-
maxChildCount = childCount;
|
|
38
|
+
const renders = childrenByOwner.get(c.id);
|
|
39
|
+
if (renders)
|
|
40
|
+
for (const [childId, n] of renders)
|
|
41
|
+
rendersByCount[childId] = n;
|
|
42
|
+
const owners = ownersByChild.get(c.id);
|
|
43
|
+
if (owners)
|
|
44
|
+
for (const [ownerId, n] of owners)
|
|
45
|
+
renderedByCount[ownerId] = n;
|
|
46
|
+
for (const k of Object.keys(rendersByCount))
|
|
47
|
+
if (!validIds.has(k))
|
|
48
|
+
delete rendersByCount[k];
|
|
49
|
+
for (const k of Object.keys(renderedByCount))
|
|
50
|
+
if (!validIds.has(k))
|
|
51
|
+
delete renderedByCount[k];
|
|
52
|
+
if (Object.keys(rendersByCount).length === 0) {
|
|
53
|
+
isLeafCount = (occsByComp.get(c.id) ?? []).length;
|
|
60
54
|
}
|
|
61
55
|
const composition = {
|
|
62
56
|
rendersByCount,
|
|
63
57
|
renderedByCount,
|
|
64
58
|
isRootCount,
|
|
65
59
|
isLeafCount,
|
|
66
|
-
avgDepth: depthSum / occs.length,
|
|
67
|
-
maxDepth,
|
|
68
|
-
avgChildCount: totalChildCount / occs.length,
|
|
69
|
-
maxChildCount,
|
|
70
60
|
};
|
|
71
61
|
return { ...c, composition };
|
|
72
62
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composition-rollup.js","sourceRoot":"","sources":["../src/composition-rollup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"composition-rollup.js","sourceRoot":"","sources":["../src/composition-rollup.ts"],"names":[],"mappings":"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"}
|
package/dist/config/loader.js
CHANGED
|
@@ -28,10 +28,7 @@ export async function loadConfig(configPath) {
|
|
|
28
28
|
// Pre-validation legacy field detection so we surface a migration message
|
|
29
29
|
// rather than a generic "additional property" AJV error.
|
|
30
30
|
if (parsed && typeof parsed === "object" && "manifests" in parsed) {
|
|
31
|
-
throw new ConfigError("CONFIG_INVALID", `${abs}: the \`manifests\` field was removed. Replace with \`
|
|
32
|
-
}
|
|
33
|
-
if (parsed && typeof parsed === "object" && "manifestSources" in parsed) {
|
|
34
|
-
throw new ConfigError("CONFIG_INVALID", `${abs}: the \`manifestSources\` field was removed in Phase 1 (lazy resolution). Lazy follow now handles aggregator chains automatically. Drop the field; if you have a bundled-barrel package, ship a component-compass-manifest.json at its package root. See docs/usage.md.`);
|
|
31
|
+
throw new ConfigError("CONFIG_INVALID", `${abs}: the \`manifests\` field was removed. Replace with \`include\` (array of glob patterns for files to scan). See docs/usage.md.`);
|
|
35
32
|
}
|
|
36
33
|
if (!validateConfig(parsed)) {
|
|
37
34
|
const issues = (validateConfig.errors ?? [])
|
|
@@ -40,25 +37,24 @@ export async function loadConfig(configPath) {
|
|
|
40
37
|
throw new ConfigError("CONFIG_INVALID", `Invalid config at ${abs}: ${issues}`);
|
|
41
38
|
}
|
|
42
39
|
// parsed is now narrowed to ConfigFile by the typed validator.
|
|
43
|
-
// Default
|
|
40
|
+
// Default gitignore to true; opting out is the WIP / untracked-source case.
|
|
44
41
|
const resolved = {
|
|
45
42
|
configPath: abs,
|
|
46
43
|
configDir: dirname(abs),
|
|
47
|
-
repoId: parsed.repoId,
|
|
48
|
-
packageScopes: parsed.packageScopes ?? [],
|
|
49
44
|
include: parsed.include,
|
|
50
45
|
exclude: parsed.exclude ?? [],
|
|
51
46
|
captureValues: parsed.captureValues ?? false,
|
|
52
47
|
output: parsed.output ?? "./component-compass.json",
|
|
48
|
+
gitignore: parsed.gitignore ?? true,
|
|
53
49
|
};
|
|
54
50
|
// Optional passthroughs — only assigned when present so we satisfy
|
|
55
51
|
// `exactOptionalPropertyTypes` (undefined ≠ absent).
|
|
52
|
+
if (parsed.repoId !== undefined)
|
|
53
|
+
resolved.repoId = parsed.repoId;
|
|
56
54
|
if (parsed.tsconfigPath !== undefined)
|
|
57
55
|
resolved.tsconfigPath = parsed.tsconfigPath;
|
|
58
56
|
if (parsed.aliases !== undefined)
|
|
59
57
|
resolved.aliases = parsed.aliases;
|
|
60
|
-
if (parsed.tagRules !== undefined)
|
|
61
|
-
resolved.tagRules = parsed.tagRules;
|
|
62
58
|
return resolved;
|
|
63
59
|
}
|
|
64
60
|
//# sourceMappingURL=loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,MAAM,OAAO,WAAY,SAAQ,KAAK;IACjB;IAAnB,YAAmB,IAAyC,EAAE,OAAe;QAC3E,KAAK,CAAC,OAAO,CAAC,CAAC;QADE,SAAI,GAAJ,IAAI,CAAqC;IAE5D,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAAkB;IACjD,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;IAErF,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,WAAW,CACnB,gBAAgB,EAChB,yCAAyC,GAAG,mDAAmD,CAChG,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACxC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,WAAW,CAAC,gBAAgB,EAAE,GAAG,GAAG,uBAAuB,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,0EAA0E;IAC1E,yDAAyD;IACzD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;QAClE,MAAM,IAAI,WAAW,CACnB,gBAAgB,EAChB,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -1,31 +1,18 @@
|
|
|
1
1
|
import type { ValidateFunction } from "ajv";
|
|
2
|
-
/**
|
|
3
|
-
* A single tag rule maps imports from a matching package to an arbitrary tag
|
|
4
|
-
* string surfaced on Component identities. v1 only supports matching by
|
|
5
|
-
* `packageName` (exact); the schema's `additionalProperties: false` on `match`
|
|
6
|
-
* rejects other keys with a clear validation error.
|
|
7
|
-
*/
|
|
8
|
-
export type TagRule = {
|
|
9
|
-
tag: string;
|
|
10
|
-
match: {
|
|
11
|
-
packageName: string;
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
2
|
/**
|
|
15
3
|
* Shape of a parsed component-compass.config.json after AJV validation.
|
|
16
4
|
* Mirrors schema/config.schema.json. loader.ts applies defaults for optional
|
|
17
5
|
* fields when producing ResolvedConfig.
|
|
18
6
|
*/
|
|
19
7
|
export interface ConfigFile {
|
|
20
|
-
repoId
|
|
21
|
-
packageScopes?: string[];
|
|
8
|
+
repoId?: string;
|
|
22
9
|
include: string[];
|
|
23
10
|
exclude?: string[];
|
|
24
11
|
captureValues?: boolean;
|
|
25
12
|
output?: string;
|
|
13
|
+
gitignore?: boolean;
|
|
26
14
|
$schema?: string;
|
|
27
15
|
tsconfigPath?: string;
|
|
28
16
|
aliases?: Record<string, string[]>;
|
|
29
|
-
tagRules?: TagRule[];
|
|
30
17
|
}
|
|
31
18
|
export declare const validateConfig: ValidateFunction<ConfigFile>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE7C,sEAAsE;AACtE,6EAA6E;AAC7E,0EAA0E;AAC1E,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAA2B,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;AAE7E,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,iCAAiC,CAAC,CAAC;AACzE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE7C,sEAAsE;AACtE,6EAA6E;AAC7E,0EAA0E;AAC1E,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAA2B,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;AAE7E,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,iCAAiC,CAAC,CAAC;AACzE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AAmBhE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,cAAc,GACzB,GAAG,CAAC,OAAO,CAAa,UAAU,CAAC,CAAC"}
|
package/dist/envelope/index.d.ts
CHANGED
|
@@ -1,10 +1 @@
|
|
|
1
|
-
import type { ScanEnvelope } from "@component-compass/plugin-core";
|
|
2
|
-
export type BuildEnvelopeOptions = {
|
|
3
|
-
cwd: string;
|
|
4
|
-
cliRepoIdFlag?: string | undefined;
|
|
5
|
-
/** Path to @component-compass/cli's own package.json directory. Optional;
|
|
6
|
-
* defaults to the CLI package root resolved via `import.meta.url`. */
|
|
7
|
-
packageRoot?: string;
|
|
8
|
-
};
|
|
9
|
-
export declare function buildScanEnvelope(opts: BuildEnvelopeOptions): ScanEnvelope;
|
|
10
1
|
export declare function readToolVersion(packageRoot: string): string;
|
package/dist/envelope/index.js
CHANGED
|
@@ -1,26 +1,5 @@
|
|
|
1
1
|
import { readFileSync } from "node:fs";
|
|
2
|
-
import {
|
|
3
|
-
import { fileURLToPath } from "node:url";
|
|
4
|
-
import { ulid } from "ulid";
|
|
5
|
-
import { resolveBranch, resolveCommitSha } from "./git.js";
|
|
6
|
-
import { resolveRepoId } from "./repo-id.js";
|
|
7
|
-
export function buildScanEnvelope(opts) {
|
|
8
|
-
const { value: repoId } = resolveRepoId({
|
|
9
|
-
cwd: opts.cwd,
|
|
10
|
-
cliFlag: opts.cliRepoIdFlag,
|
|
11
|
-
// biome-ignore lint/complexity/useLiteralKeys: tsconfig noPropertyAccessFromIndexSignature requires bracket access on process.env
|
|
12
|
-
envOverride: process.env["COMPONENT_COMPASS_REPO_ID"],
|
|
13
|
-
});
|
|
14
|
-
return {
|
|
15
|
-
scanId: ulid(),
|
|
16
|
-
repoId,
|
|
17
|
-
commitSha: resolveCommitSha(opts.cwd),
|
|
18
|
-
branch: resolveBranch(opts.cwd),
|
|
19
|
-
timestamp: new Date().toISOString(),
|
|
20
|
-
toolVersion: readToolVersion(opts.packageRoot ?? defaultPackageRoot()),
|
|
21
|
-
cwd: opts.cwd,
|
|
22
|
-
};
|
|
23
|
-
}
|
|
2
|
+
import { join } from "node:path";
|
|
24
3
|
export function readToolVersion(packageRoot) {
|
|
25
4
|
try {
|
|
26
5
|
const pkg = JSON.parse(readFileSync(join(packageRoot, "package.json"), "utf8"));
|
|
@@ -30,28 +9,4 @@ export function readToolVersion(packageRoot) {
|
|
|
30
9
|
return "0.0.0";
|
|
31
10
|
}
|
|
32
11
|
}
|
|
33
|
-
/**
|
|
34
|
-
* Walk up from this module's directory until we find a `package.json` whose
|
|
35
|
-
* `name` is `@component-compass/cli`. Robust to running from `dist/` or `src/`
|
|
36
|
-
* (vitest) without hardcoding a relative depth.
|
|
37
|
-
*/
|
|
38
|
-
function defaultPackageRoot() {
|
|
39
|
-
let dir = dirname(fileURLToPath(import.meta.url));
|
|
40
|
-
for (let i = 0; i < 6; i++) {
|
|
41
|
-
const candidate = join(dir, "package.json");
|
|
42
|
-
try {
|
|
43
|
-
const parsed = JSON.parse(readFileSync(candidate, "utf8"));
|
|
44
|
-
if (parsed.name === "@component-compass/cli")
|
|
45
|
-
return dir;
|
|
46
|
-
}
|
|
47
|
-
catch {
|
|
48
|
-
// continue walking
|
|
49
|
-
}
|
|
50
|
-
const parent = resolve(dir, "..");
|
|
51
|
-
if (parent === dir)
|
|
52
|
-
break;
|
|
53
|
-
dir = parent;
|
|
54
|
-
}
|
|
55
|
-
return dirname(fileURLToPath(import.meta.url));
|
|
56
|
-
}
|
|
57
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/envelope/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/envelope/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAE7E,CAAC;QACF,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC"}
|
package/dist/identity.d.ts
CHANGED
|
@@ -1,34 +1,36 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Two-lane identity derivation + stable id keying.
|
|
3
3
|
*
|
|
4
|
-
* Two pure functions that translate a per-occurrence `ComponentId +
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* artifact.
|
|
4
|
+
* Two pure functions that translate a per-occurrence `ComponentId + repoId`
|
|
5
|
+
* tuple into the rolled-up `OutputIdentity` and a deterministic short hash
|
|
6
|
+
* used as the component's `id` in the emitted artifact.
|
|
8
7
|
*
|
|
9
8
|
* Lanes (scope):
|
|
10
9
|
* - "local" — `componentId.source.type === "local"`. Siloed per
|
|
11
10
|
* `{repoId, filePath, exportName, kind}` so two consumer
|
|
12
11
|
* repos with locally-named components don't collide.
|
|
13
|
-
* - "
|
|
14
|
-
*
|
|
15
|
-
* you're tracking).
|
|
16
|
-
* - "external" — externally-sourced with no tag matches (third-party noise).
|
|
12
|
+
* - "external" — externally-sourced (ds/external grouping is the web app's
|
|
13
|
+
* responsibility, not CC's).
|
|
17
14
|
*
|
|
18
15
|
* Stable-id key composition:
|
|
19
|
-
* - local
|
|
20
|
-
* -
|
|
21
|
-
* -
|
|
16
|
+
* - local → `local::<repoId>::<filePath>::<exportName>::<kind>`
|
|
17
|
+
* - custom-element, no modulePath (byTag) → `ce::<packageName>::<tagName>`
|
|
18
|
+
* - custom-element, with modulePath (resolver folded WC) → `ce::<packageName>::<modulePath>::<tagName>`
|
|
19
|
+
* - react/vue, no modulePath (classifyImportOrigin) → `rc::<packageName>::<exportName>`
|
|
20
|
+
* - react/vue, with modulePath (resolver-driven) → `rc::<packageName>::<modulePath>::<exportName>`
|
|
22
21
|
* Hashed with SHA-1, truncated to 16 hex chars.
|
|
23
|
-
*
|
|
24
|
-
* NOT yet wired into the scan pipeline — wiring is a separate task.
|
|
25
22
|
*/
|
|
26
|
-
import type { ComponentId,
|
|
23
|
+
import type { ComponentId, OutputIdentity } from "@component-compass/plugin-core";
|
|
24
|
+
import type { WorkspaceGraph } from "./workspace/types.js";
|
|
27
25
|
export type IdentityInputs = {
|
|
28
26
|
componentId: ComponentId;
|
|
29
|
-
via: OccurrenceVia;
|
|
30
|
-
derivedTags: readonly string[];
|
|
31
27
|
repoId: string;
|
|
28
|
+
workspaceGraph?: WorkspaceGraph;
|
|
29
|
+
/** Optional declaration position (only meaningful for local scope). */
|
|
30
|
+
definitionLoc?: {
|
|
31
|
+
line: number;
|
|
32
|
+
column: number;
|
|
33
|
+
};
|
|
32
34
|
};
|
|
33
35
|
export declare function computeOutputIdentity(inputs: IdentityInputs): OutputIdentity;
|
|
34
36
|
export declare function computeStableId(identity: OutputIdentity): string;
|
package/dist/identity.js
CHANGED
|
@@ -1,45 +1,42 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Two-lane identity derivation + stable id keying.
|
|
3
3
|
*
|
|
4
|
-
* Two pure functions that translate a per-occurrence `ComponentId +
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* artifact.
|
|
4
|
+
* Two pure functions that translate a per-occurrence `ComponentId + repoId`
|
|
5
|
+
* tuple into the rolled-up `OutputIdentity` and a deterministic short hash
|
|
6
|
+
* used as the component's `id` in the emitted artifact.
|
|
8
7
|
*
|
|
9
8
|
* Lanes (scope):
|
|
10
9
|
* - "local" — `componentId.source.type === "local"`. Siloed per
|
|
11
10
|
* `{repoId, filePath, exportName, kind}` so two consumer
|
|
12
11
|
* repos with locally-named components don't collide.
|
|
13
|
-
* - "
|
|
14
|
-
*
|
|
15
|
-
* you're tracking).
|
|
16
|
-
* - "external" — externally-sourced with no tag matches (third-party noise).
|
|
12
|
+
* - "external" — externally-sourced (ds/external grouping is the web app's
|
|
13
|
+
* responsibility, not CC's).
|
|
17
14
|
*
|
|
18
15
|
* Stable-id key composition:
|
|
19
|
-
* - local
|
|
20
|
-
* -
|
|
21
|
-
* -
|
|
16
|
+
* - local → `local::<repoId>::<filePath>::<exportName>::<kind>`
|
|
17
|
+
* - custom-element, no modulePath (byTag) → `ce::<packageName>::<tagName>`
|
|
18
|
+
* - custom-element, with modulePath (resolver folded WC) → `ce::<packageName>::<modulePath>::<tagName>`
|
|
19
|
+
* - react/vue, no modulePath (classifyImportOrigin) → `rc::<packageName>::<exportName>`
|
|
20
|
+
* - react/vue, with modulePath (resolver-driven) → `rc::<packageName>::<modulePath>::<exportName>`
|
|
22
21
|
* Hashed with SHA-1, truncated to 16 hex chars.
|
|
23
|
-
*
|
|
24
|
-
* NOT yet wired into the scan pipeline — wiring is a separate task.
|
|
25
22
|
*/
|
|
26
23
|
import { createHash } from "node:crypto";
|
|
24
|
+
import { join } from "node:path";
|
|
25
|
+
import { findOwningPackage } from "./workspace/find-owning-package.js";
|
|
27
26
|
export function computeOutputIdentity(inputs) {
|
|
28
|
-
const { componentId,
|
|
27
|
+
const { componentId, repoId, definitionLoc } = inputs;
|
|
29
28
|
const { source, kind } = componentId;
|
|
30
29
|
const isLocal = source.type === "local";
|
|
31
|
-
const scope = isLocal
|
|
32
|
-
? "local"
|
|
33
|
-
: derivedTags.length > 0
|
|
34
|
-
? "ds"
|
|
35
|
-
: "external";
|
|
30
|
+
const scope = isLocal ? "local" : "external";
|
|
36
31
|
const identity = {
|
|
37
32
|
scope,
|
|
38
33
|
kind,
|
|
39
|
-
via: { kind: via.kind },
|
|
40
34
|
};
|
|
41
35
|
if (source.type === "external") {
|
|
42
36
|
identity.packageName = source.package;
|
|
37
|
+
if (source.modulePath !== undefined) {
|
|
38
|
+
identity.modulePath = source.modulePath;
|
|
39
|
+
}
|
|
43
40
|
}
|
|
44
41
|
if (componentId.kind === "custom-element") {
|
|
45
42
|
identity.tagName = componentId.tagName;
|
|
@@ -51,6 +48,17 @@ export function computeOutputIdentity(inputs) {
|
|
|
51
48
|
if (isLocal && source.type === "local") {
|
|
52
49
|
identity.repoId = repoId;
|
|
53
50
|
identity.filePath = source.filePath;
|
|
51
|
+
if (inputs.workspaceGraph) {
|
|
52
|
+
// findOwningPackage operates on absolute paths; source.filePath is
|
|
53
|
+
// repo-relative, so resolve against workspaceGraph.rootPath.
|
|
54
|
+
const abs = join(inputs.workspaceGraph.rootPath, source.filePath);
|
|
55
|
+
const owning = findOwningPackage(inputs.workspaceGraph, abs);
|
|
56
|
+
if (owning)
|
|
57
|
+
identity.packageName = owning.name;
|
|
58
|
+
}
|
|
59
|
+
if (definitionLoc !== undefined) {
|
|
60
|
+
identity.definition = definitionLoc;
|
|
61
|
+
}
|
|
54
62
|
}
|
|
55
63
|
return identity;
|
|
56
64
|
}
|
|
@@ -60,8 +68,14 @@ export function computeStableId(identity) {
|
|
|
60
68
|
return sha1Short(`local::${identity.repoId}::${identity.filePath}::${identity.exportName}::${identity.kind}`);
|
|
61
69
|
}
|
|
62
70
|
if (identity.kind === "custom-element") {
|
|
71
|
+
if (identity.modulePath !== undefined) {
|
|
72
|
+
return sha1Short(`ce::${identity.packageName}::${identity.modulePath}::${identity.tagName}`);
|
|
73
|
+
}
|
|
63
74
|
return sha1Short(`ce::${identity.packageName}::${identity.tagName}`);
|
|
64
75
|
}
|
|
76
|
+
if (identity.modulePath !== undefined) {
|
|
77
|
+
return sha1Short(`rc::${identity.packageName}::${identity.modulePath}::${identity.exportName}`);
|
|
78
|
+
}
|
|
65
79
|
return sha1Short(`rc::${identity.packageName}::${identity.exportName}`);
|
|
66
80
|
}
|
|
67
81
|
/**
|
|
@@ -84,9 +98,16 @@ export function computeStableIdFromComponentId(c) {
|
|
|
84
98
|
return sha1Short(`local::::${c.source.filePath}::${exportOrTag}::${c.kind}`);
|
|
85
99
|
}
|
|
86
100
|
const pkg = c.source.type === "external" ? c.source.package : "unknown";
|
|
101
|
+
const modulePath = c.source.type === "external" ? c.source.modulePath : undefined;
|
|
87
102
|
if (c.kind === "custom-element") {
|
|
103
|
+
if (modulePath !== undefined) {
|
|
104
|
+
return sha1Short(`ce::${pkg}::${modulePath}::${c.tagName}`);
|
|
105
|
+
}
|
|
88
106
|
return sha1Short(`ce::${pkg}::${c.tagName}`);
|
|
89
107
|
}
|
|
108
|
+
if (modulePath !== undefined) {
|
|
109
|
+
return sha1Short(`rc::${pkg}::${modulePath}::${c.export}`);
|
|
110
|
+
}
|
|
90
111
|
return sha1Short(`rc::${pkg}::${c.export}`);
|
|
91
112
|
}
|
|
92
113
|
//# sourceMappingURL=identity.js.map
|
package/dist/identity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
import type { Program } from "@oxc-project/types";
|
|
1
2
|
import type { LocalDefinition } from "./types.js";
|
|
2
|
-
export declare function detectReactComponents(
|
|
3
|
+
export declare function detectReactComponents(program: Program, filePath: string, source?: string): LocalDefinition[];
|