diff --git a/packages/kbn-plugin-helpers/bin/plugin-helpers.js b/packages/kbn-plugin-helpers/bin/plugin-helpers.js index 69dbf05a9883..f314d64ae6ba 100755 --- a/packages/kbn-plugin-helpers/bin/plugin-helpers.js +++ b/packages/kbn-plugin-helpers/bin/plugin-helpers.js @@ -5,15 +5,18 @@ var program = require('commander'); var pkg = require('../package.json'); var run = require('../lib/run'); var docs = require('../lib/docs'); +var enableCollectingUnknownOptions = require('../lib/enable_collecting_unknown_options'); program .version(pkg.version); -program - .command('start') - .description('Start kibana and have it include this plugin') - .on('--help', docs('start')) - .action(run('start')); +enableCollectingUnknownOptions( + program + .command('start') + .description('Start kibana and have it include this plugin') + .on('--help', docs('start')) + .action(run('start')) +); program .command('build') diff --git a/packages/kbn-plugin-helpers/lib/enable_collecting_unknown_options.js b/packages/kbn-plugin-helpers/lib/enable_collecting_unknown_options.js new file mode 100644 index 000000000000..1b87c2abd5f8 --- /dev/null +++ b/packages/kbn-plugin-helpers/lib/enable_collecting_unknown_options.js @@ -0,0 +1,10 @@ + +module.exports = function enableCollectingUnknownOptions(command) { + var origParse = command.parseOptions; + command.allowUnknownOption(); + command.parseOptions = function (argv) { + let opts = origParse.call(this, argv); + this.unkownOptions = opts.unknown; + return opts; + }; +}; diff --git a/packages/kbn-plugin-helpers/tasks/start/start_action.js b/packages/kbn-plugin-helpers/tasks/start/start_action.js index bbcd0b42bb54..6f459e6c6426 100644 --- a/packages/kbn-plugin-helpers/tasks/start/start_action.js +++ b/packages/kbn-plugin-helpers/tasks/start/start_action.js @@ -1,11 +1,11 @@ -module.exports = function (plugin) { +module.exports = function (plugin, command) { var resolve = require('path').resolve; var execFileSync = require('child_process').execFileSync; var kibanaDir = resolve(plugin.root, '../kibana'); var cmd = (process.platform === 'win32') ? 'bin\\kibana.bat' : 'bin/kibana'; - var args = ['--dev', '--plugin-path', plugin.root]; + var args = ['--dev', '--plugin-path', plugin.root, ...command.unkownOptions]; execFileSync(cmd, args, { cwd: kibanaDir, stdio: 'inherit'