1 | var stack = require('poe-ui/server');
|
2 | var webpack = require('webpack');
|
3 |
|
4 | module.exports = function(opts) {
|
5 |
|
6 | opts = opts || {};
|
7 | opts.builder = {
|
8 | styles: false,
|
9 | jade: false
|
10 | };
|
11 | var app = stack(opts);
|
12 |
|
13 | var builder = app.builder;
|
14 | var es6 = builder.addES6.loader;
|
15 | var ast2template = 'ast2template-loader?native-path=1&root=' + require.resolve(process.cwd() + '/src/root.js');
|
16 |
|
17 | var essLoader = require.resolve('ess-loader') + '!' + es6 + '!' + ast2template + '&keyName=false&pass-through=1!ess2ast-loader?urlRequire=1';
|
18 | var componentLoader = require.resolve('./react/loader');
|
19 |
|
20 | builder.resolve.extensions.push('.jade');
|
21 | builder.addLoader('jade', es6 + '!' + componentLoader + '!' + ast2template + '!jade2ast-loader');
|
22 |
|
23 | builder.addLoader(/\.(ess\?(dynamic|raw))$/, essLoader);
|
24 | builder.addLoader(/\.(ess)$/, require.resolve('style-loader') + '!' + essLoader);
|
25 |
|
26 | builder.plugins.push(new webpack.IgnorePlugin(/regenerator|nodent|js\-beautify/, /ajv/));
|
27 |
|
28 |
|
29 | builder.plugins = builder.plugins.filter(function(plugin) {
|
30 | return plugin.constructor.name != 'ResolverPlugin';
|
31 | });
|
32 |
|
33 | return app;
|
34 | };
|