@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.
Files changed (112) hide show
  1. package/dist/cli.js +5 -1
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/init.js +1 -3
  4. package/dist/commands/init.js.map +1 -1
  5. package/dist/commands/scan.d.ts +13 -1
  6. package/dist/commands/scan.js +192 -72
  7. package/dist/commands/scan.js.map +1 -1
  8. package/dist/composition-rollup.d.ts +16 -14
  9. package/dist/composition-rollup.js +33 -43
  10. package/dist/composition-rollup.js.map +1 -1
  11. package/dist/config/loader.js +5 -9
  12. package/dist/config/loader.js.map +1 -1
  13. package/dist/config/schema.d.ts +2 -15
  14. package/dist/config/schema.js.map +1 -1
  15. package/dist/envelope/index.d.ts +0 -9
  16. package/dist/envelope/index.js +1 -46
  17. package/dist/envelope/index.js.map +1 -1
  18. package/dist/identity.d.ts +19 -17
  19. package/dist/identity.js +42 -21
  20. package/dist/identity.js.map +1 -1
  21. package/dist/index.d.ts +2 -0
  22. package/dist/index.js +1 -0
  23. package/dist/index.js.map +1 -1
  24. package/dist/local-index/detect-react.d.ts +2 -1
  25. package/dist/local-index/detect-react.js +269 -72
  26. package/dist/local-index/detect-react.js.map +1 -1
  27. package/dist/local-index/detect-vue.d.ts +15 -1
  28. package/dist/local-index/detect-vue.js +130 -107
  29. package/dist/local-index/detect-vue.js.map +1 -1
  30. package/dist/local-index/detect-wc.d.ts +7 -1
  31. package/dist/local-index/detect-wc.js +56 -60
  32. package/dist/local-index/detect-wc.js.map +1 -1
  33. package/dist/local-index/index.d.ts +12 -4
  34. package/dist/local-index/index.js +40 -25
  35. package/dist/local-index/index.js.map +1 -1
  36. package/dist/manifest/barrel-parser.d.ts +10 -0
  37. package/dist/manifest/barrel-parser.js +11 -0
  38. package/dist/manifest/barrel-parser.js.map +1 -1
  39. package/dist/manifest/derived-manifest-stub.d.ts +16 -7
  40. package/dist/manifest/derived-manifest-stub.js +43 -7
  41. package/dist/manifest/derived-manifest-stub.js.map +1 -1
  42. package/dist/manifest/lazy-resolver.d.ts +52 -34
  43. package/dist/manifest/lazy-resolver.js +269 -69
  44. package/dist/manifest/lazy-resolver.js.map +1 -1
  45. package/dist/occurrences.d.ts +4 -4
  46. package/dist/occurrences.js +49 -9
  47. package/dist/occurrences.js.map +1 -1
  48. package/dist/parse-by-ext.d.ts +21 -0
  49. package/dist/parse-by-ext.js +53 -0
  50. package/dist/parse-by-ext.js.map +1 -0
  51. package/dist/reporter/index.d.ts +27 -28
  52. package/dist/reporter/index.js +99 -58
  53. package/dist/reporter/index.js.map +1 -1
  54. package/dist/reporter/stdout.js +4 -4
  55. package/dist/reporter/stdout.js.map +1 -1
  56. package/dist/rollup.d.ts +13 -6
  57. package/dist/rollup.js +9 -6
  58. package/dist/rollup.js.map +1 -1
  59. package/dist/scan/cem-index.d.ts +38 -0
  60. package/dist/scan/cem-index.js +139 -0
  61. package/dist/scan/cem-index.js.map +1 -0
  62. package/dist/scan/git-mtime.d.ts +2 -0
  63. package/dist/scan/git-mtime.js +22 -0
  64. package/dist/scan/git-mtime.js.map +1 -0
  65. package/dist/scan/meta.d.ts +5 -0
  66. package/dist/scan/meta.js +58 -0
  67. package/dist/scan/meta.js.map +1 -0
  68. package/dist/scan/stamp-deprecated.d.ts +16 -0
  69. package/dist/scan/stamp-deprecated.js +33 -0
  70. package/dist/scan/stamp-deprecated.js.map +1 -0
  71. package/dist/scan/stamp-version.d.ts +18 -0
  72. package/dist/scan/stamp-version.js +94 -0
  73. package/dist/scan/stamp-version.js.map +1 -0
  74. package/dist/seeds.d.ts +20 -19
  75. package/dist/seeds.js +136 -68
  76. package/dist/seeds.js.map +1 -1
  77. package/dist/types.d.ts +2 -5
  78. package/dist/util/git.d.ts +8 -0
  79. package/dist/util/git.js +73 -0
  80. package/dist/util/git.js.map +1 -1
  81. package/dist/util/progress.d.ts +21 -0
  82. package/dist/util/progress.js +54 -0
  83. package/dist/util/progress.js.map +1 -0
  84. package/dist/walker/files.d.ts +1 -0
  85. package/dist/walker/files.js +11 -5
  86. package/dist/walker/files.js.map +1 -1
  87. package/dist/workspace/build-graph.d.ts +2 -0
  88. package/dist/workspace/build-graph.js +117 -0
  89. package/dist/workspace/build-graph.js.map +1 -0
  90. package/dist/workspace/declared-deps.d.ts +5 -0
  91. package/dist/workspace/declared-deps.js +42 -0
  92. package/dist/workspace/declared-deps.js.map +1 -0
  93. package/dist/workspace/find-owning-package.d.ts +8 -0
  94. package/dist/workspace/find-owning-package.js +69 -0
  95. package/dist/workspace/find-owning-package.js.map +1 -0
  96. package/dist/workspace/index.d.ts +4 -0
  97. package/dist/workspace/index.js +4 -0
  98. package/dist/workspace/index.js.map +1 -0
  99. package/dist/workspace/types.d.ts +46 -0
  100. package/dist/workspace/types.js +13 -0
  101. package/dist/workspace/types.js.map +1 -0
  102. package/package.json +15 -7
  103. package/schema/config.schema.json +2 -24
  104. package/dist/config/tag-rules.d.ts +0 -2
  105. package/dist/config/tag-rules.js +0 -34
  106. package/dist/config/tag-rules.js.map +0 -1
  107. package/dist/local-index/walker.d.ts +0 -11
  108. package/dist/local-index/walker.js +0 -47
  109. package/dist/local-index/walker.js.map +0 -1
  110. package/dist/manifest/diagnostic-filter.d.ts +0 -12
  111. package/dist/manifest/diagnostic-filter.js +0 -23
  112. package/dist/manifest/diagnostic-filter.js.map +0 -1
@@ -1,79 +1,266 @@
1
- import { parse } from "@babel/parser";
2
- import { traverse } from "@component-compass/ast-utils";
3
- const REACT_EXTS = new Set([".tsx", ".jsx", ".ts", ".js"]);
4
- export function detectReactComponents(source, filePath, extension) {
5
- if (!REACT_EXTS.has(extension))
6
- return [];
7
- const ast = (() => {
8
- try {
9
- return parse(source, {
10
- sourceType: "module",
11
- plugins: ["typescript", "jsx", "decorators-legacy", "classProperties"],
12
- errorRecovery: true,
13
- });
14
- }
15
- catch {
16
- return null;
17
- }
18
- })();
19
- if (!ast)
20
- return [];
1
+ export function detectReactComponents(program, filePath, source) {
21
2
  const found = [];
22
3
  const filePathSource = { type: "local", filePath };
23
- traverse(ast, {
24
- ExportDefaultDeclaration(path) {
25
- const decl = path.node.declaration;
26
- if (decl.type === "FunctionDeclaration" && decl.id && isPascalCase(decl.id.name) && returnsJsx(decl)) {
27
- found.push({
28
- componentId: { kind: "react-component", export: decl.id.name, source: filePathSource },
29
- exportName: decl.id.name,
30
- isDefault: true,
4
+ // Bound helper — closes over filePath and source so call sites are concise.
5
+ const loc = (node) => nodeLoc(node, filePath, source);
6
+ // ── Pass 1: collect top-level PascalCase declarations as candidates ──────
7
+ // "Top-level" = direct child of Program, or inline declaration inside an
8
+ // Export*Declaration that is a direct child of Program.
9
+ const candidates = new Map();
10
+ for (const stmt of program.body) {
11
+ // Unwrap export wrappers to get the inner declaration (if any).
12
+ // Use Node so that all member types stay structurally compatible.
13
+ let inner = null;
14
+ if (stmt.type === "ExportNamedDeclaration" && stmt.declaration) {
15
+ inner = stmt.declaration;
16
+ }
17
+ else if (stmt.type === "ExportDefaultDeclaration" && isDeclaration(stmt.declaration)) {
18
+ inner = stmt.declaration;
19
+ }
20
+ else {
21
+ inner = stmt;
22
+ }
23
+ if (inner.type === "FunctionDeclaration") {
24
+ const fn = inner;
25
+ if (fn.id && isPascalCase(fn.id.name) && returnsJsx(fn)) {
26
+ const name = fn.id.name;
27
+ candidates.set(name, {
28
+ componentId: { kind: "react-component", export: name, source: filePathSource },
31
29
  detector: "react-default-fn",
30
+ loc: loc(fn),
32
31
  });
33
32
  }
34
- if (decl.type === "ClassDeclaration" &&
35
- decl.id &&
36
- isPascalCase(decl.id.name) &&
37
- extendsReactClass(decl)) {
38
- found.push({
39
- componentId: { kind: "react-component", export: decl.id.name, source: filePathSource },
40
- exportName: decl.id.name,
41
- isDefault: true,
33
+ }
34
+ else if (inner.type === "ClassDeclaration") {
35
+ const cls = inner;
36
+ if (cls.id && isPascalCase(cls.id.name) && hasRenderMethod(cls)) {
37
+ const name = cls.id.name;
38
+ candidates.set(name, {
39
+ componentId: { kind: "react-component", export: name, source: filePathSource },
42
40
  detector: "react-class",
41
+ loc: loc(cls),
43
42
  });
44
43
  }
45
- },
46
- ExportNamedDeclaration(path) {
47
- const decl = path.node.declaration;
48
- if (!decl)
49
- return;
50
- if (decl.type === "FunctionDeclaration" && decl.id && isPascalCase(decl.id.name) && returnsJsx(decl)) {
51
- found.push({
52
- componentId: { kind: "react-component", export: decl.id.name, source: filePathSource },
53
- exportName: decl.id.name,
54
- isDefault: false,
55
- detector: "react-default-fn",
56
- });
44
+ }
45
+ else if (inner.type === "VariableDeclaration") {
46
+ for (const d of inner.declarations) {
47
+ if (d.id.type !== "Identifier" || !isPascalCase(d.id.name) || !d.init)
48
+ continue;
49
+ const detector = classifyVariableInit(d.init);
50
+ if (detector) {
51
+ const name = d.id.name;
52
+ candidates.set(name, {
53
+ componentId: { kind: "react-component", export: name, source: filePathSource },
54
+ detector,
55
+ loc: loc(d),
56
+ });
57
+ }
57
58
  }
58
- if (decl.type === "VariableDeclaration") {
59
- for (const d of decl.declarations) {
60
- if (d.id.type !== "Identifier" || !isPascalCase(d.id.name) || !d.init)
61
- continue;
62
- const detector = classifyVariableInit(d.init);
63
- if (detector) {
64
- found.push({
65
- componentId: { kind: "react-component", export: d.id.name, source: filePathSource },
66
- exportName: d.id.name,
59
+ }
60
+ }
61
+ // ── Pass 2: walk exports and emit LocalDefinitions ───────────────────────
62
+ // Track what we've already emitted to avoid double-emission.
63
+ // Key = `${exportName}:${isDefault}` for deduplication.
64
+ const emitted = new Set();
65
+ function emitKey(exportName, isDefault) {
66
+ return `${exportName}:${isDefault}`;
67
+ }
68
+ function emit(def) {
69
+ const key = emitKey(def.exportName, def.isDefault);
70
+ if (emitted.has(key))
71
+ return;
72
+ emitted.add(key);
73
+ found.push(def);
74
+ }
75
+ for (const stmt of program.body) {
76
+ // ── ExportDefaultDeclaration ──────────────────────────────────────────
77
+ if (stmt.type === "ExportDefaultDeclaration") {
78
+ const decl = stmt.declaration;
79
+ // Named function declaration: `export default function Foo() {}`
80
+ if (decl.type === "FunctionDeclaration") {
81
+ const fn = decl;
82
+ if (fn.id && isPascalCase(fn.id.name) && returnsJsx(fn)) {
83
+ emit({
84
+ componentId: { kind: "react-component", export: fn.id.name, source: filePathSource },
85
+ exportName: fn.id.name,
86
+ isDefault: true,
87
+ detector: "react-default-fn",
88
+ ...withLoc(loc(fn)),
89
+ });
90
+ continue;
91
+ }
92
+ // Anonymous function-declaration default: `export default function() {}`
93
+ if (returnsJsx(fn)) {
94
+ emit({
95
+ componentId: { kind: "react-component", export: "default", source: filePathSource },
96
+ exportName: "default",
97
+ isDefault: true,
98
+ detector: "react-default-fn",
99
+ ...withLoc(loc(fn)),
100
+ });
101
+ continue;
102
+ }
103
+ continue;
104
+ }
105
+ // Anonymous arrow / function expression default: `export default () => <Foo/>`
106
+ if (decl.type === "ArrowFunctionExpression" || decl.type === "FunctionExpression") {
107
+ const fn = decl;
108
+ if (returnsJsx(fn)) {
109
+ emit({
110
+ componentId: { kind: "react-component", export: "default", source: filePathSource },
111
+ exportName: "default",
112
+ isDefault: true,
113
+ detector: "react-arrow",
114
+ ...withLoc(loc(fn)),
115
+ });
116
+ }
117
+ continue;
118
+ }
119
+ // Class component default: `export default class Foo extends Component { render() {} }`
120
+ if (decl.type === "ClassDeclaration") {
121
+ const cls = decl;
122
+ if (cls.id && isPascalCase(cls.id.name) && hasRenderMethod(cls)) {
123
+ emit({
124
+ componentId: { kind: "react-component", export: cls.id.name, source: filePathSource },
125
+ exportName: cls.id.name,
126
+ isDefault: true,
127
+ detector: "react-class",
128
+ ...withLoc(loc(cls)),
129
+ });
130
+ }
131
+ continue;
132
+ }
133
+ // `export default Identifier` — look up in candidates
134
+ if (decl.type === "Identifier") {
135
+ const candidate = candidates.get(decl.name);
136
+ if (candidate) {
137
+ emit({
138
+ componentId: candidate.componentId,
139
+ exportName: candidate.componentId.kind === "react-component" ? candidate.componentId.export : decl.name,
140
+ isDefault: true,
141
+ detector: candidate.detector,
142
+ ...withLoc(candidate.loc),
143
+ });
144
+ }
145
+ continue;
146
+ }
147
+ // `export default memo(Foo)` / `export default forwardRef(Foo)` etc.
148
+ if (decl.type === "CallExpression") {
149
+ const call = decl;
150
+ const callee = call.callee;
151
+ let calleeName;
152
+ if (callee.type === "Identifier")
153
+ calleeName = callee.name;
154
+ else if (callee.type === "MemberExpression" && callee.property.type === "Identifier")
155
+ calleeName = callee.property.name;
156
+ const isHoc = calleeName === "memo" || calleeName === "forwardRef" || calleeName === "observer";
157
+ if (isHoc && call.arguments.length > 0) {
158
+ const firstArg = call.arguments[0];
159
+ if (firstArg && firstArg.type === "Identifier") {
160
+ const candidate = candidates.get(firstArg.name);
161
+ if (candidate) {
162
+ const detector = calleeName === "forwardRef" ? "react-forward-ref" :
163
+ calleeName === "memo" ? "react-memo" :
164
+ "react-arrow";
165
+ emit({
166
+ componentId: candidate.componentId,
167
+ exportName: candidate.componentId.kind === "react-component" ? candidate.componentId.export : firstArg.name,
168
+ isDefault: true,
169
+ detector,
170
+ ...withLoc(candidate.loc),
171
+ });
172
+ }
173
+ }
174
+ }
175
+ continue;
176
+ }
177
+ continue;
178
+ }
179
+ // ── ExportNamedDeclaration ────────────────────────────────────────────
180
+ if (stmt.type === "ExportNamedDeclaration") {
181
+ const decl = stmt.declaration;
182
+ // Inline declaration: `export function Foo() {}`, `export const Foo = ...`, etc.
183
+ if (decl) {
184
+ if (decl.type === "FunctionDeclaration") {
185
+ const fn = decl;
186
+ if (fn.id && isPascalCase(fn.id.name) && returnsJsx(fn)) {
187
+ emit({
188
+ componentId: { kind: "react-component", export: fn.id.name, source: filePathSource },
189
+ exportName: fn.id.name,
190
+ isDefault: false,
191
+ detector: "react-default-fn",
192
+ ...withLoc(loc(fn)),
193
+ });
194
+ }
195
+ }
196
+ if (decl.type === "ClassDeclaration") {
197
+ const cls = decl;
198
+ if (cls.id && isPascalCase(cls.id.name) && hasRenderMethod(cls)) {
199
+ emit({
200
+ componentId: { kind: "react-component", export: cls.id.name, source: filePathSource },
201
+ exportName: cls.id.name,
67
202
  isDefault: false,
68
- detector,
203
+ detector: "react-class",
204
+ ...withLoc(loc(cls)),
69
205
  });
70
206
  }
71
207
  }
208
+ if (decl.type === "VariableDeclaration") {
209
+ for (const d of decl.declarations) {
210
+ if (d.id.type !== "Identifier" || !isPascalCase(d.id.name) || !d.init)
211
+ continue;
212
+ const detector = classifyVariableInit(d.init);
213
+ if (detector) {
214
+ emit({
215
+ componentId: { kind: "react-component", export: d.id.name, source: filePathSource },
216
+ exportName: d.id.name,
217
+ isDefault: false,
218
+ detector,
219
+ ...withLoc(loc(d)),
220
+ });
221
+ }
222
+ }
223
+ }
224
+ continue;
72
225
  }
73
- },
74
- });
226
+ // `export { X }` or `export { X as Y }` — local re-exports (no source).
227
+ // Skip if this is a re-export from another module (`stmt.source` is non-null).
228
+ if (!stmt.source && stmt.specifiers.length > 0) {
229
+ for (const specifier of stmt.specifiers) {
230
+ if (specifier.type !== "ExportSpecifier")
231
+ continue;
232
+ const localNode = specifier.local;
233
+ // ModuleExportName can be IdentifierName | IdentifierReference | StringLiteral;
234
+ // only Identifier-typed nodes carry a usable binding name.
235
+ if (localNode.type !== "Identifier")
236
+ continue;
237
+ const localName = localNode.name;
238
+ const exportedNode = specifier.exported;
239
+ const exportedName = exportedNode.type === "Identifier"
240
+ ? exportedNode.name
241
+ : exportedNode.value;
242
+ const isDefault = exportedName === "default";
243
+ const candidate = candidates.get(localName);
244
+ if (!candidate)
245
+ continue;
246
+ emit({
247
+ componentId: candidate.componentId,
248
+ exportName: isDefault ? "default" : exportedName,
249
+ isDefault,
250
+ detector: candidate.detector,
251
+ ...withLoc(candidate.loc),
252
+ });
253
+ }
254
+ }
255
+ }
256
+ }
75
257
  return found;
76
258
  }
259
+ // ── Helpers ────────────────────────────────────────────────────────────────
260
+ /** Narrow whether an ExportDefaultDeclaration's `.declaration` is a function or class node */
261
+ function isDeclaration(node) {
262
+ return node.type === "FunctionDeclaration" || node.type === "ClassDeclaration";
263
+ }
77
264
  function isPascalCase(name) {
78
265
  return /^[A-Z]/.test(name);
79
266
  }
@@ -84,29 +271,39 @@ function returnsJsx(fn) {
84
271
  const block = fn.body;
85
272
  if (!block || block.type !== "BlockStatement")
86
273
  return false;
87
- return block.body.some((stmt) => stmt.type === "ReturnStatement" && stmt.argument != null && isJsxNode(stmt.argument));
274
+ return block.body.some((stmt) => stmt.type === "ReturnStatement" &&
275
+ stmt.argument != null &&
276
+ (isJsxNode(stmt.argument) || stmt.argument.type === "CallExpression"));
88
277
  }
89
278
  function isJsxNode(node) {
90
279
  if (node.type === "JSXElement" || node.type === "JSXFragment")
91
280
  return true;
281
+ // OXC preserves parentheses as ParenthesizedExpression nodes; Babel strips them.
282
+ if (node.type === "ParenthesizedExpression")
283
+ return isJsxNode(node.expression);
92
284
  if (node.type === "ConditionalExpression")
93
285
  return isJsxNode(node.consequent) || isJsxNode(node.alternate);
94
286
  if (node.type === "LogicalExpression")
95
287
  return isJsxNode(node.right);
96
288
  return false;
97
289
  }
98
- function extendsReactClass(decl) {
99
- const sup = decl.superClass;
100
- if (!sup)
101
- return false;
102
- if (sup.type === "Identifier") {
103
- return sup.name === "Component" || sup.name === "PureComponent";
104
- }
105
- if (sup.type === "MemberExpression" && sup.object.type === "Identifier" && sup.object.name === "React") {
106
- return (sup.property.type === "Identifier" &&
107
- (sup.property.name === "Component" || sup.property.name === "PureComponent"));
290
+ function hasRenderMethod(decl) {
291
+ return decl.body.body.some((m) => (m.type === "MethodDefinition" || m.type === "PropertyDefinition") &&
292
+ m.key.type === "Identifier" &&
293
+ m.key.name === "render");
294
+ }
295
+ function nodeLoc(node, filePath, source) {
296
+ // oxc nodes carry byte offsets (start/end), not loc objects.
297
+ // Compute line/column by counting newlines in the source prefix.
298
+ if (source !== undefined && typeof node.start === "number") {
299
+ const before = source.slice(0, node.start);
300
+ const lines = before.split("\n");
301
+ return { file: filePath, line: lines.length, column: (lines[lines.length - 1] ?? "").length };
108
302
  }
109
- return false;
303
+ return undefined;
304
+ }
305
+ function withLoc(loc) {
306
+ return loc !== undefined ? { loc } : {};
110
307
  }
111
308
  function classifyVariableInit(init) {
112
309
  if (init.type === "ArrowFunctionExpression" || init.type === "FunctionExpression")
@@ -1 +1 @@
1
- {"version":3,"file":"detect-react.js","sourceRoot":"","sources":["../../src/local-index/detect-react.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detect-react.js","sourceRoot":"","sources":["../../src/local-index/detect-react.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,16 @@
1
+ import type { SFCDescriptor } from "@vue/compiler-sfc";
2
+ import type { Program } from "@oxc-project/types";
1
3
  import type { LocalDefinition } from "./types.js";
2
- export declare function detectVueComponents(source: string, filePath: string, extension: string): LocalDefinition[];
4
+ export type VueParseWrapper = {
5
+ descriptor: SFCDescriptor;
6
+ scriptProgram?: Program;
7
+ };
8
+ export type VueDetectorInput = {
9
+ kind: "sfc";
10
+ wrapper: VueParseWrapper;
11
+ } | {
12
+ kind: "script";
13
+ program: Program;
14
+ source: string;
15
+ };
16
+ export declare function detectVueComponents(input: VueDetectorInput, filePath: string): LocalDefinition[];