@diffci.com/diffci 0.1.10 → 0.1.12
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/LICENSE +1 -1
- package/README.md +301 -226
- package/action.yml +154 -154
- package/dist-client/src/client/cli.js +153 -21
- package/dist-client/src/client/economics.js +31 -0
- package/dist-client/src/client/mcp.js +196 -0
- package/dist-client/src/client/observe.js +40 -9
- package/docs/agent-adoption-kit.md +95 -0
- package/docs/agent-adoption-targets.md +52 -0
- package/docs/ai-agents.md +87 -0
- package/docs/claude-code.md +17 -0
- package/docs/codex.md +17 -0
- package/docs/copilot.md +18 -0
- package/docs/cursor.md +18 -0
- package/docs/grok.md +17 -0
- package/docs/language-support.md +118 -70
- package/docs/mcp.md +21 -0
- package/llms.txt +37 -0
- package/node_modules/@babel/parser/bin/babel-parser.js +0 -0
- package/node_modules/@diffci.com/core/README.md +9 -1
- package/node_modules/@diffci.com/core/dist/cache/economics-context.d.ts +2 -0
- package/node_modules/@diffci.com/core/dist/cache/economics-context.js +21 -0
- package/node_modules/@diffci.com/core/dist/cache/economics-context.js.map +1 -0
- package/node_modules/@diffci.com/core/dist/cache/vue-analysis-cache.d.ts +5 -0
- package/node_modules/@diffci.com/core/dist/cache/vue-analysis-cache.js +100 -0
- package/node_modules/@diffci.com/core/dist/cache/vue-analysis-cache.js.map +1 -0
- package/node_modules/@diffci.com/core/dist/planner/test-command.js +32 -0
- package/node_modules/@diffci.com/core/dist/planner/test-command.js.map +1 -1
- package/node_modules/@diffci.com/core/dist/repo/adapters/go.d.ts +3 -0
- package/node_modules/@diffci.com/core/dist/repo/adapters/go.js +24 -6
- package/node_modules/@diffci.com/core/dist/repo/adapters/go.js.map +1 -1
- package/node_modules/@diffci.com/core/dist/repo/adapters/index.js +2 -1
- package/node_modules/@diffci.com/core/dist/repo/adapters/index.js.map +1 -1
- package/node_modules/@diffci.com/core/dist/repo/adapters/maven.d.ts +3 -0
- package/node_modules/@diffci.com/core/dist/repo/adapters/maven.js +65 -0
- package/node_modules/@diffci.com/core/dist/repo/adapters/maven.js.map +1 -0
- package/node_modules/@diffci.com/core/dist/repo/adapters/types.d.ts +11 -0
- package/node_modules/@diffci.com/core/dist/repo/adapters/types.js.map +1 -1
- package/node_modules/@diffci.com/core/dist/repo/adapters/vue.js +142 -14
- package/node_modules/@diffci.com/core/dist/repo/adapters/vue.js.map +1 -1
- package/node_modules/@diffci.com/core/dist/repo/graph.d.ts +4 -0
- package/node_modules/@diffci.com/core/dist/repo/graph.js +169 -19
- package/node_modules/@diffci.com/core/dist/repo/graph.js.map +1 -1
- package/node_modules/@diffci.com/core/dist/repo/impact.js +22 -5
- package/node_modules/@diffci.com/core/dist/repo/impact.js.map +1 -1
- package/node_modules/@diffci.com/core/dist/repo/repo-config.d.ts +15 -0
- package/node_modules/@diffci.com/core/dist/repo/repo-config.js +13 -2
- package/node_modules/@diffci.com/core/dist/repo/repo-config.js.map +1 -1
- package/node_modules/@diffci.com/core/dist/repo/test-discovery.js +2 -0
- package/node_modules/@diffci.com/core/dist/repo/test-discovery.js.map +1 -1
- package/node_modules/@diffci.com/core/dist/repo/types.d.ts +17 -0
- package/node_modules/@diffci.com/core/dist/repo/vue-scope.d.ts +4 -0
- package/node_modules/@diffci.com/core/dist/repo/vue-scope.js +157 -0
- package/node_modules/@diffci.com/core/dist/repo/vue-scope.js.map +1 -0
- package/node_modules/@diffci.com/core/src/cache/economics-context.ts +19 -0
- package/node_modules/@diffci.com/core/src/cache/vue-analysis-cache.ts +80 -0
- package/node_modules/@diffci.com/core/src/planner/test-command.ts +28 -0
- package/node_modules/@diffci.com/core/src/repo/adapters/go.ts +24 -5
- package/node_modules/@diffci.com/core/src/repo/adapters/index.ts +2 -1
- package/node_modules/@diffci.com/core/src/repo/adapters/maven.ts +38 -0
- package/node_modules/@diffci.com/core/src/repo/adapters/types.ts +5 -0
- package/node_modules/@diffci.com/core/src/repo/adapters/vue.ts +120 -15
- package/node_modules/@diffci.com/core/src/repo/graph.ts +146 -20
- package/node_modules/@diffci.com/core/src/repo/impact.ts +20 -4
- package/node_modules/@diffci.com/core/src/repo/repo-config.ts +20 -2
- package/node_modules/@diffci.com/core/src/repo/test-discovery.ts +2 -0
- package/node_modules/@diffci.com/core/src/repo/types.ts +11 -0
- package/node_modules/@diffci.com/core/src/repo/vue-scope.ts +122 -0
- package/node_modules/nanoid/bin/nanoid.cjs +0 -0
- package/node_modules/typescript/bin/tsc +0 -0
- package/node_modules/typescript/bin/tsserver +0 -0
- package/node_modules/yaml/bin.mjs +0 -0
- package/package.json +155 -131
|
@@ -44,6 +44,10 @@ function internalPath(root, path) {
|
|
|
44
44
|
const rel = relative(root, resolve(path)).replace(/\\/g, "/");
|
|
45
45
|
return rel === ".." || rel.startsWith("../") || isAbsolute(rel) ? undefined : rel;
|
|
46
46
|
}
|
|
47
|
+
/** go ./... excludes these names; edits still require full CI (for example testdata reads). */
|
|
48
|
+
export function isGoDiscoveryIgnoredPath(path) {
|
|
49
|
+
return path.split("/").some(part => part === "testdata" || part.startsWith("_") || part.startsWith("."));
|
|
50
|
+
}
|
|
47
51
|
export function analyzeGoMetadata(context, output) {
|
|
48
52
|
const result = contribution(goAdapter);
|
|
49
53
|
const all = parseGoList(output);
|
|
@@ -55,7 +59,10 @@ export function analyzeGoMetadata(context, output) {
|
|
|
55
59
|
const anchors = new Map();
|
|
56
60
|
const members = new Map();
|
|
57
61
|
for (const pkg of packages) {
|
|
58
|
-
|
|
62
|
+
// Associate inactive files with their package conservatively. They are not runnable
|
|
63
|
+
// tests, but edits (including build constraints) must still select that package and
|
|
64
|
+
// its dependents. Unaccounted files remain a global blocker below.
|
|
65
|
+
const files = [...(pkg.GoFiles ?? []), ...(pkg.CgoFiles ?? []), ...(pkg.TestGoFiles ?? []), ...(pkg.XTestGoFiles ?? []), ...(pkg.IgnoredGoFiles ?? [])];
|
|
59
66
|
const paths = files.map((file) => internalPath(context.repoPath, resolve(pkg.Dir, file)));
|
|
60
67
|
if (paths.some((p) => p === undefined)) {
|
|
61
68
|
result.blockers.push("Go package contains files outside the repository");
|
|
@@ -112,16 +119,19 @@ export function analyzeGoMetadata(context, output) {
|
|
|
112
119
|
result.blockers.push("Go analysis found no local packages");
|
|
113
120
|
// Ignored files/build tags, generation and testdata can change the runnable universe.
|
|
114
121
|
const modeled = new Set([...result.sourcePaths, ...result.assetPaths]);
|
|
115
|
-
|
|
116
|
-
|
|
122
|
+
const unmodeled = context.files.filter(file => file.endsWith(".go") && !modeled.has(file) && !isGoDiscoveryIgnoredPath(file));
|
|
123
|
+
if (unmodeled.length)
|
|
124
|
+
result.blockers.push(`Go files outside the active build context require full validation: ${unmodeled.slice(0, 20).join(", ")}`);
|
|
117
125
|
return result;
|
|
118
126
|
}
|
|
119
127
|
export const goAdapter = {
|
|
120
|
-
id: "go", version: "
|
|
128
|
+
id: "go", version: "3", kind: "language",
|
|
121
129
|
detect: ({ files }) => files.some((file) => file === "go.mod" || file.endsWith(".go")),
|
|
122
130
|
analyze(context) {
|
|
123
131
|
const failure = contribution(this);
|
|
124
|
-
|
|
132
|
+
const nestedRoots = context.files.filter(f => f.endsWith("/go.mod")).map(f => f.slice(0, -"go.mod".length));
|
|
133
|
+
const scoped = context.profile.diffciConfig?.go?.scope === "root-module";
|
|
134
|
+
if (!context.files.includes("go.mod") || context.files.includes("go.work") || (nestedRoots.length && !scoped)) {
|
|
125
135
|
failure.blockers.push("Go support requires one root go.mod; workspaces and nested modules require full validation");
|
|
126
136
|
return failure;
|
|
127
137
|
}
|
|
@@ -142,7 +152,15 @@ export const goAdapter = {
|
|
|
142
152
|
env,
|
|
143
153
|
stdio: ["ignore", "pipe", "pipe"],
|
|
144
154
|
});
|
|
145
|
-
const
|
|
155
|
+
const excluded = (file) => nestedRoots.some(root => file.startsWith(root));
|
|
156
|
+
const scopedContext = scoped ? { ...context, files: context.files.filter(file => !excluded(file)) } : context;
|
|
157
|
+
const result = analyzeGoMetadata(scopedContext, output);
|
|
158
|
+
if (scoped) {
|
|
159
|
+
context.profile.goExcludedModuleRoots = nestedRoots;
|
|
160
|
+
// A local replacement can make an excluded module part of the root module's build.
|
|
161
|
+
if (parseGoList(output).some(pkg => pkg.Module?.Replace?.Dir))
|
|
162
|
+
result.blockers.push("Go root-module scope with local replacements requires full validation");
|
|
163
|
+
}
|
|
146
164
|
result.executionEnv = { GOOS: buildEnv.GOOS, GOARCH: buildEnv.GOARCH, CGO_ENABLED: buildEnv.CGO_ENABLED, GOFLAGS: "" };
|
|
147
165
|
return result;
|
|
148
166
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"go.js","sourceRoot":"","sources":["../../../src/repo/adapters/go.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAyE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"go.js","sourceRoot":"","sources":["../../../src/repo/adapters/go.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { readdirSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { goAdapter } from "./go.js";
|
|
4
|
+
import { mavenAdapter } from "./maven.js";
|
|
4
5
|
import { vueAdapter } from "./vue.js";
|
|
5
|
-
export const REPOSITORY_ADAPTERS = [vueAdapter, goAdapter];
|
|
6
|
+
export const REPOSITORY_ADAPTERS = [vueAdapter, goAdapter, mavenAdapter];
|
|
6
7
|
/** Never follows symlinks or scans dependency/build output directories. */
|
|
7
8
|
export function adapterFiles(root, exclusions = []) {
|
|
8
9
|
const ignored = new Set([".git", "node_modules", "vendor", ".next", "dist", "build", "coverage", "tmp", "temp"]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repo/adapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC,MAAM,CAAC,MAAM,mBAAmB,GAAiC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repo/adapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC,MAAM,CAAC,MAAM,mBAAmB,GAAiC,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AAEvG,2EAA2E;AAC3E,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,aAAgC,EAAE;IAC3E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IACjH,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,SAAS,IAAI,CAAC,GAAW,EAAE,MAAc;QACvC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YAC7D,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;gBAAE,SAAS;YAClG,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;iBAClF,IAAI,KAAK,CAAC,MAAM,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { posix } from "node:path";
|
|
3
|
+
import { contribution } from "./types.js";
|
|
4
|
+
function tags(xml, name) {
|
|
5
|
+
const re = new RegExp(`<${name}\\b[^>]*>([\\s\\S]*?)<\\/${name}>`, "g");
|
|
6
|
+
const out = [];
|
|
7
|
+
let m;
|
|
8
|
+
while ((m = re.exec(xml)))
|
|
9
|
+
out.push((m[1] ?? "").trim());
|
|
10
|
+
return out;
|
|
11
|
+
}
|
|
12
|
+
function first(xml, name) { return tags(xml, name)[0]; }
|
|
13
|
+
function parsePom(path, xml) {
|
|
14
|
+
const dir = posix.dirname(path) === "." ? "" : posix.dirname(path);
|
|
15
|
+
const parent = first(xml, "parent") ?? "";
|
|
16
|
+
const own = xml.replace(/<parent\b[^>]*>[\s\S]*?<\/parent>/, "");
|
|
17
|
+
const deps = tags(xml, "dependency").map(x => ({ groupId: first(x, "groupId") ?? "", artifactId: first(x, "artifactId") ?? "" })).filter(x => x.artifactId);
|
|
18
|
+
return { path, dir, groupId: first(own, "groupId") ?? first(parent, "groupId"), artifactId: first(own, "artifactId"), modules: tags(first(xml, "modules") ?? "", "module"), dependencies: deps };
|
|
19
|
+
}
|
|
20
|
+
function under(dir, path) { return !dir || path === dir || path.startsWith(dir + "/"); }
|
|
21
|
+
function owningPom(poms, file) { return poms.filter(p => under(p.dir, file)).sort((a, b) => b.dir.length - a.dir.length)[0]; }
|
|
22
|
+
function javaFiles(context, poms, pom) { return context.files.filter(f => owningPom(poms, f) === pom && /\/src\/(?:main|test)\/(?:java|kotlin)\/.*\.(?:java|kt)$/.test("/" + f)); }
|
|
23
|
+
function isTest(path) { return /\/src\/test\/(?:java|kotlin)\//.test("/" + path) && /(?:Test|Tests|TestCase|IT)\.(?:java|kt)$/.test(path); }
|
|
24
|
+
export function analyzeMaven(context) {
|
|
25
|
+
const r = contribution(mavenAdapter);
|
|
26
|
+
const poms = context.files.filter(f => f === "pom.xml" || f.endsWith("/pom.xml")).map(path => parsePom(path, readFileSync(context.repoPath + "/" + path, "utf8")));
|
|
27
|
+
if (!poms.length) {
|
|
28
|
+
r.blockers.push("Maven analysis found no pom.xml");
|
|
29
|
+
return r;
|
|
30
|
+
}
|
|
31
|
+
const byGA = new Map(poms.filter(p => p.artifactId).map(p => [`${p.groupId ?? ""}:${p.artifactId}`, p]));
|
|
32
|
+
const byArtifact = new Map(poms.filter(p => p.artifactId).map(p => [p.artifactId, p]));
|
|
33
|
+
const members = new Map(), anchors = new Map();
|
|
34
|
+
for (const p of poms) {
|
|
35
|
+
const files = javaFiles(context, poms, p);
|
|
36
|
+
if (!files.length)
|
|
37
|
+
continue;
|
|
38
|
+
members.set(p, files);
|
|
39
|
+
anchors.set(p, files[0]);
|
|
40
|
+
r.sourcePaths.push(...files);
|
|
41
|
+
for (const f of files)
|
|
42
|
+
if (isTest(f)) {
|
|
43
|
+
r.testFiles.push(f);
|
|
44
|
+
r.testPackages[f] = p.dir || ".";
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
for (const [p, files] of members) {
|
|
48
|
+
const a = anchors.get(p);
|
|
49
|
+
for (const f of files)
|
|
50
|
+
if (f !== a)
|
|
51
|
+
r.edges.push({ from: a, to: f, kind: "import" }, { from: f, to: a, kind: "import" });
|
|
52
|
+
for (const d of p.dependencies) {
|
|
53
|
+
const normalizedGroup = d.groupId.replace(/\$\{project\.groupId\}/g, p.groupId ?? "").replace(/\$\{pom\.groupId\}/g, p.groupId ?? "");
|
|
54
|
+
const target = byGA.get(`${normalizedGroup}:${d.artifactId}`) ?? byArtifact.get(d.artifactId);
|
|
55
|
+
const ta = target && anchors.get(target);
|
|
56
|
+
if (ta && ta !== a)
|
|
57
|
+
r.edges.push({ from: a, to: ta, kind: "import" });
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (!r.sourcePaths.length)
|
|
61
|
+
r.blockers.push("Maven reactor contains no Java sources");
|
|
62
|
+
return r;
|
|
63
|
+
}
|
|
64
|
+
export const mavenAdapter = { id: "maven", version: "1", kind: "language", detect: ({ files }) => files.includes("pom.xml") && files.some(f => f.endsWith(".java") || f.endsWith(".kt")), analyze: analyzeMaven };
|
|
65
|
+
//# sourceMappingURL=maven.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maven.js","sourceRoot":"","sources":["../../../src/repo/adapters/maven.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,9 @@ export interface AdapterContext {
|
|
|
4
4
|
repoPath: string;
|
|
5
5
|
files: readonly string[];
|
|
6
6
|
profile: RepositoryProfile;
|
|
7
|
+
vueComponentPaths?: readonly string[];
|
|
8
|
+
recordVueRead?: (path: string) => void;
|
|
9
|
+
vueAnalysisSession?: object;
|
|
7
10
|
}
|
|
8
11
|
export interface AdapterContribution {
|
|
9
12
|
id: string;
|
|
@@ -21,6 +24,14 @@ export interface AdapterContribution {
|
|
|
21
24
|
executionEnv?: Record<string, string>;
|
|
22
25
|
/** Global blockers: missing edges cannot be dismissed using graph reachability. */
|
|
23
26
|
blockers: string[];
|
|
27
|
+
fileBlockers?: Array<{
|
|
28
|
+
path: string;
|
|
29
|
+
reason: string;
|
|
30
|
+
}>;
|
|
31
|
+
performance?: {
|
|
32
|
+
phasesMs: Record<string, number>;
|
|
33
|
+
counts: Record<string, number>;
|
|
34
|
+
};
|
|
24
35
|
}
|
|
25
36
|
export interface RepositoryAdapter {
|
|
26
37
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/repo/adapters/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/repo/adapters/types.ts"],"names":[],"mappings":"AAqCA,MAAM,UAAU,YAAY,CAAC,OAAkD;IAC7E,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACrK,CAAC"}
|
|
@@ -1,22 +1,118 @@
|
|
|
1
1
|
import { readFileSync } from "node:fs";
|
|
2
|
-
import { join } from "node:path";
|
|
3
|
-
import {
|
|
2
|
+
import { isAbsolute, join, relative, resolve } from "node:path";
|
|
3
|
+
import { createRequire } from "node:module";
|
|
4
|
+
import ts from "typescript";
|
|
5
|
+
const loadCompiler = createRequire(import.meta.url);
|
|
6
|
+
let previousSession;
|
|
7
|
+
const compilerConfigs = new Set();
|
|
8
|
+
/** Only direct imports registered in a literal component options object are provable. */
|
|
9
|
+
function registeredComponents(source) {
|
|
10
|
+
const file = ts.createSourceFile("component.ts", source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
|
|
11
|
+
const imports = new Set();
|
|
12
|
+
const factories = new Set();
|
|
13
|
+
for (const statement of file.statements) {
|
|
14
|
+
if (!ts.isImportDeclaration(statement) || statement.importClause?.isTypeOnly)
|
|
15
|
+
continue;
|
|
16
|
+
const clause = statement.importClause;
|
|
17
|
+
if (clause?.name)
|
|
18
|
+
imports.add(clause.name.text);
|
|
19
|
+
if (clause?.namedBindings && ts.isNamedImports(clause.namedBindings)) {
|
|
20
|
+
for (const binding of clause.namedBindings.elements) {
|
|
21
|
+
if (binding.isTypeOnly)
|
|
22
|
+
continue;
|
|
23
|
+
imports.add(binding.name.text);
|
|
24
|
+
if (ts.isStringLiteral(statement.moduleSpecifier) && statement.moduleSpecifier.text === "vue" && (binding.propertyName ?? binding.name).text === "defineComponent")
|
|
25
|
+
factories.add(binding.name.text);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const names = new Set();
|
|
30
|
+
const exp = file.statements.find(ts.isExportAssignment);
|
|
31
|
+
if (!exp || exp.isExportEquals)
|
|
32
|
+
return names;
|
|
33
|
+
let value = exp.expression;
|
|
34
|
+
if (ts.isCallExpression(value) && ts.isIdentifier(value.expression) && factories.has(value.expression.text) && value.arguments.length === 1)
|
|
35
|
+
value = value.arguments[0];
|
|
36
|
+
if (!ts.isObjectLiteralExpression(value) || value.properties.some(p => ts.isSpreadAssignment(p) || (p.name && ts.isComputedPropertyName(p.name))))
|
|
37
|
+
return names;
|
|
38
|
+
const registrations = value.properties.filter(p => p.name && (ts.isIdentifier(p.name) || ts.isStringLiteral(p.name)) && p.name.text === "components");
|
|
39
|
+
if (registrations.length !== 1 || !ts.isPropertyAssignment(registrations[0]) || !ts.isObjectLiteralExpression(registrations[0].initializer))
|
|
40
|
+
return names;
|
|
41
|
+
for (const property of registrations[0].initializer.properties) {
|
|
42
|
+
if (ts.isShorthandPropertyAssignment(property) && imports.has(property.name.text))
|
|
43
|
+
names.add(property.name.text);
|
|
44
|
+
else if (ts.isPropertyAssignment(property) && (ts.isIdentifier(property.name) || ts.isStringLiteral(property.name)) && ts.isIdentifier(property.initializer) && imports.has(property.initializer.text))
|
|
45
|
+
names.add(property.name.text);
|
|
46
|
+
else
|
|
47
|
+
return new Set();
|
|
48
|
+
}
|
|
49
|
+
return new Set([...names].flatMap(name => [name, name.replace(/\B([A-Z])/g, "-$1").toLowerCase()]));
|
|
50
|
+
}
|
|
4
51
|
import { contribution } from "./types.js";
|
|
5
52
|
/** Explicit Vue SFC imports. Runtime component registries and preprocessors require full CI. */
|
|
6
53
|
export const vueAdapter = {
|
|
7
|
-
id: "vue", version: "
|
|
54
|
+
id: "vue", version: "7", kind: "framework",
|
|
8
55
|
detect: ({ files }) => files.some((file) => file.endsWith(".vue")),
|
|
9
56
|
analyze(context) {
|
|
57
|
+
const phasesMs = {};
|
|
58
|
+
const counts = { components: 0, typeReads: 0, registrationScans: 0 };
|
|
59
|
+
const measure = (name, work) => {
|
|
60
|
+
const start = performance.now();
|
|
61
|
+
try {
|
|
62
|
+
return work();
|
|
63
|
+
}
|
|
64
|
+
finally {
|
|
65
|
+
phasesMs[name] = (phasesMs[name] ?? 0) + performance.now() - start;
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
// Go and scoped TS-only packages do not need to initialize Vue's compiler/Babel
|
|
69
|
+
// dependency tree. Keep the same synchronous adapter contract, loading it on use.
|
|
70
|
+
const { compileScript, compileTemplate, invalidateTypeCache, parse, registerTS } = measure("compilerLoad", () => loadCompiler("@vue/compiler-sfc"));
|
|
71
|
+
registerTS(() => ts);
|
|
72
|
+
const session = context.vueAnalysisSession ?? {};
|
|
73
|
+
if (session !== previousSession) {
|
|
74
|
+
for (const file of compilerConfigs)
|
|
75
|
+
invalidateTypeCache(file);
|
|
76
|
+
compilerConfigs.clear();
|
|
77
|
+
previousSession = session;
|
|
78
|
+
}
|
|
79
|
+
const recordRead = (file) => {
|
|
80
|
+
if (file.endsWith(".json"))
|
|
81
|
+
compilerConfigs.add(file);
|
|
82
|
+
context.recordVueRead?.(file);
|
|
83
|
+
};
|
|
10
84
|
const result = contribution(this);
|
|
85
|
+
result.performance = { phasesMs, counts };
|
|
11
86
|
const dependencies = [...context.profile.packageJson.dependencies, ...context.profile.packageJson.devDependencies];
|
|
12
87
|
if (dependencies.includes("nuxt") || context.files.some((file) => /(?:^|\/)nuxt\.config\./.test(file))) {
|
|
13
88
|
result.blockers.push("Nuxt implicit routes and auto-imports require a dedicated framework adapter");
|
|
14
89
|
}
|
|
15
|
-
for (const path of context.files.filter((file) => file.endsWith(".vue"))) {
|
|
90
|
+
for (const path of context.vueComponentPaths ?? context.files.filter((file) => file.endsWith(".vue"))) {
|
|
91
|
+
counts.components++;
|
|
16
92
|
result.sourcePaths.push(path);
|
|
17
|
-
const block = (reason) =>
|
|
93
|
+
const block = (reason) => {
|
|
94
|
+
const message = `Vue ${path}: ${reason}`;
|
|
95
|
+
result.blockers.push(message);
|
|
96
|
+
(result.fileBlockers ??= []).push({ path, reason: message });
|
|
97
|
+
};
|
|
98
|
+
const typeDependencies = new Set();
|
|
99
|
+
const recordTypeDependency = (file) => {
|
|
100
|
+
recordRead(file);
|
|
101
|
+
const dependency = relative(context.repoPath, resolve(file)).replace(/\\/g, "/");
|
|
102
|
+
if (dependency === ".." || dependency.startsWith("../") || isAbsolute(dependency))
|
|
103
|
+
throw new Error("Vue type dependency escapes repository");
|
|
104
|
+
typeDependencies.add(dependency);
|
|
105
|
+
};
|
|
18
106
|
try {
|
|
19
|
-
const
|
|
107
|
+
const raw = measure("sourceRead", () => readFileSync(join(context.repoPath, path), "utf8"));
|
|
108
|
+
// compiler-sfc discards an empty script block then reports a missing block.
|
|
109
|
+
// Recognize only this exact dependency-free SFC shape, not arbitrary parse errors.
|
|
110
|
+
if (/^\s*<script(?:\s+setup)?(?:\s+lang=["'](?:ts|js)["'])?\s*>\s*<\/script>\s*$/.test(raw)) {
|
|
111
|
+
result.virtualSources.push({ path, source: "export default {};" });
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
// Dependency extraction uses code, bindings and errors, never source maps.
|
|
115
|
+
const { descriptor, errors } = measure("sfcParse", () => parse(raw, { filename: join(context.repoPath, path), sourceMap: false }));
|
|
20
116
|
if (errors.length)
|
|
21
117
|
block("component parse failed");
|
|
22
118
|
if (descriptor.customBlocks.length)
|
|
@@ -29,19 +125,44 @@ export const vueAdapter = {
|
|
|
29
125
|
block(`unsupported preprocessor ${b.lang}`);
|
|
30
126
|
}
|
|
31
127
|
const script = descriptor.script || descriptor.scriptSetup
|
|
32
|
-
? compileScript(descriptor, { id: path
|
|
128
|
+
? measure("scriptCompile", () => compileScript(descriptor, { id: path, sourceMap: false, fs: {
|
|
129
|
+
fileExists(file) { recordRead(file); return ts.sys.fileExists(file); },
|
|
130
|
+
readFile(file) {
|
|
131
|
+
recordRead(file);
|
|
132
|
+
recordTypeDependency(file);
|
|
133
|
+
counts.typeReads++;
|
|
134
|
+
return readFileSync(file, "utf8");
|
|
135
|
+
},
|
|
136
|
+
} })) : undefined;
|
|
137
|
+
for (const dependency of script?.deps ?? [])
|
|
138
|
+
recordTypeDependency(dependency);
|
|
139
|
+
// Imported macro types affect generated runtime props. Retain the files read
|
|
140
|
+
// by the compiler even when the generated script erases their imports.
|
|
141
|
+
for (const dependency of typeDependencies) {
|
|
142
|
+
if (/\.[cm]?[jt]sx?$/.test(dependency))
|
|
143
|
+
result.sourcePaths.push(dependency);
|
|
144
|
+
else
|
|
145
|
+
result.assetPaths.push(dependency);
|
|
146
|
+
result.edges.push({ from: path, to: dependency, kind: "asset" });
|
|
147
|
+
}
|
|
33
148
|
let source = script?.content ?? "";
|
|
34
149
|
if (/\bimport\.meta\.glob(?:Eager)?\s*\(/.test(source))
|
|
35
150
|
block("glob imports require bundler dependency expansion");
|
|
36
151
|
if (descriptor.template && !descriptor.template.src && !descriptor.template.lang) {
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
152
|
+
const templateBlock = descriptor.template;
|
|
153
|
+
const template = measure("templateCompile", () => compileTemplate({
|
|
154
|
+
source: templateBlock.content, filename: path, id: path,
|
|
155
|
+
compilerOptions: { bindingMetadata: script?.bindings, sourceMap: false },
|
|
156
|
+
}));
|
|
41
157
|
if (template.errors.length)
|
|
42
158
|
block("template compilation failed");
|
|
43
159
|
// These calls represent dependencies supplied at runtime, outside the import graph.
|
|
44
|
-
|
|
160
|
+
const componentCalls = [...template.code.matchAll(/\b_resolveComponent\s*\(\s*(["'])(.*?)\1/g)];
|
|
161
|
+
// Script-setup bindings and native-only templates have no runtime
|
|
162
|
+
// component calls, so an Options API registration scan cannot help.
|
|
163
|
+
const registrations = componentCalls.length ? measure("registrationScan", () => { counts.registrationScans++; return registeredComponents(source); }) : new Set();
|
|
164
|
+
const unresolved = componentCalls.some(match => !registrations.has(match[2]));
|
|
165
|
+
if (unresolved || /\b_resolve(?:DynamicComponent|Directive)\s*\(/.test(template.code))
|
|
45
166
|
block("runtime component/directive resolution requires full validation");
|
|
46
167
|
source += `\n${template.code}`;
|
|
47
168
|
}
|
|
@@ -54,8 +175,15 @@ export const vueAdapter = {
|
|
|
54
175
|
}
|
|
55
176
|
result.virtualSources.push({ path, source });
|
|
56
177
|
}
|
|
57
|
-
catch {
|
|
58
|
-
|
|
178
|
+
catch (error) {
|
|
179
|
+
const detail = String(error instanceof Error ? error.message : error).replaceAll(context.repoPath, "<repo>").split("\n")[0].slice(0, 240);
|
|
180
|
+
block(`component could not be analyzed: ${detail}`);
|
|
181
|
+
}
|
|
182
|
+
finally {
|
|
183
|
+
// compiler-sfc caches parsed imported types globally. Do not let a later
|
|
184
|
+
// component or a second analysis reuse stale types or bypass filesystem reads.
|
|
185
|
+
measure("typeCacheInvalidation", () => { for (const dependency of typeDependencies)
|
|
186
|
+
invalidateTypeCache(join(context.repoPath, dependency)); });
|
|
59
187
|
}
|
|
60
188
|
}
|
|
61
189
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vue.js","sourceRoot":"","sources":["../../../src/repo/adapters/vue.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vue.js","sourceRoot":"","sources":["../../../src/repo/adapters/vue.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,10 @@ import type { DependencyGraph, DependencyGraphResult, GraphConfidence, GraphInte
|
|
|
5
5
|
export declare function hydrateDependencyGraph(graph: DependencyGraph, repoPath: string, testPatterns?: readonly string[]): DependencyGraph;
|
|
6
6
|
export declare function discoverNestedTsconfigPaths(repoPath: string): string[];
|
|
7
7
|
export interface BuildDependencyGraphOptions extends AnalyzeRepositoryOptions {
|
|
8
|
+
vueAnalysisCache?: {
|
|
9
|
+
directory: string;
|
|
10
|
+
version: string;
|
|
11
|
+
};
|
|
8
12
|
}
|
|
9
13
|
export declare function buildDependencyGraph(options?: BuildDependencyGraphOptions): Promise<DependencyGraphResult>;
|
|
10
14
|
export type TypeScriptProjectKind = "root" | "nested" | "none";
|