vite 7.2.7 → 7.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8918,7 +8918,8 @@ function optimizedDepsPlugin() {
8918
8918
  if (this.environment.depsOptimizer?.isOptimizedDepFile(id)) return id;
8919
8919
  },
8920
8920
  async load(id) {
8921
- const depsOptimizer = this.environment.depsOptimizer;
8921
+ const environment = this.environment;
8922
+ const depsOptimizer = environment.depsOptimizer;
8922
8923
  if (depsOptimizer?.isOptimizedDepFile(id)) {
8923
8924
  const metadata = depsOptimizer.metadata;
8924
8925
  const file = cleanUrl(id);
@@ -8926,7 +8927,7 @@ function optimizedDepsPlugin() {
8926
8927
  const browserHash = versionMatch ? versionMatch[1].split("=")[1] : void 0;
8927
8928
  const info = optimizedDepInfoFromFile(metadata, file);
8928
8929
  if (info) {
8929
- if (browserHash && info.browserHash !== browserHash) throwOutdatedRequest(id);
8930
+ if (browserHash && info.browserHash !== browserHash && !environment.config.optimizeDeps.ignoreOutdatedRequests) throwOutdatedRequest(id);
8930
8931
  try {
8931
8932
  await info.processing;
8932
8933
  } catch {
@@ -8935,14 +8936,14 @@ function optimizedDepsPlugin() {
8935
8936
  const newMetadata = depsOptimizer.metadata;
8936
8937
  if (metadata !== newMetadata) {
8937
8938
  const currentInfo = optimizedDepInfoFromFile(newMetadata, file);
8938
- if (info.browserHash !== currentInfo?.browserHash) throwOutdatedRequest(id);
8939
+ if (info.browserHash !== currentInfo?.browserHash && !environment.config.optimizeDeps.ignoreOutdatedRequests) throwOutdatedRequest(id);
8939
8940
  }
8940
8941
  }
8941
8942
  debug$15?.(`load ${import_picocolors$29.default.cyan(file)}`);
8942
8943
  try {
8943
8944
  return await fsp.readFile(file, "utf-8");
8944
8945
  } catch {
8945
- if (browserHash) throwOutdatedRequest(id);
8946
+ if (browserHash && !environment.config.optimizeDeps.ignoreOutdatedRequests) throwOutdatedRequest(id);
8946
8947
  throwFileNotFoundInOptimizedDep(id);
8947
8948
  }
8948
8949
  }
@@ -35284,7 +35285,8 @@ const configDefaults = Object.freeze({
35284
35285
  extensions: [],
35285
35286
  disabled: "build",
35286
35287
  holdUntilCrawlEnd: true,
35287
- force: false
35288
+ force: false,
35289
+ ignoreOutdatedRequests: false
35288
35290
  },
35289
35291
  ssr: ssrConfigDefaults,
35290
35292
  environments: {},
@@ -847,6 +847,14 @@ interface DepOptimizationConfig {
847
847
  * @experimental
848
848
  */
849
849
  holdUntilCrawlEnd?: boolean;
850
+ /**
851
+ * When enabled, Vite will not throw an error when an outdated optimized
852
+ * dependency is requested. Enabling this option may cause a single module
853
+ * to have a multiple reference.
854
+ * @default false
855
+ * @experimental
856
+ */
857
+ ignoreOutdatedRequests?: boolean;
850
858
  }
851
859
  type DepOptimizationOptions = DepOptimizationConfig & {
852
860
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vite",
3
- "version": "7.2.7",
3
+ "version": "7.3.1",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "author": "Evan You",
@@ -68,7 +68,7 @@
68
68
  "funding": "https://github.com/vitejs/vite?sponsor=1",
69
69
  "//": "READ CONTRIBUTING.md to understand what to put under deps vs. devDeps!",
70
70
  "dependencies": {
71
- "esbuild": "^0.25.0",
71
+ "esbuild": "^0.27.0",
72
72
  "fdir": "^6.5.0",
73
73
  "picomatch": "^4.0.3",
74
74
  "postcss": "^8.5.6",