@component-compass/cli 0.1.14 → 0.1.16
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/auth/paths.js +2 -2
- package/dist/auth/paths.js.map +1 -1
- package/dist/auth/session.d.ts +1 -1
- package/dist/auth/session.js +5 -5
- package/dist/auth/session.js.map +1 -1
- package/dist/auth/store.js +1 -1
- package/dist/auth/store.js.map +1 -1
- package/dist/auth/upload-auth.d.ts +2 -2
- package/dist/auth/upload-auth.js +3 -3
- package/dist/auth/upload-auth.js.map +1 -1
- package/dist/cli/help.d.ts +2 -2
- package/dist/cli/help.js +9 -15
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/parse.d.ts +1 -1
- package/dist/cli/parse.js +4 -7
- package/dist/cli/parse.js.map +1 -1
- package/dist/cli.js +2 -20
- package/dist/cli.js.map +1 -1
- package/dist/commands/auth.js +30 -7
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/init.js +1 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/scan.js +111 -24
- package/dist/commands/scan.js.map +1 -1
- package/dist/config/loader.js +1 -1
- package/dist/config/loader.js.map +1 -1
- package/dist/manifest/barrel-parser.d.ts +6 -23
- package/dist/manifest/barrel-parser.js +9 -101
- package/dist/manifest/barrel-parser.js.map +1 -1
- package/dist/manifest/lazy-resolver.js +9 -11
- package/dist/manifest/lazy-resolver.js.map +1 -1
- package/dist/parse-by-ext.js +1 -1
- package/dist/parse-by-ext.js.map +1 -1
- package/dist/reporter/index.js +2 -0
- package/dist/reporter/index.js.map +1 -1
- package/dist/rollup.js +5 -0
- package/dist/rollup.js.map +1 -1
- package/dist/scan/auto-import-manifest.d.ts +28 -0
- package/dist/scan/auto-import-manifest.js +81 -0
- package/dist/scan/auto-import-manifest.js.map +1 -0
- package/dist/scan/entry-packages.d.ts +4 -2
- package/dist/scan/entry-packages.js +4 -2
- package/dist/scan/entry-packages.js.map +1 -1
- package/dist/scan/wrap-relationships.d.ts +12 -0
- package/dist/scan/wrap-relationships.js +38 -0
- package/dist/scan/wrap-relationships.js.map +1 -0
- package/examples/github-actions-workflow.yml +1 -1
- package/package.json +8 -9
- package/dist/commands/db-import.d.ts +0 -12
- package/dist/commands/db-import.js +0 -59
- package/dist/commands/db-import.js.map +0 -1
- package/dist/scan/wrap-aggregation.d.ts +0 -7
- package/dist/scan/wrap-aggregation.js +0 -95
- package/dist/scan/wrap-aggregation.js.map +0 -1
package/dist/commands/scan.js
CHANGED
|
@@ -23,7 +23,7 @@ import { printSummary } from "../reporter/stdout.js";
|
|
|
23
23
|
import { stampMeta } from "../scan/meta.js";
|
|
24
24
|
import { stampGitMTime } from "../scan/git-mtime.js";
|
|
25
25
|
import { stampVersion } from "../scan/stamp-version.js";
|
|
26
|
-
import {
|
|
26
|
+
import { applyWrapRelationships } from "../scan/wrap-relationships.js";
|
|
27
27
|
import { applyEntryPackages, createEntryPackageRecorder } from "../scan/entry-packages.js";
|
|
28
28
|
import { buildCemIndex } from "../scan/cem-index.js";
|
|
29
29
|
import { isPnpProject } from "../util/pnp-check.js";
|
|
@@ -38,7 +38,8 @@ import { computeStableIdFromComponentId, computeOutputIdentity } from "../identi
|
|
|
38
38
|
import { buildScanOutput } from "../reporter/index.js";
|
|
39
39
|
import { buildWorkspaceGraph, declaredDeps, findOwningPackage, resetFindOwningPackageCache, } from "../workspace/index.js";
|
|
40
40
|
import { createBoundedDefinitionResolver } from "../walker/bounded-definition-resolver.js";
|
|
41
|
-
import {
|
|
41
|
+
import { loadAutoImportManifest, detectAutoImportFramework } from "../scan/auto-import-manifest.js";
|
|
42
|
+
import { createDiagnosticCollector, computeOccurrenceId, externalPackageOf } from "@component-compass/plugin-core";
|
|
42
43
|
/** Map a scan result to a process exit code: 2 = scan failed, 1 = requested upload failed, 0 = ok. */
|
|
43
44
|
export function scanExitCode(result) {
|
|
44
45
|
if (result.output === null)
|
|
@@ -64,7 +65,7 @@ export async function runScan(opts) {
|
|
|
64
65
|
throw err;
|
|
65
66
|
}
|
|
66
67
|
if (isPnpProject(cfg.configDir)) {
|
|
67
|
-
log.error("yarn PnP detected; component-compass requires nodeLinker: node-modules.
|
|
68
|
+
log.error("yarn PnP detected; component-compass requires nodeLinker: node-modules.");
|
|
68
69
|
return { output: null, upload: "skipped" };
|
|
69
70
|
}
|
|
70
71
|
// Stamp meta early — throws if not a git work tree, which is a hard
|
|
@@ -208,6 +209,39 @@ export async function runScan(opts) {
|
|
|
208
209
|
// Phase 2's plugin dispatch and its output is merged with the legacy
|
|
209
210
|
// Vue/Lit/HTML occurrences before Assemble.
|
|
210
211
|
const graphBuilder = createGraphBuilder({ moduleResolver: resolveImport, repoRoot: cfg.configDir });
|
|
212
|
+
// Auto-import manifest (#346): generated component maps (Nuxt's
|
|
213
|
+
// .nuxt/components.d.ts). Loaded once per scan; misses degrade to
|
|
214
|
+
// diagnostics, never gates.
|
|
215
|
+
const autoImports = loadAutoImportManifest(cfg.configDir);
|
|
216
|
+
if (autoImports !== null) {
|
|
217
|
+
for (const s of autoImports.stale) {
|
|
218
|
+
collector.emit({
|
|
219
|
+
code: "auto-import-stale-entry",
|
|
220
|
+
severity: "warning",
|
|
221
|
+
filePath: autoImports.manifestPath,
|
|
222
|
+
componentName: s.componentName,
|
|
223
|
+
// s.target is absolute (auto-import-manifest.ts resolves in-repo
|
|
224
|
+
// entries to an absolute path before checking existence) — emit
|
|
225
|
+
// repo-relative POSIX so the artefact stays portable across machines,
|
|
226
|
+
// matching the convention used for occurrence/component filePaths.
|
|
227
|
+
target: posixPath(relative(cfg.configDir, s.target)),
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
const framework = detectAutoImportFramework(cfg.configDir);
|
|
233
|
+
if (framework !== null) {
|
|
234
|
+
const missing = {
|
|
235
|
+
code: "auto-import-manifest-missing",
|
|
236
|
+
severity: "warning",
|
|
237
|
+
filePath: framework.expectedPath,
|
|
238
|
+
detail: "auto-import framework detected but no components manifest was found — auto-imported components can't be resolved. Run `nuxt prepare` (or any dev/build) and re-scan.",
|
|
239
|
+
};
|
|
240
|
+
collector.emit(missing);
|
|
241
|
+
// Surface at scan time, not only in the artifact.
|
|
242
|
+
log.warn(formatDiagnostic(missing));
|
|
243
|
+
}
|
|
244
|
+
}
|
|
211
245
|
// ── Phase 1: read + parse + emit local definitions ──────────────────────
|
|
212
246
|
for (const file of orderedFiles) {
|
|
213
247
|
const source = await readFile(file, "utf8").catch(() => "");
|
|
@@ -260,8 +294,9 @@ export async function runScan(opts) {
|
|
|
260
294
|
// lane's priming (emit-template.ts), warming byTag for tag
|
|
261
295
|
// resolution and feeding entry-package provenance (#331).
|
|
262
296
|
// exportName "" = side-effect signal. Anchor is absolute here,
|
|
263
|
-
// which resolveLeaf handles identically
|
|
264
|
-
//
|
|
297
|
+
// which resolveLeaf handles identically — the Vue lane
|
|
298
|
+
// (emit-template.ts, below) now anchors absolute too, for the
|
|
299
|
+
// same reason.
|
|
265
300
|
onSideEffectImport: (spec) => {
|
|
266
301
|
warmedResolver.resolveLazyManifest(file, spec, "");
|
|
267
302
|
},
|
|
@@ -284,11 +319,27 @@ export async function runScan(opts) {
|
|
|
284
319
|
source,
|
|
285
320
|
wrapper,
|
|
286
321
|
fileBuilder,
|
|
287
|
-
|
|
322
|
+
// Anchor on the absolute `file`, discarding the emitter's own
|
|
323
|
+
// repo-relative `_from` (relPath, relative to cfg.configDir).
|
|
324
|
+
// resolveLazyManifest ultimately calls resolveImport(from, spec),
|
|
325
|
+
// which rebases a non-absolute `from` onto the import resolver's
|
|
326
|
+
// repoRoot — workspaceRoot, not cfg.configDir (walker/resolve-
|
|
327
|
+
// import.ts). Those coincide for every scan rooted at its own
|
|
328
|
+
// workspace root, but whenever cfg.configDir sits in a workspace
|
|
329
|
+
// subdirectory (consumer-ci's per-app targets), rebasing the
|
|
330
|
+
// relative anchor onto workspaceRoot produces a path that doesn't
|
|
331
|
+
// exist, and the node_modules walk starts from the wrong
|
|
332
|
+
// directory — nested per-app deps become unreachable. The
|
|
333
|
+
// React/babel lane (emitReact's onSideEffectImport, above) already
|
|
334
|
+
// anchors on the absolute `file` for the same reason; mirror it
|
|
335
|
+
// here instead of "simplifying" this back to the emitter's arg.
|
|
336
|
+
resolveLazyManifest: (_from, spec, exportName) => warmedResolver.resolveLazyManifest(file, spec, exportName),
|
|
288
337
|
// Reuse detectVueComponents' resolved symbol so the SFC's local-index
|
|
289
338
|
// seed and the engine's owner ComponentId hash to the same id —
|
|
290
339
|
// otherwise the SFC seed is pruned as an unreachable local.
|
|
291
340
|
...(sfcDefs[0]?.exportName !== undefined ? { sfcSymbol: sfcDefs[0].exportName } : {}),
|
|
341
|
+
...(autoImports !== null ? { resolveAutoImport: autoImports.lookup } : {}),
|
|
342
|
+
collector,
|
|
292
343
|
});
|
|
293
344
|
}
|
|
294
345
|
catch (err) {
|
|
@@ -355,12 +406,21 @@ export async function runScan(opts) {
|
|
|
355
406
|
// specifier imports alike.
|
|
356
407
|
//
|
|
357
408
|
// tagIndex serves tag-based emitters (parser-vue from A2 onward, parser-lit /
|
|
358
|
-
// parser-html from #105 / #106). External lookups
|
|
359
|
-
//
|
|
409
|
+
// parser-html from #105 / #106). External lookups try the warmed lazy
|
|
410
|
+
// resolver first (populated by `.warm()`'s declared-dep eager-load and by
|
|
411
|
+
// side-effect-import priming, both re-export-aware — sees barrels the
|
|
412
|
+
// static CemIndex glob can't reach, e.g. nested node_modules leaves),
|
|
413
|
+
// falling back to CemIndex.byTag for tags whose package was never imported
|
|
414
|
+
// or warmed. Local lookups go through the workspace-WC entries in
|
|
415
|
+
// LocalDefinitionIndex.byTag.
|
|
360
416
|
// The collector is the same shared one parsers emit through; the engine adds
|
|
361
417
|
// its own diagnostics (low-confidence-tag, etc.).
|
|
362
418
|
const tagIndex = {
|
|
363
419
|
externalByTag: (tag) => {
|
|
420
|
+
const warmed = warmedResolver.lookupByTag(tag);
|
|
421
|
+
if (warmed && warmed.source.type === "external") {
|
|
422
|
+
return { packageName: externalPackageOf(warmed.source) };
|
|
423
|
+
}
|
|
364
424
|
const hit = cemIndex.byTag.get(tag);
|
|
365
425
|
if (!hit)
|
|
366
426
|
return undefined;
|
|
@@ -466,6 +526,15 @@ export async function runScan(opts) {
|
|
|
466
526
|
// both the occurrenceId hash and the emitted OutputOccurrence.filePath.
|
|
467
527
|
const outFile = rebase(eo.filePath);
|
|
468
528
|
const occurrenceId = computeOccurrenceId(componentId, outFile, eo.line, eo.column, ownerComponentId);
|
|
529
|
+
// Normalise absolute `via`/`viaChain` specifiers (e.g. auto-import-manifest
|
|
530
|
+
// entries for in-repo Vue components — see auto-import-manifest.ts) to
|
|
531
|
+
// output-space POSIX through the same rebase used for local identity
|
|
532
|
+
// paths above. Authored specifiers are never absolute, so the isAbsolute
|
|
533
|
+
// guard only ever fires for these synthetic entries. `via` is always
|
|
534
|
+
// `viaChain[0]` (see engine/index.ts) — derive it from the normalised
|
|
535
|
+
// chain so the two stay in sync.
|
|
536
|
+
const normalisedViaChain = eo.viaChain.map((v) => normaliseVia(v, cfg.configDir, rebase));
|
|
537
|
+
const via = normalisedViaChain[0] ?? normaliseVia(eo.via, cfg.configDir, rebase);
|
|
469
538
|
// Propagate wraps cross-link so it reaches OutputComponent.identity.wraps.
|
|
470
539
|
// We record it in wrapsById so it can be patched onto pre-existing seeds
|
|
471
540
|
// (manifest snapshot path) that were built before the engine ran.
|
|
@@ -496,8 +565,8 @@ export async function runScan(opts) {
|
|
|
496
565
|
filePath: outFile,
|
|
497
566
|
line: eo.line,
|
|
498
567
|
column: eo.column,
|
|
499
|
-
via
|
|
500
|
-
viaChain:
|
|
568
|
+
via,
|
|
569
|
+
viaChain: normalisedViaChain,
|
|
501
570
|
props: eo.props,
|
|
502
571
|
occurrenceId,
|
|
503
572
|
depth: eo.depth,
|
|
@@ -530,23 +599,18 @@ export async function runScan(opts) {
|
|
|
530
599
|
scanDurationMs: Math.round(t1 - t0),
|
|
531
600
|
};
|
|
532
601
|
const rawScanOutput = buildScanOutput(meta, manifests, partialStats, allSeeds, occurrences, diagnostics);
|
|
533
|
-
// Post-resolve aggregation:
|
|
534
|
-
//
|
|
535
|
-
// #331 ordering: applyEntryPackages
|
|
536
|
-
//
|
|
537
|
-
|
|
538
|
-
//
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
// exist yet at that point. Run the same seam again over the final rows so
|
|
542
|
-
// a matching manifest snapshot entry still reaches them. Idempotent for
|
|
543
|
-
// rows already enriched (re-finds the same unambiguous match).
|
|
544
|
-
attachManifestEnrichment(aggregated, snapshot, workspaceGraph);
|
|
602
|
+
// Post-resolve aggregation (COM-388): stamp logicalId on every component and
|
|
603
|
+
// emit wraps relationship edges — no synthetic zero-occurrence rows.
|
|
604
|
+
// #331 ordering note: applyEntryPackages previously ran after materialisation
|
|
605
|
+
// so provenance could attach to synthetic CE entries; with materialisation
|
|
606
|
+
// gone, leaf-package-lane records for UNOBSERVED targets match no row and
|
|
607
|
+
// drop — the relationship edge carries that provenance now.
|
|
608
|
+
const { components: withRelationships, relationships } = applyWrapRelationships(rawScanOutput.components);
|
|
609
|
+
const aggregated = applyEntryPackages(withRelationships, entryPackageRecorder.drain());
|
|
545
610
|
const scanOutput = {
|
|
546
611
|
...rawScanOutput,
|
|
547
612
|
components: aggregated,
|
|
548
|
-
|
|
549
|
-
// materialises anchors — not the pre-synthesis rollup.
|
|
613
|
+
relationships,
|
|
550
614
|
stats: { ...rawScanOutput.stats, componentsDetected: aggregated.length },
|
|
551
615
|
};
|
|
552
616
|
// Both functions join their root arg with output-space (outputRoot-relative)
|
|
@@ -618,6 +682,23 @@ function normaliseEngineLocalId(c, configDir, rebase) {
|
|
|
618
682
|
source: { type: "local", filePath: rebase(scanRel) },
|
|
619
683
|
};
|
|
620
684
|
}
|
|
685
|
+
/**
|
|
686
|
+
* Rebase an absolute `via.specifier` (or `viaChain[n].specifier`) to
|
|
687
|
+
* output-space POSIX, mirroring `normaliseEngineLocalId`'s treatment of
|
|
688
|
+
* local ComponentId filePaths. The auto-import-manifest reader
|
|
689
|
+
* (scan/auto-import-manifest.ts) emits absolute specifiers for in-repo
|
|
690
|
+
* entries — parser-vue stamps them straight into `viaOverride.specifier` —
|
|
691
|
+
* so without this the artefact leaks machine-local absolute paths.
|
|
692
|
+
* Authored specifiers (explicit imports) are always bare/relative import
|
|
693
|
+
* strings, never absolute, so the `isAbsolute` guard only ever fires for
|
|
694
|
+
* these synthetic auto-import entries.
|
|
695
|
+
*/
|
|
696
|
+
function normaliseVia(v, configDir, rebase) {
|
|
697
|
+
if (!("specifier" in v) || v.specifier === undefined || !isAbsolute(v.specifier))
|
|
698
|
+
return v;
|
|
699
|
+
const scanRel = posixPath(relative(configDir, v.specifier));
|
|
700
|
+
return { ...v, specifier: rebase(scanRel) };
|
|
701
|
+
}
|
|
621
702
|
function assertUnreachable(x) {
|
|
622
703
|
throw new Error(`Unhandled diagnostic code: ${x.code}`);
|
|
623
704
|
}
|
|
@@ -640,6 +721,12 @@ function formatDiagnostic(d) {
|
|
|
640
721
|
return `${tag} [component-compass] ${d.code} at ${d.filePath}:${d.line}:${d.column} — ${d.symbol}${d.memberChain.length ? `.${d.memberChain.join(".")}` : ""}`;
|
|
641
722
|
case "cycle-in-resolution":
|
|
642
723
|
return `${tag} [component-compass] ${d.code} at ${d.filePath}:${d.line}:${d.column} — ${d.symbol} (depth ${d.depth})`;
|
|
724
|
+
case "unresolved-component-tag":
|
|
725
|
+
return `${tag} [component-compass] ${d.code} at ${d.filePath}:${d.line ?? "?"}:${d.column ?? "?"} — <${d.tagName}> has no import, auto-import entry, or tag registration`;
|
|
726
|
+
case "auto-import-stale-entry":
|
|
727
|
+
return `${tag} [component-compass] ${d.code} in ${d.filePath} — ${d.componentName} → ${d.target} (file missing; regenerate the manifest)`;
|
|
728
|
+
case "auto-import-manifest-missing":
|
|
729
|
+
return `${tag} [component-compass] ${d.code} at ${d.filePath} — ${d.detail}`;
|
|
643
730
|
default:
|
|
644
731
|
return assertUnreachable(d);
|
|
645
732
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"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"}
|
package/dist/config/loader.js
CHANGED
|
@@ -28,7 +28,7 @@ export async function loadConfig(configPath) {
|
|
|
28
28
|
// Pre-validation legacy field detection so we surface a migration message
|
|
29
29
|
// rather than a generic "additional property" AJV error.
|
|
30
30
|
if (parsed && typeof parsed === "object" && "manifests" in parsed) {
|
|
31
|
-
throw new ConfigError("CONFIG_INVALID", `${abs}: the \`manifests\` field was removed. Replace with \`include\` (array of glob patterns for files to scan)
|
|
31
|
+
throw new ConfigError("CONFIG_INVALID", `${abs}: the \`manifests\` field was removed. Replace with \`include\` (array of glob patterns for files to scan).`);
|
|
32
32
|
}
|
|
33
33
|
if (!validateConfig(parsed)) {
|
|
34
34
|
const issues = (validateConfig.errors ?? [])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,MAAM,OAAO,WAAY,SAAQ,KAAK;IACjB;IAAnB,YAAmB,IAAyC,EAAE,OAAe;QAC3E,KAAK,CAAC,OAAO,CAAC,CAAC;QADE,SAAI,GAAJ,IAAI,CAAqC;IAE5D,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAAkB;IACjD,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;IAErF,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,WAAW,CACnB,gBAAgB,EAChB,yCAAyC,GAAG,mDAAmD,CAChG,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACxC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,WAAW,CAAC,gBAAgB,EAAE,GAAG,GAAG,uBAAuB,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,0EAA0E;IAC1E,yDAAyD;IACzD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;QAClE,MAAM,IAAI,WAAW,CACnB,gBAAgB,EAChB,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,36 +17,19 @@ export type BarrelReExport = {
|
|
|
17
17
|
*
|
|
18
18
|
* Type-only re-exports (`export type { ... } from`) are skipped.
|
|
19
19
|
* Local declarations, side-effect imports, and dynamic exports are skipped.
|
|
20
|
+
* CJS re-exports (`module.exports = ...`) and conditional re-exports are
|
|
21
|
+
* unsupported: they contribute nothing here, so barrel chains built on them
|
|
22
|
+
* read as terminal and their leaves surface with `manifest: null`.
|
|
20
23
|
*
|
|
21
24
|
* Returns [] on parse failure rather than throwing.
|
|
22
25
|
*/
|
|
23
26
|
export declare function parseBarrelTopLevel(source: string): BarrelReExport[];
|
|
24
|
-
export type BarrelUnsupportedForm = {
|
|
25
|
-
form: "cjs-reexport";
|
|
26
|
-
line?: number;
|
|
27
|
-
} | {
|
|
28
|
-
form: "conditional-reexport";
|
|
29
|
-
line?: number;
|
|
30
|
-
};
|
|
31
|
-
export type BarrelParseResult = {
|
|
32
|
-
reExports: BarrelReExport[];
|
|
33
|
-
unsupported: BarrelUnsupportedForm[];
|
|
34
|
-
};
|
|
35
|
-
/**
|
|
36
|
-
* Like {@link parseBarrelTopLevel}, but also returns a list of unsupported
|
|
37
|
-
* top-level shapes encountered (e.g. CJS re-exports, conditional re-exports)
|
|
38
|
-
* so callers can surface diagnostics rather than silently dropping leaves.
|
|
39
|
-
*
|
|
40
|
-
* Returns `{ reExports: [], unsupported: [] }` on parse failure rather than
|
|
41
|
-
* throwing.
|
|
42
|
-
*/
|
|
43
|
-
export declare function parseBarrelTopLevelDetailed(source: string): BarrelParseResult;
|
|
44
27
|
/**
|
|
45
|
-
* AST-taking variant of {@link
|
|
46
|
-
*
|
|
28
|
+
* AST-taking variant of {@link parseBarrelTopLevel}. Lets callers that
|
|
29
|
+
* already hold a parsed `BabelFile` reuse it across passes (the lazy
|
|
47
30
|
* resolver caches barrel ASTs to avoid re-parsing the same file once per
|
|
48
31
|
* import resolution).
|
|
49
32
|
*
|
|
50
33
|
* Performs the same top-level analysis on `ast.program` — never re-parses.
|
|
51
34
|
*/
|
|
52
|
-
export declare function
|
|
35
|
+
export declare function parseBarrelTopLevelFromAst(ast: BabelFile): BarrelReExport[];
|
|
@@ -7,21 +7,13 @@ import * as t from "@babel/types";
|
|
|
7
7
|
*
|
|
8
8
|
* Type-only re-exports (`export type { ... } from`) are skipped.
|
|
9
9
|
* Local declarations, side-effect imports, and dynamic exports are skipped.
|
|
10
|
+
* CJS re-exports (`module.exports = ...`) and conditional re-exports are
|
|
11
|
+
* unsupported: they contribute nothing here, so barrel chains built on them
|
|
12
|
+
* read as terminal and their leaves surface with `manifest: null`.
|
|
10
13
|
*
|
|
11
14
|
* Returns [] on parse failure rather than throwing.
|
|
12
15
|
*/
|
|
13
16
|
export function parseBarrelTopLevel(source) {
|
|
14
|
-
return parseBarrelTopLevelDetailed(source).reExports;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Like {@link parseBarrelTopLevel}, but also returns a list of unsupported
|
|
18
|
-
* top-level shapes encountered (e.g. CJS re-exports, conditional re-exports)
|
|
19
|
-
* so callers can surface diagnostics rather than silently dropping leaves.
|
|
20
|
-
*
|
|
21
|
-
* Returns `{ reExports: [], unsupported: [] }` on parse failure rather than
|
|
22
|
-
* throwing.
|
|
23
|
-
*/
|
|
24
|
-
export function parseBarrelTopLevelDetailed(source) {
|
|
25
17
|
let ast;
|
|
26
18
|
try {
|
|
27
19
|
ast = parse(source, {
|
|
@@ -31,21 +23,20 @@ export function parseBarrelTopLevelDetailed(source) {
|
|
|
31
23
|
});
|
|
32
24
|
}
|
|
33
25
|
catch {
|
|
34
|
-
return
|
|
26
|
+
return [];
|
|
35
27
|
}
|
|
36
|
-
return
|
|
28
|
+
return parseBarrelTopLevelFromAst(ast);
|
|
37
29
|
}
|
|
38
30
|
/**
|
|
39
|
-
* AST-taking variant of {@link
|
|
40
|
-
*
|
|
31
|
+
* AST-taking variant of {@link parseBarrelTopLevel}. Lets callers that
|
|
32
|
+
* already hold a parsed `BabelFile` reuse it across passes (the lazy
|
|
41
33
|
* resolver caches barrel ASTs to avoid re-parsing the same file once per
|
|
42
34
|
* import resolution).
|
|
43
35
|
*
|
|
44
36
|
* Performs the same top-level analysis on `ast.program` — never re-parses.
|
|
45
37
|
*/
|
|
46
|
-
export function
|
|
38
|
+
export function parseBarrelTopLevelFromAst(ast) {
|
|
47
39
|
const reExports = [];
|
|
48
|
-
const unsupported = [];
|
|
49
40
|
for (const node of ast.program.body) {
|
|
50
41
|
if (t.isExportAllDeclaration(node)) {
|
|
51
42
|
reExports.push({ kind: "star", from: node.source.value });
|
|
@@ -78,91 +69,8 @@ export function parseBarrelTopLevelDetailedFromAst(ast) {
|
|
|
78
69
|
if (namesPart.length === 0)
|
|
79
70
|
continue;
|
|
80
71
|
reExports.push({ kind: "named", from: node.source.value, names: namesPart });
|
|
81
|
-
continue;
|
|
82
|
-
}
|
|
83
|
-
// CommonJS top-level reassignment: `module.exports = require(...)` /
|
|
84
|
-
// `module.exports = ...` covered by ExpressionStatement at top level.
|
|
85
|
-
if (t.isExpressionStatement(node) && isCjsReexport(node.expression)) {
|
|
86
|
-
const entry = { form: "cjs-reexport" };
|
|
87
|
-
if (typeof node.loc?.start.line === "number")
|
|
88
|
-
entry.line = node.loc.start.line;
|
|
89
|
-
unsupported.push(entry);
|
|
90
|
-
continue;
|
|
91
|
-
}
|
|
92
|
-
// Anything wrapping a CJS reassignment in a conditional (if / try / switch).
|
|
93
|
-
if ((t.isIfStatement(node) || t.isTryStatement(node) || t.isSwitchStatement(node)) &&
|
|
94
|
-
visitConditionalBody(node)) {
|
|
95
|
-
const entry = { form: "conditional-reexport" };
|
|
96
|
-
if (typeof node.loc?.start.line === "number")
|
|
97
|
-
entry.line = node.loc.start.line;
|
|
98
|
-
unsupported.push(entry);
|
|
99
72
|
}
|
|
100
73
|
}
|
|
101
|
-
return
|
|
102
|
-
}
|
|
103
|
-
function isCjsReexport(expr) {
|
|
104
|
-
if (!expr || !t.isAssignmentExpression(expr))
|
|
105
|
-
return false;
|
|
106
|
-
if (!t.isMemberExpression(expr.left))
|
|
107
|
-
return false;
|
|
108
|
-
return (t.isIdentifier(expr.left.object, { name: "module" }) &&
|
|
109
|
-
t.isIdentifier(expr.left.property, { name: "exports" }));
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Walk a conditional wrapper (`if` / `try` / `switch`) looking for a
|
|
113
|
-
* `module.exports = ...` reassignment inside any of its branches.
|
|
114
|
-
*
|
|
115
|
-
* The walk is type-aware: it descends only into structural children that
|
|
116
|
-
* execute when the wrapper executes. Function and class bodies are
|
|
117
|
-
* treated as opaque boundaries — `module.exports = ...` defined inside a
|
|
118
|
-
* nested function declaration / arrow / class method does not run when the
|
|
119
|
-
* branch body runs, so it would be a false positive to flag it.
|
|
120
|
-
*/
|
|
121
|
-
function visitConditionalBody(node) {
|
|
122
|
-
if (!node)
|
|
123
|
-
return false;
|
|
124
|
-
// Direct CJS reassignment.
|
|
125
|
-
if (t.isExpressionStatement(node) && isCjsReexport(node.expression)) {
|
|
126
|
-
return true;
|
|
127
|
-
}
|
|
128
|
-
// Function / class scopes don't execute now — opaque boundary.
|
|
129
|
-
if (t.isFunctionDeclaration(node) ||
|
|
130
|
-
t.isFunctionExpression(node) ||
|
|
131
|
-
t.isArrowFunctionExpression(node) ||
|
|
132
|
-
t.isObjectMethod(node) ||
|
|
133
|
-
t.isClassMethod(node) ||
|
|
134
|
-
t.isClassDeclaration(node) ||
|
|
135
|
-
t.isClassExpression(node)) {
|
|
136
|
-
return false;
|
|
137
|
-
}
|
|
138
|
-
if (t.isBlockStatement(node)) {
|
|
139
|
-
for (const stmt of node.body) {
|
|
140
|
-
if (visitConditionalBody(stmt))
|
|
141
|
-
return true;
|
|
142
|
-
}
|
|
143
|
-
return false;
|
|
144
|
-
}
|
|
145
|
-
if (t.isIfStatement(node)) {
|
|
146
|
-
return (visitConditionalBody(node.consequent) || visitConditionalBody(node.alternate));
|
|
147
|
-
}
|
|
148
|
-
if (t.isTryStatement(node)) {
|
|
149
|
-
return (visitConditionalBody(node.block) ||
|
|
150
|
-
visitConditionalBody(node.handler?.body) ||
|
|
151
|
-
visitConditionalBody(node.finalizer));
|
|
152
|
-
}
|
|
153
|
-
if (t.isSwitchStatement(node)) {
|
|
154
|
-
for (const switchCase of node.cases) {
|
|
155
|
-
for (const stmt of switchCase.consequent) {
|
|
156
|
-
if (visitConditionalBody(stmt))
|
|
157
|
-
return true;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
return false;
|
|
161
|
-
}
|
|
162
|
-
if (t.isLabeledStatement(node) || t.isWithStatement(node)) {
|
|
163
|
-
return visitConditionalBody(node.body);
|
|
164
|
-
}
|
|
165
|
-
// Other statement types (loops, return, throw, ...) are not unwrapped here.
|
|
166
|
-
return false;
|
|
74
|
+
return reExports;
|
|
167
75
|
}
|
|
168
76
|
//# sourceMappingURL=barrel-parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"barrel-parser.js","sourceRoot":"","sources":["../../src/manifest/barrel-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAWlC
|
|
1
|
+
{"version":3,"file":"barrel-parser.js","sourceRoot":"","sources":["../../src/manifest/barrel-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAWlC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,IAAI,GAAc,CAAC;IACnB,IAAI,CAAC;QACH,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE;YAClB,UAAU,EAAE,QAAQ;YACpB,OAAO,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC;YAC9B,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,0BAA0B,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CAAC,GAAc;IACvD,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC1D,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,SAAS;YAC3B,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM;gBAAE,SAAS;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACpC,IACE,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;gBAC5B,QAAQ;gBACR,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EACtC,CAAC;gBACD,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC1D,SAAS;YACX,CAAC;YACD,MAAM,SAAS,GAA+C,EAAE,CAAC;YACjE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACnC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACzC,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM;oBAAE,SAAS;gBACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC9B,MAAM,QAAQ,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAC5C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI;oBACpB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACxB,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACrC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -4,7 +4,7 @@ import { dirname, extname, isAbsolute, join, relative, resolve as pathResolve }
|
|
|
4
4
|
import picomatch from "picomatch";
|
|
5
5
|
import { parse as babelParse } from "@babel/parser";
|
|
6
6
|
import { validateManifest, createDiagnosticCollector, } from "@component-compass/plugin-core";
|
|
7
|
-
import {
|
|
7
|
+
import { parseBarrelTopLevel, parseBarrelTopLevelFromAst, } from "./barrel-parser.js";
|
|
8
8
|
/**
|
|
9
9
|
* Hard ceiling on re-export hops a single resolution may walk. Real chains
|
|
10
10
|
* top out around 10 hops (deep barrel piles); 32 is a pathological-input
|
|
@@ -256,18 +256,17 @@ export function createLazyResolver(opts) {
|
|
|
256
256
|
const source = safeReadFile(currentAbs);
|
|
257
257
|
if (source === null)
|
|
258
258
|
break;
|
|
259
|
-
let
|
|
259
|
+
let reExports;
|
|
260
260
|
try {
|
|
261
261
|
const ast = parsedBarrel(currentAbs, source);
|
|
262
|
-
|
|
262
|
+
reExports = parseBarrelTopLevelFromAst(ast);
|
|
263
263
|
}
|
|
264
264
|
catch {
|
|
265
265
|
// parseByExt throws on unrecoverable syntax — fall back to the
|
|
266
|
-
// source-level
|
|
267
|
-
//
|
|
268
|
-
|
|
266
|
+
// source-level parse, which swallows parse errors and returns an
|
|
267
|
+
// empty array so the chain terminates gracefully on garbage files.
|
|
268
|
+
reExports = parseBarrelTopLevel(source);
|
|
269
269
|
}
|
|
270
|
-
const { reExports } = parsed;
|
|
271
270
|
// unsupported barrel forms (try/switch-wrapped, dynamic re-exports etc.)
|
|
272
271
|
// are silently treated as terminal — the resolver returns identity from
|
|
273
272
|
// the current file and the parser falls back to opaque emission. The
|
|
@@ -388,15 +387,14 @@ export function createLazyResolver(opts) {
|
|
|
388
387
|
const source = safeReadFile(currentAbs);
|
|
389
388
|
if (source === null)
|
|
390
389
|
return null;
|
|
391
|
-
let
|
|
390
|
+
let reExports;
|
|
392
391
|
try {
|
|
393
392
|
const ast = parsedBarrel(currentAbs, source);
|
|
394
|
-
|
|
393
|
+
reExports = parseBarrelTopLevelFromAst(ast);
|
|
395
394
|
}
|
|
396
395
|
catch {
|
|
397
|
-
|
|
396
|
+
reExports = parseBarrelTopLevel(source);
|
|
398
397
|
}
|
|
399
|
-
const { reExports } = parsed;
|
|
400
398
|
if (reExports.length === 0) {
|
|
401
399
|
return { filePath: toRelPath(currentAbs), exportName: currentExport };
|
|
402
400
|
}
|