Skip to content

virtualModules(options)

ts
virtualModules({
	modules: {
		"virtual:feature-flags": "export default { beta: false };",
		"virtual:build-mode": ({ mode }) => `export default ${JSON.stringify(mode)};`,
	},
});

Module IDs must begin virtual: and content must be valid ESM. Consumers supply declare module types; the plugin does not infer them.

virtualModules Virtual

Declares virtual modules through an object.

Generated content must be valid ESM. Consumers should provide a matching declare module declaration for each public ID; see the examples.

Signature

ts
export function virtualModules(options: VirtualModulesPluginOptions): Plugin;

Example

ts
import { virtualModules } from "fast-vite-plugins";

const plugin = virtualModules({ modules: { "virtual:app-config": 'export default { name: "Fast" }' } });

export default { plugins: [plugin] };

Input

InputTypeRequired / defaultDescription
optionsVirtualModulesPluginOptionsRequiredMapping of public virtual-module IDs to static or dynamic source.

Returns

ValueTypeDescription
pluginPluginVirtual-module plugin for Vite plugins.