ttsc 0.3.1 → 0.4.0-dev.20260424

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 (112) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +216 -302
  3. package/cmd/ttsc/build.go +128 -0
  4. package/cmd/ttsc/main.go +222 -0
  5. package/cmd/ttsc/main_test.go +288 -0
  6. package/cmd/ttsc/transform.go +166 -0
  7. package/driver/host.go +31 -0
  8. package/driver/program.go +298 -0
  9. package/driver/rewrite.go +315 -0
  10. package/go.mod +48 -0
  11. package/go.sum +22 -0
  12. package/lib/api.d.ts +91 -0
  13. package/lib/api.js +325 -0
  14. package/lib/api.js.map +1 -0
  15. package/lib/cli.d.ts +1 -0
  16. package/lib/cli.js +481 -0
  17. package/lib/cli.js.map +1 -0
  18. package/lib/index.d.ts +17 -0
  19. package/lib/index.js +34 -0
  20. package/lib/index.js.map +1 -0
  21. package/lib/native.d.ts +15 -0
  22. package/lib/native.js +34 -0
  23. package/lib/native.js.map +1 -0
  24. package/lib/platform.d.ts +66 -0
  25. package/lib/platform.js +170 -0
  26. package/lib/platform.js.map +1 -0
  27. package/lib/plugin.d.ts +47 -0
  28. package/lib/plugin.js +150 -0
  29. package/lib/plugin.js.map +1 -0
  30. package/lib/project.d.ts +32 -0
  31. package/lib/project.js +303 -0
  32. package/lib/project.js.map +1 -0
  33. package/package.json +70 -63
  34. package/shim/ast/extra-shim.json +4 -0
  35. package/shim/ast/go.mod +5 -0
  36. package/shim/ast/shim.go +117 -0
  37. package/shim/bundled/extra-shim.json +1 -0
  38. package/shim/bundled/go.mod +5 -0
  39. package/shim/bundled/shim.go +19 -0
  40. package/shim/checker/extra-shim.json +31 -0
  41. package/shim/checker/go.mod +5 -0
  42. package/shim/checker/shim.go +146 -0
  43. package/shim/compiler/extra-shim.json +4 -0
  44. package/shim/compiler/go.mod +5 -0
  45. package/shim/compiler/shim.go +50 -0
  46. package/shim/core/extra-shim.json +4 -0
  47. package/shim/core/go.mod +5 -0
  48. package/shim/core/shim.go +11 -0
  49. package/shim/diagnosticwriter/go.mod +5 -0
  50. package/shim/diagnosticwriter/shim.go +29 -0
  51. package/shim/parser/extra-shim.json +4 -0
  52. package/shim/parser/go.mod +5 -0
  53. package/shim/parser/shim.go +55 -0
  54. package/shim/scanner/extra-shim.json +4 -0
  55. package/shim/scanner/go.mod +5 -0
  56. package/shim/scanner/shim.go +96 -0
  57. package/shim/tsoptions/extra-shim.json +4 -0
  58. package/shim/tsoptions/go.mod +5 -0
  59. package/shim/tsoptions/shim.go +123 -0
  60. package/shim/tspath/extra-shim.json +4 -0
  61. package/shim/tspath/go.mod +5 -0
  62. package/shim/tspath/shim.go +165 -0
  63. package/shim/vfs/cachedvfs/extra-shim.json +4 -0
  64. package/shim/vfs/cachedvfs/go.mod +5 -0
  65. package/shim/vfs/cachedvfs/shim.go +12 -0
  66. package/shim/vfs/extra-shim.json +4 -0
  67. package/shim/vfs/go.mod +5 -0
  68. package/shim/vfs/osvfs/extra-shim.json +4 -0
  69. package/shim/vfs/osvfs/go.mod +5 -0
  70. package/shim/vfs/osvfs/shim.go +13 -0
  71. package/shim/vfs/shim.go +19 -0
  72. package/src/api.ts +416 -0
  73. package/src/cli.ts +492 -0
  74. package/src/index.ts +18 -0
  75. package/src/launcher/ttsc-dev.js +42 -0
  76. package/src/launcher/ttsc.js +19 -0
  77. package/src/native.ts +60 -0
  78. package/src/platform.ts +163 -0
  79. package/src/plugin.ts +241 -0
  80. package/src/project.ts +330 -0
  81. package/test/native.test.ts +60 -0
  82. package/test/package.test.ts +123 -0
  83. package/test/platform.test.ts +58 -0
  84. package/test/project.test.ts +195 -0
  85. package/tools/gen_shims/go.mod +14 -0
  86. package/tools/gen_shims/go.sum +12 -0
  87. package/tools/gen_shims/main.go +446 -0
  88. package/CHANGELOG.md +0 -2
  89. package/bin/tsc +0 -2
  90. package/bin/tsserver +0 -2
  91. package/lib/PluginCreator.d.ts +0 -67
  92. package/lib/PluginCreator.js +0 -190
  93. package/lib/cancelationToken.d.ts +0 -0
  94. package/lib/cancelationToken.js +0 -2
  95. package/lib/loadTypescript.d.ts +0 -7
  96. package/lib/loadTypescript.js +0 -56
  97. package/lib/patchCreateProgram.d.ts +0 -21
  98. package/lib/patchCreateProgram.js +0 -190
  99. package/lib/tsc.d.ts +0 -1
  100. package/lib/tsc.js +0 -24
  101. package/lib/tsserver.d.ts +0 -0
  102. package/lib/tsserver.js +0 -2
  103. package/lib/tsserverlibrary.d.ts +0 -3
  104. package/lib/tsserverlibrary.js +0 -4
  105. package/lib/typescript.d.ts +0 -3
  106. package/lib/typescript.js +0 -4
  107. package/lib/typescriptServices.d.ts +0 -3
  108. package/lib/typescriptServices.js +0 -4
  109. package/lib/typingsInstaller.d.ts +0 -0
  110. package/lib/typingsInstaller.js +0 -2
  111. package/lib/watchGuard.d.ts +0 -0
  112. package/lib/watchGuard.js +0 -2
package/lib/project.js ADDED
@@ -0,0 +1,303 @@
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.resolveWorkingDirectory = resolveWorkingDirectory;
37
+ exports.resolveAbsolutePath = resolveAbsolutePath;
38
+ exports.resolveProjectConfig = resolveProjectConfig;
39
+ exports.resolveProjectRoot = resolveProjectRoot;
40
+ exports.defaultCacheDirectory = defaultCacheDirectory;
41
+ exports.readProjectConfig = readProjectConfig;
42
+ exports.createTransformCacheKey = createTransformCacheKey;
43
+ const crypto = __importStar(require("node:crypto"));
44
+ const fs = __importStar(require("node:fs"));
45
+ const node_module_1 = require("node:module");
46
+ const path = __importStar(require("node:path"));
47
+ function resolveWorkingDirectory(cwd) {
48
+ return path.resolve(cwd ?? process.cwd());
49
+ }
50
+ function resolveAbsolutePath(cwd, target) {
51
+ return path.isAbsolute(target) ? target : path.resolve(cwd, target);
52
+ }
53
+ function resolveProjectConfig(opts = {}) {
54
+ const cwd = resolveWorkingDirectory(opts.cwd);
55
+ if (opts.tsconfig) {
56
+ const resolved = resolveAbsolutePath(cwd, opts.tsconfig);
57
+ if (!fs.existsSync(resolved)) {
58
+ throw new Error(`ttsc: tsconfig not found: ${resolved}`);
59
+ }
60
+ return resolveRealPath(resolved);
61
+ }
62
+ const start = opts.file
63
+ ? resolveRealPath(resolveAbsolutePath(cwd, opts.file))
64
+ : cwd;
65
+ const from = isDirectory(start) ? start : path.dirname(start);
66
+ const found = findUp(from, ["tsconfig.json", "jsconfig.json"]);
67
+ if (!found) {
68
+ throw new Error(`ttsc: could not find tsconfig.json or jsconfig.json starting from ${from}`);
69
+ }
70
+ return resolveRealPath(found);
71
+ }
72
+ function resolveProjectRoot(opts = {}) {
73
+ return path.dirname(resolveProjectConfig(opts));
74
+ }
75
+ function defaultCacheDirectory(projectRoot, tool) {
76
+ return path.join(projectRoot, "node_modules", ".cache", "ttsc", tool);
77
+ }
78
+ function readProjectConfig(opts = {}) {
79
+ const tsconfig = resolveProjectConfig(opts);
80
+ const root = path.dirname(tsconfig);
81
+ const compilerOptions = readResolvedCompilerOptions(tsconfig);
82
+ return {
83
+ compilerOptions: {
84
+ outDir: compilerOptions.outDir,
85
+ plugins: compilerOptions.plugins,
86
+ },
87
+ path: tsconfig,
88
+ root,
89
+ };
90
+ }
91
+ function createTransformCacheKey(input) {
92
+ const hash = crypto.createHash("sha256");
93
+ hash.update("file\0");
94
+ hash.update(fs.readFileSync(input.file));
95
+ hash.update("\0tsconfig\0");
96
+ hash.update(fs.readFileSync(input.tsconfig));
97
+ hash.update(`\0version\0${input.version}`);
98
+ hash.update(`\0mode\0${input.mode ?? ""}`);
99
+ for (const item of input.extra ?? []) {
100
+ hash.update(`\0extra\0${item}`);
101
+ }
102
+ return hash.digest("hex");
103
+ }
104
+ function findUp(from, names) {
105
+ let current = path.resolve(from);
106
+ while (true) {
107
+ for (const name of names) {
108
+ const candidate = path.join(current, name);
109
+ if (fs.existsSync(candidate)) {
110
+ return candidate;
111
+ }
112
+ }
113
+ const parent = path.dirname(current);
114
+ if (parent === current) {
115
+ return null;
116
+ }
117
+ current = parent;
118
+ }
119
+ }
120
+ function isDirectory(location) {
121
+ try {
122
+ return fs.statSync(location).isDirectory();
123
+ }
124
+ catch {
125
+ return false;
126
+ }
127
+ }
128
+ function isProjectPluginConfig(value) {
129
+ return typeof value === "object" && value !== null;
130
+ }
131
+ function resolveRealPath(location) {
132
+ try {
133
+ return fs.realpathSync(location);
134
+ }
135
+ catch {
136
+ return location;
137
+ }
138
+ }
139
+ function readResolvedCompilerOptions(tsconfig, seen = new Set()) {
140
+ const canonical = resolveRealPath(tsconfig);
141
+ if (seen.has(canonical)) {
142
+ throw new Error(`ttsc: circular tsconfig extends detected: ${canonical}`);
143
+ }
144
+ seen.add(canonical);
145
+ const parsed = parseJsonc(fs.readFileSync(canonical, "utf8"));
146
+ const own = parsed.compilerOptions;
147
+ const base = typeof parsed.extends === "string"
148
+ ? readResolvedCompilerOptions(resolveExtendsConfig(canonical, parsed.extends), seen)
149
+ : { plugins: [] };
150
+ return {
151
+ outDir: typeof own?.outDir === "string"
152
+ ? resolveAbsolutePath(path.dirname(canonical), own.outDir)
153
+ : base.outDir,
154
+ plugins: Array.isArray(own?.plugins)
155
+ ? own.plugins.filter(isProjectPluginConfig)
156
+ : base.plugins,
157
+ };
158
+ }
159
+ function resolveExtendsConfig(tsconfig, specifier) {
160
+ const baseDir = path.dirname(tsconfig);
161
+ if (path.isAbsolute(specifier)) {
162
+ return resolveExistingExtendsPath(specifier);
163
+ }
164
+ if (isRelativePluginSpecifier(specifier)) {
165
+ return resolveExistingExtendsPath(path.resolve(baseDir, specifier));
166
+ }
167
+ const resolver = (0, node_module_1.createRequire)(tsconfig);
168
+ try {
169
+ return resolveRealPath(resolver.resolve(specifier));
170
+ }
171
+ catch {
172
+ return resolveRealPath(resolver.resolve(`${specifier}.json`));
173
+ }
174
+ }
175
+ function resolveExistingExtendsPath(location) {
176
+ const candidates = new Set([
177
+ location,
178
+ `${location}.json`,
179
+ path.join(location, "tsconfig.json"),
180
+ ]);
181
+ for (const candidate of candidates) {
182
+ if (fs.existsSync(candidate)) {
183
+ return resolveRealPath(candidate);
184
+ }
185
+ }
186
+ throw new Error(`ttsc: extended tsconfig not found: ${location}`);
187
+ }
188
+ function isRelativePluginSpecifier(specifier) {
189
+ return (specifier === "." ||
190
+ specifier === ".." ||
191
+ specifier.startsWith("./") ||
192
+ specifier.startsWith("../") ||
193
+ specifier.startsWith(".\\") ||
194
+ specifier.startsWith("..\\"));
195
+ }
196
+ function parseJsonc(input) {
197
+ return JSON.parse(stripTrailingCommas(stripComments(input)));
198
+ }
199
+ function stripComments(input) {
200
+ let output = "";
201
+ let inBlockComment = false;
202
+ let inLineComment = false;
203
+ let inString = false;
204
+ let quote = "";
205
+ let escape = false;
206
+ for (let i = 0; i < input.length; i += 1) {
207
+ const current = input[i];
208
+ const next = input[i + 1];
209
+ if (inBlockComment) {
210
+ if (current === "*" && next === "/") {
211
+ inBlockComment = false;
212
+ i += 1;
213
+ }
214
+ continue;
215
+ }
216
+ if (inLineComment) {
217
+ if (current === "\n") {
218
+ inLineComment = false;
219
+ output += current;
220
+ }
221
+ continue;
222
+ }
223
+ if (inString) {
224
+ output += current;
225
+ if (escape) {
226
+ escape = false;
227
+ }
228
+ else if (current === "\\") {
229
+ escape = true;
230
+ }
231
+ else if (current === quote) {
232
+ inString = false;
233
+ quote = "";
234
+ }
235
+ continue;
236
+ }
237
+ if ((current === '"' || current === "'") && !inString) {
238
+ inString = true;
239
+ quote = current;
240
+ output += current;
241
+ continue;
242
+ }
243
+ if (current == "/" && next === "/") {
244
+ inLineComment = true;
245
+ i += 1;
246
+ continue;
247
+ }
248
+ if (current == "/" && next === "*") {
249
+ inBlockComment = true;
250
+ i += 1;
251
+ continue;
252
+ }
253
+ output += current;
254
+ }
255
+ return output;
256
+ }
257
+ function stripTrailingCommas(input) {
258
+ let output = "";
259
+ let inString = false;
260
+ let quote = "";
261
+ let escape = false;
262
+ for (let i = 0; i < input.length; i += 1) {
263
+ const current = input[i];
264
+ if (inString) {
265
+ output += current;
266
+ if (escape) {
267
+ escape = false;
268
+ }
269
+ else if (current === "\\") {
270
+ escape = true;
271
+ }
272
+ else if (current === quote) {
273
+ inString = false;
274
+ quote = "";
275
+ }
276
+ continue;
277
+ }
278
+ if (current === '"' || current === "'") {
279
+ inString = true;
280
+ quote = current;
281
+ output += current;
282
+ continue;
283
+ }
284
+ if (current === ",") {
285
+ const next = nextNonWhitespace(input, i + 1);
286
+ if (next === "}" || next === "]") {
287
+ continue;
288
+ }
289
+ }
290
+ output += current;
291
+ }
292
+ return output;
293
+ }
294
+ function nextNonWhitespace(input, from) {
295
+ for (let i = from; i < input.length; i += 1) {
296
+ const current = input[i];
297
+ if (/\s/.test(current) === false) {
298
+ return current;
299
+ }
300
+ }
301
+ return undefined;
302
+ }
303
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,65 +1,72 @@
1
1
  {
2
- "name": "ttsc",
3
- "bin": {
4
- "ttsc": "./bin/tsc",
5
- "ttsserver": "./bin/tsserver"
2
+ "name": "ttsc",
3
+ "version": "0.4.0-dev.20260424",
4
+ "description": "General-purpose compiler adapter and plugin host for tsgo.",
5
+ "main": "lib/index.js",
6
+ "types": "lib/index.d.ts",
7
+ "bin": {
8
+ "ttsc": "src/launcher/ttsc.js"
9
+ },
10
+ "exports": {
11
+ ".": {
12
+ "types": "./lib/index.d.ts",
13
+ "default": "./lib/index.js"
6
14
  },
7
- "scripts": {
8
- "build": "tsc",
9
- "clean": "rm -rf packages/*/dist packages/*/lib",
10
- "clean.all": "lerna clean --yes && rm -rf package-lock.json packages/*/package-lock.json node_modules packages/*/lib packages/*/dist",
11
- "debug": "node --inspect-brk ./node_modules/jest/bin/jest --runInBand --no-cache --no-watchman",
12
- "test": "npm run build && jest",
13
- "test.watch": "npm run build && jest --watch",
14
- "prettier": "npx prettier --config .prettierrc.js --check .",
15
- "prettier:fix": "npx prettier --config .prettierrc.js --write ."
16
- },
17
- "version": "0.3.1",
18
- "description": "Over TypeScript tool to use custom transformers in the tsconfig.json",
19
- "main": "lib/typescript.js",
20
- "files": [
21
- "*.md",
22
- "bin",
23
- "lib",
24
- "ts-node-config"
25
- ],
26
- "author": "sunrabbit123",
27
- "repository": {
28
- "type": "git",
29
- "url": "https://github.com/solar-religion/ttsc.git"
30
- },
31
- "homepage": "https://github.com/solar-religion/ttsc",
32
- "keywords": [
33
- "typescript",
34
- "wrapper",
35
- "transform",
36
- "transformer",
37
- "plugin",
38
- "config"
39
- ],
40
- "license": "MIT",
41
- "dependencies": {
42
- "resolve": ">=1.9.0"
43
- },
44
- "devDependencies": {
45
- "@types/jest": ">=23.3.11",
46
- "@types/node": ">=10.12.18",
47
- "@types/resolve": ">=0.0.8",
48
- "jest": ">=23.6.0",
49
- "lerna": ">=3.8.1",
50
- "ts-jest": ">=23.10.5",
51
- "ts-nameof": ">=2.0.0",
52
- "ts-node": ">=8.0.2",
53
- "ts-transform-css-modules": ">=0.3.3",
54
- "ts-transform-img": ">=0.3.2",
55
- "ts-transform-react-intl": ">=0.4.0",
56
- "ts-transformer-enumerate": ">=0.3.1",
57
- "ts-transformer-keys": ">=0.3.4",
58
- "ttsc": "file:.",
59
- "typescript": ">=3.2.2"
60
- },
61
- "peerDependencies": {
62
- "ts-node": ">=8.0.2",
63
- "typescript": ">=3.2.2"
64
- }
65
- }
15
+ "./package.json": "./package.json"
16
+ },
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "https://github.com/samchon/ttsc"
20
+ },
21
+ "author": "Jeongho Nam",
22
+ "license": "MIT",
23
+ "bugs": {
24
+ "url": "https://github.com/samchon/ttsc/issues"
25
+ },
26
+ "homepage": "https://github.com/samchon/ttsc",
27
+ "devDependencies": {
28
+ "@types/node": "^25.3.0",
29
+ "@typescript/native-preview": "7.0.0-dev.20260421.2",
30
+ "rimraf": "^6.1.2"
31
+ },
32
+ "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"
39
+ },
40
+ "sideEffects": false,
41
+ "files": [
42
+ "README.md",
43
+ "cmd",
44
+ "driver",
45
+ "go.mod",
46
+ "go.sum",
47
+ "package.json",
48
+ "lib",
49
+ "shim",
50
+ "src",
51
+ "test",
52
+ "tools"
53
+ ],
54
+ "keywords": [
55
+ "tsgo",
56
+ "transformer",
57
+ "plugin-host",
58
+ "ttsc"
59
+ ],
60
+ "publishConfig": {
61
+ "access": "public"
62
+ },
63
+ "scripts": {
64
+ "build": "rimraf lib && node ../../scripts/go.cjs run ./cmd/ttsc",
65
+ "test": "pnpm run test:ts && pnpm run test:go",
66
+ "test:ts": "node --test --test-reporter=spec --experimental-strip-types --experimental-specifier-resolution=node test/**/*.test.ts",
67
+ "test:go": "node ../../scripts/go.cjs test ./...",
68
+ "go:build": "node ../../scripts/go.cjs build-native",
69
+ "go:test": "node ../../scripts/go.cjs test ./...",
70
+ "go:vet": "node ../../scripts/go.cjs vet ./..."
71
+ }
72
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "ExtraMethods": {},
3
+ "ExtraFields": {}
4
+ }
@@ -0,0 +1,5 @@
1
+ module github.com/microsoft/typescript-go/shim/ast
2
+
3
+ go 1.26
4
+
5
+ require github.com/microsoft/typescript-go v0.0.0-20260408193441-2a5e1cf9fe22
@@ -0,0 +1,117 @@
1
+ package ast
2
+
3
+ import (
4
+ innerast "github.com/microsoft/typescript-go/internal/ast"
5
+ _ "unsafe"
6
+ )
7
+
8
+ type CallExpression = innerast.CallExpression
9
+ type Diagnostic = innerast.Diagnostic
10
+ type Identifier = innerast.Identifier
11
+ type IntersectionTypeNode = innerast.IntersectionTypeNode
12
+ type Kind = innerast.Kind
13
+ type LiteralTypeNode = innerast.LiteralTypeNode
14
+ type NoSubstitutionTemplateLiteral = innerast.NoSubstitutionTemplateLiteral
15
+ type Node = innerast.Node
16
+ type TemplateHead = innerast.TemplateHead
17
+ type TemplateLiteralTypeNode = innerast.TemplateLiteralTypeNode
18
+ type TemplateLiteralTypeSpan = innerast.TemplateLiteralTypeSpan
19
+ type TemplateMiddle = innerast.TemplateMiddle
20
+ type TemplateTail = innerast.TemplateTail
21
+ type PrefixUnaryExpression = innerast.PrefixUnaryExpression
22
+ type ComputedPropertyName = innerast.ComputedPropertyName
23
+ type PropertySignatureDeclaration = innerast.PropertySignatureDeclaration
24
+ type QualifiedName = innerast.QualifiedName
25
+ type TypeLiteralNode = innerast.TypeLiteralNode
26
+ type FunctionTypeNode = innerast.FunctionTypeNode
27
+ type InterfaceDeclaration = innerast.InterfaceDeclaration
28
+ type TypeReferenceNode = innerast.TypeReferenceNode
29
+ type SourceFile = innerast.SourceFile
30
+ type StringLiteral = innerast.StringLiteral
31
+ type Symbol = innerast.Symbol
32
+ type SymbolFlags = innerast.SymbolFlags
33
+ type NumericLiteral = innerast.NumericLiteral
34
+ type BigIntLiteral = innerast.BigIntLiteral
35
+ type ArrayTypeNode = innerast.ArrayTypeNode
36
+ type IndexSignatureDeclaration = innerast.IndexSignatureDeclaration
37
+ type NamedTupleMember = innerast.NamedTupleMember
38
+ type OptionalTypeNode = innerast.OptionalTypeNode
39
+ type RestTypeNode = innerast.RestTypeNode
40
+ type TypeAliasDeclaration = innerast.TypeAliasDeclaration
41
+ type TypeParameterDeclaration = innerast.TypeParameterDeclaration
42
+ type TupleTypeNode = innerast.TupleTypeNode
43
+ type UnionTypeNode = innerast.UnionTypeNode
44
+ type MethodSignatureDeclaration = innerast.MethodSignatureDeclaration
45
+ type MethodDeclaration = innerast.MethodDeclaration
46
+ type NodeList = innerast.NodeList
47
+ type ParameterDeclaration = innerast.ParameterDeclaration
48
+ type ParenthesizedTypeNode = innerast.ParenthesizedTypeNode
49
+
50
+ const (
51
+ KindCallExpression = innerast.KindCallExpression
52
+ KindIdentifier = innerast.KindIdentifier
53
+ KindPropertyAccessExpression = innerast.KindPropertyAccessExpression
54
+ KindPropertySignature = innerast.KindPropertySignature
55
+ KindComputedPropertyName = innerast.KindComputedPropertyName
56
+ KindMethodSignature = innerast.KindMethodSignature
57
+ KindMethodDeclaration = innerast.KindMethodDeclaration
58
+ KindIndexSignature = innerast.KindIndexSignature
59
+ KindParameter = innerast.KindParameter
60
+ KindStringKeyword = innerast.KindStringKeyword
61
+ KindNumberKeyword = innerast.KindNumberKeyword
62
+ KindBooleanKeyword = innerast.KindBooleanKeyword
63
+ KindBigIntKeyword = innerast.KindBigIntKeyword
64
+ KindAnyKeyword = innerast.KindAnyKeyword
65
+ KindNeverKeyword = innerast.KindNeverKeyword
66
+ KindUndefinedKeyword = innerast.KindUndefinedKeyword
67
+ KindNullKeyword = innerast.KindNullKeyword
68
+ KindVoidKeyword = innerast.KindVoidKeyword
69
+ KindTrueKeyword = innerast.KindTrueKeyword
70
+ KindFalseKeyword = innerast.KindFalseKeyword
71
+ KindStringLiteral = innerast.KindStringLiteral
72
+ KindNoSubstitutionTemplateLiteral = innerast.KindNoSubstitutionTemplateLiteral
73
+ KindTemplateHead = innerast.KindTemplateHead
74
+ KindTemplateMiddle = innerast.KindTemplateMiddle
75
+ KindTemplateTail = innerast.KindTemplateTail
76
+ KindNumericLiteral = innerast.KindNumericLiteral
77
+ KindBigIntLiteral = innerast.KindBigIntLiteral
78
+ KindTypeReference = innerast.KindTypeReference
79
+ KindFunctionType = innerast.KindFunctionType
80
+ KindLiteralType = innerast.KindLiteralType
81
+ KindArrayType = innerast.KindArrayType
82
+ KindTypeLiteral = innerast.KindTypeLiteral
83
+ KindInterfaceDeclaration = innerast.KindInterfaceDeclaration
84
+ KindTupleType = innerast.KindTupleType
85
+ KindUnionType = innerast.KindUnionType
86
+ KindIntersectionType = innerast.KindIntersectionType
87
+ KindNamedTupleMember = innerast.KindNamedTupleMember
88
+ KindOptionalType = innerast.KindOptionalType
89
+ KindParenthesizedType = innerast.KindParenthesizedType
90
+ KindRestType = innerast.KindRestType
91
+ KindTemplateLiteralType = innerast.KindTemplateLiteralType
92
+ KindTemplateLiteralTypeSpan = innerast.KindTemplateLiteralTypeSpan
93
+ KindPrefixUnaryExpression = innerast.KindPrefixUnaryExpression
94
+ KindQualifiedName = innerast.KindQualifiedName
95
+ KindTypeAliasDeclaration = innerast.KindTypeAliasDeclaration
96
+ KindTypeParameter = innerast.KindTypeParameter
97
+ KindImportSpecifier = innerast.KindImportSpecifier
98
+ KindImportDeclaration = innerast.KindImportDeclaration
99
+ KindNamedImports = innerast.KindNamedImports
100
+ KindNamespaceImport = innerast.KindNamespaceImport
101
+ KindExportSpecifier = innerast.KindExportSpecifier
102
+ KindModuleBlock = innerast.KindModuleBlock
103
+ KindModuleDeclaration = innerast.KindModuleDeclaration
104
+ KindFunctionDeclaration = innerast.KindFunctionDeclaration
105
+ KindMinusToken = innerast.KindMinusToken
106
+
107
+ SymbolFlagsOptional = innerast.SymbolFlagsOptional
108
+ SymbolFlagsAlias = innerast.SymbolFlagsAlias
109
+ SymbolFlagsType = innerast.SymbolFlagsType
110
+ SymbolFlagsNamespace = innerast.SymbolFlagsNamespace
111
+ )
112
+
113
+ //go:linkname GetSourceFileOfNode github.com/microsoft/typescript-go/internal/ast.GetSourceFileOfNode
114
+ func GetSourceFileOfNode(node *innerast.Node) *innerast.SourceFile
115
+
116
+ //go:linkname GetNodeAtPosition github.com/microsoft/typescript-go/internal/ast.GetNodeAtPosition
117
+ func GetNodeAtPosition(file *innerast.SourceFile, position int, includeJSDoc bool) *innerast.Node
@@ -0,0 +1 @@
1
+ {"ExtraMethods":{},"ExtraFields":{}}
@@ -0,0 +1,5 @@
1
+ module github.com/microsoft/typescript-go/shim/bundled
2
+
3
+ go 1.26
4
+
5
+ require github.com/microsoft/typescript-go v0.0.0-20260408193441-2a5e1cf9fe22
@@ -0,0 +1,19 @@
1
+
2
+ // Code generated by packages/ttsc/tools/gen_shims. DO NOT EDIT.
3
+
4
+ package bundled
5
+
6
+ import "github.com/microsoft/typescript-go/internal/bundled"
7
+ import "github.com/microsoft/typescript-go/internal/vfs"
8
+ import _ "unsafe"
9
+
10
+ const Embedded = bundled.Embedded
11
+ //go:linkname IsBundled github.com/microsoft/typescript-go/internal/bundled.IsBundled
12
+ func IsBundled(path string) bool
13
+ var LibNames = bundled.LibNames
14
+ //go:linkname LibPath github.com/microsoft/typescript-go/internal/bundled.LibPath
15
+ func LibPath() string
16
+ //go:linkname TestingLibPath github.com/microsoft/typescript-go/internal/bundled.TestingLibPath
17
+ func TestingLibPath() string
18
+ //go:linkname WrapFS github.com/microsoft/typescript-go/internal/bundled.WrapFS
19
+ func WrapFS(fs vfs.FS) vfs.FS
@@ -0,0 +1,31 @@
1
+ {
2
+ "ExtraMethods": {
3
+ "Checker": [
4
+ "getApparentType",
5
+ "getIndexTypeOfType",
6
+ "getPropertiesOfType",
7
+ "getTypeOfSymbol",
8
+ "getDeclaredTypeOfSymbol",
9
+ "getBaseTypes",
10
+ "getTypeArguments",
11
+ "getIndexInfosOfType",
12
+ "isArrayType",
13
+ "isArrayOrTupleType",
14
+ "isTypeAssignableTo",
15
+ "isReadonlySymbol",
16
+ "getWidenedType",
17
+ "getPropertyNameForKnownSymbolName",
18
+ "getBaseConstraintOfType",
19
+ "getNullableType",
20
+ "getExportsOfModule"
21
+ ]
22
+ },
23
+ "ExtraFields": {
24
+ "Type": [
25
+ "alias"
26
+ ],
27
+ "Checker": [
28
+ "globalRegExpType"
29
+ ]
30
+ }
31
+ }
@@ -0,0 +1,5 @@
1
+ module github.com/microsoft/typescript-go/shim/checker
2
+
3
+ go 1.26
4
+
5
+ require github.com/microsoft/typescript-go v0.0.0-20260408193441-2a5e1cf9fe22