diff --git a/packages/docusaurus-plugin-content-blog/src/index.js b/packages/docusaurus-plugin-content-blog/src/index.js index 32d70b64e9..48321ad97c 100644 --- a/packages/docusaurus-plugin-content-blog/src/index.js +++ b/packages/docusaurus-plugin-content-blog/src/index.js @@ -359,7 +359,7 @@ module.exports = function(context, opts) { { loader: path.resolve(__dirname, './markdownLoader.js'), }, - ], + ].filter(Boolean), }, ], }, diff --git a/packages/docusaurus-plugin-content-docs-legacy/src/index.js b/packages/docusaurus-plugin-content-docs-legacy/src/index.js index f13731ba93..96cdea49b0 100644 --- a/packages/docusaurus-plugin-content-docs-legacy/src/index.js +++ b/packages/docusaurus-plugin-content-docs-legacy/src/index.js @@ -181,7 +181,7 @@ module.exports = function(context, opts) { sourceToPermalink: globalContents.sourceToPermalink, }, }, - ], + ].filter(Boolean), }, ], }, diff --git a/packages/docusaurus/package.json b/packages/docusaurus/package.json index 4f7596f856..17a18604e7 100644 --- a/packages/docusaurus/package.json +++ b/packages/docusaurus/package.json @@ -68,6 +68,7 @@ "semver": "^6.1.1", "shelljs": "^0.8.3", "static-site-generator-webpack-plugin": "^3.4.2", + "std-env": "^2.2.1", "style-loader": "^0.23.1", "terser-webpack-plugin": "^1.3.0", "wait-file": "^1.0.1", diff --git a/packages/docusaurus/src/webpack/base.ts b/packages/docusaurus/src/webpack/base.ts index 3c07dedcaf..649e6b8965 100644 --- a/packages/docusaurus/src/webpack/base.ts +++ b/packages/docusaurus/src/webpack/base.ts @@ -10,7 +10,7 @@ import MiniCssExtractPlugin from 'mini-css-extract-plugin'; import OptimizeCSSAssetsPlugin from 'optimize-css-assets-webpack-plugin'; import path from 'path'; import TerserPlugin from 'terser-webpack-plugin'; -import {Configuration} from 'webpack'; +import {Configuration, Loader} from 'webpack'; import {Props} from '../server/types'; import {getBabelLoader, getCacheLoader, getStyleLoaders} from './utils'; @@ -34,6 +34,7 @@ export function createBaseConfig( return { mode: isProd ? 'production' : 'development', output: { + pathinfo: false, path: outDir, filename: isProd ? '[name].[chunkhash].js' : '[name].js', chunkFilename: isProd ? '[name].[chunkhash].js' : '[name].js', @@ -43,7 +44,7 @@ export function createBaseConfig( performance: { hints: false, }, - devtool: !isProd && 'cheap-module-eval-source-map', + devtool: isProd ? false : 'cheap-module-eval-source-map', resolve: { symlinks: true, alias: { @@ -132,7 +133,7 @@ export function createBaseConfig( use: [ cacheLoader && getCacheLoader(isServer), getBabelLoader(isServer), - ].filter(Boolean), + ].filter(Boolean) as Loader[], }, { test: CSS_REGEX, diff --git a/packages/docusaurus/src/webpack/utils.ts b/packages/docusaurus/src/webpack/utils.ts index 6b00891d7c..dcecc232ee 100644 --- a/packages/docusaurus/src/webpack/utils.ts +++ b/packages/docusaurus/src/webpack/utils.ts @@ -6,6 +6,7 @@ */ import MiniCssExtractPlugin from 'mini-css-extract-plugin'; +import env from 'std-env'; import merge from 'webpack-merge'; import {Configuration, Loader} from 'webpack'; @@ -43,7 +44,14 @@ export function getStyleLoaders( return loaders; } -export function getCacheLoader(isServer: boolean, cacheOptions?: {}): Loader { +export function getCacheLoader( + isServer: boolean, + cacheOptions?: {}, +): Loader | null { + if (env.ci || env.test) { + return null; + } + return { loader: require.resolve('cache-loader'), options: Object.assign( diff --git a/yarn.lock b/yarn.lock index b0e2e6b66b..36f6f635c0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3712,7 +3712,7 @@ chrome-trace-event@^1.0.0: dependencies: tslib "^1.9.0" -ci-info@^1.5.0: +ci-info@^1.5.0, ci-info@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== @@ -13097,6 +13097,13 @@ std-env@^1.1.0, std-env@^1.3.1: dependencies: is-ci "^1.1.0" +std-env@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-2.2.1.tgz#2ffa0fdc9e2263e0004c1211966e960948a40f6b" + integrity sha512-IjYQUinA3lg5re/YMlwlfhqNRTzMZMqE+pezevdcTaHceqx8ngEi1alX9nNCk9Sc81fy1fLDeQoaCzeiW1yBOQ== + dependencies: + ci-info "^1.6.0" + stealthy-require@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"