diff --git a/.changeset/sharp-socks-dress.md b/.changeset/sharp-socks-dress.md new file mode 100644 index 000000000..555420480 --- /dev/null +++ b/.changeset/sharp-socks-dress.md @@ -0,0 +1,5 @@ +--- +"@callstack/repack": patch +--- + +Hide persistent cache behind `REPACK_EXPERIMENTAL_CACHE` flag diff --git a/packages/repack/src/commands/common/config/getCommandConfig.ts b/packages/repack/src/commands/common/config/getCommandConfig.ts index 26c9788d1..f080b7a30 100644 --- a/packages/repack/src/commands/common/config/getCommandConfig.ts +++ b/packages/repack/src/commands/common/config/getCommandConfig.ts @@ -1,14 +1,24 @@ +import { EXPERIMENTAL_CACHE_ENV_KEY } from '../../../env.js'; import { DEFAULT_HOSTNAME, DEFAULT_PORT } from '../../consts.js'; +function isExperimentalCacheEnabled() { + return ( + process.env[EXPERIMENTAL_CACHE_ENV_KEY] === 'true' || + process.env[EXPERIMENTAL_CACHE_ENV_KEY] === '1' + ); +} + function getCacheConfig(bundler: 'rspack' | 'webpack') { - if (bundler === 'rspack') { - return { - cache: true, - experiments: { cache: { type: 'persistent' } }, - }; + if (isExperimentalCacheEnabled()) { + if (bundler === 'rspack') { + return { + cache: true, + experiments: { cache: { type: 'persistent' } }, + }; + } + return { cache: { type: 'filesystem' } }; } - - return { cache: { type: 'filesystem' } }; + return {}; } function getStartCommandDefaults(bundler: 'rspack' | 'webpack') { diff --git a/packages/repack/src/env.ts b/packages/repack/src/env.ts index f34405f76..b9c04d3f0 100644 --- a/packages/repack/src/env.ts +++ b/packages/repack/src/env.ts @@ -4,3 +4,5 @@ export const WORKER_ENV_KEY = 'REPACK_WORKER'; export const BUNDLE_FILENAME_ENV_KEY = 'REPACK_BUNDLE_FILENAME'; export const SOURCEMAP_FILENAME_ENV_KEY = 'REPACK_SOURCEMAP_FILENAME'; export const ASSETS_DEST_ENV_KEY = 'REPACK_ASSETS_DEST'; + +export const EXPERIMENTAL_CACHE_ENV_KEY = 'REPACK_EXPERIMENTAL_CACHE';