babel-plugin-rename-assigned-properties
v1.0.0
Published
Rename and add aliases for object properties that are being assigned a value
Downloads
333
Maintainers
Readme
babel-plugin-rename-assigned-properties
Rename and add aliases for object properties that are being assigned a value
Installation
# With npm
$ npm install babel-plugin-rename-assigned-properties --save-dev
# With yarn
$ yarn add babel-plugin-rename-assigned-properties --dev
Tested to work with Node >= 0.10
Usage
Options
- renames: objects and their properties with new names. See below examples.
- process: inline | post (default is inline). inline: The transformation processing is going to be done during the babel's one-time traversal. post: Transformation is done as an extra post traversal phase. Babel traverses program only once and the default inline option will do the transformation during that cycle just like any normal plugin would do. However, you might use other plugins that inject new code that does not get traversed, so for those situations you can define post to get that new code also processed by this plugin. You can also specify both values to get both behaviours.
Example via .babelrc
Transform objectName.propertyName = value
to objectName.newName = value
{
"plugins": [
["rename-assigned-properties", {
"renames": {
"objectName": {
"propertyName": "newName"
}
}
}]
]
}
More examples via .babelrc
You can also add aliases for properties by providing array of new names. Those will be transformed to chained assignments. It is also possible to specify transformation to be done as a separate post step (see options above).
Transform rapper.coolio = gfunc
to rapper.ArtisLeonIveyJr = rapper.C = rapper.Coolio = gfunc
{
"plugins": [
["rename-assigned-properties", {
"renames": {
"rapper": {
"coolio": ["Coolio", "C", "ArtisLeonIveyJr"]
}
},
"process": "post"
}]
]
}
Via Node API
require("babel-core").transform("code", {
plugins: [
["rename-assigned-properties", {
"renames": {
"objectName": {
"propertyName": "newName"
}
}
}]
]
});