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
muslnode 18–223 runs
build_error
glibcnode 18–223 runs
build_error
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
BuildInfo
✓ import BuildInfo from 'vite-plugin-info'
✗ import { BuildInfo } from 'vite-plugin-info'
Default export; named import will result in undefined.
now (from ~build/time)
✓ import now from '~build/time'
✗ import { now } from '~build/time'
~build/time module exports a single default value (Date string), not a named export.
sha (from ~build/info)
✓ import { sha } from '~build/info'
✗ import sha from '~build/info'
~build/info exports named members (sha, CI, github, etc.), not a default export.
message (from ~build/meta)
✓ import { message } from '~build/meta'
✗ import message from '~build/meta'
~build/meta exports named members matching the keys in the meta option object.
name (from ~build/package)
✓ import { name } from '~build/package'
✗ import name from '~build/package'
~build/package exports named members (name, version, etc.) from package.json.
Shows setup in vite.config.ts and usage of the four virtual modules: ~build/time, ~build/info, ~build/meta, ~build/package.
// vite.config.ts
import { defineConfig } from 'vite'
import BuildInfo from 'vite-plugin-info'
export default defineConfig({
plugins: [
BuildInfo({
meta: {
author: 'Alice',
version: process.env.APP_VERSION ?? 'dev',
}
})
]
})
// In your app code:
import now from '~build/time'
import { sha, CI } from '~build/info'
import { author, version } from '~build/meta'
import { name } from '~build/package'
console.log(`Build started: ${now}`)
console.log(`Git commit: ${sha}`)
console.log(`CI: ${CI}`)
console.log(`App meta: ${author} ${version}`)
console.log(`Package: ${name}`)
Errors
Common errors & fixes
Cannot find module '~build/time' or its corresponding type declarations.
TypeScript doesn't know about the virtual module; missing type declaration.
fixAdd declare module '~build/time' { const now: string; export default now; } in a .d.ts file. BuildInfo is not a function / TypeError: BuildInfo is not a constructor
Used named import instead of default import.
fixChange import { BuildInfo } from 'vite-plugin-info' to import BuildInfo from 'vite-plugin-info'. Error: The plugin 'vite-plugin-info' doesn't seem to be a valid Vite plugin.
Plugin is improperly applied (e.g., array inside array, or not instantiated).
fixEnsure plugins array contains the instantiated plugin: BuildInfo(), not BuildInfo.
Audit
Dependencies
viteoptionalRequired peer dependency for plugin functionality