diff --git a/packages/gatsby/src/utils/flags.ts b/packages/gatsby/src/utils/flags.ts index 8e038dd10bd7d..89fc214fea05d 100644 --- a/packages/gatsby/src/utils/flags.ts +++ b/packages/gatsby/src/utils/flags.ts @@ -78,8 +78,12 @@ const activeFlags: Array = [ command: `develop`, telemetryId: `FastDev`, experimental: false, - description: `Enable all experiments aimed at improving develop server start time`, - includedFlags: [`DEV_SSR`, `PRESERVE_FILE_DOWNLOAD_CACHE`], + description: `Enable all experiments aimed at improving develop server start time.`, + includedFlags: [ + `DEV_SSR`, + `PRESERVE_FILE_DOWNLOAD_CACHE`, + `DEV_WEBPACK_CACHE`, + ], testFitness: (): fitnessEnum => true, }, { @@ -142,6 +146,16 @@ const activeFlags: Array = [ umbrellaIssue: `https://gatsby.dev/cache-clearing-feedback`, testFitness: (): fitnessEnum => `LOCKED_IN`, }, + { + name: `DEV_WEBPACK_CACHE`, + env: `GATSBY_EXPERIMENTAL_DEV_WEBPACK_CACHE`, + command: `develop`, + telemetryId: `DevWebackCache`, + experimental: false, + description: `Enable webpack's persistent caching during development. Speeds up the start of the development server.`, + umbrellaIssue: `https://gatsby.dev/cache-clearing-feedback`, + testFitness: (): fitnessEnum => true, + }, { name: `PRESERVE_FILE_DOWNLOAD_CACHE`, env: `GATSBY_EXPERIMENTAL_PRESERVE_FILE_DOWNLOAD_CACHE`, diff --git a/packages/gatsby/src/utils/webpack.config.js b/packages/gatsby/src/utils/webpack.config.js index 876a04b0d8297..1611d4801424f 100644 --- a/packages/gatsby/src/utils/webpack.config.js +++ b/packages/gatsby/src/utils/webpack.config.js @@ -783,8 +783,10 @@ module.exports = async ( } if ( - process.env.GATSBY_EXPERIMENTAL_PRESERVE_WEBPACK_CACHE && - (stage === `build-javascript` || stage === `build-html`) + stage === `build-javascript` || + stage === `build-html` || + (process.env.GATSBY_EXPERIMENTAL_DEV_WEBPACK_CACHE && + (stage === `develop` || stage === `develop-html`)) ) { const cacheLocation = path.join( program.directory,