@component-compass/parser-vue 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/index.js +39 -12
- package/dist/index.js.map +1 -1
- package/dist/owner.d.ts +14 -0
- package/dist/owner.js +22 -0
- package/dist/owner.js.map +1 -0
- package/dist/parse-sfc.d.ts +19 -5
- package/dist/parse-sfc.js +8 -20
- package/dist/parse-sfc.js.map +1 -1
- package/dist/script-imports.d.ts +7 -2
- package/dist/script-imports.js +16 -45
- package/dist/script-imports.js.map +1 -1
- package/dist/walk-template.d.ts +25 -2
- package/dist/walk-template.js +70 -40
- package/dist/walk-template.js.map +1 -1
- package/package.json +6 -4
package/dist/index.js
CHANGED
|
@@ -2,8 +2,9 @@ import { basename, extname } from "node:path";
|
|
|
2
2
|
import { serialiseComponentId } from "@component-compass/plugin-core";
|
|
3
3
|
import { asWrapperId } from "@component-compass/plugin-core";
|
|
4
4
|
import { posixPath } from "@component-compass/ast-utils";
|
|
5
|
-
import {
|
|
5
|
+
import { partsFromWrapper } from "./parse-sfc.js";
|
|
6
6
|
import { walkVueTemplate } from "./walk-template.js";
|
|
7
|
+
import { resolveSfcOwner } from "./owner.js";
|
|
7
8
|
import { extractScriptImports } from "./script-imports.js";
|
|
8
9
|
function wrapperIdFromName(name) {
|
|
9
10
|
const kebab = name.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
@@ -23,22 +24,31 @@ export const vuePlugin = {
|
|
|
23
24
|
name: "vue",
|
|
24
25
|
extensions: [".vue"],
|
|
25
26
|
parse(file, source, ctx) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
27
|
+
// Single-pass scan invariant (#48): scan.ts owns the SFC parse and threads
|
|
28
|
+
// the wrapper (descriptor + optional scriptAst) through ctx.ast. Defensive
|
|
29
|
+
// throw — should only fire under direct plugin invocation that bypasses
|
|
30
|
+
// scan.ts. Named `parsedWrapper` to disambiguate from the WrapperDef the
|
|
31
|
+
// SFC emits.
|
|
32
|
+
const parsedWrapper = ctx.ast;
|
|
33
|
+
if (parsedWrapper === undefined) {
|
|
34
|
+
throw new Error("parser-vue: ctx.ast must be provided (single-pass scan, #48)");
|
|
35
|
+
}
|
|
36
|
+
const parts = partsFromWrapper(parsedWrapper);
|
|
34
37
|
let imports = [];
|
|
35
38
|
let importSpecs = [];
|
|
36
39
|
let sideEffectSources = [];
|
|
40
|
+
const warnings = [];
|
|
37
41
|
if (parts.scriptSource) {
|
|
42
|
+
// scriptProgram is optional on the wrapper because an SFC with no script
|
|
43
|
+
// block has no script AST to thread. When `parts.scriptSource` is
|
|
44
|
+
// truthy, scan.ts must have produced a scriptProgram — anything else is
|
|
45
|
+
// direct plugin misuse.
|
|
46
|
+
if (parsedWrapper.scriptProgram === undefined) {
|
|
47
|
+
throw new Error("parser-vue: wrapper.scriptProgram must be provided when the SFC has a script block (single-pass scan, #48)");
|
|
48
|
+
}
|
|
38
49
|
const scriptResult = extractScriptImports({
|
|
39
50
|
file,
|
|
40
|
-
|
|
41
|
-
lang: parts.scriptLang ?? "js",
|
|
51
|
+
program: parsedWrapper.scriptProgram,
|
|
42
52
|
});
|
|
43
53
|
imports = scriptResult.imports;
|
|
44
54
|
importSpecs = scriptResult.importSpecs;
|
|
@@ -68,6 +78,7 @@ export const vuePlugin = {
|
|
|
68
78
|
export: hit.matched.export,
|
|
69
79
|
specifier: spec.source,
|
|
70
80
|
importName: spec.imported,
|
|
81
|
+
modulePath: hit.modulePath,
|
|
71
82
|
};
|
|
72
83
|
for (const form of vueTagForms(spec.local)) {
|
|
73
84
|
templateBindings.set(form, binding);
|
|
@@ -82,6 +93,7 @@ export const vuePlugin = {
|
|
|
82
93
|
importedName: spec.imported,
|
|
83
94
|
specifier: spec.source,
|
|
84
95
|
leafPackage: hit.leafPackage,
|
|
96
|
+
modulePath: hit.modulePath,
|
|
85
97
|
};
|
|
86
98
|
for (const form of vueTagForms(spec.local)) {
|
|
87
99
|
unmappedBindings.set(form, unmapped);
|
|
@@ -95,6 +107,7 @@ export const vuePlugin = {
|
|
|
95
107
|
importedName: spec.imported,
|
|
96
108
|
specifier: spec.source,
|
|
97
109
|
leafPackage: null,
|
|
110
|
+
modulePath: null,
|
|
98
111
|
};
|
|
99
112
|
for (const form of vueTagForms(spec.local)) {
|
|
100
113
|
unmappedBindings.set(form, unmapped);
|
|
@@ -102,7 +115,21 @@ export const vuePlugin = {
|
|
|
102
115
|
}
|
|
103
116
|
}
|
|
104
117
|
const lineOffset = source.slice(0, parts.templateOffset ?? 0).split("\n").length - 1;
|
|
105
|
-
const
|
|
118
|
+
const ownerId = resolveSfcOwner(file, ctx.localIndex, ctx.repoRoot);
|
|
119
|
+
const occurrences = walkVueTemplate({
|
|
120
|
+
file,
|
|
121
|
+
template: parts.templateSource,
|
|
122
|
+
lineOffset,
|
|
123
|
+
lookupByTag: ctx.lookupByTag,
|
|
124
|
+
localIndex: ctx.localIndex,
|
|
125
|
+
templateBindings,
|
|
126
|
+
unmappedBindings,
|
|
127
|
+
...(ctx.cemIndex !== undefined ? { cemIndex: ctx.cemIndex } : {}),
|
|
128
|
+
captureValues: ctx.config.captureValues,
|
|
129
|
+
repoRoot: ctx.repoRoot,
|
|
130
|
+
...(ctx.collector !== undefined ? { collector: ctx.collector } : {}),
|
|
131
|
+
...(ownerId !== undefined ? { ownerId } : {}),
|
|
132
|
+
});
|
|
106
133
|
if (occurrences.length === 0) {
|
|
107
134
|
return { occurrences: [], wrappers: [], imports, warnings };
|
|
108
135
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/owner.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ComponentId, LocalDefinitionIndex } from "@component-compass/plugin-core";
|
|
2
|
+
/**
|
|
3
|
+
* Resolve the enclosing SFC's Component Identity for owner-stamping.
|
|
4
|
+
*
|
|
5
|
+
* Every template-emitted Occurrence in a `.vue` file is owned by that SFC's
|
|
6
|
+
* vue-component Identity. Looks up the file in the local-index — the single
|
|
7
|
+
* source of truth populated by `detect-vue.ts` — so the owner stamp aligns
|
|
8
|
+
* with the local-lane Component in `components[]`.
|
|
9
|
+
*
|
|
10
|
+
* Returns `undefined` if no Local definition exists for the file (e.g.
|
|
11
|
+
* `<script>`-only files that don't match `defineComponent` or SFC shape).
|
|
12
|
+
* Occurrences then surface as root in the composition rollup.
|
|
13
|
+
*/
|
|
14
|
+
export declare function resolveSfcOwner(file: string, localIndex: LocalDefinitionIndex, repoRoot?: string): ComponentId | undefined;
|
package/dist/owner.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { normalizeOwnerPath } from "@component-compass/plugin-core";
|
|
2
|
+
/**
|
|
3
|
+
* Resolve the enclosing SFC's Component Identity for owner-stamping.
|
|
4
|
+
*
|
|
5
|
+
* Every template-emitted Occurrence in a `.vue` file is owned by that SFC's
|
|
6
|
+
* vue-component Identity. Looks up the file in the local-index — the single
|
|
7
|
+
* source of truth populated by `detect-vue.ts` — so the owner stamp aligns
|
|
8
|
+
* with the local-lane Component in `components[]`.
|
|
9
|
+
*
|
|
10
|
+
* Returns `undefined` if no Local definition exists for the file (e.g.
|
|
11
|
+
* `<script>`-only files that don't match `defineComponent` or SFC shape).
|
|
12
|
+
* Occurrences then surface as root in the composition rollup.
|
|
13
|
+
*/
|
|
14
|
+
export function resolveSfcOwner(file, localIndex, repoRoot) {
|
|
15
|
+
const normalizedPath = normalizeOwnerPath(file, repoRoot);
|
|
16
|
+
const defs = localIndex.byPath.get(normalizedPath);
|
|
17
|
+
const first = defs?.[0];
|
|
18
|
+
if (!first)
|
|
19
|
+
return undefined;
|
|
20
|
+
return first.componentId;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=owner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owner.js","sourceRoot":"","sources":["../src/owner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,UAAgC,EAChC,QAAiB;IAEjB,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,KAAK,CAAC,WAAW,CAAC;AAC3B,CAAC"}
|
package/dist/parse-sfc.d.ts
CHANGED
|
@@ -1,11 +1,25 @@
|
|
|
1
|
+
import type { SFCDescriptor } from "@vue/compiler-sfc";
|
|
2
|
+
import type { Program } from "@oxc-project/types";
|
|
3
|
+
/**
|
|
4
|
+
* Bridge-mode wrapper threaded through `ParseContext.ast` for `.vue` files.
|
|
5
|
+
* parseByExt produces this shape: SFC descriptor from `@vue/compiler-sfc`,
|
|
6
|
+
* plus an oxc Program for the script block when one exists. `scriptProgram`
|
|
7
|
+
* stays optional because an SFC without a `<script>` block legitimately has
|
|
8
|
+
* none.
|
|
9
|
+
*/
|
|
10
|
+
export type VueParseWrapper = {
|
|
11
|
+
descriptor: SFCDescriptor;
|
|
12
|
+
scriptProgram?: Program;
|
|
13
|
+
};
|
|
1
14
|
export type SfcParts = {
|
|
2
15
|
templateSource?: string;
|
|
3
16
|
templateOffset?: number;
|
|
4
17
|
scriptSource?: string;
|
|
5
18
|
scriptLang?: "ts" | "js";
|
|
6
|
-
errors: Array<{
|
|
7
|
-
message: string;
|
|
8
|
-
line?: number;
|
|
9
|
-
}>;
|
|
10
19
|
};
|
|
11
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Derive the `SfcParts` shape from a descriptor produced upstream (parseByExt).
|
|
22
|
+
* No SFC re-parse. parseByExt throws on unrecoverable SFC syntax, so any
|
|
23
|
+
* descriptor reaching this point is well-formed.
|
|
24
|
+
*/
|
|
25
|
+
export declare function partsFromWrapper(wrapper: VueParseWrapper): SfcParts;
|
package/dist/parse-sfc.js
CHANGED
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
...(line !== undefined ? { line } : {}),
|
|
10
|
-
message: `SFC parse error: ${errorMessage(e)}`,
|
|
11
|
-
};
|
|
12
|
-
}),
|
|
13
|
-
};
|
|
1
|
+
/**
|
|
2
|
+
* Derive the `SfcParts` shape from a descriptor produced upstream (parseByExt).
|
|
3
|
+
* No SFC re-parse. parseByExt throws on unrecoverable SFC syntax, so any
|
|
4
|
+
* descriptor reaching this point is well-formed.
|
|
5
|
+
*/
|
|
6
|
+
export function partsFromWrapper(wrapper) {
|
|
7
|
+
const { descriptor } = wrapper;
|
|
8
|
+
const result = {};
|
|
14
9
|
if (descriptor.template) {
|
|
15
10
|
result.templateSource = descriptor.template.content;
|
|
16
11
|
result.templateOffset = descriptor.template.loc.start.offset;
|
|
@@ -22,11 +17,4 @@ export function splitSfc(source) {
|
|
|
22
17
|
}
|
|
23
18
|
return result;
|
|
24
19
|
}
|
|
25
|
-
function lineFromVueError(e) {
|
|
26
|
-
if (typeof e !== "object" || e === null || !("loc" in e))
|
|
27
|
-
return undefined;
|
|
28
|
-
const loc = e.loc;
|
|
29
|
-
const line = loc?.start?.line;
|
|
30
|
-
return typeof line === "number" ? line : undefined;
|
|
31
|
-
}
|
|
32
20
|
//# sourceMappingURL=parse-sfc.js.map
|
package/dist/parse-sfc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-sfc.js","sourceRoot":"","sources":["../src/parse-sfc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-sfc.js","sourceRoot":"","sources":["../src/parse-sfc.ts"],"names":[],"mappings":"AAsBA;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAwB;IACvD,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QACxB,MAAM,CAAC,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;QACpD,MAAM,CAAC,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;IAC/D,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,MAAM,CAAC;IAC3D,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;QACrC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/script-imports.d.ts
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
import type { Program } from "@oxc-project/types";
|
|
1
2
|
import type { FileImport, Warning } from "@component-compass/plugin-core";
|
|
2
3
|
export type ExtractOptions = {
|
|
3
4
|
file: string;
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Pre-parsed script-block AST from the single-pass scan pipeline (#48).
|
|
7
|
+
* scan.ts owns the oxc parse for the SFC's script block and threads the
|
|
8
|
+
* result through the parser plugin's wrapper.scriptProgram field.
|
|
9
|
+
*/
|
|
10
|
+
program: Program;
|
|
6
11
|
};
|
|
7
12
|
export type ImportSpec = {
|
|
8
13
|
/** Local binding name as written in the script (after `as` rename, if any). */
|
package/dist/script-imports.js
CHANGED
|
@@ -1,63 +1,30 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { posixPath
|
|
1
|
+
import { walk } from "oxc-walker";
|
|
2
|
+
import { posixPath } from "@component-compass/ast-utils";
|
|
3
3
|
export function extractScriptImports(opts) {
|
|
4
4
|
const imports = [];
|
|
5
5
|
const importSpecs = [];
|
|
6
6
|
const sideEffectSources = [];
|
|
7
7
|
const warnings = [];
|
|
8
|
-
let ast;
|
|
9
|
-
try {
|
|
10
|
-
ast = parse(opts.source, {
|
|
11
|
-
sourceType: "module",
|
|
12
|
-
plugins: opts.lang === "ts" ? ["typescript"] : [],
|
|
13
|
-
errorRecovery: true,
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
catch (e) {
|
|
17
|
-
warnings.push({
|
|
18
|
-
code: "PARSE_FAILURE",
|
|
19
|
-
message: `SFC script parse error: ${errorMessage(e)}`,
|
|
20
|
-
file: opts.file,
|
|
21
|
-
// line: 0 means "unknown" — Babel didn't surface a location for this error.
|
|
22
|
-
line: 0,
|
|
23
|
-
});
|
|
24
|
-
return { imports, importSpecs, sideEffectSources, warnings };
|
|
25
|
-
}
|
|
26
|
-
const recovered = ast.errors ?? [];
|
|
27
|
-
for (const err of recovered) {
|
|
28
|
-
warnings.push({
|
|
29
|
-
code: "PARSE_FAILURE",
|
|
30
|
-
message: `Recovered SFC script parse error: ${err.message}`,
|
|
31
|
-
file: opts.file,
|
|
32
|
-
// line: 0 means "unknown" when Babel didn't supply a location.
|
|
33
|
-
line: typeof err.loc?.line === "number" ? err.loc.line : 0,
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
8
|
const filePosix = posixPath(opts.file);
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
9
|
+
walk(opts.program, {
|
|
10
|
+
enter(node) {
|
|
11
|
+
if (node.type !== "ImportDeclaration")
|
|
12
|
+
return;
|
|
13
|
+
const source = node.source.value;
|
|
14
|
+
if (node.specifiers.length === 0) {
|
|
41
15
|
// Side-effect import: `import "pkg"`. Carried out so the Vue plugin
|
|
42
16
|
// can prime the lazy resolver's leaf cache for template-only
|
|
43
17
|
// (tag-only) consumers. No binding to track.
|
|
44
18
|
sideEffectSources.push(source);
|
|
45
19
|
return;
|
|
46
20
|
}
|
|
47
|
-
for (const spec of
|
|
48
|
-
if (spec.type !== "ImportSpecifier" &&
|
|
49
|
-
spec.type !== "ImportDefaultSpecifier" &&
|
|
50
|
-
spec.type !== "ImportNamespaceSpecifier") {
|
|
51
|
-
continue;
|
|
52
|
-
}
|
|
21
|
+
for (const spec of node.specifiers) {
|
|
53
22
|
const local = spec.local.name;
|
|
54
|
-
const line = spec.loc?.start.line ?? 1;
|
|
55
|
-
const column = (spec.loc?.start.column ?? 0) + 1;
|
|
56
23
|
imports.push({
|
|
57
24
|
file: filePosix,
|
|
58
25
|
imported: local,
|
|
59
26
|
source,
|
|
60
|
-
loc: { file: filePosix, line, column },
|
|
27
|
+
loc: { file: filePosix, line: 1, column: 1 },
|
|
61
28
|
});
|
|
62
29
|
let importedName;
|
|
63
30
|
if (spec.type === "ImportDefaultSpecifier") {
|
|
@@ -67,9 +34,13 @@ export function extractScriptImports(opts) {
|
|
|
67
34
|
importedName = "*";
|
|
68
35
|
}
|
|
69
36
|
else {
|
|
70
|
-
// ImportSpecifier
|
|
37
|
+
// ImportSpecifier: imported may be Identifier or StringLiteral
|
|
38
|
+
// (for `import { "foo-bar" as foo } from "..."`)
|
|
71
39
|
const imp = spec.imported;
|
|
72
|
-
importedName =
|
|
40
|
+
importedName =
|
|
41
|
+
imp.type === "Identifier"
|
|
42
|
+
? imp.name
|
|
43
|
+
: imp.value;
|
|
73
44
|
}
|
|
74
45
|
importSpecs.push({ local, imported: importedName, source });
|
|
75
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"script-imports.js","sourceRoot":"","sources":["../src/script-imports.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"script-imports.js","sourceRoot":"","sources":["../src/script-imports.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AA6BzD,MAAM,UAAU,oBAAoB,CAAC,IAAoB;IACvD,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;QACjB,KAAK,CAAC,IAAI;YACR,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB;gBAAE,OAAO;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACjC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,oEAAoE;gBACpE,6DAA6D;gBAC7D,6CAA6C;gBAC7C,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/B,OAAO;YACT,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,KAAK;oBACf,MAAM;oBACN,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;iBAC7C,CAAC,CAAC;gBACH,IAAI,YAAoB,CAAC;gBACzB,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;oBAC3C,YAAY,GAAG,SAAS,CAAC;gBAC3B,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;oBACpD,YAAY,GAAG,GAAG,CAAC;gBACrB,CAAC;qBAAM,CAAC;oBACN,+DAA+D;oBAC/D,iDAAiD;oBACjD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAC1B,YAAY;wBACV,GAAG,CAAC,IAAI,KAAK,YAAY;4BACvB,CAAC,CAAC,GAAG,CAAC,IAAI;4BACV,CAAC,CAAE,GAAyB,CAAC,KAAK,CAAC;gBACzC,CAAC;gBACD,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC;AAC/D,CAAC"}
|
package/dist/walk-template.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type { DiagnosticCollector, LocalDefinitionIndex, LookupByTag, Occurrence } from "@component-compass/plugin-core";
|
|
1
|
+
import type { CemIndex, ComponentId, DiagnosticCollector, LocalDefinitionIndex, LookupByTag, Occurrence } from "@component-compass/plugin-core";
|
|
2
2
|
export type VueDirectBinding = {
|
|
3
3
|
kind: "vue-direct";
|
|
4
4
|
package: string;
|
|
5
5
|
export: string;
|
|
6
6
|
specifier: string;
|
|
7
7
|
importName: string;
|
|
8
|
+
modulePath: string;
|
|
8
9
|
};
|
|
9
10
|
export type VueUnmappedBinding = {
|
|
10
11
|
kind: "vue-unmapped";
|
|
@@ -21,5 +22,27 @@ export type VueUnmappedBinding = {
|
|
|
21
22
|
* resolver (relative path, alias, or unresolvable bare import).
|
|
22
23
|
*/
|
|
23
24
|
leafPackage: string | null;
|
|
25
|
+
/**
|
|
26
|
+
* Package-relative resolved module path from the lazy resolver hit
|
|
27
|
+
* (paired with non-null `leafPackage`); null when the resolver returned
|
|
28
|
+
* no hit. Threaded onto the external identity by the template-emission
|
|
29
|
+
* pass so downstream consumers can disambiguate same-export entries
|
|
30
|
+
* served from different package subpaths (#63).
|
|
31
|
+
*/
|
|
32
|
+
modulePath: string | null;
|
|
33
|
+
};
|
|
34
|
+
export type WalkVueTemplateOpts = {
|
|
35
|
+
file: string;
|
|
36
|
+
template: string;
|
|
37
|
+
lineOffset: number;
|
|
38
|
+
lookupByTag: LookupByTag;
|
|
39
|
+
localIndex: LocalDefinitionIndex;
|
|
40
|
+
templateBindings: Map<string, VueDirectBinding>;
|
|
41
|
+
unmappedBindings?: Map<string, VueUnmappedBinding>;
|
|
42
|
+
cemIndex?: CemIndex;
|
|
43
|
+
captureValues: boolean;
|
|
44
|
+
repoRoot?: string;
|
|
45
|
+
collector?: DiagnosticCollector;
|
|
46
|
+
ownerId?: ComponentId;
|
|
24
47
|
};
|
|
25
|
-
export declare function walkVueTemplate(
|
|
48
|
+
export declare function walkVueTemplate(opts: WalkVueTemplateOpts): Occurrence[];
|
package/dist/walk-template.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { parseFragment } from "parse5";
|
|
2
2
|
import { asTagName, externalPackageOf } from "@component-compass/plugin-core";
|
|
3
3
|
import { posixPath, isElement, hasChildren, classifyImportOrigin } from "@component-compass/ast-utils";
|
|
4
|
-
export function walkVueTemplate(
|
|
4
|
+
export function walkVueTemplate(opts) {
|
|
5
|
+
const { file, template, lineOffset, lookupByTag, localIndex, templateBindings, unmappedBindings, cemIndex, captureValues, repoRoot, collector, ownerId, } = opts;
|
|
5
6
|
const occurrences = [];
|
|
6
7
|
const doc = parseFragment(template, { sourceCodeLocationInfo: true });
|
|
7
8
|
// Phase 2: parent stack maintains the lexical chain of tracked elements.
|
|
@@ -19,6 +20,8 @@ export function walkVueTemplate(file, template, lookupByTag, localIndex, templat
|
|
|
19
20
|
if (top)
|
|
20
21
|
occurrence.parentRef = top.idx;
|
|
21
22
|
occurrence.depth = parentStack.length;
|
|
23
|
+
if (ownerId !== undefined)
|
|
24
|
+
occurrence.ownerComponentId = ownerId;
|
|
22
25
|
const idx = occurrences.length;
|
|
23
26
|
occurrences.push(occurrence);
|
|
24
27
|
return idx;
|
|
@@ -51,7 +54,15 @@ export function walkVueTemplate(file, template, lookupByTag, localIndex, templat
|
|
|
51
54
|
repoRoot,
|
|
52
55
|
fromFile: file,
|
|
53
56
|
});
|
|
54
|
-
if (origin.type === "
|
|
57
|
+
if (origin.type === "external") {
|
|
58
|
+
// Manifest enrichment is disabled but the specifier resolves to
|
|
59
|
+
// node_modules — emit an opaque external occurrence keyed by
|
|
60
|
+
// package name. Identity resolution and manifest enrichment are
|
|
61
|
+
// separate concerns; the component still appears in components[]
|
|
62
|
+
// with manifest: null.
|
|
63
|
+
pushedIdx = emitOpportunisticVueOccurrence(node, unmapped, origin.package);
|
|
64
|
+
}
|
|
65
|
+
else if (origin.type === "local") {
|
|
55
66
|
const localDefs = localIndex.byPath.get(origin.filePath);
|
|
56
67
|
const matched = localDefs?.find((d) => unmapped.importedName === "default"
|
|
57
68
|
? d.isDefault
|
|
@@ -61,7 +72,15 @@ export function walkVueTemplate(file, template, lookupByTag, localIndex, templat
|
|
|
61
72
|
}
|
|
62
73
|
// Local miss → skip silently.
|
|
63
74
|
}
|
|
64
|
-
|
|
75
|
+
else if (origin.type === "unresolved" && isBarePackageSpecifier(unmapped.specifier)) {
|
|
76
|
+
// Bare-specifier fallback: workspace-symlinked packages resolve
|
|
77
|
+
// outside node_modules/ so classifyImportOrigin returns
|
|
78
|
+
// "unresolved". Use the specifier as the package name directly.
|
|
79
|
+
const pkgName = unmapped.specifier.startsWith("@")
|
|
80
|
+
? unmapped.specifier.split("/").slice(0, 2).join("/")
|
|
81
|
+
: (unmapped.specifier.split("/")[0] ?? unmapped.specifier);
|
|
82
|
+
pushedIdx = emitOpportunisticVueOccurrence(node, unmapped, pkgName);
|
|
83
|
+
}
|
|
65
84
|
}
|
|
66
85
|
}
|
|
67
86
|
else if (rawTag.includes("-")) {
|
|
@@ -115,7 +134,15 @@ export function walkVueTemplate(file, template, lookupByTag, localIndex, templat
|
|
|
115
134
|
import: binding.importedName,
|
|
116
135
|
};
|
|
117
136
|
return emit({
|
|
118
|
-
componentId: {
|
|
137
|
+
componentId: {
|
|
138
|
+
kind: "vue-component",
|
|
139
|
+
export: binding.importedName,
|
|
140
|
+
source: {
|
|
141
|
+
type: "external",
|
|
142
|
+
package: pkg,
|
|
143
|
+
...(binding.modulePath !== null ? { modulePath: binding.modulePath } : {}),
|
|
144
|
+
},
|
|
145
|
+
},
|
|
119
146
|
loc: {
|
|
120
147
|
file: posixPath(file),
|
|
121
148
|
line: (loc?.startLine ?? 1) + lineOffset,
|
|
@@ -148,45 +175,35 @@ export function walkVueTemplate(file, template, lookupByTag, localIndex, templat
|
|
|
148
175
|
}
|
|
149
176
|
function emitOpportunisticVueAutoImport(node) {
|
|
150
177
|
const tag = asTagName(node.tagName);
|
|
151
|
-
const exportName = kebabToPascal(tag);
|
|
152
178
|
const { props, events } = readAttrs(node, captureValues);
|
|
153
179
|
const loc = node.sourceCodeLocation;
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
180
|
+
// CEM index lookup: attribute to the package if known, otherwise emit
|
|
181
|
+
// unattributed but still tracked (packageName: null in the output).
|
|
182
|
+
const cemEntry = cemIndex?.byTag.get(tag);
|
|
183
|
+
if (!cemEntry) {
|
|
184
|
+
collector?.emit({
|
|
185
|
+
code: "vue-tag-low-confidence",
|
|
186
|
+
severity: "info",
|
|
187
|
+
filePath: posixPath(file),
|
|
188
|
+
...(loc?.startLine !== undefined && { line: loc.startLine + lineOffset }),
|
|
189
|
+
...(loc?.startCol !== undefined && { column: loc.startCol }),
|
|
190
|
+
tagName: tag,
|
|
191
|
+
emittedAs: "custom-element",
|
|
192
|
+
});
|
|
193
|
+
}
|
|
163
194
|
return emit({
|
|
164
195
|
componentId: {
|
|
165
|
-
kind: "
|
|
166
|
-
|
|
167
|
-
source:
|
|
196
|
+
kind: "custom-element",
|
|
197
|
+
tagName: tag,
|
|
198
|
+
source: cemEntry
|
|
199
|
+
? { type: "external", package: cemEntry.packageName }
|
|
200
|
+
: { type: "unknown" },
|
|
168
201
|
},
|
|
169
202
|
loc: {
|
|
170
203
|
file: posixPath(file),
|
|
171
204
|
line: (loc?.startLine ?? 1) + lineOffset,
|
|
172
205
|
column: loc?.startCol ?? 1,
|
|
173
206
|
},
|
|
174
|
-
via: { kind: "vue-template", specifier: "(unmapped)", import: exportName },
|
|
175
|
-
props,
|
|
176
|
-
events,
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
|
-
function emitUnknownWcOccurrence(node) {
|
|
180
|
-
const tag = asTagName(node.tagName);
|
|
181
|
-
const { props, events } = readAttrs(node, captureValues);
|
|
182
|
-
const loc = node.sourceCodeLocation;
|
|
183
|
-
return emit({
|
|
184
|
-
componentId: { kind: "custom-element", tagName: tag, source: { type: "unknown" } },
|
|
185
|
-
loc: {
|
|
186
|
-
file: posixPath(file),
|
|
187
|
-
line: (loc?.startLine ?? 1) + lineOffset,
|
|
188
|
-
column: loc?.startCol ?? 1,
|
|
189
|
-
},
|
|
190
207
|
via: { kind: "html-tag" },
|
|
191
208
|
props,
|
|
192
209
|
events,
|
|
@@ -201,7 +218,11 @@ export function walkVueTemplate(file, template, lookupByTag, localIndex, templat
|
|
|
201
218
|
import: binding.importName,
|
|
202
219
|
};
|
|
203
220
|
return emit({
|
|
204
|
-
componentId: {
|
|
221
|
+
componentId: {
|
|
222
|
+
kind: "vue-component",
|
|
223
|
+
export: binding.export,
|
|
224
|
+
source: { type: "external", package: binding.package, modulePath: binding.modulePath },
|
|
225
|
+
},
|
|
205
226
|
loc: {
|
|
206
227
|
file: posixPath(file),
|
|
207
228
|
line: (loc?.startLine ?? 1) + lineOffset,
|
|
@@ -215,12 +236,6 @@ export function walkVueTemplate(file, template, lookupByTag, localIndex, templat
|
|
|
215
236
|
visit(doc);
|
|
216
237
|
return occurrences;
|
|
217
238
|
}
|
|
218
|
-
function kebabToPascal(kebab) {
|
|
219
|
-
return kebab
|
|
220
|
-
.split("-")
|
|
221
|
-
.map((part) => part.charAt(0).toUpperCase() + part.slice(1))
|
|
222
|
-
.join("");
|
|
223
|
-
}
|
|
224
239
|
const IDENT_RE = /^[A-Za-z_$][\w$]*$/;
|
|
225
240
|
const QUOTED_STRING_RE = /^(['"])(.*)\1$/s;
|
|
226
241
|
const NUMERIC_RE = /^-?\d+(\.\d+)?$/;
|
|
@@ -289,4 +304,19 @@ function classifyBindExpr(name, expr, captureValues) {
|
|
|
289
304
|
}
|
|
290
305
|
return { name, isDynamic: true, dynamicKind: "expr" };
|
|
291
306
|
}
|
|
307
|
+
/**
|
|
308
|
+
* Returns true for specifiers that look like bare npm package names — neither
|
|
309
|
+
* relative paths (`.`, `..`) nor absolute paths (`/`). Scoped packages
|
|
310
|
+
* (`@scope/name`) are accepted only when the scope part is non-empty, to
|
|
311
|
+
* exclude alias conventions like `@/foo` where `@` is not a real npm scope.
|
|
312
|
+
*/
|
|
313
|
+
function isBarePackageSpecifier(specifier) {
|
|
314
|
+
if (specifier.startsWith(".") || specifier.startsWith("/"))
|
|
315
|
+
return false;
|
|
316
|
+
if (specifier.startsWith("@")) {
|
|
317
|
+
const slashIdx = specifier.indexOf("/");
|
|
318
|
+
return slashIdx > 1; // slashIdx 1 means "@/" — scope is empty
|
|
319
|
+
}
|
|
320
|
+
return true;
|
|
321
|
+
}
|
|
292
322
|
//# sourceMappingURL=walk-template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walk-template.js","sourceRoot":"","sources":["../src/walk-template.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"walk-template.js","sourceRoot":"","sources":["../src/walk-template.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@component-compass/parser-vue",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"description": "Consumer-scan parser for Vue Single-File Components. Detects component usages in .vue files.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -27,14 +27,16 @@
|
|
|
27
27
|
"clean": "rm -rf dist .turbo"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@
|
|
31
|
-
"@component-compass/
|
|
32
|
-
"@
|
|
30
|
+
"@component-compass/ast-utils": "^0.0.4",
|
|
31
|
+
"@component-compass/plugin-core": "^0.0.5",
|
|
32
|
+
"@oxc-project/types": "^0.130.0",
|
|
33
33
|
"@vue/compiler-sfc": "^3.5.33",
|
|
34
|
+
"oxc-walker": "^1.0.0",
|
|
34
35
|
"parse5": "^8.0.0"
|
|
35
36
|
},
|
|
36
37
|
"devDependencies": {
|
|
37
38
|
"@types/node": "^24.0.0",
|
|
39
|
+
"oxc-parser": "^0.130.0",
|
|
38
40
|
"typescript": "^5.9.0",
|
|
39
41
|
"vitest": "^4.0.0"
|
|
40
42
|
},
|