@nielspeter/eess-ts 0.8.0 → 0.9.0
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/conditions/dependency.d.ts.map +1 -1
- package/dist/conditions/dependency.js +5 -6
- package/dist/conditions/dependency.js.map +1 -1
- package/dist/core/glob-evaluator.d.ts.map +1 -1
- package/dist/core/glob-evaluator.js +5 -1
- package/dist/core/glob-evaluator.js.map +1 -1
- package/dist/core/import-candidates.d.ts +43 -0
- package/dist/core/import-candidates.d.ts.map +1 -1
- package/dist/core/import-candidates.js +46 -0
- package/dist/core/import-candidates.js.map +1 -1
- package/dist/core/path-universe.d.ts.map +1 -1
- package/dist/core/path-universe.js +10 -0
- package/dist/core/path-universe.js.map +1 -1
- package/dist/core/project-relative.d.ts +57 -42
- package/dist/core/project-relative.d.ts.map +1 -1
- package/dist/core/project-relative.js +180 -4
- package/dist/core/project-relative.js.map +1 -1
- package/dist/predicates/identity.d.ts +4 -2
- package/dist/predicates/identity.d.ts.map +1 -1
- package/dist/predicates/identity.js +4 -2
- package/dist/predicates/identity.js.map +1 -1
- package/dist/predicates/module.d.ts.map +1 -1
- package/dist/predicates/module.js +3 -4
- package/dist/predicates/module.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency.d.ts","sourceRoot":"","sources":["../../src/conditions/dependency.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dependency.d.ts","sourceRoot":"","sources":["../../src/conditions/dependency.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAqB,MAAM,UAAU,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,kBAAkB,CAAA;AAkBnE,YAAY,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AA+K9D;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;AAC9F,wBAAgB,cAAc,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;AA+DzE;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;AAC7F,wBAAgB,aAAa,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;AA4CxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;AACxF,wBAAgB,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;AAiFnE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,IAAI,SAAS,CAAC,UAAU,CAAC,CA4B7D;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,CAoEjF"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { candidatesFor, matchedCandidate } from '../core/import-candidates.js';
|
|
1
|
+
import { candidatesFor, matchedCandidate, importTargetMatcher } from '../core/import-candidates.js';
|
|
3
2
|
import { recordEdgeCoverage } from '@nielspeter/eess/internal';
|
|
4
3
|
import { globAnyOf } from '@nielspeter/eess';
|
|
5
4
|
import { edgeTypeOnlyRemedy, edgeDiscriminator, edgeValuePhrase, edgeTypeOnlyNoun, edgeStream, edgeVerb, edgesOf, FORWARD_EDGE_KINDS, } from '../core/module-edges.js';
|
|
@@ -161,7 +160,7 @@ subject) {
|
|
|
161
160
|
export function onlyImportFrom(...args) {
|
|
162
161
|
const { globs, options } = splitGlobArgs(args);
|
|
163
162
|
const ignoreType = options?.ignoreTypeImports === true;
|
|
164
|
-
const matchers = globs.map((g) =>
|
|
163
|
+
const matchers = globs.map((g) => importTargetMatcher(g));
|
|
165
164
|
const quotedGlobs = globs.map((g) => `"${g}"`).join(', ');
|
|
166
165
|
return {
|
|
167
166
|
// Declared so the glob is visible to `explain`, `doctor` and 0069's glob model
|
|
@@ -210,7 +209,7 @@ export function onlyImportFrom(...args) {
|
|
|
210
209
|
export function notImportFrom(...args) {
|
|
211
210
|
const { globs, options } = splitGlobArgs(args);
|
|
212
211
|
const ignoreType = options?.ignoreTypeImports === true;
|
|
213
|
-
const matchers = globs.map((g) =>
|
|
212
|
+
const matchers = globs.map((g) => importTargetMatcher(g));
|
|
214
213
|
const quotedGlobs = globs.map((g) => `"${g}"`).join(', ');
|
|
215
214
|
return {
|
|
216
215
|
// Declared so the glob is visible to `explain`, `doctor` and 0069's glob model
|
|
@@ -245,7 +244,7 @@ export function notImportFrom(...args) {
|
|
|
245
244
|
export function dependOn(...args) {
|
|
246
245
|
const { globs, options } = splitGlobArgs(args);
|
|
247
246
|
const ignoreType = options?.ignoreTypeImports === true;
|
|
248
|
-
const matchers = globs.map((g) =>
|
|
247
|
+
const matchers = globs.map((g) => importTargetMatcher(g));
|
|
249
248
|
const quotedGlobs = globs.map((g) => `"${g}"`).join(', ');
|
|
250
249
|
return {
|
|
251
250
|
// Declared so the glob is visible to `explain`, `doctor` and 0069's glob model
|
|
@@ -370,7 +369,7 @@ export function notHaveAliasedImports() {
|
|
|
370
369
|
* .check()
|
|
371
370
|
*/
|
|
372
371
|
export function onlyHaveTypeImportsFrom(...globs) {
|
|
373
|
-
const matchers = globs.map((g) =>
|
|
372
|
+
const matchers = globs.map((g) => importTargetMatcher(g));
|
|
374
373
|
const quotedGlobs = globs.map((g) => `"${g}"`).join(', ');
|
|
375
374
|
return {
|
|
376
375
|
// Declared so the glob is visible to `explain`, `doctor` and 0069's glob model
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency.js","sourceRoot":"","sources":["../../src/conditions/dependency.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dependency.js","sourceRoot":"","sources":["../../src/conditions/dependency.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glob-evaluator.d.ts","sourceRoot":"","sources":["../../src/core/glob-evaluator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"glob-evaluator.d.ts","sourceRoot":"","sources":["../../src/core/glob-evaluator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAKtD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,CAQ9E;AAQD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,CAY1E;AAED,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAUtD"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import picomatch from 'picomatch';
|
|
2
2
|
import { isGlobNode, isOpaqueGlob } from '@nielspeter/eess/internal';
|
|
3
|
+
import { readsRepoRelativePath } from './project-relative.js';
|
|
3
4
|
import { viewsFor } from '@nielspeter/eess/internal';
|
|
4
5
|
import { syntacticFault } from './glob-diagnosis.js';
|
|
5
6
|
/**
|
|
@@ -62,7 +63,10 @@ function isDeadChild(child, universe) {
|
|
|
62
63
|
export function isDeadSite(site, universe) {
|
|
63
64
|
if ((site.polarity ?? 'positive') === 'negative')
|
|
64
65
|
return false;
|
|
65
|
-
|
|
66
|
+
// Which views the MATCHER gives this glob, not every view the universe holds. A view the
|
|
67
|
+
// matcher does not read makes an unsatisfiable glob look live, and an unreported dead selector
|
|
68
|
+
// is a rule that certifies nothing while passing — see `viewsFor`'s own note.
|
|
69
|
+
const views = viewsFor(universe, site.kind, readsRepoRelativePath(site.glob));
|
|
66
70
|
if (views.length === 0)
|
|
67
71
|
return false;
|
|
68
72
|
if (syntacticFault(site.glob, site.kind, site.base) !== undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glob-evaluator.js","sourceRoot":"","sources":["../../src/core/glob-evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,cAAc,CAAC,IAAc,EAAE,QAAsB;IACnE,OAAO,IAAI,CAAC,EAAE,KAAK,KAAK;QACtB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC7D,CAAC,CAAC,qEAAqE;YACrE,kEAAkE;YAClE,uEAAuE;YACvE,6DAA6D;YAC7D,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;AAC9F,CAAC;AAED,SAAS,WAAW,CAAC,KAAoC,EAAE,QAAsB;IAC/E,IAAI,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC7D,IAAI,YAAY,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACrC,OAAO,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;AACpC,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,UAAU,CAAC,IAAc,EAAE,QAAsB;IAC/D,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,KAAK,UAAU;QAAE,OAAO,KAAK,CAAA;IAC9D,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"glob-evaluator.js","sourceRoot":"","sources":["../../src/core/glob-evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAEpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,cAAc,CAAC,IAAc,EAAE,QAAsB;IACnE,OAAO,IAAI,CAAC,EAAE,KAAK,KAAK;QACtB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC7D,CAAC,CAAC,qEAAqE;YACrE,kEAAkE;YAClE,uEAAuE;YACvE,6DAA6D;YAC7D,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;AAC9F,CAAC;AAED,SAAS,WAAW,CAAC,KAAoC,EAAE,QAAsB;IAC/E,IAAI,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC7D,IAAI,YAAY,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACrC,OAAO,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;AACpC,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,UAAU,CAAC,IAAc,EAAE,QAAsB;IAC/D,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,KAAK,UAAU;QAAE,OAAO,KAAK,CAAA;IAC9D,yFAAyF;IACzF,+FAA+F;IAC/F,8EAA8E;IAC9E,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC7E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACpC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IAC9E,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpC,sEAAsE;IACtE,oEAAoE;IACpE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAC5E,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,WAAW,CAAC,IAAc;IACxC,MAAM,KAAK,GAAe,EAAE,CAAA;IAC5B,MAAM,IAAI,GAAG,CAAC,OAAiB,EAAQ,EAAE;QACvC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrC,IAAI,UAAU,CAAC,KAAK,CAAC;gBAAE,IAAI,CAAC,KAAK,CAAC,CAAA;iBAC7B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClD,CAAC;IACH,CAAC,CAAA;IACD,IAAI,CAAC,IAAI,CAAC,CAAA;IACV,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -48,6 +48,49 @@ export declare function importCandidates(decl: ImportDeclaration): ImportCandida
|
|
|
48
48
|
* from an edge on the other.
|
|
49
49
|
*/
|
|
50
50
|
export declare function candidatesFor(specifier: string, resolvedPath: string | undefined, projectRoot?: string): ImportCandidates;
|
|
51
|
+
/**
|
|
52
|
+
* The matcher an import glob is matched with — `dot: true`, deliberately.
|
|
53
|
+
*
|
|
54
|
+
* ## Why this differs from a project-source glob (bug 0349)
|
|
55
|
+
*
|
|
56
|
+
* picomatch's default `dot: false` stops `**` crossing a path segment that begins
|
|
57
|
+
* with `.`. Under pnpm a package resolves to
|
|
58
|
+
* `node_modules/.pnpm/knex@3/node_modules/knex/…` and under Yarn's cache to
|
|
59
|
+
* `.yarn/cache/knex-npm-3/…`, so `notImportFrom('**\/node_modules/knex/**')` — the
|
|
60
|
+
* spelling for "this package, however it is imported" — matched nothing and
|
|
61
|
+
* reported a **pass**. No dot-directory checkout is involved; the dot segment is
|
|
62
|
+
* the package manager's own layout, inside an ordinary tree.
|
|
63
|
+
*
|
|
64
|
+
* [Bug 0339](../../../../work/bugs/fixed/0339-globs-match-nothing-when-the-project-sits-under-a-dot-directory.md)
|
|
65
|
+
* weighed `{ dot: true }` for path globs generally and **rejected** it, because it
|
|
66
|
+
* would change matching inside the project: `'**\/*.ts'` would begin matching
|
|
67
|
+
* `.nuxt/` or `.next/` content. That rejection stands and is not touched here.
|
|
68
|
+
*
|
|
69
|
+
* **It does not transfer to an import target, for a reason and a measurement.**
|
|
70
|
+
*
|
|
71
|
+
* The reason: an adopter authors their project's paths, so crossing `.storybook/`
|
|
72
|
+
* changes which of *their* files a rule reads — their decision to make. They do
|
|
73
|
+
* not author `node_modules`' layout. A dot segment there is the resolver's
|
|
74
|
+
* implementation detail, and refusing to cross it means the glob cannot name the
|
|
75
|
+
* package it is about.
|
|
76
|
+
*
|
|
77
|
+
* The measurement, which is the stronger half. Today the SAME rule gives different
|
|
78
|
+
* verdicts for the same dependency depending only on how `node_modules` was laid
|
|
79
|
+
* out — `onlyImportFrom('**\/shared/**')` against a dependency's internal
|
|
80
|
+
* `shared/` directory **allows** it under a hoisted npm tree and **reports** it
|
|
81
|
+
* under pnpm. So the current behaviour is not safely strict, it is inconsistent by
|
|
82
|
+
* package manager, which is the same defect 0339 is named for: a verdict that
|
|
83
|
+
* depends on where things sit on disk rather than on the code. `dot: true` makes
|
|
84
|
+
* every layout agree, on what the majority layout already does.
|
|
85
|
+
*
|
|
86
|
+
* **The consequence to state plainly:** an allowlist widens under pnpm and Yarn to
|
|
87
|
+
* match what it always did under npm. A sloppy allowlist glob was always this
|
|
88
|
+
* permissive; those layouts were accidentally hiding it.
|
|
89
|
+
*
|
|
90
|
+
* One definition rather than six call sites, because six copies of a matching rule
|
|
91
|
+
* is how this area has repeatedly drifted.
|
|
92
|
+
*/
|
|
93
|
+
export declare function importTargetMatcher(glob: string): picomatch.Matcher;
|
|
51
94
|
/**
|
|
52
95
|
* The first candidate matching any matcher, or `undefined` if none do.
|
|
53
96
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-candidates.d.ts","sourceRoot":"","sources":["../../src/core/import-candidates.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"import-candidates.d.ts","sourceRoot":"","sources":["../../src/core/import-candidates.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,SAAS,MAAM,WAAW,CAAA;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEjD;;;;GAIG;AACH,KAAK,gBAAgB,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,CAAC,CAAA;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,CAK1E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,WAAW,CAAC,EAAE,MAAM,GACnB,gBAAgB,CAsBlB;AASD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,CAEnE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,gBAAgB,EAC5B,QAAQ,EAAE,SAAS,SAAS,CAAC,OAAO,EAAE,GACrC,MAAM,GAAG,SAAS,CAIpB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import picomatchFactory from 'picomatch';
|
|
1
2
|
/**
|
|
2
3
|
* Every string a glob may legitimately be matched against for one import.
|
|
3
4
|
*
|
|
@@ -74,6 +75,51 @@ function relativeTo(root, absolutePath) {
|
|
|
74
75
|
const prefix = root === '/' ? '/' : `${root}/`;
|
|
75
76
|
return absolutePath.startsWith(prefix) ? absolutePath.slice(prefix.length) : undefined;
|
|
76
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* The matcher an import glob is matched with — `dot: true`, deliberately.
|
|
80
|
+
*
|
|
81
|
+
* ## Why this differs from a project-source glob (bug 0349)
|
|
82
|
+
*
|
|
83
|
+
* picomatch's default `dot: false` stops `**` crossing a path segment that begins
|
|
84
|
+
* with `.`. Under pnpm a package resolves to
|
|
85
|
+
* `node_modules/.pnpm/knex@3/node_modules/knex/…` and under Yarn's cache to
|
|
86
|
+
* `.yarn/cache/knex-npm-3/…`, so `notImportFrom('**\/node_modules/knex/**')` — the
|
|
87
|
+
* spelling for "this package, however it is imported" — matched nothing and
|
|
88
|
+
* reported a **pass**. No dot-directory checkout is involved; the dot segment is
|
|
89
|
+
* the package manager's own layout, inside an ordinary tree.
|
|
90
|
+
*
|
|
91
|
+
* [Bug 0339](../../../../work/bugs/fixed/0339-globs-match-nothing-when-the-project-sits-under-a-dot-directory.md)
|
|
92
|
+
* weighed `{ dot: true }` for path globs generally and **rejected** it, because it
|
|
93
|
+
* would change matching inside the project: `'**\/*.ts'` would begin matching
|
|
94
|
+
* `.nuxt/` or `.next/` content. That rejection stands and is not touched here.
|
|
95
|
+
*
|
|
96
|
+
* **It does not transfer to an import target, for a reason and a measurement.**
|
|
97
|
+
*
|
|
98
|
+
* The reason: an adopter authors their project's paths, so crossing `.storybook/`
|
|
99
|
+
* changes which of *their* files a rule reads — their decision to make. They do
|
|
100
|
+
* not author `node_modules`' layout. A dot segment there is the resolver's
|
|
101
|
+
* implementation detail, and refusing to cross it means the glob cannot name the
|
|
102
|
+
* package it is about.
|
|
103
|
+
*
|
|
104
|
+
* The measurement, which is the stronger half. Today the SAME rule gives different
|
|
105
|
+
* verdicts for the same dependency depending only on how `node_modules` was laid
|
|
106
|
+
* out — `onlyImportFrom('**\/shared/**')` against a dependency's internal
|
|
107
|
+
* `shared/` directory **allows** it under a hoisted npm tree and **reports** it
|
|
108
|
+
* under pnpm. So the current behaviour is not safely strict, it is inconsistent by
|
|
109
|
+
* package manager, which is the same defect 0339 is named for: a verdict that
|
|
110
|
+
* depends on where things sit on disk rather than on the code. `dot: true` makes
|
|
111
|
+
* every layout agree, on what the majority layout already does.
|
|
112
|
+
*
|
|
113
|
+
* **The consequence to state plainly:** an allowlist widens under pnpm and Yarn to
|
|
114
|
+
* match what it always did under npm. A sloppy allowlist glob was always this
|
|
115
|
+
* permissive; those layouts were accidentally hiding it.
|
|
116
|
+
*
|
|
117
|
+
* One definition rather than six call sites, because six copies of a matching rule
|
|
118
|
+
* is how this area has repeatedly drifted.
|
|
119
|
+
*/
|
|
120
|
+
export function importTargetMatcher(glob) {
|
|
121
|
+
return picomatchFactory(glob, { dot: true });
|
|
122
|
+
}
|
|
77
123
|
/**
|
|
78
124
|
* The first candidate matching any matcher, or `undefined` if none do.
|
|
79
125
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-candidates.js","sourceRoot":"","sources":["../../src/core/import-candidates.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"import-candidates.js","sourceRoot":"","sources":["../../src/core/import-candidates.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,WAAW,CAAA;AAWxC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,4JAA4J;AAC5J,MAAM,UAAU,gBAAgB,CAAC,IAAuB;IACtD,OAAO,aAAa,CAClB,IAAI,CAAC,uBAAuB,EAAE,EAC9B,IAAI,CAAC,4BAA4B,EAAE,EAAE,WAAW,EAAE,CACnD,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAC3B,SAAiB,EACjB,YAAgC,EAChC,WAAoB;IAEpB,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAClD,MAAM,UAAU,GAAa,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAC9E,0EAA0E;IAC1E,EAAE;IACF,oEAAoE;IACpE,uDAAuD;IACvD,4EAA4E;IAC5E,2DAA2D;IAC3D,8EAA8E;IAC9E,2EAA2E;IAC3E,8CAA8C;IAC9C,EAAE;IACF,2EAA2E;IAC3E,2EAA2E;IAC3E,+DAA+D;IAC/D,EAAE;IACF,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IACtD,IAAI,QAAQ,KAAK,SAAS;QAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACrD,OAAO,CAAC,YAAY,EAAE,GAAG,UAAU,CAAC,CAAA;AACtC,CAAC;AAED,sFAAsF;AACtF,SAAS,UAAU,CAAC,IAAwB,EAAE,YAAoB;IAChE,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACxC,MAAM,MAAM,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAA;IAC9C,OAAO,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACxF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,gBAAgB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAA4B,EAC5B,QAAsC;IAEtC,4EAA4E;IAC5E,+DAA+D;IAC/D,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AACvF,CAAC;AAED,wEAAwE;AACxE,SAAS,mBAAmB,CAAC,SAAiB;IAC5C,OAAO,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAC/D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-universe.d.ts","sourceRoot":"","sources":["../../src/core/path-universe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"path-universe.d.ts","sourceRoot":"","sources":["../../src/core/path-universe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEpD;;;;;;;;;;GAUG;AACH,YAAY,EAAE,YAAY,EAAE,CAAA;AAI5B;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,CA4B/D"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { repoRootOf } from './project-relative.js';
|
|
1
2
|
const cache = new WeakMap();
|
|
2
3
|
/**
|
|
3
4
|
* The project's path universe, computed once per project.
|
|
@@ -14,11 +15,20 @@ export function pathUniverse(project) {
|
|
|
14
15
|
...new Set(filePaths.map((filePath) => filePath.substring(0, filePath.lastIndexOf('/')))),
|
|
15
16
|
];
|
|
16
17
|
const root = tsconfigDir(project.tsConfigPath);
|
|
18
|
+
// The SAME derivation the runtime matcher uses, from the same function — not a
|
|
19
|
+
// second walk. `viewsFor`'s union decides whether a glob is reported dead, so a
|
|
20
|
+
// view the matcher has and the universe lacks reports a working rule as
|
|
21
|
+
// enforcing nothing, and a view the universe has and the matcher lacks reports
|
|
22
|
+
// nothing at all about a rule that silently selects zero. Bug 0348 is the
|
|
23
|
+
// second shape; bug 0339's own docstring records the first.
|
|
24
|
+
const repoRoot = repoRootOf(project.tsConfigPath);
|
|
17
25
|
const universe = {
|
|
18
26
|
filePaths,
|
|
19
27
|
parentDirs,
|
|
20
28
|
tsconfigRelativeFilePaths: filePaths.map((filePath) => relativeTo(root, filePath)),
|
|
21
29
|
tsconfigRelativeParentDirs: parentDirs.map((dir) => relativeTo(root, dir)),
|
|
30
|
+
repoRelativeFilePaths: repoRoot === undefined ? [] : filePaths.map((p) => relativeTo(repoRoot, p)),
|
|
31
|
+
repoRelativeParentDirs: repoRoot === undefined ? [] : parentDirs.map((d) => relativeTo(repoRoot, d)),
|
|
22
32
|
};
|
|
23
33
|
cache.set(project, universe);
|
|
24
34
|
return universe;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-universe.js","sourceRoot":"","sources":["../../src/core/path-universe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"path-universe.js","sourceRoot":"","sources":["../../src/core/path-universe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAgBlD,MAAM,KAAK,GAAG,IAAI,OAAO,EAA6B,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,OAAoB;IAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACjC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAA;IAEzB,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAA;IACxF,MAAM,UAAU,GAAG;QACjB,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KAC1F,CAAA;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IAC9C,+EAA+E;IAC/E,gFAAgF;IAChF,wEAAwE;IACxE,+EAA+E;IAC/E,0EAA0E;IAC1E,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IACjD,MAAM,QAAQ,GAAiB;QAC7B,SAAS;QACT,UAAU;QACV,yBAAyB,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClF,0BAA0B,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC1E,qBAAqB,EACnB,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC7E,sBAAsB,EACpB,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;KAC/E,CAAA;IACD,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC5B,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,6FAA6F;AAC7F,SAAS,WAAW,CAAC,YAAoB;IACvC,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACrD,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IAC7C,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;AAC/D,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,IAAY,EAAE,QAAgB;IAChD,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAA;IAChC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAA;IACrD,OAAO,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;AAC/E,CAAC"}
|
|
@@ -1,45 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Make a project-relative glob work, instead of failing loudly — plan 0067 C.
|
|
3
|
-
*
|
|
4
|
-
* Globs are matched against **absolute** file paths, so `'src/domain/**'`
|
|
5
|
-
* matches nothing. That is the single commonest real mistake with this library:
|
|
6
|
-
* it is the shape 0.18.1 was released for, and as of **0.34.0** it is a hard
|
|
7
|
-
* build failure telling the author to prefix `'**\/'`.
|
|
8
|
-
*
|
|
9
|
-
* Prefixing works but says something different. `'**\/src/domain/**'` matches a
|
|
10
|
-
* `src/domain` **anywhere** — including `vendor/thing/src/domain`, and
|
|
11
|
-
* including a second `src/` nested inside a monorepo package. What the author
|
|
12
|
-
* meant was the one at the project root. 0067 called normalization "the root
|
|
13
|
-
* cause" fix for that reason, and 0069 sequenced it directly after R3b.
|
|
14
|
-
*
|
|
15
|
-
* So an unanchored glob is matched against the path **relative to the
|
|
16
|
-
* tsconfig's directory**, in addition to the absolute path. Both spellings keep
|
|
17
|
-
* working and they mean different things:
|
|
18
|
-
*
|
|
19
|
-
* | glob | matches |
|
|
20
|
-
* | --------------------- | ------------------------------------------- |
|
|
21
|
-
* | `'src/domain/**'` | that folder **at the project root** |
|
|
22
|
-
* | `'**\/src/domain/**'` | a `src/domain` **anywhere** in the project |
|
|
23
|
-
* | `'/abs/src/domain/**'`| exactly that absolute path |
|
|
24
|
-
*
|
|
25
|
-
* ## Why the root comes from the element, not from the builder
|
|
26
|
-
*
|
|
27
|
-
* A predicate is constructed two ways that must not diverge:
|
|
28
|
-
* `.that().resideInFolder(g)`, where the builder knows the project, and
|
|
29
|
-
* `.that().satisfy(resideInFolder(g))`, where nothing does.
|
|
30
|
-
* `tests/core/glob-declaration.test.ts` exists to assert the two spellings
|
|
31
|
-
* agree, and threading the root through only the first would break that.
|
|
32
|
-
*
|
|
33
|
-
* Every `Located` element can reach its own `SourceFile`, and ts-morph carries
|
|
34
|
-
* the tsconfig it was loaded from on the project's compiler options. So the
|
|
35
|
-
* root is derived where the match happens, from the element itself, and both
|
|
36
|
-
* spellings get it for free.
|
|
37
|
-
*
|
|
38
|
-
* `configFilePath` is `undefined` for a project built in memory or without a
|
|
39
|
-
* tsconfig. That is a genuine "no root known" and normalization is skipped —
|
|
40
|
-
* the glob keeps its absolute-only meaning rather than being matched against
|
|
41
|
-
* something invented.
|
|
42
|
-
*/
|
|
43
1
|
import picomatch from 'picomatch';
|
|
44
2
|
import type { Project as TsMorphProject, SourceFile } from 'ts-morph';
|
|
45
3
|
/**
|
|
@@ -96,6 +54,62 @@ export declare function rootOf(sourceFile: SourceFile, fallbackTsConfigPath?: st
|
|
|
96
54
|
* `path-universe.ts` documents avoiding for the same reason.
|
|
97
55
|
*/
|
|
98
56
|
export declare function relativeToRoot(sourceFile: SourceFile, absolutePath: string, fallbackTsConfigPath?: string): string | undefined;
|
|
57
|
+
/**
|
|
58
|
+
* The identity root for a project, from the path of its tsconfig.
|
|
59
|
+
*
|
|
60
|
+
* For the materializer in `path-universe.ts`, which holds the `ArchProject` and
|
|
61
|
+
* no `SourceFile`. It must agree with `matchesPath`'s view or the diagnosis and
|
|
62
|
+
* the runtime disagree about one glob — so both derive it here.
|
|
63
|
+
*/
|
|
64
|
+
export declare function repoRootOf(tsConfigPath: string): string | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* `absolutePath` named from the identity root — the `.git`/workspace root above
|
|
67
|
+
* the tsconfig — or `undefined` when there is no such root or the path sits
|
|
68
|
+
* outside it.
|
|
69
|
+
*
|
|
70
|
+
* This is the view a monorepo's own addressing needs: `'**\/apps/api/src/**'`
|
|
71
|
+
* names segments BETWEEN the repository root and the tsconfig directory, so the
|
|
72
|
+
* tsconfig-relative view has stripped off the very thing it names.
|
|
73
|
+
*/
|
|
74
|
+
export declare function relativeToRepoRoot(sourceFile: SourceFile, absolutePath: string, fallbackTsConfigPath?: string): string | undefined;
|
|
75
|
+
/**
|
|
76
|
+
* Is this glob matched against the path named from the identity root, as well as
|
|
77
|
+
* the two views above?
|
|
78
|
+
*
|
|
79
|
+
* ## Globstar-led only, and that is the whole ruling — bug 0348
|
|
80
|
+
*
|
|
81
|
+
* `'**\/x'` says **anywhere**. The only reason it fails to match a file under a
|
|
82
|
+
* checkout like `~/.worktrees/repo` is picomatch's default `dot: false` applied
|
|
83
|
+
* to a prefix the author does not own — where the repository happens to sit on
|
|
84
|
+
* this machine. Naming the path from the repository root removes exactly that
|
|
85
|
+
* prefix and nothing else, so the glob gets to mean what it says. It is the same
|
|
86
|
+
* authorship argument [bug 0349](../../../../work/bugs/fixed/0349-a-path-shaped-dependency-ban-passes-silently-under-pnpm-and-yarn.md)
|
|
87
|
+
* makes for a package manager's layout: a verdict must not be decided by where
|
|
88
|
+
* things sit on disk.
|
|
89
|
+
*
|
|
90
|
+
* A **project-relative** glob (`'src/**'`) is deliberately excluded, and this is
|
|
91
|
+
* the exclusion that keeps the fix from being a widening. That spelling MEANS
|
|
92
|
+
* "relative to the project root", and `core/project-relative.ts`'s first job is
|
|
93
|
+
* that the project root is the tsconfig's directory. Offering it an identity-root
|
|
94
|
+
* view would make one spelling name two different directories in a monorepo —
|
|
95
|
+
* `packages/api/src/` and the repository's own `src/` — which is a second meaning
|
|
96
|
+
* for one glob with no bug behind it. Pinned by `a-glob-above-the-tsconfig-root.test.ts`
|
|
97
|
+
* · `it('CONTROL: a glob relative to the package root keeps meaning the package root')`.
|
|
98
|
+
*
|
|
99
|
+
* Project-relative globs need nothing here anyway: their second view is already
|
|
100
|
+
* free of the checkout path, which is why bug 0339 fixed them and left this.
|
|
101
|
+
*
|
|
102
|
+
* ## Why this adds no matches except the broken ones
|
|
103
|
+
*
|
|
104
|
+
* The identity-relative path is a SUFFIX of the absolute path. For a glob led by
|
|
105
|
+
* `'**\/'`, if it matches the suffix it also matches the whole — unless some
|
|
106
|
+
* segment of the stripped prefix begins with `.`, which is precisely the defect.
|
|
107
|
+
* So under a checkout with no dot-segment the third view selects nothing the
|
|
108
|
+
* first did not. Measured rather than argued: `it('adds no match under a
|
|
109
|
+
* checkout with no dot-segment')` compares every file in a fixture with the view
|
|
110
|
+
* on and off.
|
|
111
|
+
*/
|
|
112
|
+
export declare function readsRepoRelativePath(glob: string): boolean;
|
|
99
113
|
/**
|
|
100
114
|
* Is this glob matched against the path named from the project root, as well as
|
|
101
115
|
* the absolute path?
|
|
@@ -163,6 +177,7 @@ export interface PathGlobMatcher {
|
|
|
163
177
|
readonly glob: string;
|
|
164
178
|
readonly isMatch: picomatch.Matcher;
|
|
165
179
|
readonly readsRootRelative: boolean;
|
|
180
|
+
readonly readsRepoRelative: boolean;
|
|
166
181
|
}
|
|
167
182
|
/** Compile one path glob. */
|
|
168
183
|
export declare function pathGlobMatcher(glob: string): PathGlobMatcher;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-relative.d.ts","sourceRoot":"","sources":["../../src/core/project-relative.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"project-relative.d.ts","sourceRoot":"","sources":["../../src/core/project-relative.ts"],"names":[],"mappings":"AAqDA,OAAO,SAAS,MAAM,WAAW,CAAA;AAEjC,OAAO,KAAK,EAAE,OAAO,IAAI,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErE;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD;AA4BD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAgCvD;AA+BD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,SAAS,MAAM,EAAE,GAC/B,IAAI,CAKN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAY7E;AAOD,wBAAgB,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAqChG;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,MAAM,EACpB,oBAAoB,CAAC,EAAE,MAAM,GAC5B,MAAM,GAAG,SAAS,CAKpB;AAwCD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEnE;AAED;;;;;;;;GAQG;AAEH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,MAAM,EACpB,oBAAoB,CAAC,EAAE,MAAM,GAC5B,MAAM,GAAG,SAAS,CAKpB;AAqCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAY3D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG3D;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAA;IACnC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;CACpC;AAED,6BAA6B;AAC7B,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAO7D;AAED,4CAA4C;AAC5C,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,eAAe,EAAE,CAE5E;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,MAAM,EACpB,oBAAoB,CAAC,EAAE,MAAM,GAC5B,OAAO,CAeT;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,SAAS,eAAe,EAAE,EACpC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,MAAM,EACpB,oBAAoB,CAAC,EAAE,MAAM,GAC5B,OAAO,CAIT"}
|
|
@@ -22,6 +22,16 @@
|
|
|
22
22
|
* | `'**\/src/domain/**'` | a `src/domain` **anywhere** in the project |
|
|
23
23
|
* | `'/abs/src/domain/**'`| exactly that absolute path |
|
|
24
24
|
*
|
|
25
|
+
* ## Three views since bug 0348, not two
|
|
26
|
+
*
|
|
27
|
+
* A `'**\/'`-led glob gets a THIRD naming: the path from the **repository root**
|
|
28
|
+
* (`discoverIdentityRoot`'s `.git`/workspace root). Without it, `'**\/apps/api/src/**'`
|
|
29
|
+
* — how a monorepo addresses its own packages — can be named by neither of the two
|
|
30
|
+
* above: the absolute path carries the checkout's own location, and the
|
|
31
|
+
* tsconfig-relative path has `apps/api/` stripped off the front. A project-relative
|
|
32
|
+
* glob does NOT get it, deliberately; `readsRepoRelativePath` below owns that rule
|
|
33
|
+
* and states why.
|
|
34
|
+
*
|
|
25
35
|
* ## Why the root comes from the element, not from the builder
|
|
26
36
|
*
|
|
27
37
|
* A predicate is constructed two ways that must not diverge:
|
|
@@ -40,7 +50,9 @@
|
|
|
40
50
|
* the glob keeps its absolute-only meaning rather than being matched against
|
|
41
51
|
* something invented.
|
|
42
52
|
*/
|
|
53
|
+
import path from 'node:path';
|
|
43
54
|
import picomatch from 'picomatch';
|
|
55
|
+
import { discoverIdentityRoot, registerCacheReset } from '@nielspeter/eess/internal';
|
|
44
56
|
/**
|
|
45
57
|
* Whether a glob can already match an absolute path, so the `**\/` hint would
|
|
46
58
|
* be a no-op (or worse). Covers POSIX-absolute and Windows drive-absolute
|
|
@@ -249,6 +261,154 @@ export function relativeToRoot(sourceFile, absolutePath, fallbackTsConfigPath) {
|
|
|
249
261
|
const prefix = prefixOf(root);
|
|
250
262
|
return absolutePath.startsWith(prefix) ? absolutePath.slice(prefix.length) : undefined;
|
|
251
263
|
}
|
|
264
|
+
/**
|
|
265
|
+
* The identity root above a tsconfig directory, memoized.
|
|
266
|
+
*
|
|
267
|
+
* `discoverIdentityRoot` walks the filesystem with `existsSync`, and this sits
|
|
268
|
+
* on the per-element match path, so it is cached by the directory asked about.
|
|
269
|
+
* The cache is keyed by an absolute directory and holds at most one entry per
|
|
270
|
+
* loaded project, so it is bounded by the rule file rather than by the corpus.
|
|
271
|
+
*
|
|
272
|
+
* The guard is on the INPUT, exactly as `disk-set.ts` does it and for the same
|
|
273
|
+
* reason: `discoverIdentityRoot` calls `path.resolve`, so a relative input —
|
|
274
|
+
* this suite's `'in-memory'` double, an `ArchProject` a user constructed by hand
|
|
275
|
+
* — would walk up from the current working directory and answer with THIS
|
|
276
|
+
* repository's root. That is a plausible-looking wrong answer rather than a
|
|
277
|
+
* missing one, which is the shape ADR-009 rule 2 forbids.
|
|
278
|
+
*/
|
|
279
|
+
const repoRootCache = new Map();
|
|
280
|
+
// Every other module-level cache in this dialect registers (`element-cache.ts`,
|
|
281
|
+
// `module-edges.ts`, `line-index.ts`, `descendant-cache.ts`), and
|
|
282
|
+
// `clearRegisteredCaches()` promises a consumer holding an `ArchProject` they built
|
|
283
|
+
// that a mutation is survivable. This cache is keyed by a STRING, so unlike
|
|
284
|
+
// `disk-set.ts`'s `WeakMap<ArchProject, …>` it outlives every project: in a watch
|
|
285
|
+
// run or an editor session a `git init`, a worktree move or a new
|
|
286
|
+
// `pnpm-workspace.yaml` would otherwise leave the matcher on the old root while
|
|
287
|
+
// `disk-set` walked the new one — the two-derivations disagreement again.
|
|
288
|
+
registerCacheReset(() => {
|
|
289
|
+
repoRootCache.clear();
|
|
290
|
+
});
|
|
291
|
+
function repoRootOfDir(dir) {
|
|
292
|
+
if (dir === undefined)
|
|
293
|
+
return undefined;
|
|
294
|
+
if (repoRootCache.has(dir))
|
|
295
|
+
return repoRootCache.get(dir);
|
|
296
|
+
const discovered = path.isAbsolute(dir)
|
|
297
|
+
? discoverIdentityRoot(dir).replaceAll('\\', '/')
|
|
298
|
+
: undefined;
|
|
299
|
+
repoRootCache.set(dir, discovered);
|
|
300
|
+
return discovered;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* The identity root for a project, from the path of its tsconfig.
|
|
304
|
+
*
|
|
305
|
+
* For the materializer in `path-universe.ts`, which holds the `ArchProject` and
|
|
306
|
+
* no `SourceFile`. It must agree with `matchesPath`'s view or the diagnosis and
|
|
307
|
+
* the runtime disagree about one glob — so both derive it here.
|
|
308
|
+
*/
|
|
309
|
+
export function repoRootOf(tsConfigPath) {
|
|
310
|
+
return repoRootOfDir(rootFromTsConfigPath(tsConfigPath));
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* `absolutePath` named from the identity root — the `.git`/workspace root above
|
|
314
|
+
* the tsconfig — or `undefined` when there is no such root or the path sits
|
|
315
|
+
* outside it.
|
|
316
|
+
*
|
|
317
|
+
* This is the view a monorepo's own addressing needs: `'**\/apps/api/src/**'`
|
|
318
|
+
* names segments BETWEEN the repository root and the tsconfig directory, so the
|
|
319
|
+
* tsconfig-relative view has stripped off the very thing it names.
|
|
320
|
+
*/
|
|
321
|
+
// eess-exclude eess/no-unused-exports: consumed by the test suite; the build tsconfig this gate reads excludes tests, so `src` is the only usage it can see
|
|
322
|
+
export function relativeToRepoRoot(sourceFile, absolutePath, fallbackTsConfigPath) {
|
|
323
|
+
const repoRoot = repoRootOfDir(projectTsConfigRoot(sourceFile, fallbackTsConfigPath));
|
|
324
|
+
if (repoRoot === undefined)
|
|
325
|
+
return undefined;
|
|
326
|
+
const prefix = prefixOf(repoRoot);
|
|
327
|
+
return absolutePath.startsWith(prefix) ? absolutePath.slice(prefix.length) : undefined;
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* The directory of the tsconfig the PROJECT was built from — not `rootOf`, which
|
|
331
|
+
* answers with the registered package root containing this file.
|
|
332
|
+
*
|
|
333
|
+
* The difference is the whole of review finding 0348/customer-1, and it is not a
|
|
334
|
+
* shortcut. `rootOf` fails CLOSED for a file outside every registered root — a
|
|
335
|
+
* shared root-level `.d.ts`, or anything ts-morph pulls in across a package
|
|
336
|
+
* boundary — because naming such a file from the wrong PACKAGE is a specific,
|
|
337
|
+
* plausible-looking wrong answer. That reasoning does not transfer to the
|
|
338
|
+
* identity root: it is the repository's, not the package's, so every file inside
|
|
339
|
+
* the repository can be named from it whichever package owns it. Deriving it via
|
|
340
|
+
* `rootOf` inherited the fail-closed exit and left the cross-package case exactly
|
|
341
|
+
* as broken as this bug reports. Measured through the real `project()` API before
|
|
342
|
+
* this function existed:
|
|
343
|
+
*
|
|
344
|
+
* | glob | under a dot-directory | beside one |
|
|
345
|
+
* | --------------------- | --------------------- | ------------------- |
|
|
346
|
+
* | `'**\/apps/api/src/**'` | `thing.ts` | `thing.ts` |
|
|
347
|
+
* | `'**\/apps/identity/**'` | **nothing** | `jwt.service.ts` |
|
|
348
|
+
*
|
|
349
|
+
* It is also what makes `path-universe.ts`'s claim true rather than aspirational:
|
|
350
|
+
* the materializer derives the identity root from `project.tsConfigPath`, and
|
|
351
|
+
* `workspace()` sets both that and the ts-morph project's own `configFilePath` to
|
|
352
|
+
* the primary config, so the two now read the same input and cannot disagree
|
|
353
|
+
* about one glob.
|
|
354
|
+
*/
|
|
355
|
+
function projectTsConfigRoot(sourceFile, fallbackTsConfigPath) {
|
|
356
|
+
if (fallbackTsConfigPath !== undefined)
|
|
357
|
+
return rootFromTsConfigPath(fallbackTsConfigPath);
|
|
358
|
+
const configFilePath = sourceFile.getProject().getCompilerOptions().configFilePath;
|
|
359
|
+
return typeof configFilePath === 'string' ? rootFromTsConfigPath(configFilePath) : undefined;
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Is this glob matched against the path named from the identity root, as well as
|
|
363
|
+
* the two views above?
|
|
364
|
+
*
|
|
365
|
+
* ## Globstar-led only, and that is the whole ruling — bug 0348
|
|
366
|
+
*
|
|
367
|
+
* `'**\/x'` says **anywhere**. The only reason it fails to match a file under a
|
|
368
|
+
* checkout like `~/.worktrees/repo` is picomatch's default `dot: false` applied
|
|
369
|
+
* to a prefix the author does not own — where the repository happens to sit on
|
|
370
|
+
* this machine. Naming the path from the repository root removes exactly that
|
|
371
|
+
* prefix and nothing else, so the glob gets to mean what it says. It is the same
|
|
372
|
+
* authorship argument [bug 0349](../../../../work/bugs/fixed/0349-a-path-shaped-dependency-ban-passes-silently-under-pnpm-and-yarn.md)
|
|
373
|
+
* makes for a package manager's layout: a verdict must not be decided by where
|
|
374
|
+
* things sit on disk.
|
|
375
|
+
*
|
|
376
|
+
* A **project-relative** glob (`'src/**'`) is deliberately excluded, and this is
|
|
377
|
+
* the exclusion that keeps the fix from being a widening. That spelling MEANS
|
|
378
|
+
* "relative to the project root", and `core/project-relative.ts`'s first job is
|
|
379
|
+
* that the project root is the tsconfig's directory. Offering it an identity-root
|
|
380
|
+
* view would make one spelling name two different directories in a monorepo —
|
|
381
|
+
* `packages/api/src/` and the repository's own `src/` — which is a second meaning
|
|
382
|
+
* for one glob with no bug behind it. Pinned by `a-glob-above-the-tsconfig-root.test.ts`
|
|
383
|
+
* · `it('CONTROL: a glob relative to the package root keeps meaning the package root')`.
|
|
384
|
+
*
|
|
385
|
+
* Project-relative globs need nothing here anyway: their second view is already
|
|
386
|
+
* free of the checkout path, which is why bug 0339 fixed them and left this.
|
|
387
|
+
*
|
|
388
|
+
* ## Why this adds no matches except the broken ones
|
|
389
|
+
*
|
|
390
|
+
* The identity-relative path is a SUFFIX of the absolute path. For a glob led by
|
|
391
|
+
* `'**\/'`, if it matches the suffix it also matches the whole — unless some
|
|
392
|
+
* segment of the stripped prefix begins with `.`, which is precisely the defect.
|
|
393
|
+
* So under a checkout with no dot-segment the third view selects nothing the
|
|
394
|
+
* first did not. Measured rather than argued: `it('adds no match under a
|
|
395
|
+
* checkout with no dot-segment')` compares every file in a fixture with the view
|
|
396
|
+
* on and off.
|
|
397
|
+
*/
|
|
398
|
+
export function readsRepoRelativePath(glob) {
|
|
399
|
+
// Defence in depth, and NOT independently observable — stated the way
|
|
400
|
+
// `registerProjectRoots` states the same thing, so the next reader does not go
|
|
401
|
+
// hunting for a test. `isGlobstarLed` already excludes a leading `./` or `../`
|
|
402
|
+
// (neither is `'**\/'`-led), and a mid-glob `/./` or `/../` is a literal segment
|
|
403
|
+
// picomatch matches against nothing in any view. Measured in review over
|
|
404
|
+
// `'**\/./apps/api/src/**'`, `'**\/../identity/src/**'` and `'**\/apps/./api/src/**'`:
|
|
405
|
+
// dropping this line changes `readsRepoRelative` from false to true and changes
|
|
406
|
+
// no verdict. It is kept because the two gates in this file must agree about what
|
|
407
|
+
// a relative segment is, not because it is reachable today.
|
|
408
|
+
if (hasRelativeSegment(glob))
|
|
409
|
+
return false;
|
|
410
|
+
return isGlobstarLed(glob);
|
|
411
|
+
}
|
|
252
412
|
/**
|
|
253
413
|
* Is this glob matched against the path named from the project root, as well as
|
|
254
414
|
* the absolute path?
|
|
@@ -309,7 +469,12 @@ export function readsRootRelativePath(glob) {
|
|
|
309
469
|
}
|
|
310
470
|
/** Compile one path glob. */
|
|
311
471
|
export function pathGlobMatcher(glob) {
|
|
312
|
-
return {
|
|
472
|
+
return {
|
|
473
|
+
glob,
|
|
474
|
+
isMatch: picomatch(glob),
|
|
475
|
+
readsRootRelative: readsRootRelativePath(glob),
|
|
476
|
+
readsRepoRelative: readsRepoRelativePath(glob),
|
|
477
|
+
};
|
|
313
478
|
}
|
|
314
479
|
/** Compile several path globs, in order. */
|
|
315
480
|
export function pathGlobMatchers(globs) {
|
|
@@ -342,10 +507,21 @@ export function pathGlobMatchers(globs) {
|
|
|
342
507
|
export function matchesPath(matcher, sourceFile, absolutePath, fallbackTsConfigPath) {
|
|
343
508
|
if (matcher.isMatch(absolutePath))
|
|
344
509
|
return true;
|
|
345
|
-
if (
|
|
510
|
+
if (matcher.readsRootRelative) {
|
|
511
|
+
const fromRoot = relativeToRoot(sourceFile, absolutePath, fallbackTsConfigPath);
|
|
512
|
+
if (fromRoot !== undefined && matcher.isMatch(fromRoot))
|
|
513
|
+
return true;
|
|
514
|
+
}
|
|
515
|
+
// The third view, and the last one — bug 0348. The ORDER here is not a semantic:
|
|
516
|
+
// this is a boolean disjunction, so trying the repo root first would give the same
|
|
517
|
+
// answer, and review confirmed a row that reorders the branches reds nothing. What
|
|
518
|
+
// narrows the third view is `readsRepoRelativePath` alone — only a glob that says
|
|
519
|
+
// "anywhere" reaches this line, because a glob naming a location relative to the
|
|
520
|
+
// project must be decided by the project.
|
|
521
|
+
if (!matcher.readsRepoRelative)
|
|
346
522
|
return false;
|
|
347
|
-
const
|
|
348
|
-
return
|
|
523
|
+
const fromIdentityRoot = relativeToRepoRoot(sourceFile, absolutePath, fallbackTsConfigPath);
|
|
524
|
+
return fromIdentityRoot !== undefined && matcher.isMatch(fromIdentityRoot);
|
|
349
525
|
}
|
|
350
526
|
/**
|
|
351
527
|
* Does ANY of these globs match this path?
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-relative.js","sourceRoot":"","sources":["../../src/core/project-relative.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"project-relative.js","sourceRoot":"","sources":["../../src/core/project-relative.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,8 +28,10 @@ export declare function haveNameStartingWith<T extends Named>(prefix: string): P
|
|
|
28
28
|
export declare function haveNameEndingWith<T extends Named>(suffix: string): Predicate<T>;
|
|
29
29
|
/**
|
|
30
30
|
* Matches elements that reside in a file matching the given glob.
|
|
31
|
-
* The glob is matched against the absolute file path
|
|
32
|
-
*
|
|
31
|
+
* The glob is matched against the absolute file path, the path named from the
|
|
32
|
+
* project root (bug 0339) and — for a `'**\/'`-led glob only — the path named from
|
|
33
|
+
* the repository root (bug 0348). See `core/project-relative.ts`, which owns which
|
|
34
|
+
* spelling gets which.
|
|
33
35
|
*
|
|
34
36
|
* @example
|
|
35
37
|
* resideInFile('** /routes.ts') // matches /abs/path/src/routes.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/predicates/identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAIjD,iGAAiG;AACjG,MAAM,WAAW,KAAK;IACpB,OAAO,IAAI,MAAM,GAAG,SAAS,CAAA;CAC9B;AAED,yDAAyD;AACzD,MAAM,WAAW,OAAO;IACtB,aAAa,IAAI,UAAU,CAAA;CAC5B;AAED,qGAAqG;AACrG,MAAM,WAAW,UAAU;IACzB,UAAU,IAAI,OAAO,CAAA;CACtB;AAID;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CASxF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAQlF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAQhF;AAID
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/predicates/identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAIjD,iGAAiG;AACjG,MAAM,WAAW,KAAK;IACpB,OAAO,IAAI,MAAM,GAAG,SAAS,CAAA;CAC9B;AAED,yDAAyD;AACzD,MAAM,WAAW,OAAO;IACtB,aAAa,IAAI,UAAU,CAAA;CAC5B;AAED,qGAAqG;AACrG,MAAM,WAAW,UAAU;IACzB,UAAU,IAAI,OAAO,CAAA;CACtB;AAID;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CASxF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAQlF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAQhF;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CA4B1E;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAyB5E;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAWpE;AAID;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,CAKhE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,CAKnE"}
|
|
@@ -43,8 +43,10 @@ export function haveNameEndingWith(suffix) {
|
|
|
43
43
|
// --- File & Folder predicates ---
|
|
44
44
|
/**
|
|
45
45
|
* Matches elements that reside in a file matching the given glob.
|
|
46
|
-
* The glob is matched against the absolute file path
|
|
47
|
-
*
|
|
46
|
+
* The glob is matched against the absolute file path, the path named from the
|
|
47
|
+
* project root (bug 0339) and — for a `'**\/'`-led glob only — the path named from
|
|
48
|
+
* the repository root (bug 0348). See `core/project-relative.ts`, which owns which
|
|
49
|
+
* spelling gets which.
|
|
48
50
|
*
|
|
49
51
|
* @example
|
|
50
52
|
* resideInFile('** /routes.ts') // matches /abs/path/src/routes.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/predicates/identity.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAiB7F,0BAA0B;AAE1B;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAkB,OAAwB;IACxE,MAAM,KAAK,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IACzE,OAAO;QACL,WAAW,EAAE,sBAAsB,MAAM,CAAC,KAAK,CAAC,EAAE;QAClD,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;YAChB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;YAC9B,OAAO,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/C,CAAC;KACF,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAkB,MAAc;IAClE,OAAO;QACL,WAAW,EAAE,4BAA4B,MAAM,GAAG;QAClD,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;YAChB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;YAC9B,OAAO,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAA;QAC1C,CAAC;KACF,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAkB,MAAc;IAChE,OAAO;QACL,WAAW,EAAE,0BAA0B,MAAM,GAAG;QAChD,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;YAChB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;YAC9B,OAAO,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAA;QACxC,CAAC;KACF,CAAA;AACH,CAAC;AAED,mCAAmC;AAEnC
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/predicates/identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/predicates/module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/predicates/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAsD9D;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;AAC1F,wBAAgB,UAAU,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;AAarE;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;AAC7F,wBAAgB,aAAa,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;AAkBxE;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAKrE"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import picomatch from 'picomatch';
|
|
2
1
|
import { globAnyOf } from '@nielspeter/eess';
|
|
3
2
|
import { splitGlobArgs } from '../core/import-options.js';
|
|
4
|
-
import { candidatesFor } from '../core/import-candidates.js';
|
|
3
|
+
import { candidatesFor, importTargetMatcher } from '../core/import-candidates.js';
|
|
5
4
|
import { edgesOf, FORWARD_EDGE_KINDS } from '../core/module-edges.js';
|
|
6
5
|
import { rootOf } from '../core/project-relative.js';
|
|
7
6
|
/**
|
|
@@ -53,7 +52,7 @@ function importCandidatePaths(sourceFile, ignoreTypeImports = false) {
|
|
|
53
52
|
export function importFrom(...args) {
|
|
54
53
|
const { globs, options } = splitGlobArgs(args);
|
|
55
54
|
const ignoreType = options?.ignoreTypeImports === true;
|
|
56
|
-
const matchers = globs.map((g) =>
|
|
55
|
+
const matchers = globs.map((g) => importTargetMatcher(g));
|
|
57
56
|
return {
|
|
58
57
|
globs: globAnyOf(globs, 'import-target'),
|
|
59
58
|
description: 'import from ' + globs.map((g) => `"${g}"`).join(', '),
|
|
@@ -63,7 +62,7 @@ export function importFrom(...args) {
|
|
|
63
62
|
export function notImportFrom(...args) {
|
|
64
63
|
const { globs, options } = splitGlobArgs(args);
|
|
65
64
|
const ignoreType = options?.ignoreTypeImports === true;
|
|
66
|
-
const matchers = globs.map((g) =>
|
|
65
|
+
const matchers = globs.map((g) => importTargetMatcher(g));
|
|
67
66
|
return {
|
|
68
67
|
// `import-target` is never checked against the path universe: an installed
|
|
69
68
|
// package resolves into node_modules, which is outside the project by
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/predicates/module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/predicates/module.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nielspeter/eess-ts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "Architecture testing for TypeScript — the TS dialect of the eess family (formerly ts-archunit)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
}
|
|
116
116
|
},
|
|
117
117
|
"dependencies": {
|
|
118
|
-
"@nielspeter/eess": "^0.
|
|
118
|
+
"@nielspeter/eess": "^0.6.0",
|
|
119
119
|
"jiti": "^2.6.1",
|
|
120
120
|
"picomatch": "^4.0.4",
|
|
121
121
|
"ts-morph": "^27.0.2"
|