From 3802721ed2b90a3a6d6e924131a40f0ac40c312a Mon Sep 17 00:00:00 2001 From: EugeneHlushko Date: Sat, 14 Apr 2018 18:13:51 +0300 Subject: [PATCH 1/4] feature(redirects) Re-incorporate redirects --- package.json | 1 + webpack.common.js | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/package.json b/package.json index 3d83293f1c07..b3e825196863 100644 --- a/package.json +++ b/package.json @@ -85,6 +85,7 @@ "prismjs": "^1.9.0", "raw-loader": "^0.5.1", "remark-autolink-headings": "^5.0.0", + "redirect-webpack-plugin": "^0.1.1", "remark-loader": "^0.3.0", "remark-mermaid": "^0.2.0", "request": "^2.81.0", diff --git a/webpack.common.js b/webpack.common.js index 1b2cab52b8c9..534d5289b212 100644 --- a/webpack.common.js +++ b/webpack.common.js @@ -6,6 +6,7 @@ const CleanPlugin = require('clean-webpack-plugin'); const CopyWebpackPlugin = require('copy-webpack-plugin'); const ExtractTextPlugin = require('extract-text-webpack-plugin'); const DirectoryTreePlugin = require('directory-tree-webpack-plugin'); +const RedirectWebpackPlugin = require('redirect-webpack-plugin'); module.exports = (env = {}) => ({ devtool: 'source-map', @@ -127,6 +128,39 @@ module.exports = (env = {}) => ({ // TODO: Add directory (section) attributes and index url (if necessary) } } + }), + new RedirectWebpackPlugin({ + redirects: { + 'support': '/contribute/', + 'writers-guide': '/contribute/writers-guide/', + 'get-started': '/guides/getting-started/', + 'get-started/install-webpack': '/guides/installation/', + 'get-started/why-webpack': '/guides/why-webpack/', + 'pluginsapi': '/api/plugins/', + 'pluginsapi/compiler': '/api/compiler-hooks/', + 'pluginsapi/template': '/api/template/', + 'api/passing-a-config': '/configuration/configuration-types/', + 'api/plugins/compiler': '/api/compiler-hooks/', + 'api/plugins/compilation': '/api/compilation/', + 'api/plugins/module-factories': '/api/module-methods/', + 'api/plugins/parser': '/api/parser/', + 'api/plugins/tapable': '/api/tapable/', + 'api/plugins/template': '/api/template/', + 'api/plugins/resolver': '/api/resolver/', + 'development': '/contribute/', + 'development/plugin-patterns': '/contribute/plugin-patterns/', + 'development/release-process': '/contribute/release-process/', + 'development/how-to-write-a-loader': '/contribute/writing-a-loader/', + 'development/how-to-write-a-plugin': '/contribute/writing-a-plugin/', + 'guides/code-splitting-import': '/guides/code-splitting/', + 'guides/code-splitting-require': '/guides/code-splitting/', + 'guides/code-splitting-async': '/guides/code-splitting/', + 'guides/code-splitting-css': '/guides/code-splitting/', + 'guides/code-splitting-libraries': '/guides/code-splitting/', + 'guides/why-webpack': '/comparison/', + 'guides/production-build': '/guides/production/', + 'migrating': '/migrate/3/' + }, }) ], stats: { From e4ea7d94b0503b692c8a8b3c16f5056588f3a09b Mon Sep 17 00:00:00 2001 From: EugeneHlushko Date: Sun, 15 Apr 2018 16:52:03 +0300 Subject: [PATCH 2/4] misc(build) remove redirects.json --- redirects.json | 30 ------------------------------ 1 file changed, 30 deletions(-) delete mode 100644 redirects.json diff --git a/redirects.json b/redirects.json deleted file mode 100644 index bc73ff74dab2..000000000000 --- a/redirects.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "/support": "/contribute", - "/writers-guide": "/contribute/writers-guide", - "/api/passing-a-config": "configuration-types", - "/guides/code-splitting-import": "/guides/code-splitting", - "/guides/code-splitting-require": "/guides/code-splitting", - "/guides/code-splitting-async": "/guides/code-splitting", - "/guides/code-splitting-css": "/guides/code-splitting", - "/guides/code-splitting-libraries": "/guides/code-splitting", - "/guides/why-webpack": "/comparison", - "/guides/production-build": "/guides/production", - "/get-started": "/guides/getting-started", - "/get-started/install-webpack": "/guides/installation", - "/get-started/why-webpack": "/guides/why-webpack", - "/pluginsapi": "/api/plugins", - "/pluginsapi/compiler": "/api/compiler", - "/pluginsapi/template": "/api/template", - "/api/plugins/compiler": "/api/compiler", - "/api/plugins/compilation": "/api/compilation", - "/api/plugins/module-factories": "/api/module-factories", - "/api/plugins/parser": "/api/parser", - "/api/plugins/tapable": "/api/tapable", - "/api/plugins/template": "/api/template", - "/api/plugins/resolver": "/api/resolver", - "/development": "/contribute", - "/development/plugin-patterns": "/contribute/plugin-patterns", - "/development/release-process": "/contribute/release-process", - "/development/how-to-write-a-loader": "/contribute/writing-a-loader", - "/development/how-to-write-a-plugin": "/contribute/writing-a-plugin" -} From d73ef619d50179c94ad424ab6d301b633871ad1d Mon Sep 17 00:00:00 2001 From: Greg Venech Date: Tue, 17 Apr 2018 01:47:52 -0400 Subject: [PATCH 3/4] 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. --- webpack.common.js | 34 ---------------------------------- webpack.prod.js | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/webpack.common.js b/webpack.common.js index 534d5289b212..1b2cab52b8c9 100644 --- a/webpack.common.js +++ b/webpack.common.js @@ -6,7 +6,6 @@ const CleanPlugin = require('clean-webpack-plugin'); const CopyWebpackPlugin = require('copy-webpack-plugin'); const ExtractTextPlugin = require('extract-text-webpack-plugin'); const DirectoryTreePlugin = require('directory-tree-webpack-plugin'); -const RedirectWebpackPlugin = require('redirect-webpack-plugin'); module.exports = (env = {}) => ({ devtool: 'source-map', @@ -128,39 +127,6 @@ module.exports = (env = {}) => ({ // TODO: Add directory (section) attributes and index url (if necessary) } } - }), - new RedirectWebpackPlugin({ - redirects: { - 'support': '/contribute/', - 'writers-guide': '/contribute/writers-guide/', - 'get-started': '/guides/getting-started/', - 'get-started/install-webpack': '/guides/installation/', - 'get-started/why-webpack': '/guides/why-webpack/', - 'pluginsapi': '/api/plugins/', - 'pluginsapi/compiler': '/api/compiler-hooks/', - 'pluginsapi/template': '/api/template/', - 'api/passing-a-config': '/configuration/configuration-types/', - 'api/plugins/compiler': '/api/compiler-hooks/', - 'api/plugins/compilation': '/api/compilation/', - 'api/plugins/module-factories': '/api/module-methods/', - 'api/plugins/parser': '/api/parser/', - 'api/plugins/tapable': '/api/tapable/', - 'api/plugins/template': '/api/template/', - 'api/plugins/resolver': '/api/resolver/', - 'development': '/contribute/', - 'development/plugin-patterns': '/contribute/plugin-patterns/', - 'development/release-process': '/contribute/release-process/', - 'development/how-to-write-a-loader': '/contribute/writing-a-loader/', - 'development/how-to-write-a-plugin': '/contribute/writing-a-plugin/', - 'guides/code-splitting-import': '/guides/code-splitting/', - 'guides/code-splitting-require': '/guides/code-splitting/', - 'guides/code-splitting-async': '/guides/code-splitting/', - 'guides/code-splitting-css': '/guides/code-splitting/', - 'guides/code-splitting-libraries': '/guides/code-splitting/', - 'guides/why-webpack': '/comparison/', - 'guides/production-build': '/guides/production/', - 'migrating': '/migrate/3/' - }, }) ], stats: { diff --git a/webpack.prod.js b/webpack.prod.js index c9260c9ae2d2..436a41d5fcb6 100644 --- a/webpack.prod.js +++ b/webpack.prod.js @@ -4,6 +4,7 @@ const webpack = require('webpack'); const merge = require('webpack-merge'); const UglifyJSPlugin = require('uglifyjs-webpack-plugin'); const SSGPlugin = require('static-site-generator-webpack-plugin'); +const RedirectWebpackPlugin = require('redirect-webpack-plugin'); // Load Common Configuration const common = require('./webpack.common.js'); @@ -31,6 +32,39 @@ module.exports = env => [ globals: { window: {} } + }), + new RedirectWebpackPlugin({ + redirects: { + 'support': '/contribute/', + 'writers-guide': '/contribute/writers-guide/', + 'get-started': '/guides/getting-started/', + 'get-started/install-webpack': '/guides/installation/', + 'get-started/why-webpack': '/guides/why-webpack/', + 'pluginsapi': '/api/plugins/', + 'pluginsapi/compiler': '/api/compiler-hooks/', + 'pluginsapi/template': '/api/template/', + 'api/passing-a-config': '/configuration/configuration-types/', + 'api/plugins/compiler': '/api/compiler-hooks/', + 'api/plugins/compilation': '/api/compilation/', + 'api/plugins/module-factories': '/api/module-methods/', + 'api/plugins/parser': '/api/parser/', + 'api/plugins/tapable': '/api/tapable/', + 'api/plugins/template': '/api/template/', + 'api/plugins/resolver': '/api/resolver/', + 'development': '/contribute/', + 'development/plugin-patterns': '/contribute/plugin-patterns/', + 'development/release-process': '/contribute/release-process/', + 'development/how-to-write-a-loader': '/contribute/writing-a-loader/', + 'development/how-to-write-a-plugin': '/contribute/writing-a-plugin/', + 'guides/code-splitting-import': '/guides/code-splitting/', + 'guides/code-splitting-require': '/guides/code-splitting/', + 'guides/code-splitting-async': '/guides/code-splitting/', + 'guides/code-splitting-css': '/guides/code-splitting/', + 'guides/code-splitting-libraries': '/guides/code-splitting/', + 'guides/why-webpack': '/comparison/', + 'guides/production-build': '/guides/production/', + 'migrating': '/migrate/3/' + } }) ], output: { From bd2beca2de09ad693b4267e8c924f55de422866f Mon Sep 17 00:00:00 2001 From: Greg Venech Date: Tue, 17 Apr 2018 01:48:07 -0400 Subject: [PATCH 4/4] chore(deps): update lock file --- package-lock.json | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/package-lock.json b/package-lock.json index 192c4e99bb44..044e8aecdc7d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12437,6 +12437,39 @@ "strip-indent": "1.0.1" } }, + "redirect-webpack-plugin": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/redirect-webpack-plugin/-/redirect-webpack-plugin-0.1.1.tgz", + "integrity": "sha512-YivwISR6PUxZxU/ltaDeV681QG20SJpYpiLH0KYgJ0bZRCVjwCZenDxLRbp05A0GCJ4Qru/D75xkWySt2897HQ==", + "dev": true, + "requires": { + "webpack-sources": "1.1.0" + }, + "dependencies": { + "source-list-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", + "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "webpack-sources": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", + "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", + "dev": true, + "requires": { + "source-list-map": "2.0.0", + "source-map": "0.6.1" + } + } + } + }, "reduce": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/reduce/-/reduce-1.0.1.tgz",