1 | 'use strict';
|
2 |
|
3 | var path = require('path');
|
4 |
|
5 | module.exports = function webpackExtra (config, appPath) {
|
6 | var appPackage = require(path.join(appPath, 'package.json'));
|
7 | var appHasOwnProperty = function (key) {
|
8 | return Object.hasOwnProperty.bind(appPackage, key)();
|
9 | }
|
10 |
|
11 | config.module.rules = config.module.rules.map(function (loader) {
|
12 | if (
|
13 | loader.loader
|
14 | && loader.loader.indexOf('babel-loader') > -1
|
15 | && appHasOwnProperty('extraBabelPlugins')
|
16 | ) {
|
17 | loader.options.plugins = (loader.options.plugins || []).concat(appPackage.extraBabelPlugins);
|
18 | }
|
19 |
|
20 | return loader;
|
21 | })
|
22 |
|
23 | return config;
|
24 | }
|