Skip to content
This repository was archived by the owner on Dec 4, 2017. It is now read-only.

Commit 9fb5e0a

Browse files
authored
docs(webpack): update to webpack 2 (#3108)
* docs(webpack): update to webpack 2
1 parent 457412a commit 9fb5e0a

File tree

8 files changed

+221
-159
lines changed

8 files changed

+221
-159
lines changed

public/docs/_examples/package.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,16 @@
4040
"@types/angular-sanitize": "^1.3.3",
4141
"@types/jasmine": "~2.5.36",
4242
"@types/node": "^6.0.45",
43-
"angular2-template-loader": "^0.4.0",
44-
"awesome-typescript-loader": "^2.2.4",
43+
"angular2-template-loader": "^0.6.0",
44+
"awesome-typescript-loader": "^3.0.0-beta.18",
4545
"babel-cli": "^6.16.0",
4646
"babel-preset-angular2": "^0.0.2",
4747
"babel-preset-es2015": "^6.16.0",
4848
"canonical-path": "0.0.2",
4949
"concurrently": "^3.0.0",
50-
"css-loader": "^0.25.0",
51-
"extract-text-webpack-plugin": "^1.0.1",
52-
"file-loader": "^0.8.5",
50+
"css-loader": "^0.26.1",
51+
"extract-text-webpack-plugin": "2.0.0-beta.5",
52+
"file-loader": "^0.9.0",
5353
"html-loader": "^0.4.3",
5454
"html-webpack-plugin": "^2.16.1",
5555
"http-server": "^0.9.0",
@@ -62,7 +62,7 @@
6262
"karma-jasmine-html-reporter": "^0.2.2",
6363
"karma-phantomjs-launcher": "^1.0.2",
6464
"karma-sourcemap-loader": "^0.3.7",
65-
"karma-webpack": "^1.8.0",
65+
"karma-webpack": "^2.0.1",
6666
"lite-server": "^2.2.2",
6767
"lodash": "^4.16.2",
6868
"null-loader": "^0.1.1",
@@ -79,9 +79,9 @@
7979
"ts-node": "^1.3.0",
8080
"tslint": "^3.15.1",
8181
"typescript": "~2.0.10",
82-
"webpack": "^1.13.0",
83-
"webpack-dev-server": "^1.14.1",
84-
"webpack-merge": "^0.14.0"
82+
"webpack": "2.2.0",
83+
"webpack-dev-server": "2.2.0-rc.0",
84+
"webpack-merge": "^2.4.0"
8585
},
8686
"repository": {}
8787
}

public/docs/_examples/webpack/ts-snippets/webpack.config.snippets.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,14 @@ output: {
3232
// #enddocregion two-entries
3333

3434
// #docregion loaders
35-
loaders: [
35+
rules: [
3636
{
3737
test: /\.ts$/
38-
loaders: 'ts'
38+
loader: 'awesome-typescript-loader'
3939
},
4040
{
4141
test: /\.css$/
42-
loaders: 'style!css'
42+
loaders: 'style-loader!css-loader'
4343
}
4444
]
4545
// #enddocregion loaders

public/docs/_examples/webpack/ts/config/webpack.common.js

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,41 +15,49 @@ module.exports = {
1515

1616
// #docregion resolve
1717
resolve: {
18-
extensions: ['', '.ts', '.js']
18+
extensions: ['.ts', '.js']
1919
},
2020
// #enddocregion resolve
2121

2222
// #docregion loaders
2323
module: {
24-
loaders: [
24+
rules: [
2525
{
2626
test: /\.ts$/,
2727
loaders: ['awesome-typescript-loader', 'angular2-template-loader']
2828
},
2929
{
3030
test: /\.html$/,
31-
loader: 'html'
31+
loader: 'html-loader'
3232
},
3333
{
3434
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/,
35-
loader: 'file?name=assets/[name].[hash].[ext]'
35+
loader: 'file-loader?name=assets/[name].[hash].[ext]'
3636
},
3737
{
3838
test: /\.css$/,
3939
exclude: helpers.root('src', 'app'),
40-
loader: ExtractTextPlugin.extract('style', 'css?sourceMap')
40+
loader: ExtractTextPlugin.extract({ fallbackLoader: 'style-loader', loader: 'css-loader?sourceMap' })
4141
},
4242
{
4343
test: /\.css$/,
4444
include: helpers.root('src', 'app'),
45-
loader: 'raw'
45+
loader: 'raw-loader'
4646
}
4747
]
4848
},
4949
// #enddocregion loaders
5050

5151
// #docregion plugins
5252
plugins: [
53+
// Workaround for angular/angular#11580
54+
new webpack.ContextReplacementPlugin(
55+
// The (\\|\/) piece accounts for path separators in *nix and Windows
56+
/angular(\\|\/)core(\\|\/)(esm(\\|\/)src|src)(\\|\/)linker/,
57+
helpers.root('./src'), // location of your src
58+
{} // a map of your routes
59+
),
60+
5361
new webpack.optimize.CommonsChunkPlugin({
5462
name: ['app', 'vendor', 'polyfills']
5563
}),

public/docs/_examples/webpack/ts/config/webpack.prod.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,8 @@ module.exports = webpackMerge(commonConfig, {
1717
chunkFilename: '[id].[hash].chunk.js'
1818
},
1919

20-
htmlLoader: {
21-
minimize: false // workaround for ng2
22-
},
23-
2420
plugins: [
25-
new webpack.NoErrorsPlugin(),
26-
new webpack.optimize.DedupePlugin(),
21+
new webpack.NoEmitOnErrorsPlugin(),
2722
new webpack.optimize.UglifyJsPlugin({ // https://github.com/angular/angular/issues/10618
2823
mangle: {
2924
keep_fnames: true
@@ -34,7 +29,13 @@ module.exports = webpackMerge(commonConfig, {
3429
'process.env': {
3530
'ENV': JSON.stringify(ENV)
3631
}
32+
}),
33+
new webpack.LoaderOptionsPlugin({
34+
htmlLoader: {
35+
minimize: false // workaround for ng2
36+
}
3737
})
3838
]
3939
});
40+
4041
// #enddocregion
Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,50 @@
11
// #docregion
2+
var webpack = require('webpack');
23
var helpers = require('./helpers');
34

45
module.exports = {
56
devtool: 'inline-source-map',
67

78
resolve: {
8-
extensions: ['', '.ts', '.js']
9+
extensions: ['.ts', '.js']
910
},
1011

1112
module: {
12-
loaders: [
13+
rules: [
1314
{
1415
test: /\.ts$/,
1516
loaders: ['awesome-typescript-loader', 'angular2-template-loader']
1617
},
1718
{
1819
test: /\.html$/,
19-
loader: 'html'
20+
loader: 'html-loader'
2021

2122
},
2223
{
2324
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/,
24-
loader: 'null'
25+
loader: 'null-loader'
2526
},
2627
{
2728
test: /\.css$/,
2829
exclude: helpers.root('src', 'app'),
29-
loader: 'null'
30+
loader: 'null-loader'
3031
},
3132
{
3233
test: /\.css$/,
3334
include: helpers.root('src', 'app'),
34-
loader: 'raw'
35+
loader: 'raw-loader'
3536
}
3637
]
37-
}
38+
},
39+
40+
plugins: [
41+
new webpack.ContextReplacementPlugin(
42+
// The (\\|\/) piece accounts for path separators in *nix and Windows
43+
/angular(\\|\/)core(\\|\/)(esm(\\|\/)src|src)(\\|\/)linker/,
44+
helpers.root('./src'), // location of your src
45+
{} // a map of your routes
46+
)
47+
]
3848
}
49+
3950
// #enddocregion

public/docs/_examples/webpack/ts/package.webpack.json

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,27 +24,27 @@
2424
"devDependencies": {
2525
"@types/node": "^6.0.45",
2626
"@types/jasmine": "^2.5.35",
27-
"angular2-template-loader": "^0.4.0",
28-
"awesome-typescript-loader": "^2.2.4",
29-
"css-loader": "^0.23.1",
30-
"extract-text-webpack-plugin": "^1.0.1",
31-
"file-loader": "^0.8.5",
27+
"angular2-template-loader": "^0.6.0",
28+
"awesome-typescript-loader": "^3.0.0-beta.18",
29+
"css-loader": "^0.26.1",
30+
"extract-text-webpack-plugin": "2.0.0-beta.5",
31+
"file-loader": "^0.9.0",
3232
"html-loader": "^0.4.3",
33-
"html-webpack-plugin": "^2.15.0",
33+
"html-webpack-plugin": "^2.16.1",
3434
"jasmine-core": "^2.4.1",
3535
"karma": "^1.2.0",
3636
"karma-jasmine": "^1.0.2",
3737
"karma-phantomjs-launcher": "^1.0.2",
3838
"karma-sourcemap-loader": "^0.3.7",
39-
"karma-webpack": "^1.8.0",
39+
"karma-webpack": "^2.0.1",
4040
"null-loader": "^0.1.1",
4141
"phantomjs-prebuilt": "^2.1.7",
4242
"raw-loader": "^0.5.1",
4343
"rimraf": "^2.5.2",
4444
"style-loader": "^0.13.1",
4545
"typescript": "~2.0.10",
46-
"webpack": "^1.13.0",
47-
"webpack-dev-server": "^1.14.1",
48-
"webpack-merge": "^0.14.0"
46+
"webpack": "2.2.0",
47+
"webpack-dev-server": "2.2.0-rc.0",
48+
"webpack-merge": "^2.4.0"
4949
}
5050
}

public/docs/_examples/webpack/ts/src/polyfills.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,8 @@ require('zone.js/dist/zone');
55

66
if (process.env.ENV === 'production') {
77
// Production
8-
98
} else {
10-
// Development
11-
9+
// Development and test
1210
Error['stackTraceLimit'] = Infinity;
13-
1411
require('zone.js/dist/long-stack-trace-zone');
1512
}

0 commit comments

Comments
 (0)