buildInfo(options?)
ts
buildInfo({
fileName: "meta/build-info.json",
commit: process.env.GITHUB_SHA,
data: ({ mode }) => ({ channel: mode }),
});| Option | Default | Description |
|---|---|---|
version | package.json version | Pinned version |
packageJson | "package.json" | Version source relative to Vite root |
fileName | "build-info.json" | Build asset path |
commit | Common CI environment variables | Commit identifier |
data | {} | Custom JSON fields or asynchronous provider |
dev | true | Expose 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
| Input | Type | Required / default | Description |
|---|---|---|---|
options | BuildInfoPluginOptions | Optional; defaults to {} | Version source, output, development endpoint, and virtual-module settings. |
Returns
| Value | Type | Description |
|---|---|---|
plugin | Plugin | Build-information plugin for Vite plugins. |
