ttsc 0.14.2 → 0.15.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 (44) hide show
  1. package/driver/emit_plugin.go +131 -0
  2. package/driver/plugins.go +37 -0
  3. package/go.mod +0 -3
  4. package/go.sum +0 -4
  5. package/lib/compiler/internal/resolveEmittedJavaScript.js +25 -4
  6. package/lib/compiler/internal/resolveEmittedJavaScript.js.map +1 -1
  7. package/lib/launcher/internal/prepareExecution.d.ts +4 -1
  8. package/lib/launcher/internal/prepareExecution.js +13 -17
  9. package/lib/launcher/internal/prepareExecution.js.map +1 -1
  10. package/lib/launcher/internal/registerRuntimeHooks.js +43 -8
  11. package/lib/launcher/internal/registerRuntimeHooks.js.map +1 -1
  12. package/lib/launcher/internal/runTtsx.js +46 -386
  13. package/lib/launcher/internal/runTtsx.js.map +1 -1
  14. package/lib/launcher/internal/runtimeHookPreload.d.ts +1 -0
  15. package/lib/launcher/internal/runtimeHookPreload.js +16 -0
  16. package/lib/launcher/internal/runtimeHookPreload.js.map +1 -0
  17. package/lib/launcher/internal/runtimeHooks.d.ts +16 -38
  18. package/lib/launcher/internal/runtimeHooks.js +672 -119
  19. package/lib/launcher/internal/runtimeHooks.js.map +1 -1
  20. package/lib/plugin/internal/buildSourcePlugin.js +120 -16
  21. package/lib/plugin/internal/buildSourcePlugin.js.map +1 -1
  22. package/lib/plugin/internal/loadProjectPlugins.js +15 -4
  23. package/lib/plugin/internal/loadProjectPlugins.js.map +1 -1
  24. package/package.json +8 -8
  25. package/shim/ast/parent.go +31 -0
  26. package/shim/compiler/emitassemble.go +30 -0
  27. package/shim/compiler/emithook.go +22 -0
  28. package/shim/compiler/go.mod +9 -0
  29. package/shim/compiler/go.sum +22 -0
  30. package/shim/core/modulekind.go +10 -0
  31. package/shim/printer/emithost.go +24 -0
  32. package/shim/printer/go.mod +9 -0
  33. package/shim/printer/go.sum +22 -0
  34. package/shim/transformers/go.mod +14 -0
  35. package/shim/transformers/go.sum +20 -0
  36. package/shim/transformers/shim.go +15 -0
  37. package/src/compiler/internal/resolveEmittedJavaScript.ts +35 -4
  38. package/src/launcher/internal/prepareExecution.ts +18 -21
  39. package/src/launcher/internal/registerRuntimeHooks.ts +53 -8
  40. package/src/launcher/internal/runTtsx.ts +61 -453
  41. package/src/launcher/internal/runtimeHookPreload.ts +14 -0
  42. package/src/launcher/internal/runtimeHooks.ts +794 -136
  43. package/src/plugin/internal/buildSourcePlugin.ts +147 -16
  44. package/src/plugin/internal/loadProjectPlugins.ts +16 -4
@@ -0,0 +1,131 @@
1
+ package driver
2
+
3
+ import (
4
+ "errors"
5
+
6
+ shimast "github.com/microsoft/typescript-go/shim/ast"
7
+ shimcompiler "github.com/microsoft/typescript-go/shim/compiler"
8
+ shimcore "github.com/microsoft/typescript-go/shim/core"
9
+ shimprinter "github.com/microsoft/typescript-go/shim/printer"
10
+ shimtsoptions "github.com/microsoft/typescript-go/shim/tsoptions"
11
+ shimtspath "github.com/microsoft/typescript-go/shim/tspath"
12
+ )
13
+
14
+ // pluginEmitHost implements printer.EmitHost (and, structurally,
15
+ // SourceFileMayBeEmittedHost + OutputPathsHost — their methods are a subset) by
16
+ // delegating to the driver Program, exactly like tsgo's internal emitHost. It
17
+ // carries the emit resolver from the program's single checker.
18
+ type pluginEmitHost struct {
19
+ program *shimcompiler.Program
20
+ emitResolver shimprinter.EmitResolver
21
+ }
22
+
23
+ func (h *pluginEmitHost) Options() *shimcore.CompilerOptions { return h.program.Options() }
24
+ func (h *pluginEmitHost) SourceFiles() []*shimast.SourceFile { return h.program.SourceFiles() }
25
+ func (h *pluginEmitHost) UseCaseSensitiveFileNames() bool {
26
+ return h.program.UseCaseSensitiveFileNames()
27
+ }
28
+ func (h *pluginEmitHost) GetCurrentDirectory() string { return h.program.GetCurrentDirectory() }
29
+ func (h *pluginEmitHost) CommonSourceDirectory() string { return h.program.CommonSourceDirectory() }
30
+ func (h *pluginEmitHost) IsEmitBlocked(file string) bool { return h.program.IsEmitBlocked(file) }
31
+ func (h *pluginEmitHost) WriteFile(fileName string, text string) error {
32
+ return h.program.Host().FS().WriteFile(fileName, text)
33
+ }
34
+ func (h *pluginEmitHost) GetEmitModuleFormatOfFile(file shimast.HasFileName) shimcore.ModuleKind {
35
+ return h.program.GetEmitModuleFormatOfFile(file)
36
+ }
37
+ func (h *pluginEmitHost) GetEmitResolver() shimprinter.EmitResolver {
38
+ return guardedEmitResolver{h.emitResolver}
39
+ }
40
+
41
+ // guardedEmitResolver makes tsgo's const-enum inliner safe against plugin-built
42
+ // nodes. The inliner calls GetConstantValue on every property/element access it
43
+ // visits — including synthetic ones a plugin injects — and tsgo's checker can
44
+ // nil-panic while computing a contextual type for such a node. A failure there
45
+ // only means "not a const enum", so recover to nil and leave the node as-is.
46
+ type guardedEmitResolver struct {
47
+ shimprinter.EmitResolver
48
+ }
49
+
50
+ func (g guardedEmitResolver) GetConstantValue(node *shimast.Node) (result any) {
51
+ defer func() {
52
+ if recover() != nil {
53
+ result = nil
54
+ }
55
+ }()
56
+ return g.EmitResolver.GetConstantValue(node)
57
+ }
58
+ func (h *pluginEmitHost) GetProjectReferenceFromSource(path shimtspath.Path) *shimtsoptions.SourceOutputAndProjectReference {
59
+ return h.program.GetProjectReferenceFromSource(path)
60
+ }
61
+ func (h *pluginEmitHost) IsSourceFileFromExternalLibrary(file *shimast.SourceFile) bool {
62
+ return h.program.IsSourceFileFromExternalLibrary(file)
63
+ }
64
+
65
+ // PluginTransform transforms one source file in the emit phase, bound to the
66
+ // emit EmitContext: nodes it builds with ec.Factory (and links with
67
+ // ec.SetOriginal) are recognized and aliased by tsgo's builtin module-transform.
68
+ // Returning nil leaves the file unchanged. This is the AST-integration contract
69
+ // that replaces text-splice: a plugin returns AST, not text. The shape mirrors a
70
+ // classic ts.TransformerFactory (SourceFile -> SourceFile) so an existing
71
+ // node-based transformer plugs in by just accepting the EmitContext.
72
+ type PluginTransform func(ec *shimprinter.EmitContext, sourceFile *shimast.SourceFile) *shimast.SourceFile
73
+
74
+ // EmitWithPluginTransformer emits with a single plugin transformer. It is a thin
75
+ // wrapper over EmitWithPluginTransformers.
76
+ func (p *Program) EmitWithPluginTransformer(transform PluginTransform, writeFile shimcompiler.WriteFile) ([]Diagnostic, error) {
77
+ return p.EmitWithPluginTransformers([]PluginTransform{transform}, writeFile)
78
+ }
79
+
80
+ // EmitLinkedTransforms emits using the emit-phase transformers contributed by
81
+ // every registered EmitTransformPlugin (in registration order). This is the
82
+ // AST-integration emit path that replaces the ProgramPlugin + RewriteSet
83
+ // text-splice path.
84
+ func (p *Program) EmitLinkedTransforms(writeFile shimcompiler.WriteFile) ([]Diagnostic, error) {
85
+ if p == nil || p.TSProgram == nil {
86
+ return nil, errors.New("driver: nil program")
87
+ }
88
+ transforms, err := p.plugins.emitTransforms()
89
+ if err != nil {
90
+ return nil, err
91
+ }
92
+ return p.EmitWithPluginTransformers(transforms, writeFile)
93
+ }
94
+
95
+ // EmitWithPluginTransformers emits every source file by assembling tsgo's emit
96
+ // pipeline from shim parts and running the plugin transformers FIRST (in order)
97
+ // in the same EmitContext as the builtin chain (type-erase, import-elision,
98
+ // module-transform, ...). No text-splice and no hand-rolled import aliasing:
99
+ // tsgo's module-transform aliases the plugins' injected imports itself.
100
+ func (p *Program) EmitWithPluginTransformers(transforms []PluginTransform, writeFile shimcompiler.WriteFile) ([]Diagnostic, error) {
101
+ if p == nil || p.TSProgram == nil {
102
+ return nil, errors.New("driver: nil program")
103
+ }
104
+ host := &pluginEmitHost{program: p.TSProgram, emitResolver: p.Checker.GetEmitResolver()}
105
+ options := p.TSProgram.Options()
106
+ newLine := options.NewLine.GetNewLineCharacter()
107
+ for _, sf := range shimcompiler.GetSourceFilesToEmit(host, nil, false) {
108
+ ec := shimprinter.NewEmitContext()
109
+ out := sf
110
+ for _, transform := range transforms {
111
+ if transform == nil {
112
+ continue
113
+ }
114
+ if next := transform(ec, out); next != nil {
115
+ out = next
116
+ }
117
+ }
118
+ shimast.SetParentInChildrenUnset(out.AsNode())
119
+ for _, tr := range shimcompiler.GetScriptTransformers(ec, host, out) {
120
+ out = tr.TransformSourceFile(out)
121
+ }
122
+ paths := shimcompiler.GetOutputPathsFor(sf, options, host, false)
123
+ writer := shimprinter.NewTextWriter(newLine, 0)
124
+ p2 := shimprinter.NewPrinter(shimprinter.PrinterOptions{NewLine: options.NewLine}, shimprinter.PrintHandlers{}, ec)
125
+ p2.Write(out.AsNode(), out, writer, nil)
126
+ if err := writeFile(paths.JsFilePath(), writer.String(), nil); err != nil {
127
+ return nil, err
128
+ }
129
+ }
130
+ return nil, nil
131
+ }
package/driver/plugins.go CHANGED
@@ -39,6 +39,18 @@ type ProgramPlugin interface {
39
39
  ApplyProgram(*Program, PluginContext) error
40
40
  }
41
41
 
42
+ // EmitTransformPlugin contributes an emit-phase AST transformer. The returned
43
+ // PluginTransform runs first in tsgo's per-file emit chain, sharing the emit
44
+ // EmitContext with the builtin transformers, so a plugin returns AST instead of
45
+ // spliced text: it injects its own imports with ec.Factory and references them
46
+ // via NewGeneratedNameForNode, and tsgo's module-transform emits the require and
47
+ // aliases the references itself. This is the AST-integration replacement for the
48
+ // ProgramPlugin + RewriteSet text-splice model. A plugin whose returned
49
+ // transform is nil contributes nothing.
50
+ type EmitTransformPlugin interface {
51
+ EmitTransform(PluginContext) (PluginTransform, error)
52
+ }
53
+
42
54
  type linkedPluginState struct {
43
55
  cwd string
44
56
  entries []PluginEntry
@@ -118,6 +130,31 @@ func (state linkedPluginState) apply(prog *Program) error {
118
130
  return nil
119
131
  }
120
132
 
133
+ // emitTransforms collects an emit-phase PluginTransform from every registered
134
+ // EmitTransformPlugin, in registration order. Entries that do not implement
135
+ // EmitTransformPlugin, or whose transform is nil, are skipped.
136
+ func (state linkedPluginState) emitTransforms() ([]PluginTransform, error) {
137
+ var out []PluginTransform
138
+ for index, entry := range state.entries {
139
+ plugin, ok := registeredPlugin(index)
140
+ if !ok {
141
+ return nil, fmt.Errorf("ttsc driver: linked plugin entry %d was requested but no linked plugin registered at that position", index)
142
+ }
143
+ emitter, ok := plugin.(EmitTransformPlugin)
144
+ if !ok {
145
+ continue
146
+ }
147
+ transform, err := emitter.EmitTransform(state.context(entry))
148
+ if err != nil {
149
+ return nil, err
150
+ }
151
+ if transform != nil {
152
+ out = append(out, transform)
153
+ }
154
+ }
155
+ return out, nil
156
+ }
157
+
121
158
  // registeredPlugin returns the plugin registered at position index, or
122
159
  // (nil, false) when the index is out of range. Registration order matches
123
160
  // the order of linked Go init() calls.
package/go.mod CHANGED
@@ -31,7 +31,6 @@ require (
31
31
  github.com/microsoft/typescript-go/shim/compiler v0.0.0
32
32
  github.com/microsoft/typescript-go/shim/core v0.0.0
33
33
  github.com/microsoft/typescript-go/shim/diagnosticwriter v0.0.0
34
- github.com/microsoft/typescript-go/shim/lsp v0.0.0
35
34
  github.com/microsoft/typescript-go/shim/printer v0.0.0
36
35
  github.com/microsoft/typescript-go/shim/scanner v0.0.0
37
36
  github.com/microsoft/typescript-go/shim/tsoptions v0.0.0
@@ -42,10 +41,8 @@ require (
42
41
  )
43
42
 
44
43
  require (
45
- github.com/Microsoft/go-winio v0.6.2 // indirect
46
44
  github.com/go-json-experiment/json v0.0.0-20260214004413-d219187c3433 // indirect
47
45
  github.com/klauspost/cpuid/v2 v2.2.10 // indirect
48
- github.com/mackerelio/go-osstat v0.2.7 // indirect
49
46
  github.com/microsoft/typescript-go v0.0.0-20260429010842-56ab4af42157 // indirect
50
47
  github.com/zeebo/xxh3 v1.1.0 // indirect
51
48
  golang.org/x/sync v0.20.0 // indirect
package/go.sum CHANGED
@@ -1,13 +1,9 @@
1
- github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
2
- github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
3
1
  github.com/go-json-experiment/json v0.0.0-20260214004413-d219187c3433 h1:vymEbVwYFP/L05h5TKQxvkXoKxNvTpjxYKdF1Nlwuao=
4
2
  github.com/go-json-experiment/json v0.0.0-20260214004413-d219187c3433/go.mod h1:tphK2c80bpPhMOI4v6bIc2xWywPfbqi1Z06+RcrMkDg=
5
3
  github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
6
4
  github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
7
5
  github.com/klauspost/cpuid/v2 v2.2.10 h1:tBs3QSyvjDyFTq3uoc/9xFpCuOsJQFNPiAhYdw2skhE=
8
6
  github.com/klauspost/cpuid/v2 v2.2.10/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0=
9
- github.com/mackerelio/go-osstat v0.2.7 h1:TCavZi10wF49bT6iQZ9eT2keGZQpC69MTDfdJej5e94=
10
- github.com/mackerelio/go-osstat v0.2.7/go.mod h1:dwpYh5pIPmvk+IEwBKNIWRFMB92mrC08CmXOhDC7nQk=
11
7
  github.com/microsoft/typescript-go v0.0.0-20260429010842-56ab4af42157 h1:llOMPhKDiQ+UEJiAaQuuWaJOTg5V7tNNTEf9JPWoYSY=
12
8
  github.com/microsoft/typescript-go v0.0.0-20260429010842-56ab4af42157/go.mod h1:m8YA0PMC7ti0GW0RI05D6fEcjQeu98XVS+FWF+VDW2k=
13
9
  github.com/peter-evans/patience v0.3.0 h1:rX0JdJeepqdQl1Sk9c9uvorjYYzL2TfgLX1adqYm9cA=
@@ -27,19 +27,40 @@ function resolveEmittedJavaScript(options) {
27
27
  if (exact && node_fs_1.default.existsSync(exact)) {
28
28
  return exact;
29
29
  }
30
+ // Score the pre-computed emit list first (cheap). When it yields nothing —
31
+ // because the list is incomplete (a native transform host such as typia emits
32
+ // without printing the `--listEmittedFiles` lines) or because the emit landed
33
+ // at a path the exact mirror did not predict (tsgo shifts every output path
34
+ // when the program pulls a raw-`.ts` dependency that sits outside `rootDir`,
35
+ // so it strips the common source root rather than `rootDir`) — fall back to a
36
+ // full recursive scan of `outDir`. Trailing-stem scoring still pins the right
37
+ // file regardless of how deep the shifted prefix is.
38
+ const primary = bestStemMatch(options.emittedFiles ?? listJavaScriptFiles(options.outDir), options.sourceFile);
39
+ if (primary !== null && node_fs_1.default.existsSync(primary)) {
40
+ return primary;
41
+ }
42
+ if (options.emittedFiles !== undefined) {
43
+ const fromDir = bestStemMatch(listJavaScriptFiles(options.outDir), options.sourceFile);
44
+ if (fromDir !== null && node_fs_1.default.existsSync(fromDir)) {
45
+ return fromDir;
46
+ }
47
+ }
48
+ return null;
49
+ }
50
+ /** Highest trailing-stem-scoring JavaScript output among `files`, or `null`. */
51
+ function bestStemMatch(files, sourceFile) {
30
52
  let best = null;
31
53
  let bestScore = 0;
32
- for (const file of options.emittedFiles ??
33
- listJavaScriptFiles(options.outDir)) {
54
+ for (const file of files) {
34
55
  if (!isJavaScriptOutput(file))
35
56
  continue;
36
- const score = sharedSourceStemSegments(file, options.sourceFile);
57
+ const score = sharedSourceStemSegments(file, sourceFile);
37
58
  if (score > bestScore) {
38
59
  best = file;
39
60
  bestScore = score;
40
61
  }
41
62
  }
42
- return best && node_fs_1.default.existsSync(best) ? best : null;
63
+ return best;
43
64
  }
44
65
  /**
45
66
  * Derive the exact output path for `sourceFile` by mirroring its position
@@ -1 +1 @@
1
- {"version":3,"file":"resolveEmittedJavaScript.js","sourceRoot":"","sources":["../../../src/compiler/internal/resolveEmittedJavaScript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolveEmittedJavaScript.js","sourceRoot":"","sources":["../../../src/compiler/internal/resolveEmittedJavaScript.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,9 @@ export declare function prepareExecution(entryFile: string, options?: TtscCommon
6
6
  }): {
7
7
  cleanupDir: string;
8
8
  emitDir: string;
9
+ emittedFiles?: readonly string[];
9
10
  entryFile: string;
10
- moduleKind: "cjs" | "esm";
11
+ moduleOption?: string;
12
+ projectRoot: string;
13
+ rootDir: string;
11
14
  };
@@ -33,12 +33,14 @@ function prepareExecution(entryFile, options = {}) {
33
33
  if (emittedEntry === null) {
34
34
  throw new Error(`ttsx: emitted entry not found for ${entryFile}`);
35
35
  }
36
- const output = node_fs_1.default.readFileSync(emittedEntry, "utf8");
37
36
  return {
38
37
  cleanupDir: context.processDir,
39
38
  emitDir: context.emitDir,
39
+ emittedFiles: context.emittedFiles ?? undefined,
40
40
  entryFile: emittedEntry,
41
- moduleKind: looksLikeESM(output) ? "esm" : "cjs",
41
+ moduleOption: context.moduleOption,
42
+ projectRoot: context.root,
43
+ rootDir: context.runtimeRootDir,
42
44
  };
43
45
  }
44
46
  catch (error) {
@@ -67,6 +69,15 @@ function createProjectContext(cwd, filename, options) {
67
69
  emitDir: project.compilerOptions.outDir
68
70
  ? virtualPath(virtualRoot, project.compilerOptions.outDir)
69
71
  : virtualPath(virtualRoot, resolveRuntimeSourceRoot(project, filename)),
72
+ // The source-tree root the emit mirrors (tsgo strips this prefix). Used to
73
+ // map a source `.ts` back to its emitted `.js` when the runtime hooks serve
74
+ // the built entry under its source URL.
75
+ runtimeRootDir: resolveRuntimeSourceRoot(project, filename),
76
+ // The tsconfig `module` option, so the runtime hooks classify each served
77
+ // file's format the same way tsgo chose when emitting it.
78
+ moduleOption: typeof project.compilerOptions.module === "string"
79
+ ? project.compilerOptions.module
80
+ : undefined,
70
81
  built: false,
71
82
  emittedFiles: undefined,
72
83
  };
@@ -214,19 +225,4 @@ function virtualPath(root, absolute) {
214
225
  const relative = node_path_1.default.relative(parsed.root, node_path_1.default.resolve(absolute));
215
226
  return node_path_1.default.join(root, label, relative);
216
227
  }
217
- /**
218
- * Heuristic: classify emitted JS as ESM when it contains top-level `import` or
219
- * `export` statements but none of the well-known CJS patterns. The CJS checks
220
- * run first so that re-exported CJS bundles with both `require` calls and an
221
- * `export` declaration are conservatively treated as CJS.
222
- */
223
- function looksLikeESM(output) {
224
- if (/\bObject\.defineProperty\(exports\b/.test(output) ||
225
- /\bmodule\.exports\b/.test(output) ||
226
- /\brequire\(/.test(output) ||
227
- /\bexports\./.test(output)) {
228
- return false;
229
- }
230
- return /^\s*(import|export)\s/m.test(output);
231
- }
232
228
  //# sourceMappingURL=prepareExecution.js.map
@@ -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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"}
@@ -3,17 +3,52 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const node_module_1 = require("node:module");
7
6
  const node_path_1 = __importDefault(require("node:path"));
8
7
  const node_url_1 = require("node:url");
8
+ const runtimeHooks_1 = require("./runtimeHooks");
9
9
  /**
10
- * `--import` entry point that installs `ttsx`'s runtime module hooks in the
11
- * child process. Run before the compiled entry so the `resolve`/`load` hooks in
12
- * `runtimeHooks` are active for the whole dependency graph.
10
+ * Bootstrap `ttsx` spawns as the child's main module: it installs the runtime
11
+ * module hooks, then loads the TypeScript entry _from source_.
13
12
  *
14
- * Kept as a dedicated, dependency-free module: it must load in the child's
15
- * plain Node runtime (not ttsc's), so it pulls in nothing beyond Node builtins
16
- * and the sibling hooks file.
13
+ * Why load the entry here instead of passing it as Node's main entry: a
14
+ * CommonJS `require("./x")` chain only reaches `module.registerHooks` when the
15
+ * entry itself is loaded through a CommonJS `require`. Running the `.ts` as
16
+ * Node's ESM-first main entry leaves inner `require`s on the native loader,
17
+ * where they cannot resolve a sibling `.ts`. So the parent invokes `node
18
+ * registerRuntimeHooks.js <entry> [argv...]` and we `require()` (or dynamically
19
+ * `import()`) the entry after the hooks are live.
20
+ *
21
+ * `process.argv` is rewritten to `[node, <entry>, ...argv]` so the program sees
22
+ * the same argv it would under a direct `node <entry>` invocation.
17
23
  */
18
- (0, node_module_1.register)((0, node_url_1.pathToFileURL)(node_path_1.default.join(__dirname, "runtimeHooks.js")).href);
24
+ const entry = process.argv[2];
25
+ if (entry === undefined) {
26
+ process.stderr.write("ttsx: internal error — no entry passed to bootstrap\n");
27
+ process.exit(2);
28
+ }
29
+ const forwarded = process.argv.slice(3);
30
+ process.argv = [process.argv[0], entry, ...forwarded];
31
+ (0, runtimeHooks_1.installRuntimeHooks)();
32
+ const kind = (0, runtimeHooks_1.entryModuleFormat)(node_path_1.default.resolve(entry));
33
+ function fail(error) {
34
+ // Match Node's own uncaught-exception surfacing for a thrown entry error.
35
+ process.stderr.write(`${error instanceof Error ? (error.stack ?? error.message) : String(error)}\n`);
36
+ process.exit(1);
37
+ }
38
+ // A genuine dynamic `import()`. Authored directly it would be downlevelled to a
39
+ // `require()` shim under this package's CommonJS emit, which cannot load a
40
+ // `file:` URL or an ESM module — so build it through `Function` to keep it an
41
+ // `import` at runtime.
42
+ const dynamicImport = new Function("specifier", "return import(specifier);");
43
+ if (kind === "module") {
44
+ dynamicImport((0, node_url_1.pathToFileURL)(node_path_1.default.resolve(entry)).href).catch(fail);
45
+ }
46
+ else {
47
+ try {
48
+ require(node_path_1.default.resolve(entry));
49
+ }
50
+ catch (error) {
51
+ fail(error);
52
+ }
53
+ }
19
54
  //# sourceMappingURL=registerRuntimeHooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerRuntimeHooks.js","sourceRoot":"","sources":["../../../src/launcher/internal/registerRuntimeHooks.ts"],"names":[],"mappings":";;;;;AAAA,6CAAuC;AACvC,0DAA6B;AAC7B,uCAAyC;AAEzC;;;;;;;;GAQG;AACH,IAAA,sBAAQ,EAAC,IAAA,wBAAa,EAAC,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"registerRuntimeHooks.js","sourceRoot":"","sources":["../../../src/launcher/internal/registerRuntimeHooks.ts"],"names":[],"mappings":";;;;;AAAA,0DAA6B;AAC7B,uCAAyC;AAEzC,iDAAwE;AAExE;;;;;;;;;;;;;;GAcG;AACH,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;IACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACxC,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,CAAC;AAEvD,IAAA,kCAAmB,GAAE,CAAC;AAEtB,MAAM,IAAI,GAAG,IAAA,gCAAiB,EAAC,mBAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAEpD,SAAS,IAAI,CAAC,KAAc;IAC1B,0EAA0E;IAC1E,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAC/E,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,gFAAgF;AAChF,2EAA2E;AAC3E,8EAA8E;AAC9E,uBAAuB;AACvB,MAAM,aAAa,GAAG,IAAI,QAAQ,CAChC,WAAW,EACX,2BAA2B,CACe,CAAC;AAE7C,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;IACtB,aAAa,CAAC,IAAA,wBAAa,EAAC,mBAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACrE,CAAC;KAAM,CAAC;IACN,IAAI,CAAC;QACH,OAAO,CAAC,mBAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,KAAK,CAAC,CAAC;IACd,CAAC;AACH,CAAC"}