|
|
@ -5,7 +5,6 @@ const preset = require('neutrino-preset-base'); |
|
|
|
const nodeExternals = require('webpack-node-externals'); |
|
|
|
const path = require('path'); |
|
|
|
const webpack = require('webpack'); |
|
|
|
|
|
|
|
const MODULES = path.join(__dirname, '../node_modules'); |
|
|
|
|
|
|
|
const config = merge(preset, { |
|
|
@ -13,34 +12,39 @@ const config = merge(preset, { |
|
|
|
output: { |
|
|
|
libraryTarget: 'commonjs2' |
|
|
|
}, |
|
|
|
eslint: { |
|
|
|
configFile: path.join(__dirname, 'eslint.js') |
|
|
|
}, |
|
|
|
resolve: { |
|
|
|
root: [MODULES] |
|
|
|
}, |
|
|
|
resolveLoader: { |
|
|
|
root: [MODULES] |
|
|
|
modules: [MODULES] |
|
|
|
}, |
|
|
|
devtool: 'source-map', |
|
|
|
plugins: [ |
|
|
|
new webpack.BannerPlugin(`require('source-map-support').install();`, { raw: true, entryOnly: true }) |
|
|
|
new webpack.LoaderOptionsPlugin({ |
|
|
|
options: { |
|
|
|
eslint: { |
|
|
|
configFile: path.join(__dirname, 'eslint.js') |
|
|
|
}, |
|
|
|
emitError: true, |
|
|
|
failOnError: true, |
|
|
|
mocha: { |
|
|
|
reporter: 'spec', |
|
|
|
ui: 'tdd', |
|
|
|
bail: true |
|
|
|
} |
|
|
|
} |
|
|
|
}), |
|
|
|
// new webpack.BannerPlugin('require("source-map-support").install();', { raw: true, entryOnly: true })
|
|
|
|
], |
|
|
|
externals: [nodeExternals({ modulesFromFile: true })], |
|
|
|
mocha: { |
|
|
|
reporter: 'spec', |
|
|
|
ui: 'tdd', |
|
|
|
bail: true |
|
|
|
} |
|
|
|
externals: [nodeExternals({ modulesFromFile: true })] |
|
|
|
}); |
|
|
|
|
|
|
|
const babelLoader = config.module.loaders.find(l => l.loader.includes('babel')); |
|
|
|
const babelLoader = config.module.rules.find(r => r.use && r.use.loader && r.use.loader.includes('babel')); |
|
|
|
|
|
|
|
if (!babelLoader.query.plugins) { |
|
|
|
babelLoader.query.plugins = []; |
|
|
|
if (!babelLoader.use.options.plugins) { |
|
|
|
babelLoader.use.options.plugins = []; |
|
|
|
} |
|
|
|
|
|
|
|
babelLoader.query.plugins.push(require.resolve('babel-plugin-transform-runtime')); |
|
|
|
babelLoader.query.plugins.push(require.resolve('babel-plugin-transform-async-to-generator')); |
|
|
|
babelLoader.use.options.plugins.push( |
|
|
|
require.resolve('babel-plugin-transform-runtime'), |
|
|
|
require.resolve('babel-plugin-transform-async-to-generator') |
|
|
|
); |
|
|
|
|
|
|
|
module.exports = config; |
|
|
|