Skip to content

Commit de6f206

Browse files
committed
new API: nullDevice()
1 parent 4bf8a6c commit de6f206

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

src/core/esbuild.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { execProcess } from "./process.ts";
99
import { architectureToolsPath } from "./resources.ts";
1010
import { TempContext } from "./temp-types.ts";
1111
import { createTempContext } from "./temp.ts";
12-
import { kQuartoVersion } from "../config/constants.ts";
12+
import { nullDevice } from "./platform.ts";
1313

1414
type ESBuildAnalysisImport = {
1515
path: string;
@@ -46,13 +46,20 @@ export async function esbuildAnalyze(
4646
[
4747
"--analyze=verbose",
4848
`--metafile=${tempName}`,
49-
"--outfile=/dev/null",
49+
`--outfile=${nullDevice()}`,
5050
input,
5151
],
5252
"",
5353
workingDir,
5454
);
55-
return JSON.parse(Deno.readTextFileSync(tempName)) as ESBuildAnalysis;
55+
const result = JSON.parse(
56+
Deno.readTextFileSync(tempName),
57+
) as ESBuildAnalysis;
58+
assert(Object.entries(result.outputs).length === 1);
59+
result.outputs = {
60+
"<output>": Object.values(result.outputs)[0],
61+
};
62+
return result;
5663
} finally {
5764
if (mustCleanup) {
5865
tempContext.cleanup();

src/core/platform.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,3 +97,7 @@ export function isInteractiveSession() {
9797
export function isGithubAction() {
9898
return Deno.env.get("GITHUB_ACTIONS") === "true";
9999
}
100+
101+
export function nullDevice() {
102+
return isWindows ? "NUL" : "/dev/null";
103+
}

0 commit comments

Comments
 (0)