@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 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.
@@ -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 absolute path), captured at the time of the transform.
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 (currently the plugin-reported dependency list) reach the
80
- * bundler without leaking extra fields on the returned `TransformResult`.
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, and the `graph.configs` chain or,
88
- * for a file the envelope declared `dependenciesComplete`, only
89
- * `dependencies[F]` and the universal `graph.configs` chain. Adapters forward
90
- * this to the bundler's `addWatchFile` so type-only inputs participate in
91
- * watch-mode and persistent-cache invalidation. See {@link selectWatchInputs}
92
- * for the exact derivation.
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. The marker is state, not
168
- * an error a recorded input disappearing (or reappearing) must change the
169
- * comparison exactly like a content edit. Exported so `@ttsc/metro` can re-hash
170
- * its recorded snapshot with identical semantics at cache-key time.
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;
@@ -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, path.resolve(props.temporaryTsconfig)]);
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
- if (excluded.has(absolute) || seen.has(absolute)) {
217
+ const identity = pathIdentityKey(absolute);
218
+ if (excluded.has(identity) || seen.has(identity)) {
214
219
  continue;
215
220
  }
216
- seen.add(absolute);
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
- edges.set(path.resolve(projectRoot, source), targets
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
- if (visited.has(target)) {
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(target);
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) === props.file);
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) === props.file) {
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
- if (absolute === props.file || seen.has(absolute)) {
445
+ const identity = pathIdentityKey(absolute);
446
+ if (identity === pathIdentityKey(props.file) || seen.has(identity)) {
372
447
  continue;
373
448
  }
374
- seen.add(absolute);
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(path.resolve(root), path.resolve(file));
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. The marker is state, not
556
- * an error a recorded input disappearing (or reappearing) must change the
557
- * comparison exactly like a content edit. Exported so `@ttsc/metro` can re-hash
558
- * its recorded snapshot with identical semantics at cache-key time.
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[file] = hashText(fs.readFileSync(file));
645
+ hashes[identity] = hashText(fs.readFileSync(file));
565
646
  }
566
647
  catch {
567
- hashes[file] = "missing";
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
- : path.resolve(props.temporaryTsconfig);
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
- if (absolute === excluded ||
623
- seen.has(absolute) ||
624
- isProjectWalkPath(props.projectRoot, absolute)) {
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(absolute);
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(selectExternalInputPaths({ projectRoot, result, temporaryTsconfig })),
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: path.resolve(props.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) === props.file) {
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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"}