nowa-module-script
Module Config
export type SingleScript = string | (() => void | Promise<void>);
export interface IOptions {
parallel?: boolean;
noWait?: boolean;
noRetrigger?: boolean;
}
export type Config = ['script', SingleScript | SingleScript[], IOptions];
Usage
const config1 = ['script', 'echo start'];
const config2 = ['script', ['rm -rf dist', 'mkdir dist']];
const config3 = ['script', ['rm -rf dist', 'rm -rf build'], { parallel: true }];
const config4 = [
'script',
() => {
console.log('done');
},
];
noWait noRetrigger
consider this workflow
- script
start
: [echo start
, <some time-consuming script>
] - webpack watch
- script
end
: [echo end
]
the first-run output should be something like
- 'start'
<running time-consuming script>
<webpack related output>
- 'end'
and when you trigger a recompile (change source file), these are append to the output
<webpack recompile output>
- 'end'
noWait: true
with noWait
option on start
script, the first output should be
- 'start' +
<running time-consuming script>
+ <webpack output>
- 'end'
the next module module-webpack
won't wait for the script to finish
noRetrigger: true
with noRetrigger
option on end
script the recompile output should be
<webpack recompile output>
no 'end' output since it won't retrigger