abigail-plugin-parse

abigail parse plugin

Stats

stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
00Jun 13, 2016Mar 26, 2016Minified + gzip package size for abigail-plugin-parse in KB

Readme

Abigail Parse Plugin

No installation

abigail built-in plugin

Usage

switch to expand the glob in parallel

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 ...

disallow raw script

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
# ...

node --require transform (experimental)

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`

use abigail.plugins.parse field in package.json

{
  // ...
  "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,
      }
    }
  }
}

Note

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) });
  }
}

See also

Development

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

License

MIT

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.