babel-plugin-inline-replace-variables
It replace an Identifier to a literial (LVal), if you want to transfrom a identifier to another identifier, you can see: babel-plugin-replace-identifiers
Usage
npm i babel-plugin-inline-replace-variables --save-dev
configure in .babelrc(should transfer to json format) or any babel queries:
plugins: 'inline-replace-variables' "__SERVER__": true "__VERSION__": "v1.2.3"
EFFECT:
if __SERVER__ console else
will be transformed to
if (true) {
console.log('this is server, version: %s', "v1.2.3")
} else {
alert('this is browser')
}
Support Replace With Expression:
plugins: 'inline-replace-variables' "__TYPE__": type: 'node' replacement: 'process.env.NODE_ENV'
EFFECT
if __TYPE__ // code
to
if processenvNODE_ENV // code
Also support babel AST Node
const t = ;const nodeEnv = t; plugins: 'inline-replace-variables' "__TYPE__": nodeEnv
EFFECT
The effect is the same above.
tip:
Version 1.0.1 fix the misspelling of 'varibles' to 'variables'
so babel-plugin-inline-replace-varibles
is deprecated, you should instead it of babel-plugin-inline-replace-variables
Authors: https://github.com/wssgcg1213, https://github.com/rtsao