Registry / http-networking / vite-plugin-virtual

vite-plugin-virtual

JSON →
library0.5.0jsnpmunverified

Vite plugin providing virtual modules with HMR invalidation support. Version 0.5.0, actively maintained, works with Vite 2–7. Unlike @rollup/plugin-virtual, this plugin integrates with Vite's Hot Module Replacement and allows updating or invalidating virtual module content at runtime during development. Supports ESM and TypeScript via ambient type declarations.

npm install vite-plugin-virtual
INSTALL
IMPORT
SIG · VITE-PLUGIN-VIRTUA
V
vite-plugin-virtual
http-networkingjavascriptv0.5.0
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 virtual from 'vite-plugin-virtual'
const virtual = require('vite-plugin-virtual')
ESM-only package; cannot be used with require() in Node. Use import statement.
updateVirtualModule
import { updateVirtualModule } from 'vite-plugin-virtual'
import updateVirtualModule from 'vite-plugin-virtual'
Named export, not default. Require destructuring.
invalidateVirtualModule
import { invalidateVirtualModule } from 'vite-plugin-virtual'
import invalidateVirtualModule from 'vite-plugin-virtual'
Named export, not default. Require destructuring.

Creates virtual modules 'virtual:module' and 'virtual:config' and registers them as a Vite plugin.

import virtual from 'vite-plugin-virtual' export default { plugins: [ virtual({ 'virtual:module': `export default { hello: 'world' }`, 'virtual:config': { hello: 'world' } }) ] } // In your source files: // import obj from 'virtual:config' // console.log(obj)
Debug
Known issues
gotchaThe plugin uses ESM-only distribution. Attempting to require() it will fail with ERR_REQUIRE_ESM.
fix
Use import syntax instead of require().
affects: >=0.0.0
gotchaupdateVirtualModule and invalidateVirtualModule are exported as named exports only; there is no default export for them.
fix
Use destructured import: import { updateVirtualModule } from 'vite-plugin-virtual'.
affects: >=0.0.0
gotchaVirtual module names must be unique across the plugin instance and not conflict with other vite-resolved modules.
fix
Prefix virtual modules with 'virtual:' to avoid collisions.
affects: >=0.0.0
Errors
Common errors & fixes
SyntaxError: Cannot use import statement outside a module
Using ESM import in a CommonJS context without configuring type:module in package.json or using .mjs extension.
fix
Set package.json type field to "module", rename file to .mjs, or use a bundler that supports ES modules.
TypeError: virtual is not a function
Called the default import incorrectly (e.g., used require() or imported a named export as default).
fix
Ensure you are using import virtual from 'vite-plugin-virtual' (default import).
Cannot find module 'vite-plugin-virtual'
Package not installed or not in node_modules.
fix
Run 'npm install -D vite-plugin-virtual' in your project directory.
Upgrade
Version history
0.5.0latest on npm
Audit
Dependencies
viterequiredpeer dependency – the plugin requires Vite's dev server and plugin API
Agent activity
16 hits · last 30 days
node
12
OpenAI (training)
1
Resources
vite-plugin-virtual — npm install vite-plugin-virtual · libregistry