Skip to content

Commit

Permalink
docs: optimizeDeps.needsInterop (#13323)
Browse files Browse the repository at this point in the history
Co-authored-by: Bjorn Lu <34116392+bluwy@users.noreply.github.com>
  • Loading branch information
patak-dev and bluwy authored May 24, 2023
1 parent 32c5a9a commit b34e79c
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 1 deletion.
7 changes: 7 additions & 0 deletions docs/config/dep-optimization-options.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,3 +65,10 @@ Optimizing dependencies in build mode is **experimental**. If enabled, it remove

If you want to try this build strategy, you can use `optimizeDeps.disabled: false`. `@rollup/plugin-commonjs` can be removed by passing `build.commonjsOptions: { include: [] }`.
:::

## optimizeDeps.needsInterop

- **Experimental**
- **Type:** `string[]`

Forces ESM interop when importing these dependencies. Vite is able to properly detect when a dependency needs interop, so this option isn't generally needed. However, different combinations of dependencies could cause some of them to be prebundled differently. Adding these packages to `needsInterop` can speed up cold start by avoiding full-page reloads. You'll receive a warning if this is the case for one of your dependencies, suggesting to add the package name to this array in your config.
2 changes: 1 addition & 1 deletion packages/vite/src/node/optimizer/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ export interface DepOptimizationConfig {
*/
exclude?: string[]
/**
* Force ESM interop when importing for these dependencies. Some legacy
* Forces ESM interop when importing these dependencies. Some legacy
* packages advertise themselves as ESM but use `require` internally
* @experimental
*/
Expand Down

0 comments on commit b34e79c

Please sign in to comment.