From c2af0475fe9a3c82a45f99e8f5b7ebccef7e2b63 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Sat, 6 Jun 2026 22:16:53 +0200 Subject: [PATCH] fix(test): require vitest profile output dir --- scripts/run-vitest-profile.mjs | 10 +++++++++- test/scripts/run-vitest-profile.test.ts | 7 +++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/scripts/run-vitest-profile.mjs b/scripts/run-vitest-profile.mjs index ccb64e38b2b..91fc2efdd3f 100644 --- a/scripts/run-vitest-profile.mjs +++ b/scripts/run-vitest-profile.mjs @@ -10,6 +10,14 @@ import { createPnpmRunnerSpawnSpec } from "./pnpm-runner.mjs"; /** * Parses Vitest profiler mode, output directory, and forwarded Vitest args. */ +function readOutputDirValue(argv, index) { + const value = argv[index + 1]; + if (value === undefined || value === "" || value.startsWith("--")) { + throw new Error("Expected --output-dir ."); + } + return value; +} + export function parseArgs(argv) { const args = { mode: "", @@ -28,7 +36,7 @@ export function parseArgs(argv) { break; } if (arg === "--output-dir") { - args.outputDir = argv[i + 1] ?? ""; + args.outputDir = readOutputDirValue(argv, i); i += 1; continue; } diff --git a/test/scripts/run-vitest-profile.test.ts b/test/scripts/run-vitest-profile.test.ts index a1706e6d369..b399c97943f 100644 --- a/test/scripts/run-vitest-profile.test.ts +++ b/test/scripts/run-vitest-profile.test.ts @@ -89,6 +89,13 @@ describe("scripts/run-vitest-profile", () => { }); }); + it("rejects missing profile output directories", () => { + expect(() => parseArgs(["runner", "--output-dir"])).toThrow("Expected --output-dir ."); + expect(() => parseArgs(["runner", "--output-dir", "--", "--config", "custom.ts"])).toThrow( + "Expected --output-dir .", + ); + }); + it("passes vitest args after a separator", () => { expect(parseArgs(["main", "--output-dir", "/tmp/out", "--", "--config", "custom.ts"])).toEqual({ mode: "main",