beesbuild
Version:
构建工具链
28 lines (27 loc) • 1.29 kB
JavaScript
import { Command } from "commander";
import { booleanParser } from "../boolean-parser.mjs";
import * as scripts from "../scripts/index.mjs";
import * as variables from "../variables.mjs";
import { handleOptions, init } from "./utils.mjs";
const rimraf = (program) => {
if (!(program instanceof Command)) {
program = init(variables).end();
}
program.command("rm").description("\u5220\u9664\u6307\u5B9A\u6587\u4EF6\u6216\u6587\u4EF6\u5939").argument("<dirs...>", "\u6307\u5B9A\u6587\u4EF6\u6216\u6587\u4EF6\u5939").option("-d, --no-only-directories [boolean]", "\u4EC5\u9650\u5220\u9664\u6587\u4EF6\u5939", true).option("-f, --no-only-files [boolean]", "\u4EC5\u9650\u5220\u9664\u6587\u4EF6", true).option("-F, --no-force [boolean]", "\u5FFD\u7565\u4E0D\u5B58\u5728\u7684\u6587\u4EF6\uFF0C\u4E0D\u4F1A\u63D0\u793A\u786E\u8BA4\u4FE1\u606F\u3002", true).combineFlagAndOptionalValue(false).action(async (dirs, { onlyDirectories, onlyFiles, force }) => {
const opts = handleOptions(
program,
{
dirs,
onlyDirectories: booleanParser(onlyDirectories),
onlyFiles: booleanParser(onlyFiles),
force: booleanParser(force)
}
);
if (!opts.monorepo) return;
await scripts.rimraf(opts);
});
return program;
};
export {
rimraf
};