[build] allow installed plugins to use live compiled es7->es5

This commit is contained in:
spalger 2015-08-14 16:20:48 -07:00
parent 44bd60e48f
commit 219c7a3b9e
5 changed files with 40 additions and 18 deletions

12
src/cli/index.build.js Normal file
View file

@ -0,0 +1,12 @@
var _ = require('lodash');
var fromRoot = require('requirefrom')('src/utils')('fromRoot');
var babelOpts = _.defaults({
ignore: [
fromRoot('src'),
/[\\\/](node_modules|bower_components)[\\\/]/
]
}, require('../optimize/babelOptions'));
require('babel/register')(babelOpts);
require('./cli');

View file

@ -1,18 +1,13 @@
module.exports = function (grunt) {
var file = 'build/kibana/src/cli/index.js';
var blurb = `require('babel/register')(require('../optimize/babelOptions'));\n`;
var srcFile = 'build/kibana/src/cli/index.js';
var buildFile = 'build/kibana/src/cli/index.build.js';
var rename = require('fs').renameSync;
var unlink = require('fs').unlinkSync;
grunt.registerTask('_build:cliIndex', function () {
var before = grunt.file.read(file);
var after = before.replace(blurb, '');
if (before === after) {
grunt.log.error(`unable to remove "${blurb}" from ${file}`);
return;
}
grunt.file.write(file, after);
unlink(srcFile);
rename(buildFile, srcFile);
});
};

View file

@ -12,8 +12,6 @@ module.exports = function (grunt) {
return resolve(rootPath, file);
});
console.log(buildFiles);
let ln = (source, link) => exec('ln', ['-s', source, link]);
grunt.config.get('platforms').forEach(function (platform) {

View file

@ -6,7 +6,7 @@ module.exports = function (grunt) {
release: {
bucket: 'download.elasticsearch.org',
access: 'private',
debug: !grunt.option('upload-to-s3'),
debug: false,
upload: config.get('platforms')
.reduce(function (files, platform) {
return files.concat(

View file

@ -1,15 +1,32 @@
module.exports = function (grunt) {
var readline = require('readline');
// build, then zip and upload to s3
grunt.registerTask('release', [
'distribute:load_s3_config',
'_release:confirmUpload',
'_release:loadS3Config',
'build',
's3:release',
'distribute:complete'
'_release:complete'
]);
grunt.registerTask('_release:confirmUpload', function () {
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('close', this.async());
rl.question('Do you want to actually upload the files to s3 after building?, [N/y] ', function (resp) {
var debug = resp.toLowerCase().trim()[0] !== 'y';
grunt.config.set('s3.release.debug', debug);
rl.close();
});
});
// collect the key and secret from the .aws-config.json file, finish configuring the s3 task
grunt.registerTask('distribute:load_s3_config', function () {
grunt.registerTask('_release:loadS3Config', function () {
var config = grunt.file.readJSON('.aws-config.json');
grunt.config('s3.options', {
key: config.key,
@ -17,7 +34,7 @@ module.exports = function (grunt) {
});
});
grunt.registerTask('distribute:complete', function () {
grunt.registerTask('_release:complete', function () {
grunt.log.ok('Builds released');
grunt.log.write(
`