
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
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 1,125 weekly downloads. As such, esbuild-ifdef popularity was classified as 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
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.