fluent script building
build scripts to run that are aware of the context; defining NODE_ENV in the subprocess env, after the npm script, at the beginning of a node or lerna script, whether values should be stringified.
yarn add script-chain
npm i script-chain --save
const {ScriptFlip} = require('script-chain')
const scripts = new ScriptFlip()
scripts
.add()
.npm('diggy')
.env('magic')
.flag('env.zoolala', 'aoao')
.arg('-e')
makes tackling monorepo execution scripts a breeze
const script = new ScriptFlip()
.add()
.env('prod')
.lerna()
.prefix('inferno')
.scope('app1,app2,inferno')
.log('info')
.concurrency(1)
.group(2)
.raw('node')
.flag('row', '0')
.bin('tsc')
script.includes('--scope=+(inferno-app1|inferno-app2|inferno)')
will run commands in a subprocess
const scripts = new ScriptFlip()
scripts
.add()
.npm('diggy')
.env('magic')
.flag('env.zoolala', 'aoao')
.arg('-e')
const results = await scripts.run()