vite-plugin-virtual
TypeScript icon, indicating that this package has built-in type declarations

0.3.0 • Public • Published

vite-plugin-virtual

npm version monthly downloads license

Virtual modules with HMR plugin for Vite

Getting Started

Install Vite Plugin Virtual:

$ npm install -D vite-plugin-virtual

Add to your vite.config.js:

import virtual from 'vite-plugin-virtual'

export default {
  plugins: [
    virtual({
      'virtual:module': `export default { hello: 'world' }`,
      'virtual:config': { hello: 'world' }
    })
  ]
}

In your sources you can now import the virtual modules

import obj from 'virtual:config'

console.log(obj)

Updating virtual modules

You can update the virtual module during dev

import virtual, { updateVirtualModule } from 'vite-plugin-virtual'

const plugin = virtual({
  'virtual:module': `export default { hello: 'world' }`,
  'virtual:config': { hello: 'world' },
  'virtual:lazy': () => `Hello ${'computed'} world`,
})

updateVirtualModule(plugin, 'virtual:config', { hello: 'new message' })

Manual invalidation

You can invalidate the virtual module during dev in case the config changes

import virtual, { invalidateVirtualModule } from 'vite-plugin-virtual'

const modules = {
  'virtual:module': `export default { hello: 'world' }`,
  'virtual:config': { hello: 'world' }
}

const plugin = virtual(modules)

const server: ViteDevServer

modules['virtual:config'] = { hello: 'new message' }
invalidateVirtualModule(server, 'virtual:config')

Credits

License

MIT License © 2021 patak-js

Readme

Keywords

none

Package Sidebar

Install

npm i vite-plugin-virtual

Weekly Downloads

8,798

Version

0.3.0

License

MIT

Unpacked Size

11.7 kB

Total Files

7

Last publish

Collaborators

  • patak