File tree Expand file tree Collapse file tree 3 files changed +23
-3
lines changed
Expand file tree Collapse file tree 3 files changed +23
-3
lines changed Original file line number Diff line number Diff line change @@ -829,6 +829,8 @@ const configDefaults = Object.freeze({
829829 // entries
830830 /** @experimental */
831831 force : false ,
832+ /** @experimental */
833+ ignoreOutdatedRequests : false ,
832834 } ,
833835 ssr : ssrConfigDefaults ,
834836 environments : { } ,
Original file line number Diff line number Diff line change @@ -163,6 +163,14 @@ export interface DepOptimizationConfig {
163163 * @experimental
164164 */
165165 holdUntilCrawlEnd ?: boolean
166+ /**
167+ * When enabled, Vite will not throw an error when an outdated optimized
168+ * dependency is requested. Enabling this option may cause a single module
169+ * to have a multiple reference.
170+ * @default false
171+ * @experimental
172+ */
173+ ignoreOutdatedRequests ?: boolean
166174}
167175
168176export type DepOptimizationOptions = DepOptimizationConfig & {
Original file line number Diff line number Diff line change @@ -50,7 +50,11 @@ export function optimizedDepsPlugin(): Plugin {
5050 // Search in both the currently optimized and newly discovered deps
5151 const info = optimizedDepInfoFromFile ( metadata , file )
5252 if ( info ) {
53- if ( browserHash && info . browserHash !== browserHash ) {
53+ if (
54+ browserHash &&
55+ info . browserHash !== browserHash &&
56+ ! environment . config . optimizeDeps . ignoreOutdatedRequests
57+ ) {
5458 throwOutdatedRequest ( id )
5559 }
5660 try {
@@ -65,7 +69,10 @@ export function optimizedDepsPlugin(): Plugin {
6569 const newMetadata = depsOptimizer . metadata
6670 if ( metadata !== newMetadata ) {
6771 const currentInfo = optimizedDepInfoFromFile ( newMetadata ! , file )
68- if ( info . browserHash !== currentInfo ?. browserHash ) {
72+ if (
73+ info . browserHash !== currentInfo ?. browserHash &&
74+ ! environment . config . optimizeDeps . ignoreOutdatedRequests
75+ ) {
6976 throwOutdatedRequest ( id )
7077 }
7178 }
@@ -77,7 +84,10 @@ export function optimizedDepsPlugin(): Plugin {
7784 try {
7885 return await fsp . readFile ( file , 'utf-8' )
7986 } catch {
80- if ( browserHash ) {
87+ if (
88+ browserHash &&
89+ ! environment . config . optimizeDeps . ignoreOutdatedRequests
90+ ) {
8191 // Outdated optimized files loaded after a rerun
8292 throwOutdatedRequest ( id )
8393 }
You can’t perform that action at this time.
0 commit comments