{"id":25420,"library":"esbuild-plugin-vitest-cleaner","title":"esbuild-plugin-vitest-cleaner","description":"An esbuild plugin that removes import.meta.vitest references and associated code blocks before compilation, preventing test code from leaking into production builds. Current stable version is 0.5.1, with no fixed release cadence. Key differentiator: lightweight alternative to esbuild's built-in drop feature or conditional compilation, with support for file filtering via regex. Ships TypeScript type definitions. Requires Node >= 18.0.0. Known issue: JSDoc comments around import.meta.vitest are not stripped.","status":"active","version":"0.5.1","language":"javascript","source_language":"en","source_url":"ssh://git@github.com/verikono/esbuild-plugin-vitest-cleaner","tags":["javascript","esbuild","plugin","clean","remove","import.meta.vitest","typescript"],"install":[{"cmd":"npm install esbuild-plugin-vitest-cleaner","lang":"bash","label":"npm"},{"cmd":"yarn add esbuild-plugin-vitest-cleaner","lang":"bash","label":"yarn"},{"cmd":"pnpm add esbuild-plugin-vitest-cleaner","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency; plugin hooks into esbuild's build process","package":"esbuild","optional":false}],"imports":[{"note":"Package exports ESM only; CommonJS require() will fail.","wrong":"const vitestCleaner = require('esbuild-plugin-vitest-cleaner')","symbol":"vitestCleaner","correct":"import { vitestCleaner } from 'esbuild-plugin-vitest-cleaner'"},{"note":"Named export, not default export.","wrong":"import vitestCleaner from 'esbuild-plugin-vitest-cleaner'","symbol":"vitestCleaner","correct":"import { vitestCleaner } from 'esbuild-plugin-vitest-cleaner'"},{"note":"Type import only for TypeScript users; not a runtime export.","wrong":"","symbol":"FilterOptions","correct":"import type { FilterOptions } from 'esbuild-plugin-vitest-cleaner'"}],"quickstart":{"code":"import { build } from 'esbuild';\nimport { vitestCleaner } from 'esbuild-plugin-vitest-cleaner';\n\nawait build({\n  entryPoints: ['src/index.ts'],\n  outfile: 'dist/index.js',\n  bundle: true,\n  plugins: [vitestCleaner()]\n});","lang":"typescript","description":"Demonstrates basic usage with esbuild build, stripping import.meta.vitest from the output."},"warnings":[{"fix":"Manually review output or await a future version with AST-based parsing.","message":"JSDoc comments that annotate import.meta.vitest evaluations are not removed; leftover comments may contain test references.","severity":"gotcha","affected_versions":">=0.1.0 <=0.5.1"},{"fix":"Ensure test blocks are simple and straightforward; consider using esbuild's drop feature if available.","message":"Plugin uses regex-based removal; complex code blocks with nested import.meta.vitest may not be fully stripped.","severity":"gotcha","affected_versions":">=0.1.0 <=0.5.1"},{"fix":"Use import syntax or configure project for ESM.","message":"Only supports ESM; Node CJS require() will throw a module import error.","severity":"breaking","affected_versions":">=0.1.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use import { vitestCleaner } from 'esbuild-plugin-vitest-cleaner' instead of require().","cause":"Package is ESM-only, but imported via CommonJS require()","error":"ERR_REQUIRE_ESM: require() of ES Module"},{"fix":"Use import { vitestCleaner } from 'esbuild-plugin-vitest-cleaner'.","cause":"Using default import instead of named import","error":"'vitestCleaner' is not a function"},{"fix":"Ensure the import is correct: import { vitestCleaner } from 'esbuild-plugin-vitest-cleaner'.","cause":"Missing or incorrect import in TypeScript","error":"Cannot find name 'vitestCleaner'. Did you mean 'vitestCleaner'?"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}