Detalhes do pacote

babel-plugin-rename-assigned-properties

jamonkko185MIT1.0.0

Rename and add aliases for object properties that are being assigned a value

babel, plugin, rename, object

readme (leia-me)

Build Status Coverage Status npm version npm downloads Dependency Status devDependency Status JavaScript Style Guide Sponsored by Leonidas

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"
        }
      }
    }]
  ]
});

Sponsors

Leonidas

changelog (log de mudanças)

Version: 1.0.0

  • Migrate to yarn (add yarn.lock file)
  • Migrate to standard.js from custom eslint
  • Update dev deps
  • Releasing 1.0.0 with tested node 0.1X support. Tested older node version will be (likely) dropped from 2.0.0

Version: 0.0.7

  • Support for node 0.10 added by using babel-runtime plugin
  • Travis builds with node 0.12 and 0.10
  • dev deps updates

Version: 0.0.6

  • Added tests
  • includes -> indexOf to make ES5 compatible without polyfill
  • dev deps updates

Version: 0.0.5

  • Fixing package.json files to include src to make jsnext:main to work

Version: 0.0.4

  • Update main entry in package.json

Version: 0.0.3

  • Renamed the rename plugin: babel-rename-assigned-properties -> babel-plugin-rename-assigned-properties

Version: 0.0.2

  • Upgrade dev dependencies
  • Added changelog :)
  • Add missing package.json information

Version: 0.0.1

  • First version