Skip to content
This repository has been archived by the owner on Jan 31, 2024. It is now read-only.

Enable custom builds #27

Merged
merged 15 commits into from
Dec 22, 2016
Merged
Prev Previous commit
Next Next commit
move node_module dirs into plugin_config module, use existing promises
  • Loading branch information
spalger committed Dec 22, 2016
commit 8e2deb84c147a5c6738eed058d861ebacceb8a93
20 changes: 15 additions & 5 deletions lib/plugin_config.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,25 @@ module.exports = function (root) {
var pkg = require(resolve(root, 'package.json'));
var config = fileConfig(root);

var buildSourcePatterns = [
'package.json',
'index.js',
'{lib,public,server,webpackShims}/**/*',
];

// add dependency files
var deps = Object.keys(pkg.dependencies || {});
if (deps.length === 1) {
buildSourcePatterns.push(`node_modules/${ deps[0] }/**/*`);
} else if (deps.length) {
buildSourcePatterns.push(`node_modules/{${ deps.join(',') }}/**/*`);
}

return Object.assign({
root: root,
kibanaRoot: resolve(root, '../kibana'),
serverTestPatterns: ['server/**/__tests__/**/*.js'],
buildSourcePatterns: [
'package.json',
'index.js',
'{lib,public,server,webpackShims}/**/*'
],
buildSourcePatterns: buildSourcePatterns,
id: pkg.name,
pkg: pkg,
version: pkg.version,
Expand Down
26 changes: 8 additions & 18 deletions tasks/build/build_action.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,33 +17,23 @@ module.exports = function (plugin, run, options) {
if (options.buildVersion) buildVersion = options.buildVersion;
if (options.kibanaVersion) kibanaVersion = options.kibanaVersion;

// add dependency files
var deps = Object.keys(plugin.pkg.dependencies || {});
if (deps.length === 1) {
buildFiles.push(`node_modules/${ deps[0] }/**/*`);
} else if (deps.length) {
buildFiles.push(`node_modules/{${ deps.join(',') }}/**/*`);
if (kibanaVersion === 'kibana') {
return askForKibanaVersion().then(function (customKibanaVersion) {
return createBuild(plugin, buildVersion, customKibanaVersion, buildFiles);
});
} else {
return createBuild(plugin, buildVersion, kibanaVersion, buildFiles);
}

return new Promise(function (resolve, reject) {
if (kibanaVersion === 'kibana') {
askForKibanaVersion(function (customKibanaVersion) {
createBuild(plugin, buildVersion, customKibanaVersion, buildFiles).then(resolve);
});
} else {
createBuild(plugin, buildVersion, kibanaVersion, buildFiles).then(resolve);
}
});
};

function askForKibanaVersion(cb) {
inquirer.prompt([
return inquirer.prompt([
{
type: 'input',
name: 'kibanaVersion',
message: 'What version of Kibana are you building for?'
}
]).then(function (answers) {
cb(answers.kibanaVersion);
return answers.kibanaVersion;
});
}