Rename and add aliases for object properties that are being assigned a value
# 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
- 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.
Transform objectName.propertyName = value
to objectName.newName = value
{
"plugins": [
["rename-assigned-properties", {
"renames": {
"objectName": {
"propertyName": "newName"
}
}
}]
]
}
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"
}]
]
}
require("babel-core").transform("code", {
plugins: [
["rename-assigned-properties", {
"renames": {
"objectName": {
"propertyName": "newName"
}
}
}]
]
});