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/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..0a20a25d2940 100644 --- a/antwar.config.js +++ b/antwar.config.js @@ -14,85 +14,69 @@ 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, - 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('./src/content/concepts', false, /^\.\/.*\.md$/) + }, + configuration: { + title: 'Configuration', + url: ({sectionName, fileName}) => `/${sectionName}/${fileName}/`, + layout: () => require('./src/components/Page/Page.jsx').default, + 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('./src/content/api', false, /^\.\/.*\.md$/) + }, + guides: { + title: 'Guides', + url: ({sectionName, fileName}) => `/${sectionName}/${fileName}/`, + layout: () => require('./src/components/Page/Page.jsx').default, + content: () => require.context('./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('./src/content/plugins', false, /^\.\/.*\.md$/), + require.context('./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('./src/content/loaders', false, /^\.\/.*\.md$/), + require.context('./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('./src/content/contribute', false, /^\.\/.*\.md$/), + }, + migrate: { + title: 'Migrate', + url: ({ sectionName, fileName }) => `/${sectionName}/${fileName}/`, + layout: () => require('./src/components/Page/Page.jsx').default, + content: () => require.context('./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/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 * diff --git a/webpack.config.js b/webpack.config.js index 0e7dfbaccd53..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', + }, ] }, @@ -101,12 +103,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 +124,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/' }, }), ]