@ttsc/unplugin 0.19.2 → 0.20.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/README.md +2 -0
- package/lib/core/transform.d.ts +29 -13
- package/lib/core/transform.js +194 -33
- package/lib/core/transform.js.map +1 -1
- package/lib/core/transform.mjs +194 -34
- package/lib/core/transform.mjs.map +1 -1
- package/lib/core/tsconfigPaths.js +20 -12
- package/lib/core/tsconfigPaths.js.map +1 -1
- package/lib/core/tsconfigPaths.mjs +20 -12
- package/lib/core/tsconfigPaths.mjs.map +1 -1
- package/package.json +3 -3
- package/src/core/transform.ts +246 -46
- package/src/core/tsconfigPaths.ts +20 -12
package/README.md
CHANGED
|
@@ -304,6 +304,8 @@ const options: TtscUnpluginOptions = {
|
|
|
304
304
|
|
|
305
305
|
### Cache and Watch Invalidation
|
|
306
306
|
|
|
307
|
+
The transform graph also records module-resolution candidates that would outrank a selected target. The adapter registers candidates for importers in the transformed file's reachability closure, so creating or changing a higher-priority probe invalidates watch and persistent caches without an importer or tsconfig edit.
|
|
308
|
+
|
|
307
309
|
The transform host reports the program's reference graph (the transform envelope's `graph` section: per-file direct resolved references with type-only edges included, global-scope files, and the tsconfig `extends` chain — see the [plugin protocol](https://ttsc.dev/docs/development/concepts/protocol#transform)). Per transformed file, the adapter registers the graph's reachability closure, the globals, and the configs with the bundler via `addWatchFile`, so editing a type that only a generated validator depends on invalidates the module — in watch mode, in webpack's filesystem cache, and in Turbopack's `fileDependencies` — even though the bundler erased the type-only import from its own graph.
|
|
308
310
|
|
|
309
311
|
Transform plugins may additionally report, per file, the source files they consulted (the envelope's `dependencies` field); the adapter registers those as watch files too, union semantics. A plugin that declares such a list [complete](https://ttsc.dev/docs/development/concepts/protocol#dependency-completeness) for a file narrows the registration instead: only its own list plus the tsconfig chain, so files the transform never consulted stop invalidating it. Files a plugin declares `volatile` (output depending on non-file inputs such as environment or time) bypass the adapter's transform cache and are marked uncacheable where the bundler exposes that control.
|
package/lib/core/transform.d.ts
CHANGED
|
@@ -34,7 +34,7 @@ export interface TtscTransformAlias {
|
|
|
34
34
|
export interface TtscCachedProjectTransform {
|
|
35
35
|
/**
|
|
36
36
|
* SHA-256 hash of every input the compiler reported outside the project walk
|
|
37
|
-
* (keyed by
|
|
37
|
+
* (keyed by filesystem identity), captured at the time of the transform.
|
|
38
38
|
*
|
|
39
39
|
* The project walk cannot see files outside the project root or under ignored
|
|
40
40
|
* directories (`node_modules` declarations, monorepo sibling sources,
|
|
@@ -46,6 +46,12 @@ export interface TtscCachedProjectTransform {
|
|
|
46
46
|
* `buildStart` and never replay across edits.
|
|
47
47
|
*/
|
|
48
48
|
externalInputHashes?: Record<string, string>;
|
|
49
|
+
/**
|
|
50
|
+
* Original absolute spellings of {@link externalInputHashes} inputs. These
|
|
51
|
+
* stay separate from their identity keys so validation reads the paths the
|
|
52
|
+
* compiler reported rather than a normalized replacement spelling.
|
|
53
|
+
*/
|
|
54
|
+
externalInputPaths?: string[];
|
|
49
55
|
/**
|
|
50
56
|
* SHA-256 hash of each project-relative input path at the time of the
|
|
51
57
|
* transform.
|
|
@@ -76,20 +82,22 @@ export type TtscTransformCache = Map<string, Promise<TtscCachedProjectTransform>
|
|
|
76
82
|
export declare function createTtscTransformCache(): TtscTransformCache;
|
|
77
83
|
/**
|
|
78
84
|
* Hooks the bundler adapter passes into {@link transformTtsc} so transform
|
|
79
|
-
* side-channels (
|
|
80
|
-
* bundler without leaking extra fields on the returned
|
|
85
|
+
* side-channels (plugin-reported dependencies and host resolution candidates)
|
|
86
|
+
* reach the bundler without leaking extra fields on the returned
|
|
87
|
+
* `TransformResult`.
|
|
81
88
|
*/
|
|
82
89
|
export interface TtscTransformHooks {
|
|
83
90
|
/**
|
|
84
91
|
* Invoked once per absolute watch-input path derived for the transformed file
|
|
85
92
|
* `F`: the plugin-reported `dependencies[F]` list unioned with the host-owned
|
|
86
93
|
* reference graph's contribution — the reachability closure of `graph.edges`
|
|
87
|
-
* from `F`, the `graph.globals` files,
|
|
88
|
-
* for a file the envelope declared
|
|
89
|
-
* `dependencies[F]
|
|
90
|
-
* this to the bundler's
|
|
91
|
-
*
|
|
92
|
-
* for the exact
|
|
94
|
+
* from `F`, the `graph.globals` files, the `graph.configs` chain, and missing
|
|
95
|
+
* higher-priority `graph.candidates` — or, for a file the envelope declared
|
|
96
|
+
* `dependenciesComplete`, only `dependencies[F]`, `graph.candidates`, and the
|
|
97
|
+
* universal `graph.configs` chain. Adapters forward this to the bundler's
|
|
98
|
+
* `addWatchFile` so type-only inputs participate in watch-mode and
|
|
99
|
+
* persistent-cache invalidation. See {@link selectWatchInputs} for the exact
|
|
100
|
+
* derivation.
|
|
93
101
|
*/
|
|
94
102
|
addWatchFile?: (file: string) => void;
|
|
95
103
|
/**
|
|
@@ -164,9 +172,17 @@ export declare function collectProjectInputHashes(projectRoot: string): Record<s
|
|
|
164
172
|
export declare function isProjectWalkPath(root: string, file: string): boolean;
|
|
165
173
|
/**
|
|
166
174
|
* Hash a list of absolute out-of-walk input paths: content SHA-256 for a
|
|
167
|
-
* readable file, a stable `missing` marker otherwise.
|
|
168
|
-
*
|
|
169
|
-
*
|
|
170
|
-
*
|
|
175
|
+
* readable file, a stable `missing` marker otherwise. Keys use filesystem
|
|
176
|
+
* identity so case-only spellings share one snapshot entry, while reads retain
|
|
177
|
+
* the original path supplied by the compiler. The marker is state, not an error
|
|
178
|
+
* — a recorded input disappearing (or reappearing) must change the comparison
|
|
179
|
+
* exactly like a content edit. Exported so `@ttsc/metro` can re-hash its
|
|
180
|
+
* recorded snapshot with identical semantics at cache-key time.
|
|
171
181
|
*/
|
|
172
182
|
export declare function collectExternalInputHashes(paths: readonly string[]): Record<string, string>;
|
|
183
|
+
/**
|
|
184
|
+
* Build a comparison key for a path without changing the spelling handed to a
|
|
185
|
+
* filesystem or bundler. Windows is case-insensitive; macOS is probed per
|
|
186
|
+
* existing filesystem location so case-sensitive volumes keep distinct paths.
|
|
187
|
+
*/
|
|
188
|
+
export declare function pathIdentityKey(file: string): string;
|
package/lib/core/transform.js
CHANGED
|
@@ -11,6 +11,8 @@ var tsconfigPaths = require('./tsconfigPaths.js');
|
|
|
11
11
|
function createTtscTransformCache() {
|
|
12
12
|
return new Map();
|
|
13
13
|
}
|
|
14
|
+
/** Cached case-insensitivity probes for existing macOS filesystem locations. */
|
|
15
|
+
const CASE_INSENSITIVE_FILESYSTEMS = new Map();
|
|
14
16
|
/**
|
|
15
17
|
* Apply the ttsc plugin transform to a single source file.
|
|
16
18
|
*
|
|
@@ -161,7 +163,7 @@ function evictGeneration(cache, key, generation) {
|
|
|
161
163
|
* Forward every derived watch input for `file` to the adapter's `addWatchFile`
|
|
162
164
|
* hook: the plugin-reported `dependencies[file]` list unioned with the
|
|
163
165
|
* host-owned reference graph's contribution (`reach(edges, file)`, `globals`,
|
|
164
|
-
* `configs
|
|
166
|
+
* `configs`, and resolution candidates).
|
|
165
167
|
*
|
|
166
168
|
* Envelope keys mirror the `typescript` keys (project-relative); values may be
|
|
167
169
|
* project-relative or absolute. Every path is absolutized against the project
|
|
@@ -183,7 +185,8 @@ function notifyWatchInputs(hooks, props) {
|
|
|
183
185
|
*
|
|
184
186
|
* By default the derivation is a union: `dependencies[file] ∪ reach(edges,
|
|
185
187
|
* file) ∪ globals ∪ configs`. The plugin-reported list can only widen the
|
|
186
|
-
* host-owned language-semantic bound, never narrow it.
|
|
188
|
+
* host-owned language-semantic bound, never narrow it. Resolution candidates
|
|
189
|
+
* remain part of that host-owned bound in both modes.
|
|
187
190
|
*
|
|
188
191
|
* An envelope that lists `file` in `dependenciesComplete` narrows it to
|
|
189
192
|
* `dependencies[file] ∪ configs`: the plugin declared its reported list the
|
|
@@ -201,23 +204,50 @@ function selectWatchInputs(props) {
|
|
|
201
204
|
const output = [];
|
|
202
205
|
const seen = new Set();
|
|
203
206
|
const excluded = new Set(props.temporaryTsconfig === undefined
|
|
204
|
-
? [props.file]
|
|
205
|
-
: [props.file,
|
|
207
|
+
? [pathIdentityKey(props.file)]
|
|
208
|
+
: [pathIdentityKey(props.file), pathIdentityKey(props.temporaryTsconfig)]);
|
|
206
209
|
for (const absolute of [
|
|
207
210
|
...selectFileDependencies(props),
|
|
208
211
|
...selectGraphInputs({
|
|
209
212
|
...props,
|
|
210
213
|
complete: declaresCompleteDependencies(props) && !isVolatileFile(props),
|
|
211
214
|
}),
|
|
215
|
+
...selectResolutionCandidateInputs(props),
|
|
212
216
|
]) {
|
|
213
|
-
|
|
217
|
+
const identity = pathIdentityKey(absolute);
|
|
218
|
+
if (excluded.has(identity) || seen.has(identity)) {
|
|
214
219
|
continue;
|
|
215
220
|
}
|
|
216
|
-
seen.add(
|
|
221
|
+
seen.add(identity);
|
|
217
222
|
output.push(absolute);
|
|
218
223
|
}
|
|
219
224
|
return output;
|
|
220
225
|
}
|
|
226
|
+
/**
|
|
227
|
+
* Return the module-resolution paths that can supersede a currently resolved
|
|
228
|
+
* module reachable from `file`. They remain host-owned even when a plugin
|
|
229
|
+
* declares `dependenciesComplete`: plugin code cannot vouch for a compiler
|
|
230
|
+
* resolution change that occurs without any plugin input changing.
|
|
231
|
+
*/
|
|
232
|
+
function selectResolutionCandidateInputs(props) {
|
|
233
|
+
if (props.result.type === "exception") {
|
|
234
|
+
return [];
|
|
235
|
+
}
|
|
236
|
+
const graph = props.result.graph;
|
|
237
|
+
if (graph === undefined || graph.candidates === undefined) {
|
|
238
|
+
return [];
|
|
239
|
+
}
|
|
240
|
+
const reachable = new Set(selectReachableSources(props.projectRoot, props.file, graph).map(pathIdentityKey));
|
|
241
|
+
const output = [];
|
|
242
|
+
for (const [source, candidates] of Object.entries(graph.candidates)) {
|
|
243
|
+
if (!reachable.has(pathIdentityKey(path.resolve(props.projectRoot, source))) ||
|
|
244
|
+
!Array.isArray(candidates)) {
|
|
245
|
+
continue;
|
|
246
|
+
}
|
|
247
|
+
output.push(...selectListedFiles(props.projectRoot, candidates));
|
|
248
|
+
}
|
|
249
|
+
return output;
|
|
250
|
+
}
|
|
221
251
|
/**
|
|
222
252
|
* Flatten the host-owned reference graph for one file into absolute paths.
|
|
223
253
|
*
|
|
@@ -259,26 +289,68 @@ function selectReachableEdges(projectRoot, file, graph) {
|
|
|
259
289
|
if (!Array.isArray(targets)) {
|
|
260
290
|
continue;
|
|
261
291
|
}
|
|
262
|
-
|
|
292
|
+
const identity = pathIdentityKey(path.resolve(projectRoot, source));
|
|
293
|
+
const entries = edges.get(identity) ?? [];
|
|
294
|
+
entries.push(...targets
|
|
263
295
|
.filter((target) => typeof target === "string" && target.length !== 0)
|
|
264
296
|
.map((target) => path.resolve(projectRoot, target)));
|
|
297
|
+
edges.set(identity, entries);
|
|
265
298
|
}
|
|
266
299
|
const output = [];
|
|
267
|
-
const visited = new Set([file]);
|
|
300
|
+
const visited = new Set([pathIdentityKey(file)]);
|
|
268
301
|
const queue = [file];
|
|
269
302
|
while (queue.length !== 0) {
|
|
270
303
|
const current = queue.pop();
|
|
271
|
-
for (const target of edges.get(current) ?? []) {
|
|
272
|
-
|
|
304
|
+
for (const target of edges.get(pathIdentityKey(current)) ?? []) {
|
|
305
|
+
const identity = pathIdentityKey(target);
|
|
306
|
+
if (visited.has(identity)) {
|
|
273
307
|
continue;
|
|
274
308
|
}
|
|
275
|
-
visited.add(
|
|
309
|
+
visited.add(identity);
|
|
276
310
|
queue.push(target);
|
|
277
311
|
output.push(target);
|
|
278
312
|
}
|
|
279
313
|
}
|
|
280
314
|
return output;
|
|
281
315
|
}
|
|
316
|
+
/**
|
|
317
|
+
* Return the source files whose direct graph edges are reachable from `file`,
|
|
318
|
+
* including `file` itself. Resolution candidates belong to importers rather
|
|
319
|
+
* than targets, so this is intentionally distinct from selectReachableEdges.
|
|
320
|
+
*/
|
|
321
|
+
function selectReachableSources(projectRoot, file, graph) {
|
|
322
|
+
const edges = new Map();
|
|
323
|
+
const spellings = new Map();
|
|
324
|
+
for (const [source, targets] of Object.entries(graph.edges ?? {})) {
|
|
325
|
+
if (!Array.isArray(targets)) {
|
|
326
|
+
continue;
|
|
327
|
+
}
|
|
328
|
+
const absolute = path.resolve(projectRoot, source);
|
|
329
|
+
const identity = pathIdentityKey(absolute);
|
|
330
|
+
spellings.set(identity, absolute);
|
|
331
|
+
const entries = edges.get(identity) ?? [];
|
|
332
|
+
entries.push(...targets
|
|
333
|
+
.filter((target) => typeof target === "string" && target.length !== 0)
|
|
334
|
+
.map((target) => path.resolve(projectRoot, target)));
|
|
335
|
+
edges.set(identity, entries);
|
|
336
|
+
}
|
|
337
|
+
const output = [file];
|
|
338
|
+
const visited = new Set([pathIdentityKey(file)]);
|
|
339
|
+
const queue = [file];
|
|
340
|
+
while (queue.length !== 0) {
|
|
341
|
+
const current = queue.pop();
|
|
342
|
+
for (const target of edges.get(pathIdentityKey(current)) ?? []) {
|
|
343
|
+
const identity = pathIdentityKey(target);
|
|
344
|
+
if (visited.has(identity)) {
|
|
345
|
+
continue;
|
|
346
|
+
}
|
|
347
|
+
visited.add(identity);
|
|
348
|
+
queue.push(target);
|
|
349
|
+
output.push(spellings.get(identity) ?? target);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
return output;
|
|
353
|
+
}
|
|
282
354
|
/**
|
|
283
355
|
* Absolutize one graph string list (`globals`, `configs`), skipping members a
|
|
284
356
|
* malformed envelope section may carry. Duplicates survive; the caller
|
|
@@ -332,7 +404,8 @@ function declaresFile(listed, props) {
|
|
|
332
404
|
}
|
|
333
405
|
return listed.some((entry) => typeof entry === "string" &&
|
|
334
406
|
entry.length !== 0 &&
|
|
335
|
-
path.resolve(props.projectRoot, entry) ===
|
|
407
|
+
pathIdentityKey(path.resolve(props.projectRoot, entry)) ===
|
|
408
|
+
pathIdentityKey(props.file));
|
|
336
409
|
}
|
|
337
410
|
/**
|
|
338
411
|
* Extract the absolute, deduplicated dependency list for a single file from the
|
|
@@ -352,7 +425,8 @@ function selectFileDependencies(props) {
|
|
|
352
425
|
let entries = dependencies[key];
|
|
353
426
|
if (entries === undefined) {
|
|
354
427
|
for (const [candidate, candidateEntries] of Object.entries(dependencies)) {
|
|
355
|
-
if (path.resolve(props.projectRoot, candidate) ===
|
|
428
|
+
if (pathIdentityKey(path.resolve(props.projectRoot, candidate)) ===
|
|
429
|
+
pathIdentityKey(props.file)) {
|
|
356
430
|
entries = candidateEntries;
|
|
357
431
|
break;
|
|
358
432
|
}
|
|
@@ -368,10 +442,11 @@ function selectFileDependencies(props) {
|
|
|
368
442
|
continue;
|
|
369
443
|
}
|
|
370
444
|
const absolute = path.resolve(props.projectRoot, entry);
|
|
371
|
-
|
|
445
|
+
const identity = pathIdentityKey(absolute);
|
|
446
|
+
if (identity === pathIdentityKey(props.file) || seen.has(identity)) {
|
|
372
447
|
continue;
|
|
373
448
|
}
|
|
374
|
-
seen.add(
|
|
449
|
+
seen.add(identity);
|
|
375
450
|
output.push(absolute);
|
|
376
451
|
}
|
|
377
452
|
return output;
|
|
@@ -454,7 +529,7 @@ function matchesCachedSource(cached, file, source) {
|
|
|
454
529
|
// requires a tsconfig or package manifest change, both of which the project
|
|
455
530
|
// walk above already detects.
|
|
456
531
|
const externalHashes = cached.externalInputHashes ?? {};
|
|
457
|
-
return sameHashes(externalHashes, collectExternalInputHashes(Object.keys(externalHashes)));
|
|
532
|
+
return sameHashes(externalHashes, collectExternalInputHashes(cached.externalInputPaths ?? Object.keys(externalHashes)));
|
|
458
533
|
}
|
|
459
534
|
/**
|
|
460
535
|
* Build the input-hash snapshot stored alongside a fresh compiler result.
|
|
@@ -539,7 +614,7 @@ function listProjectInputFiles(root) {
|
|
|
539
614
|
* only the reference graph can prove relevant.
|
|
540
615
|
*/
|
|
541
616
|
function isProjectWalkPath(root, file) {
|
|
542
|
-
const relative = path.relative(
|
|
617
|
+
const relative = path.relative(pathIdentityKey(root), pathIdentityKey(file));
|
|
543
618
|
if (relative.length === 0 ||
|
|
544
619
|
relative === ".." ||
|
|
545
620
|
relative.startsWith(`..${path.sep}`) ||
|
|
@@ -552,19 +627,25 @@ function isProjectWalkPath(root, file) {
|
|
|
552
627
|
}
|
|
553
628
|
/**
|
|
554
629
|
* Hash a list of absolute out-of-walk input paths: content SHA-256 for a
|
|
555
|
-
* readable file, a stable `missing` marker otherwise.
|
|
556
|
-
*
|
|
557
|
-
*
|
|
558
|
-
*
|
|
630
|
+
* readable file, a stable `missing` marker otherwise. Keys use filesystem
|
|
631
|
+
* identity so case-only spellings share one snapshot entry, while reads retain
|
|
632
|
+
* the original path supplied by the compiler. The marker is state, not an error
|
|
633
|
+
* — a recorded input disappearing (or reappearing) must change the comparison
|
|
634
|
+
* exactly like a content edit. Exported so `@ttsc/metro` can re-hash its
|
|
635
|
+
* recorded snapshot with identical semantics at cache-key time.
|
|
559
636
|
*/
|
|
560
637
|
function collectExternalInputHashes(paths) {
|
|
561
638
|
const hashes = {};
|
|
562
639
|
for (const file of paths) {
|
|
640
|
+
const identity = pathIdentityKey(file);
|
|
641
|
+
if (identity in hashes) {
|
|
642
|
+
continue;
|
|
643
|
+
}
|
|
563
644
|
try {
|
|
564
|
-
hashes[
|
|
645
|
+
hashes[identity] = hashText(fs.readFileSync(file));
|
|
565
646
|
}
|
|
566
647
|
catch {
|
|
567
|
-
hashes[
|
|
648
|
+
hashes[identity] = "missing";
|
|
568
649
|
}
|
|
569
650
|
}
|
|
570
651
|
return hashes;
|
|
@@ -574,7 +655,9 @@ function collectExternalInputHashes(paths) {
|
|
|
574
655
|
* union of every reference-graph member (edge keys and targets, globals, the
|
|
575
656
|
* config chain) and every plugin-reported dependency, minus everything the
|
|
576
657
|
* project walk already hashes and the disposed temp-dir tsconfig. These are the
|
|
577
|
-
* inputs {@link matchesCachedSource}'s walk cannot see.
|
|
658
|
+
* inputs {@link matchesCachedSource}'s walk cannot see. Resolution candidates
|
|
659
|
+
* that are still missing remain in this set even under the project root: the
|
|
660
|
+
* first walk cannot hash a file that has not been created yet.
|
|
578
661
|
*
|
|
579
662
|
* A `dependenciesComplete` declaration deliberately does not narrow this set,
|
|
580
663
|
* unlike the per-file watch derivation. This cache replays one whole envelope,
|
|
@@ -590,6 +673,7 @@ function selectExternalInputPaths(props) {
|
|
|
590
673
|
return [];
|
|
591
674
|
}
|
|
592
675
|
const members = [];
|
|
676
|
+
const resolutionCandidates = new Set();
|
|
593
677
|
const graph = props.result.graph;
|
|
594
678
|
if (graph !== undefined) {
|
|
595
679
|
for (const [source, targets] of Object.entries(graph.edges ?? {})) {
|
|
@@ -603,6 +687,19 @@ function selectExternalInputPaths(props) {
|
|
|
603
687
|
members.push(...listed);
|
|
604
688
|
}
|
|
605
689
|
}
|
|
690
|
+
for (const candidates of Object.values(graph.candidates ?? {})) {
|
|
691
|
+
if (!Array.isArray(candidates)) {
|
|
692
|
+
continue;
|
|
693
|
+
}
|
|
694
|
+
for (const candidate of candidates) {
|
|
695
|
+
if (typeof candidate !== "string" || candidate.length === 0) {
|
|
696
|
+
continue;
|
|
697
|
+
}
|
|
698
|
+
const absolute = path.resolve(props.projectRoot, candidate);
|
|
699
|
+
members.push(candidate);
|
|
700
|
+
resolutionCandidates.add(pathIdentityKey(absolute));
|
|
701
|
+
}
|
|
702
|
+
}
|
|
606
703
|
}
|
|
607
704
|
for (const entries of Object.values(props.result.dependencies ?? {})) {
|
|
608
705
|
if (Array.isArray(entries)) {
|
|
@@ -611,7 +708,7 @@ function selectExternalInputPaths(props) {
|
|
|
611
708
|
}
|
|
612
709
|
const excluded = props.temporaryTsconfig === undefined
|
|
613
710
|
? undefined
|
|
614
|
-
:
|
|
711
|
+
: pathIdentityKey(props.temporaryTsconfig);
|
|
615
712
|
const output = [];
|
|
616
713
|
const seen = new Set();
|
|
617
714
|
for (const member of members) {
|
|
@@ -619,12 +716,14 @@ function selectExternalInputPaths(props) {
|
|
|
619
716
|
continue;
|
|
620
717
|
}
|
|
621
718
|
const absolute = path.resolve(props.projectRoot, member);
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
719
|
+
const identity = pathIdentityKey(absolute);
|
|
720
|
+
const missingCandidate = resolutionCandidates.has(identity) && !fs.existsSync(absolute);
|
|
721
|
+
if (identity === excluded ||
|
|
722
|
+
seen.has(identity) ||
|
|
723
|
+
(!missingCandidate && isProjectWalkPath(props.projectRoot, absolute))) {
|
|
625
724
|
continue;
|
|
626
725
|
}
|
|
627
|
-
seen.add(
|
|
726
|
+
seen.add(identity);
|
|
628
727
|
output.push(absolute);
|
|
629
728
|
}
|
|
630
729
|
output.sort();
|
|
@@ -676,11 +775,17 @@ async function transformProject(props) {
|
|
|
676
775
|
tsconfig: configured.path,
|
|
677
776
|
}).transform();
|
|
678
777
|
const temporaryTsconfig = configured.path === props.tsconfig ? undefined : configured.path;
|
|
778
|
+
const externalInputPaths = selectExternalInputPaths({
|
|
779
|
+
projectRoot,
|
|
780
|
+
result,
|
|
781
|
+
temporaryTsconfig,
|
|
782
|
+
});
|
|
679
783
|
return {
|
|
680
784
|
// Capture the out-of-walk input hashes while the generation is fresh so
|
|
681
785
|
// cache validation can re-check them; computed before dispose so the
|
|
682
786
|
// exclusion of the temp-dir tsconfig is the only reason it never keys.
|
|
683
|
-
externalInputHashes: collectExternalInputHashes(
|
|
787
|
+
externalInputHashes: collectExternalInputHashes(externalInputPaths),
|
|
788
|
+
externalInputPaths,
|
|
684
789
|
inputHashes: collectInputHashes({
|
|
685
790
|
currentFile: props.currentFile,
|
|
686
791
|
currentSource: props.currentSource,
|
|
@@ -866,7 +971,7 @@ function createTransformCacheKey(props) {
|
|
|
866
971
|
aliasPaths: props.aliasPaths,
|
|
867
972
|
compilerOptions: props.compilerOptions,
|
|
868
973
|
plugins: props.plugins,
|
|
869
|
-
tsconfig:
|
|
974
|
+
tsconfig: pathIdentityKey(props.tsconfig),
|
|
870
975
|
});
|
|
871
976
|
}
|
|
872
977
|
/**
|
|
@@ -929,7 +1034,8 @@ function selectTransformedSource(props) {
|
|
|
929
1034
|
}
|
|
930
1035
|
// Slow path: resolve each candidate to an absolute path for comparison.
|
|
931
1036
|
for (const [candidate, source] of Object.entries(props.result.typescript)) {
|
|
932
|
-
if (path.resolve(props.projectRoot, candidate) ===
|
|
1037
|
+
if (pathIdentityKey(path.resolve(props.projectRoot, candidate)) ===
|
|
1038
|
+
pathIdentityKey(props.file)) {
|
|
933
1039
|
return source;
|
|
934
1040
|
}
|
|
935
1041
|
}
|
|
@@ -1019,7 +1125,61 @@ function resolveTsconfig(file, tsconfig) {
|
|
|
1019
1125
|
return path.resolve(process.cwd(), "tsconfig.json");
|
|
1020
1126
|
}
|
|
1021
1127
|
function toProjectKey(root, file) {
|
|
1022
|
-
return normalizePath(path.relative(root, file));
|
|
1128
|
+
return normalizePath(path.relative(pathIdentityKey(root), pathIdentityKey(file)));
|
|
1129
|
+
}
|
|
1130
|
+
/**
|
|
1131
|
+
* Build a comparison key for a path without changing the spelling handed to a
|
|
1132
|
+
* filesystem or bundler. Windows is case-insensitive; macOS is probed per
|
|
1133
|
+
* existing filesystem location so case-sensitive volumes keep distinct paths.
|
|
1134
|
+
*/
|
|
1135
|
+
function pathIdentityKey(file) {
|
|
1136
|
+
const absolute = path.resolve(file);
|
|
1137
|
+
return filesystemIsCaseInsensitive(absolute)
|
|
1138
|
+
? absolute.toLowerCase()
|
|
1139
|
+
: absolute;
|
|
1140
|
+
}
|
|
1141
|
+
function filesystemIsCaseInsensitive(file) {
|
|
1142
|
+
if (process.platform === "win32") {
|
|
1143
|
+
return true;
|
|
1144
|
+
}
|
|
1145
|
+
if (process.platform !== "darwin") {
|
|
1146
|
+
return false;
|
|
1147
|
+
}
|
|
1148
|
+
let existing = file;
|
|
1149
|
+
while (!fs.existsSync(existing)) {
|
|
1150
|
+
const parent = path.dirname(existing);
|
|
1151
|
+
if (parent === existing) {
|
|
1152
|
+
return false;
|
|
1153
|
+
}
|
|
1154
|
+
existing = parent;
|
|
1155
|
+
}
|
|
1156
|
+
let resolved;
|
|
1157
|
+
try {
|
|
1158
|
+
resolved = fs.realpathSync.native(existing);
|
|
1159
|
+
}
|
|
1160
|
+
catch {
|
|
1161
|
+
return false;
|
|
1162
|
+
}
|
|
1163
|
+
const cached = CASE_INSENSITIVE_FILESYSTEMS.get(resolved);
|
|
1164
|
+
if (cached !== undefined) {
|
|
1165
|
+
return cached;
|
|
1166
|
+
}
|
|
1167
|
+
const alternate = togglePathCase(resolved);
|
|
1168
|
+
const insensitive = alternate !== undefined && fs.existsSync(alternate);
|
|
1169
|
+
CASE_INSENSITIVE_FILESYSTEMS.set(resolved, insensitive);
|
|
1170
|
+
return insensitive;
|
|
1171
|
+
}
|
|
1172
|
+
function togglePathCase(file) {
|
|
1173
|
+
for (let index = file.length - 1; index >= 0; --index) {
|
|
1174
|
+
const character = file[index];
|
|
1175
|
+
if (character >= "a" && character <= "z") {
|
|
1176
|
+
return `${file.slice(0, index)}${character.toUpperCase()}${file.slice(index + 1)}`;
|
|
1177
|
+
}
|
|
1178
|
+
if (character >= "A" && character <= "Z") {
|
|
1179
|
+
return `${file.slice(0, index)}${character.toLowerCase()}${file.slice(index + 1)}`;
|
|
1180
|
+
}
|
|
1181
|
+
}
|
|
1182
|
+
return undefined;
|
|
1023
1183
|
}
|
|
1024
1184
|
function normalizePath(file) {
|
|
1025
1185
|
return file.replace(/\\/g, "/");
|
|
@@ -1031,6 +1191,7 @@ exports.createTransformResult = createTransformResult;
|
|
|
1031
1191
|
exports.createTtscTransformCache = createTtscTransformCache;
|
|
1032
1192
|
exports.isDeclarationFile = isDeclarationFile;
|
|
1033
1193
|
exports.isProjectWalkPath = isProjectWalkPath;
|
|
1194
|
+
exports.pathIdentityKey = pathIdentityKey;
|
|
1034
1195
|
exports.stripQuery = stripQuery;
|
|
1035
1196
|
exports.transformTtsc = transformTtsc;
|
|
1036
1197
|
//# sourceMappingURL=transform.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sources":["../../src/core/transform.ts"],"sourcesContent":[null],"names":["TtscCompiler","absolutizePathsTarget","readEffectiveTsconfigPaths"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transform.js","sources":["../../src/core/transform.ts"],"sourcesContent":[null],"names":["TtscCompiler","absolutizePathsTarget","readEffectiveTsconfigPaths"],"mappings":"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"}
|