From dc3ca8683b1f0d09be193bef8182a24771ad0b8e Mon Sep 17 00:00:00 2001 From: EugeneHlushko Date: Wed, 11 Apr 2018 19:22:56 +0300 Subject: [PATCH 1/6] fix(config) Fix build time issue using defaut config --- webpack.config.js | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/webpack.config.js b/webpack.config.js index 0e7dfbaccd53..0b8ddfb0ea3d 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -122,5 +122,28 @@ module.exports = (env) => ({ 'migrating': '/migrate/3/', }, }), - ] + ], + + optimization: { + splitChunks: { + chunks: "async", + minSize: 30000, + minChunks: 3, + maxAsyncRequests: 5, + maxInitialRequests: 3, + automaticNameDelimiter: '~', + name: true, + cacheGroups: { + vendors: { + test: /[\\/]node_modules[\\/]/, + priority: -10 + }, + default: { + minChunks: 3, + priority: -20, + reuseExistingChunk: true + } + } + } + } }); From a50e3ce5f32cb128abb7ac00efdfa99d23fad6e8 Mon Sep 17 00:00:00 2001 From: EugeneHlushko Date: Wed, 11 Apr 2018 20:10:14 +0300 Subject: [PATCH 2/6] fix(config) Use node 8 --- .travis.yml | 2 +- webpack.config.js | 25 +------------------------ 2 files changed, 2 insertions(+), 25 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1c8c3de13cc2..b4840fd9df4a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,7 @@ branches: - develop language: node_js node_js: - - "6" + - "8" script: - bash ./src/scripts/deploy.sh sudo: required diff --git a/webpack.config.js b/webpack.config.js index 0b8ddfb0ea3d..0e7dfbaccd53 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -122,28 +122,5 @@ module.exports = (env) => ({ 'migrating': '/migrate/3/', }, }), - ], - - optimization: { - splitChunks: { - chunks: "async", - minSize: 30000, - minChunks: 3, - maxAsyncRequests: 5, - maxInitialRequests: 3, - automaticNameDelimiter: '~', - name: true, - cacheGroups: { - vendors: { - test: /[\\/]node_modules[\\/]/, - priority: -10 - }, - default: { - minChunks: 3, - priority: -20, - reuseExistingChunk: true - } - } - } - } + ] }); From ef8178e8534292c0a3cb6fdbb1672f95a98b7190 Mon Sep 17 00:00:00 2001 From: EugeneHlushko Date: Wed, 11 Apr 2018 21:16:18 +0300 Subject: [PATCH 3/6] fix(config) Fix redirects --- antwar.bootstrap.js | 14 ++--- antwar.config.js | 136 +++++++++++++++++++------------------------- webpack.config.js | 12 +++- 3 files changed, 78 insertions(+), 84 deletions(-) diff --git a/antwar.bootstrap.js b/antwar.bootstrap.js index 1995a4589d65..aee2f118aaa8 100644 --- a/antwar.bootstrap.js +++ b/antwar.bootstrap.js @@ -7,14 +7,14 @@ process.env.BABEL_ENV = environment; antwar[environment]({ environment, - configurationPaths: { - antwar: require.resolve("./antwar.config.js"), - webpack: require.resolve("./webpack.config.js"), - }, + configurationPaths: { + antwar: require.resolve("./antwar.config.js"), + webpack: require.resolve("./webpack.config.js"), + }, }).then(() => { - if (environment !== "build") { - console.log("Surf to localhost:3000"); - } + if (environment !== "build") { + console.log("Surf to localhost:3000"); + } }).catch((err) => { console.error(err); diff --git a/antwar.config.js b/antwar.config.js index 59a77c51eeb9..6db76ccad3be 100644 --- a/antwar.config.js +++ b/antwar.config.js @@ -16,83 +16,67 @@ module.exports = () => ({ layout: () => require('./src/components/Page/Page.jsx').default, content: () => require.context('./loaders/page-loader!./src/content', false, /^\.\/.*\.md$/), index: () => require('./src/components/Splash/Splash.jsx').default, - redirects: { - 'support': '/contribute', - 'writers-guide': '/contribute/writers-guide' + }, + concepts: { + title: 'Concepts', + url: ({sectionName, fileName}) => `/${sectionName}/${fileName}/`, + layout: () => require('./src/components/Page/Page.jsx').default, + content: () => require.context('./loaders/page-loader!./src/content/concepts', false, /^\.\/.*\.md$/) + }, + configuration: { + title: 'Configuration', + url: ({sectionName, fileName}) => `/${sectionName}/${fileName}/`, + layout: () => require('./src/components/Page/Page.jsx').default, + content: () => require.context('./loaders/page-loader!./src/content/configuration', false, /^\.\/.*\.md$/) + }, + api: { + title: 'API', + url: ({sectionName, fileName}) => `/${sectionName}/${fileName}/`, + layout: () => require('./src/components/Page/Page.jsx').default, + content: () => require.context('./loaders/page-loader!./src/content/api', false, /^\.\/.*\.md$/) + }, + guides: { + title: 'Guides', + url: ({sectionName, fileName}) => `/${sectionName}/${fileName}/`, + layout: () => require('./src/components/Page/Page.jsx').default, + content: () => require.context('./loaders/page-loader!./src/content/guides', false, /^\.\/.*\.md$/) + }, + plugins: { + title: 'Plugins', + url: ({sectionName, fileName}) => `/${sectionName}/${fileName}/`, + layout: () => require('./src/components/Page/Page.jsx').default, + content: () => { + return combineContexts( + require.context('./loaders/page-loader!./src/content/plugins', false, /^\.\/.*\.md$/), + require.context('./loaders/page-loader!./generated/plugins', false, /^\.\/.*\.md$/) + ); + } + }, + loaders: { + title: 'Loaders', + url: ({sectionName, fileName}) => `/${sectionName}/${fileName}/`, + layout: () => require('./src/components/Page/Page.jsx').default, + content: () => { + return combineContexts( + require.context('./loaders/page-loader!./src/content/loaders', false, /^\.\/.*\.md$/), + require.context('./loaders/page-loader!./generated/loaders', false, /^\.\/.*\.md$/) + ); } }, - concepts: { - title: 'Concepts', - url: ({ sectionName, fileName }) => `/${sectionName}/${fileName}/`, - layout: () => require('./src/components/Page/Page.jsx').default, - content: () => require.context('./loaders/page-loader!./src/content/concepts', false, /^\.\/.*\.md$/) - }, - configuration: { - title: 'Configuration', - url: ({ sectionName, fileName }) => `/${sectionName}/${fileName}/`, - layout: () => require('./src/components/Page/Page.jsx').default, - content: () => require.context('./loaders/page-loader!./src/content/configuration', false, /^\.\/.*\.md$/) - }, - api: { - title: 'API', - url: ({ sectionName, fileName }) => `/${sectionName}/${fileName}/`, - layout: () => require('./src/components/Page/Page.jsx').default, - content: () => require.context('./loaders/page-loader!./src/content/api', false, /^\.\/.*\.md$/), - redirects: { - 'passing-a-config': 'configuration-types' - } - }, - guides: { - title: 'Guides', - url: ({ sectionName, fileName }) => `/${sectionName}/${fileName}/`, - layout: () => require('./src/components/Page/Page.jsx').default, - content: () => require.context('./loaders/page-loader!./src/content/guides', false, /^\.\/.*\.md$/), - redirects: { - 'code-splitting-import': '/guides/code-splitting', - 'code-splitting-require': '/guides/code-splitting', - 'code-splitting-async': '/guides/code-splitting', - 'code-splitting-css': '/guides/code-splitting', - 'code-splitting-libraries': '/guides/code-splitting', - 'why-webpack': '/comparison', - 'production-build': '/guides/production' - } - }, - plugins: { - title: 'Plugins', - url: ({ sectionName, fileName }) => `/${sectionName}/${fileName}/`, - layout: () => require('./src/components/Page/Page.jsx').default, - content: () => { - return combineContexts( - require.context('./loaders/page-loader!./src/content/plugins', false, /^\.\/.*\.md$/), - require.context('./loaders/page-loader!./generated/plugins', false, /^\.\/.*\.md$/) - ); - } - }, - loaders: { - title: 'Loaders', - url: ({ sectionName, fileName }) => `/${sectionName}/${fileName}/`, - layout: () => require('./src/components/Page/Page.jsx').default, - content: () => { - return combineContexts( - require.context('./loaders/page-loader!./src/content/loaders', false, /^\.\/.*\.md$/), - require.context('./loaders/page-loader!./generated/loaders', false, /^\.\/.*\.md$/) - ); - } - }, - contribute: { - title: 'Contribute', - url: ({ sectionName, fileName }) => `/${sectionName}/${fileName}/`, - layout: () => require('./src/components/Page/Page.jsx').default, - content: () => require.context('./loaders/page-loader!./src/content/contribute', false, /^\.\/.*\.md$/), - }, - migrate: { - title: 'Migrate', - url: ({ sectionName, fileName }) => `/${sectionName}/${fileName}/`, - layout: () => require('./src/components/Page/Page.jsx').default, - content: () => require.context('./loaders/page-loader!./src/content/migrate', false, /^\.\/.*\.md$/), - }, - vote: () => require('./src/components/Vote/Vote.jsx').default, - organization: () => require('./src/components/Organization/Organization.jsx').default, - 'starter-kits': () => require('./src/components/StarterKits/StarterKits.jsx').default, + contribute: { + title: 'Contribute', + url: ({sectionName, fileName}) => `/${sectionName}/${fileName}/`, + layout: () => require('./src/components/Page/Page.jsx').default, + content: () => require.context('./loaders/page-loader!./src/content/contribute', false, /^\.\/.*\.md$/), + }, + migrate: { + title: 'Migrate', + url: ({ sectionName, fileName }) => `/${sectionName}/${fileName}/`, + layout: () => require('./src/components/Page/Page.jsx').default, + content: () => require.context('./loaders/page-loader!./src/content/migrate', false, /^\.\/.*\.md$/), + }, + vote: () => require('./src/components/Vote/Vote.jsx').default, + organization: () => require('./src/components/Organization/Organization.jsx').default, + 'starter-kits': () => require('./src/components/StarterKits/StarterKits.jsx').default, } }); diff --git a/webpack.config.js b/webpack.config.js index 0e7dfbaccd53..9937a950b477 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -101,12 +101,15 @@ module.exports = (env) => ({ }), 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/', @@ -119,7 +122,14 @@ module.exports = (env) => ({ '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/', - 'migrating': '/migrate/3/', + '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/' }, }), ] From c90b8001241981ca8c5a686b50f8735c493b3bec Mon Sep 17 00:00:00 2001 From: EugeneHlushko Date: Wed, 11 Apr 2018 21:56:08 +0300 Subject: [PATCH 4/6] fix(config) Dont render backers "Server side" --- src/components/Support/Support.jsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/Support/Support.jsx b/src/components/Support/Support.jsx index 95d295db6425..690c9bccdb43 100644 --- a/src/components/Support/Support.jsx +++ b/src/components/Support/Support.jsx @@ -95,7 +95,7 @@ export default class Support extends React.Component { { - supporters.map((supporter, index) => ( + (typeof window !== 'undefined') ? supporters.map((supporter, index) => ( } { rank === 'backer' ?
: null } - )) + )) : null }
@@ -119,7 +119,7 @@ export default class Support extends React.Component {
); } - + /** * Handle images that aren't found * From 54a9b24e8a570b281a60b1f3233cf03f688f75ed Mon Sep 17 00:00:00 2001 From: EugeneHlushko Date: Thu, 12 Apr 2018 08:34:30 +0300 Subject: [PATCH 5/6] fix(config) Antwar config tweak --- antwar.config.js | 20 ++++++++++---------- webpack.config.js | 8 +++++--- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/antwar.config.js b/antwar.config.js index 6db76ccad3be..ffd5eecbcc36 100644 --- a/antwar.config.js +++ b/antwar.config.js @@ -14,32 +14,32 @@ module.exports = () => ({ '/': { title: 'Home', layout: () => require('./src/components/Page/Page.jsx').default, - content: () => require.context('./loaders/page-loader!./src/content', false, /^\.\/.*\.md$/), + content: () => require.context('./src/content', false, /^\.\/.*\.md$/), index: () => require('./src/components/Splash/Splash.jsx').default, }, concepts: { title: 'Concepts', url: ({sectionName, fileName}) => `/${sectionName}/${fileName}/`, layout: () => require('./src/components/Page/Page.jsx').default, - content: () => require.context('./loaders/page-loader!./src/content/concepts', false, /^\.\/.*\.md$/) + content: () => require.context('./src/content/concepts', false, /^\.\/.*\.md$/) }, configuration: { title: 'Configuration', url: ({sectionName, fileName}) => `/${sectionName}/${fileName}/`, layout: () => require('./src/components/Page/Page.jsx').default, - content: () => require.context('./loaders/page-loader!./src/content/configuration', false, /^\.\/.*\.md$/) + content: () => require.context('./src/content/configuration', false, /^\.\/.*\.md$/) }, api: { title: 'API', url: ({sectionName, fileName}) => `/${sectionName}/${fileName}/`, layout: () => require('./src/components/Page/Page.jsx').default, - content: () => require.context('./loaders/page-loader!./src/content/api', false, /^\.\/.*\.md$/) + content: () => require.context('./src/content/api', false, /^\.\/.*\.md$/) }, guides: { title: 'Guides', url: ({sectionName, fileName}) => `/${sectionName}/${fileName}/`, layout: () => require('./src/components/Page/Page.jsx').default, - content: () => require.context('./loaders/page-loader!./src/content/guides', false, /^\.\/.*\.md$/) + content: () => require.context('./src/content/guides', false, /^\.\/.*\.md$/) }, plugins: { title: 'Plugins', @@ -47,8 +47,8 @@ module.exports = () => ({ layout: () => require('./src/components/Page/Page.jsx').default, content: () => { return combineContexts( - require.context('./loaders/page-loader!./src/content/plugins', false, /^\.\/.*\.md$/), - require.context('./loaders/page-loader!./generated/plugins', false, /^\.\/.*\.md$/) + require.context('./src/content/plugins', false, /^\.\/.*\.md$/), + require.context('./generated/plugins', false, /^\.\/.*\.md$/) ); } }, @@ -58,8 +58,8 @@ module.exports = () => ({ layout: () => require('./src/components/Page/Page.jsx').default, content: () => { return combineContexts( - require.context('./loaders/page-loader!./src/content/loaders', false, /^\.\/.*\.md$/), - require.context('./loaders/page-loader!./generated/loaders', false, /^\.\/.*\.md$/) + require.context('./src/content/loaders', false, /^\.\/.*\.md$/), + require.context('./generated/loaders', false, /^\.\/.*\.md$/) ); } }, @@ -67,7 +67,7 @@ module.exports = () => ({ title: 'Contribute', url: ({sectionName, fileName}) => `/${sectionName}/${fileName}/`, layout: () => require('./src/components/Page/Page.jsx').default, - content: () => require.context('./loaders/page-loader!./src/content/contribute', false, /^\.\/.*\.md$/), + content: () => require.context('./src/content/contribute', false, /^\.\/.*\.md$/), }, migrate: { title: 'Migrate', diff --git a/webpack.config.js b/webpack.config.js index 9937a950b477..66ae425bb992 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -10,13 +10,11 @@ module.exports = (env) => ({ resolve: { extensions: ['.js', '.jsx', '.scss'] }, - resolveLoader: { alias: { 'page-loader': path.resolve(cwd, 'loaders/page-loader') } }, - module: { rules: [ { @@ -87,7 +85,11 @@ module.exports = (env) => ({ { test: /\.html$/, use: 'raw-loader' - } + }, + { + test: /\.md$/, + use: 'page-loader', + }, ] }, From 4696820c93f389929e03f08254913d665af101c0 Mon Sep 17 00:00:00 2001 From: EugeneHlushko Date: Thu, 12 Apr 2018 11:57:08 +0300 Subject: [PATCH 6/6] fix(config) Remove redundant loader reference for migrating --- antwar.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/antwar.config.js b/antwar.config.js index ffd5eecbcc36..0a20a25d2940 100644 --- a/antwar.config.js +++ b/antwar.config.js @@ -73,7 +73,7 @@ module.exports = () => ({ title: 'Migrate', url: ({ sectionName, fileName }) => `/${sectionName}/${fileName}/`, layout: () => require('./src/components/Page/Page.jsx').default, - content: () => require.context('./loaders/page-loader!./src/content/migrate', false, /^\.\/.*\.md$/), + content: () => require.context('./src/content/migrate', false, /^\.\/.*\.md$/), }, vote: () => require('./src/components/Vote/Vote.jsx').default, organization: () => require('./src/components/Organization/Organization.jsx').default,