{"name":"babel-plugin-proto-to-assign","version":"1.0.4","description":"Babel plugin for turning __proto__ into a shallow property clone","repository":{"type":"git","url":"https://github.com/babel-plugins/babel-plugin-proto-to-assign"},"license":"MIT","main":"lib/index.js","devDependencies":{"babel":"^5.6.0"},"scripts":{"build":"babel-plugin build","push":"babel-plugin publish","test":"babel-plugin test"},"keywords":["babel-plugin"],"dependencies":{"lodash":"^3.9.3"},"readme":"# babel-plugin-proto-to-assign\n\nThe `proto-to-assign`plugin will transform all `__proto__` assignments to a method that will do a shallow copy of\nall properties.\n\nThis means that the following **will** work:\n\n```javascript\nvar foo = { a: 1 };\nvar bar = { b: 2 };\nbar.__proto__ = foo;\nbar.a; // 1\nbar.b; // 2\n```\n\nhowever the following **will not**:\n\n```javascript\nvar foo = { a: 1 };\nvar bar = { b: 2 };\nbar.__proto__ = foo;\nbar.a; // 1\nfoo.a = 2;\nbar.a; // 1 - should be 2 but remember that nothing is bound and it's a straight copy\n```\n\nThis is a case that you have to be aware of if you intend to use this plugin.\n\n## Example\n\n**In**\n\n```javascript\nbar.__proto__ = foo;\n```\n\n**Out**\n\n```javascript\nvar _defaults = ...;\n\n_defaults(bar, foo);\n```\n\n## Installation\n\n```sh\n$ npm install babel-plugin-proto-to-assign\n```\n\n## Usage\n\n### Via `.babelrc` (Recommended)\n\n**.babelrc**\n\n```json\n{\n  \"plugins\": [\"proto-to-assign\"]\n}\n```\n\n### Via CLI\n\n```sh\n$ babel --plugins proto-to-assign script.js\n```\n\n### Via Node API\n\n```javascript\nrequire(\"babel-core\").transform(\"code\", {\n  plugins: [\"proto-to-assign\"]\n});\n```\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/babel-plugins/babel-plugin-proto-to-assign/issues"},"homepage":"https://github.com/babel-plugins/babel-plugin-proto-to-assign","_id":"babel-plugin-proto-to-assign@1.0.4","_shasum":"c49e7afd02f577bc4da05ea2df002250cf7cd123","_from":"https://registry.npmjs.org/babel-plugin-proto-to-assign/-/babel-plugin-proto-to-assign-1.0.4.tgz","_resolved":"https://registry.npmjs.org/babel-plugin-proto-to-assign/-/babel-plugin-proto-to-assign-1.0.4.tgz"}