Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
@adopisoft/remove-if-env
Advanced tools
A typescript transform plugin that removes blocks of code base on Nodes.js' process.env
A typescript
transform plugin that removes blocks of code base on Nodes.js' process.env
.
Compatible with ts-patch(recommended) and ttypescript
With NPM:
npm i @adopisoft/remove-if-env --save-dev
OR with YARN:
yarn add @adopisoft/remove-if-env -D
./tsconfig.json
{
"compilerOptions": {
"plugins": [
{
"transform": "@adopisoft/remove-if-env",
"envVar": "removeIfEnv"
}
]
}
}
./sample-source.ts
// NOTE: This variable name 'removeIfEnv' must match the value of plugin option 'envVar'.
// Please also see the section about creating the './remove-if-env.ts' file below.
import removeIfEnv from './remove-if-env'
if (removeIfEnv.PROD) {
console.log(
'This code block executes in development but will be striped out \
when compiling with PROD=true tsc'
)
}
remove-if-env.ts
fileThe remove-if-env.ts
file is used for your local typescript completion only and to make sure the codes inside the if statement can execute locally. To do this, we have to create this file which contains placeholder values for the process.env.*
properties:
./remove-if-env.ts
export default {
PROD: true,
SOME_OTHER_ENV: true
}
envVar - Set the variable name of removeIfEnv
object to be used in your codes. If not set, default is removeIfEnv
.
Your code must use this variable name when importing remove-if-env.ts
file.
To strip off the if statement blocks during compilation, we must set the environment variables to one of the following values - 1
, yes
, or true
.
$ export PROD=1
$ npx tsc
For now, the import removeIfEnv from ./remove-if-env
import statement will not be stripped off in production
and will remain as an unused variable in the file output.
This can be fixed by using additional javascript preprocessors like babel, terser or gulp. But the long term solution for this would be to remove the import statement in the AST within the transform plugin itself.
This project is very much still a WIP altough this is enough for our internal tooling requirements. We will follow proper semantic versioning to avoid breaking changes for other consumers. PRs are always welcome if you want to improve this tool.
FAQs
A typescript transform plugin that removes blocks of code base on Nodes.js' process.env
We found that @adopisoft/remove-if-env 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
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.