ttsc 0.26.2 → 0.27.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 (111) hide show
  1. package/README.md +9 -0
  2. package/cmd/ttsc/api_transform.go +17 -3
  3. package/cmd/ttscgraph/auxiliary_identity_state_tracks_retargets_not_source_contents_test.go +85 -0
  4. package/cmd/ttscgraph/disk_realpath_other.go +16 -0
  5. package/cmd/ttscgraph/disk_realpath_windows.go +56 -0
  6. package/cmd/ttscgraph/serve.go +104 -35
  7. package/driver/emit_plugin.go +20 -3
  8. package/driver/graph.go +64 -11
  9. package/driver/input_observation.go +273 -0
  10. package/driver/input_observation_test.go +149 -0
  11. package/driver/plugins.go +384 -4
  12. package/driver/program.go +54 -1
  13. package/driver/resolution_candidates.go +13 -5
  14. package/driver/rewrite.go +45 -2
  15. package/lib/TtscCompiler.d.ts +12 -11
  16. package/lib/TtscCompiler.js +44 -29
  17. package/lib/TtscCompiler.js.map +1 -1
  18. package/lib/compiler/internal/captureProcessOutput.js +2 -2
  19. package/lib/compiler/internal/captureProcessOutput.js.map +1 -1
  20. package/lib/compiler/internal/compileProjectInMemory.js +4 -3
  21. package/lib/compiler/internal/compileProjectInMemory.js.map +1 -1
  22. package/lib/compiler/internal/resolveEmittedJavaScript.d.ts +2 -0
  23. package/lib/compiler/internal/resolveEmittedJavaScript.js +3 -0
  24. package/lib/compiler/internal/resolveEmittedJavaScript.js.map +1 -1
  25. package/lib/compiler/internal/runBuild.d.ts +1 -1
  26. package/lib/compiler/internal/runBuild.js +80 -34
  27. package/lib/compiler/internal/runBuild.js.map +1 -1
  28. package/lib/compiler/internal/runSingleFileEmit.js +2 -2
  29. package/lib/compiler/internal/runSingleFileEmit.js.map +1 -1
  30. package/lib/compiler/internal/sharedHostHelpers.d.ts +28 -0
  31. package/lib/compiler/internal/sharedHostHelpers.js +39 -0
  32. package/lib/compiler/internal/sharedHostHelpers.js.map +1 -1
  33. package/lib/compiler/internal/startResidentTransform.js +12 -4
  34. package/lib/compiler/internal/startResidentTransform.js.map +1 -1
  35. package/lib/compiler/internal/transformProjectInMemory.d.ts +3 -0
  36. package/lib/compiler/internal/transformProjectInMemory.js +239 -35
  37. package/lib/compiler/internal/transformProjectInMemory.js.map +1 -1
  38. package/lib/flags/schema.js +12 -5
  39. package/lib/flags/schema.js.map +1 -1
  40. package/lib/internal/createCanonicalTempDirectory.d.ts +17 -0
  41. package/lib/internal/createCanonicalTempDirectory.js +42 -0
  42. package/lib/internal/createCanonicalTempDirectory.js.map +1 -0
  43. package/lib/internal/projectInputPathIdentity.d.ts +3 -0
  44. package/lib/internal/projectInputPathIdentity.js +11 -5
  45. package/lib/internal/projectInputPathIdentity.js.map +1 -1
  46. package/lib/internal/resolveNodeBinary.d.ts +14 -0
  47. package/lib/internal/resolveNodeBinary.js +150 -0
  48. package/lib/internal/resolveNodeBinary.js.map +1 -0
  49. package/lib/internal/resolveSafeCacheCleanupTargets.d.ts +15 -0
  50. package/lib/internal/resolveSafeCacheCleanupTargets.js +61 -0
  51. package/lib/internal/resolveSafeCacheCleanupTargets.js.map +1 -0
  52. package/lib/launcher/internal/prepareExecution.d.ts +3 -0
  53. package/lib/launcher/internal/prepareExecution.js +42 -14
  54. package/lib/launcher/internal/prepareExecution.js.map +1 -1
  55. package/lib/launcher/internal/runTtsc.js +25 -13
  56. package/lib/launcher/internal/runTtsc.js.map +1 -1
  57. package/lib/launcher/internal/runTtscserver.js +18 -3
  58. package/lib/launcher/internal/runTtscserver.js.map +1 -1
  59. package/lib/launcher/internal/runTtsx.js +2 -0
  60. package/lib/launcher/internal/runTtsx.js.map +1 -1
  61. package/lib/launcher/internal/runtimeHooks.d.ts +37 -1
  62. package/lib/launcher/internal/runtimeHooks.js +653 -62
  63. package/lib/launcher/internal/runtimeHooks.js.map +1 -1
  64. package/lib/plugin/internal/buildSourcePlugin.d.ts +62 -8
  65. package/lib/plugin/internal/buildSourcePlugin.js +754 -72
  66. package/lib/plugin/internal/buildSourcePlugin.js.map +1 -1
  67. package/lib/plugin/internal/loadProjectPlugins.d.ts +17 -5
  68. package/lib/plugin/internal/loadProjectPlugins.js +1339 -77
  69. package/lib/plugin/internal/loadProjectPlugins.js.map +1 -1
  70. package/lib/register.d.ts +1 -0
  71. package/lib/register.js +46 -0
  72. package/lib/register.js.map +1 -0
  73. package/lib/structures/ITtscCompilerContext.d.ts +6 -3
  74. package/lib/structures/ITtscCompilerTransformation.d.ts +31 -0
  75. package/lib/structures/ITtscPlugin.d.ts +33 -0
  76. package/package.json +16 -9
  77. package/shim/checker/go.mod +9 -0
  78. package/shim/checker/go.sum +22 -0
  79. package/shim/checker/shim.go +75 -0
  80. package/shim/compiler/incremental.go +45 -8
  81. package/src/TtscCompiler.ts +55 -33
  82. package/src/compiler/internal/captureProcessOutput.ts +3 -2
  83. package/src/compiler/internal/compileProjectInMemory.ts +4 -3
  84. package/src/compiler/internal/resolveEmittedJavaScript.ts +6 -0
  85. package/src/compiler/internal/runBuild.ts +102 -39
  86. package/src/compiler/internal/runSingleFileEmit.ts +2 -2
  87. package/src/compiler/internal/sharedHostHelpers.ts +44 -0
  88. package/src/compiler/internal/startResidentTransform.ts +12 -3
  89. package/src/compiler/internal/transformProjectInMemory.ts +410 -39
  90. package/src/flags/schema.ts +12 -5
  91. package/src/internal/createCanonicalTempDirectory.ts +53 -0
  92. package/src/internal/projectInputPathIdentity.ts +17 -4
  93. package/src/internal/resolveNodeBinary.ts +173 -0
  94. package/src/internal/resolveSafeCacheCleanupTargets.ts +85 -0
  95. package/src/launcher/internal/prepareExecution.ts +50 -14
  96. package/src/launcher/internal/runTtsc.ts +24 -13
  97. package/src/launcher/internal/runTtscserver.ts +18 -3
  98. package/src/launcher/internal/runTtsx.ts +2 -0
  99. package/src/launcher/internal/runtimeHooks.ts +823 -66
  100. package/src/plugin/internal/buildSourcePlugin.ts +984 -79
  101. package/src/plugin/internal/loadProjectPlugins.ts +1718 -104
  102. package/src/register.ts +47 -0
  103. package/src/structures/ITtscCompilerContext.ts +6 -3
  104. package/src/structures/ITtscCompilerTransformation.ts +39 -0
  105. package/src/structures/ITtscPlugin.ts +36 -0
  106. package/tools/shim_audit/baseline.json +0 -1
  107. package/utility/host.go +9 -3
  108. package/lib/internal/assertSafeExplicitCacheDirectory.d.ts +0 -5
  109. package/lib/internal/assertSafeExplicitCacheDirectory.js +0 -26
  110. package/lib/internal/assertSafeExplicitCacheDirectory.js.map +0 -1
  111. package/src/internal/assertSafeExplicitCacheDirectory.ts +0 -29
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createCanonicalTempDirectory = createCanonicalTempDirectory;
7
+ const node_fs_1 = __importDefault(require("node:fs"));
8
+ const node_os_1 = __importDefault(require("node:os"));
9
+ const node_path_1 = __importDefault(require("node:path"));
10
+ const FILESYSTEM_OPERATIONS = {
11
+ lstat: node_fs_1.default.lstatSync,
12
+ mkdtemp: node_fs_1.default.mkdtempSync,
13
+ realpath: node_fs_1.default.realpathSync.native,
14
+ };
15
+ /**
16
+ * Create a unique temporary directory under a frozen physical parent.
17
+ *
18
+ * The parent is resolved before creation so retargeting the caller's
19
+ * TEMP/TMPDIR alias cannot redirect later writes or recursive cleanup. The
20
+ * postflight accepts only a real directory that resolves to a direct child of
21
+ * that same parent; a rejected child is deliberately left untouched because no
22
+ * safe ownership identity was established.
23
+ */
24
+ function createCanonicalTempDirectory(prefix, parent = node_os_1.default.tmpdir(), operations = FILESYSTEM_OPERATIONS) {
25
+ if (prefix.length === 0 || node_path_1.default.basename(prefix) !== prefix) {
26
+ throw new TypeError("ttsc: temporary directory prefix must be a basename");
27
+ }
28
+ const physicalParent = operations.realpath(node_path_1.default.resolve(parent));
29
+ if (!operations.lstat(physicalParent).isDirectory()) {
30
+ throw new Error(`ttsc: temporary directory parent is not a directory: ${physicalParent}`);
31
+ }
32
+ const directory = operations.mkdtemp(node_path_1.default.join(physicalParent, prefix));
33
+ if (!operations.lstat(directory).isDirectory()) {
34
+ throw new Error(`ttsc: temporary directory postflight is not a directory: ${directory}`);
35
+ }
36
+ const physicalDirectory = operations.realpath(directory);
37
+ if (node_path_1.default.dirname(physicalDirectory) !== physicalParent) {
38
+ throw new Error(`ttsc: temporary directory escaped its physical parent: ${physicalDirectory}`);
39
+ }
40
+ return physicalDirectory;
41
+ }
42
+ //# sourceMappingURL=createCanonicalTempDirectory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createCanonicalTempDirectory.js","sourceRoot":"","sources":["../../src/internal/createCanonicalTempDirectory.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,sDAAyB;AACzB,0DAA6B;AAQ7B,MAAM,qBAAqB,GAAqC;IAC9D,KAAK,EAAE,iBAAE,CAAC,SAAS;IACnB,OAAO,EAAE,iBAAE,CAAC,WAAW;IACvB,QAAQ,EAAE,iBAAE,CAAC,YAAY,CAAC,MAAM;CACjC,CAAC;AAEF;;;;;;;;GAQG;AACH,sCACE,MAAc,EACd,MAAM,GAAW,iBAAE,CAAC,MAAM,EAAE,EAC5B,UAAU,GAAqC,qBAAqB;IAEpE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,mBAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC;QAC5D,MAAM,IAAI,SAAS,CAAC,qDAAqD,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC,mBAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,wDAAwD,cAAc,EAAE,CACzE,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,mBAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CACb,4DAA4D,SAAS,EAAE,CACxE,CAAC;IACJ,CAAC;IACD,MAAM,iBAAiB,GAAG,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,mBAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,cAAc,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CACb,0DAA0D,iBAAiB,EAAE,CAC9E,CAAC;IACJ,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
@@ -1,10 +1,13 @@
1
+ import fs from "node:fs";
1
2
  export type FilesystemPathIdentity = {
2
3
  key: string;
3
4
  path: string;
4
5
  };
5
6
  export type FilesystemPathIdentityOperations = {
6
7
  caseSensitive(directory: string): boolean;
8
+ lstat?(location: string): fs.Stats | fs.BigIntStats;
7
9
  platform: NodeJS.Platform;
10
+ readdir?(directory: string): string[];
8
11
  realpath(location: string): string;
9
12
  throwOnRealpathError: boolean;
10
13
  };
@@ -28,8 +28,14 @@ function createFilesystemPathIdentityContext(operations = {}) {
28
28
  const pathApi = platform === "win32" ? node_path_1.default.win32 : node_path_1.default;
29
29
  const throwOnRealpathError = operations.throwOnRealpathError ?? true;
30
30
  const realpath = operations.realpath ?? physicalRealpath;
31
+ const lstat = operations.lstat ?? node_fs_1.default.lstatSync;
32
+ const readdir = operations.readdir ?? node_fs_1.default.readdirSync;
31
33
  const caseSensitive = operations.caseSensitive ??
32
- ((directory) => filesystemDirectoryIsCaseSensitive(directory, platform));
34
+ ((directory) => filesystemDirectoryIsCaseSensitive(directory, platform, {
35
+ lstat,
36
+ readdir,
37
+ realpath,
38
+ }));
33
39
  const resolve = (location) => {
34
40
  const normalized = resolveFilesystemPath(location, platform);
35
41
  const cached = identities.get(normalized);
@@ -133,10 +139,10 @@ function cachedCaseSensitivity(cache, caseSensitive, directory) {
133
139
  function physicalRealpath(location) {
134
140
  return node_fs_1.default.realpathSync.native?.(location) ?? node_fs_1.default.realpathSync(location);
135
141
  }
136
- function filesystemDirectoryIsCaseSensitive(directory, platform) {
142
+ function filesystemDirectoryIsCaseSensitive(directory, platform, operations) {
137
143
  let entries;
138
144
  try {
139
- entries = node_fs_1.default.readdirSync(directory);
145
+ entries = operations.readdir(directory);
140
146
  }
141
147
  catch {
142
148
  return unprovenCaseSensitivity(platform);
@@ -155,7 +161,7 @@ function filesystemDirectoryIsCaseSensitive(directory, platform) {
155
161
  if (alternate === name)
156
162
  continue;
157
163
  try {
158
- node_fs_1.default.lstatSync(node_path_1.default.join(directory, alternate));
164
+ operations.lstat(node_path_1.default.join(directory, alternate));
159
165
  return false;
160
166
  }
161
167
  catch (error) {
@@ -183,7 +189,7 @@ function filesystemDirectoryIsCaseSensitive(directory, platform) {
183
189
  const alternate = alternateCase(name);
184
190
  if (alternate !== name) {
185
191
  try {
186
- physicalRealpath(node_path_1.default.join(parent, alternate));
192
+ operations.realpath(node_path_1.default.join(parent, alternate));
187
193
  return false;
188
194
  }
189
195
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"projectInputPathIdentity.js","sourceRoot":"","sources":["../../src/internal/projectInputPathIdentity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projectInputPathIdentity.js","sourceRoot":"","sources":["../../src/internal/projectInputPathIdentity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export type JavaScriptRuntimeCapabilities = {
2
+ bun: boolean;
3
+ executable?: string;
4
+ registerHooks: boolean;
5
+ };
6
+ /** Probe an interpreter instead of inferring its identity from the host. */
7
+ export declare function javascriptRuntimeCapabilities(runtime: string, env: NodeJS.ProcessEnv, cwd: string): JavaScriptRuntimeCapabilities;
8
+ /**
9
+ * Locate a real Node runtime for ttsx and native JavaScript config loaders.
10
+ *
11
+ * Bun can directly evaluate a descriptor, but it does not implement the
12
+ * synchronous `module.registerHooks` contract used by those loaders.
13
+ */
14
+ export declare function resolveNodeBinary(env?: NodeJS.ProcessEnv, cwd?: string): string | undefined;
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.javascriptRuntimeCapabilities = javascriptRuntimeCapabilities;
7
+ exports.resolveNodeBinary = resolveNodeBinary;
8
+ const node_child_process_1 = __importDefault(require("node:child_process"));
9
+ const node_fs_1 = __importDefault(require("node:fs"));
10
+ const node_path_1 = __importDefault(require("node:path"));
11
+ const runtimeCapabilityCache = new Map();
12
+ /** Probe an interpreter instead of inferring its identity from the host. */
13
+ function javascriptRuntimeCapabilities(runtime, env, cwd) {
14
+ const effectiveEnv = { ...process.env, ...env };
15
+ const cacheKey = runtimeCapabilityCacheKey(runtime, effectiveEnv);
16
+ const beforeIdentity = runtimeExecutableIdentity(runtime);
17
+ if (cacheKey !== undefined && beforeIdentity !== undefined) {
18
+ const cached = runtimeCapabilityCache.get(cacheKey);
19
+ if (cached?.identity === beforeIdentity)
20
+ return { ...cached.capabilities };
21
+ runtimeCapabilityCache.delete(cacheKey);
22
+ }
23
+ const result = node_child_process_1.default.spawnSync(runtime, [
24
+ "-e",
25
+ `const Module = require("node:module"); process.stdout.write(JSON.stringify({ bun: typeof globalThis.Bun === "object", executable: process.execPath, registerHooks: typeof Module.registerHooks === "function" }));`,
26
+ ], {
27
+ cwd,
28
+ encoding: "utf8",
29
+ env: effectiveEnv,
30
+ timeout: 30_000,
31
+ windowsHide: true,
32
+ });
33
+ let capabilities = {
34
+ bun: false,
35
+ registerHooks: false,
36
+ };
37
+ if (result.status === 0) {
38
+ try {
39
+ const parsed = JSON.parse(result.stdout);
40
+ capabilities = {
41
+ bun: parsed.bun === true,
42
+ ...(typeof parsed.executable === "string" &&
43
+ node_path_1.default.isAbsolute(parsed.executable)
44
+ ? { executable: node_path_1.default.resolve(parsed.executable) }
45
+ : {}),
46
+ registerHooks: parsed.registerHooks === true,
47
+ };
48
+ }
49
+ catch {
50
+ // An incompatible executable is not a Node runtime candidate.
51
+ }
52
+ }
53
+ // Cache successful absolute candidates only when the child reports that same
54
+ // executable and both its lexical link and physical target retain the same
55
+ // filesystem identity. Relative/bare commands and wrappers can resolve
56
+ // differently by cwd/PATH/environment, negative probes can become valid later,
57
+ // and NODE_OPTIONS can load mutable user code, so none of those states are
58
+ // memoized. This removes a process spawn from the common path without
59
+ // authorizing a replaced or redirected runtime in a long-lived host.
60
+ const afterIdentity = runtimeExecutableIdentity(runtime);
61
+ if (cacheKey !== undefined &&
62
+ capabilities.executable !== undefined &&
63
+ beforeIdentity !== undefined &&
64
+ beforeIdentity === afterIdentity &&
65
+ sameRuntimeExecutable(runtime, capabilities.executable)) {
66
+ runtimeCapabilityCache.set(cacheKey, {
67
+ capabilities: { ...capabilities },
68
+ identity: afterIdentity,
69
+ });
70
+ }
71
+ return capabilities;
72
+ }
73
+ /** True when a probe ran the candidate itself rather than a mutable wrapper. */
74
+ function sameRuntimeExecutable(candidate, executable) {
75
+ try {
76
+ const candidateStats = node_fs_1.default.statSync(candidate, { bigint: true });
77
+ const executableStats = node_fs_1.default.statSync(executable, { bigint: true });
78
+ return ((candidateStats.ino !== 0n &&
79
+ candidateStats.dev === executableStats.dev &&
80
+ candidateStats.ino === executableStats.ino) ||
81
+ node_fs_1.default.realpathSync.native(candidate) === node_fs_1.default.realpathSync.native(executable));
82
+ }
83
+ catch {
84
+ return false;
85
+ }
86
+ }
87
+ /** Stable cache key only for an absolute runtime with no preload authority. */
88
+ function runtimeCapabilityCacheKey(runtime, env) {
89
+ if (!node_path_1.default.isAbsolute(runtime) || env.NODE_OPTIONS?.trim())
90
+ return undefined;
91
+ return node_path_1.default.resolve(runtime);
92
+ }
93
+ /** Identity of an executable spelling and the physical file it selects. */
94
+ function runtimeExecutableIdentity(runtime) {
95
+ if (!node_path_1.default.isAbsolute(runtime))
96
+ return undefined;
97
+ try {
98
+ const lexical = node_fs_1.default.lstatSync(runtime, { bigint: true });
99
+ const physicalPath = node_fs_1.default.realpathSync.native(runtime);
100
+ const physical = node_fs_1.default.statSync(physicalPath, { bigint: true });
101
+ return [
102
+ physicalPath,
103
+ lexical.dev,
104
+ lexical.ino,
105
+ lexical.mode,
106
+ lexical.size,
107
+ lexical.mtimeNs,
108
+ lexical.ctimeNs,
109
+ physical.dev,
110
+ physical.ino,
111
+ physical.mode,
112
+ physical.size,
113
+ physical.mtimeNs,
114
+ physical.ctimeNs,
115
+ ].join("\0");
116
+ }
117
+ catch {
118
+ return undefined;
119
+ }
120
+ }
121
+ /**
122
+ * Locate a real Node runtime for ttsx and native JavaScript config loaders.
123
+ *
124
+ * Bun can directly evaluate a descriptor, but it does not implement the
125
+ * synchronous `module.registerHooks` contract used by those loaders.
126
+ */
127
+ function resolveNodeBinary(env = process.env, cwd = process.cwd()) {
128
+ const candidates = [
129
+ env.TTSC_NODE_BINARY,
130
+ process.env.TTSC_NODE_BINARY,
131
+ process.execPath,
132
+ "node",
133
+ ];
134
+ const seen = new Set();
135
+ for (const candidate of candidates) {
136
+ if (candidate === undefined || candidate.trim() === "")
137
+ continue;
138
+ if (seen.has(candidate))
139
+ continue;
140
+ seen.add(candidate);
141
+ const capabilities = javascriptRuntimeCapabilities(candidate, env, cwd);
142
+ if (!capabilities.bun &&
143
+ capabilities.registerHooks &&
144
+ capabilities.executable !== undefined) {
145
+ return capabilities.executable;
146
+ }
147
+ }
148
+ return undefined;
149
+ }
150
+ //# sourceMappingURL=resolveNodeBinary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveNodeBinary.js","sourceRoot":"","sources":["../../src/internal/resolveNodeBinary.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { type FilesystemPathIdentityOperations } from "./projectInputPathIdentity";
2
+ export interface SafeCacheCleanupTarget {
3
+ exists: boolean;
4
+ path: string;
5
+ requestedPath: string;
6
+ }
7
+ /**
8
+ * Resolve one cache-clean transaction to physical deletion targets.
9
+ *
10
+ * Every target is proved before the caller removes the first one. Existing
11
+ * aliases are pinned to their physical spelling, while a missing suffix keeps
12
+ * the identity of its nearest existing parent. Identity errors other than a
13
+ * genuinely missing path fail closed.
14
+ */
15
+ export declare function resolveSafeCacheCleanupTargets(projectRoot: string, cacheDirectories: readonly string[], operations?: Partial<FilesystemPathIdentityOperations>): SafeCacheCleanupTarget[];
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.resolveSafeCacheCleanupTargets = resolveSafeCacheCleanupTargets;
7
+ const node_fs_1 = __importDefault(require("node:fs"));
8
+ const node_path_1 = __importDefault(require("node:path"));
9
+ const projectInputPathIdentity_1 = require("./projectInputPathIdentity");
10
+ /**
11
+ * Resolve one cache-clean transaction to physical deletion targets.
12
+ *
13
+ * Every target is proved before the caller removes the first one. Existing
14
+ * aliases are pinned to their physical spelling, while a missing suffix keeps
15
+ * the identity of its nearest existing parent. Identity errors other than a
16
+ * genuinely missing path fail closed.
17
+ */
18
+ function resolveSafeCacheCleanupTargets(projectRoot, cacheDirectories, operations = {}) {
19
+ const identities = (0, projectInputPathIdentity_1.createFilesystemPathIdentityContext)(operations);
20
+ const lstat = operations.lstat ?? node_fs_1.default.lstatSync;
21
+ const project = identities.resolve(projectRoot);
22
+ return cacheDirectories.map((cacheDirectory) => {
23
+ const requestedCache = (0, projectInputPathIdentity_1.resolveFilesystemPath)(cacheDirectory);
24
+ // Fix every mutable alias ancestor before inspecting the terminal entry.
25
+ // All later identity checks and deletion paths use this physical-parent
26
+ // candidate, so a concurrent retarget cannot move ownership mid-proof.
27
+ const pinnedCache = node_path_1.default.join(identities.resolve(node_path_1.default.dirname(requestedCache)).path, node_path_1.default.basename(requestedCache));
28
+ const cache = identities.resolve(pinnedCache);
29
+ if (requestedCache === node_path_1.default.parse(requestedCache).root ||
30
+ cache.path === node_path_1.default.parse(cache.path).root) {
31
+ throw new Error(`ttsc: refusing to clean cache directory ${JSON.stringify(requestedCache)} because filesystem roots are never valid cache directories`);
32
+ }
33
+ if ((0, projectInputPathIdentity_1.isFilesystemPathIdentityWithin)(cache.key, project.key)) {
34
+ throw new Error(`ttsc: refusing to clean cache directory ${JSON.stringify(requestedCache)} because it equals or contains project root ${JSON.stringify(project.path)}; choose a dedicated cache directory`);
35
+ }
36
+ const status = lstatIfPresent(pinnedCache, lstat);
37
+ // Recursive rm removes a terminal symlink or junction itself rather than
38
+ // following it. Preserve that behavior while pinning any mutable alias in
39
+ // its ancestors to the physical parent selected by this transaction.
40
+ const deletionPath = status?.isSymbolicLink() ? pinnedCache : cache.path;
41
+ return {
42
+ exists: status !== undefined,
43
+ path: deletionPath,
44
+ requestedPath: requestedCache,
45
+ };
46
+ });
47
+ }
48
+ function lstatIfPresent(location, lstat) {
49
+ try {
50
+ return lstat(location);
51
+ }
52
+ catch (error) {
53
+ if (error instanceof Error &&
54
+ "code" in error &&
55
+ (error.code === "ENOENT" || error.code === "ENOTDIR")) {
56
+ return undefined;
57
+ }
58
+ throw error;
59
+ }
60
+ }
61
+ //# sourceMappingURL=resolveSafeCacheCleanupTargets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveSafeCacheCleanupTargets.js","sourceRoot":"","sources":["../../src/internal/resolveSafeCacheCleanupTargets.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,0DAA6B;AAE7B,yEAKoC;AAQpC;;;;;;;GAOG;AACH,wCACE,WAAmB,EACnB,gBAAmC,EACnC,UAAU,GAA8C,EAAE;IAE1D,MAAM,UAAU,GAAG,IAAA,8DAAmC,EAAC,UAAU,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,iBAAE,CAAC,SAAS,CAAC;IAC/C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAChD,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE;QAC7C,MAAM,cAAc,GAAG,IAAA,gDAAqB,EAAC,cAAc,CAAC,CAAC;QAC7D,yEAAyE;QACzE,wEAAwE;QACxE,uEAAuE;QACvE,MAAM,WAAW,GAAG,mBAAI,CAAC,IAAI,CAC3B,UAAU,CAAC,OAAO,CAAC,mBAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EACrD,mBAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAC9B,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9C,IACE,cAAc,KAAK,mBAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI;YAClD,KAAK,CAAC,IAAI,KAAK,mBAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAC1C,CAAC;YACD,MAAM,IAAI,KAAK,CACb,2CAA2C,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,6DAA6D,CACvI,CAAC;QACJ,CAAC;QACD,IAAI,IAAA,yDAA8B,EAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,2CAA2C,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,+CAA+C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAC3L,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAClD,yEAAyE;QACzE,0EAA0E;QAC1E,qEAAqE;QACrE,MAAM,YAAY,GAAG,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QACzE,OAAO;YACL,MAAM,EAAE,MAAM,KAAK,SAAS;YAC5B,IAAI,EAAE,YAAY;YAClB,aAAa,EAAE,cAAc;SAC9B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CACrB,QAAgB,EAChB,KAA6D;IAE7D,IAAI,CAAC;QACH,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,KAAK;YACtB,MAAM,IAAI,KAAK;YACf,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,EACrD,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -5,11 +5,14 @@ import { type OwningModuleOptions } from "./runtimeHooks";
5
5
  export declare function prepareExecution(entryFile: string, options?: TtscCommonOptions & {
6
6
  cacheDir?: string;
7
7
  project?: string;
8
+ /** Internal cache key for more than one checked entry in this process. */
9
+ runtimeCacheKey?: string;
8
10
  }): {
9
11
  cleanupDir: string;
10
12
  emitDir: string;
11
13
  emittedFiles?: readonly string[];
12
14
  entryFile: string;
15
+ entrySource: string;
13
16
  moduleOptions: OwningModuleOptions;
14
17
  projectRoot: string;
15
18
  rootDir: string;
@@ -14,8 +14,6 @@ const resolveEmittedJavaScript_1 = require("../../compiler/internal/resolveEmitt
14
14
  const runBuild_1 = require("../../compiler/internal/runBuild");
15
15
  const projectInputPathIdentity_1 = require("../../internal/projectInputPathIdentity");
16
16
  const runtimeHooks_1 = require("./runtimeHooks");
17
- /** Subdirectory name that isolates concurrent ttsx processes by PID. */
18
- const PROCESS_CACHE_KEY = String(process.pid);
19
17
  /**
20
18
  * Maximum number of ancestor directories above the project root that the
21
19
  * virtual filesystem overlay mirrors. Three levels covers the common monorepo
@@ -59,6 +57,7 @@ function prepareExecution(entryFile, options = {}) {
59
57
  emitDir: context.emitDir,
60
58
  emittedFiles: context.emittedFiles ?? undefined,
61
59
  entryFile: emittedEntry,
60
+ entrySource: entry,
62
61
  moduleOptions: context.moduleOptions,
63
62
  projectRoot: context.root,
64
63
  rootDir: context.runtimeRootDir,
@@ -127,6 +126,18 @@ function resolveEntrySpelling(cwd, entryFile) {
127
126
  });
128
127
  return identities.resolve(node_path_1.default.resolve(cwd, entryFile)).path;
129
128
  }
129
+ /**
130
+ * Directory-safe identity for one prepared runtime. Direct `ttsx` retains its
131
+ * historical PID directory; the public preload supplies a distinct key for
132
+ * every late TypeScript root so one preparation cannot erase another's emit.
133
+ */
134
+ function resolveRuntimeCacheKey(runtimeCacheKey) {
135
+ const key = runtimeCacheKey ?? String(process.pid);
136
+ if (!/^[A-Za-z0-9._-]+$/.test(key) || key === "." || key === "..") {
137
+ throw new Error(`ttsx: invalid runtime cache key ${JSON.stringify(key)}`);
138
+ }
139
+ return key;
140
+ }
130
141
  /**
131
142
  * @param discoveryFile - The entry as the user named it. Project discovery
132
143
  * walks up from here, so it must not be retargeted through a symlink.
@@ -142,20 +153,28 @@ function createProjectContext(cwd, discoveryFile, options) {
142
153
  const tsconfig = project.path;
143
154
  const root = project.root;
144
155
  const explicitCacheDir = resolveCacheDir(cwd, options.cacheDir);
145
- const cacheDir = explicitCacheDir ??
156
+ const cacheDirSpelling = explicitCacheDir ??
146
157
  node_path_1.default.join(root, "node_modules", ".cache", "ttsc", "ttsx");
147
- const processDir = node_path_1.default.join(cacheDir, "project", PROCESS_CACHE_KEY);
148
- const virtualRoot = node_path_1.default.join(processDir, "fs");
158
+ const runtimeCacheKey = resolveRuntimeCacheKey(options.runtimeCacheKey);
149
159
  // Resolved once: it now costs a realpath (and, for a missing directory on
150
160
  // Windows, a case-sensitivity probe) rather than a string join.
151
161
  const runtimeRootDir = resolveRuntimeSourceRoot(project);
162
+ node_fs_1.default.mkdirSync(cacheDirSpelling, { recursive: true });
163
+ // Pin the cache parent before deriving a generation path. Descriptors run
164
+ // after this point and may retarget a caller-controlled symlink or junction;
165
+ // every later runtime write and recursive cleanup must remain below the
166
+ // physical parent selected here.
167
+ const cacheDir = (0, projectInputPathIdentity_1.createFilesystemPathIdentityContext)().resolve(cacheDirSpelling).path;
168
+ const processDir = node_path_1.default.join(cacheDir, "project", runtimeCacheKey);
169
+ const virtualRoot = node_path_1.default.join(processDir, "fs");
152
170
  return {
153
171
  project,
154
172
  tsconfig,
155
173
  root,
156
174
  cacheDir,
175
+ runtimeCacheKey,
157
176
  processDir,
158
- pluginCacheDir: explicitCacheDir,
177
+ pluginCacheDir: explicitCacheDir === undefined ? undefined : cacheDir,
159
178
  virtualRoot,
160
179
  emitDir: project.compilerOptions.outDir
161
180
  ? virtualPath(virtualRoot, project.compilerOptions.outDir)
@@ -316,7 +335,7 @@ function buildEntryProject(context, options, entry) {
316
335
  // `outDir`, writing a `.js` and its map beside the user's `.ts` where nothing
317
336
  // cleans them up.
318
337
  const rootDir = commonAncestorDirectory(node_path_1.default.dirname(entry), context.root);
319
- const tsconfig = node_path_1.default.join(context.root, `.ttsx-entry.${PROCESS_CACHE_KEY}.tsconfig.json`);
338
+ const tsconfig = node_path_1.default.join(context.root, `.ttsx-entry.${context.runtimeCacheKey}.tsconfig.json`);
320
339
  node_fs_1.default.writeFileSync(tsconfig, JSON.stringify({
321
340
  extends: context.tsconfig.replace(/\\/g, "/"),
322
341
  compilerOptions: { rootDir: rootDir.replace(/\\/g, "/") },
@@ -376,8 +395,8 @@ function buildEntryProject(context, options, entry) {
376
395
  }
377
396
  catch {
378
397
  // Best effort: a leftover synthesized tsconfig must not mask a build
379
- // failure, and it is PID-scoped so it can never be mistaken for a real
380
- // project config.
398
+ // failure, and it is runtime-scoped so it can never be mistaken for a
399
+ // real project config.
381
400
  }
382
401
  }
383
402
  }
@@ -507,6 +526,9 @@ function isDirectorySymlinkTarget(realEntry) {
507
526
  */
508
527
  function collectLinkDirectories(projectRoot) {
509
528
  const out = [];
529
+ const identities = (0, projectInputPathIdentity_1.createFilesystemPathIdentityContext)({
530
+ throwOnRealpathError: false,
531
+ });
510
532
  let current = projectRoot;
511
533
  for (let depth = 0; depth <= MAX_VIRTUAL_PARENT_DEPTH; depth += 1) {
512
534
  out.push(current);
@@ -516,17 +538,23 @@ function collectLinkDirectories(projectRoot) {
516
538
  break;
517
539
  }
518
540
  const parent = node_path_1.default.dirname(current);
519
- if (parent === current || isUnsafeVirtualParent(parent)) {
541
+ if (parent === current || isUnsafeVirtualParent(parent, identities)) {
520
542
  break;
521
543
  }
522
544
  current = parent;
523
545
  }
524
546
  return out.reverse();
525
547
  }
526
- function isUnsafeVirtualParent(directory) {
527
- const resolved = node_path_1.default.resolve(directory);
528
- const root = node_path_1.default.parse(resolved).root;
529
- return resolved === root || resolved === node_path_1.default.resolve(node_os_1.default.tmpdir());
548
+ /**
549
+ * Whether mirroring `directory` would reach a filesystem or temporary root.
550
+ * Identity comparison is required on Windows, where `os.tmpdir()` can carry an
551
+ * 8.3 component while a project created below it is returned in long spelling.
552
+ */
553
+ function isUnsafeVirtualParent(directory, identities) {
554
+ const resolved = identities.resolve(directory);
555
+ const root = identities.resolve(node_path_1.default.parse(resolved.path).root);
556
+ const temporaryRoot = identities.resolve(node_os_1.default.tmpdir());
557
+ return resolved.key === root.key || resolved.key === temporaryRoot.key;
530
558
  }
531
559
  /**
532
560
  * Map an absolute path into a stable, filesystem-safe subtree under `root`.
@@ -1 +1 @@
1
- {"version":3,"file":"prepareExecution.js","sourceRoot":"","sources":["../../../src/launcher/internal/prepareExecution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepareExecution.js","sourceRoot":"","sources":["../../../src/launcher/internal/prepareExecution.ts"],"names":[],"mappings":"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"}