kibana/packages/kbn-plugin-helpers/lib/run.js
Joe Fleming 0d621e778a Separate the task runner and the command line parser (elastic/kibana-plugin-helpers#25)
* remove conditionl require in runner

add tasks module to load all tasks, throw if task does not exist

* change task signatures and action handlers

- tasks get plugin, run, and an options object
- action handler controls what goes into each task
- taskRunner wrapper moves the command object to the first argument

* change test command signature

allow files to be passed in, and pass all options to test:server and test:browser

* simplify the task runner

* fix typo in unknownOptions

* expose the task runner as the module's main

this way tasks can be run programatically without going through a cli parser

* add tests for task runner

* remove file passing for testAll

* add serverTestPaths to the plugin config

useful for overriding the value via a config file

* [config] plugin.serverTestPaths -> plugin.serverTestPatterns

Original commit: elastic/kibana-plugin-helpers@82af4df64e
2016-12-16 01:06:02 -07:00

10 lines
286 B
JavaScript

var pluginConfig = require('./plugin_config');
var tasks = require('./tasks');
module.exports = function run(name, options) {
var action = tasks[name];
if (!action) throw new Error('Invalid task: "' + name + '"');
var plugin = pluginConfig();
action(plugin, run, options);
};