Registry / devops / vite-plugin-optimizer

vite-plugin-optimizer

JSON →
library1.4.3jsnpmunverified

A Vite plugin that provides manual pre-bundling of dependencies, allowing developers to define custom code or aliased modules to replace imported packages during Vite's dependency pre-bundling phase. Version 1.4.3 is the latest stable release. It supports Browser, Node.js, and Electron environments, and offers flexible entry configurations including string code, result descriptions with alias rules, and async functions. Key differentiators: fine-grained control over pre-bundling (unlike automatic pre-bundling), compatibility with CommonJS and ESM, and ability to replace modules with custom implementations (e.g., using global variables or local files).

npm install vite-plugin-optimizer
INSTALL
IMPORT
SIG · VITE-PLUGIN-OPTIMI
V
vite-plugin-optimizer
devopsjavascriptv1.4.3
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18223 runs
build_error
glibc
node 18223 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default
import optimizer from 'vite-plugin-optimizer'
const optimizer = require('vite-plugin-optimizer'); // CommonJS require is not supported
Package is ESM-only; default export is a function.
OptimizerOptions
import type { OptimizerOptions } from 'vite-plugin-optimizer'
import { OptimizerOptions } from 'vite-plugin-optimizer'; // TypeScript's isolatedModules may cause error; use type import
Type-only export, use `import type` for type declarations.
Entries
import type { Entries } from 'vite-plugin-optimizer'
const { Entries } = require('vite-plugin-optimizer'); // Cannot destructure types from CommonJS
TypeScript type; use `import type`.
ResultDescription
import type { ResultDescription } from 'vite-plugin-optimizer'
TypeScript type.

Shows basic usage: replacing a module (vue) with inline code, and aliasing multiple module IDs (fs and node:fs) to a CommonJS module.

import optimizer from 'vite-plugin-optimizer' export default { plugins: [ optimizer({ // Replace 'vue' imports with a global variable vue: `const vue = window.Vue; export { vue as default }`, // Alias 'fs' and 'node:fs' to a CommonJS require fs: () => ({ find: /^(node:)?fs$/, code: `const fs = require('fs'); export { fs as default }` }) }) ] }
Debug
Known issues
gotchaUsing a function with no return value (void) will skip alias registration; you must explicitly return an alias object.
fix
Return an object with `alias` property from the function, or return a string for code.
affects: >=1.0
gotchaModules defined in optimizer entries are automatically added to `optimizeDeps.exclude`. To pre-bundle them instead, add them to `optimizeDeps.include`.
fix
Add the module id to `optimizeDeps.include` if you want Vite to pre-bundle it anyway.
affects: >=1.0
breakingIn v1.x, the `dir` option default changed to `.vite-plugin-optimizer` (with a leading dot) to avoid conflicts with other plugins. Older versions used a different default.
fix
No action needed unless you relied on the old default path; specify `dir` explicitly if needed.
affects: >=1.0.0
gotchaThe `alias` property in `ResultDescription` is unpredictable if `replacement` is not specified; it defaults to the generated file path, which may point to a non-existent file if the code is empty or void function.
fix
Always provide a valid `code` or return a consistent `replacement` when using alias.
affects: >=1.0
Errors
Common errors & fixes
require is not defined in ES module scope (vite-plugin-optimizer default export is not a function)
Using CommonJS `require` to import the ESM-only package.
fix
Change to ES module import: `import optimizer from 'vite-plugin-optimizer'`.
Cannot find module 'vite-plugin-optimizer' or its corresponding type declarations.
Missing installation or TypeScript configuration.
fix
Run `npm i vite-plugin-optimizer -D` and ensure `tsconfig.json` includes `moduleResolution: 'node'` and `esModuleInterop: true`.
Plugin returned an object with 'alias' property that is not in resolve.alias format
The `alias` property in `ResultDescription` must have `find` and `replacement`; missing one.
fix
Ensure `ResultDescription.alias` includes both `find` (string/RegExp) and `replacement` (string).
Upgrade
Version history
1.4.3latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
12 hits · last 30 days
node
12
Resources
vite-plugin-optimizer — npm install vite-plugin-optimizer · libregistry