spinjs
Version:
<p align="center"><a href="#"><img width="150" src="https://rawgit.com/sysgears/spin.js/master/logo.svg"></a></p>
42 lines • 1.91 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var requireModule_1 = require("../requireModule");
var JSRuleFinder_1 = require("./shared/JSRuleFinder");
var ES6Plugin = (function () {
function ES6Plugin() {
}
ES6Plugin.prototype.configure = function (builder, spin) {
if (builder.stack.hasAll(['es6', 'webpack'])) {
if (builder.stack.hasAny('es6') && !builder.stack.hasAny('dll')) {
builder.config = spin.merge({
entry: {
index: [requireModule_1.default.resolve('babel-polyfill')],
},
}, builder.config);
}
var jsRuleFinder = new JSRuleFinder_1.default(builder);
var jsRule = jsRuleFinder.rule;
jsRule.exclude = /node_modules/;
jsRule.use = {
loader: requireModule_1.default.resolve('babel-loader'),
options: {
cacheDirectory: spin.dev,
presets: [
requireModule_1.default.resolve('babel-preset-react'),
[requireModule_1.default.resolve('babel-preset-es2015'), { 'modules': false }],
requireModule_1.default.resolve('babel-preset-stage-0')
],
plugins: [
requireModule_1.default.resolve('babel-plugin-transform-runtime'),
requireModule_1.default.resolve('babel-plugin-transform-decorators-legacy'),
requireModule_1.default.resolve('babel-plugin-transform-class-properties'),
],
only: jsRuleFinder.extensions.map(function (ext) { return '*.' + ext; }),
},
};
}
};
return ES6Plugin;
}());
exports.default = ES6Plugin;
//# sourceMappingURL=ES6Plugin.js.map