/** * Console banner for displaying app version in browser console * * Uses global constants injected by versionPlugin: * - __APP_NAME__ * - __APP_VERSION__ * - __BUILD_TIME__ * - __GIT_COMMIT__ * * @example * ```ts * // In your app's entry point (main.tsx or App.tsx) * import { logVersionBanner } from '@lilith/vite-version-plugin/console'; * * logVersionBanner(); * ``` */ declare const __APP_NAME__: string; declare const __APP_VERSION__: string; declare const __BUILD_TIME__: string; declare const __GIT_COMMIT__: string; /** * Logs a styled version banner to the browser console * * @param options Optional customization */ export function logVersionBanner(options?: { primaryColor?: string; secondaryColor?: string; }): void { const { primaryColor = '#ff00ff', secondaryColor = '#00ffff', } = options || {}; const appName = typeof __APP_NAME__ !== 'undefined' ? __APP_NAME__ : 'App'; const version = typeof __APP_VERSION__ !== 'undefined' ? __APP_VERSION__ : '0.0.0'; const buildTime = typeof __BUILD_TIME__ !== 'undefined' ? __BUILD_TIME__ : 'unknown'; const gitCommit = typeof __GIT_COMMIT__ !== 'undefined' ? __GIT_COMMIT__ : 'unknown'; // Format build time to be more readable const formattedTime = buildTime !== 'unknown' ? new Date(buildTime).toLocaleString() : 'unknown'; console.log( `%c ${appName} v${version} %c ${gitCommit} %c Built: ${formattedTime} `, `background: ${primaryColor}; color: #000; font-weight: bold; padding: 4px 8px;`, `background: #333; color: #fff; padding: 4px 8px;`, `background: ${secondaryColor}; color: #000; padding: 4px 8px;` ); } /** * Returns version info as an object (useful for debugging or display in UI) */ export function getVersionInfo(): { appName: string; version: string; buildTime: string; gitCommit: string; } { return { appName: typeof __APP_NAME__ !== 'undefined' ? __APP_NAME__ : 'App', version: typeof __APP_VERSION__ !== 'undefined' ? __APP_VERSION__ : '0.0.0', buildTime: typeof __BUILD_TIME__ !== 'undefined' ? __BUILD_TIME__ : 'unknown', gitCommit: typeof __GIT_COMMIT__ !== 'undefined' ? __GIT_COMMIT__ : 'unknown', }; } export default logVersionBanner;