0.0.3 • Published 10 years ago
dev-runner v0.0.3
DevRunner
A development task runner to start dev servers and other task runners in the order you want.
Install
npm install --save-dev dev-runnerConfiguration
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;
}
}dependsOn?: string[]: 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.preStart?: string: shell command to run beforestartorprocess.start?: string: long running shell command, typically a watch process. Cannot be appear at the same time asprocess. If more{type: 'ready'}action is received, current running process will be killed and new one will be started.events?: EventMatcher[]: match string output ofpreStartandstartwith an array of regular expression, if matched, defined action will be emitted. This property only works ifstartorpreStartis defined.regex: RegExpactionData: Object | (str: string) => ObjectPredefined 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.
process?: (input: EventEmitter, output: EventEmitter) => void: Run some custom code, e.g. live reload server.input: EventEmitter: all event will have atypekey.{type: 'ready'}{type: 'watch'; changeType: string; path: string}:changeTypecan be "add", "change", "unlink".
output: EventEmitter
watch?: string[]: emit file change event toprocess. Only works ifprocessis defined.readyAfter?: number: emit{type: 'ready'}action afterxmilliseconds.