Skip to content

Commit 3087352

Browse files
Simplify AureliaSpa's webpack.config.js
1 parent e60ea04 commit 3087352

File tree

1 file changed

+26
-35
lines changed

1 file changed

+26
-35
lines changed

templates/AureliaSpa/webpack.config.js

Lines changed: 26 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -2,55 +2,48 @@ var isDevBuild = process.argv.indexOf('--env.prod') < 0;
22
var path = require('path');
33
var webpack = require('webpack');
44
var AureliaWebpackPlugin = require('aurelia-webpack-plugin');
5-
var srcDir = path.resolve('./ClientApp');
6-
var rootDir = path.resolve();
7-
var outDir = path.resolve('./wwwroot/dist');
8-
var baseUrl = '/';
9-
var project = require('./package.json');
10-
var aureliaModules = Object.keys(project.dependencies).filter(dep => dep.startsWith('aurelia-'));
115

12-
// Configuration for client-side bundle suitable for running in browsers
13-
var clientBundleConfig = {
6+
module.exports = {
147
resolve: { extensions: [ '.js', '.ts' ] },
158
devtool: isDevBuild ? 'inline-source-map' : null,
169
entry: {
1710
'app': [], // <-- this array will be filled by the aurelia-webpack-plugin
18-
'aurelia-modules': aureliaModules
11+
'aurelia-modules': [
12+
'aurelia-bootstrapper-webpack',
13+
'aurelia-event-aggregator',
14+
'aurelia-fetch-client',
15+
'aurelia-framework',
16+
'aurelia-history-browser',
17+
'aurelia-loader-webpack',
18+
'aurelia-logging-console',
19+
'aurelia-pal-browser',
20+
'aurelia-polyfills',
21+
'aurelia-route-recognizer',
22+
'aurelia-router',
23+
'aurelia-templating-binding',
24+
'aurelia-templating-resources',
25+
'aurelia-templating-router'
26+
]
1927
},
2028
output: {
21-
path: outDir,
29+
path: path.resolve('./wwwroot/dist'),
2230
publicPath: '/dist',
2331
filename: '[name]-bundle.js'
2432
},
2533
module: {
2634
loaders: [
27-
{
28-
test: /\.ts$/,
29-
include: /ClientApp/,
30-
loader: 'ts',
31-
query: {silent: true}
32-
}, {
33-
test: /\.html$/,
34-
exclude: /index\.html$/,
35-
loader: 'html-loader'
36-
}, {
37-
test: /\.css$/,
38-
loaders: ['style-loader', 'css-loader']
39-
}, {
40-
test: /\.(png|woff|woff2|eot|ttf|svg)$/,
41-
loader: 'url-loader?limit=100000'
42-
}
35+
{ test: /\.ts$/, include: /ClientApp/, loader: 'ts', query: {silent: true} },
36+
{ test: /\.html$/, loader: 'html-loader' },
37+
{ test: /\.css$/, loaders: ['style-loader', 'css-loader'] },
38+
{ test: /\.(png|woff|woff2|eot|ttf|svg)$/, loader: 'url-loader?limit=100000' }
4339
]
4440
},
4541
plugins: [
46-
new webpack.ProvidePlugin({
47-
$: 'jquery', // because 'bootstrap' by Twitter depends on this
48-
jQuery: 'jquery'
49-
}),
42+
new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery' }), // because Bootstrap expects $ and jQuery to be globals
5043
new AureliaWebpackPlugin({
51-
root: rootDir,
52-
src: srcDir,
53-
baseUrl: baseUrl
44+
root: path.resolve('./'),
45+
src: path.resolve('./ClientApp'),
46+
baseUrl: '/'
5447
}),
5548
new webpack.optimize.CommonsChunkPlugin({
5649
name: ['aurelia-modules']
@@ -60,5 +53,3 @@ var clientBundleConfig = {
6053
new webpack.optimize.UglifyJsPlugin()
6154
])
6255
};
63-
64-
module.exports = [clientBundleConfig];

0 commit comments

Comments
 (0)