Vite plugin enabling require() syntax in Vite projects by transforming CommonJS require calls to ESM imports. Current stable version 1.6.1, with frequent bug-fix releases. Key differentiator: specifically for Vite, unlike generic bundler plugins. It handles string literal and template literal require paths, generates hashed variable names to avoid collisions, and supports complex export patterns. Alternatives: @originjs/vite-plugin-commonjs or using esbuild's require polyfill.
npm install vite-plugin-require-supportVerified import paths — ran on the pinned version, not inferred.
Basic setup: add plugin to Vite config, then use require() in TypeScript/JavaScript modules to import Node built-ins and local files.
Use string literals for require() paths; avoid runtime-concatenated strings.
Use ES module syntax in your config: import requireSupport from 'vite-plugin-require-support';
Pass a regex literal: filters: /\.js$|\mjs$/ or new RegExp('.js$').Use 'filters' instead.
For complex CJS modules, consider alternative bundler setups or migrate to ESM.
Change your config file extension to .mjs or use dynamic import: const requireSupport = (await import('vite-plugin-require-support')).default;Ensure the plugin is added to vite.config and filters match your file extensions.
Replace with static require (string literal) or import().
No dependency data recorded yet.