UNPKG

1.24 kBJavaScriptView Raw
1var stack = require('poe-ui/server');
2var webpack = require('webpack');
3
4module.exports = function(opts) {
5 // TODO set options to remove loaders and set them up here
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 // remove the weird resolving plugin in poe-ui-builder
29 builder.plugins = builder.plugins.filter(function(plugin) {
30 return plugin.constructor.name != 'ResolverPlugin';
31 });
32
33 return app;
34};