@ttsc/unplugin 0.28.5 → 0.29.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.
Files changed (86) hide show
  1. package/README.md +15 -11
  2. package/lib/api.js +10 -0
  3. package/lib/api.js.map +1 -1
  4. package/lib/api.mjs +3 -2
  5. package/lib/api.mjs.map +1 -1
  6. package/lib/bun-register.d.cts +10 -7
  7. package/lib/bun-register.d.mts +10 -7
  8. package/lib/bun-register.d.ts +10 -7
  9. package/lib/bun-register.js +90 -24
  10. package/lib/bun-register.js.map +1 -1
  11. package/lib/bun-register.mjs +90 -24
  12. package/lib/bun-register.mjs.map +1 -1
  13. package/lib/bun.d.cts +10 -8
  14. package/lib/bun.d.mts +10 -8
  15. package/lib/bun.d.ts +10 -8
  16. package/lib/bun.js +19 -17
  17. package/lib/bun.js.map +1 -1
  18. package/lib/bun.mjs +20 -18
  19. package/lib/bun.mjs.map +1 -1
  20. package/lib/core/index.d.cts +10 -8
  21. package/lib/core/index.d.mts +10 -8
  22. package/lib/core/index.d.ts +10 -8
  23. package/lib/core/index.js +88 -16
  24. package/lib/core/index.js.map +1 -1
  25. package/lib/core/index.mjs +81 -18
  26. package/lib/core/index.mjs.map +1 -1
  27. package/lib/core/projectDiscovery.d.cts +55 -0
  28. package/lib/core/projectDiscovery.d.mts +55 -0
  29. package/lib/core/projectDiscovery.d.ts +55 -0
  30. package/lib/core/projectDiscovery.js +187 -0
  31. package/lib/core/projectDiscovery.js.map +1 -0
  32. package/lib/core/projectDiscovery.mjs +182 -0
  33. package/lib/core/projectDiscovery.mjs.map +1 -0
  34. package/lib/core/sourceExtensions.d.cts +10 -0
  35. package/lib/core/sourceExtensions.d.mts +10 -0
  36. package/lib/core/sourceExtensions.d.ts +10 -0
  37. package/lib/core/sourceExtensions.js +38 -0
  38. package/lib/core/sourceExtensions.js.map +1 -0
  39. package/lib/core/sourceExtensions.mjs +32 -0
  40. package/lib/core/sourceExtensions.mjs.map +1 -0
  41. package/lib/core/transform.d.cts +96 -16
  42. package/lib/core/transform.d.mts +96 -16
  43. package/lib/core/transform.d.ts +96 -16
  44. package/lib/core/transform.js +1295 -309
  45. package/lib/core/transform.js.map +1 -1
  46. package/lib/core/transform.mjs +1290 -310
  47. package/lib/core/transform.mjs.map +1 -1
  48. package/lib/core/tsconfigPaths.d.cts +55 -3
  49. package/lib/core/tsconfigPaths.d.mts +55 -3
  50. package/lib/core/tsconfigPaths.d.ts +55 -3
  51. package/lib/core/tsconfigPaths.js +260 -46
  52. package/lib/core/tsconfigPaths.js.map +1 -1
  53. package/lib/core/tsconfigPaths.mjs +255 -47
  54. package/lib/core/tsconfigPaths.mjs.map +1 -1
  55. package/lib/core/viteServe.d.cts +18 -21
  56. package/lib/core/viteServe.d.mts +18 -21
  57. package/lib/core/viteServe.d.ts +18 -21
  58. package/lib/core/viteServe.js +88 -47
  59. package/lib/core/viteServe.js.map +1 -1
  60. package/lib/core/viteServe.mjs +89 -49
  61. package/lib/core/viteServe.mjs.map +1 -1
  62. package/lib/next.d.cts +7 -0
  63. package/lib/next.d.mts +7 -0
  64. package/lib/next.d.ts +7 -0
  65. package/lib/next.js +186 -54
  66. package/lib/next.js.map +1 -1
  67. package/lib/next.mjs +186 -55
  68. package/lib/next.mjs.map +1 -1
  69. package/lib/turbopack.d.cts +6 -4
  70. package/lib/turbopack.d.mts +6 -4
  71. package/lib/turbopack.d.ts +6 -4
  72. package/lib/turbopack.js +11 -10
  73. package/lib/turbopack.js.map +1 -1
  74. package/lib/turbopack.mjs +11 -10
  75. package/lib/turbopack.mjs.map +1 -1
  76. package/package.json +7 -4
  77. package/src/bun-register.ts +112 -25
  78. package/src/bun.ts +60 -50
  79. package/src/core/index.ts +114 -19
  80. package/src/core/projectDiscovery.ts +256 -0
  81. package/src/core/sourceExtensions.ts +47 -0
  82. package/src/core/transform.ts +1671 -361
  83. package/src/core/tsconfigPaths.ts +406 -46
  84. package/src/core/viteServe.ts +125 -74
  85. package/src/next.ts +230 -54
  86. package/src/turbopack.ts +11 -10
@@ -1,6 +1,7 @@
1
1
  import fs from 'node:fs';
2
2
  import { createRequire } from 'node:module';
3
3
  import path from 'node:path';
4
+ import { TYPESCRIPT_TRANSFORM_EXTENSIONS } from './sourceExtensions.mjs';
4
5
 
5
6
  /**
6
7
  * Read the effective `compilerOptions.paths` of a tsconfig, following its
@@ -25,7 +26,8 @@ import path from 'node:path';
25
26
  * diagnostics.
26
27
  */
27
28
  function readEffectiveTsconfigPaths(tsconfig) {
28
- const declared = findDeclaredPaths(path.resolve(tsconfig), new Set());
29
+ const resolved = path.resolve(tsconfig);
30
+ const declared = findDeclaredPaths(resolved, new Set());
29
31
  if (declared === null) {
30
32
  return {};
31
33
  }
@@ -36,17 +38,62 @@ function readEffectiveTsconfigPaths(tsconfig) {
36
38
  }
37
39
  const absolute = targets
38
40
  .filter((target) => typeof target === "string")
39
- .map((target) => absolutizePathsTarget(declared.baseDir, target));
41
+ .map((target) => absolutizePathsTarget(declared.baseDir, target, path.dirname(resolved)));
40
42
  if (absolute.length !== 0) {
41
43
  output[key] = absolute;
42
44
  }
43
45
  }
44
46
  return output;
45
47
  }
46
- /** Source extensions TypeScript always admits as program inputs. */
47
- const TYPESCRIPT_INPUT_EXTENSIONS = [".ts", ".tsx", ".mts", ".cts"];
48
48
  /** Extensions admitted only when `allowJs` widens the program. */
49
49
  const JAVASCRIPT_INPUT_EXTENSIONS = [".js", ".jsx", ".mjs", ".cjs"];
50
+ /** Compiler options that exclude exactly one resolved output directory. */
51
+ const OUTPUT_DIRECTORY_OPTIONS = ["outDir", "declarationDir"];
52
+ /** Scalar compiler paths TypeScript substitutes from the final config owner. */
53
+ const CONFIG_DIR_TEMPLATE_SCALAR_OPTIONS = [
54
+ "baseUrl",
55
+ "declarationDir",
56
+ "generateCpuProfile",
57
+ "generateTrace",
58
+ "outDir",
59
+ "outFile",
60
+ "rootDir",
61
+ "tsBuildInfoFile",
62
+ ];
63
+ /** List compiler paths TypeScript substitutes from the final config owner. */
64
+ const CONFIG_DIR_TEMPLATE_LIST_OPTIONS = [
65
+ "rootDirs",
66
+ "typeRoots",
67
+ ];
68
+ /** Top-level file specifications that accept the same template. */
69
+ const CONFIG_DIR_TEMPLATE_FILE_SPECS = ["exclude", "files", "include"];
70
+ /**
71
+ * Capture the leaf config and its complete `extends` graph in one deterministic
72
+ * list.
73
+ *
74
+ * Transform wrappers derive configuration before the compiler reads it again.
75
+ * Comparing this snapshot across the compile prevents a wrapper derived from
76
+ * one config state from being paired with membership and output from another.
77
+ */
78
+ function readTsconfigSourceSnapshot(tsconfig) {
79
+ const output = new Map();
80
+ collectTsconfigSourceSnapshot(path.resolve(tsconfig), new Set(), output);
81
+ return [...output.entries()]
82
+ .sort(([left], [right]) => (left < right ? -1 : left > right ? 1 : 0))
83
+ .map(([source, contents]) => ({ contents, path: source }));
84
+ }
85
+ /** Flatten provenance into the directory list consumed by the project walk. */
86
+ function flattenDirectoryExclusionOrigins(origins) {
87
+ return [
88
+ ...(origins.useImplicitOutputExclusions === false
89
+ ? []
90
+ : OUTPUT_DIRECTORY_OPTIONS.flatMap((key) => {
91
+ const directory = origins[key];
92
+ return directory === undefined ? [] : [directory];
93
+ })),
94
+ ...origins.exclude,
95
+ ];
96
+ }
50
97
  /**
51
98
  * The policy every project falls back to when no configuration is available.
52
99
  *
@@ -55,9 +102,13 @@ const JAVASCRIPT_INPUT_EXTENSIONS = [".js", ".jsx", ".mjs", ".cjs"];
55
102
  * second is a defect the user cannot see.
56
103
  */
57
104
  const PERMISSIVE_PROJECT_MEMBERSHIP_POLICY = {
105
+ directoryExclusionOrigins: {
106
+ exclude: [],
107
+ useImplicitOutputExclusions: true,
108
+ },
58
109
  excludedDirectories: [],
59
110
  inputExtensions: [
60
- ...TYPESCRIPT_INPUT_EXTENSIONS,
111
+ ...TYPESCRIPT_TRANSFORM_EXTENSIONS,
61
112
  ...JAVASCRIPT_INPUT_EXTENSIONS,
62
113
  ".json",
63
114
  ],
@@ -71,8 +122,8 @@ const PERMISSIVE_PROJECT_MEMBERSHIP_POLICY = {
71
122
  * program at all, so a `bundle.a1b2c3.js` emitted beside the sources is not a
72
123
  * membership change for a project that admits no JavaScript. `outDir`,
73
124
  * `declarationDir`, and the plain entries of `exclude` name the directories the
74
- * program does not contain, which is where a bundler's own output lives in
75
- * every project that configures one.
125
+ * program does not contain. TypeScript supplies the two output directories as
126
+ * implicit exclusions only when no top-level `exclude` replaces that default.
76
127
  *
77
128
  * A glob in `exclude` is skipped rather than approximated. Failing to exclude
78
129
  * costs a walk; excluding the wrong tree hides real sources, and this function
@@ -89,45 +140,61 @@ function readProjectMembershipPolicy(tsconfig) {
89
140
  .compilerOptions?.[key];
90
141
  return typeof value === "boolean" ? value : undefined;
91
142
  }, new Set(), sources)?.value === true;
92
- const inputExtensions = [...TYPESCRIPT_INPUT_EXTENSIONS];
143
+ const inputExtensions = [...TYPESCRIPT_TRANSFORM_EXTENSIONS];
93
144
  if (flag("allowJs")) {
94
145
  inputExtensions.push(...JAVASCRIPT_INPUT_EXTENSIONS);
95
146
  }
96
147
  if (flag("resolveJsonModule")) {
97
148
  inputExtensions.push(".json");
98
149
  }
99
- const excludedDirectories = [];
100
- for (const key of ["outDir", "declarationDir"]) {
150
+ const directoryExclusionOrigins = { exclude: [], useImplicitOutputExclusions: true };
151
+ for (const key of OUTPUT_DIRECTORY_OPTIONS) {
101
152
  const declared = findDeclaredValue(resolved, (parsed) => {
102
- const value = parsed
103
- .compilerOptions?.[key];
104
- return typeof value === "string" && value.length !== 0
105
- ? value
153
+ const options = parsed.compilerOptions;
154
+ if (options === undefined ||
155
+ !Object.prototype.hasOwnProperty.call(options, key)) {
156
+ return undefined;
157
+ }
158
+ const value = options[key];
159
+ return typeof value === "string" || value === null
160
+ ? { value }
106
161
  : undefined;
107
162
  }, new Set(), sources);
108
- if (declared !== null) {
109
- excludedDirectories.push(path.resolve(declared.baseDir, declared.value));
163
+ if (declared !== null && declared.value.value !== null) {
164
+ directoryExclusionOrigins[key] = resolveConfigDirTemplatePath(declared.baseDir, declared.value.value, path.dirname(resolved));
110
165
  }
111
166
  }
112
167
  const excluded = findDeclaredValue(resolved, (parsed) => {
113
- const value = parsed.exclude;
114
- return Array.isArray(value) ? value : undefined;
168
+ if (!Object.prototype.hasOwnProperty.call(parsed, "exclude")) {
169
+ return undefined;
170
+ }
171
+ return { value: parsed.exclude };
115
172
  }, new Set(), sources);
116
- if (excluded !== null) {
117
- for (const entry of excluded.value) {
173
+ directoryExclusionOrigins.useImplicitOutputExclusions =
174
+ excluded === null || excluded.value.value === null;
175
+ if (excluded !== null && Array.isArray(excluded.value.value)) {
176
+ for (const entry of excluded.value.value) {
118
177
  if (typeof entry !== "string" || entry.length === 0) {
119
178
  continue;
120
179
  }
121
180
  // `dist/**` names exactly one directory; `**/*.spec.ts` names a set this
122
181
  // walk cannot evaluate without a matcher, so it is left in.
123
- const plain = entry.endsWith("/**") ? entry.slice(0, -3) : entry;
182
+ const normalizedEntry = normalizeTypeScriptPathSeparators(entry);
183
+ const plain = normalizedEntry.endsWith("/**")
184
+ ? normalizedEntry.slice(0, -3)
185
+ : normalizedEntry;
124
186
  if (plain.length === 0 || /[*?]/.test(plain)) {
125
187
  continue;
126
188
  }
127
- excludedDirectories.push(path.resolve(excluded.baseDir, plain));
189
+ directoryExclusionOrigins.exclude.push(resolveConfigDirTemplatePath(excluded.baseDir, plain, path.dirname(resolved)));
128
190
  }
129
191
  }
130
- return { excludedDirectories, inputExtensions, sources: [...sources] };
192
+ return {
193
+ directoryExclusionOrigins,
194
+ excludedDirectories: flattenDirectoryExclusionOrigins(directoryExclusionOrigins),
195
+ inputExtensions,
196
+ sources: [...sources],
197
+ };
131
198
  }
132
199
  /**
133
200
  * Apply the caller's compiler-options overlay on top of a policy read from the
@@ -156,30 +223,137 @@ function mergeMembershipPolicyOverlay(policy, compilerOptions, baseDir) {
156
223
  };
157
224
  applyFlag("allowJs", JAVASCRIPT_INPUT_EXTENSIONS);
158
225
  applyFlag("resolveJsonModule", [".json"]);
159
- const excludedDirectories = [...policy.excludedDirectories];
160
- for (const key of ["outDir", "declarationDir"]) {
226
+ const inheritedOrigins = policy.directoryExclusionOrigins;
227
+ const directoryExclusionOrigins = {
228
+ declarationDir: inheritedOrigins?.declarationDir,
229
+ exclude: [...(inheritedOrigins?.exclude ?? policy.excludedDirectories)],
230
+ outDir: inheritedOrigins?.outDir,
231
+ useImplicitOutputExclusions: inheritedOrigins?.useImplicitOutputExclusions ?? true,
232
+ };
233
+ for (const key of OUTPUT_DIRECTORY_OPTIONS) {
161
234
  const value = compilerOptions[key];
162
- if (typeof value === "string" && value.length !== 0) {
163
- excludedDirectories.push(path.resolve(baseDir, value));
235
+ if (value === null) {
236
+ delete directoryExclusionOrigins[key];
237
+ }
238
+ else if (typeof value === "string") {
239
+ directoryExclusionOrigins[key] = resolveConfigDirTemplatePath(baseDir, value);
164
240
  }
165
241
  }
166
242
  return {
167
- excludedDirectories,
243
+ directoryExclusionOrigins,
244
+ excludedDirectories: flattenDirectoryExclusionOrigins(directoryExclusionOrigins),
168
245
  inputExtensions: [...inputExtensions],
169
246
  sources: policy.sources,
170
247
  };
171
248
  }
249
+ /**
250
+ * Materialize inherited compiler paths whose `${configDir}` owner would move
251
+ * when a generated wrapper becomes the final config in the chain.
252
+ *
253
+ * Only template-bearing options are returned. Ordinary inherited paths are
254
+ * already made absolute while TypeScript parses their declaring config, while
255
+ * template paths deliberately survive until the final consumer is known.
256
+ */
257
+ function readEffectiveTsconfigTemplateCompilerOptions(tsconfig) {
258
+ const resolved = path.resolve(tsconfig);
259
+ const configDir = path.dirname(resolved);
260
+ const output = {};
261
+ for (const key of CONFIG_DIR_TEMPLATE_SCALAR_OPTIONS) {
262
+ const declared = findDeclaredCompilerOption(resolved, key);
263
+ if (declared !== null &&
264
+ typeof declared.value === "string" &&
265
+ startsWithConfigDirTemplate(declared.value)) {
266
+ output[key] = resolveConfigDirTemplatePath(declared.baseDir, declared.value, configDir);
267
+ }
268
+ }
269
+ for (const key of CONFIG_DIR_TEMPLATE_LIST_OPTIONS) {
270
+ const declared = findDeclaredCompilerOption(resolved, key);
271
+ if (declared !== null &&
272
+ Array.isArray(declared.value) &&
273
+ declared.value.some((entry) => typeof entry === "string" && startsWithConfigDirTemplate(entry))) {
274
+ output[key] = declared.value.map((entry) => typeof entry === "string"
275
+ ? resolveConfigDirTemplatePath(declared.baseDir, entry, configDir)
276
+ : entry);
277
+ }
278
+ }
279
+ const declaredPaths = findDeclaredPaths(resolved, new Set());
280
+ if (declaredPaths !== null &&
281
+ Object.values(declaredPaths.paths).some((targets) => Array.isArray(targets) &&
282
+ targets.some((target) => typeof target === "string" && startsWithConfigDirTemplate(target)))) {
283
+ output.paths = Object.fromEntries(Object.entries(declaredPaths.paths).map(([key, targets]) => [
284
+ key,
285
+ Array.isArray(targets)
286
+ ? targets.map((target) => typeof target === "string"
287
+ ? absolutizePathsTarget(declaredPaths.baseDir, target, configDir)
288
+ : target)
289
+ : targets,
290
+ ]));
291
+ }
292
+ return output;
293
+ }
294
+ /**
295
+ * Materialize inherited file specifications whose `${configDir}` owner would
296
+ * otherwise move to a generated wrapper's scratch directory.
297
+ */
298
+ function readEffectiveTsconfigTemplateFileSpecs(tsconfig) {
299
+ const resolved = path.resolve(tsconfig);
300
+ const configDir = path.dirname(resolved);
301
+ const output = {};
302
+ for (const key of CONFIG_DIR_TEMPLATE_FILE_SPECS) {
303
+ const declared = findDeclaredValue(resolved, (parsed) => Object.prototype.hasOwnProperty.call(parsed, key)
304
+ ? parsed[key]
305
+ : undefined, new Set());
306
+ if (declared === null ||
307
+ !Array.isArray(declared.value) ||
308
+ !declared.value.some((entry) => typeof entry === "string" && startsWithConfigDirTemplate(entry))) {
309
+ continue;
310
+ }
311
+ output[key] = declared.value.map((entry) => typeof entry === "string"
312
+ ? absolutizePathsTarget(declared.baseDir, entry, configDir)
313
+ : entry);
314
+ }
315
+ return output;
316
+ }
172
317
  /**
173
318
  * Anchor a single `paths` target at `baseDir` unless it is already absolute,
174
319
  * normalizing to forward slashes. The `*` wildcard survives `path.resolve` as a
175
320
  * literal segment, so patterns like `./src/*` stay patterns.
176
321
  */
177
- function absolutizePathsTarget(baseDir, target) {
178
- const resolved = path.isAbsolute(target)
179
- ? target
180
- : path.resolve(baseDir, target);
322
+ function absolutizePathsTarget(baseDir, target, configDir = baseDir) {
323
+ const resolved = resolveConfigDirTemplatePath(baseDir, target, configDir);
181
324
  return resolved.replace(/\\/g, "/");
182
325
  }
326
+ /** Resolve one config path with TypeScript's leading `${configDir}` template. */
327
+ function resolveConfigDirTemplatePath(baseDir, target, configDir = baseDir) {
328
+ const template = "${configDir}";
329
+ const normalized = normalizeTypeScriptPathSeparators(target);
330
+ return startsWithConfigDirTemplate(normalized)
331
+ ? path.resolve(configDir, normalized.replace(template, "./"))
332
+ : path.resolve(baseDir, normalized);
333
+ }
334
+ /** Match the prefix predicate used by TypeScript-Go before substitution. */
335
+ function startsWithConfigDirTemplate(target) {
336
+ const template = "${configDir}";
337
+ return (target.slice(0, template.length).toLowerCase() === template.toLowerCase());
338
+ }
339
+ /** Match TypeScript's platform-independent treatment of config separators. */
340
+ function normalizeTypeScriptPathSeparators(target) {
341
+ return target.replace(/\\/g, "/");
342
+ }
343
+ /** Locate one compiler option while retaining its declaring directory. */
344
+ function findDeclaredCompilerOption(tsconfig, key) {
345
+ const declared = findDeclaredValue(tsconfig, (parsed) => {
346
+ const options = parsed
347
+ .compilerOptions;
348
+ return options !== undefined &&
349
+ Object.prototype.hasOwnProperty.call(options, key)
350
+ ? { value: options[key] }
351
+ : undefined;
352
+ }, new Set());
353
+ return declared === null
354
+ ? null
355
+ : { baseDir: declared.baseDir, value: declared.value.value };
356
+ }
183
357
  /**
184
358
  * Locate the nearest `compilerOptions.paths` declaration in the `extends` chain
185
359
  * rooted at `tsconfig`. The own config wins over its bases; within an `extends`
@@ -241,7 +415,8 @@ collect) {
241
415
  if (own !== undefined) {
242
416
  return { baseDir: path.dirname(canonical), value: own };
243
417
  }
244
- for (const specifier of extendsSpecifiers(parsed.extends).reverse()) {
418
+ for (const rawSpecifier of extendsSpecifiers(parsed.extends).reverse()) {
419
+ const specifier = normalizeTypeScriptPathSeparators(rawSpecifier);
245
420
  const base = resolveExtendsConfig(canonical, specifier);
246
421
  if (base === null) {
247
422
  // Record where a relative or absolute specifier *would* have resolved,
@@ -252,18 +427,8 @@ collect) {
252
427
  // keeps a policy the next run's walk already disagrees with. A bare
253
428
  // specifier is skipped, since it has no single candidate path.
254
429
  if (isRelativeSpecifier(specifier) || path.isAbsolute(specifier)) {
255
- // Both spellings the resolver would have tried, since it falls back to
256
- // `<specifier>.json`. Recording only the literal one leaves the stamp
257
- // unmoved when `./tsconfig.base` later appears as `tsconfig.base.json`,
258
- // which is the same staleness this recording exists to prevent.
259
- const candidate = path.resolve(path.dirname(canonical), specifier);
260
- collect?.add(candidate);
261
- // Case-sensitive, because `resolveExistingExtendsPath` is: it appends
262
- // `.json` unless the spelling already ends in exactly that, so a
263
- // `./base.JSON` specifier really does resolve to `base.JSON.json` on a
264
- // case-sensitive filesystem, and the stamp has to know that name.
265
- if (!candidate.endsWith(".json")) {
266
- collect?.add(`${candidate}.json`);
430
+ for (const candidate of missingExtendsCandidates(canonical, specifier)) {
431
+ collect?.add(candidate);
267
432
  }
268
433
  }
269
434
  continue;
@@ -275,6 +440,49 @@ collect) {
275
440
  }
276
441
  return null;
277
442
  }
443
+ /** Capture every config source independently of which option declares a value. */
444
+ function collectTsconfigSourceSnapshot(tsconfig, seen, output) {
445
+ const canonical = resolveRealPath(tsconfig);
446
+ if (seen.has(canonical))
447
+ return;
448
+ seen.add(canonical);
449
+ let contents;
450
+ let parsed;
451
+ try {
452
+ contents = fs.readFileSync(canonical, "utf8");
453
+ output.set(canonical, contents);
454
+ parsed = parseJsonc(contents);
455
+ }
456
+ catch {
457
+ output.set(canonical, null);
458
+ return;
459
+ }
460
+ if (typeof parsed !== "object" || parsed === null)
461
+ return;
462
+ for (const rawSpecifier of extendsSpecifiers(parsed.extends)) {
463
+ const specifier = normalizeTypeScriptPathSeparators(rawSpecifier);
464
+ const base = resolveExtendsConfig(canonical, specifier);
465
+ if (base !== null) {
466
+ collectTsconfigSourceSnapshot(base, seen, output);
467
+ continue;
468
+ }
469
+ if (isRelativeSpecifier(specifier) || path.isAbsolute(specifier)) {
470
+ for (const candidate of missingExtendsCandidates(canonical, specifier)) {
471
+ if (!output.has(candidate))
472
+ output.set(candidate, null);
473
+ }
474
+ }
475
+ }
476
+ }
477
+ /** Every exact spelling the file resolver probes for a missing config. */
478
+ function missingExtendsCandidates(tsconfig, specifier) {
479
+ const candidate = path.resolve(path.dirname(tsconfig), specifier);
480
+ // Case-sensitive, because `resolveExistingExtendsPath` appends `.json`
481
+ // unless the spelling already ends in exactly that suffix.
482
+ return candidate.endsWith(".json")
483
+ ? [candidate]
484
+ : [candidate, `${candidate}.json`];
485
+ }
278
486
  /** Normalize the `extends` field into a list of string specifiers. */
279
487
  function extendsSpecifiers(extended) {
280
488
  if (typeof extended === "string") {
@@ -351,7 +559,7 @@ function resolvePackageManifestTsconfig(resolver, specifier) {
351
559
  if (typeof field !== "string" || field.length === 0) {
352
560
  return null;
353
561
  }
354
- return resolveExistingExtendsPath(path.resolve(path.dirname(manifestPath), field));
562
+ return resolveExistingExtendsPath(path.resolve(path.dirname(manifestPath), normalizeTypeScriptPathSeparators(field)));
355
563
  }
356
564
  /**
357
565
  * Return true when `specifier` is a bare package root (no subpath): a plain
@@ -542,5 +750,5 @@ function nextNonWhitespace(input, from) {
542
750
  return undefined;
543
751
  }
544
752
 
545
- export { PERMISSIVE_PROJECT_MEMBERSHIP_POLICY, absolutizePathsTarget, mergeMembershipPolicyOverlay, readEffectiveTsconfigPaths, readProjectMembershipPolicy };
753
+ export { CONFIG_DIR_TEMPLATE_LIST_OPTIONS, CONFIG_DIR_TEMPLATE_SCALAR_OPTIONS, PERMISSIVE_PROJECT_MEMBERSHIP_POLICY, absolutizePathsTarget, mergeMembershipPolicyOverlay, readEffectiveTsconfigPaths, readEffectiveTsconfigTemplateCompilerOptions, readEffectiveTsconfigTemplateFileSpecs, readProjectMembershipPolicy, readTsconfigSourceSnapshot, resolveConfigDirTemplatePath };
546
754
  //# sourceMappingURL=tsconfigPaths.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tsconfigPaths.mjs","sources":["../../src/core/tsconfigPaths.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tsconfigPaths.mjs","sources":["../../src/core/tsconfigPaths.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { ITtscCompilerTransformation } from "ttsc";
1
2
  /** One module node inside a Vite module graph; opaque to this module. */
2
3
  type ViteModuleNodeLike = object;
3
4
  /**
@@ -35,24 +36,23 @@ export interface ViteDevServerLike {
35
36
  ws?: ViteHotChannelLike;
36
37
  }
37
38
  /**
38
- * Filesystem watch for derived watch inputs that do not exist while a Vite dev
39
- * server is running.
39
+ * Filesystem watch for derived watch inputs that Vite cannot safely register as
40
+ * added imports while a development server is running.
40
41
  *
41
42
  * Vite serve treats every transform-context `addWatchFile()` registration as an
42
43
  * added import: `TransformPluginContext.addWatchFile` stores the path in
43
44
  * `_addedImports`, and `vite:import-analysis` resolves each entry like a real
44
- * import of the transformed module. A missing path a superseding resolution
45
- * candidate or a plugin-reported dependency that is not generated yet then
46
- * fails that resolve and turns the importer's first request into a 500, even
47
- * though the transform itself succeeded.
45
+ * import of the transformed module. A missing path or an existing directory
46
+ * that failed a compiler file predicate then fails that resolve and turns the
47
+ * importer's first request into a 500, even though the transform succeeded.
48
48
  *
49
49
  * This registry is the serve-only replacement for those registrations. Each
50
- * missing path is stat-polled; when it is created, every importer that
51
- * registered it is invalidated in the server's module graphs and one
52
- * full-reload is sent, so the next request retransforms the importer against
53
- * the new resolution winner. The project transform cache re-validates through
54
- * its external-input hashes (a recorded `missing` marker differs from a content
55
- * hash), so the retransform recompiles instead of replaying.
50
+ * path is polled until its exact compiler predicate observation changes; legacy
51
+ * envelopes retain their exists-or-file availability check. Its importers are
52
+ * then invalidated in the server's module graphs and one full-reload is sent,
53
+ * so the next request retransforms against the new resolution winner. The
54
+ * project transform cache re-validates the compiler observation, so the
55
+ * retransform recompiles instead of replaying.
56
56
  */
57
57
  export interface ViteServeMissingInputWatch {
58
58
  /** Adopt the dev server whose module graphs creation events invalidate. */
@@ -66,16 +66,13 @@ export interface ViteServeMissingInputWatch {
66
66
  * config's `command`, as the adapter does.
67
67
  */
68
68
  serving(): boolean;
69
- /**
70
- * Register one missing watch input derived for `importer`.
71
- *
72
- * `identity` is the filesystem identity the transform generation already
73
- * resolved for `input`. Resolving it here instead costs a `realpath` and a
74
- * case-sensitivity directory listing per input per delivery, because a
75
- * per-call identity context memoizes nothing (samchon/ttsc#1246).
76
- */
77
- watch(input: string, importer: string, identity?: string): void;
69
+ /** Register one unsafe watch input and its exact recorded condition. */
70
+ watch(input: string, importer: string, condition: ViteServeInputWatchCondition): void;
78
71
  }
72
+ /** A legacy availability condition or an exact compiler predicate proof. */
73
+ export type ViteServeInputWatchCondition = "exists" | "file" | ITtscCompilerTransformation.IInputObservation;
79
74
  /** Create an empty missing-input watch for one plugin instance. */
80
75
  export declare function createViteServeMissingInputWatch(): ViteServeMissingInputWatch;
76
+ /** Key a private poll by predicate and exact lexical spelling. */
77
+ export declare function viteServeMissingInputWatchKey(input: string, condition: ViteServeInputWatchCondition): string;
81
78
  export {};
@@ -1,3 +1,4 @@
1
+ import type { ITtscCompilerTransformation } from "ttsc";
1
2
  /** One module node inside a Vite module graph; opaque to this module. */
2
3
  type ViteModuleNodeLike = object;
3
4
  /**
@@ -35,24 +36,23 @@ export interface ViteDevServerLike {
35
36
  ws?: ViteHotChannelLike;
36
37
  }
37
38
  /**
38
- * Filesystem watch for derived watch inputs that do not exist while a Vite dev
39
- * server is running.
39
+ * Filesystem watch for derived watch inputs that Vite cannot safely register as
40
+ * added imports while a development server is running.
40
41
  *
41
42
  * Vite serve treats every transform-context `addWatchFile()` registration as an
42
43
  * added import: `TransformPluginContext.addWatchFile` stores the path in
43
44
  * `_addedImports`, and `vite:import-analysis` resolves each entry like a real
44
- * import of the transformed module. A missing path a superseding resolution
45
- * candidate or a plugin-reported dependency that is not generated yet then
46
- * fails that resolve and turns the importer's first request into a 500, even
47
- * though the transform itself succeeded.
45
+ * import of the transformed module. A missing path or an existing directory
46
+ * that failed a compiler file predicate then fails that resolve and turns the
47
+ * importer's first request into a 500, even though the transform succeeded.
48
48
  *
49
49
  * This registry is the serve-only replacement for those registrations. Each
50
- * missing path is stat-polled; when it is created, every importer that
51
- * registered it is invalidated in the server's module graphs and one
52
- * full-reload is sent, so the next request retransforms the importer against
53
- * the new resolution winner. The project transform cache re-validates through
54
- * its external-input hashes (a recorded `missing` marker differs from a content
55
- * hash), so the retransform recompiles instead of replaying.
50
+ * path is polled until its exact compiler predicate observation changes; legacy
51
+ * envelopes retain their exists-or-file availability check. Its importers are
52
+ * then invalidated in the server's module graphs and one full-reload is sent,
53
+ * so the next request retransforms against the new resolution winner. The
54
+ * project transform cache re-validates the compiler observation, so the
55
+ * retransform recompiles instead of replaying.
56
56
  */
57
57
  export interface ViteServeMissingInputWatch {
58
58
  /** Adopt the dev server whose module graphs creation events invalidate. */
@@ -66,16 +66,13 @@ export interface ViteServeMissingInputWatch {
66
66
  * config's `command`, as the adapter does.
67
67
  */
68
68
  serving(): boolean;
69
- /**
70
- * Register one missing watch input derived for `importer`.
71
- *
72
- * `identity` is the filesystem identity the transform generation already
73
- * resolved for `input`. Resolving it here instead costs a `realpath` and a
74
- * case-sensitivity directory listing per input per delivery, because a
75
- * per-call identity context memoizes nothing (samchon/ttsc#1246).
76
- */
77
- watch(input: string, importer: string, identity?: string): void;
69
+ /** Register one unsafe watch input and its exact recorded condition. */
70
+ watch(input: string, importer: string, condition: ViteServeInputWatchCondition): void;
78
71
  }
72
+ /** A legacy availability condition or an exact compiler predicate proof. */
73
+ export type ViteServeInputWatchCondition = "exists" | "file" | ITtscCompilerTransformation.IInputObservation;
79
74
  /** Create an empty missing-input watch for one plugin instance. */
80
75
  export declare function createViteServeMissingInputWatch(): ViteServeMissingInputWatch;
76
+ /** Key a private poll by predicate and exact lexical spelling. */
77
+ export declare function viteServeMissingInputWatchKey(input: string, condition: ViteServeInputWatchCondition): string;
81
78
  export {};