simplify bin scripts and get them working

Original commit: elastic/kibana-plugin-helpers@1455f09194
This commit is contained in:
spalger 2016-02-14 02:13:30 -07:00
parent ff5597948e
commit e9b7e0566a
15 changed files with 65 additions and 70 deletions

View file

@ -1,15 +1,8 @@
#!/usr/bin/env node
var pkg = require('../package.json');
var program = require('commander');
var help = require('../help');
var task = require('../tasks/build');
require('../lib/command')('build', function (program) {
program
.version(pkg.version)
.description('Build a distributable archive')
.on('--help', help('build'))
.parse(process.argv);
program
.description('Build a distributable archive');
task();
});

View file

@ -1,16 +1,8 @@
#!/usr/bin/env node
var program = require('commander');
require('../lib/command')('start', function (program) {
var pkg = require('../package.json');
var help = require('../help');
var task = require('../tasks/start');
program
.description('Start kibana and have it include this plugin');
program
.version(pkg.version)
.description('Start kibana and have it include this plugin')
.on('--help', help('start'))
.parse(process.argv);
task();
});

View file

@ -1,15 +1,8 @@
#!/usr/bin/env node
var pkg = require('../package.json');
var program = require('commander');
var help = require('../help');
var task = require('../tasks/test:browser');
require('../lib/command')('test:browser', function (program) {
program
.version(pkg.version)
.description('Run the browser tests in a real web browser')
.on('--help', help('test:browser'))
.parse(process.argv);
program
.description('Run the browser tests in a real web browser');
task(program);
});

View file

@ -1,15 +1,8 @@
#!/usr/bin/env node
var program = require('commander');
require('../lib/command')('test:server', function (program) {
var pkg = require('../package.json');
var help = require('../help');
var task = require('../tasks/test:server');
program
.description('Run the server tests using mocha');
program
.version(pkg.version)
.description('Run the server tests using mocha')
.on('--help', help('test:server'))
.parse(process.argv);
task();
});

View file

@ -0,0 +1,19 @@
#!/usr/bin/env node
module.exports = function (name, mod) {
var pkg = require('../package.json');
var program = require('commander');
var docs = require('../docs');
var idPlugin = require('./id_plugin');
var task = require('../tasks/' + name);
program
.version(pkg.version)
.on('--help', docs(name));
mod(program);
program.parse(process.argv);
task(idPlugin());
};

View file

@ -0,0 +1,15 @@
var resolve = require('path').resolve;
module.exports = function () {
var root = process.cwd();
var pkg = require(resolve(root, 'package.json'));
return {
root: root,
kibanaRoot: resolve(root, '../kibana'),
id: pkg.name,
pkg: pkg,
version: pkg.version,
config: (pkg.config && pkg.config.kibanaPluginHelpers) || {}
};
};

View file

@ -1,13 +1,12 @@
module.exports = function () {
module.exports = function (plugin) {
var vfs = require('vinyl-fs');
var zip = require('gulp-zip');
var rename = require('gulp-rename');
var join = require('path').join;
var pkg = require('../package.json');
var deps = Object.keys(pkg.dependencies || {});
var buildId = `${pkg.name}-${pkg.version}`;
var deps = Object.keys(plugin.pkg.dependencies || {});
var buildId = `${plugin.id}-${plugin.version}`;
var files = [
'package.json',
@ -17,11 +16,11 @@ module.exports = function () {
];
vfs
.src(files, { base: join(__dirname, '..') })
.src(files, { base: plugin.root })
.pipe(rename(function nestFileInDir(path) {
path.dirname = join(buildId, path.dirname);
}))
.pipe(zip(`${buildId}.zip`))
.pipe(vfs.dest('build'));
.pipe(vfs.dest(join(plugin.root, 'build')));
};

View file

@ -1,12 +1,11 @@
module.exports = function () {
module.exports = function (plugin) {
var resolve = require('path').resolve;
var execFileSync = require('child_process').execFileSync;
var pluginDir = resolve(__dirname, '../');
var kibanaDir = resolve(pluginDir, '../kibana');
var kibanaDir = resolve(plugin.root, '../kibana');
var cmd = 'bin/kibana';
var args = ['--dev', '--plugin-path', pluginDir];
var args = ['--dev', '--plugin-path', plugin.root];
execFileSync(cmd, args, {
cwd: kibanaDir,
stdio: 'inherit'

View file

@ -1,21 +1,15 @@
module.exports = function () {
var resolve = require('path').resolve;
module.exports = function (plugin) {
var execFileSync = require('child_process').execFileSync;
var pkg = require('../package.json');
var pluginDir = resolve(__dirname, '../');
var kibanaDir = resolve(pluginDir, '../kibana');
var kbnServerArgs = [
'--kbnServer.testsBundle.pluginId', pkg.name,
'--kbnServer.plugin-path', pluginDir
'--kbnServer.testsBundle.pluginId', plugin.id,
'--kbnServer.plugin-path', plugin.root
];
var cmd = 'npm';
var args = ['run', 'test:dev', '--'].concat(kbnServerArgs);
execFileSync(cmd, args, {
cwd: kibanaDir,
cwd: plugin.kibanaRoot,
stdio: 'inherit'
});

View file

@ -1,15 +1,13 @@
module.exports = function () {
module.exports = function (plugin) {
var resolve = require('path').resolve;
var execFileSync = require('child_process').execFileSync;
var pluginDir = resolve(__dirname, '..');
var kibanaDir = resolve(pluginDir, '../kibana');
var mochaSetupJs = resolve(kibanaDir, 'test/mocha_setup.js');
var mochaSetupJs = resolve(plugin.kibanaRoot, 'test/mocha_setup.js');
var cmd = 'mocha';
var args = ['--require', mochaSetupJs, 'server/**/__tests__/**/*.js'];
execFileSync(cmd, args, {
cwd: pluginDir,
cwd: plugin.root,
stdio: 'inherit'
});
};