@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,79 +1,266 @@
|
|
|
1
|
-
|
|
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
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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
|
-
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
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" &&
|
|
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
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
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
|
|
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
|
|
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[];
|