mirror of
https://github.com/aspnet/JavaScriptServices.git
synced 2025-12-23 01:58:29 +00:00
65 lines
2.0 KiB
JavaScript
65 lines
2.0 KiB
JavaScript
var isDevBuild = process.argv.indexOf('--env.prod') < 0;
|
|
var path = require('path');
|
|
var webpack = require('webpack');
|
|
var AureliaWebpackPlugin = require('aurelia-webpack-plugin');
|
|
var srcDir = path.resolve('./ClientApp');
|
|
var rootDir = path.resolve();
|
|
var outDir = path.resolve('./wwwroot/dist');
|
|
var baseUrl = '/';
|
|
var project = require('./package.json');
|
|
var aureliaModules = Object.keys(project.dependencies).filter(dep => dep.startsWith('aurelia-'));
|
|
|
|
// Configuration for client-side bundle suitable for running in browsers
|
|
var clientBundleConfig = {
|
|
resolve: { extensions: [ '.js', '.ts' ] },
|
|
devtool: isDevBuild ? 'inline-source-map' : null,
|
|
entry: {
|
|
'app': [], // <-- this array will be filled by the aurelia-webpack-plugin
|
|
'aurelia-modules': aureliaModules
|
|
},
|
|
output: {
|
|
path: outDir,
|
|
publicPath: '/dist',
|
|
filename: '[name]-bundle.js'
|
|
},
|
|
module: {
|
|
loaders: [
|
|
{
|
|
test: /\.ts$/,
|
|
include: /ClientApp/,
|
|
loader: 'ts',
|
|
query: {silent: true}
|
|
}, {
|
|
test: /\.html$/,
|
|
exclude: /index\.html$/,
|
|
loader: 'html-loader'
|
|
}, {
|
|
test: /\.css$/,
|
|
loaders: ['style-loader', 'css-loader']
|
|
}, {
|
|
test: /\.(png|woff|woff2|eot|ttf|svg)$/,
|
|
loader: 'url-loader?limit=100000'
|
|
}
|
|
]
|
|
},
|
|
plugins: [
|
|
new webpack.ProvidePlugin({
|
|
$: 'jquery', // because 'bootstrap' by Twitter depends on this
|
|
jQuery: 'jquery'
|
|
}),
|
|
new AureliaWebpackPlugin({
|
|
root: rootDir,
|
|
src: srcDir,
|
|
baseUrl: baseUrl
|
|
}),
|
|
new webpack.optimize.CommonsChunkPlugin({
|
|
name: ['aurelia-modules']
|
|
}),
|
|
].concat(isDevBuild ? [] : [
|
|
// Plugins that apply in production builds only
|
|
new webpack.optimize.UglifyJsPlugin()
|
|
])
|
|
};
|
|
|
|
module.exports = [clientBundleConfig];
|