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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveProjectConfig.js","sourceRoot":"","sources":["../../../../src/compiler/internal/project/resolveProjectConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolveProjectConfig.js","sourceRoot":"","sources":["../../../../src/compiler/internal/project/resolveProjectConfig.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,0DAA6B;AAI7B,iEAAiE;AACjE,8BACE,IAAI,GAA+B,EAAE;IAErC,MAAM,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACpD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI;QACrB,CAAC,CAAC,eAAe,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC,GAAG,CAAC;IACR,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC;IAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,qEAAqE,IAAI,EAAE,CAC5E,CAAC;IACJ,CAAC;IACD,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW,EAAE,MAAc;IACtD,OAAO,mBAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB;IACvC,IAAI,CAAC;QACH,OAAO,iBAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,IAAY,EAAE,KAAwB;IACpD,IAAI,OAAO,GAAG,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,IAAI,EAAE,CAAC;QACZ,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC3C,IAAI,iBAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB;IACnC,IAAI,CAAC;QACH,OAAO,iBAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -1,45 +1,15 @@
|
|
|
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.resolveBinary = resolveBinary;
|
|
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 ttsc helper binary path, or null when unavailable. */
|
|
40
10
|
function resolveBinary(opts = {}) {
|
|
41
11
|
const env = opts.env ?? process.env;
|
|
42
|
-
if (env.TTSC_BINARY &&
|
|
12
|
+
if (env.TTSC_BINARY && node_path_1.default.isAbsolute(env.TTSC_BINARY)) {
|
|
43
13
|
return env.TTSC_BINARY;
|
|
44
14
|
}
|
|
45
15
|
try {
|
|
@@ -55,11 +25,11 @@ function resolveBinary(opts = {}) {
|
|
|
55
25
|
}
|
|
56
26
|
function defaultLocalBinaryPath() {
|
|
57
27
|
const root = packageRootDir();
|
|
58
|
-
const candidate =
|
|
59
|
-
return
|
|
28
|
+
const candidate = node_path_1.default.resolve(root, "..", "native", process.platform === "win32" ? "ttsc-native.exe" : "ttsc-native");
|
|
29
|
+
return node_fs_1.default.existsSync(candidate) ? candidate : null;
|
|
60
30
|
}
|
|
61
31
|
function packageRootDir() {
|
|
62
|
-
const moduleDir =
|
|
63
|
-
return
|
|
32
|
+
const moduleDir = node_path_1.default.resolve(__dirname, "..", "..");
|
|
33
|
+
return node_fs_1.default.realpathSync.native?.(moduleDir) ?? node_fs_1.default.realpathSync(moduleDir);
|
|
64
34
|
}
|
|
65
35
|
//# sourceMappingURL=resolveBinary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveBinary.js","sourceRoot":"","sources":["../../../src/compiler/internal/resolveBinary.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolveBinary.js","sourceRoot":"","sources":["../../../src/compiler/internal/resolveBinary.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,0DAA6B;AAE7B,qEAAqE;AACrE,uBACE,IAAI,GAAgC,EAAE;IAEtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACpC,IAAI,GAAG,CAAC,WAAW,IAAI,mBAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QACxD,OAAO,GAAG,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,OAAO,CACpB,SAAS,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,QAAQ,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CACtG,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,kBAAkB;IACpB,CAAC;IAED,MAAM,KAAK,GAAG,sBAAsB,EAAE,CAAC;IACvC,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IAExB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,mBAAI,CAAC,OAAO,CAC5B,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,aAAa,CACjE,CAAC;IACF,OAAO,iBAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,cAAc;IACrB,MAAM,SAAS,GAAG,mBAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtD,OAAO,iBAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,iBAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AAC3E,CAAC"}
|
|
@@ -1,45 +1,15 @@
|
|
|
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.resolveEmittedJavaScript = resolveEmittedJavaScript;
|
|
37
|
-
const
|
|
38
|
-
const
|
|
7
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
39
9
|
/** Locate the JavaScript file emitted for a TypeScript source file. */
|
|
40
10
|
function resolveEmittedJavaScript(options) {
|
|
41
11
|
const exact = resolveExactEmittedFile(options.outDir, options.projectRoot, options.sourceFile);
|
|
42
|
-
if (exact &&
|
|
12
|
+
if (exact && node_fs_1.default.existsSync(exact)) {
|
|
43
13
|
return exact;
|
|
44
14
|
}
|
|
45
15
|
let best = null;
|
|
@@ -54,16 +24,14 @@ function resolveEmittedJavaScript(options) {
|
|
|
54
24
|
bestScore = score;
|
|
55
25
|
}
|
|
56
26
|
}
|
|
57
|
-
return best &&
|
|
27
|
+
return best && node_fs_1.default.existsSync(best) ? best : null;
|
|
58
28
|
}
|
|
59
29
|
function resolveExactEmittedFile(outDir, projectRoot, sourceFile) {
|
|
60
|
-
const relative =
|
|
61
|
-
if (relative === "" ||
|
|
62
|
-
relative.startsWith("..") ||
|
|
63
|
-
path.isAbsolute(relative)) {
|
|
30
|
+
const relative = node_path_1.default.relative(projectRoot, sourceFile);
|
|
31
|
+
if (relative === "" || isOutsideRelativePath(relative)) {
|
|
64
32
|
return null;
|
|
65
33
|
}
|
|
66
|
-
return
|
|
34
|
+
return node_path_1.default.resolve(outDir, relative.slice(0, relative.length - node_path_1.default.extname(relative).length) +
|
|
67
35
|
emittedJavaScriptExtension(sourceFile));
|
|
68
36
|
}
|
|
69
37
|
function listJavaScriptFiles(root) {
|
|
@@ -71,15 +39,15 @@ function listJavaScriptFiles(root) {
|
|
|
71
39
|
const stack = [root];
|
|
72
40
|
while (stack.length !== 0) {
|
|
73
41
|
const current = stack.pop();
|
|
74
|
-
if (!
|
|
42
|
+
if (!node_fs_1.default.existsSync(current))
|
|
75
43
|
continue;
|
|
76
|
-
for (const entry of
|
|
77
|
-
const next =
|
|
44
|
+
for (const entry of node_fs_1.default.readdirSync(current, { withFileTypes: true })) {
|
|
45
|
+
const next = node_path_1.default.join(current, entry.name);
|
|
78
46
|
if (entry.isDirectory()) {
|
|
79
47
|
stack.push(next);
|
|
80
48
|
}
|
|
81
49
|
else if (entry.isFile() && isJavaScriptOutput(next)) {
|
|
82
|
-
out.push(
|
|
50
|
+
out.push(node_path_1.default.resolve(next));
|
|
83
51
|
}
|
|
84
52
|
}
|
|
85
53
|
}
|
|
@@ -89,7 +57,7 @@ function sharedSourceStemSegments(outPath, srcPath) {
|
|
|
89
57
|
const trim = (location) => {
|
|
90
58
|
const normalized = location.replace(/\\/g, "/");
|
|
91
59
|
return normalized
|
|
92
|
-
.slice(0, normalized.length -
|
|
60
|
+
.slice(0, normalized.length - node_path_1.default.extname(normalized).length)
|
|
93
61
|
.split("/");
|
|
94
62
|
};
|
|
95
63
|
const a = trim(outPath);
|
|
@@ -103,8 +71,13 @@ function sharedSourceStemSegments(outPath, srcPath) {
|
|
|
103
71
|
}
|
|
104
72
|
return shared;
|
|
105
73
|
}
|
|
74
|
+
function isOutsideRelativePath(relative) {
|
|
75
|
+
return (relative === ".." ||
|
|
76
|
+
relative.startsWith(`..${node_path_1.default.sep}`) ||
|
|
77
|
+
node_path_1.default.isAbsolute(relative));
|
|
78
|
+
}
|
|
106
79
|
function emittedJavaScriptExtension(filename) {
|
|
107
|
-
switch (
|
|
80
|
+
switch (node_path_1.default.extname(filename).toLowerCase()) {
|
|
108
81
|
case ".mts":
|
|
109
82
|
return ".mjs";
|
|
110
83
|
case ".cts":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveEmittedJavaScript.js","sourceRoot":"","sources":["../../../src/compiler/internal/resolveEmittedJavaScript.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolveEmittedJavaScript.js","sourceRoot":"","sources":["../../../src/compiler/internal/resolveEmittedJavaScript.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,61 +1,31 @@
|
|
|
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.resolveTsgo = resolveTsgo;
|
|
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
|
/** Resolve the consumer project's TypeScript-Go preview binary. */
|
|
41
11
|
function resolveTsgo(opts = {}) {
|
|
42
12
|
const env = opts.env ?? process.env;
|
|
43
13
|
const explicit = opts.binary ?? env.TTSC_TSGO_BINARY;
|
|
44
14
|
if (explicit) {
|
|
45
|
-
if (!
|
|
15
|
+
if (!node_path_1.default.isAbsolute(explicit) || !node_fs_1.default.existsSync(explicit)) {
|
|
46
16
|
throw new Error(`ttsc: explicit tsgo binary must be an existing absolute path: ${explicit}`);
|
|
47
17
|
}
|
|
48
18
|
return {
|
|
49
19
|
binary: explicit,
|
|
50
20
|
packageJson: "",
|
|
51
|
-
packageRoot:
|
|
21
|
+
packageRoot: node_path_1.default.dirname(explicit),
|
|
52
22
|
version: "custom",
|
|
53
23
|
};
|
|
54
24
|
}
|
|
55
|
-
const cwd =
|
|
25
|
+
const cwd = node_path_1.default.resolve(opts.cwd ?? process.cwd());
|
|
56
26
|
let packageJson;
|
|
57
27
|
try {
|
|
58
|
-
packageJson = (0, node_module_1.createRequire)(
|
|
28
|
+
packageJson = (0, node_module_1.createRequire)(node_path_1.default.join(cwd, "package.json")).resolve("@typescript/native-preview/package.json");
|
|
59
29
|
}
|
|
60
30
|
catch {
|
|
61
31
|
throw new Error([
|
|
@@ -65,7 +35,7 @@ function resolveTsgo(opts = {}) {
|
|
|
65
35
|
].join("\n"));
|
|
66
36
|
}
|
|
67
37
|
const manifest = readPackageJson(packageJson);
|
|
68
|
-
const packageRoot =
|
|
38
|
+
const packageRoot = node_path_1.default.dirname(packageJson);
|
|
69
39
|
const platformPackage = `@typescript/native-preview-${process.platform}-${process.arch}`;
|
|
70
40
|
const platformResolver = (0, node_module_1.createRequire)(packageJson);
|
|
71
41
|
let platformPackageJson;
|
|
@@ -78,9 +48,9 @@ function resolveTsgo(opts = {}) {
|
|
|
78
48
|
"Reinstall @typescript/native-preview with optional dependencies enabled.",
|
|
79
49
|
].join("\n"));
|
|
80
50
|
}
|
|
81
|
-
const platformRoot =
|
|
82
|
-
const binary =
|
|
83
|
-
if (!
|
|
51
|
+
const platformRoot = node_path_1.default.dirname(platformPackageJson);
|
|
52
|
+
const binary = node_path_1.default.join(platformRoot, "lib", process.platform === "win32" ? "tsgo.exe" : "tsgo");
|
|
53
|
+
if (!node_fs_1.default.existsSync(binary)) {
|
|
84
54
|
throw new Error(`ttsc: TypeScript-Go executable not found: ${binary}`);
|
|
85
55
|
}
|
|
86
56
|
return {
|
|
@@ -93,6 +63,6 @@ function resolveTsgo(opts = {}) {
|
|
|
93
63
|
};
|
|
94
64
|
}
|
|
95
65
|
function readPackageJson(file) {
|
|
96
|
-
return JSON.parse(
|
|
66
|
+
return JSON.parse(node_fs_1.default.readFileSync(file, "utf8"));
|
|
97
67
|
}
|
|
98
68
|
//# sourceMappingURL=resolveTsgo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveTsgo.js","sourceRoot":"","sources":["../../../src/compiler/internal/resolveTsgo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolveTsgo.js","sourceRoot":"","sources":["../../../src/compiler/internal/resolveTsgo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ITtscCompilerDiagnostic } from "../../structures/ITtscCompilerDiagnostic";
|
|
1
2
|
import type { TtscBuildOptions } from "../../structures/internal/TtscBuildOptions";
|
|
2
3
|
import type { TtscBuildResult } from "../../structures/internal/TtscBuildResult";
|
|
3
4
|
/**
|
|
@@ -8,3 +9,9 @@ export declare function runBuild(options?: TtscBuildOptions & {
|
|
|
8
9
|
skipDiagnosticsCheck?: boolean;
|
|
9
10
|
forceListEmittedFiles?: boolean;
|
|
10
11
|
}): TtscBuildResult;
|
|
12
|
+
export declare function appendBuildOutput(left: TtscBuildResult, right: TtscBuildResult): TtscBuildResult;
|
|
13
|
+
type PartialBuildResult = Omit<TtscBuildResult, "diagnostics"> & {
|
|
14
|
+
diagnostics?: ITtscCompilerDiagnostic[];
|
|
15
|
+
};
|
|
16
|
+
export declare function normalizeBuildOutput(result: PartialBuildResult, cwd?: string): TtscBuildResult;
|
|
17
|
+
export {};
|
|
@@ -1,42 +1,14 @@
|
|
|
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.runBuild = runBuild;
|
|
7
|
+
exports.appendBuildOutput = appendBuildOutput;
|
|
8
|
+
exports.normalizeBuildOutput = normalizeBuildOutput;
|
|
37
9
|
const node_child_process_1 = require("node:child_process");
|
|
38
|
-
const
|
|
39
|
-
const
|
|
10
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
11
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
40
12
|
const loadProjectPlugins_1 = require("../../plugin/internal/loadProjectPlugins");
|
|
41
13
|
const resolveProjectConfig_1 = require("./project/resolveProjectConfig");
|
|
42
14
|
const resolveBinary_1 = require("./resolveBinary");
|
|
@@ -55,7 +27,7 @@ function nativePluginEnv(extra, execution) {
|
|
|
55
27
|
return mergeEnv({
|
|
56
28
|
TTSC_TSGO_BINARY: process.env.TTSC_TSGO_BINARY ?? execution.tsgo.binary,
|
|
57
29
|
TTSC_TTSX_BINARY: process.env.TTSC_TTSX_BINARY ??
|
|
58
|
-
|
|
30
|
+
node_path_1.default.join(__dirname, "..", "..", "launcher", "ttsx.js"),
|
|
59
31
|
...extra,
|
|
60
32
|
});
|
|
61
33
|
}
|
|
@@ -77,11 +49,11 @@ function ensureExecutable(binary) {
|
|
|
77
49
|
return;
|
|
78
50
|
}
|
|
79
51
|
try {
|
|
80
|
-
const mode =
|
|
52
|
+
const mode = node_fs_1.default.statSync(binary).mode & 0o777;
|
|
81
53
|
if ((mode & 0o111) !== 0) {
|
|
82
54
|
return;
|
|
83
55
|
}
|
|
84
|
-
|
|
56
|
+
node_fs_1.default.chmodSync(binary, mode | 0o755);
|
|
85
57
|
}
|
|
86
58
|
catch {
|
|
87
59
|
/* keep the original spawn error path */
|
|
@@ -110,10 +82,7 @@ function runBuild(options = {}) {
|
|
|
110
82
|
assertCompilerHostCompatibility(compilers);
|
|
111
83
|
return appendBuildOutput(checked, buildWithNativeCompilerPlugins(options, execution, compilers));
|
|
112
84
|
}
|
|
113
|
-
|
|
114
|
-
return checked;
|
|
115
|
-
}
|
|
116
|
-
return runTsgo(execution, ["--noEmit"], options);
|
|
85
|
+
return appendBuildOutput(checked, runTsgo(execution, ["--noEmit"], options));
|
|
117
86
|
}
|
|
118
87
|
let result;
|
|
119
88
|
if (compilers.length !== 0) {
|
|
@@ -121,12 +90,10 @@ function runBuild(options = {}) {
|
|
|
121
90
|
result = appendBuildOutput(checked, buildWithNativeCompilerPlugins(options, execution, compilers));
|
|
122
91
|
}
|
|
123
92
|
else {
|
|
124
|
-
if (
|
|
125
|
-
checked.stderr === "" &&
|
|
126
|
-
options.skipDiagnosticsCheck !== true) {
|
|
93
|
+
if (options.skipDiagnosticsCheck !== true) {
|
|
127
94
|
const tsgoChecked = runTsgo(execution, ["--noEmit"], options);
|
|
128
95
|
if (tsgoChecked.status !== 0) {
|
|
129
|
-
return tsgoChecked;
|
|
96
|
+
return appendBuildOutput(checked, tsgoChecked);
|
|
130
97
|
}
|
|
131
98
|
}
|
|
132
99
|
const args = createTsgoBuildArgs(execution, options, {
|
|
@@ -168,7 +135,7 @@ function runTsgo(execution, extraArgs, options) {
|
|
|
168
135
|
": " +
|
|
169
136
|
res.error.message);
|
|
170
137
|
}
|
|
171
|
-
return
|
|
138
|
+
return normalizeBuildOutput({
|
|
172
139
|
status: res.status ?? 1,
|
|
173
140
|
stdout: outputText(res.stdout),
|
|
174
141
|
stderr: outputText(res.stderr),
|
|
@@ -195,7 +162,7 @@ function runTsgoBuild(execution, options, args) {
|
|
|
195
162
|
if (emittedFiles.length !== 0) {
|
|
196
163
|
result.stdout = stripEmittedFileLines(result.stdout);
|
|
197
164
|
}
|
|
198
|
-
return
|
|
165
|
+
return normalizeBuildOutput({ ...result, emittedFiles }, execution.projectRoot);
|
|
199
166
|
}
|
|
200
167
|
function createTsgoBuildArgs(execution, options, flags) {
|
|
201
168
|
const args = ["-p", execution.tsconfig];
|
|
@@ -206,7 +173,7 @@ function createTsgoBuildArgs(execution, options, flags) {
|
|
|
206
173
|
args.push("--noEmit");
|
|
207
174
|
}
|
|
208
175
|
if (options.outDir) {
|
|
209
|
-
args.push("--outDir",
|
|
176
|
+
args.push("--outDir", node_path_1.default.resolve(execution.cwd, options.outDir));
|
|
210
177
|
}
|
|
211
178
|
if (flags.listEmittedFiles) {
|
|
212
179
|
args.push("--listEmittedFiles");
|
|
@@ -231,7 +198,7 @@ function createNativeBuildArgs(execution, options, plugins) {
|
|
|
231
198
|
args.push("--noEmit");
|
|
232
199
|
}
|
|
233
200
|
if (options.outDir) {
|
|
234
|
-
args.push("--outDir=" +
|
|
201
|
+
args.push("--outDir=" + node_path_1.default.resolve(execution.cwd, options.outDir));
|
|
235
202
|
}
|
|
236
203
|
if (options.quiet === false) {
|
|
237
204
|
args.push("--verbose");
|
|
@@ -249,7 +216,7 @@ function createNativeCheckArgs(execution, options) {
|
|
|
249
216
|
"--cwd=" + execution.projectRoot,
|
|
250
217
|
];
|
|
251
218
|
if (options.outDir) {
|
|
252
|
-
args.push("--outDir=" +
|
|
219
|
+
args.push("--outDir=" + node_path_1.default.resolve(execution.cwd, options.outDir));
|
|
253
220
|
}
|
|
254
221
|
if (options.quiet === false) {
|
|
255
222
|
args.push("--verbose");
|
|
@@ -291,14 +258,14 @@ function runNativePluginCommand(plugin, args, options, execution, label) {
|
|
|
291
258
|
if (res.error) {
|
|
292
259
|
throw new Error(`${label}: failed to spawn ${plugin.binary}: ${res.error.message}`);
|
|
293
260
|
}
|
|
294
|
-
return
|
|
261
|
+
return normalizeBuildOutput({
|
|
295
262
|
status: res.status ?? 1,
|
|
296
263
|
stdout: outputText(res.stdout),
|
|
297
264
|
stderr: outputText(res.stderr),
|
|
298
265
|
}, execution.projectRoot);
|
|
299
266
|
}
|
|
300
267
|
function appendBuildOutput(left, right) {
|
|
301
|
-
return
|
|
268
|
+
return normalizeBuildOutput({
|
|
302
269
|
diagnostics: [...left.diagnostics, ...right.diagnostics],
|
|
303
270
|
emittedFiles: right.emittedFiles !== undefined ? right.emittedFiles : left.emittedFiles,
|
|
304
271
|
status: right.status !== 0 ? right.status : left.status,
|
|
@@ -332,15 +299,15 @@ const firstPartyUtilityPluginNames = new Set([
|
|
|
332
299
|
]);
|
|
333
300
|
function readNearestPackageManifest(source) {
|
|
334
301
|
try {
|
|
335
|
-
let current =
|
|
302
|
+
let current = node_fs_1.default.statSync(source).isDirectory()
|
|
336
303
|
? source
|
|
337
|
-
:
|
|
304
|
+
: node_path_1.default.dirname(source);
|
|
338
305
|
for (let i = 0; i < 4; i += 1) {
|
|
339
|
-
const manifest =
|
|
340
|
-
if (
|
|
341
|
-
return JSON.parse(
|
|
306
|
+
const manifest = node_path_1.default.join(current, "package.json");
|
|
307
|
+
if (node_fs_1.default.existsSync(manifest)) {
|
|
308
|
+
return JSON.parse(node_fs_1.default.readFileSync(manifest, "utf8"));
|
|
342
309
|
}
|
|
343
|
-
const parent =
|
|
310
|
+
const parent = node_path_1.default.dirname(current);
|
|
344
311
|
if (parent === current)
|
|
345
312
|
break;
|
|
346
313
|
current = parent;
|
|
@@ -352,12 +319,14 @@ function readNearestPackageManifest(source) {
|
|
|
352
319
|
return undefined;
|
|
353
320
|
}
|
|
354
321
|
function resolveExecutionContext(options) {
|
|
355
|
-
const cwd =
|
|
322
|
+
const cwd = node_path_1.default.resolve(options.cwd ?? process.cwd());
|
|
356
323
|
const tsconfig = (0, resolveProjectConfig_1.resolveProjectConfig)({
|
|
357
324
|
cwd,
|
|
358
325
|
tsconfig: options.tsconfig,
|
|
359
326
|
});
|
|
360
|
-
const projectRoot =
|
|
327
|
+
const projectRoot = options.projectRoot
|
|
328
|
+
? node_path_1.default.resolve(cwd, options.projectRoot)
|
|
329
|
+
: node_path_1.default.dirname(tsconfig);
|
|
361
330
|
const tsgo = (0, resolveTsgo_1.resolveTsgo)({ ...options, cwd: projectRoot });
|
|
362
331
|
const fallbackBinary = (0, resolveBinary_1.resolveBinary)(options);
|
|
363
332
|
const loaded = (0, loadProjectPlugins_1.loadProjectPlugins)({
|
|
@@ -365,6 +334,7 @@ function resolveExecutionContext(options) {
|
|
|
365
334
|
cacheDir: options.cacheDir ?? options.env?.TTSC_CACHE_DIR,
|
|
366
335
|
cwd,
|
|
367
336
|
entries: options.plugins,
|
|
337
|
+
projectRoot,
|
|
368
338
|
tsconfig,
|
|
369
339
|
});
|
|
370
340
|
return {
|
|
@@ -380,7 +350,7 @@ function parseEmittedFiles(stdout) {
|
|
|
380
350
|
for (const line of stdout.split(/\r?\n/)) {
|
|
381
351
|
const match = line.match(/^TSFILE:\s*(.+)$/);
|
|
382
352
|
if (match?.[1]) {
|
|
383
|
-
out.push(
|
|
353
|
+
out.push(node_path_1.default.resolve(match[1].trim()));
|
|
384
354
|
}
|
|
385
355
|
}
|
|
386
356
|
return out;
|
|
@@ -392,7 +362,7 @@ function stripEmittedFileLines(stdout) {
|
|
|
392
362
|
.join("\n")
|
|
393
363
|
.replace(/\n+$/, "");
|
|
394
364
|
}
|
|
395
|
-
function
|
|
365
|
+
function normalizeBuildOutput(result, cwd) {
|
|
396
366
|
const diagnostics = result.diagnostics ?? parseCompilerDiagnostics(result, cwd);
|
|
397
367
|
if (result.status === 0 || result.stderr.trim().length !== 0) {
|
|
398
368
|
return { ...result, diagnostics };
|
|
@@ -432,6 +402,17 @@ function parseCompilerDiagnostics(result, cwd) {
|
|
|
432
402
|
return out;
|
|
433
403
|
}
|
|
434
404
|
function parseDiagnosticLine(line, cwd) {
|
|
405
|
+
const colonMatch = line.match(/^(.+):(\d+):(\d+)\s+-\s+(error|warning|suggestion|message)\s+([A-Z]+)?(\d+|[A-Z][A-Z0-9_-]*):\s+(.+)$/i);
|
|
406
|
+
if (colonMatch) {
|
|
407
|
+
return {
|
|
408
|
+
category: normalizeDiagnosticCategory(colonMatch[4]),
|
|
409
|
+
character: Number(colonMatch[3]),
|
|
410
|
+
code: normalizeDiagnosticCode(colonMatch[6]),
|
|
411
|
+
file: normalizeDiagnosticFile(colonMatch[1], cwd),
|
|
412
|
+
line: Number(colonMatch[2]),
|
|
413
|
+
messageText: colonMatch[7],
|
|
414
|
+
};
|
|
415
|
+
}
|
|
435
416
|
const fileMatch = line.match(/^(.+?)\((\d+),(\d+)\):\s+(error|warning|suggestion|message)\s+([A-Z]+)?(\d+|[A-Z][A-Z0-9_-]*):\s+(.+)$/i);
|
|
436
417
|
if (fileMatch) {
|
|
437
418
|
return {
|
|
@@ -455,10 +436,10 @@ function parseDiagnosticLine(line, cwd) {
|
|
|
455
436
|
};
|
|
456
437
|
}
|
|
457
438
|
function normalizeDiagnosticFile(file, cwd) {
|
|
458
|
-
if (
|
|
439
|
+
if (node_path_1.default.isAbsolute(file) || cwd === undefined) {
|
|
459
440
|
return file;
|
|
460
441
|
}
|
|
461
|
-
return
|
|
442
|
+
return node_path_1.default.resolve(cwd, file);
|
|
462
443
|
}
|
|
463
444
|
function normalizeDiagnosticCategory(value) {
|
|
464
445
|
const lowered = value.toLowerCase();
|
|
@@ -472,6 +453,6 @@ function normalizeDiagnosticCode(value) {
|
|
|
472
453
|
return /^\d+$/.test(value) ? Number(value) : value;
|
|
473
454
|
}
|
|
474
455
|
function stripAnsi(text) {
|
|
475
|
-
return text.replace(/\x1b\[[0-9
|
|
456
|
+
return text.replace(/\x1b\[[0-9;?]*[ -/]*[@-~]/g, "");
|
|
476
457
|
}
|
|
477
458
|
//# sourceMappingURL=runBuild.js.map
|