runner.cjs
const parseArgs = () => {
// 一旦ポジショナルだけパースする
const { positionals } = util.parseArgs({
allowPositionals: true
});
// パースした値をさらにオプションをつけてパースする
return util.parseArgs({
args: positionals,
allowPositionals: true,
options: {
dir: {
type: "string",
multiple: true
},
mode: {
type: "string"
},
help: {
type: "boolean"
}
}
});
};
const { values, positionals } = parseArgs();
console.log(values, positionals); // { dir: "./hoge", mode: "dev", help: true } [ "./fuga.json" ]
bash
node runner.js ./fuga.json --dir ./hoge --mode dev --help