{"_id":"esotope","_rev":"8-bdfed25c415729c470c181035c040037","name":"esotope","description":"ECMAScript code generator","dist-tags":{"latest":"1.4.5"},"versions":{"1.4.2":{"name":"esotope","description":"ECMAScript code generator","homepage":"http://github.com/inikulin/esotope","main":"esotope.js","version":"1.4.2","engines":{"node":">=0.10.0"},"maintainers":[{"name":"inikulin","email":"ifaaan@gmail.com"}],"repository":{"type":"git","url":"http://github.com/inikulin/esotope.git"},"devDependencies":{"esprima":"^1.2.2","esprima-moz":"*","chai":"^1.9.1","gulp-mocha":"^1.0.0","gulp":"^3.8.6"},"licenses":[{"type":"BSD","url":"http://github.com/inikulin/esotope/raw/master/LICENSE"}],"scripts":{"test":"gulp test"},"gitHead":"18ff2e32e5fe0d87b220f7e51456dbcf94c3ee97","bugs":{"url":"https://github.com/inikulin/esotope/issues"},"_id":"esotope@1.4.2","_shasum":"030857e02d9fc6f98bba73e8b23e6e97af4130c9","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"inikulin","email":"ifaaan@gmail.com"},"dist":{"shasum":"030857e02d9fc6f98bba73e8b23e6e97af4130c9","tarball":"https://registry.npmjs.org/esotope/-/esotope-1.4.2.tgz","integrity":"sha512-/1AjDz8x9x9kVxxz9V1e4HjQinTqmDbcSO1zDusTg/t0/uo6kS++oxDmI9hUxpRUStl7wECRfBdrffvflHYUtQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFpad/ne3XwoPiWOmyyI9bgnhBcl+IgWV58Irby+WCHwIgWvQ2vp9fWkmBSJBKddVCLwUsFCJNSue2Db596LJdCFM="}]}},"1.4.4":{"name":"esotope","description":"ECMAScript code generator","homepage":"http://github.com/inikulin/esotope","main":"esotope.js","version":"1.4.4","engines":{"node":">=0.10.0"},"maintainers":[{"name":"inikulin","email":"ifaaan@gmail.com"}],"repository":{"type":"git","url":"http://github.com/inikulin/esotope.git"},"devDependencies":{"esprima":"^1.2.2","esprima-moz":"*","chai":"^1.9.1","gulp-mocha":"^1.0.0","gulp":"^3.8.6"},"licenses":[{"type":"BSD","url":"http://github.com/inikulin/esotope/raw/master/LICENSE"}],"scripts":{"test":"gulp test"},"gitHead":"c33c6faf4298c0d0a6da1b02e66cf39f9d21e8fc","bugs":{"url":"https://github.com/inikulin/esotope/issues"},"_id":"esotope@1.4.4","_shasum":"83031c9db0850d37ef63c45c3bc18eba2e642fae","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"inikulin","email":"ifaaan@gmail.com"},"dist":{"shasum":"83031c9db0850d37ef63c45c3bc18eba2e642fae","tarball":"https://registry.npmjs.org/esotope/-/esotope-1.4.4.tgz","integrity":"sha512-Q7MCo5iOcJ0pF5XEFUrGETyb2xPB4RnxgOmOIDjk9NbUJTln2BnGSVgvjJ0MwKuUbE0SAjVPo+mGc/MpRjmhuA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEO4QU3ufzTYTeslt1gHN5/wsdXe3+Eg7AWnCvSTGNRpAiEAhg0IMgUvfFpdp3/M/Hao8AWIQRnWMJPGJpA2th71oFE="}]}},"1.4.5":{"name":"esotope","description":"ECMAScript code generator","homepage":"http://github.com/inikulin/esotope","main":"esotope.js","version":"1.4.5","engines":{"node":">=0.10.0"},"maintainers":[{"name":"inikulin","email":"ifaaan@gmail.com"}],"repository":{"type":"git","url":"http://github.com/inikulin/esotope.git"},"devDependencies":{"esprima":"^1.2.2","esprima-moz":"*","chai":"^1.9.1","gulp-mocha":"^1.0.0","gulp":"^3.8.6"},"licenses":[{"type":"BSD","url":"http://github.com/inikulin/esotope/raw/master/LICENSE"}],"scripts":{"test":"gulp test"},"gitHead":"d30f15a81743ed43237997ca0892b3edf2ddb339","bugs":{"url":"https://github.com/inikulin/esotope/issues"},"_id":"esotope@1.4.5","_shasum":"a18d53b75cf0955599e6830a766166925dee0f69","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"inikulin","email":"ifaaan@gmail.com"},"dist":{"shasum":"a18d53b75cf0955599e6830a766166925dee0f69","tarball":"https://registry.npmjs.org/esotope/-/esotope-1.4.5.tgz","integrity":"sha512-gqEQAxs3w+Sn9v3G3U47Hz4zC7MrumvAW7fKzHFX96z8UMNY0NEzYJqQrECqs3AZNBBMH1jmNfC4wzHLFnAWmw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCk7RTeXmnesTKroCidICN9TYWHYzN8lA1IWS70+nTUMQIgOc0IKOrwZU8cADDygmQ6+gSaKowvQtZKy3XE4n3FHE8="}]}}},"readme":"#esotope\r\n[![Build Status](https://api.travis-ci.org/inikulin/esotope.svg)](https://travis-ci.org/inikulin/esotope)\r\n\r\n*ECMAScript code generator on steroids*\r\n\r\nThis project has been started as a fork of [escodegen](https://github.com/Constellation/escodegen) with intention to\r\nspeed up the original code. *escodegen* is a great project, however it was a constant bottleneck in our project, where we are doing\r\na real-time JavaScript code instrumentation. When nearly 70% of the original code was rewritten, it became clear that it\r\ncannot be issued as a PR to the original repo and I decided to leave it as a standalone project. Currently esotope is x2\r\ntimes faster than escodegen in node v0.10.x, and x4.5 times faster in node v0.11.x ([benchmark](https://github.com/inikulin/esotope/tree/master/benchmark)).\r\nHowever in production we've seen x10 times performance gain in some cases.\r\n\r\n##Install\r\n**Node:**\r\n```\r\n$ npm install esotope\r\n```\r\n\r\n**Browser:**\r\n\r\nDrop [esotope.js](https://raw.githubusercontent.com/inikulin/esotope/master/esotope.js) on page\r\n\r\n```\r\n<script src=\"esotope.js\"></script>\r\n```\r\n\r\nthen *esotope* will be available via `window.esotope`.\r\n\r\nOr you can require it as the [RequireJS](http://requirejs.org/) module.\r\n\r\n\r\n\r\n##Usage\r\nIn general *esotope* can be used as a drop-in replacement for *escodegen*. So for the API-reference go to\r\n[escodegen API page](https://github.com/Constellation/escodegen/wiki/API).\r\n\r\nHowever, there are some missing features that\r\ndid not fit well into new design and were sacrificed for speed:\r\n\r\n* Comments attachment\r\n* Source maps\r\n\r\nSo, if you need comments or source maps you should fallback to *escodegen*.\r\n\r\nAlso, Mozilla-specific obsolete ES6 syntax support has been removed (`moz.starlessGenerator`, `moz.parenthesizedComprehensionBlock`,\r\n`moz.comprehensionExpressionStartsWithAssignment` options).\r\n\r\n##Testing\r\n*esotope* inherits test suite from *escodegen*. To run tests (make sure you have [gulp](https://github.com/gulpjs/gulp/) installed):\r\n```\r\n$ gulp test\r\n```\r\n\r\n##Questions or suggestions?\r\nIf you have any questions, please feel free to create an issue [here on github](https://github.com/inikulin/esotope/issues).\r\n\r\n##Author\r\n[Ivan Nikulin](https://github.com/inikulin) (ifaaan@gmail.com)\r\n","maintainers":[{"name":"inikulin","email":"ifaaan@gmail.com"}],"time":{"modified":"2022-06-17T20:49:03.802Z","created":"2014-11-21T09:44:45.109Z","1.4.2":"2014-11-21T09:44:45.109Z","1.4.4":"2014-12-24T09:17:08.809Z","1.4.5":"2014-12-24T15:46:18.633Z"},"homepage":"http://github.com/inikulin/esotope","repository":{"type":"git","url":"http://github.com/inikulin/esotope.git"},"bugs":{"url":"https://github.com/inikulin/esotope/issues"},"readmeFilename":"README.md"}