abigail built-in plugin
if specify the 'parallel'
, glob expand to parallel.
abby cover:* --parse parallel
# task start cover:*
# script start cover:test.
# script start cover:report.
# ...
# script end cover:test. exit code 0.
# script end cover:report. exit code 0.
# task end cover:test, cover:report ...
usually expand to serial.
abby cover:*
# task start cover:*
# script start cover:test.
# script end cover:test. exit code 0.
#
# script start cover:report.
# script end cover:report. exit code 0.
# task end cover:test, cover:report ...
if specify value is script
, throws error when undefined script.
abby 'echo foo' --parse script
# task start echo foo.
# Trace: no scripts found: echo foo
# ...
if specify --parse.require module-name
, transform node-cli to node --require module-name
execution.
# use configuration es6-syntax at node-v6 with es2015-modules(using reify)
abby 'pug index.styl --obj pug.config.es6' --parse.require reify
# run `node --require reify node_modules/.bin/pug index.styl --obj pug.config.es6`
{
// ...
"abigail": {
"plugins": {
// default allow raw script (default serial)
"parse": true
// default parallel
"parse": "parallel"
// disallow raw script
"parse": "script"
// all configuration
"parse": {
"enable": true,
"serial": false,
"raw": false,
"require": false,
}
}
}
}
this plugin is parser body. when receiving the parse
event of abigail.
currently, the option are undefined. please don't disable this plugin, launch doesn't work correctly.
in your plugin, if the task is to be changed at any time, you can change the task after getting the instance using this.getPlugin.
import { scripts } from './package.json';
class YourPlugin extends Plugin {
pluginWillAttach() {
const parsePlugin = this.getPlugin('parse');
this.setProps({ task: parsePlugin.parse([['test', 'lint']], scripts) });
}
}
Requirement global
- NodeJS v5.7.0
- Npm v3.7.1
git clone https://github.com/abigailjs/abigail-plugin-parse
cd abigail-plugin-parse
npm install
npm test