@coveo/semantic-monorepo-tools
Version:
A library of helper functions to do SemVer2 compliant releases from Conventional Commits in monorepos
25 lines (24 loc) • 840 B
JavaScript
import getOptionalFlagArgument from "../utils/getOptionalFlagArgument.js";
import spawn from "../utils/spawn.js";
import appendCmdIfWindows from "./utils/appendCmdIfWindows.js";
import npmLogger from "./utils/npmLogger.js";
export default async function (PATH, npmOpts) {
const params = ["publish"];
for (const optKey in npmOpts) {
const optValue = npmOpts[optKey];
switch (typeof optValue) {
case "boolean":
if (optValue) {
params.push(`--${optKey}`);
}
break;
case "string":
case "number":
params.push(...getOptionalFlagArgument(`--${optKey}`, npmOpts[optKey]));
break;
}
}
await spawn(appendCmdIfWindows `npm`, params, npmLogger, {
cwd: PATH,
});
}