mirror of
https://github.com/moltbot/moltbot.git
synced 2026-03-08 06:54:24 +00:00
35 lines
1.3 KiB
TypeScript
35 lines
1.3 KiB
TypeScript
import { expect } from "vitest";
|
|
|
|
export function expectSingleNpmInstallIgnoreScriptsCall(params: {
|
|
calls: Array<[unknown, { cwd?: string } | undefined]>;
|
|
expectedCwd: string;
|
|
}) {
|
|
const npmCalls = params.calls.filter((call) => Array.isArray(call[0]) && call[0][0] === "npm");
|
|
expect(npmCalls.length).toBe(1);
|
|
const first = npmCalls[0];
|
|
if (!first) {
|
|
throw new Error("expected npm install call");
|
|
}
|
|
const [argv, opts] = first;
|
|
expect(argv).toEqual(["npm", "install", "--omit=dev", "--silent", "--ignore-scripts"]);
|
|
expect(opts?.cwd).toBe(params.expectedCwd);
|
|
}
|
|
|
|
export function expectSingleNpmPackIgnoreScriptsCall(params: {
|
|
calls: Array<[unknown, unknown]>;
|
|
expectedSpec: string;
|
|
}) {
|
|
const packCalls = params.calls.filter(
|
|
(call) => Array.isArray(call[0]) && call[0][0] === "npm" && call[0][1] === "pack",
|
|
);
|
|
expect(packCalls.length).toBe(1);
|
|
const packCall = packCalls[0];
|
|
if (!packCall) {
|
|
throw new Error("expected npm pack call");
|
|
}
|
|
const [argv, options] = packCall;
|
|
expect(argv).toEqual(["npm", "pack", params.expectedSpec, "--ignore-scripts", "--json"]);
|
|
const commandOptions = typeof options === "number" ? undefined : options;
|
|
expect(commandOptions).toMatchObject({ env: { NPM_CONFIG_IGNORE_SCRIPTS: "true" } });
|
|
}
|