{"id":18187,"library":"build-version-tracker","title":"Build Version Tracker","description":"A universal build tool plugin for automatic version tracking and build automation, supporting Webpack (3.0+) and Vite. Current stable version: 0.0.4. Release cadence: initial release, infrequent updates. Key differentiators: supports both Webpack and Vite, generates version files and ZIP archives, fully configurable via options (no environment variables), offers custom version formatting functions. Competes with simpler version injection plugins but provides more comprehensive build metadata collection.","status":"active","version":"0.0.4","language":"javascript","source_language":"en","source_url":"https://github.com/mingyangya/build-version-tracker","tags":["javascript","build","version","tracker","automation","webpack","vite","plugin"],"install":[{"cmd":"npm install build-version-tracker","lang":"bash","label":"npm"},{"cmd":"yarn add build-version-tracker","lang":"bash","label":"yarn"},{"cmd":"pnpm add build-version-tracker","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required peer dependency for ZIP archiving functionality in both Webpack and Vite plugins.","package":"adm-zip","optional":false},{"reason":"Required peer dependency for Webpack plugin variant.","package":"webpack","optional":true}],"imports":[{"note":"ESM default import for Webpack plugin.","wrong":"const BuildVersionTracker = require('build-version-tracker')","symbol":"BuildVersionTracker","correct":"import BuildVersionTracker from 'build-version-tracker'"},{"note":"For Vite plugin, must import from 'build-version-tracker/vite' subpath.","wrong":"import viteVersionPlugin from 'build-version-tracker'","symbol":"viteVersionPlugin","correct":"import viteVersionPlugin from 'build-version-tracker/vite'"},{"note":"CommonJS require works directly; no .default needed.","wrong":"const BuildVersionTracker = require('build-version-tracker').default","symbol":"require for Webpack (CommonJS)","correct":"const BuildVersionTracker = require('build-version-tracker')"},{"note":"For Vite plugin in CJS, use require with subpath '/vite'.","wrong":"const viteVersionPlugin = require('build-version-tracker')","symbol":"require for Vite (CommonJS)","correct":"const viteVersionPlugin = require('build-version-tracker/vite')"}],"quickstart":{"code":"// Webpack plugin in ESM\nimport BuildVersionTracker from 'build-version-tracker';\n\nexport default {\n  // other webpack config\n  plugins: [\n    new BuildVersionTracker({\n      distPath: 'dist',\n      isBuild: true,\n      htmlName: 'index.html',\n      formatVersion: (info) => `Version: ${info.time}, Branch: ${info.currentBranch}, User: ${info.userName}`,\n      formatTextVersion: (info) => `Build: ${info.time}, Branch: ${info.currentBranch}, By: ${info.userName}`\n    })\n  ]\n};\n\n// Vite plugin in ESM\nimport viteVersionPlugin from 'build-version-tracker/vite';\n\nexport default {\n  plugins: [\n    viteVersionPlugin({\n      distPath: 'dist',\n      isBuild: true,\n      htmlName: 'index.html'\n    })\n  ]\n};","lang":"javascript","description":"Demonstrates both Webpack and Vite plugin usage with ESM imports and custom version formatting."},"warnings":[{"fix":"Use import viteVersionPlugin from 'build-version-tracker/vite' for Vite, not from 'build-version-tracker'.","message":"Vite plugin import must use the '/vite' subpath; default import is only for Webpack plugin.","severity":"gotcha","affected_versions":">=0.0.1"},{"fix":"Install adm-zip: npm install adm-zip","message":"The 'adm-zip' peer dependency is required even if not using ZIP functionality; plugin might throw if missing.","severity":"gotcha","affected_versions":">=0.0.1"},{"fix":"Check changelog; consider always setting isBuild: true for builds.","message":"The 'isBuild' option may be deprecated in future in favor of automatic detection.","severity":"deprecated","affected_versions":">=0.0.4"},{"fix":"Use Node.js >=14 or transpile with Babel.","message":"Requiring CommonJS module in Node.js <14 might fail due to ES module syntax.","severity":"gotcha","affected_versions":">=0.0.1"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Install adm-zip: npm install adm-zip","cause":"Missing peer dependency adm-zip.","error":"Cannot find module 'adm-zip'"},{"fix":"Install adm-zip and ensure it is in node_modules.","cause":"Vite or Webpack plugin missing required adm-zip.","error":"Error: You forgot to add 'adm-zip' plugin..."},{"fix":"Use 'import BuildVersionTracker from 'build-version-tracker'' or 'const BuildVersionTracker = require('build-version-tracker')'.","cause":"Importing Webpack plugin from default export incorrectly or using wrong import path.","error":"TypeError: BuildVersionTracker is not a constructor"},{"fix":"Use correct import: 'import viteVersionPlugin from 'build-version-tracker/vite'' and ensure package installed.","cause":"Trying to import Vite plugin without the /vite subpath or package missing.","error":"Cannot find module 'build-version-tracker/vite'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}