A development task runner to start dev servers and other task runners in the order you want.
npm install --save-dev dev-runner
interface EventMatcher {
regex: RegExp;
actionData: Object | ((str: string) => Object);
}
interface Config {
[key: string]: {
dependsOn?: string[];
preStart?: string;
start?: string;
events?: EventMatcher[];
process?: ((input: EventEmitter, output: EventEmitter) => void);
watch?: string[];
readyAfter?: number;
}
}
Tasks that must be ready before current task. It detects {type: 'ready'}
action as a single of ready. If multiple tasks is specified, will wait until all of them is ready before start current task.
Shell command to run before start
or process
.
Long running shell command, typically a watch process. Cannot be appear at the same time as process
. If more {type: 'ready'}
action is received, current running process will be killed and new one will be started.
Match string output of preStart
and start
with an array of regular expression, if matched, defined action will be emitted. This property only works if start
or preStart
is defined.
regex: RegExp
actionData: Object | (str: string) => Object
Predefined action object, or a function to generate action object based on matched input string.{type: 'ready'}
is a special action to notify following tasks current task is ready. It could be emitted multiple times.
Run some custom code, e.g. live reload server.
input: EventEmitter
: all event will have atype
key.{type: 'ready'}
{type: 'watch'; changeType: string; path: string}
:changeType
can be "add", "change", "unlink".
output: EventEmitter
Emit file change event to process
. Only works if process
is defined.
Emit {type: 'ready'}
action after x
milliseconds.