{"id":25325,"library":"esbuild-plugin-conditional-build","title":"esbuild-plugin-conditional-build","description":"An esbuild plugin for conditional compilation using `//#if`, `//#else`, and `//#endif` directives in JavaScript/TypeScript files. Version 1.0.2, released as first stable. Requires esbuild and ESM setup (`type: module` in package.json and `.mjs` extensions). Differentiates from other conditional build tools by being lightweight and esbuild-native, using simple comment-based directives.","status":"active","version":"1.0.2","language":"javascript","source_language":"en","source_url":"https://github.com/AndrewPerson/Conditional-Build","tags":["javascript"],"install":[{"cmd":"npm install esbuild-plugin-conditional-build","lang":"bash","label":"npm"},{"cmd":"yarn add esbuild-plugin-conditional-build","lang":"bash","label":"yarn"},{"cmd":"pnpm add esbuild-plugin-conditional-build","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency; plugin is used as an esbuild plugin.","package":"esbuild","optional":false}],"imports":[{"note":"Package is ESM-only (type: module required). CommonJS require will fail.","wrong":"const conditionalBuild = require('esbuild-plugin-conditional-build')","symbol":"default","correct":"import conditionalBuild from 'esbuild-plugin-conditional-build'"},{"note":"Exported as default, not named.","wrong":"import { conditionalBuild } from 'esbuild-plugin-conditional-build'","symbol":"conditionalBuild","correct":"import conditionalBuild from 'esbuild-plugin-conditional-build'"},{"note":"Type exports may not exist; always check documentation.","wrong":"","symbol":"types","correct":"import type { ConditionalBuildOptions } from 'esbuild-plugin-conditional-build'"}],"quickstart":{"code":"// build.mjs\nimport conditionalBuild from 'esbuild-plugin-conditional-build';\nimport { build } from 'esbuild';\n\nbuild({\n  entryPoints: ['src/foo.js'],\n  outdir: 'dist',\n  plugins: [\n    conditionalBuild(['DEVELOPMENT'])\n  ]\n}).catch(() => process.exit(1));","lang":"javascript","description":"Sets up esbuild with conditional build plugin, defining 'DEVELOPMENT' constant and building entry point."},"warnings":[{"fix":"Add \"type\": \"module\" to package.json and rename files to .mjs.","message":"Requires ESM: 'type': 'module' in package.json and .mjs file extensions.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Add //#conditional as the first line of your source files.","message":"Files must start with '//#conditional' comment for directives to work.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Ensure all files with conditional comments are included in esbuild build.","message":"Directives only work in files that are processed by esbuild with this plugin. Not a general preprocessor.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Add \"type\": \"module\" to package.json and use .mjs extension for your build script.","cause":"Package is ESM-only but project is not configured for ESM.","error":"SyntaxError: Cannot use import statement outside a module"},{"fix":"Add //#conditional as first line of the file.","cause":"File does not start with //#conditional comment.","error":"Error: [esbuild] error: No matching files found: /path/to/file.js"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}