Skip to content

Commit d73ef61

Browse files
committed
chore(rebuild): move redirect generation to prod to improve performance
Including this plugin in `common` causes it to be run twice for production builds as both parallelized configs pick this up. We only need it in `prod` and it's kind of nice to have all html generation happen in one build so lumping it together with the `SSGPlugin` makes sense.
1 parent e4ea7d9 commit d73ef61

File tree

2 files changed

+34
-34
lines changed

2 files changed

+34
-34
lines changed

webpack.common.js

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ const CleanPlugin = require('clean-webpack-plugin');
66
const CopyWebpackPlugin = require('copy-webpack-plugin');
77
const ExtractTextPlugin = require('extract-text-webpack-plugin');
88
const DirectoryTreePlugin = require('directory-tree-webpack-plugin');
9-
const RedirectWebpackPlugin = require('redirect-webpack-plugin');
109

1110
module.exports = (env = {}) => ({
1211
devtool: 'source-map',
@@ -128,39 +127,6 @@ module.exports = (env = {}) => ({
128127
// TODO: Add directory (section) attributes and index url (if necessary)
129128
}
130129
}
131-
}),
132-
new RedirectWebpackPlugin({
133-
redirects: {
134-
'support': '/contribute/',
135-
'writers-guide': '/contribute/writers-guide/',
136-
'get-started': '/guides/getting-started/',
137-
'get-started/install-webpack': '/guides/installation/',
138-
'get-started/why-webpack': '/guides/why-webpack/',
139-
'pluginsapi': '/api/plugins/',
140-
'pluginsapi/compiler': '/api/compiler-hooks/',
141-
'pluginsapi/template': '/api/template/',
142-
'api/passing-a-config': '/configuration/configuration-types/',
143-
'api/plugins/compiler': '/api/compiler-hooks/',
144-
'api/plugins/compilation': '/api/compilation/',
145-
'api/plugins/module-factories': '/api/module-methods/',
146-
'api/plugins/parser': '/api/parser/',
147-
'api/plugins/tapable': '/api/tapable/',
148-
'api/plugins/template': '/api/template/',
149-
'api/plugins/resolver': '/api/resolver/',
150-
'development': '/contribute/',
151-
'development/plugin-patterns': '/contribute/plugin-patterns/',
152-
'development/release-process': '/contribute/release-process/',
153-
'development/how-to-write-a-loader': '/contribute/writing-a-loader/',
154-
'development/how-to-write-a-plugin': '/contribute/writing-a-plugin/',
155-
'guides/code-splitting-import': '/guides/code-splitting/',
156-
'guides/code-splitting-require': '/guides/code-splitting/',
157-
'guides/code-splitting-async': '/guides/code-splitting/',
158-
'guides/code-splitting-css': '/guides/code-splitting/',
159-
'guides/code-splitting-libraries': '/guides/code-splitting/',
160-
'guides/why-webpack': '/comparison/',
161-
'guides/production-build': '/guides/production/',
162-
'migrating': '/migrate/3/'
163-
},
164130
})
165131
],
166132
stats: {

webpack.prod.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ const webpack = require('webpack');
44
const merge = require('webpack-merge');
55
const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
66
const SSGPlugin = require('static-site-generator-webpack-plugin');
7+
const RedirectWebpackPlugin = require('redirect-webpack-plugin');
78

89
// Load Common Configuration
910
const common = require('./webpack.common.js');
@@ -31,6 +32,39 @@ module.exports = env => [
3132
globals: {
3233
window: {}
3334
}
35+
}),
36+
new RedirectWebpackPlugin({
37+
redirects: {
38+
'support': '/contribute/',
39+
'writers-guide': '/contribute/writers-guide/',
40+
'get-started': '/guides/getting-started/',
41+
'get-started/install-webpack': '/guides/installation/',
42+
'get-started/why-webpack': '/guides/why-webpack/',
43+
'pluginsapi': '/api/plugins/',
44+
'pluginsapi/compiler': '/api/compiler-hooks/',
45+
'pluginsapi/template': '/api/template/',
46+
'api/passing-a-config': '/configuration/configuration-types/',
47+
'api/plugins/compiler': '/api/compiler-hooks/',
48+
'api/plugins/compilation': '/api/compilation/',
49+
'api/plugins/module-factories': '/api/module-methods/',
50+
'api/plugins/parser': '/api/parser/',
51+
'api/plugins/tapable': '/api/tapable/',
52+
'api/plugins/template': '/api/template/',
53+
'api/plugins/resolver': '/api/resolver/',
54+
'development': '/contribute/',
55+
'development/plugin-patterns': '/contribute/plugin-patterns/',
56+
'development/release-process': '/contribute/release-process/',
57+
'development/how-to-write-a-loader': '/contribute/writing-a-loader/',
58+
'development/how-to-write-a-plugin': '/contribute/writing-a-plugin/',
59+
'guides/code-splitting-import': '/guides/code-splitting/',
60+
'guides/code-splitting-require': '/guides/code-splitting/',
61+
'guides/code-splitting-async': '/guides/code-splitting/',
62+
'guides/code-splitting-css': '/guides/code-splitting/',
63+
'guides/code-splitting-libraries': '/guides/code-splitting/',
64+
'guides/why-webpack': '/comparison/',
65+
'guides/production-build': '/guides/production/',
66+
'migrating': '/migrate/3/'
67+
}
3468
})
3569
],
3670
output: {

0 commit comments

Comments
 (0)