ttsc 0.8.0 → 0.9.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.
- package/README.md +75 -66
- package/cmd/ttsc/api_compile.go +5 -1
- package/driver/program.go +23 -1
- package/driver/rewrite.go +126 -9
- package/driver/rewrite_test.go +52 -0
- package/lib/TtscCompiler.js +28 -46
- package/lib/TtscCompiler.js.map +1 -1
- package/lib/compiler/internal/buildNativeCompiler.js +8 -38
- package/lib/compiler/internal/buildNativeCompiler.js.map +1 -1
- package/lib/compiler/internal/compileProjectInMemory.js +36 -63
- package/lib/compiler/internal/compileProjectInMemory.js.map +1 -1
- package/lib/compiler/internal/project/readProjectConfig.js +108 -60
- package/lib/compiler/internal/project/readProjectConfig.js.map +1 -1
- package/lib/compiler/internal/project/resolveProjectConfig.js +15 -45
- package/lib/compiler/internal/project/resolveProjectConfig.js.map +1 -1
- package/lib/compiler/internal/resolveBinary.js +10 -40
- package/lib/compiler/internal/resolveBinary.js.map +1 -1
- package/lib/compiler/internal/resolveEmittedJavaScript.js +21 -48
- package/lib/compiler/internal/resolveEmittedJavaScript.js.map +1 -1
- package/lib/compiler/internal/resolveTsgo.js +14 -44
- package/lib/compiler/internal/resolveTsgo.js.map +1 -1
- package/lib/compiler/internal/runBuild.d.ts +7 -0
- package/lib/compiler/internal/runBuild.js +47 -66
- package/lib/compiler/internal/runBuild.js.map +1 -1
- package/lib/compiler/internal/runSingleFileEmit.js +18 -48
- package/lib/compiler/internal/runSingleFileEmit.js.map +1 -1
- package/lib/compiler/internal/transformProjectInMemory.js +41 -75
- package/lib/compiler/internal/transformProjectInMemory.js.map +1 -1
- package/lib/launcher/internal/getCompilerVersionText.js +7 -37
- package/lib/launcher/internal/getCompilerVersionText.js.map +1 -1
- package/lib/launcher/internal/prepareExecution.js +48 -69
- package/lib/launcher/internal/prepareExecution.js.map +1 -1
- package/lib/launcher/internal/runTtsc.js +53 -64
- package/lib/launcher/internal/runTtsc.js.map +1 -1
- package/lib/launcher/internal/runTtsx.js +328 -57
- package/lib/launcher/internal/runTtsx.js.map +1 -1
- package/lib/plugin/internal/buildSourcePlugin.d.ts +8 -0
- package/lib/plugin/internal/buildSourcePlugin.js +179 -125
- package/lib/plugin/internal/buildSourcePlugin.js.map +1 -1
- package/lib/plugin/internal/loadProjectPlugins.d.ts +2 -0
- package/lib/plugin/internal/loadProjectPlugins.js +197 -9
- package/lib/plugin/internal/loadProjectPlugins.js.map +1 -1
- package/lib/structures/ITtscCompilerContext.d.ts +16 -3
- package/lib/structures/ITtscCompilerResult.d.ts +4 -0
- package/lib/structures/ITtscCompilerTransformation.d.ts +2 -0
- package/lib/structures/ITtscPluginFactoryContext.d.ts +6 -3
- package/lib/structures/ITtscProjectPluginConfig.d.ts +8 -7
- package/lib/structures/internal/ITtscParsedProjectConfig.d.ts +2 -0
- package/lib/structures/internal/ITtscProjectLocatorOptions.d.ts +2 -0
- package/lib/structures/internal/TtscCommonOptions.d.ts +2 -0
- package/package.json +9 -14
- package/shim/diagnosticwriter/lint.go +8 -0
- package/src/TtscCompiler.ts +20 -5
- package/src/compiler/internal/buildNativeCompiler.ts +2 -2
- package/src/compiler/internal/compileProjectInMemory.ts +21 -16
- package/src/compiler/internal/project/readProjectConfig.ts +134 -35
- package/src/compiler/internal/project/resolveProjectConfig.ts +2 -2
- package/src/compiler/internal/resolveBinary.ts +2 -2
- package/src/compiler/internal/resolveEmittedJavaScript.ts +11 -7
- package/src/compiler/internal/resolveTsgo.ts +2 -2
- package/src/compiler/internal/runBuild.ts +34 -21
- package/src/compiler/internal/runSingleFileEmit.ts +3 -3
- package/src/compiler/internal/transformProjectInMemory.ts +37 -37
- package/src/launcher/internal/getCompilerVersionText.ts +2 -2
- package/src/launcher/internal/prepareExecution.ts +14 -4
- package/src/launcher/internal/runTtsc.ts +30 -4
- package/src/launcher/internal/runTtsx.ts +377 -26
- package/src/plugin/internal/buildSourcePlugin.ts +127 -32
- package/src/plugin/internal/loadProjectPlugins.ts +266 -10
- package/src/structures/ITtscCompilerContext.ts +17 -3
- package/src/structures/ITtscCompilerResult.ts +5 -0
- package/src/structures/ITtscCompilerTransformation.ts +3 -0
- package/src/structures/ITtscPluginFactoryContext.ts +6 -3
- package/src/structures/ITtscProjectPluginConfig.ts +8 -7
- package/src/structures/internal/ITtscParsedProjectConfig.ts +2 -0
- package/src/structures/internal/ITtscProjectLocatorOptions.ts +2 -0
- package/src/structures/internal/TtscCommonOptions.ts +2 -0
- package/utility/host.go +610 -18
- package/utility/host_test.go +162 -0
- package/test/compiler.test.ts +0 -422
- package/test/platform.test.ts +0 -12
- package/test/project.test.ts +0 -197
- package/test/source-build.test.ts +0 -45
- package/test/tsgo.test.ts +0 -69
|
@@ -1,41 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
})();
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
35
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
6
|
exports.buildNativeCompiler = buildNativeCompiler;
|
|
37
|
-
const
|
|
38
|
-
const
|
|
7
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
39
9
|
const buildSourcePlugin_1 = require("../../plugin/internal/buildSourcePlugin");
|
|
40
10
|
/** Build the native ttsc compiler host used by in-memory API compilation. */
|
|
41
11
|
function buildNativeCompiler(options) {
|
|
@@ -46,14 +16,14 @@ function buildNativeCompiler(options) {
|
|
|
46
16
|
overlayDirs: [],
|
|
47
17
|
pluginName: "ttsc",
|
|
48
18
|
quiet: true,
|
|
49
|
-
source:
|
|
19
|
+
source: node_path_1.default.join(options.packageRoot, "cmd", "ttsc"),
|
|
50
20
|
ttscVersion: readOwnPackageVersion(options.packageRoot),
|
|
51
21
|
tsgoVersion: readGoModuleVersion(options.packageRoot),
|
|
52
22
|
});
|
|
53
23
|
}
|
|
54
24
|
function readOwnPackageVersion(packageRoot) {
|
|
55
25
|
try {
|
|
56
|
-
const pkg = JSON.parse(
|
|
26
|
+
const pkg = JSON.parse(node_fs_1.default.readFileSync(node_path_1.default.join(packageRoot, "package.json"), "utf8"));
|
|
57
27
|
return typeof pkg.version === "string" ? pkg.version : "0.0.0";
|
|
58
28
|
}
|
|
59
29
|
catch {
|
|
@@ -62,7 +32,7 @@ function readOwnPackageVersion(packageRoot) {
|
|
|
62
32
|
}
|
|
63
33
|
function readGoModuleVersion(packageRoot) {
|
|
64
34
|
try {
|
|
65
|
-
const goMod =
|
|
35
|
+
const goMod = node_fs_1.default.readFileSync(node_path_1.default.join(packageRoot, "go.mod"), "utf8");
|
|
66
36
|
return goMod;
|
|
67
37
|
}
|
|
68
38
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildNativeCompiler.js","sourceRoot":"","sources":["../../../src/compiler/internal/buildNativeCompiler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"buildNativeCompiler.js","sourceRoot":"","sources":["../../../src/compiler/internal/buildNativeCompiler.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,0DAA6B;AAE7B,+EAA4E;AAE5E,6EAA6E;AAC7E,6BAAoC,OAInC;IACC,OAAO,IAAA,qCAAiB,EAAC;QACvB,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,MAAM;QAClB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC;QACrD,WAAW,EAAE,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC;QACvD,WAAW,EAAE,mBAAmB,CAAC,OAAO,CAAC,WAAW,CAAC;KACtD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,WAAmB;IAChD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,iBAAE,CAAC,YAAY,CAAC,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CACvC,CAAC;QAC3B,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,WAAmB;IAC9C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,iBAAE,CAAC,YAAY,CAAC,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACxE,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
@@ -1,64 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
})();
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
35
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
6
|
exports.compileProjectInMemory = compileProjectInMemory;
|
|
37
7
|
const node_child_process_1 = require("node:child_process");
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
-
const
|
|
8
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
9
|
+
const node_os_1 = __importDefault(require("node:os"));
|
|
10
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
11
|
+
const loadProjectPlugins_1 = require("../../plugin/internal/loadProjectPlugins");
|
|
41
12
|
const buildNativeCompiler_1 = require("./buildNativeCompiler");
|
|
42
13
|
const readProjectConfig_1 = require("./project/readProjectConfig");
|
|
43
14
|
const runBuild_1 = require("./runBuild");
|
|
44
15
|
/** Compile a project and capture emitted files without writing to the project tree. */
|
|
45
16
|
function compileProjectInMemory(options) {
|
|
46
|
-
const cwd =
|
|
17
|
+
const cwd = node_path_1.default.resolve(options.cwd ?? process.cwd());
|
|
47
18
|
const project = (0, readProjectConfig_1.readProjectConfig)({
|
|
48
19
|
cwd,
|
|
20
|
+
projectRoot: options.projectRoot,
|
|
49
21
|
tsconfig: options.tsconfig,
|
|
50
22
|
});
|
|
51
|
-
if (
|
|
23
|
+
if (hasConfiguredPlugins(options, project)) {
|
|
52
24
|
return compileProjectWithPlugins(options, cwd, project);
|
|
53
25
|
}
|
|
54
26
|
const tsconfig = project.path;
|
|
55
27
|
const binary = (0, buildNativeCompiler_1.buildNativeCompiler)({
|
|
56
|
-
cacheBaseDir:
|
|
28
|
+
cacheBaseDir: project.root,
|
|
57
29
|
cacheDir: options.cacheDir,
|
|
58
30
|
packageRoot: packageRootDir(),
|
|
59
31
|
});
|
|
60
|
-
const res = (0, node_child_process_1.spawnSync)(binary, ["api-compile", "--cwd",
|
|
61
|
-
cwd:
|
|
32
|
+
const res = (0, node_child_process_1.spawnSync)(binary, ["api-compile", "--cwd", project.root, "--tsconfig", tsconfig], {
|
|
33
|
+
cwd: project.root,
|
|
62
34
|
encoding: "utf8",
|
|
63
35
|
env: { ...process.env, ...options.env },
|
|
64
36
|
maxBuffer: 1024 * 1024 * 256,
|
|
@@ -78,16 +50,12 @@ function compileProjectInMemory(options) {
|
|
|
78
50
|
},
|
|
79
51
|
};
|
|
80
52
|
}
|
|
81
|
-
function
|
|
82
|
-
|
|
83
|
-
return [];
|
|
84
|
-
}
|
|
85
|
-
const entries = options.plugins ?? project.compilerOptions.plugins;
|
|
86
|
-
return entries.filter((entry) => entry.enabled !== false);
|
|
53
|
+
function hasConfiguredPlugins(options, project) {
|
|
54
|
+
return (0, loadProjectPlugins_1.hasProjectPluginEntries)(project, options.plugins);
|
|
87
55
|
}
|
|
88
56
|
function compileProjectWithPlugins(options, cwd, project) {
|
|
89
|
-
const tempRoot =
|
|
90
|
-
const tempOutDir =
|
|
57
|
+
const tempRoot = node_fs_1.default.mkdtempSync(node_path_1.default.join(node_os_1.default.tmpdir(), "ttsc-api-output-"));
|
|
58
|
+
const tempOutDir = node_path_1.default.join(tempRoot, "out");
|
|
91
59
|
try {
|
|
92
60
|
const result = (0, runBuild_1.runBuild)({
|
|
93
61
|
...options,
|
|
@@ -105,7 +73,7 @@ function compileProjectWithPlugins(options, cwd, project) {
|
|
|
105
73
|
};
|
|
106
74
|
}
|
|
107
75
|
finally {
|
|
108
|
-
|
|
76
|
+
node_fs_1.default.rmSync(tempRoot, { force: true, recursive: true });
|
|
109
77
|
}
|
|
110
78
|
}
|
|
111
79
|
function outputKeyMapper(project) {
|
|
@@ -113,27 +81,32 @@ function outputKeyMapper(project) {
|
|
|
113
81
|
if (!outDir) {
|
|
114
82
|
return (relativePath) => relativePath;
|
|
115
83
|
}
|
|
116
|
-
const relativeOutDir =
|
|
117
|
-
if (relativeOutDir !== "" && !relativeOutDir
|
|
84
|
+
const relativeOutDir = node_path_1.default.relative(project.root, outDir);
|
|
85
|
+
if (relativeOutDir !== "" && !isOutsideRelativePath(relativeOutDir)) {
|
|
118
86
|
const prefix = pathToKey(relativeOutDir);
|
|
119
|
-
return (relativePath) =>
|
|
87
|
+
return (relativePath) => node_path_1.default.posix.join(prefix, relativePath);
|
|
120
88
|
}
|
|
121
|
-
return (relativePath) => pathToKey(
|
|
89
|
+
return (relativePath) => pathToKey(node_path_1.default.join(outDir, relativePath));
|
|
90
|
+
}
|
|
91
|
+
function isOutsideRelativePath(relative) {
|
|
92
|
+
return (relative === ".." ||
|
|
93
|
+
relative.startsWith(`..${node_path_1.default.sep}`) ||
|
|
94
|
+
node_path_1.default.isAbsolute(relative));
|
|
122
95
|
}
|
|
123
96
|
function readOutputDirectory(directory, keyOf) {
|
|
124
97
|
const output = {};
|
|
125
|
-
if (!
|
|
98
|
+
if (!node_fs_1.default.existsSync(directory)) {
|
|
126
99
|
return output;
|
|
127
100
|
}
|
|
128
101
|
for (const file of listFiles(directory)) {
|
|
129
|
-
output[keyOf(pathToKey(
|
|
102
|
+
output[keyOf(pathToKey(node_path_1.default.relative(directory, file)))] = node_fs_1.default.readFileSync(file, "utf8");
|
|
130
103
|
}
|
|
131
104
|
return output;
|
|
132
105
|
}
|
|
133
106
|
function listFiles(directory) {
|
|
134
107
|
const out = [];
|
|
135
|
-
for (const entry of
|
|
136
|
-
const location =
|
|
108
|
+
for (const entry of node_fs_1.default.readdirSync(directory, { withFileTypes: true })) {
|
|
109
|
+
const location = node_path_1.default.join(directory, entry.name);
|
|
137
110
|
if (entry.isDirectory()) {
|
|
138
111
|
out.push(...listFiles(location));
|
|
139
112
|
}
|
|
@@ -160,13 +133,13 @@ function parseNativeCompileOutput(stdout, stderr) {
|
|
|
160
133
|
}
|
|
161
134
|
}
|
|
162
135
|
function packageRootDir() {
|
|
163
|
-
let current =
|
|
136
|
+
let current = node_path_1.default.resolve(__dirname);
|
|
164
137
|
while (true) {
|
|
165
|
-
if (
|
|
166
|
-
|
|
167
|
-
return
|
|
138
|
+
if (node_fs_1.default.existsSync(node_path_1.default.join(current, "package.json")) &&
|
|
139
|
+
node_fs_1.default.existsSync(node_path_1.default.join(current, "go.mod"))) {
|
|
140
|
+
return node_fs_1.default.realpathSync.native?.(current) ?? node_fs_1.default.realpathSync(current);
|
|
168
141
|
}
|
|
169
|
-
const parent =
|
|
142
|
+
const parent = node_path_1.default.dirname(current);
|
|
170
143
|
if (parent === current) {
|
|
171
144
|
throw new Error("ttsc: package root not found for native compiler build");
|
|
172
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compileProjectInMemory.js","sourceRoot":"","sources":["../../../src/compiler/internal/compileProjectInMemory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"compileProjectInMemory.js","sourceRoot":"","sources":["../../../src/compiler/internal/compileProjectInMemory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,47 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
})();
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
35
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
6
|
exports.readProjectConfig = readProjectConfig;
|
|
37
|
-
const
|
|
7
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
38
8
|
const node_module_1 = require("node:module");
|
|
39
|
-
const
|
|
9
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
40
10
|
const resolveProjectConfig_1 = require("./resolveProjectConfig");
|
|
11
|
+
const PATH_OPTIONS = new Set(["baseUrl", "declarationDir", "rootDir"]);
|
|
41
12
|
/** Read the resolved project config subset used by ttsc. */
|
|
42
13
|
function readProjectConfig(opts = {}) {
|
|
43
14
|
const tsconfig = (0, resolveProjectConfig_1.resolveProjectConfig)(opts);
|
|
44
|
-
const root =
|
|
15
|
+
const root = opts.projectRoot
|
|
16
|
+
? node_path_1.default.resolve(opts.cwd ?? process.cwd(), opts.projectRoot)
|
|
17
|
+
: node_path_1.default.dirname(tsconfig);
|
|
45
18
|
const compilerOptions = readResolvedCompilerOptions(tsconfig);
|
|
46
19
|
return {
|
|
47
20
|
compilerOptions: {
|
|
@@ -50,6 +23,7 @@ function readProjectConfig(opts = {}) {
|
|
|
50
23
|
plugins: compilerOptions.plugins,
|
|
51
24
|
},
|
|
52
25
|
path: tsconfig,
|
|
26
|
+
pluginBaseDirs: compilerOptions.pluginBaseDirs,
|
|
53
27
|
root,
|
|
54
28
|
};
|
|
55
29
|
}
|
|
@@ -58,14 +32,14 @@ function isProjectPluginConfig(value) {
|
|
|
58
32
|
}
|
|
59
33
|
function resolveRealPath(location) {
|
|
60
34
|
try {
|
|
61
|
-
return
|
|
35
|
+
return node_fs_1.default.realpathSync(location);
|
|
62
36
|
}
|
|
63
37
|
catch {
|
|
64
38
|
return location;
|
|
65
39
|
}
|
|
66
40
|
}
|
|
67
41
|
function resolveAbsolutePath(cwd, target) {
|
|
68
|
-
return
|
|
42
|
+
return node_path_1.default.isAbsolute(target) ? target : node_path_1.default.resolve(cwd, target);
|
|
69
43
|
}
|
|
70
44
|
function readResolvedCompilerOptions(tsconfig, seen = new Set()) {
|
|
71
45
|
const canonical = resolveRealPath(tsconfig);
|
|
@@ -73,32 +47,106 @@ function readResolvedCompilerOptions(tsconfig, seen = new Set()) {
|
|
|
73
47
|
throw new Error(`ttsc: circular tsconfig extends detected: ${canonical}`);
|
|
74
48
|
}
|
|
75
49
|
seen.add(canonical);
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
50
|
+
try {
|
|
51
|
+
const parsed = parseJsonc(node_fs_1.default.readFileSync(canonical, "utf8"));
|
|
52
|
+
const own = parsed.compilerOptions;
|
|
53
|
+
const base = resolveBaseCompilerOptions(canonical, parsed.extends, seen);
|
|
54
|
+
const ownBaseDir = node_path_1.default.dirname(canonical);
|
|
55
|
+
const ownOptionBaseDirs = own === undefined
|
|
56
|
+
? {}
|
|
57
|
+
: Object.fromEntries(Object.keys(own).map((key) => [key, ownBaseDir]));
|
|
58
|
+
const optionBaseDirs = {
|
|
59
|
+
...base.optionBaseDirs,
|
|
60
|
+
...ownOptionBaseDirs,
|
|
61
|
+
};
|
|
62
|
+
const options = resolvePathOptions({
|
|
63
|
+
...base.options,
|
|
64
|
+
...(own ?? {}),
|
|
65
|
+
}, optionBaseDirs);
|
|
66
|
+
const ownPlugins = own?.plugins;
|
|
67
|
+
const pluginsDeclared = Array.isArray(ownPlugins);
|
|
68
|
+
const plugins = pluginsDeclared
|
|
69
|
+
? ownPlugins.filter(isProjectPluginConfig)
|
|
70
|
+
: base.plugins;
|
|
71
|
+
return {
|
|
72
|
+
optionBaseDirs,
|
|
73
|
+
options,
|
|
74
|
+
outDir: typeof own?.outDir === "string"
|
|
75
|
+
? resolveAbsolutePath(ownBaseDir, own.outDir)
|
|
76
|
+
: base.outDir,
|
|
77
|
+
pluginBaseDirs: pluginsDeclared
|
|
78
|
+
? plugins.map(() => ownBaseDir)
|
|
79
|
+
: base.pluginBaseDirs,
|
|
80
|
+
pluginsDeclared: pluginsDeclared || base.pluginsDeclared,
|
|
81
|
+
plugins,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
finally {
|
|
85
|
+
seen.delete(canonical);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
function resolveBaseCompilerOptions(tsconfig, extended, seen) {
|
|
89
|
+
if (typeof extended === "string") {
|
|
90
|
+
return readResolvedCompilerOptions(resolveExtendsConfig(tsconfig, extended), seen);
|
|
91
|
+
}
|
|
92
|
+
if (!Array.isArray(extended)) {
|
|
93
|
+
return {
|
|
94
|
+
optionBaseDirs: {},
|
|
95
|
+
options: {},
|
|
96
|
+
pluginBaseDirs: [],
|
|
97
|
+
pluginsDeclared: false,
|
|
98
|
+
plugins: [],
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
let merged = {
|
|
102
|
+
optionBaseDirs: {},
|
|
103
|
+
options: {},
|
|
104
|
+
pluginBaseDirs: [],
|
|
105
|
+
pluginsDeclared: false,
|
|
106
|
+
plugins: [],
|
|
93
107
|
};
|
|
108
|
+
for (const specifier of extended) {
|
|
109
|
+
if (typeof specifier !== "string") {
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
const current = readResolvedCompilerOptions(resolveExtendsConfig(tsconfig, specifier), seen);
|
|
113
|
+
merged = {
|
|
114
|
+
optionBaseDirs: {
|
|
115
|
+
...merged.optionBaseDirs,
|
|
116
|
+
...current.optionBaseDirs,
|
|
117
|
+
},
|
|
118
|
+
options: {
|
|
119
|
+
...merged.options,
|
|
120
|
+
...current.options,
|
|
121
|
+
},
|
|
122
|
+
outDir: current.outDir ?? merged.outDir,
|
|
123
|
+
pluginBaseDirs: current.pluginsDeclared
|
|
124
|
+
? current.pluginBaseDirs
|
|
125
|
+
: merged.pluginBaseDirs,
|
|
126
|
+
plugins: current.pluginsDeclared ? current.plugins : merged.plugins,
|
|
127
|
+
pluginsDeclared: merged.pluginsDeclared || current.pluginsDeclared,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
return merged;
|
|
131
|
+
}
|
|
132
|
+
function resolvePathOptions(options, baseDirs) {
|
|
133
|
+
const resolved = { ...options };
|
|
134
|
+
for (const key of PATH_OPTIONS) {
|
|
135
|
+
const value = resolved[key];
|
|
136
|
+
const baseDir = baseDirs[key];
|
|
137
|
+
if (typeof value === "string" && baseDir !== undefined) {
|
|
138
|
+
resolved[key] = resolveAbsolutePath(baseDir, value);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return resolved;
|
|
94
142
|
}
|
|
95
143
|
function resolveExtendsConfig(tsconfig, specifier) {
|
|
96
|
-
const baseDir =
|
|
97
|
-
if (
|
|
144
|
+
const baseDir = node_path_1.default.dirname(tsconfig);
|
|
145
|
+
if (node_path_1.default.isAbsolute(specifier)) {
|
|
98
146
|
return resolveExistingExtendsPath(specifier);
|
|
99
147
|
}
|
|
100
148
|
if (isRelativeSpecifier(specifier)) {
|
|
101
|
-
return resolveExistingExtendsPath(
|
|
149
|
+
return resolveExistingExtendsPath(node_path_1.default.resolve(baseDir, specifier));
|
|
102
150
|
}
|
|
103
151
|
const resolver = (0, node_module_1.createRequire)(tsconfig);
|
|
104
152
|
try {
|
|
@@ -112,10 +160,10 @@ function resolveExistingExtendsPath(location) {
|
|
|
112
160
|
const candidates = new Set([
|
|
113
161
|
location,
|
|
114
162
|
`${location}.json`,
|
|
115
|
-
|
|
163
|
+
node_path_1.default.join(location, "tsconfig.json"),
|
|
116
164
|
]);
|
|
117
165
|
for (const candidate of candidates) {
|
|
118
|
-
if (
|
|
166
|
+
if (node_fs_1.default.existsSync(candidate)) {
|
|
119
167
|
return resolveRealPath(candidate);
|
|
120
168
|
}
|
|
121
169
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readProjectConfig.js","sourceRoot":"","sources":["../../../../src/compiler/internal/project/readProjectConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"readProjectConfig.js","sourceRoot":"","sources":["../../../../src/compiler/internal/project/readProjectConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,47 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
})();
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
35
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
6
|
exports.resolveProjectConfig = resolveProjectConfig;
|
|
37
|
-
const
|
|
38
|
-
const
|
|
7
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
39
9
|
/** Resolve the tsconfig/jsconfig that owns a ttsc invocation. */
|
|
40
10
|
function resolveProjectConfig(opts = {}) {
|
|
41
|
-
const cwd =
|
|
11
|
+
const cwd = node_path_1.default.resolve(opts.cwd ?? process.cwd());
|
|
42
12
|
if (opts.tsconfig) {
|
|
43
13
|
const resolved = resolveAbsolutePath(cwd, opts.tsconfig);
|
|
44
|
-
if (!
|
|
14
|
+
if (!node_fs_1.default.existsSync(resolved)) {
|
|
45
15
|
throw new Error(`ttsc: tsconfig not found: ${resolved}`);
|
|
46
16
|
}
|
|
47
17
|
return resolveRealPath(resolved);
|
|
@@ -49,7 +19,7 @@ function resolveProjectConfig(opts = {}) {
|
|
|
49
19
|
const start = opts.file
|
|
50
20
|
? resolveRealPath(resolveAbsolutePath(cwd, opts.file))
|
|
51
21
|
: cwd;
|
|
52
|
-
const from = isDirectory(start) ? start :
|
|
22
|
+
const from = isDirectory(start) ? start : node_path_1.default.dirname(start);
|
|
53
23
|
const found = findUp(from, ["tsconfig.json", "jsconfig.json"]);
|
|
54
24
|
if (!found) {
|
|
55
25
|
throw new Error(`ttsc: could not find tsconfig.json or jsconfig.json starting from ${from}`);
|
|
@@ -57,26 +27,26 @@ function resolveProjectConfig(opts = {}) {
|
|
|
57
27
|
return resolveRealPath(found);
|
|
58
28
|
}
|
|
59
29
|
function resolveAbsolutePath(cwd, target) {
|
|
60
|
-
return
|
|
30
|
+
return node_path_1.default.isAbsolute(target) ? target : node_path_1.default.resolve(cwd, target);
|
|
61
31
|
}
|
|
62
32
|
function resolveRealPath(location) {
|
|
63
33
|
try {
|
|
64
|
-
return
|
|
34
|
+
return node_fs_1.default.realpathSync(location);
|
|
65
35
|
}
|
|
66
36
|
catch {
|
|
67
37
|
return location;
|
|
68
38
|
}
|
|
69
39
|
}
|
|
70
40
|
function findUp(from, names) {
|
|
71
|
-
let current =
|
|
41
|
+
let current = node_path_1.default.resolve(from);
|
|
72
42
|
while (true) {
|
|
73
43
|
for (const name of names) {
|
|
74
|
-
const candidate =
|
|
75
|
-
if (
|
|
44
|
+
const candidate = node_path_1.default.join(current, name);
|
|
45
|
+
if (node_fs_1.default.existsSync(candidate)) {
|
|
76
46
|
return candidate;
|
|
77
47
|
}
|
|
78
48
|
}
|
|
79
|
-
const parent =
|
|
49
|
+
const parent = node_path_1.default.dirname(current);
|
|
80
50
|
if (parent === current) {
|
|
81
51
|
return null;
|
|
82
52
|
}
|
|
@@ -85,7 +55,7 @@ function findUp(from, names) {
|
|
|
85
55
|
}
|
|
86
56
|
function isDirectory(location) {
|
|
87
57
|
try {
|
|
88
|
-
return
|
|
58
|
+
return node_fs_1.default.statSync(location).isDirectory();
|
|
89
59
|
}
|
|
90
60
|
catch {
|
|
91
61
|
return false;
|