@component-compass/cli 0.0.3 → 0.0.5
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 +1 -1
- package/dist/commands/init.js +1 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/scan.d.ts +12 -1
- package/dist/commands/scan.js +158 -55
- package/dist/commands/scan.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 +11 -15
- package/dist/identity.js +29 -20
- 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 +135 -115
- 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 +11 -6
- package/dist/local-index/index.js +25 -27
- 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 +15 -6
- 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 +42 -16
- package/dist/manifest/lazy-resolver.js +122 -49
- package/dist/manifest/lazy-resolver.js.map +1 -1
- package/dist/occurrences.js +20 -4
- 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 +5 -21
- package/dist/reporter/index.js +6 -52
- 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 +5 -4
- package/dist/rollup.js +7 -4
- 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 +18 -18
- package/dist/seeds.js +82 -45
- 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/find-owning-package.d.ts +6 -0
- package/dist/workspace/find-owning-package.js +22 -2
- package/dist/workspace/find-owning-package.js.map +1 -1
- package/dist/workspace/index.d.ts +1 -1
- package/dist/workspace/index.js +1 -1
- package/dist/workspace/index.js.map +1 -1
- package/package.json +13 -7
- package/schema/config.schema.json +2 -24
- package/dist/commands/no-deps-diagnostic.d.ts +0 -15
- package/dist/commands/no-deps-diagnostic.js +0 -23
- package/dist/commands/no-deps-diagnostic.js.map +0 -1
- 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 -13
- package/dist/manifest/diagnostic-filter.js +0 -36
- package/dist/manifest/diagnostic-filter.js.map +0 -1
package/dist/identity.d.ts
CHANGED
|
@@ -1,33 +1,29 @@
|
|
|
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 type { ComponentId, OutputIdentity } from "@component-compass/plugin-core";
|
|
27
24
|
import type { WorkspaceGraph } from "./workspace/types.js";
|
|
28
25
|
export type IdentityInputs = {
|
|
29
26
|
componentId: ComponentId;
|
|
30
|
-
derivedTags: readonly string[];
|
|
31
27
|
repoId: string;
|
|
32
28
|
workspaceGraph?: WorkspaceGraph;
|
|
33
29
|
/** Optional declaration position (only meaningful for local scope). */
|
package/dist/identity.js
CHANGED
|
@@ -1,46 +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";
|
|
27
24
|
import { join } from "node:path";
|
|
28
25
|
import { findOwningPackage } from "./workspace/find-owning-package.js";
|
|
29
26
|
export function computeOutputIdentity(inputs) {
|
|
30
|
-
const { componentId,
|
|
27
|
+
const { componentId, repoId, definitionLoc } = inputs;
|
|
31
28
|
const { source, kind } = componentId;
|
|
32
29
|
const isLocal = source.type === "local";
|
|
33
|
-
const scope = isLocal
|
|
34
|
-
? "local"
|
|
35
|
-
: derivedTags.length > 0
|
|
36
|
-
? "ds"
|
|
37
|
-
: "external";
|
|
30
|
+
const scope = isLocal ? "local" : "external";
|
|
38
31
|
const identity = {
|
|
39
32
|
scope,
|
|
40
33
|
kind,
|
|
41
34
|
};
|
|
42
35
|
if (source.type === "external") {
|
|
43
36
|
identity.packageName = source.package;
|
|
37
|
+
if (source.modulePath !== undefined) {
|
|
38
|
+
identity.modulePath = source.modulePath;
|
|
39
|
+
}
|
|
44
40
|
}
|
|
45
41
|
if (componentId.kind === "custom-element") {
|
|
46
42
|
identity.tagName = componentId.tagName;
|
|
@@ -72,8 +68,14 @@ export function computeStableId(identity) {
|
|
|
72
68
|
return sha1Short(`local::${identity.repoId}::${identity.filePath}::${identity.exportName}::${identity.kind}`);
|
|
73
69
|
}
|
|
74
70
|
if (identity.kind === "custom-element") {
|
|
71
|
+
if (identity.modulePath !== undefined) {
|
|
72
|
+
return sha1Short(`ce::${identity.packageName}::${identity.modulePath}::${identity.tagName}`);
|
|
73
|
+
}
|
|
75
74
|
return sha1Short(`ce::${identity.packageName}::${identity.tagName}`);
|
|
76
75
|
}
|
|
76
|
+
if (identity.modulePath !== undefined) {
|
|
77
|
+
return sha1Short(`rc::${identity.packageName}::${identity.modulePath}::${identity.exportName}`);
|
|
78
|
+
}
|
|
77
79
|
return sha1Short(`rc::${identity.packageName}::${identity.exportName}`);
|
|
78
80
|
}
|
|
79
81
|
/**
|
|
@@ -96,9 +98,16 @@ export function computeStableIdFromComponentId(c) {
|
|
|
96
98
|
return sha1Short(`local::::${c.source.filePath}::${exportOrTag}::${c.kind}`);
|
|
97
99
|
}
|
|
98
100
|
const pkg = c.source.type === "external" ? c.source.package : "unknown";
|
|
101
|
+
const modulePath = c.source.type === "external" ? c.source.modulePath : undefined;
|
|
99
102
|
if (c.kind === "custom-element") {
|
|
103
|
+
if (modulePath !== undefined) {
|
|
104
|
+
return sha1Short(`ce::${pkg}::${modulePath}::${c.tagName}`);
|
|
105
|
+
}
|
|
100
106
|
return sha1Short(`ce::${pkg}::${c.tagName}`);
|
|
101
107
|
}
|
|
108
|
+
if (modulePath !== undefined) {
|
|
109
|
+
return sha1Short(`rc::${pkg}::${modulePath}::${c.export}`);
|
|
110
|
+
}
|
|
102
111
|
return sha1Short(`rc::${pkg}::${c.export}`);
|
|
103
112
|
}
|
|
104
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[];
|
|
@@ -1,55 +1,46 @@
|
|
|
1
|
-
|
|
2
|
-
const REACT_EXTS = new Set([".tsx", ".jsx", ".ts", ".js"]);
|
|
3
|
-
export function detectReactComponents(source, filePath, extension) {
|
|
4
|
-
if (!REACT_EXTS.has(extension))
|
|
5
|
-
return [];
|
|
6
|
-
// `.ts` files cannot contain JSX; enabling the jsx plugin there causes
|
|
7
|
-
// valid TypeScript like `return <const>{...}` to fail to parse.
|
|
8
|
-
const plugins = ["typescript", "decorators-legacy", "classProperties"];
|
|
9
|
-
if (extension !== ".ts")
|
|
10
|
-
plugins.push("jsx");
|
|
11
|
-
const ast = (() => {
|
|
12
|
-
try {
|
|
13
|
-
return parse(source, {
|
|
14
|
-
sourceType: "module",
|
|
15
|
-
plugins,
|
|
16
|
-
errorRecovery: true,
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
catch {
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
})();
|
|
23
|
-
if (!ast)
|
|
24
|
-
return [];
|
|
1
|
+
export function detectReactComponents(program, filePath, source) {
|
|
25
2
|
const found = [];
|
|
26
3
|
const filePathSource = { type: "local", filePath };
|
|
4
|
+
// Bound helper — closes over filePath and source so call sites are concise.
|
|
5
|
+
const loc = (node) => nodeLoc(node, filePath, source);
|
|
27
6
|
// ── Pass 1: collect top-level PascalCase declarations as candidates ──────
|
|
28
7
|
// "Top-level" = direct child of Program, or inline declaration inside an
|
|
29
8
|
// Export*Declaration that is a direct child of Program.
|
|
30
9
|
const candidates = new Map();
|
|
31
|
-
for (const stmt of
|
|
10
|
+
for (const stmt of program.body) {
|
|
32
11
|
// Unwrap export wrappers to get the inner declaration (if any).
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
if (
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
loc: nodeLoc(inner, filePath),
|
|
44
|
-
});
|
|
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;
|
|
45
22
|
}
|
|
46
|
-
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
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 },
|
|
29
|
+
detector: "react-default-fn",
|
|
30
|
+
loc: loc(fn),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
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 },
|
|
40
|
+
detector: "react-class",
|
|
41
|
+
loc: loc(cls),
|
|
42
|
+
});
|
|
43
|
+
}
|
|
53
44
|
}
|
|
54
45
|
else if (inner.type === "VariableDeclaration") {
|
|
55
46
|
for (const d of inner.declarations) {
|
|
@@ -61,7 +52,7 @@ export function detectReactComponents(source, filePath, extension) {
|
|
|
61
52
|
candidates.set(name, {
|
|
62
53
|
componentId: { kind: "react-component", export: name, source: filePathSource },
|
|
63
54
|
detector,
|
|
64
|
-
loc:
|
|
55
|
+
loc: loc(d),
|
|
65
56
|
});
|
|
66
57
|
}
|
|
67
58
|
}
|
|
@@ -81,59 +72,65 @@ export function detectReactComponents(source, filePath, extension) {
|
|
|
81
72
|
emitted.add(key);
|
|
82
73
|
found.push(def);
|
|
83
74
|
}
|
|
84
|
-
for (const stmt of
|
|
75
|
+
for (const stmt of program.body) {
|
|
85
76
|
// ── ExportDefaultDeclaration ──────────────────────────────────────────
|
|
86
77
|
if (stmt.type === "ExportDefaultDeclaration") {
|
|
87
78
|
const decl = stmt.declaration;
|
|
88
79
|
// Named function declaration: `export default function Foo() {}`
|
|
89
|
-
if (decl.type === "FunctionDeclaration"
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
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
|
+
}
|
|
108
103
|
continue;
|
|
109
104
|
}
|
|
110
105
|
// Anonymous arrow / function expression default: `export default () => <Foo/>`
|
|
111
|
-
if (
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
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
|
+
}
|
|
120
117
|
continue;
|
|
121
118
|
}
|
|
122
119
|
// Class component default: `export default class Foo extends Component { render() {} }`
|
|
123
|
-
if (decl.type === "ClassDeclaration"
|
|
124
|
-
decl
|
|
125
|
-
isPascalCase(
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
}
|
|
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
|
+
}
|
|
134
131
|
continue;
|
|
135
132
|
}
|
|
136
|
-
//
|
|
133
|
+
// `export default Identifier` — look up in candidates
|
|
137
134
|
if (decl.type === "Identifier") {
|
|
138
135
|
const candidate = candidates.get(decl.name);
|
|
139
136
|
if (candidate) {
|
|
@@ -147,17 +144,18 @@ export function detectReactComponents(source, filePath, extension) {
|
|
|
147
144
|
}
|
|
148
145
|
continue;
|
|
149
146
|
}
|
|
150
|
-
//
|
|
147
|
+
// `export default memo(Foo)` / `export default forwardRef(Foo)` etc.
|
|
151
148
|
if (decl.type === "CallExpression") {
|
|
152
|
-
const
|
|
149
|
+
const call = decl;
|
|
150
|
+
const callee = call.callee;
|
|
153
151
|
let calleeName;
|
|
154
152
|
if (callee.type === "Identifier")
|
|
155
153
|
calleeName = callee.name;
|
|
156
154
|
else if (callee.type === "MemberExpression" && callee.property.type === "Identifier")
|
|
157
155
|
calleeName = callee.property.name;
|
|
158
156
|
const isHoc = calleeName === "memo" || calleeName === "forwardRef" || calleeName === "observer";
|
|
159
|
-
if (isHoc &&
|
|
160
|
-
const firstArg =
|
|
157
|
+
if (isHoc && call.arguments.length > 0) {
|
|
158
|
+
const firstArg = call.arguments[0];
|
|
161
159
|
if (firstArg && firstArg.type === "Identifier") {
|
|
162
160
|
const candidate = candidates.get(firstArg.name);
|
|
163
161
|
if (candidate) {
|
|
@@ -183,23 +181,29 @@ export function detectReactComponents(source, filePath, extension) {
|
|
|
183
181
|
const decl = stmt.declaration;
|
|
184
182
|
// Inline declaration: `export function Foo() {}`, `export const Foo = ...`, etc.
|
|
185
183
|
if (decl) {
|
|
186
|
-
if (decl.type === "FunctionDeclaration"
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
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
|
+
}
|
|
194
195
|
}
|
|
195
|
-
if (decl.type === "ClassDeclaration"
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
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,
|
|
202
|
+
isDefault: false,
|
|
203
|
+
detector: "react-class",
|
|
204
|
+
...withLoc(loc(cls)),
|
|
205
|
+
});
|
|
206
|
+
}
|
|
203
207
|
}
|
|
204
208
|
if (decl.type === "VariableDeclaration") {
|
|
205
209
|
for (const d of decl.declarations) {
|
|
@@ -212,22 +216,29 @@ export function detectReactComponents(source, filePath, extension) {
|
|
|
212
216
|
exportName: d.id.name,
|
|
213
217
|
isDefault: false,
|
|
214
218
|
detector,
|
|
215
|
-
...withLoc(
|
|
219
|
+
...withLoc(loc(d)),
|
|
216
220
|
});
|
|
217
221
|
}
|
|
218
222
|
}
|
|
219
223
|
}
|
|
220
224
|
continue;
|
|
221
225
|
}
|
|
222
|
-
//
|
|
226
|
+
// `export { X }` or `export { X as Y }` — local re-exports (no source).
|
|
223
227
|
// Skip if this is a re-export from another module (`stmt.source` is non-null).
|
|
224
228
|
if (!stmt.source && stmt.specifiers.length > 0) {
|
|
225
229
|
for (const specifier of stmt.specifiers) {
|
|
226
230
|
if (specifier.type !== "ExportSpecifier")
|
|
227
231
|
continue;
|
|
228
|
-
const
|
|
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;
|
|
229
238
|
const exportedNode = specifier.exported;
|
|
230
|
-
const exportedName = exportedNode.type === "Identifier"
|
|
239
|
+
const exportedName = exportedNode.type === "Identifier"
|
|
240
|
+
? exportedNode.name
|
|
241
|
+
: exportedNode.value;
|
|
231
242
|
const isDefault = exportedName === "default";
|
|
232
243
|
const candidate = candidates.get(localName);
|
|
233
244
|
if (!candidate)
|
|
@@ -246,7 +257,7 @@ export function detectReactComponents(source, filePath, extension) {
|
|
|
246
257
|
return found;
|
|
247
258
|
}
|
|
248
259
|
// ── Helpers ────────────────────────────────────────────────────────────────
|
|
249
|
-
/** Narrow whether an ExportDefaultDeclaration's `.declaration` is a
|
|
260
|
+
/** Narrow whether an ExportDefaultDeclaration's `.declaration` is a function or class node */
|
|
250
261
|
function isDeclaration(node) {
|
|
251
262
|
return node.type === "FunctionDeclaration" || node.type === "ClassDeclaration";
|
|
252
263
|
}
|
|
@@ -267,6 +278,9 @@ function returnsJsx(fn) {
|
|
|
267
278
|
function isJsxNode(node) {
|
|
268
279
|
if (node.type === "JSXElement" || node.type === "JSXFragment")
|
|
269
280
|
return true;
|
|
281
|
+
// OXC preserves parentheses as ParenthesizedExpression nodes; Babel strips them.
|
|
282
|
+
if (node.type === "ParenthesizedExpression")
|
|
283
|
+
return isJsxNode(node.expression);
|
|
270
284
|
if (node.type === "ConditionalExpression")
|
|
271
285
|
return isJsxNode(node.consequent) || isJsxNode(node.alternate);
|
|
272
286
|
if (node.type === "LogicalExpression")
|
|
@@ -274,13 +288,19 @@ function isJsxNode(node) {
|
|
|
274
288
|
return false;
|
|
275
289
|
}
|
|
276
290
|
function hasRenderMethod(decl) {
|
|
277
|
-
return decl.body.body.some((m) => (m.type === "
|
|
291
|
+
return decl.body.body.some((m) => (m.type === "MethodDefinition" || m.type === "PropertyDefinition") &&
|
|
278
292
|
m.key.type === "Identifier" &&
|
|
279
293
|
m.key.name === "render");
|
|
280
294
|
}
|
|
281
|
-
function nodeLoc(node, filePath) {
|
|
282
|
-
|
|
283
|
-
|
|
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 };
|
|
302
|
+
}
|
|
303
|
+
return undefined;
|
|
284
304
|
}
|
|
285
305
|
function withLoc(loc) {
|
|
286
306
|
return loc !== undefined ? { loc } : {};
|
|
@@ -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":"AAmBA,MAAM,UAAU,qBAAqB,CAAC,OAAgB,EAAE,QAAgB,EAAE,MAAe;IACvF,MAAM,KAAK,GAAsB,EAAE,CAAC;IACpC,MAAM,cAAc,GAAG,EAAE,IAAI,EAAE,OAAgB,EAAE,QAAQ,EAAE,CAAC;IAC5D,4EAA4E;IAC5E,MAAM,GAAG,GAAG,CAAC,IAAU,EAAmB,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAE7E,4EAA4E;IAC5E,yEAAyE;IACzE,wDAAwD;IACxD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAqB,CAAC;IAEhD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAChC,gEAAgE;QAChE,kEAAkE;QAClE,IAAI,KAAK,GAAgB,IAAI,CAAC;QAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/D,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3B,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,0BAA0B,IAAI,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACvF,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YACzC,MAAM,EAAE,GAAG,KAAoB,CAAC;YAChC,IAAI,EAAE,CAAC,EAAE,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxD,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;gBACxB,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE;oBACnB,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE;oBAC9E,QAAQ,EAAE,kBAAkB;oBAC5B,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;iBACb,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,KAAiB,CAAC;YAC9B,IAAI,GAAG,CAAC,EAAE,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChE,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;gBACzB,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE;oBACnB,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE;oBAC9E,QAAQ,EAAE,aAAa;oBACvB,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;iBACd,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YAChD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACnC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;oBAAE,SAAS;gBAChF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC9C,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;oBACvB,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE;wBACnB,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE;wBAC9E,QAAQ;wBACR,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;qBACZ,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,6DAA6D;IAC7D,wDAAwD;IACxD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,SAAS,OAAO,CAAC,UAAkB,EAAE,SAAkB;QACrD,OAAO,GAAG,UAAU,IAAI,SAAS,EAAE,CAAC;IACtC,CAAC;IAED,SAAS,IAAI,CAAC,GAAoB;QAChC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAChC,yEAAyE;QACzE,IAAI,IAAI,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;YAE9B,iEAAiE;YACjE,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBACxC,MAAM,EAAE,GAAG,IAAmB,CAAC;gBAC/B,IAAI,EAAE,CAAC,EAAE,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;oBACxD,IAAI,CAAC;wBACH,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE;wBACpF,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI;wBACtB,SAAS,EAAE,IAAI;wBACf,QAAQ,EAAE,kBAAkB;wBAC5B,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;qBACpB,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBACD,yEAAyE;gBACzE,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;oBACnB,IAAI,CAAC;wBACH,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE;wBACnF,UAAU,EAAE,SAAS;wBACrB,SAAS,EAAE,IAAI;wBACf,QAAQ,EAAE,kBAAkB;wBAC5B,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;qBACpB,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBACD,SAAS;YACX,CAAC;YAED,+EAA+E;YAC/E,IAAI,IAAI,CAAC,IAAI,KAAK,yBAAyB,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBAClF,MAAM,EAAE,GAAG,IAA6C,CAAC;gBACzD,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;oBACnB,IAAI,CAAC;wBACH,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE;wBACnF,UAAU,EAAE,SAAS;wBACrB,SAAS,EAAE,IAAI;wBACf,QAAQ,EAAE,aAAa;wBACvB,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;qBACpB,CAAC,CAAC;gBACL,CAAC;gBACD,SAAS;YACX,CAAC;YAED,wFAAwF;YACxF,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACrC,MAAM,GAAG,GAAG,IAAgB,CAAC;gBAC7B,IAAI,GAAG,CAAC,EAAE,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChE,IAAI,CAAC;wBACH,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE;wBACrF,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI;wBACvB,SAAS,EAAE,IAAI;wBACf,QAAQ,EAAE,aAAa;wBACvB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qBACrB,CAAC,CAAC;gBACL,CAAC;gBACD,SAAS;YACX,CAAC;YAED,sDAAsD;YACtD,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC;wBACH,WAAW,EAAE,SAAS,CAAC,WAAW;wBAClC,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;wBACvG,SAAS,EAAE,IAAI;wBACf,QAAQ,EAAE,SAAS,CAAC,QAAQ;wBAC5B,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC;qBAC1B,CAAC,CAAC;gBACL,CAAC;gBACD,SAAS;YACX,CAAC;YAED,qEAAqE;YACrE,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACnC,MAAM,IAAI,GAAG,IAAsB,CAAC;gBACpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,IAAI,UAA8B,CAAC;gBACnC,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;oBAAE,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;qBACtD,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;oBAAE,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAExH,MAAM,KAAK,GAAG,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,YAAY,IAAI,UAAU,KAAK,UAAU,CAAC;gBAChG,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBACnC,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBAC/C,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBAChD,IAAI,SAAS,EAAE,CAAC;4BACd,MAAM,QAAQ,GACZ,UAAU,KAAK,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;gCACnD,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;oCACtC,aAAa,CAAC;4BAChB,IAAI,CAAC;gCACH,WAAW,EAAE,SAAS,CAAC,WAAW;gCAClC,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI;gCAC3G,SAAS,EAAE,IAAI;gCACf,QAAQ;gCACR,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC;6BAC1B,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,SAAS;YACX,CAAC;YAED,SAAS;QACX,CAAC;QAED,yEAAyE;QACzE,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;YAE9B,iFAAiF;YACjF,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;oBACxC,MAAM,EAAE,GAAG,IAAmB,CAAC;oBAC/B,IAAI,EAAE,CAAC,EAAE,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;wBACxD,IAAI,CAAC;4BACH,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE;4BACpF,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI;4BACtB,SAAS,EAAE,KAAK;4BAChB,QAAQ,EAAE,kBAAkB;4BAC5B,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;yBACpB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;oBACrC,MAAM,GAAG,GAAG,IAAgB,CAAC;oBAC7B,IAAI,GAAG,CAAC,EAAE,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;wBAChE,IAAI,CAAC;4BACH,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE;4BACrF,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI;4BACvB,SAAS,EAAE,KAAK;4BAChB,QAAQ,EAAE,aAAa;4BACvB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;yBACrB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;oBACxC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;4BAAE,SAAS;wBAChF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBAC9C,IAAI,QAAQ,EAAE,CAAC;4BACb,IAAI,CAAC;gCACH,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE;gCACnF,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI;gCACrB,SAAS,EAAE,KAAK;gCAChB,QAAQ;gCACR,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;6BACnB,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,SAAS;YACX,CAAC;YAED,wEAAwE;YACxE,+EAA+E;YAC/E,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/C,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACxC,IAAI,SAAS,CAAC,IAAI,KAAK,iBAAiB;wBAAE,SAAS;oBACnD,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC;oBAClC,gFAAgF;oBAChF,2DAA2D;oBAC3D,IAAI,SAAS,CAAC,IAAI,KAAK,YAAY;wBAAE,SAAS;oBAC9C,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;oBAEjC,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC;oBACxC,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,KAAK,YAAY;wBACrD,CAAC,CAAC,YAAY,CAAC,IAAI;wBACnB,CAAC,CAAE,YAAkC,CAAC,KAAK,CAAC;oBAC9C,MAAM,SAAS,GAAG,YAAY,KAAK,SAAS,CAAC;oBAE7C,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC5C,IAAI,CAAC,SAAS;wBAAE,SAAS;oBAEzB,IAAI,CAAC;wBACH,WAAW,EAAE,SAAS,CAAC,WAAW;wBAClC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;wBAChD,SAAS;wBACT,QAAQ,EAAE,SAAS,CAAC,QAAQ;wBAC5B,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC;qBAC1B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAE9E,8FAA8F;AAC9F,SAAS,aAAa,CAAC,IAAU;IAC/B,OAAO,IAAI,CAAC,IAAI,KAAK,qBAAqB,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC;AACjF,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,UAAU,CAAC,EAAyC;IAC3D,IAAI,EAAE,CAAC,IAAI,KAAK,yBAAyB,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC/E,OAAO,SAAS,CAAC,EAAE,CAAC,IAAY,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC;IACtB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB;QAAE,OAAO,KAAK,CAAC;IAC5D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CACpB,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,KAAK,iBAAiB;QAC/B,IAAI,CAAC,QAAQ,IAAI,IAAI;QACrB,CAAC,SAAS,CAAC,IAAI,CAAC,QAAgB,CAAC,IAAK,IAAI,CAAC,QAAiB,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAC1F,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,IAAU;IAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IAC3E,iFAAiF;IACjF,IAAI,IAAI,CAAC,IAAI,KAAK,yBAAyB;QAAE,OAAO,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/E,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAuB;QAAE,OAAO,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1G,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB;QAAE,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,IAAc;IACrC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,CAAC;QAClE,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY;QAC1B,CAAC,CAAC,GAAwB,CAAC,IAAI,KAAK,QAAQ,CAChD,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,IAAU,EAAE,QAAgB,EAAE,MAAe;IAC5D,6DAA6D;IAC7D,iEAAiE;IACjE,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAChG,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,OAAO,CAAC,GAAoB;IACnC,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAU;IACtC,IAAI,IAAI,CAAC,IAAI,KAAK,yBAAyB,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB;QAAE,OAAO,aAAa,CAAC;IACxG,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACnC,MAAM,MAAM,GAAI,IAAuB,CAAC,MAAM,CAAC;QAC/C,IAAI,UAA8B,CAAC;QACnC,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;YAAE,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;aACtD,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;YAAE,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACxH,IAAI,UAAU,KAAK,YAAY;YAAE,OAAO,mBAAmB,CAAC;QAC5D,IAAI,UAAU,KAAK,MAAM;YAAE,OAAO,YAAY,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -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[];
|