
Security News
Risky Biz Podcast: Making Reachability Analysis Work in Real-World Codebases
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
esbuild-ifdef
Advanced tools
This esbuild plugin allows you to include/exclude code from your bundle conditionally on compile time using `/// #if` comments.
This esbuild plugin allows you to include/exclude code from your bundle conditionally on compile time using /// #if
comments.
# npm
npm install esbuild-ifdef
#yarn
yarn add esbuild-ifdef
Example:
/// #if NODE_ENV === "production"
console.log('production specific code');
/// #elif NODE_ENV === "debug"
console.log('debug specific code');
/// #else
/// #warning Unknown NODE_ENV
console.log('something else');
/// #endif
All directives accept any valid javascript expressions. If blocks can be nested.
/// #if expression
/// #elseif expression
, /// #elif expression
/// #else
/// #endif
/// #warning text
, /// #warn text
- shows up a warning at compile time/// #error text
, /// #err text
- throws an error at compile timeesbuild.build({
entryPoints: ['./index.js'],
bundle: true,
target: 'es6',
outfile: './out.js',
plugins: [
ifdefPlugin({
variables: {
VARIABLE_NAME: 'variable value'
},
// ... plugin config
})
]
});
Name | Type | Default | Description |
---|---|---|---|
verbose | boolean | false | Enabled logging of the included strings and expression results |
fillWithSpaces | boolean | false | Fill removed lines with spaces instead of commenting out |
requireTripleSlash | boolean | true | Require usage of /// before directives |
filePath | RegExp | /\.[jt]sx?/ | File matching RegExp. |
regExp | RegExp | - | Custom parsing RegExp. Overrides requireTripleSlash option. RegExp should have one group named token and one group named expression . Default RegExp for parsing triple slash directives is /\/\/\/[\s]*#(?<token>.*?)(?:[\s]+(?<expression>.*?))?[\s]*$/ |
variables | Record<string, any> | process.env | Variables for the expressions |
MIT
FAQs
This esbuild plugin allows you to include/exclude code from your bundle conditionally on compile time using `/// #if` comments.
The npm package esbuild-ifdef receives a total of 293 weekly downloads. As such, esbuild-ifdef popularity was classified as not popular.
We found that esbuild-ifdef demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.
Security News
CISA’s 2025 draft SBOM guidance adds new fields like hashes, licenses, and tool metadata to make software inventories more actionable.