ttsc 0.4.0-dev.20260424 → 0.4.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/runner/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { type CommonOptions } from "../api";
2
+ export interface RegisterOptions extends CommonOptions {
3
+ cacheDir?: string;
4
+ project?: string;
5
+ extensions?: readonly string[];
6
+ }
7
+ export interface PreparedExecution {
8
+ emitDir: string;
9
+ entryFile: string;
10
+ moduleKind: "cjs" | "esm";
11
+ }
12
+ export declare function register(options?: RegisterOptions): () => void;
13
+ export declare function prepareExecution(entryFile: string, options?: RegisterOptions): PreparedExecution;
@@ -0,0 +1,424 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.register = register;
37
+ exports.prepareExecution = prepareExecution;
38
+ const node_crypto_1 = require("node:crypto");
39
+ const fs = __importStar(require("node:fs"));
40
+ const path = __importStar(require("node:path"));
41
+ const api_1 = require("../api");
42
+ const project_1 = require("../project");
43
+ const platform_1 = require("../platform");
44
+ const DEFAULT_EXTENSIONS = Object.freeze([
45
+ ".ts",
46
+ ".tsx",
47
+ ".cts",
48
+ ".mts",
49
+ ]);
50
+ const PROCESS_CACHE_KEY = String(process.pid);
51
+ const SINGLE_FILE_CACHE_VERSION = "v4";
52
+ function register(options = {}) {
53
+ const cwd = path.resolve(options.cwd ?? process.cwd());
54
+ const extensions = [...(options.extensions ?? DEFAULT_EXTENSIONS)];
55
+ const contextCache = new Map();
56
+ const previous = new Map();
57
+ const getContext = (filename) => {
58
+ if (options.project) {
59
+ const key = path.resolve(cwd, options.project);
60
+ const cached = contextCache.get(key);
61
+ if (cached)
62
+ return cached;
63
+ const tsconfig = (0, project_1.resolveProjectConfig)({ cwd, tsconfig: key });
64
+ const root = (0, project_1.resolveProjectRoot)({ cwd, tsconfig });
65
+ const cacheDir = options.cacheDir ?? (0, project_1.defaultCacheDirectory)(root, "ttsx");
66
+ const created = {
67
+ tsconfig,
68
+ root,
69
+ cacheDir,
70
+ cacheSalt: createCompilerCacheSalt(options),
71
+ compiledText: new Map(),
72
+ diagnosticsChecked: false,
73
+ emitDir: path.join(cacheDir, "project", PROCESS_CACHE_KEY),
74
+ emittedFiles: null,
75
+ entryMap: new Map(),
76
+ };
77
+ contextCache.set(key, created);
78
+ return created;
79
+ }
80
+ const tsconfig = (0, project_1.resolveProjectConfig)({ cwd, file: filename });
81
+ const cached = contextCache.get(tsconfig);
82
+ if (cached)
83
+ return cached;
84
+ const root = (0, project_1.resolveProjectRoot)({ cwd, tsconfig });
85
+ const cacheDir = options.cacheDir ?? (0, project_1.defaultCacheDirectory)(root, "ttsx");
86
+ const created = {
87
+ tsconfig,
88
+ root,
89
+ cacheDir,
90
+ cacheSalt: createCompilerCacheSalt(options),
91
+ compiledText: new Map(),
92
+ diagnosticsChecked: false,
93
+ emitDir: path.join(cacheDir, "project", PROCESS_CACHE_KEY),
94
+ emittedFiles: null,
95
+ entryMap: new Map(),
96
+ };
97
+ contextCache.set(tsconfig, created);
98
+ return created;
99
+ };
100
+ const compile = (filename) => {
101
+ const context = getContext(filename);
102
+ ensureProjectDiagnostics(context, options);
103
+ const output = readCompiledOutput(context, filename, options);
104
+ if (looksLikeESM(output)) {
105
+ throw new Error(`ttsx: ESM output is not yet supported by the in-process CJS runner (${filename}).`);
106
+ }
107
+ return output;
108
+ };
109
+ for (const extension of extensions) {
110
+ previous.set(extension, require.extensions[extension]);
111
+ require.extensions[extension] = (module, filename) => {
112
+ const compiled = compile(filename);
113
+ module._compile(compiled, filename);
114
+ };
115
+ }
116
+ return () => {
117
+ for (const extension of extensions) {
118
+ const handler = previous.get(extension);
119
+ if (handler) {
120
+ require.extensions[extension] = handler;
121
+ }
122
+ else {
123
+ delete require.extensions[extension];
124
+ }
125
+ }
126
+ };
127
+ }
128
+ function prepareExecution(entryFile, options = {}) {
129
+ const cwd = path.resolve(options.cwd ?? process.cwd());
130
+ const context = resolveProjectContext(cwd, entryFile, options);
131
+ ensureProjectDiagnostics(context, options);
132
+ const entryOutput = transformSingleFile(context, entryFile, options);
133
+ if (!looksLikeESM(entryOutput)) {
134
+ return {
135
+ emitDir: context.emitDir,
136
+ entryFile,
137
+ moduleKind: "cjs",
138
+ };
139
+ }
140
+ ensureProjectBuild(context, options);
141
+ const resolvedEntry = resolveEmittedFile(context, entryFile);
142
+ if (resolvedEntry === null) {
143
+ throw new Error(`ttsx: emitted entry not found for ${entryFile}`);
144
+ }
145
+ const output = fs.readFileSync(resolvedEntry, "utf8");
146
+ return {
147
+ emitDir: context.emitDir,
148
+ entryFile: resolvedEntry,
149
+ moduleKind: looksLikeESM(output) ? "esm" : "cjs",
150
+ };
151
+ }
152
+ function ensureProjectBuild(context, options) {
153
+ if (context.emittedFiles !== null)
154
+ return;
155
+ fs.mkdirSync(context.cacheDir, { recursive: true });
156
+ fs.rmSync(context.emitDir, { recursive: true, force: true });
157
+ const result = (0, api_1.build)({
158
+ binary: options.binary,
159
+ cwd: context.root,
160
+ env: options.env,
161
+ emit: true,
162
+ outDir: context.emitDir,
163
+ quiet: true,
164
+ tsconfig: context.tsconfig,
165
+ });
166
+ if (result.status === 0) {
167
+ context.emittedFiles = listEmittedFiles(context.emitDir);
168
+ return;
169
+ }
170
+ fs.rmSync(context.emitDir, { recursive: true, force: true });
171
+ const detail = [
172
+ `ttsx: native project build failed for ${context.tsconfig}`,
173
+ result.stderr || result.stdout,
174
+ ]
175
+ .filter((line) => line.trim().length !== 0)
176
+ .join("\n");
177
+ throw new Error(detail);
178
+ }
179
+ function readCompiledOutput(context, filename, options) {
180
+ return transformSingleFile(context, filename, options);
181
+ }
182
+ function resolveProjectContext(cwd, filename, options) {
183
+ if (options.project) {
184
+ const tsconfig = (0, project_1.resolveProjectConfig)({
185
+ cwd,
186
+ tsconfig: path.resolve(cwd, options.project),
187
+ });
188
+ return createProjectContext(cwd, tsconfig, options);
189
+ }
190
+ const tsconfig = (0, project_1.resolveProjectConfig)({ cwd, file: filename });
191
+ return createProjectContext(cwd, tsconfig, options);
192
+ }
193
+ function createProjectContext(cwd, tsconfig, options) {
194
+ const root = (0, project_1.resolveProjectRoot)({ cwd, tsconfig });
195
+ const cacheDir = options.cacheDir ?? (0, project_1.defaultCacheDirectory)(root, "ttsx");
196
+ return {
197
+ tsconfig,
198
+ root,
199
+ cacheDir,
200
+ cacheSalt: createCompilerCacheSalt(options),
201
+ compiledText: new Map(),
202
+ diagnosticsChecked: false,
203
+ emitDir: path.join(cacheDir, "project", PROCESS_CACHE_KEY),
204
+ emittedFiles: null,
205
+ entryMap: new Map(),
206
+ };
207
+ }
208
+ function ensureProjectDiagnostics(context, options) {
209
+ if (context.diagnosticsChecked) {
210
+ return;
211
+ }
212
+ const result = (0, api_1.check)({
213
+ binary: options.binary,
214
+ cwd: context.root,
215
+ env: options.env,
216
+ plugins: options.plugins,
217
+ quiet: true,
218
+ rewriteMode: options.rewriteMode,
219
+ tsconfig: context.tsconfig,
220
+ });
221
+ if (result.status !== 0) {
222
+ const detail = [result.stderr.trim(), result.stdout.trim()]
223
+ .filter(Boolean)
224
+ .join("\n");
225
+ throw new Error(`ttsx: project check failed for ${context.tsconfig}` +
226
+ (detail ? `\n${detail}` : ""));
227
+ }
228
+ context.diagnosticsChecked = true;
229
+ }
230
+ function transformSingleFile(context, filename, options) {
231
+ const normalized = path.resolve(filename);
232
+ const cached = context.compiledText.get(normalized);
233
+ if (cached !== undefined)
234
+ return cached;
235
+ const cacheFile = singleFileCachePath(context, normalized);
236
+ const sourceStat = safeStat(normalized);
237
+ const cacheStat = safeStat(cacheFile);
238
+ if (sourceStat &&
239
+ cacheStat &&
240
+ cacheStat.isFile() &&
241
+ cacheStat.mtimeMs >= sourceStat.mtimeMs) {
242
+ const output = fs.readFileSync(cacheFile, "utf8");
243
+ context.compiledText.set(normalized, output);
244
+ return output;
245
+ }
246
+ const output = (0, api_1.transform)({
247
+ binary: options.binary,
248
+ cwd: context.root,
249
+ env: options.env,
250
+ file: normalized,
251
+ rewriteMode: options.rewriteMode,
252
+ tsconfig: context.tsconfig,
253
+ });
254
+ fs.mkdirSync(path.dirname(cacheFile), { recursive: true });
255
+ fs.writeFileSync(cacheFile, output, "utf8");
256
+ context.compiledText.set(normalized, output);
257
+ return output;
258
+ }
259
+ function singleFileCachePath(context, filename) {
260
+ const digest = (0, node_crypto_1.createHash)("sha1")
261
+ .update(context.cacheSalt)
262
+ .update("\0")
263
+ .update(filename)
264
+ .digest("hex");
265
+ return path.join(context.cacheDir, "single", SINGLE_FILE_CACHE_VERSION, `${digest}.js`);
266
+ }
267
+ function createCompilerCacheSalt(options) {
268
+ const parts = [SINGLE_FILE_CACHE_VERSION];
269
+ const binary = (0, platform_1.resolveBinary)(options);
270
+ if (binary) {
271
+ parts.push(fileSignature(binary));
272
+ for (const location of workspaceCompilerLocations(binary)) {
273
+ const signature = treeSignature(location);
274
+ if (signature) {
275
+ parts.push(signature);
276
+ }
277
+ }
278
+ }
279
+ return parts.join("|");
280
+ }
281
+ function workspaceCompilerLocations(binary) {
282
+ const resolved = path.resolve(binary);
283
+ const packageRoot = path.resolve(path.dirname(resolved), "..");
284
+ const candidates = [
285
+ path.resolve(packageRoot, "cmd"),
286
+ path.resolve(packageRoot, "src"),
287
+ ];
288
+ return candidates.filter((location) => fs.existsSync(location));
289
+ }
290
+ function fileSignature(file) {
291
+ const stat = safeStat(file);
292
+ if (!stat)
293
+ return `missing:${path.resolve(file)}`;
294
+ return `file:${path.resolve(file)}:${stat.size}:${stat.mtimeMs}`;
295
+ }
296
+ function treeSignature(root) {
297
+ if (!fs.existsSync(root))
298
+ return null;
299
+ let latest = 0;
300
+ let count = 0;
301
+ const stack = [root];
302
+ while (stack.length !== 0) {
303
+ const current = stack.pop();
304
+ for (const entry of fs.readdirSync(current, { withFileTypes: true })) {
305
+ const next = path.join(current, entry.name);
306
+ if (entry.isDirectory()) {
307
+ stack.push(next);
308
+ continue;
309
+ }
310
+ if (!entry.isFile())
311
+ continue;
312
+ if (!/\.(?:go|[cm]?js|ts)$/.test(entry.name))
313
+ continue;
314
+ const stat = safeStat(next);
315
+ if (!stat)
316
+ continue;
317
+ latest = Math.max(latest, stat.mtimeMs);
318
+ count += 1;
319
+ }
320
+ }
321
+ return `tree:${path.resolve(root)}:${count}:${latest}`;
322
+ }
323
+ function safeStat(file) {
324
+ try {
325
+ return fs.statSync(file);
326
+ }
327
+ catch {
328
+ return null;
329
+ }
330
+ }
331
+ function resolveEmittedFile(context, filename) {
332
+ const normalized = path.resolve(filename);
333
+ const cached = context.entryMap.get(normalized);
334
+ if (cached && fs.existsSync(cached))
335
+ return cached;
336
+ const exact = resolveExactEmittedFile(context, normalized);
337
+ if (exact && fs.existsSync(exact)) {
338
+ context.entryMap.set(normalized, exact);
339
+ return exact;
340
+ }
341
+ const files = context.emittedFiles ?? [];
342
+ let best = null;
343
+ let bestScore = 0;
344
+ for (const file of files) {
345
+ const score = sharedSourceStemSegments(file, normalized);
346
+ if (score > bestScore) {
347
+ best = file;
348
+ bestScore = score;
349
+ }
350
+ }
351
+ if (!best || !fs.existsSync(best)) {
352
+ return null;
353
+ }
354
+ context.entryMap.set(normalized, best);
355
+ return best;
356
+ }
357
+ function resolveExactEmittedFile(context, filename) {
358
+ const relative = path.relative(context.root, filename);
359
+ if (relative === "" || relative.startsWith("..") || path.isAbsolute(relative)) {
360
+ return null;
361
+ }
362
+ return path.resolve(context.emitDir, relative.slice(0, relative.length - path.extname(relative).length) +
363
+ emittedJavaScriptExtension(filename));
364
+ }
365
+ function listEmittedFiles(root) {
366
+ if (!fs.existsSync(root))
367
+ return [];
368
+ const output = [];
369
+ const stack = [root];
370
+ while (stack.length !== 0) {
371
+ const current = stack.pop();
372
+ for (const entry of fs.readdirSync(current, { withFileTypes: true })) {
373
+ const next = path.join(current, entry.name);
374
+ if (entry.isDirectory()) {
375
+ stack.push(next);
376
+ }
377
+ else if (entry.isFile() && isJavaScriptOutput(next)) {
378
+ output.push(path.resolve(next));
379
+ }
380
+ }
381
+ }
382
+ return output;
383
+ }
384
+ function sharedSourceStemSegments(outPath, srcPath) {
385
+ const trim = (location) => {
386
+ const normalized = location.split(path.sep).join("/");
387
+ return normalized
388
+ .slice(0, normalized.length - path.extname(normalized).length)
389
+ .split("/");
390
+ };
391
+ const a = trim(outPath);
392
+ const b = trim(srcPath);
393
+ const count = Math.min(a.length, b.length);
394
+ let shared = 0;
395
+ for (let i = 1; i <= count; i += 1) {
396
+ if (a[a.length - i] !== b[b.length - i])
397
+ break;
398
+ shared += 1;
399
+ }
400
+ return shared;
401
+ }
402
+ function looksLikeESM(output) {
403
+ if (/\bObject\.defineProperty\(exports\b/.test(output) ||
404
+ /\bmodule\.exports\b/.test(output) ||
405
+ /\brequire\(/.test(output) ||
406
+ /\bexports\./.test(output)) {
407
+ return false;
408
+ }
409
+ return /^\s*(import|export)\s/m.test(output);
410
+ }
411
+ function emittedJavaScriptExtension(filename) {
412
+ switch (path.extname(filename).toLowerCase()) {
413
+ case ".mts":
414
+ return ".mjs";
415
+ case ".cts":
416
+ return ".cjs";
417
+ default:
418
+ return ".js";
419
+ }
420
+ }
421
+ function isJavaScriptOutput(filename) {
422
+ return /\.(?:[cm]?js)$/i.test(filename);
423
+ }
424
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/runner/register.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "ttsc",
3
- "version": "0.4.0-dev.20260424",
4
- "description": "General-purpose compiler adapter and plugin host for tsgo.",
3
+ "version": "0.4.1",
4
+ "description": "General-purpose TypeScript-Go compiler, plugin host, and runtime.",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
7
7
  "bin": {
8
- "ttsc": "src/launcher/ttsc.js"
8
+ "ttsc": "src/launcher/ttsc.js",
9
+ "ttsx": "src/launcher/ttsx.js"
9
10
  },
10
11
  "exports": {
11
12
  ".": {
@@ -30,12 +31,12 @@
30
31
  "rimraf": "^6.1.2"
31
32
  },
32
33
  "optionalDependencies": {
33
- "@ttsc/linux-x64": "0.4.0-dev.20260424",
34
- "@ttsc/linux-arm64": "0.4.0-dev.20260424",
35
- "@ttsc/darwin-x64": "0.4.0-dev.20260424",
36
- "@ttsc/win32-arm64": "0.4.0-dev.20260424",
37
- "@ttsc/win32-x64": "0.4.0-dev.20260424",
38
- "@ttsc/darwin-arm64": "0.4.0-dev.20260424"
34
+ "@ttsc/linux-x64": "0.4.1",
35
+ "@ttsc/linux-arm64": "0.4.1",
36
+ "@ttsc/darwin-arm64": "0.4.1",
37
+ "@ttsc/darwin-x64": "0.4.1",
38
+ "@ttsc/win32-x64": "0.4.1",
39
+ "@ttsc/win32-arm64": "0.4.1"
39
40
  },
40
41
  "sideEffects": false,
41
42
  "files": [
@@ -53,6 +54,7 @@
53
54
  ],
54
55
  "keywords": [
55
56
  "tsgo",
57
+ "runner",
56
58
  "transformer",
57
59
  "plugin-host",
58
60
  "ttsc"
@@ -61,7 +63,7 @@
61
63
  "access": "public"
62
64
  },
63
65
  "scripts": {
64
- "build": "rimraf lib && node ../../scripts/go.cjs run ./cmd/ttsc",
66
+ "build": "rimraf lib && node ../../scripts/go.cjs run ./cmd/ttsc && cp ../../README.md README.md",
65
67
  "test": "pnpm run test:ts && pnpm run test:go",
66
68
  "test:ts": "node --test --test-reporter=spec --experimental-strip-types --experimental-specifier-resolution=node test/**/*.test.ts",
67
69
  "test:go": "node ../../scripts/go.cjs test ./...",
package/src/index.ts CHANGED
@@ -16,3 +16,4 @@ export * from "./platform";
16
16
  export * from "./api";
17
17
  export * from "./project";
18
18
  export * from "./plugin";
19
+ export * from "./runner/register";
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+
4
+ const fs = require("node:fs");
5
+ const path = require("node:path");
6
+
7
+ const builtCli = path.resolve(__dirname, "..", "..", "lib", "runner", "cli.js");
8
+ if (fs.existsSync(builtCli)) {
9
+ const { main } = require(builtCli);
10
+ const code = main(process.argv.slice(2));
11
+ if (typeof code === "number") {
12
+ process.exitCode = code;
13
+ }
14
+ } else {
15
+ process.stderr.write(
16
+ "ttsx: lib/runner/cli.js is missing. Build ttsc first with `pnpm run build`.\n",
17
+ );
18
+ process.exitCode = 1;
19
+ }