{"id":14237,"library":"vite-plugin-build-metadata","title":"Vite Build Metadata Plugin","description":"This Vite plugin is designed to automatically inject build-time metadata into a `meta.json` file placed in your project's output directory after each build. Currently at version 1.2.0, it maintains an active but irregular release cadence, with recent updates focusing on bug fixes and module resolution enhancements. Its primary function is to provide essential deployment tracking information, including a unique `buildHash`, the `commitHash` from your VCS, and the `date` of the build. This simplicity and focused approach differentiate it by offering a straightforward mechanism for version verification and debugging in production environments, making it useful for tracking application deployments without complex configurations.","status":"active","version":"1.2.0","language":"javascript","source_language":"en","source_url":"https://github.com/daniil4udo/vite-plugin-build-metadata","tags":["javascript","vite-plugin","typescript"],"install":[{"cmd":"npm install vite-plugin-build-metadata","lang":"bash","label":"npm"},{"cmd":"yarn add vite-plugin-build-metadata","lang":"bash","label":"yarn"},{"cmd":"pnpm add vite-plugin-build-metadata","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required peer dependency for Vite plugin functionality.","package":"vite","optional":false}],"imports":[{"note":"The plugin is a default export, not a named one. Configuration typically happens in `vite.config.ts` using ESM syntax.","wrong":"import { VitePluginBuildMetadata } from 'vite-plugin-build-metadata';","symbol":"VitePluginBuildMetadata","correct":"import VitePluginBuildMetadata from 'vite-plugin-build-metadata';"},{"note":"While CommonJS might resolve in some setups due to the `exports` field, Vite configuration files are typically ESM, making the `import` statement the idiomatic and recommended approach.","wrong":"const VitePluginBuildMetadata = require('vite-plugin-build-metadata');","symbol":"VitePluginBuildMetadata","correct":"import VitePluginBuildMetadata from 'vite-plugin-build-metadata';"},{"note":"For TypeScript users, the plugin's configuration options type can be imported for enhanced type checking. It's a type-only import.","wrong":"import { Options } from 'vite-plugin-build-metadata';","symbol":"Options","correct":"import type { Options } from 'vite-plugin-build-metadata';"}],"quickstart":{"code":"import { defineConfig } from 'vite';\nimport VitePluginBuildMetadata from 'vite-plugin-build-metadata';\n\nexport default defineConfig({\n  plugins: [\n    VitePluginBuildMetadata({\n      filename: 'app-meta.json' // Customizes the output filename\n    }),\n  ],\n  build: {\n    // Ensure a production build to trigger the plugin\n    minify: true,\n    outDir: 'dist' // Default output directory\n  }\n});\n\n// Example of accessing the generated metadata in a frontend app (client-side context):\n// For a real application, you'd fetch this file after deployment.\n/*\nasync function fetchBuildMetadata() {\n  try {\n    const response = await fetch('/app-meta.json'); // Adjust path as needed\n    if (!response.ok) {\n      throw new Error(`HTTP error! status: ${response.status}`);\n    }\n    const metadata = await response.json();\n    console.log('Build Metadata:', metadata);\n    // Example: Display on UI or use for logging\n    document.getElementById('build-info').innerText = `Build: ${metadata.buildHash}, Commit: ${metadata.commitHash}, Date: ${metadata.date}`;\n  } catch (error) {\n    console.error('Failed to fetch build metadata:', error);\n  }\n}\n// Call this function when your application initializes\n// fetchBuildMetadata();\n*/","lang":"typescript","description":"This quickstart demonstrates how to configure `vite-plugin-build-metadata` in your `vite.config.ts` and optionally access the generated `app-meta.json` file in a client-side application."},"warnings":[{"fix":"Change `import { VitePluginBuildMetadata } from 'vite-plugin-build-metadata'` to `import VitePluginBuildMetadata from 'vite-plugin-build-metadata'` in your Vite configuration file.","message":"The `vite-plugin-build-metadata` plugin is exported as a default export, meaning it should be imported without curly braces. Incorrectly using named import syntax will result in a runtime error.","severity":"gotcha","affected_versions":"*"},{"fix":"Ensure your project's Vite version satisfies the `peerDependencies` range specified. Upgrade Vite if necessary, or consider using an older version of this plugin compatible with your Vite installation.","message":"This plugin declares a peer dependency on Vite versions `^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0`. Using it with an unsupported Vite version (e.g., Vite 2.x) may lead to unexpected behavior, build failures, or plugin non-operation.","severity":"breaking","affected_versions":"<3.0.0"},{"fix":"Upgrade `vite-plugin-build-metadata` to version `0.4.0` or newer to ensure proper module resolution across different environments and better compatibility with modern Node.js and bundler setups.","message":"Prior to version `0.4.0`, the package lacked an `exports` field in its `package.json`. This could lead to module resolution issues, especially in environments with strict ESM/CJS interoperability rules or specific bundler configurations.","severity":"gotcha","affected_versions":"<0.4.0"}],"env_vars":null,"search_vec":"'1.2.0':34 'activ':38 'applic':104 'approach':83 'automat':11 'bug':48 'build':2,14,30,78 'build-tim':13 'buildhash':67 'cadenc':42 'commithash':69 'complex':107 'configur':108 'current':31 'date':75 'debug':95 'deploy':61,105 'design':9 'differenti':84 'directori':27 'enhanc':53 'environ':98 'essenti':60 'file':20 'fix':49 'focus':46,82 'function':56 'includ':64 'inform':63 'inject':12 'irregular':40 'javascript':109 'maintain':36 'make':99 'mechan':90 'meta.json':19 'metadata':3,16 'modul':51 'offer':87 'output':26 'place':21 'plugin':4,7,112 'primari':55 'product':97 'project':24 'provid':59 'recent':44 'releas':41 'resolut':52 'simplic':80 'straightforward':89 'time':15 'track':62,103 'typescript':113 'uniqu':66 'updat':45 'use':101 'vcs':72 'verif':93 'version':33,92 'vite':1,6,111 'vite-plugin':110 'without':106","created_at":"2026-04-20T01:58:39.178633+00:00","updated_at":"2026-04-20T01:58:39.178633+00:00","problems":[{"fix":"Modify your import statement from `import { VitePluginBuildMetadata } from 'vite-plugin-build-metadata';` to `import VitePluginBuildMetadata from 'vite-plugin-build-metadata';`.","cause":"Attempting to use `VitePluginBuildMetadata` as a named export when it is a default export in the `vite.config.js` or `vite.config.ts` file.","error":"TypeError: (0 , vite_plugin_build_metadata__WEBPACK_IMPORTED_MODULE_0__.VitePluginBuildMetadata) is not a function"},{"fix":"Ensure you invoke the plugin function when adding it to the configuration: `plugins: [VitePluginBuildMetadata()]` instead of `plugins: [VitePluginBuildMetadata]`.","cause":"The plugin function `VitePluginBuildMetadata` was imported but not called as a function when added to the `plugins` array in `vite.config.js`.","error":"Error: [vite] The plugin 'vite-plugin-build-metadata' didn't return a plugin object. Did you forget to call it?"},{"fix":"First, ensure the package is installed: `pnpm i vite-plugin-build-metadata -D` (or `npm install --save-dev vite-plugin-build-metadata`, `yarn add -D vite-plugin-build-metadata`). If the issue persists, verify you are using version `0.4.0` or newer which includes a robust `exports` field.","cause":"The package is not installed as a development dependency, or there's a module resolution issue, potentially due to incorrect `exports` field handling in older versions or specific project setups.","error":"Cannot find module 'vite-plugin-build-metadata' or its corresponding type declarations."}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/daniil4udo/vite-plugin-build-metadata","docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/vite-plugin-build-metadata","openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-17","next_check":"2026-07-18","install_tag":null}}