ttsc 0.8.1 → 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.
Files changed (84) hide show
  1. package/README.md +39 -68
  2. package/cmd/ttsc/api_compile.go +5 -1
  3. package/driver/program.go +23 -1
  4. package/driver/rewrite.go +126 -9
  5. package/driver/rewrite_test.go +52 -0
  6. package/lib/TtscCompiler.js +28 -46
  7. package/lib/TtscCompiler.js.map +1 -1
  8. package/lib/compiler/internal/buildNativeCompiler.js +8 -38
  9. package/lib/compiler/internal/buildNativeCompiler.js.map +1 -1
  10. package/lib/compiler/internal/compileProjectInMemory.js +36 -63
  11. package/lib/compiler/internal/compileProjectInMemory.js.map +1 -1
  12. package/lib/compiler/internal/project/readProjectConfig.js +108 -60
  13. package/lib/compiler/internal/project/readProjectConfig.js.map +1 -1
  14. package/lib/compiler/internal/project/resolveProjectConfig.js +15 -45
  15. package/lib/compiler/internal/project/resolveProjectConfig.js.map +1 -1
  16. package/lib/compiler/internal/resolveBinary.js +10 -40
  17. package/lib/compiler/internal/resolveBinary.js.map +1 -1
  18. package/lib/compiler/internal/resolveEmittedJavaScript.js +21 -48
  19. package/lib/compiler/internal/resolveEmittedJavaScript.js.map +1 -1
  20. package/lib/compiler/internal/resolveTsgo.js +14 -44
  21. package/lib/compiler/internal/resolveTsgo.js.map +1 -1
  22. package/lib/compiler/internal/runBuild.d.ts +7 -0
  23. package/lib/compiler/internal/runBuild.js +47 -66
  24. package/lib/compiler/internal/runBuild.js.map +1 -1
  25. package/lib/compiler/internal/runSingleFileEmit.js +18 -48
  26. package/lib/compiler/internal/runSingleFileEmit.js.map +1 -1
  27. package/lib/compiler/internal/transformProjectInMemory.js +41 -75
  28. package/lib/compiler/internal/transformProjectInMemory.js.map +1 -1
  29. package/lib/launcher/internal/getCompilerVersionText.js +7 -37
  30. package/lib/launcher/internal/getCompilerVersionText.js.map +1 -1
  31. package/lib/launcher/internal/prepareExecution.js +48 -69
  32. package/lib/launcher/internal/prepareExecution.js.map +1 -1
  33. package/lib/launcher/internal/runTtsc.js +53 -64
  34. package/lib/launcher/internal/runTtsc.js.map +1 -1
  35. package/lib/launcher/internal/runTtsx.js +328 -57
  36. package/lib/launcher/internal/runTtsx.js.map +1 -1
  37. package/lib/plugin/internal/buildSourcePlugin.d.ts +8 -0
  38. package/lib/plugin/internal/buildSourcePlugin.js +179 -125
  39. package/lib/plugin/internal/buildSourcePlugin.js.map +1 -1
  40. package/lib/plugin/internal/loadProjectPlugins.d.ts +2 -0
  41. package/lib/plugin/internal/loadProjectPlugins.js +197 -9
  42. package/lib/plugin/internal/loadProjectPlugins.js.map +1 -1
  43. package/lib/structures/ITtscCompilerContext.d.ts +16 -3
  44. package/lib/structures/ITtscCompilerResult.d.ts +4 -0
  45. package/lib/structures/ITtscCompilerTransformation.d.ts +2 -0
  46. package/lib/structures/ITtscPluginFactoryContext.d.ts +6 -3
  47. package/lib/structures/ITtscProjectPluginConfig.d.ts +8 -7
  48. package/lib/structures/internal/ITtscParsedProjectConfig.d.ts +2 -0
  49. package/lib/structures/internal/ITtscProjectLocatorOptions.d.ts +2 -0
  50. package/lib/structures/internal/TtscCommonOptions.d.ts +2 -0
  51. package/package.json +9 -14
  52. package/shim/diagnosticwriter/lint.go +8 -0
  53. package/src/TtscCompiler.ts +20 -5
  54. package/src/compiler/internal/buildNativeCompiler.ts +2 -2
  55. package/src/compiler/internal/compileProjectInMemory.ts +21 -16
  56. package/src/compiler/internal/project/readProjectConfig.ts +134 -35
  57. package/src/compiler/internal/project/resolveProjectConfig.ts +2 -2
  58. package/src/compiler/internal/resolveBinary.ts +2 -2
  59. package/src/compiler/internal/resolveEmittedJavaScript.ts +11 -7
  60. package/src/compiler/internal/resolveTsgo.ts +2 -2
  61. package/src/compiler/internal/runBuild.ts +34 -21
  62. package/src/compiler/internal/runSingleFileEmit.ts +3 -3
  63. package/src/compiler/internal/transformProjectInMemory.ts +37 -37
  64. package/src/launcher/internal/getCompilerVersionText.ts +2 -2
  65. package/src/launcher/internal/prepareExecution.ts +14 -4
  66. package/src/launcher/internal/runTtsc.ts +30 -4
  67. package/src/launcher/internal/runTtsx.ts +377 -26
  68. package/src/plugin/internal/buildSourcePlugin.ts +127 -32
  69. package/src/plugin/internal/loadProjectPlugins.ts +266 -10
  70. package/src/structures/ITtscCompilerContext.ts +17 -3
  71. package/src/structures/ITtscCompilerResult.ts +5 -0
  72. package/src/structures/ITtscCompilerTransformation.ts +3 -0
  73. package/src/structures/ITtscPluginFactoryContext.ts +6 -3
  74. package/src/structures/ITtscProjectPluginConfig.ts +8 -7
  75. package/src/structures/internal/ITtscParsedProjectConfig.ts +2 -0
  76. package/src/structures/internal/ITtscProjectLocatorOptions.ts +2 -0
  77. package/src/structures/internal/TtscCommonOptions.ts +2 -0
  78. package/utility/host.go +610 -18
  79. package/utility/host_test.go +162 -0
  80. package/test/compiler.test.ts +0 -422
  81. package/test/platform.test.ts +0 -12
  82. package/test/project.test.ts +0 -197
  83. package/test/source-build.test.ts +0 -45
  84. package/test/tsgo.test.ts +0 -69
@@ -1,45 +1,15 @@
1
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
- })();
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 fs = __importStar(require("node:fs"));
38
- const path = __importStar(require("node:path"));
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 && path.isAbsolute(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 = path.resolve(root, "..", "native", process.platform === "win32" ? "ttsc-native.exe" : "ttsc-native");
59
- return fs.existsSync(candidate) ? candidate : null;
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 = path.resolve(__dirname, "..", "..");
63
- return fs.realpathSync.native?.(moduleDir) ?? fs.realpathSync(moduleDir);
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAY,EAAE,oCAAgB;AAC9B,MAAY,IAAI,sCAAkB;AAElC,qEAAqE;AACrE,uBACE,IAAI,GAAgC,EAAE;IAEtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACpC,IAAI,GAAG,CAAC,WAAW,IAAI,IAAI,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,IAAI,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,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,cAAc;IACrB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtD,OAAO,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AAC3E,CAAC"}
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 __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
- })();
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 fs = __importStar(require("node:fs"));
38
- const path = __importStar(require("node:path"));
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 && fs.existsSync(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 && fs.existsSync(best) ? best : null;
27
+ return best && node_fs_1.default.existsSync(best) ? best : null;
58
28
  }
59
29
  function resolveExactEmittedFile(outDir, projectRoot, sourceFile) {
60
- const relative = path.relative(projectRoot, sourceFile);
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 path.resolve(outDir, relative.slice(0, relative.length - path.extname(relative).length) +
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 (!fs.existsSync(current))
42
+ if (!node_fs_1.default.existsSync(current))
75
43
  continue;
76
- for (const entry of fs.readdirSync(current, { withFileTypes: true })) {
77
- const next = path.join(current, entry.name);
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(path.resolve(next));
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 - path.extname(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 (path.extname(filename).toLowerCase()) {
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAY,EAAE,oCAAgB;AAC9B,MAAY,IAAI,sCAAkB;AAElC,uEAAuE;AACvE,kCAAyC,OAKxC;IACC,MAAM,KAAK,GAAG,uBAAuB,CACnC,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,UAAU,CACnB,CAAC;IACF,IAAI,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,IAAI,GAAkB,IAAI,CAAC;IAC/B,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,YAAY;QACrC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAAE,SAAS;QACxC,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;YACtB,IAAI,GAAG,IAAI,CAAC;YACZ,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,CAAC;AAED,SAAS,uBAAuB,CAC9B,MAAc,EACd,WAAmB,EACnB,UAAkB;IAElB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACxD,IACE,QAAQ,KAAK,EAAE;QACf,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EACzB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;QAChE,0BAA0B,CAAC,UAAU,CAAC,CACzC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;IACrB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QAC7B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,SAAS;QACtC,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe,EAAE,OAAe;IAChE,MAAM,IAAI,GAAG,CAAC,QAAgB,EAAY,EAAE;QAC1C,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChD,OAAO,UAAU;aACd,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;aAC7D,KAAK,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC,CAAC;IACF,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAAE,MAAM;QAC/C,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,0BAA0B,CAAC,QAAgB;IAClD,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7C,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,OAAO,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC"}
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 __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
- })();
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 fs = __importStar(require("node:fs"));
7
+ const node_fs_1 = __importDefault(require("node:fs"));
38
8
  const node_module_1 = require("node:module");
39
- const path = __importStar(require("node:path"));
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 (!path.isAbsolute(explicit) || !fs.existsSync(explicit)) {
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: path.dirname(explicit),
21
+ packageRoot: node_path_1.default.dirname(explicit),
52
22
  version: "custom",
53
23
  };
54
24
  }
55
- const cwd = path.resolve(opts.cwd ?? process.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)(path.join(cwd, "package.json")).resolve("@typescript/native-preview/package.json");
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 = path.dirname(packageJson);
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 = path.dirname(platformPackageJson);
82
- const binary = path.join(platformRoot, "lib", process.platform === "win32" ? "tsgo.exe" : "tsgo");
83
- if (!fs.existsSync(binary)) {
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(fs.readFileSync(file, "utf8"));
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":"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"}
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 __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
- })();
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 fs = __importStar(require("node:fs"));
39
- const path = __importStar(require("node:path"));
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
- path.join(__dirname, "..", "..", "launcher", "ttsx.js"),
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 = fs.statSync(binary).mode & 0o777;
52
+ const mode = node_fs_1.default.statSync(binary).mode & 0o777;
81
53
  if ((mode & 0o111) !== 0) {
82
54
  return;
83
55
  }
84
- fs.chmodSync(binary, mode | 0o755);
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
- if (checked.stdout !== "" || checked.stderr !== "") {
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 (checked.stdout === "" &&
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 normalizeFailedDiagnostics({
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 normalizeFailedDiagnostics({ ...result, emittedFiles }, execution.projectRoot);
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", path.resolve(execution.cwd, options.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=" + path.resolve(execution.cwd, options.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=" + path.resolve(execution.cwd, options.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 normalizeFailedDiagnostics({
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 normalizeFailedDiagnostics({
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 = fs.statSync(source).isDirectory()
302
+ let current = node_fs_1.default.statSync(source).isDirectory()
336
303
  ? source
337
- : path.dirname(source);
304
+ : node_path_1.default.dirname(source);
338
305
  for (let i = 0; i < 4; i += 1) {
339
- const manifest = path.join(current, "package.json");
340
- if (fs.existsSync(manifest)) {
341
- return JSON.parse(fs.readFileSync(manifest, "utf8"));
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 = path.dirname(current);
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 = path.resolve(options.cwd ?? process.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 = path.dirname(tsconfig);
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(path.resolve(match[1].trim()));
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 normalizeFailedDiagnostics(result, cwd) {
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 (path.isAbsolute(file) || cwd === undefined) {
439
+ if (node_path_1.default.isAbsolute(file) || cwd === undefined) {
459
440
  return file;
460
441
  }
461
- return path.resolve(cwd, file);
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;]*m/g, "");
456
+ return text.replace(/\x1b\[[0-9;?]*[ -/]*[@-~]/g, "");
476
457
  }
477
458
  //# sourceMappingURL=runBuild.js.map