@@ -2,55 +2,48 @@ var isDevBuild = process.argv.indexOf('--env.prod') < 0;
2
2
var path = require ( 'path' ) ;
3
3
var webpack = require ( 'webpack' ) ;
4
4
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-' ) ) ;
11
5
12
- // Configuration for client-side bundle suitable for running in browsers
13
- var clientBundleConfig = {
6
+ module . exports = {
14
7
resolve : { extensions : [ '.js' , '.ts' ] } ,
15
8
devtool : isDevBuild ? 'inline-source-map' : null ,
16
9
entry : {
17
10
'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
+ ]
19
27
} ,
20
28
output : {
21
- path : outDir ,
29
+ path : path . resolve ( './wwwroot/dist' ) ,
22
30
publicPath : '/dist' ,
23
31
filename : '[name]-bundle.js'
24
32
} ,
25
33
module : {
26
34
loaders : [
27
- {
28
- test : / \. t s $ / ,
29
- include : / C l i e n t A p p / ,
30
- loader : 'ts' ,
31
- query : { silent : true }
32
- } , {
33
- test : / \. h t m l $ / ,
34
- exclude : / i n d e x \. h t m l $ / ,
35
- loader : 'html-loader'
36
- } , {
37
- test : / \. c s s $ / ,
38
- loaders : [ 'style-loader' , 'css-loader' ]
39
- } , {
40
- test : / \. ( p n g | w o f f | w o f f 2 | e o t | t t f | s v g ) $ / ,
41
- loader : 'url-loader?limit=100000'
42
- }
35
+ { test : / \. t s $ / , include : / C l i e n t A p p / , loader : 'ts' , query : { silent : true } } ,
36
+ { test : / \. h t m l $ / , loader : 'html-loader' } ,
37
+ { test : / \. c s s $ / , loaders : [ 'style-loader' , 'css-loader' ] } ,
38
+ { test : / \. ( p n g | w o f f | w o f f 2 | e o t | t t f | s v g ) $ / , loader : 'url-loader?limit=100000' }
43
39
]
44
40
} ,
45
41
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
50
43
new AureliaWebpackPlugin ( {
51
- root : rootDir ,
52
- src : srcDir ,
53
- baseUrl : baseUrl
44
+ root : path . resolve ( './' ) ,
45
+ src : path . resolve ( './ClientApp' ) ,
46
+ baseUrl : '/'
54
47
} ) ,
55
48
new webpack . optimize . CommonsChunkPlugin ( {
56
49
name : [ 'aurelia-modules' ]
@@ -60,5 +53,3 @@ var clientBundleConfig = {
60
53
new webpack . optimize . UglifyJsPlugin ( )
61
54
] )
62
55
} ;
63
-
64
- module . exports = [ clientBundleConfig ] ;
0 commit comments