[build] expose build specific babel config

During build we transpile the server source to prevent runtime transpilation with babel/register. In order to support untranspiled plugin code, we still use babel/register with special ignore options, which used to be included in cli/index.js and now is moved to src/optimize/babelOptions.js so other code that wants to initialize a server (without the cli) can also configure babel/register.
This commit is contained in:
spalger 2015-09-07 17:22:42 -07:00
parent 0f4fe22252
commit 8aa0287dd7
5 changed files with 28 additions and 26 deletions

View file

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

View file

@ -0,0 +1,14 @@
var fromRoot = require('requirefrom')('src/utils')('fromRoot');
exports.webpack = {
stage: 1,
nonStandard: false,
optional: ['runtime']
};
exports.node = Object.assign({
ignore: [
fromRoot('src'),
/[\\\/](node_modules|bower_components)[\\\/]/
]
}, exports.webpack);

View file

@ -0,0 +1,13 @@
module.exports = function (grunt) {
var srcFile = 'build/kibana/src/optimize/babelOptions.js';
var buildFile = 'build/kibana/src/optimize/babelOptions.build.js';
var rename = require('fs').renameSync;
var unlink = require('fs').unlinkSync;
grunt.registerTask('_build:babelOptions', function () {
unlink(srcFile);
rename(buildFile, srcFile);
});
};

View file

@ -1,13 +0,0 @@
module.exports = function (grunt) {
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 () {
unlink(srcFile);
rename(buildFile, srcFile);
});
};

View file

@ -9,7 +9,7 @@ module.exports = function (grunt) {
'_build:downloadNodeBuilds:start',
'copy:devSource',
'babel:build',
'_build:cliIndex',
'_build:babelOptions',
'_build:installedPlugins',
'_build:packageJson',
'_build:readme',