@paretools/build 0.8.5 → 0.10.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 (41) hide show
  1. package/README.md +1 -1
  2. package/dist/index.js +1 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/build-runner.d.ts +2 -2
  5. package/dist/lib/build-runner.d.ts.map +1 -1
  6. package/dist/lib/build-runner.js +6 -6
  7. package/dist/lib/build-runner.js.map +1 -1
  8. package/dist/lib/formatters.d.ts +1 -0
  9. package/dist/lib/formatters.d.ts.map +1 -1
  10. package/dist/lib/formatters.js +61 -9
  11. package/dist/lib/formatters.js.map +1 -1
  12. package/dist/lib/parsers.d.ts +14 -5
  13. package/dist/lib/parsers.d.ts.map +1 -1
  14. package/dist/lib/parsers.js +336 -28
  15. package/dist/lib/parsers.js.map +1 -1
  16. package/dist/schemas/index.d.ts +126 -4
  17. package/dist/schemas/index.d.ts.map +1 -1
  18. package/dist/schemas/index.js +51 -2
  19. package/dist/schemas/index.js.map +1 -1
  20. package/dist/tools/build.d.ts.map +1 -1
  21. package/dist/tools/build.js +29 -12
  22. package/dist/tools/build.js.map +1 -1
  23. package/dist/tools/esbuild.d.ts.map +1 -1
  24. package/dist/tools/esbuild.js +130 -19
  25. package/dist/tools/esbuild.js.map +1 -1
  26. package/dist/tools/nx.d.ts.map +1 -1
  27. package/dist/tools/nx.js +85 -14
  28. package/dist/tools/nx.js.map +1 -1
  29. package/dist/tools/tsc.d.ts.map +1 -1
  30. package/dist/tools/tsc.js +48 -10
  31. package/dist/tools/tsc.js.map +1 -1
  32. package/dist/tools/turbo.d.ts.map +1 -1
  33. package/dist/tools/turbo.js +97 -13
  34. package/dist/tools/turbo.js.map +1 -1
  35. package/dist/tools/vite-build.d.ts.map +1 -1
  36. package/dist/tools/vite-build.js +83 -15
  37. package/dist/tools/vite-build.js.map +1 -1
  38. package/dist/tools/webpack.d.ts.map +1 -1
  39. package/dist/tools/webpack.js +78 -15
  40. package/dist/tools/webpack.js.map +1 -1
  41. package/package.json +2 -2
@@ -4,17 +4,17 @@ import { esbuildCmd } from "../lib/build-runner.js";
4
4
  import { parseEsbuildOutput } from "../lib/parsers.js";
5
5
  import { formatEsbuild, compactEsbuildMap, formatEsbuildCompact } from "../lib/formatters.js";
6
6
  import { EsbuildResultSchema } from "../schemas/index.js";
7
+ import { readFile, unlink } from "node:fs/promises";
8
+ import { join } from "node:path";
9
+ import { randomBytes } from "node:crypto";
10
+ import { tmpdir } from "node:os";
7
11
  /** Registers the `esbuild` tool on the given MCP server. */
8
12
  export function registerEsbuildTool(server) {
9
13
  server.registerTool("esbuild", {
10
14
  title: "esbuild",
11
- description: "Runs the esbuild bundler and returns structured errors, warnings, and output files. Use instead of running `esbuild` in the terminal.",
15
+ description: "Runs the esbuild bundler and returns structured errors, warnings, and output files.",
12
16
  inputSchema: {
13
- path: z
14
- .string()
15
- .max(INPUT_LIMITS.PATH_MAX)
16
- .optional()
17
- .describe("Project root path (default: cwd)"),
17
+ path: z.string().max(INPUT_LIMITS.PATH_MAX).optional().describe("Project root path"),
18
18
  entryPoints: z
19
19
  .array(z.string().max(INPUT_LIMITS.PATH_MAX))
20
20
  .max(INPUT_LIMITS.ARRAY_MAX)
@@ -40,24 +40,65 @@ export function registerEsbuildTool(server) {
40
40
  .optional()
41
41
  .describe("Target platform (browser, node, neutral)"),
42
42
  sourcemap: z
43
+ .enum(["true", "linked", "inline", "external", "both"])
44
+ .optional()
45
+ .describe("Source map mode: 'true' for default, 'linked', 'inline', 'external', or 'both'"),
46
+ target: z
47
+ .string()
48
+ .max(INPUT_LIMITS.STRING_MAX)
49
+ .optional()
50
+ .describe("Target environment (e.g., 'es2020', 'node16', 'chrome90'). Maps to --target."),
51
+ external: z
52
+ .array(z.string().max(INPUT_LIMITS.STRING_MAX))
53
+ .max(INPUT_LIMITS.ARRAY_MAX)
54
+ .optional()
55
+ .describe("Packages to exclude from the bundle (e.g., ['react', 'react-dom']). Maps to --external."),
56
+ tsconfig: z
57
+ .string()
58
+ .max(INPUT_LIMITS.PATH_MAX)
59
+ .optional()
60
+ .describe("Path to tsconfig.json for TypeScript configuration (maps to --tsconfig)"),
61
+ drop: z
62
+ .array(z.enum(["console", "debugger"]))
63
+ .max(2)
64
+ .optional()
65
+ .describe("Statements to drop from output (maps to --drop:console, --drop:debugger)"),
66
+ splitting: z
67
+ .boolean()
68
+ .optional()
69
+ .describe("Enable code splitting (requires format=esm and outdir)"),
70
+ legalComments: z
71
+ .enum(["none", "inline", "eof", "linked", "external"])
72
+ .optional()
73
+ .describe("How to handle legal comments (license headers)"),
74
+ logLevel: z
75
+ .enum(["verbose", "debug", "info", "warning", "error", "silent"])
76
+ .optional()
77
+ .describe("Log level to control output verbosity"),
78
+ define: z
79
+ .record(z.string(), z.string().max(INPUT_LIMITS.STRING_MAX))
80
+ .optional()
81
+ .describe("Compile-time constant replacements (e.g., { 'process.env.NODE_ENV': '\"production\"' }). " +
82
+ "Maps to --define:KEY=VALUE for each entry."),
83
+ loader: z
84
+ .record(z.string().max(INPUT_LIMITS.STRING_MAX), z.string().max(INPUT_LIMITS.STRING_MAX))
85
+ .optional()
86
+ .describe("Custom file loaders by extension (e.g., { '.png': 'dataurl', '.wasm': 'binary' }). Maps to --loader:.ext=type."),
87
+ metafile: z
43
88
  .boolean()
44
89
  .optional()
45
- .default(false)
46
- .describe("Generate source maps (default: false)"),
90
+ .describe("Generate a metafile with bundle analysis data (inputs/outputs with byte sizes). " +
91
+ "When enabled, the metafile is included in the structured output."),
47
92
  args: z
48
93
  .array(z.string().max(INPUT_LIMITS.STRING_MAX))
49
94
  .max(INPUT_LIMITS.ARRAY_MAX)
50
95
  .optional()
51
96
  .default([])
52
97
  .describe("Additional esbuild flags"),
53
- compact: z
54
- .boolean()
55
- .optional()
56
- .default(true)
57
- .describe("Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema."),
98
+ compact: z.boolean().optional().default(true).describe("Prefer compact output"),
58
99
  },
59
100
  outputSchema: EsbuildResultSchema,
60
- }, async ({ path, entryPoints, outdir, outfile, bundle, minify, format, platform, sourcemap, args, compact, }) => {
101
+ }, async ({ path, entryPoints, outdir, outfile, bundle, minify, format, platform, sourcemap, target, external, tsconfig, drop, splitting, legalComments, logLevel, define, loader, metafile, args, compact, }) => {
61
102
  const cwd = path || process.cwd();
62
103
  // Validate entry points to prevent flag injection
63
104
  for (const ep of entryPoints) {
@@ -76,10 +117,63 @@ export function registerEsbuildTool(server) {
76
117
  cliArgs.push(`--format=${format}`);
77
118
  if (platform)
78
119
  cliArgs.push(`--platform=${platform}`);
79
- if (sourcemap)
80
- cliArgs.push("--sourcemap");
81
- for (const a of args ?? []) {
82
- assertNoFlagInjection(a, "args");
120
+ if (sourcemap) {
121
+ if (sourcemap === "true") {
122
+ cliArgs.push("--sourcemap");
123
+ }
124
+ else {
125
+ cliArgs.push(`--sourcemap=${sourcemap}`);
126
+ }
127
+ }
128
+ if (target) {
129
+ assertNoFlagInjection(target, "target");
130
+ cliArgs.push(`--target=${target}`);
131
+ }
132
+ if (external) {
133
+ for (const ext of external) {
134
+ assertNoFlagInjection(ext, "external");
135
+ cliArgs.push(`--external:${ext}`);
136
+ }
137
+ }
138
+ if (tsconfig) {
139
+ assertNoFlagInjection(tsconfig, "tsconfig");
140
+ cliArgs.push(`--tsconfig=${tsconfig}`);
141
+ }
142
+ if (drop) {
143
+ for (const d of drop) {
144
+ cliArgs.push(`--drop:${d}`);
145
+ }
146
+ }
147
+ if (splitting)
148
+ cliArgs.push("--splitting");
149
+ if (legalComments)
150
+ cliArgs.push(`--legal-comments=${legalComments}`);
151
+ if (logLevel)
152
+ cliArgs.push(`--log-level=${logLevel}`);
153
+ // Gap #79: define parameter — compile-time constant replacements
154
+ const defineRecord = define;
155
+ if (defineRecord) {
156
+ for (const [key, value] of Object.entries(defineRecord)) {
157
+ assertNoFlagInjection(String(key), "define key");
158
+ assertNoFlagInjection(String(value), "define value");
159
+ cliArgs.push(`--define:${key}=${value}`);
160
+ }
161
+ }
162
+ const loaderRecord = loader;
163
+ if (loaderRecord) {
164
+ for (const [extKey, loaderType] of Object.entries(loaderRecord)) {
165
+ assertNoFlagInjection(String(extKey), "loader key");
166
+ assertNoFlagInjection(String(loaderType), "loader value");
167
+ const normalizedExt = extKey.startsWith(".") ? extKey : `.${extKey}`;
168
+ cliArgs.push(`--loader:${normalizedExt}=${loaderType}`);
169
+ }
170
+ }
171
+ // Gap #80: metafile parameter — bundle analysis data
172
+ let metafilePath;
173
+ if (metafile) {
174
+ const suffix = randomBytes(6).toString("hex");
175
+ metafilePath = join(tmpdir(), `pare-esbuild-meta-${suffix}.json`);
176
+ cliArgs.push(`--metafile=${metafilePath}`);
83
177
  }
84
178
  if (args) {
85
179
  cliArgs.push(...args);
@@ -88,7 +182,24 @@ export function registerEsbuildTool(server) {
88
182
  const result = await esbuildCmd(cliArgs, cwd);
89
183
  const duration = Math.round((Date.now() - start) / 100) / 10;
90
184
  const rawOutput = result.stdout + "\n" + result.stderr;
91
- const data = parseEsbuildOutput(result.stdout, result.stderr, result.exitCode, duration);
185
+ // Read metafile if it was generated
186
+ let metafileContent;
187
+ if (metafilePath) {
188
+ try {
189
+ metafileContent = await readFile(metafilePath, "utf-8");
190
+ }
191
+ catch {
192
+ // Metafile may not exist if build failed
193
+ }
194
+ // Clean up the temp metafile
195
+ try {
196
+ await unlink(metafilePath);
197
+ }
198
+ catch {
199
+ // Ignore cleanup errors
200
+ }
201
+ }
202
+ const data = parseEsbuildOutput(result.stdout, result.stderr, result.exitCode, duration, metafilePath, metafileContent);
92
203
  return compactDualOutput(data, rawOutput, formatEsbuild, compactEsbuildMap, formatEsbuildCompact, compact === false);
93
204
  });
94
205
  }
@@ -1 +1 @@
1
- {"version":3,"file":"esbuild.js","sourceRoot":"","sources":["../../src/tools/esbuild.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"esbuild.js","sourceRoot":"","sources":["../../src/tools/esbuild.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"nx.d.ts","sourceRoot":"","sources":["../../src/tools/nx.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,uDAAuD;AACvD,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,QAwF/C"}
1
+ {"version":3,"file":"nx.d.ts","sourceRoot":"","sources":["../../src/tools/nx.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,uDAAuD;AACvD,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,QA2K/C"}
package/dist/tools/nx.js CHANGED
@@ -8,7 +8,7 @@ import { NxResultSchema } from "../schemas/index.js";
8
8
  export function registerNxTool(server) {
9
9
  server.registerTool("nx", {
10
10
  title: "nx",
11
- description: "Runs Nx workspace commands and returns structured per-project task results with cache status. Use instead of running `nx` in the terminal.",
11
+ description: "Runs Nx workspace commands and returns structured per-project task results with cache status.",
12
12
  inputSchema: {
13
13
  target: z
14
14
  .string()
@@ -29,39 +29,82 @@ export function registerNxTool(server) {
29
29
  .max(INPUT_LIMITS.STRING_MAX)
30
30
  .optional()
31
31
  .describe("Base ref for affected comparison (e.g., 'main')"),
32
- path: z
32
+ head: z
33
33
  .string()
34
- .max(INPUT_LIMITS.PATH_MAX)
34
+ .max(INPUT_LIMITS.STRING_MAX)
35
+ .optional()
36
+ .describe("Head ref for affected comparison (maps to --head)"),
37
+ configuration: z
38
+ .string()
39
+ .max(INPUT_LIMITS.STRING_MAX)
40
+ .optional()
41
+ .describe("Build configuration to use (e.g., 'production', 'development'). Maps to --configuration."),
42
+ projects: z
43
+ .array(z.string().max(INPUT_LIMITS.STRING_MAX))
44
+ .max(INPUT_LIMITS.ARRAY_MAX)
35
45
  .optional()
36
- .describe("Project root path (default: cwd)"),
46
+ .describe("Specific projects to include in run-many (maps to --projects)"),
47
+ exclude: z
48
+ .array(z.string().max(INPUT_LIMITS.STRING_MAX))
49
+ .max(INPUT_LIMITS.ARRAY_MAX)
50
+ .optional()
51
+ .describe("Projects to exclude from run-many (maps to --exclude)"),
52
+ path: z.string().max(INPUT_LIMITS.PATH_MAX).optional().describe("Project root path"),
53
+ parallel: z
54
+ .number()
55
+ .optional()
56
+ .describe("Max number of parallel tasks (maps to --parallel)"),
57
+ skipNxCache: z
58
+ .boolean()
59
+ .optional()
60
+ .describe("Skip the Nx cache and re-run all tasks (maps to --skip-nx-cache)"),
61
+ nxBail: z
62
+ .boolean()
63
+ .optional()
64
+ .describe("Stop task execution after the first failure (maps to --nx-bail)"),
65
+ verbose: z
66
+ .boolean()
67
+ .optional()
68
+ .describe("Enable verbose output for debugging (maps to --verbose)"),
69
+ dryRun: z
70
+ .boolean()
71
+ .optional()
72
+ .describe("Preview the task graph without executing (maps to --dry-run)"),
73
+ outputStyle: z
74
+ .enum(["dynamic", "static", "stream", "stream-without-prefixes", "compact"])
75
+ .optional()
76
+ .describe("Output style for task logs"),
77
+ graph: z
78
+ .boolean()
79
+ .optional()
80
+ .describe("Generate the task graph visualization (maps to --graph)"),
37
81
  args: z
38
82
  .array(z.string().max(INPUT_LIMITS.STRING_MAX))
39
83
  .max(INPUT_LIMITS.ARRAY_MAX)
40
84
  .optional()
41
85
  .default([])
42
86
  .describe("Additional arguments to pass to nx"),
43
- compact: z
44
- .boolean()
45
- .optional()
46
- .default(true)
47
- .describe("Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema."),
87
+ compact: z.boolean().optional().default(true).describe("Prefer compact output"),
48
88
  },
49
89
  outputSchema: NxResultSchema,
50
- }, async ({ target, project, affected, base, path, args, compact }) => {
90
+ }, async ({ target, project, affected, base, head, configuration, projects, exclude, path, parallel, skipNxCache, nxBail, verbose, dryRun, outputStyle, graph, args, compact, }) => {
51
91
  const cwd = path || process.cwd();
52
92
  assertNoFlagInjection(target, "target");
53
93
  if (project)
54
94
  assertNoFlagInjection(project, "project");
55
95
  if (base)
56
96
  assertNoFlagInjection(base, "base");
57
- for (const a of args ?? []) {
58
- assertNoFlagInjection(a, "args");
59
- }
97
+ if (head)
98
+ assertNoFlagInjection(head, "head");
99
+ if (configuration)
100
+ assertNoFlagInjection(configuration, "configuration");
60
101
  const cliArgs = [];
61
102
  if (affected) {
62
103
  cliArgs.push("affected", `--target=${target}`);
63
104
  if (base)
64
105
  cliArgs.push(`--base=${base}`);
106
+ if (head)
107
+ cliArgs.push(`--head=${head}`);
65
108
  }
66
109
  else if (project) {
67
110
  cliArgs.push("run", `${project}:${target}`);
@@ -69,6 +112,34 @@ export function registerNxTool(server) {
69
112
  else {
70
113
  cliArgs.push("run-many", `--target=${target}`);
71
114
  }
115
+ if (configuration)
116
+ cliArgs.push(`--configuration=${configuration}`);
117
+ if (projects && projects.length > 0) {
118
+ for (const p of projects) {
119
+ assertNoFlagInjection(p, "projects");
120
+ }
121
+ cliArgs.push(`--projects=${projects.join(",")}`);
122
+ }
123
+ if (exclude && exclude.length > 0) {
124
+ for (const e of exclude) {
125
+ assertNoFlagInjection(e, "exclude");
126
+ }
127
+ cliArgs.push(`--exclude=${exclude.join(",")}`);
128
+ }
129
+ if (parallel !== undefined)
130
+ cliArgs.push(`--parallel=${parallel}`);
131
+ if (skipNxCache)
132
+ cliArgs.push("--skip-nx-cache");
133
+ if (nxBail)
134
+ cliArgs.push("--nx-bail");
135
+ if (verbose)
136
+ cliArgs.push("--verbose");
137
+ if (dryRun)
138
+ cliArgs.push("--dry-run");
139
+ if (outputStyle)
140
+ cliArgs.push(`--output-style=${outputStyle}`);
141
+ if (graph)
142
+ cliArgs.push("--graph");
72
143
  if (args) {
73
144
  cliArgs.push(...args);
74
145
  }
@@ -76,7 +147,7 @@ export function registerNxTool(server) {
76
147
  const result = await nxCmd(cliArgs, cwd);
77
148
  const duration = Math.round((Date.now() - start) / 100) / 10;
78
149
  const rawOutput = result.stdout + "\n" + result.stderr;
79
- const data = parseNxOutput(result.stdout, result.stderr, result.exitCode, duration);
150
+ const data = parseNxOutput(result.stdout, result.stderr, result.exitCode, duration, affected);
80
151
  return compactDualOutput(data, rawOutput, formatNx, compactNxMap, formatNxCompact, compact === false);
81
152
  });
82
153
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nx.js","sourceRoot":"","sources":["../../src/tools/nx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nx.js","sourceRoot":"","sources":["../../src/tools/nx.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tsc.d.ts","sourceRoot":"","sources":["../../src/tools/tsc.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,QAkDhD"}
1
+ {"version":3,"file":"tsc.d.ts","sourceRoot":"","sources":["../../src/tools/tsc.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,QAsGhD"}
package/dist/tools/tsc.js CHANGED
@@ -8,35 +8,73 @@ import { TscResultSchema } from "../schemas/index.js";
8
8
  export function registerTscTool(server) {
9
9
  server.registerTool("tsc", {
10
10
  title: "TypeScript Check",
11
- description: "Runs the TypeScript compiler and returns structured diagnostics (file, line, column, code, message). Use instead of running `tsc` in the terminal.",
11
+ description: "Runs the TypeScript compiler and returns structured diagnostics (file, line, column, code, message). " +
12
+ "Note: In compact mode, diagnostics are trimmed to file, line, and code — column and message fields are omitted to save tokens.",
12
13
  inputSchema: {
13
- path: z
14
- .string()
15
- .max(INPUT_LIMITS.PATH_MAX)
16
- .optional()
17
- .describe("Project root path (default: cwd)"),
14
+ path: z.string().max(INPUT_LIMITS.PATH_MAX).optional().describe("Project root path"),
18
15
  noEmit: z
19
16
  .boolean()
20
17
  .optional()
21
18
  .default(true)
22
19
  .describe("Skip emitting output files (default: true)"),
20
+ listEmittedFiles: z
21
+ .boolean()
22
+ .optional()
23
+ .describe("List emitted output files when emit is enabled (maps to --listEmittedFiles). Default: true when noEmit=false."),
23
24
  project: z.string().max(INPUT_LIMITS.PATH_MAX).optional().describe("Path to tsconfig.json"),
24
- compact: z
25
+ incremental: z
25
26
  .boolean()
26
27
  .optional()
27
- .default(true)
28
- .describe("Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema."),
28
+ .describe("Enable incremental compilation for faster repeated checks (maps to --incremental)"),
29
+ skipLibCheck: z
30
+ .boolean()
31
+ .optional()
32
+ .describe("Skip type checking of declaration files for faster feedback (maps to --skipLibCheck)"),
33
+ emitDeclarationOnly: z
34
+ .boolean()
35
+ .optional()
36
+ .describe("Only emit .d.ts declaration files without JS output (maps to --emitDeclarationOnly)"),
37
+ declaration: z
38
+ .boolean()
39
+ .optional()
40
+ .describe("Generate .d.ts declaration files (maps to --declaration)"),
41
+ declarationDir: z
42
+ .string()
43
+ .max(INPUT_LIMITS.PATH_MAX)
44
+ .optional()
45
+ .describe("Output directory for .d.ts declaration files (maps to --declarationDir). Use with --declaration."),
46
+ pretty: z
47
+ .boolean()
48
+ .optional()
49
+ .describe("Enable or disable pretty-printed output (maps to --pretty). Set false for normalized parser-friendly output."),
50
+ compact: z.boolean().optional().default(true).describe("Prefer compact output"),
29
51
  },
30
52
  outputSchema: TscResultSchema,
31
- }, async ({ path, noEmit, project, compact }) => {
53
+ }, async ({ path, noEmit, listEmittedFiles, project, incremental, skipLibCheck, emitDeclarationOnly, declaration, declarationDir, pretty, compact, }) => {
32
54
  const cwd = path || process.cwd();
33
55
  if (project)
34
56
  assertNoFlagInjection(project, "project");
57
+ if (declarationDir)
58
+ assertNoFlagInjection(declarationDir, "declarationDir");
35
59
  const args = [];
36
60
  if (noEmit !== false)
37
61
  args.push("--noEmit");
62
+ if (noEmit === false && listEmittedFiles !== false)
63
+ args.push("--listEmittedFiles");
38
64
  if (project)
39
65
  args.push("--project", project);
66
+ if (incremental)
67
+ args.push("--incremental");
68
+ if (skipLibCheck)
69
+ args.push("--skipLibCheck");
70
+ if (emitDeclarationOnly)
71
+ args.push("--emitDeclarationOnly");
72
+ if (declaration)
73
+ args.push("--declaration");
74
+ if (declarationDir)
75
+ args.push("--declarationDir", declarationDir);
76
+ if (pretty === false)
77
+ args.push("--pretty", "false");
40
78
  const result = await tsc(args, cwd);
41
79
  const rawOutput = result.stdout + "\n" + result.stderr;
42
80
  const data = parseTscOutput(result.stdout, result.stderr, result.exitCode);
@@ -1 +1 @@
1
- {"version":3,"file":"tsc.js","sourceRoot":"","sources":["../../src/tools/tsc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,wDAAwD;AACxD,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,MAAM,CAAC,YAAY,CACjB,KAAK,EACL;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,oJAAoJ;QACtJ,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,kCAAkC,CAAC;YAC/C,MAAM,EAAE,CAAC;iBACN,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CAAC,4CAA4C,CAAC;YACzD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAC3F,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CACP,kGAAkG,CACnG;SACJ;QACD,YAAY,EAAE,eAAe;KAC9B,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;QAC3C,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,IAAI,OAAO;YAAE,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAEvD,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,MAAM,KAAK,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAE7C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QACvD,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3E,OAAO,iBAAiB,CACtB,IAAI,EACJ,SAAS,EACT,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,OAAO,KAAK,KAAK,CAClB,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"tsc.js","sourceRoot":"","sources":["../../src/tools/tsc.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"turbo.d.ts","sourceRoot":"","sources":["../../src/tools/turbo.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,0DAA0D;AAC1D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,QA2DlD"}
1
+ {"version":3,"file":"turbo.d.ts","sourceRoot":"","sources":["../../src/tools/turbo.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASzE,0DAA0D;AAC1D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,QAqKlD"}