@component-compass/parser-vue 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/index.js +24 -12
- package/dist/index.js.map +1 -1
- 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 +11 -2
- package/dist/walk-template.js +74 -11
- package/dist/walk-template.js.map +1 -1
- package/package.json +6 -4
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ 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
7
|
import { extractScriptImports } from "./script-imports.js";
|
|
8
8
|
function wrapperIdFromName(name) {
|
|
@@ -23,22 +23,31 @@ export const vuePlugin = {
|
|
|
23
23
|
name: "vue",
|
|
24
24
|
extensions: [".vue"],
|
|
25
25
|
parse(file, source, ctx) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
26
|
+
// Single-pass scan invariant (#48): scan.ts owns the SFC parse and threads
|
|
27
|
+
// the wrapper (descriptor + optional scriptAst) through ctx.ast. Defensive
|
|
28
|
+
// throw — should only fire under direct plugin invocation that bypasses
|
|
29
|
+
// scan.ts. Named `parsedWrapper` to disambiguate from the WrapperDef the
|
|
30
|
+
// SFC emits.
|
|
31
|
+
const parsedWrapper = ctx.ast;
|
|
32
|
+
if (parsedWrapper === undefined) {
|
|
33
|
+
throw new Error("parser-vue: ctx.ast must be provided (single-pass scan, #48)");
|
|
34
|
+
}
|
|
35
|
+
const parts = partsFromWrapper(parsedWrapper);
|
|
34
36
|
let imports = [];
|
|
35
37
|
let importSpecs = [];
|
|
36
38
|
let sideEffectSources = [];
|
|
39
|
+
const warnings = [];
|
|
37
40
|
if (parts.scriptSource) {
|
|
41
|
+
// scriptProgram is optional on the wrapper because an SFC with no script
|
|
42
|
+
// block has no script AST to thread. When `parts.scriptSource` is
|
|
43
|
+
// truthy, scan.ts must have produced a scriptProgram — anything else is
|
|
44
|
+
// direct plugin misuse.
|
|
45
|
+
if (parsedWrapper.scriptProgram === undefined) {
|
|
46
|
+
throw new Error("parser-vue: wrapper.scriptProgram must be provided when the SFC has a script block (single-pass scan, #48)");
|
|
47
|
+
}
|
|
38
48
|
const scriptResult = extractScriptImports({
|
|
39
49
|
file,
|
|
40
|
-
|
|
41
|
-
lang: parts.scriptLang ?? "js",
|
|
50
|
+
program: parsedWrapper.scriptProgram,
|
|
42
51
|
});
|
|
43
52
|
imports = scriptResult.imports;
|
|
44
53
|
importSpecs = scriptResult.importSpecs;
|
|
@@ -68,6 +77,7 @@ export const vuePlugin = {
|
|
|
68
77
|
export: hit.matched.export,
|
|
69
78
|
specifier: spec.source,
|
|
70
79
|
importName: spec.imported,
|
|
80
|
+
modulePath: hit.modulePath,
|
|
71
81
|
};
|
|
72
82
|
for (const form of vueTagForms(spec.local)) {
|
|
73
83
|
templateBindings.set(form, binding);
|
|
@@ -82,6 +92,7 @@ export const vuePlugin = {
|
|
|
82
92
|
importedName: spec.imported,
|
|
83
93
|
specifier: spec.source,
|
|
84
94
|
leafPackage: hit.leafPackage,
|
|
95
|
+
modulePath: hit.modulePath,
|
|
85
96
|
};
|
|
86
97
|
for (const form of vueTagForms(spec.local)) {
|
|
87
98
|
unmappedBindings.set(form, unmapped);
|
|
@@ -95,6 +106,7 @@ export const vuePlugin = {
|
|
|
95
106
|
importedName: spec.imported,
|
|
96
107
|
specifier: spec.source,
|
|
97
108
|
leafPackage: null,
|
|
109
|
+
modulePath: null,
|
|
98
110
|
};
|
|
99
111
|
for (const form of vueTagForms(spec.local)) {
|
|
100
112
|
unmappedBindings.set(form, unmapped);
|
|
@@ -102,7 +114,7 @@ export const vuePlugin = {
|
|
|
102
114
|
}
|
|
103
115
|
}
|
|
104
116
|
const lineOffset = source.slice(0, parts.templateOffset ?? 0).split("\n").length - 1;
|
|
105
|
-
const occurrences = walkVueTemplate(file, parts.templateSource, ctx.lookupByTag, ctx.localIndex, templateBindings, ctx.config.captureValues, lineOffset, unmappedBindings, ctx.repoRoot);
|
|
117
|
+
const occurrences = walkVueTemplate(file, parts.templateSource, ctx.lookupByTag, ctx.localIndex, templateBindings, ctx.config.captureValues, lineOffset, unmappedBindings, ctx.repoRoot, ctx.collector, ctx.cemIndex);
|
|
106
118
|
if (occurrences.length === 0) {
|
|
107
119
|
return { occurrences: [], wrappers: [], imports, warnings };
|
|
108
120
|
}
|
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/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 { LocalDefinitionIndex, LookupByTag, Occurrence } from "@component-compass/plugin-core";
|
|
1
|
+
import type { CemIndex, 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,13 @@ 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;
|
|
24
33
|
};
|
|
25
|
-
export declare function walkVueTemplate(file: string, template: string, lookupByTag: LookupByTag, localIndex: LocalDefinitionIndex, templateBindings: Map<string, VueDirectBinding>, captureValues: boolean, lineOffset: number, unmappedBindings?: Map<string, VueUnmappedBinding>, repoRoot?: string): Occurrence[];
|
|
34
|
+
export declare function walkVueTemplate(file: string, template: string, lookupByTag: LookupByTag, localIndex: LocalDefinitionIndex, templateBindings: Map<string, VueDirectBinding>, captureValues: boolean, lineOffset: number, unmappedBindings?: Map<string, VueUnmappedBinding>, repoRoot?: string, collector?: DiagnosticCollector, cemIndex?: CemIndex): Occurrence[];
|
package/dist/walk-template.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
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(file, template, lookupByTag, localIndex, templateBindings, captureValues, lineOffset, unmappedBindings, repoRoot) {
|
|
4
|
+
export function walkVueTemplate(file, template, lookupByTag, localIndex, templateBindings, captureValues, lineOffset, unmappedBindings, repoRoot, collector, cemIndex) {
|
|
5
5
|
const occurrences = [];
|
|
6
6
|
const doc = parseFragment(template, { sourceCodeLocationInfo: true });
|
|
7
7
|
// Phase 2: parent stack maintains the lexical chain of tracked elements.
|
|
@@ -51,7 +51,15 @@ export function walkVueTemplate(file, template, lookupByTag, localIndex, templat
|
|
|
51
51
|
repoRoot,
|
|
52
52
|
fromFile: file,
|
|
53
53
|
});
|
|
54
|
-
if (origin.type === "
|
|
54
|
+
if (origin.type === "external") {
|
|
55
|
+
// Manifest enrichment is disabled but the specifier resolves to
|
|
56
|
+
// node_modules — emit an opaque external occurrence keyed by
|
|
57
|
+
// package name. Identity resolution and manifest enrichment are
|
|
58
|
+
// separate concerns; the component still appears in components[]
|
|
59
|
+
// with manifest: null.
|
|
60
|
+
pushedIdx = emitOpportunisticVueOccurrence(node, unmapped, origin.package);
|
|
61
|
+
}
|
|
62
|
+
else if (origin.type === "local") {
|
|
55
63
|
const localDefs = localIndex.byPath.get(origin.filePath);
|
|
56
64
|
const matched = localDefs?.find((d) => unmapped.importedName === "default"
|
|
57
65
|
? d.isDefault
|
|
@@ -61,17 +69,25 @@ export function walkVueTemplate(file, template, lookupByTag, localIndex, templat
|
|
|
61
69
|
}
|
|
62
70
|
// Local miss → skip silently.
|
|
63
71
|
}
|
|
64
|
-
|
|
72
|
+
else if (origin.type === "unresolved" && isBarePackageSpecifier(unmapped.specifier)) {
|
|
73
|
+
// Bare-specifier fallback: workspace-symlinked packages resolve
|
|
74
|
+
// outside node_modules/ so classifyImportOrigin returns
|
|
75
|
+
// "unresolved". Use the specifier as the package name directly.
|
|
76
|
+
const pkgName = unmapped.specifier.startsWith("@")
|
|
77
|
+
? unmapped.specifier.split("/").slice(0, 2).join("/")
|
|
78
|
+
: (unmapped.specifier.split("/")[0] ?? unmapped.specifier);
|
|
79
|
+
pushedIdx = emitOpportunisticVueOccurrence(node, unmapped, pkgName);
|
|
80
|
+
}
|
|
65
81
|
}
|
|
66
82
|
}
|
|
67
83
|
else if (rawTag.includes("-")) {
|
|
68
|
-
// Hyphenated tag not in index:
|
|
69
|
-
pushedIdx =
|
|
84
|
+
// Hyphenated tag not in index: Vue auto-import convention (e.g. Vuetify).
|
|
85
|
+
pushedIdx = emitOpportunisticVueAutoImport(node);
|
|
70
86
|
}
|
|
71
87
|
}
|
|
72
88
|
else if (rawTag.includes("-")) {
|
|
73
|
-
// No unmapped bindings provided but tag is hyphenated and not in index
|
|
74
|
-
pushedIdx =
|
|
89
|
+
// No unmapped bindings provided but tag is hyphenated and not in index.
|
|
90
|
+
pushedIdx = emitOpportunisticVueAutoImport(node);
|
|
75
91
|
}
|
|
76
92
|
}
|
|
77
93
|
// Tracked elements push themselves as the lexical parent for their
|
|
@@ -115,7 +131,15 @@ export function walkVueTemplate(file, template, lookupByTag, localIndex, templat
|
|
|
115
131
|
import: binding.importedName,
|
|
116
132
|
};
|
|
117
133
|
return emit({
|
|
118
|
-
componentId: {
|
|
134
|
+
componentId: {
|
|
135
|
+
kind: "vue-component",
|
|
136
|
+
export: binding.importedName,
|
|
137
|
+
source: {
|
|
138
|
+
type: "external",
|
|
139
|
+
package: pkg,
|
|
140
|
+
...(binding.modulePath !== null ? { modulePath: binding.modulePath } : {}),
|
|
141
|
+
},
|
|
142
|
+
},
|
|
119
143
|
loc: {
|
|
120
144
|
file: posixPath(file),
|
|
121
145
|
line: (loc?.startLine ?? 1) + lineOffset,
|
|
@@ -146,12 +170,32 @@ export function walkVueTemplate(file, template, lookupByTag, localIndex, templat
|
|
|
146
170
|
events,
|
|
147
171
|
});
|
|
148
172
|
}
|
|
149
|
-
function
|
|
173
|
+
function emitOpportunisticVueAutoImport(node) {
|
|
150
174
|
const tag = asTagName(node.tagName);
|
|
151
175
|
const { props, events } = readAttrs(node, captureValues);
|
|
152
176
|
const loc = node.sourceCodeLocation;
|
|
177
|
+
// CEM index lookup: attribute to the package if known, otherwise emit
|
|
178
|
+
// unattributed but still tracked (packageName: null in the output).
|
|
179
|
+
const cemEntry = cemIndex?.byTag.get(tag);
|
|
180
|
+
if (!cemEntry) {
|
|
181
|
+
collector?.emit({
|
|
182
|
+
code: "vue-tag-low-confidence",
|
|
183
|
+
severity: "info",
|
|
184
|
+
filePath: posixPath(file),
|
|
185
|
+
...(loc?.startLine !== undefined && { line: loc.startLine + lineOffset }),
|
|
186
|
+
...(loc?.startCol !== undefined && { column: loc.startCol }),
|
|
187
|
+
tagName: tag,
|
|
188
|
+
emittedAs: "custom-element",
|
|
189
|
+
});
|
|
190
|
+
}
|
|
153
191
|
return emit({
|
|
154
|
-
componentId: {
|
|
192
|
+
componentId: {
|
|
193
|
+
kind: "custom-element",
|
|
194
|
+
tagName: tag,
|
|
195
|
+
source: cemEntry
|
|
196
|
+
? { type: "external", package: cemEntry.packageName }
|
|
197
|
+
: { type: "unknown" },
|
|
198
|
+
},
|
|
155
199
|
loc: {
|
|
156
200
|
file: posixPath(file),
|
|
157
201
|
line: (loc?.startLine ?? 1) + lineOffset,
|
|
@@ -171,7 +215,11 @@ export function walkVueTemplate(file, template, lookupByTag, localIndex, templat
|
|
|
171
215
|
import: binding.importName,
|
|
172
216
|
};
|
|
173
217
|
return emit({
|
|
174
|
-
componentId: {
|
|
218
|
+
componentId: {
|
|
219
|
+
kind: "vue-component",
|
|
220
|
+
export: binding.export,
|
|
221
|
+
source: { type: "external", package: binding.package, modulePath: binding.modulePath },
|
|
222
|
+
},
|
|
175
223
|
loc: {
|
|
176
224
|
file: posixPath(file),
|
|
177
225
|
line: (loc?.startLine ?? 1) + lineOffset,
|
|
@@ -253,4 +301,19 @@ function classifyBindExpr(name, expr, captureValues) {
|
|
|
253
301
|
}
|
|
254
302
|
return { name, isDynamic: true, dynamicKind: "expr" };
|
|
255
303
|
}
|
|
304
|
+
/**
|
|
305
|
+
* Returns true for specifiers that look like bare npm package names — neither
|
|
306
|
+
* relative paths (`.`, `..`) nor absolute paths (`/`). Scoped packages
|
|
307
|
+
* (`@scope/name`) are accepted only when the scope part is non-empty, to
|
|
308
|
+
* exclude alias conventions like `@/foo` where `@` is not a real npm scope.
|
|
309
|
+
*/
|
|
310
|
+
function isBarePackageSpecifier(specifier) {
|
|
311
|
+
if (specifier.startsWith(".") || specifier.startsWith("/"))
|
|
312
|
+
return false;
|
|
313
|
+
if (specifier.startsWith("@")) {
|
|
314
|
+
const slashIdx = specifier.indexOf("/");
|
|
315
|
+
return slashIdx > 1; // slashIdx 1 means "@/" — scope is empty
|
|
316
|
+
}
|
|
317
|
+
return true;
|
|
318
|
+
}
|
|
256
319
|
//# 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.4",
|
|
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.4",
|
|
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
|
},
|