{"_id":"espurify","_rev":"4579338","name":"espurify","description":"Clone AST without extra properties","dist-tags":{"latest":"3.2.0"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"time":{"modified":"2026-04-10T15:54:29.000Z","created":"2014-07-22T10:39:09.817Z","3.2.0":"2024-12-22T21:00:13.386Z","3.1.0":"2024-07-03T21:58:54.287Z","3.0.0":"2022-07-17T12:42:49.198Z","2.1.1":"2021-03-29T04:07:14.723Z","2.1.0":"2021-03-25T15:04:12.303Z","2.0.1":"2019-02-15T08:22:50.520Z","2.0.0":"2018-11-23T00:02:28.080Z","1.8.1":"2018-07-10T08:38:35.591Z","1.8.0":"2018-05-10T06:28:05.283Z","1.7.0":"2017-02-24T02:57:43.390Z","1.6.1":"2017-02-13T04:24:18.132Z","1.6.0":"2016-05-25T06:47:46.834Z","1.5.1":"2016-03-28T02:09:22.639Z","1.5.0":"2015-12-21T12:37:26.306Z","1.4.0":"2015-12-18T13:35:32.818Z","1.3.0":"2015-06-04T15:43:26.002Z","1.2.0":"2015-04-17T12:03:24.354Z","1.1.0":"2015-04-12T01:02:17.723Z","1.0.1":"2015-03-05T16:50:37.237Z","1.0.0":"2014-11-01T10:55:58.505Z","0.1.3":"2014-08-01T05:32:21.177Z","0.1.2":"2014-07-22T10:50:41.032Z","0.1.1":"2014-07-22T10:42:31.813Z","0.1.0":"2014-07-22T10:39:09.817Z"},"users":{},"author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"repository":{"type":"git","url":"git://github.com/estools/espurify.git"},"versions":{"3.2.0":{"name":"espurify","version":"3.2.0","description":"Clone AST without extra properties","keywords":["ast","estree","ecmascript","es6"],"homepage":"https://github.com/estools/espurify","bugs":{"url":"https://github.com/estools/espurify/issues"},"repository":{"type":"git","url":"git://github.com/estools/espurify.git"},"license":"MIT","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"contributors":[{"name":"Renée Kooi","url":"https://github.com/goto-bus-stop"},{"name":"Andreas Lind","url":"https://github.com/papandreou"}],"type":"commonjs","main":"index.js","scripts":{"preversion":"npm test","lint":"semistandard --verbose index.js lib test | snazzy","fmt":"semistandard --fix index.js lib test","test":"npm run lint && node --test"},"devDependencies":{"acorn":"^8.0.0","babel-types":"^6.3.20","babylon":"^6.3.20","esprima":"^4.0.0","estraverse":"^5.0.0","semistandard":"^17.0.0","snazzy":"^9.0.0"},"semistandard":{"ignore":["/build/","/bench/","**/*.jsx"]},"_id":"espurify@3.2.0","gitHead":"1f91efd6484dc529808642cef7a6d39a8b3e542c","_nodeVersion":"22.11.0","_npmVersion":"10.9.0","dist":{"shasum":"006b702267c49efd3c5d55ca94cfdc6f2ddcc7e0","size":8117,"noattachment":false,"key":"/espurify/-/espurify-3.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-3.2.0.tgz"},"_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"directories":{},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/espurify_3.2.0_1734901213221_0.869618171687043"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-12-22T21:00:13.386Z","publish_time":1734901213386,"_source_registry_name":"default","_cnpm_publish_time":1734901213386},"3.1.0":{"name":"espurify","description":"Clone AST without extra properties","version":"3.1.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/estools/espurify/issues"},"contributors":[{"name":"Renée Kooi","url":"https://github.com/goto-bus-stop"},{"name":"Andreas Lind","url":"https://github.com/papandreou"}],"devDependencies":{"acorn":"^8.0.0","babel-types":"^6.3.20","babylon":"^6.3.20","esprima":"^4.0.0","estraverse":"^5.0.0","mocha":"^9.0.0","semistandard":"^16.0.0","snazzy":"^9.0.0"},"homepage":"https://github.com/estools/espurify","keywords":["ast","estree","ecmascript","es6"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git://github.com/estools/espurify.git"},"scripts":{"preversion":"npm test","lint":"semistandard --verbose index.js lib test | snazzy","fmt":"semistandard --fix index.js lib test","test":"npm run lint && mocha test"},"semistandard":{"ignore":["/build/","/bench/","**/*.jsx"],"globals":["describe","beforeEach","it"]},"_id":"espurify@3.1.0","gitHead":"0ca278fc7f3ace9a758af876118f061ff4421517","_nodeVersion":"22.2.0","_npmVersion":"10.7.0","dist":{"shasum":"1048cc3a6223cf71eb8c9fdcce9df82144aae853","size":7992,"noattachment":false,"key":"/espurify/-/espurify-3.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-3.1.0.tgz"},"_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"directories":{},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/espurify_3.1.0_1720043934169_0.0022800036894039533"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-07-03T21:58:54.287Z","publish_time":1720043934287,"_source_registry_name":"default","_cnpm_publish_time":1720043934287},"3.0.0":{"name":"espurify","description":"Clone AST without extra properties","version":"3.0.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/estools/espurify/issues"},"contributors":[{"name":"Renée Kooi","url":"https://github.com/goto-bus-stop"},{"name":"Andreas Lind","url":"https://github.com/papandreou"}],"devDependencies":{"acorn":"^8.0.0","babel-types":"^6.3.20","babylon":"^6.3.20","esprima":"^4.0.0","estraverse":"^5.0.0","mocha":"^9.0.0","semistandard":"^16.0.0","snazzy":"^9.0.0"},"homepage":"https://github.com/estools/espurify","keywords":["ast","estree","ecmascript","es6"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git://github.com/estools/espurify.git"},"scripts":{"preversion":"npm test","lint":"semistandard --verbose index.js lib test | snazzy","fmt":"semistandard --fix index.js lib test","test":"npm run lint && mocha test"},"semistandard":{"ignore":["/build/","/bench/","**/*.jsx"],"globals":["describe","beforeEach","it"]},"gitHead":"38a210159fc8ad1985704b31f1e30a7a5b26345c","_id":"espurify@3.0.0","_nodeVersion":"18.6.0","_npmVersion":"8.13.2","dist":{"shasum":"4387f345a0e7b4612c27ed6d110beac0e315aa22","size":7864,"noattachment":false,"key":"/espurify/-/espurify-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-3.0.0.tgz"},"_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"directories":{},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/espurify_3.0.0_1658061769023_0.6451957688195826"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-07-17T12:42:54.647Z","publish_time":1658061769198,"_cnpm_publish_time":1658061769198},"2.1.1":{"name":"espurify","description":"Clone AST without extra properties","version":"2.1.1","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/estools/espurify/issues"},"contributors":[{"name":"Renée Kooi","url":"https://github.com/goto-bus-stop"},{"name":"Andreas Lind","url":"https://github.com/papandreou"}],"devDependencies":{"acorn":"^8.0.0","babel-types":"^6.3.20","babylon":"^6.3.20","esprima":"^4.0.0","estraverse":"^5.0.0","mocha":"^8.0.0","semistandard":"^14.0.0","snazzy":"^8.0.0"},"homepage":"https://github.com/estools/espurify","keywords":["ast","estree","ecmascript","es6"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git://github.com/estools/espurify.git"},"scripts":{"preversion":"npm test","lint":"semistandard --verbose index.js lib test | snazzy","fmt":"semistandard --fix index.js lib test","test":"npm run lint && mocha test"},"semistandard":{"ignore":["/build/","/bench/","**/*.jsx"],"globals":["describe","beforeEach","it"]},"gitHead":"0cf157298e01bd2dbd1f61137f8c7d27ba2beaae","_id":"espurify@2.1.1","_nodeVersion":"14.16.0","_npmVersion":"6.14.11","dist":{"shasum":"afb043f22fac908d991dd25f7bf40bcf03935b9c","size":6488,"noattachment":false,"key":"/espurify/-/espurify-2.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-2.1.1.tgz"},"_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"directories":{},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/espurify_2.1.1_1616990834572_0.8650903432284334"},"_hasShrinkwrap":false,"publish_time":1616990834723,"_cnpm_publish_time":1616990834723},"2.1.0":{"name":"espurify","description":"Clone AST without extra properties","version":"2.1.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/estools/espurify/issues"},"contributors":[{"name":"Renée Kooi","url":"https://github.com/goto-bus-stop"},{"name":"Andreas Lind","url":"https://github.com/papandreou"}],"devDependencies":{"acorn":"^8.0.0","babel-types":"^6.3.20","babylon":"^6.3.20","esprima":"^4.0.0","estraverse":"^5.0.0","mocha":"^8.0.0","semistandard":"^14.0.0","snazzy":"^8.0.0"},"homepage":"https://github.com/estools/espurify","keywords":["ast","estree","ecmascript","es6"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git://github.com/estools/espurify.git"},"scripts":{"preversion":"npm test","lint":"semistandard --verbose index.js lib test | snazzy","fmt":"semistandard --fix index.js lib test","test":"npm run lint && mocha test"},"semistandard":{"ignore":["/build/","/bench/","**/*.jsx"],"globals":["describe","beforeEach","it"]},"gitHead":"0b0965d0b9a9a209a4a982690a7e942535c9fc92","_id":"espurify@2.1.0","_nodeVersion":"14.16.0","_npmVersion":"6.14.11","dist":{"shasum":"7b0a69c5a401c87c6a02cfeafd2e600e0c8c7f50","size":6442,"noattachment":false,"key":"/espurify/-/espurify-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-2.1.0.tgz"},"_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"directories":{},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/espurify_2.1.0_1616684652160_0.7791059167711307"},"_hasShrinkwrap":false,"publish_time":1616684652303,"_cnpm_publish_time":1616684652303},"2.0.1":{"name":"espurify","description":"Clone new AST without extra properties","version":"2.0.1","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/estools/espurify/issues"},"contributors":[{"name":"Renée Kooi","url":"https://github.com/goto-bus-stop"},{"name":"Andreas Lind","url":"https://github.com/papandreou"}],"devDependencies":{"acorn":"^6.0.0","babel-types":"^6.3.20","babylon":"^6.3.20","esprima":"^4.0.0","estraverse":"^4.1.0","mocha":"^5.0.0","semistandard":"^13.0.0","snazzy":"^8.0.0"},"homepage":"https://github.com/estools/espurify","keywords":["ast","estree","ecmascript","es6"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git://github.com/estools/espurify.git"},"scripts":{"preversion":"npm test","lint":"semistandard --verbose index.js lib test | snazzy","fmt":"semistandard --fix index.js lib test","test":"npm run lint && mocha test"},"semistandard":{"ignore":["/build/","/bench/","**/*.jsx"],"globals":["describe","beforeEach","it"]},"gitHead":"86f6dea6b9b3add2f3487660dc8779fe130c0ba2","_id":"espurify@2.0.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"dist":{"shasum":"c25b3bb613863daa142edcca052370a1a459f41d","size":6246,"noattachment":false,"key":"/espurify/-/espurify-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-2.0.1.tgz"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/espurify_2.0.1_1550218970413_0.3391579578387698"},"_hasShrinkwrap":false,"publish_time":1550218970520,"_cnpm_publish_time":1550218970520},"2.0.0":{"name":"espurify","description":"Clone new AST without extra properties","version":"2.0.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/estools/espurify/issues"},"contributors":[{"name":"Renée Kooi","url":"https://github.com/goto-bus-stop"}],"devDependencies":{"acorn":"^6.0.0","babel-types":"^6.3.20","babylon":"^6.3.20","esprima":"^4.0.0","estraverse":"^4.1.0","mocha":"^5.0.0","semistandard":"^13.0.0","snazzy":"^8.0.0"},"homepage":"https://github.com/estools/espurify","keywords":["ast","estree","ecmascript","es6"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git://github.com/estools/espurify.git"},"scripts":{"preversion":"npm test","lint":"semistandard --verbose index.js lib test | snazzy","fmt":"semistandard --fix index.js lib test","test":"npm run lint && mocha test"},"semistandard":{"ignore":["/build/","/bench/","**/*.jsx"],"globals":["describe","beforeEach","it"]},"gitHead":"690ce28cff6a2a0614ed3d1b820306836f8b7e0a","_id":"espurify@2.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"dist":{"shasum":"655952ed16002a6fefa5608d8acaaf4abad1f75e","size":6038,"noattachment":false,"key":"/espurify/-/espurify-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-2.0.0.tgz"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/espurify_2.0.0_1542931347915_0.2933727851085266"},"_hasShrinkwrap":false,"publish_time":1542931348080,"_cnpm_publish_time":1542931348080},"1.8.1":{"name":"espurify","description":"Clone new AST without extra properties","version":"1.8.1","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/estools/espurify/issues"},"dependencies":{"core-js":"^2.0.0"},"devDependencies":{"acorn":"^5.0.0","babel-types":"^6.3.20","babylon":"^6.3.20","browserify":"^13.0.0","derequire":"^2.0.2","dereserve":"^1.0.0","esprima":"^4.0.0","estraverse":"^4.1.0","licensify":"^3.1.0","mocha":"^5.0.0","semistandard":"^12.0.0","snazzy":"^7.0.0"},"files":["CHANGELOG.md","MIT-LICENSE.txt","README.md","index.js","lib","build/espurify.js","package.json"],"homepage":"https://github.com/estools/espurify","keywords":["ast","estree","ecmascript","es6"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git://github.com/estools/espurify.git"},"scripts":{"preversion":"npm test","version":"npm run dist && git add -A build","dist":"browserify index.js --plugin licensify --standalone espurify | dereserve | derequire > ./build/espurify.js","lint":"semistandard --verbose index.js lib test | snazzy","fmt":"semistandard --fix index.js lib test","test":"npm run lint && mocha test"},"semistandard":{"ignore":["/build/","/bench/","**/*.jsx"],"globals":["describe","beforeEach","it"]},"gitHead":"8b13a4eb59fb09918dd71dc19c31659dfd0976a2","_id":"espurify@1.8.1","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"5746c6c1ab42d302de10bd1d5bf7f0e8c0515056","size":21299,"noattachment":false,"key":"/espurify/-/espurify-1.8.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-1.8.1.tgz"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/espurify_1.8.1_1531211915468_0.6861359704746635"},"_hasShrinkwrap":false,"publish_time":1531211915591,"_cnpm_publish_time":1531211915591},"1.8.0":{"name":"espurify","description":"Clone new AST without extra properties","version":"1.8.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/estools/espurify/issues"},"dependencies":{"core-js":"^2.0.0"},"devDependencies":{"acorn":"^5.0.0","babel-types":"^6.3.20","babylon":"^6.3.20","browserify":"^13.0.0","derequire":"^2.0.2","dereserve":"^1.0.0","esprima":"^4.0.0","estraverse":"^4.1.0","licensify":"^3.1.0","mocha":"^5.0.0","semistandard":"^12.0.0","snazzy":"^7.0.0"},"files":["CHANGELOG.md","MIT-LICENSE.txt","README.md","index.js","lib","build/espurify.js","package.json"],"homepage":"https://github.com/estools/espurify","keywords":["ast","estree","ecmascript","es6"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git://github.com/estools/espurify.git"},"scripts":{"preversion":"npm test","version":"npm run dist && git add -A build","dist":"browserify index.js --plugin licensify --standalone espurify | dereserve | derequire > ./build/espurify.js","lint":"semistandard --verbose index.js lib test | snazzy","fmt":"semistandard --fix index.js lib test","test":"npm run lint && mocha test"},"semistandard":{"ignore":["/build/","/bench/","**/*.jsx"],"globals":["describe","beforeEach","it"]},"gitHead":"fc66add3a9d75ae2064c71e39113aa850390f146","_id":"espurify@1.8.0","_npmVersion":"5.6.0","_nodeVersion":"10.0.0","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"270d8046e4e47e923d75bc8a87357c7112ca8485","size":11828,"noattachment":false,"key":"/espurify/-/espurify-1.8.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-1.8.0.tgz"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/espurify_1.8.0_1525933685188_0.7540570618635034"},"_hasShrinkwrap":false,"publish_time":1525933685283,"_cnpm_publish_time":1525933685283},"1.7.0":{"name":"espurify","description":"Clone new AST without extra properties","version":"1.7.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/estools/espurify/issues"},"dependencies":{"core-js":"^2.0.0"},"devDependencies":{"acorn":"^4.0.11","babel-types":"^6.3.20","babylon":"^6.3.20","browserify":"^13.0.0","derequire":"^2.0.2","dereserve":"^1.0.0","esprima":"^2.6.0","estraverse":"^4.1.0","jshint":"^2.8.0","licensify":"^3.1.0","mocha":"^2.3.2"},"files":["CHANGELOG.md","MIT-LICENSE.txt","README.md","index.js","lib","build/espurify.js","package.json"],"homepage":"https://github.com/estools/espurify","keywords":["ast","estree","ecmascript","es6"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git://github.com/estools/espurify.git"},"scripts":{"preversion":"npm test","version":"npm run dist && git add -A build","dist":"browserify index.js --plugin licensify --standalone espurify | dereserve | derequire > ./build/espurify.js","lint":"jshint index.js","test":"npm run lint && mocha test"},"gitHead":"e6144bb0ad34f66cd659630d0009702c8b47649c","_id":"espurify@1.7.0","_shasum":"1c5cf6cbccc32e6f639380bd4f991fab9ba9d226","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"1c5cf6cbccc32e6f639380bd4f991fab9ba9d226","size":11615,"noattachment":false,"key":"/espurify/-/espurify-1.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-1.7.0.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/espurify-1.7.0.tgz_1487905063127_0.305808502715081"},"directories":{},"publish_time":1487905063390,"_cnpm_publish_time":1487905063390,"_hasShrinkwrap":false},"1.6.1":{"name":"espurify","description":"Clone new AST without extra properties","version":"1.6.1","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/estools/espurify/issues"},"dependencies":{"core-js":"^2.0.0"},"devDependencies":{"babel-types":"^6.3.20","babylon":"^6.3.20","browserify":"^13.0.0","derequire":"^2.0.2","dereserve":"^1.0.0","esprima":"^2.6.0","estraverse":"^4.1.0","jshint":"^2.8.0","licensify":"^3.1.0","mocha":"^2.3.2"},"files":["CHANGELOG.md","MIT-LICENSE.txt","README.md","index.js","lib","build/espurify.js","package.json"],"homepage":"https://github.com/estools/espurify","keywords":["ast","estree","ecmascript","es6"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git://github.com/estools/espurify.git"},"scripts":{"preversion":"npm test","version":"npm run dist && git add -A build","dist":"browserify index.js --plugin licensify --standalone espurify | dereserve | derequire > ./build/espurify.js","lint":"jshint index.js","test":"npm run lint && mocha test"},"gitHead":"d358c3cdba1ef70b195b3b3737e45a8c73d106a1","_id":"espurify@1.6.1","_shasum":"a618c3b320071a4e9e7136c5d78717cdd07020da","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"a618c3b320071a4e9e7136c5d78717cdd07020da","size":11576,"noattachment":false,"key":"/espurify/-/espurify-1.6.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-1.6.1.tgz"},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/espurify-1.6.1.tgz_1486959856219_0.4620905506890267"},"directories":{},"publish_time":1486959858132,"_cnpm_publish_time":1486959858132,"_hasShrinkwrap":false},"1.6.0":{"name":"espurify","description":"Clone new AST without extra properties","version":"1.6.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/estools/espurify/issues"},"dependencies":{"core-js":"^2.0.0"},"devDependencies":{"babel-types":"^6.3.20","babylon":"^6.3.20","browserify":"^13.0.0","derequire":"^2.0.2","dereserve":"^0.1.1","esprima":"^2.6.0","estraverse":"^4.1.0","jshint":"^2.8.0","licensify":"^3.1.0","mocha":"^2.3.2"},"files":["CHANGELOG.md","MIT-LICENSE.txt","README.md","index.js","lib","build/espurify.js","package.json"],"homepage":"https://github.com/estools/espurify","keywords":["ast","estree","ecmascript","es6"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git://github.com/estools/espurify.git"},"scripts":{"preversion":"npm test","version":"npm run dist && git add -A build","dist":"browserify index.js --plugin licensify --standalone espurify | dereserve | derequire > ./build/espurify.js","lint":"jshint index.js","test":"npm run lint && mocha test"},"gitHead":"c9f4e231ee871b39e8d1dc277c704e2c99d13ccf","_id":"espurify@1.6.0","_shasum":"6cb993582d9422bd6f2d4b258aadb14833f394f0","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.1.0","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"6cb993582d9422bd6f2d4b258aadb14833f394f0","size":9823,"noattachment":false,"key":"/espurify/-/espurify-1.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-1.6.0.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/espurify-1.6.0.tgz_1464158866408_0.032411637948825955"},"directories":{},"publish_time":1464158866834,"_cnpm_publish_time":1464158866834,"_hasShrinkwrap":false},"1.5.1":{"name":"espurify","description":"Clone new AST without extra properties","version":"1.5.1","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/estools/espurify/issues"},"dependencies":{"array-reduce":"0.0.0","indexof":"0.0.1","isarray":"^1.0.0","object-assign":"^4.0.1","object-keys":"^1.0.4"},"devDependencies":{"babel-types":"^6.3.20","babylon":"^6.3.20","browserify":"^13.0.0","derequire":"^2.0.2","dereserve":"^0.1.1","esprima":"^2.6.0","estraverse":"^4.1.0","jshint":"^2.8.0","licensify":"^3.1.0","mocha":"^2.3.2"},"files":["CHANGELOG.md","MIT-LICENSE.txt","README.md","index.js","lib","build/espurify.js","package.json"],"homepage":"https://github.com/estools/espurify","keywords":["ast","estree","ecmascript","es6"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git://github.com/estools/espurify.git"},"scripts":{"preversion":"npm test","version":"npm run dist && git add -A build","dist":"browserify index.js --plugin licensify --standalone espurify | dereserve | derequire > ./build/espurify.js","lint":"jshint index.js","test":"npm run lint && mocha test"},"gitHead":"9b645eef02805bff06f059903940ff7e778a31d2","_id":"espurify@1.5.1","_shasum":"6295874e474c810ac91547926d7828403424c3a6","_from":".","_npmVersion":"3.6.0","_nodeVersion":"5.7.1","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"6295874e474c810ac91547926d7828403424c3a6","size":8262,"noattachment":false,"key":"/espurify/-/espurify-1.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-1.5.1.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/espurify-1.5.1.tgz_1459130960282_0.7348039366770536"},"directories":{},"publish_time":1459130962639,"_cnpm_publish_time":1459130962639,"_hasShrinkwrap":false},"1.5.0":{"name":"espurify","description":"Clone new AST without extra properties","version":"1.5.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/estools/espurify/issues"},"dependencies":{"array-reduce":"0.0.0","indexof":"0.0.1","isarray":"^1.0.0","object-keys":"^1.0.4","xtend":"^4.0.0"},"devDependencies":{"babel-types":"^6.3.20","babylon":"^6.3.20","browserify":"^12.0.1","derequire":"^2.0.2","dereserve":"^0.1.1","esprima":"^2.6.0","estraverse":"^4.1.0","jshint":"^2.8.0","licensify":"^2.0.1","mocha":"^2.3.2"},"files":["CHANGELOG.md","MIT-LICENSE.txt","README.md","index.js","lib","build/espurify.js","package.json","test"],"homepage":"https://github.com/estools/espurify","keywords":["ast","estree","ecmascript","es6"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git://github.com/estools/espurify.git"},"scripts":{"preversion":"npm test","version":"npm run dist && git add -A build","dist":"browserify index.js --plugin licensify --standalone espurify | dereserve | derequire > ./build/espurify.js","lint":"jshint index.js","test":"npm run lint && mocha test"},"gitHead":"a14b4765d7e6c8566b2af9247f90dba8eee86fb4","_id":"espurify@1.5.0","_shasum":"93200b112c58cf9e6033bf2d823a7b2b82345096","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"93200b112c58cf9e6033bf2d823a7b2b82345096","size":10506,"noattachment":false,"key":"/espurify/-/espurify-1.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-1.5.0.tgz"},"directories":{},"publish_time":1450701446306,"_cnpm_publish_time":1450701446306,"_hasShrinkwrap":false},"1.4.0":{"name":"espurify","description":"Clone new AST without extra properties","version":"1.4.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/estools/espurify/issues"},"dependencies":{"isarray":"^1.0.0","object-keys":"^1.0.4","xtend":"^4.0.0"},"devDependencies":{"babel-types":"^6.3.20","babylon":"^6.3.20","browserify":"^12.0.1","derequire":"^2.0.2","dereserve":"^0.1.1","esprima":"^2.6.0","estraverse":"^4.1.0","jshint":"^2.8.0","licensify":"^2.0.1","mocha":"^2.3.2"},"files":["CHANGELOG.md","MIT-LICENSE.txt","README.md","index.js","lib","build/espurify.js","package.json","test"],"homepage":"https://github.com/estools/espurify","keywords":["ast","estree","ecmascript","es6"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git://github.com/estools/espurify.git"},"scripts":{"preversion":"npm test","version":"npm run dist && git add -A build","dist":"browserify index.js --plugin licensify --standalone espurify | dereserve | derequire > ./build/espurify.js","lint":"jshint index.js","test":"npm run lint && mocha test"},"gitHead":"906477d98b5ea8f8eebeb263119707144b09b963","_id":"espurify@1.4.0","_shasum":"9a315897d0e12668994997c0bb8e193e562cf0f5","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"9a315897d0e12668994997c0bb8e193e562cf0f5","size":9803,"noattachment":false,"key":"/espurify/-/espurify-1.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-1.4.0.tgz"},"directories":{},"publish_time":1450445732818,"_cnpm_publish_time":1450445732818,"_hasShrinkwrap":false},"1.3.0":{"name":"espurify","description":"Clone new AST without extra properties","version":"1.3.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/estools/espurify/issues"},"dependencies":{"isarray":"^0.0.1","object-keys":"^1.0.4","xtend":"^4.0.0"},"devDependencies":{"browserify":"^10.2.3","derequire":"^2.0.0","dereserve":"^0.1.1","esprima":"^2.2.0","estraverse":"^4.1.0","jshint":"^2.8.0","licensify":"^1.1.0","mocha":"^2.2.5"},"files":["CHANGELOG.md","MIT-LICENSE.txt","README.md","index.js","lib","build/espurify.js","package.json","test"],"homepage":"https://github.com/estools/espurify","keywords":["ast","estree","ecmascript","es6"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git://github.com/estools/espurify.git"},"scripts":{"build":"browserify index.js --plugin licensify --standalone espurify | dereserve | derequire > ./build/espurify.js","lint":"jshint index.js","test":"npm run lint && mocha test"},"gitHead":"0eac1b7a7824386be7dab7e64432ea62dd294ba8","_id":"espurify@1.3.0","_shasum":"10a6e75d4e79698a310cc898b8834d8149875e09","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"10a6e75d4e79698a310cc898b8834d8149875e09","size":8398,"noattachment":false,"key":"/espurify/-/espurify-1.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-1.3.0.tgz"},"directories":{},"publish_time":1433432606002,"_cnpm_publish_time":1433432606002,"_hasShrinkwrap":false},"1.2.0":{"name":"espurify","description":"Clone new AST without extra properties","version":"1.2.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/estools/espurify/issues"},"dependencies":{"isarray":"^0.0.1","object-keys":"^1.0.3","xtend":"^4.0.0"},"devDependencies":{"esprima":"^2.1.0","estraverse":"^3.1.0","jshint":"^2.7.0","mocha":"^2.2.4"},"files":["CHANGELOG.md","MIT-LICENSE.txt","README.md","index.js","lib","build/espurify.js","package.json","test"],"homepage":"https://github.com/estools/espurify","keywords":["ast","estree","ecmascript","es6"],"license":{"type":"MIT","url":"https://github.com/estools/espurify/blob/master/MIT-LICENSE.txt"},"main":"index.js","repository":{"type":"git","url":"git://github.com/estools/espurify.git"},"scripts":{"build":"browserify index.js --standalone espurify | dereserve | derequire > ./build/espurify.js","lint":"jshint index.js","test":"npm run lint && mocha test"},"gitHead":"12c1e25415a8f5493d8741af3a70dee5f66f9b22","_id":"espurify@1.2.0","_shasum":"f412677118b732154a01215c2212a45357544bed","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"f412677118b732154a01215c2212a45357544bed","size":7974,"noattachment":false,"key":"/espurify/-/espurify-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-1.2.0.tgz"},"directories":{},"publish_time":1429272204354,"_cnpm_publish_time":1429272204354,"_hasShrinkwrap":false},"1.1.0":{"name":"espurify","description":"Clone new AST without extra properties","version":"1.1.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/estools/espurify/issues"},"dependencies":{"indexof":"0.0.1","traverse":"~0.6.6"},"devDependencies":{"esprima":"^2.1.0","estraverse":"^3.1.0","jshint":"^2.7.0","mocha":"^2.2.4"},"files":["CHANGELOG.md","MIT-LICENSE.txt","README.md","index.js","lib","build/espurify.js","package.json","test"],"homepage":"https://github.com/estools/espurify","keywords":["ast","estree","ecmascript","es6","esprima"],"license":{"type":"MIT","url":"https://github.com/estools/espurify/blob/master/MIT-LICENSE.txt"},"main":"index.js","repository":{"type":"git","url":"git://github.com/estools/espurify.git"},"scripts":{"build":"browserify index.js --standalone espurify | dereserve | derequire > ./build/espurify.js","lint":"jshint index.js","test":"npm run lint && mocha test"},"gitHead":"e4285becc0f257b414a34478023d64d62fc0f044","_id":"espurify@1.1.0","_shasum":"43abd52bb9928ee71e19a157ab90706fa245b92d","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"43abd52bb9928ee71e19a157ab90706fa245b92d","size":8370,"noattachment":false,"key":"/espurify/-/espurify-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-1.1.0.tgz"},"directories":{},"publish_time":1428800537723,"_cnpm_publish_time":1428800537723,"_hasShrinkwrap":false},"1.0.1":{"name":"espurify","description":"Clone new AST without extra properties","version":"1.0.1","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/estools/espurify/issues"},"dependencies":{"indexof":"0.0.1","traverse":"~0.6.6"},"devDependencies":{"esprima":"^1.0.0","estraverse":"^1.0.0","jshint":"^2.5.11","mocha":"^2.0.1"},"files":["CHANGELOG.md","MIT-LICENSE.txt","README.md","index.js","lib","build/espurify.js","package.json","test"],"homepage":"https://github.com/estools/espurify","keywords":["ast","ecmascript","esprima"],"license":{"type":"MIT","url":"https://github.com/estools/espurify/blob/master/MIT-LICENSE.txt"},"main":"index.js","repository":{"type":"git","url":"git://github.com/estools/espurify.git"},"scripts":{"build":"browserify index.js --standalone espurify | dereserve | derequire > ./build/espurify.js","lint":"jshint index.js","test":"npm run lint && mocha test"},"gitHead":"9ad634cef6fb6ed940b9f7b1f18aedb934418f13","_id":"espurify@1.0.1","_shasum":"010bfc489ddf3149e97b119d8c6885a1f736f4e2","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"010bfc489ddf3149e97b119d8c6885a1f736f4e2","size":7500,"noattachment":false,"key":"/espurify/-/espurify-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-1.0.1.tgz"},"directories":{},"publish_time":1425574237237,"_cnpm_publish_time":1425574237237,"_hasShrinkwrap":false},"1.0.0":{"name":"espurify","description":"Clone new AST without extra properties","version":"1.0.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/twada/espurify/issues"},"dependencies":{"traverse":"~0.6.6"},"devDependencies":{"esprima":"~1.2.2","estraverse":"~1.7.0","mocha":"~2.0.1"},"files":["README.md","index.js","lib","package.json","test"],"homepage":"https://github.com/twada/espurify","keywords":["esprima","ecmascript","ast"],"license":{"type":"MIT","url":"http://twada.mit-license.org/"},"main":"index.js","repository":{"type":"git","url":"git://github.com/twada/espurify.git"},"scripts":{"build":"browserify index.js --standalone espurify | derequire > ./build/espurify.js","lint":"jshint index.js","test":"mocha test"},"gitHead":"3900ce965aae951220bb3f4c3ffa96756cd80377","_id":"espurify@1.0.0","_shasum":"b406c6bfb261a44fe2f47187a9f8eb513b3a8b7f","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"b406c6bfb261a44fe2f47187a9f8eb513b3a8b7f","size":3920,"noattachment":false,"key":"/espurify/-/espurify-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-1.0.0.tgz"},"directories":{},"publish_time":1414839358505,"_cnpm_publish_time":1414839358505,"_hasShrinkwrap":false},"0.1.3":{"name":"espurify","version":"0.1.3","description":"Clone new AST without extra properties","keywords":["esprima","ecmascript","ast"],"main":"index.js","files":["README.md","index.js","lib","package.json","test"],"scripts":{"build":"browserify index.js --standalone espurify | derequire > ./build/espurify.js","jshint":"jshint index.js","test":"mocha test"},"dependencies":{"traverse":"~0.6.6"},"devDependencies":{"esprima":"~1.2.2","estraverse":"~1.5.1","mocha":"~1.21.3"},"author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"repository":{"type":"git","url":"git://github.com/twada/espurify.git"},"homepage":"https://github.com/twada/espurify","bugs":{"url":"https://github.com/twada/espurify/issues"},"licenses":[{"type":"MIT","url":"http://twada.mit-license.org/"}],"_id":"espurify@0.1.3","_shasum":"6626488a33c6fee4da845dbd7b869f147bbf3f09","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"6626488a33c6fee4da845dbd7b869f147bbf3f09","size":3944,"noattachment":false,"key":"/espurify/-/espurify-0.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-0.1.3.tgz"},"directories":{},"publish_time":1406871141177,"_cnpm_publish_time":1406871141177,"_hasShrinkwrap":false},"0.1.2":{"name":"espurify","version":"0.1.2","description":"Eliminate extra properties from AST output","keywords":["esprima","ecmascript","ast"],"main":"index.js","files":["README.md","index.js","lib","package.json","test"],"scripts":{"build":"browserify index.js --standalone espurify > ./build/espurify.js","jshint":"jshint index.js","test":"mocha test"},"dependencies":{"traverse":"~0.6.6"},"devDependencies":{"esprima":"~1.2.2","estraverse":"~1.5.1","mocha":"~1.20.1"},"author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"repository":{"type":"git","url":"git://github.com/twada/espurify.git"},"homepage":"https://github.com/twada/espurify","bugs":{"url":"https://github.com/twada/espurify/issues"},"licenses":[{"type":"MIT","url":"http://twada.mit-license.org/"}],"_id":"espurify@0.1.2","_shasum":"29f3ba1baa89ee7df3301dbd9b85bd37c6508688","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"29f3ba1baa89ee7df3301dbd9b85bd37c6508688","size":3596,"noattachment":false,"key":"/espurify/-/espurify-0.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-0.1.2.tgz"},"directories":{},"publish_time":1406026241032,"_cnpm_publish_time":1406026241032,"_hasShrinkwrap":false},"0.1.1":{"name":"espurify","version":"0.1.1","description":"Eliminate extra properties from AST output","keywords":["esprima","ecmascript","ast"],"main":"index.js","files":["README.md","index.js","lib","package.json","test"],"scripts":{"build":"browserify index.js --standalone espurify > ./build/espurify.js","jshint":"jshint index.js","test":"mocha test"},"dependencies":{"traverse":"~0.6.6"},"devDependencies":{"esprima":"~1.2.2","estraverse":"~1.5.1","mocha":"~1.20.1"},"author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"repository":{"type":"git","url":"git://github.com/twada/espurify.git"},"homepage":"https://github.com/twada/espurify","bugs":{"url":"https://github.com/twada/espurify/issues"},"licenses":[{"type":"MIT","url":"http://twada.mit-license.org/"}],"_id":"espurify@0.1.1","_shasum":"79ce462dd214f308a46c22d5f435e78357bcac50","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"79ce462dd214f308a46c22d5f435e78357bcac50","size":3474,"noattachment":false,"key":"/espurify/-/espurify-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-0.1.1.tgz"},"directories":{},"publish_time":1406025751813,"_cnpm_publish_time":1406025751813,"_hasShrinkwrap":false},"0.1.0":{"name":"espurify","version":"0.1.0","description":"Eliminate extra properties from AST output","keywords":["esprima","ecmascript","ast"],"main":"index.js","files":["README.md","index.js","package.json","test"],"scripts":{"build":"browserify index.js --standalone espurify > ./build/espurify.js","jshint":"jshint index.js","test":"mocha test"},"dependencies":{"traverse":"~0.6.6"},"devDependencies":{"esprima":"~1.2.2","estraverse":"~1.5.1","mocha":"~1.20.1"},"author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"repository":{"type":"git","url":"git://github.com/twada/espurify.git"},"homepage":"https://github.com/twada/espurify","bugs":{"url":"https://github.com/twada/espurify/issues"},"licenses":[{"type":"MIT","url":"http://twada.mit-license.org/"}],"_id":"espurify@0.1.0","_shasum":"1077a6708e1e93d794aa3167253da8ccf7d3063c","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"1077a6708e1e93d794aa3167253da8ccf7d3063c","size":2431,"noattachment":false,"key":"/espurify/-/espurify-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/espurify/download/espurify-0.1.0.tgz"},"directories":{},"publish_time":1406025549817,"_cnpm_publish_time":1406025549817,"_hasShrinkwrap":false}},"readme":"espurify\n================================\n\nClone AST without extra properties\n\n[![Build Status][ci-image]][ci-url]\n[![NPM version][npm-image]][npm-url]\n[![Code Style][style-image]][style-url]\n[![License][license-image]][license-url]\n\n\nAPI\n---------------------------------------\n\n### const purifiedAstClone = espurify.purifyAst(originalAst)\n\nReturns new clone of `originalAst` but without extra properties.\n\nLeaves properties defined in [The ESTree Spec](https://github.com/estree/estree) (formerly known as [Mozilla SpiderMonkey Parser API](https://speakerdeck.com/michaelficarra/spidermonkey-parser-api-a-standard-for-structured-js-representations)) only. Also note that extra informations (such as `loc`, `range` and `raw`) are eliminated too.\n\n(note: using `espurify` as a default exported function is deprecated in favor of named exports aiming ESM era, and will be removed in future major releases)\n\n#### Supported ECMAScript versions\n\n- [ES5](https://github.com/estree/estree/blob/master/es5.md)\n- [ES2015](https://github.com/estree/estree/blob/master/es2015.md)\n- [ES2016](https://github.com/estree/estree/blob/master/es2016.md)\n- [ES2017](https://github.com/estree/estree/blob/master/es2017.md)\n- [ES2018](https://github.com/estree/estree/blob/master/es2018.md)\n- [ES2019](https://github.com/estree/estree/blob/master/es2019.md)\n- [ES2020](https://github.com/estree/estree/blob/master/es2020.md)\n- [ES2021](https://github.com/estree/estree/blob/master/es2021.md)\n- [ES2022](https://github.com/estree/estree/blob/master/es2022.md)\n- ES2023\n- ES2024\n- [ES2025](https://github.com/estree/estree/blob/master/es2025.md)\n\n\n### const customizedCloneFunctionWithAllowList = espurify.cloneWithAllowlist(allowList)\n\nReturns customized function for cloning AST, with user-provided `allowList`.\n\n(note: `espurify.cloneWithWhitelist` is still exported but deprecated in favor of more inclusive language and will be removed in future major releases)\n\n### const purifiedAstClone = customizedCloneFunctionWithAllowList(originalAst)\n\nReturns new clone of `originalAst` by customized function.\n\n\n#### allowList\n\n| type     | default value |\n|:---------|:--------------|\n| `object` | N/A           |\n\n`allowList` is an object containing NodeType as keys and properties as values.\n\n```js\n{\n    ArrayExpression: ['type', 'elements'],\n    ArrayPattern: ['type', 'elements'],\n    ArrowFunctionExpression: ['type', 'id', 'params', 'body', 'generator', 'expression'],\n    AssignmentExpression: ['type', 'operator', 'left', 'right'],\n    ...\n```\n\n\n### const customizedCloneFunction = espurify.customize(options)\n\nReturns customized function for cloning AST, configured by custom `options`.\n\n\n### const purifiedAstClone = customizedCloneFunction(originalAst)\n\nReturns new clone of `originalAst` by customized function.\n\n\n\n#### options\n\n| type     | default value |\n|:---------|:--------------|\n| `object` | `{}`          |\n\nConfiguration options. If not passed, default options will be used.\n\n\n#### options.ecmaVersion\n\n| type                 | default value |\n|:---------------------|:--------------|\n| `string` or `number` | `2025`        |\n\nIndicates the ECMAScript version to clone. Must be either 5, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025.\n\n\n#### options.extra\n\n| type                | default value |\n|:--------------------|:--------------|\n| `array` of `string` | null          |\n\nList of extra properties to be left in result AST. For example, functions returned by `espurify.customize({extra: ['raw']})` will preserve `raw` properties of `Literal`. Functions return by `espurify.customize({extra: ['loc', 'range']})` will preserve `loc` and `range` properties of each Node.\n\n\nEXAMPLE\n---------------------------------------\n\n```javascript\nconst espurify = require('espurify');\nconst estraverse = require('estraverse');\nconst acorn = require('acorn');\nconst syntax = estraverse.Syntax;\nconst assert = require('assert');\n\nconst jsCode = 'assert(\"foo\")';\n\n// Adding extra informations to AST\nconst originalAst = acorn.parse(jsCode, { locations: true, ranges: true, ecmaVersion: 2022 });\nestraverse.replace(originalAst, {\n  leave: function (currentNode, parentNode) {\n    if (currentNode.type === syntax.Literal && typeof currentNode.raw !== 'undefined') {\n      currentNode['x-verbatim-bar'] = {\n        content : currentNode.raw,\n        precedence : 18  // escodegen.Precedence.Primary\n      };\n      return currentNode;\n    } else {\n      return undefined;\n    }\n  }\n});\n\n\n// purify AST\nconst purifiedClone = espurify.purifyAst(originalAst);\n\n\n// Extra properties are eliminated from cloned AST\nassert.deepEqual(purifiedClone, {\n  type: 'Program',\n  body: [\n    {\n      type: 'ExpressionStatement',\n      expression: {\n        type: 'CallExpression',\n        callee: {\n          type: 'Identifier',\n          name: 'assert'\n        },\n        arguments: [\n          {\n            type: 'Literal',\n            value: 'foo'\n          }\n        ],\n        optional: false\n      }\n    }\n  ],\n  sourceType: 'script'\n});\n\n\n// original AST is not modified\nassert.deepEqual(originalAst,{\n  type: 'Program',\n  start: 0,\n  end: 13,\n  loc: {\n    start: {\n      line: 1,\n      column: 0\n    },\n    end: {\n      line: 1,\n      column: 13\n    }\n  },\n  range: [\n    0,\n    13\n  ],\n  body: [\n    {\n      type: 'ExpressionStatement',\n      start: 0,\n      end: 13,\n      loc: {\n        start: {\n          line: 1,\n          column: 0\n        },\n        end: {\n          line: 1,\n          column: 13\n        }\n      },\n      range: [\n        0,\n        13\n      ],\n      expression: {\n        type: 'CallExpression',\n        start: 0,\n        end: 13,\n        loc: {\n          start: {\n            line: 1,\n            column: 0\n          },\n          end: {\n            line: 1,\n            column: 13\n          }\n        },\n        range: [\n          0,\n          13\n        ],\n        callee: {\n          type: 'Identifier',\n          start: 0,\n          end: 6,\n          loc: {\n            start: {\n              line: 1,\n              column: 0\n            },\n            end: {\n              line: 1,\n              column: 6\n            }\n          },\n          range: [\n            0,\n            6\n          ],\n          name: 'assert'\n        },\n        arguments: [\n          {\n            type: 'Literal',\n            start: 7,\n            end: 12,\n            loc: {\n              start: {\n                line: 1,\n                column: 7\n              },\n              end: {\n                line: 1,\n                column: 12\n              }\n            },\n            range: [\n              7,\n              12\n            ],\n            value: 'foo',\n            raw: '\"foo\"',\n            \"x-verbatim-bar\": {\n              content: '\"foo\"',\n              precedence: 18\n            }\n          }\n        ],\n        optional: false\n      }\n    }\n  ],\n  sourceType: 'script'\n});\n```\n\n\nINSTALL\n---------------------------------------\n\n### via npm\n\nInstall\n\n    $ npm install --save espurify\n\nUse\n\n```javascript\nconst espurify = require('espurify');\n```\n\n\nAUTHOR\n---------------------------------------\n* [Takuto Wada](https://github.com/twada)\n\n\nCONTRIBUTORS\n---------------------------------------\n* [Renée Kooi](https://github.com/goto-bus-stop)\n* [Andreas Lind](https://github.com/papandreou)\n\n\nLICENSE\n---------------------------------------\nLicensed under the [MIT](https://github.com/estools/espurify/blob/master/MIT-LICENSE.txt) license.\n\n\n[npm-url]: https://npmjs.org/package/espurify\n[npm-image]: https://badge.fury.io/js/espurify.svg\n\n[ci-image]: https://github.com/estools/espurify/workflows/Node.js%20CI/badge.svg\n[ci-url]: https://github.com/estools/espurify/actions?query=workflow%3A%22Node.js+CI%22\n\n[style-url]: https://github.com/Flet/semistandard\n[style-image]: https://img.shields.io/badge/code%20style-semistandard-brightgreen.svg\n\n[license-url]: https://github.com/estools/espurify/blob/master/MIT-LICENSE.txt\n[license-image]: https://img.shields.io/badge/license-MIT-brightgreen.svg\n","_attachments":{},"homepage":"https://github.com/estools/espurify","bugs":{"url":"https://github.com/estools/espurify/issues"},"license":"MIT"}