npm install abigail --global
# or
yarn global add abigail
abigail is npm scripts emulator. You can succinctly describe the serial run-script and watch files.
abby test, lint, cover.
# + 0 ms @_@ use package.json.
# + 2 ms @_@ plugin enabled exit, log, launch, watch.
# + 23 ms @_@ task start test, lint, cover.
# + 0 ms @_@ task end test, lint, cover. exit code 0, 0, 0.
# + 0 ms @_@ cheers for good work.
In addition, makes it easy to change the settings using optional arguments.
abby test --no-log
# ...
> _
or specify package.json abigail
field.
{
"scripts": {
"test": "mocha"
},
"abigail": {
"plugins": {
"watch": "{*,src/**/*.jsx,test/**/*.jsx}"
}
}
}
abby test
If connecting the script name with a comma, run the script in serial.
abby cover, report.
# + 23 ms @_@ task start cover, report.
# + 3 ms @_@ script start cover.
# + 6.3 s @_@ script end cover. exit code 0.
# + 3 ms @_@ script start report.
# + 6.3 s @_@ script end report. exit code 0.
# + 5.1 s @_@ task end cover, report. exit code 0, 0.
Unless connecting the script name with a comma, run the script in parallel.
abby babel jade stylus
# ...
# + 133 ms @_@ script end stylus. exit code 0.
# + 87 ms @_@ script end jade. exit code 0.
# + 93 ms @_@ script end babel. exit code 0.
# + 0 ms @_@ task end babel, jade, stylus. exit code 0, 0, 0.
Cause abigail is know path of the local-installed, Can run the bin of node_modules/.bin/
instead of missing script.
abby flow
# ...
# + 8 ms @_@; Error: spawn flow ENOENT
# ...
npm install flow-bin
abby flow
# ...
# No errors!
# ...
See detail is to abigail-parse-plugin.
Can run scirpt continuously using the builtin --watch
plugin.
abby test --watch
# ...
# + 1.0 s @_@ task end test. exit code 0.
# + 1 ms @_@ ... watch at src/**/*.js, test/**/*.js.
abby flow --watch '{src,test}/**/*.js'
# ...
# No errors!
# + 113 ms @_@ task end flow. exit code 0.
# + 0 ms @_@ ... watch at {src,test}/**/*.js.
See detail is to abigail-plugin-watch.
If specify glob the script name, run the matching scripts in serial.
abby mytask:*
# ...
# + 133 ms @_@ script end mytask:stylus. exit code 0.
# + 0 ms @_@ script start mytask:jade. exit code 0.
# ...
# + 87 ms @_@ script end mytask:jade. exit code 0.
# + 0 ms @_@ script start mytask:babel. exit code 0.
# ...
# + 93 ms @_@ script end mytask:babel. exit code 0.
# + 0 ms @_@ task end mytask:babel, mytask:jade, mytask:stylus. exit code 0, 0, 0.
If specify --launch bail
, to strict serial run-script(not ignore the error and continues).
abby cover, report.
# + 23 ms @_@ task start cover, report.
# + 3 ms @_@ script start cover.
# ...
# + 6.3 s @_@ script end cover. exit code 1.
# + 3 ms @_@ script start report.
# ...
# + 198 ms @_@ script end report. exit code 0.
# + 2 ms @_@ task end cover, report. exit code 1, 0.
abby cover, report. --launch bail
# + 23 ms @_@ task start cover, report.
# + 3 ms @_@ script start cover.
# + 6.3 s @_@ script end cover. exit code 1.
# + 5.1 s @_@ task end cover. exit code 1.
if specify --
, it run the subsequent arguments as the end of the script.
abby cover:* -- --quiet
# + 23 ms @_@ task start cover:test. (with --quiet)
# ...
If the locally use, use the double quote(""
).
abby cant-quiet-task "cover:* -- --quiet"
# + 23 ms @_@ task start cant-quiet-task, cover:test.
# + 3 ms @_@ script start cant-quiet-task.
# + 3 ms @_@ script start cover:test. (with --quiet)
# ...
- abigail-plugin-env
- abigail-plugin-exit
- abigail-plugin-launch
- abigail-plugin-log
- abigail-plugin-parse
- abigail-plugin-watch
Requirement global
- NodeJS v5.7.0
- Npm v3.7.1
git clone https://github.com/abigailjs/abigail
cd abigail
npm install
npm test