Skip to content

buildInfo(options?)

ts
buildInfo({
	fileName: "meta/build-info.json",
	commit: process.env.GITHUB_SHA,
	data: ({ mode }) => ({ channel: mode }),
});
OptionDefaultDescription
versionpackage.json versionPinned version
packageJson"package.json"Version source relative to Vite root
fileName"build-info.json"Build asset path
commitCommon CI environment variablesCommit identifier
data{}Custom JSON fields or asynchronous provider
devtrueExpose a same-named JSON endpoint in development
virtualModuleId"virtual:fast-vite/build-info"Virtual module; false disables
now() => new Date()Time source for reproducible builds or tests

Standard version, builtAt, mode, and optional commit fields always override same-named custom data. The plugin does not rewrite package.json or public files.

Virtual-module type declaration example:

ts
declare module "virtual:fast-vite/build-info" {
	export const version: string;
	const information: {
		version: string;
		builtAt: string;
		mode: string;
		commit?: string;
	};
	export default information;
}

buildInfo Metadata

Generates build-information JSON plus a development endpoint and virtual module. Reads the version manifest without rewriting package.json during builds.

Signature

ts
export function buildInfo(options: BuildInfoPluginOptions = {}): Plugin;

Example

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

const plugin = buildInfo({ fileName: "meta/build-info.json", version: "1.2.3" });

export default { plugins: [plugin] };

Input

InputTypeRequired / defaultDescription
optionsBuildInfoPluginOptionsOptional; defaults to {}Version source, output, development endpoint, and virtual-module settings.

Returns

ValueTypeDescription
pluginPluginBuild-information plugin for Vite plugins.