{"_id":"redeyed","_rev":"58855","name":"redeyed","description":"Takes JavaScript code, along with a config and returns the original code with tokens wrapped as configured.","dist-tags":{"latest":"2.1.1"},"maintainers":[{"name":"thlorenz","email":"thlorenz@gmx.de"}],"time":{"modified":"2021-06-03T10:18:12.000Z","created":"2012-10-20T02:20:18.066Z","2.1.1":"2018-05-22T18:32:11.899Z","2.1.0":"2018-05-21T22:35:17.780Z","2.0.0":"2018-04-23T18:41:00.581Z","1.0.1":"2016-10-26T17:55:17.073Z","1.0.0":"2016-08-25T19:32:57.301Z","0.6.0":"2015-11-12T13:06:37.777Z","0.5.0":"2015-03-02T05:13:43.493Z","0.4.4":"2014-02-26T15:29:57.703Z","0.4.3":"2014-02-26T15:24:43.605Z","0.4.2":"2013-04-06T16:46:25.595Z","0.4.1":"2012-11-01T01:55:40.063Z","0.4.0":"2012-10-29T03:00:31.824Z","0.3.0":"2012-10-24T02:56:45.361Z","0.2.0":"2012-10-22T17:35:21.637Z","0.1.5":"2012-10-22T15:10:04.194Z","0.1.4":"2012-10-21T21:21:53.461Z","0.1.3":"2012-10-21T20:47:33.928Z","0.1.2":"2012-10-21T18:52:40.576Z","0.1.1":"2012-10-20T23:40:38.172Z","0.1.0":"2012-10-20T02:20:18.066Z"},"users":{},"author":{"name":"Thorsten Lorenz","email":"thlorenz@gmx.de","url":"thlorenz.com"},"repository":{"type":"git","url":"git://github.com/thlorenz/redeyed.git"},"versions":{"2.1.1":{"name":"redeyed","version":"2.1.1","description":"Takes JavaScript code, along with a config and returns the original code with tokens wrapped as configured.","author":{"name":"Thorsten Lorenz","email":"thlorenz@gmx.de","url":"thlorenz.com"},"main":"redeyed.js","scripts":{"test":"npm run run-test && npm run lint","run-test":"tape test/*.js","lint":"standart","demo-log":"node examples/replace-log","demo":"cd examples/browser; open index.html"},"repository":{"type":"git","url":"git://github.com/thlorenz/redeyed.git"},"keywords":["ast","syntax","tree","source","wrap","metadata"],"license":"MIT","devDependencies":{"cardinal":"~1.0.0","readdirp":"~2.1.0","standart":"^6.1.0","tape":"~4.9.0"},"dependencies":{"esprima":"~4.0.0"},"gitHead":"c7cae77022c18e0a06093602668e5951f783969f","bugs":{"url":"https://github.com/thlorenz/redeyed/issues"},"homepage":"https://github.com/thlorenz/redeyed#readme","_id":"redeyed@2.1.1","_shasum":"8984b5815d99cb220469c99eeeffe38913e6cc0b","_from":".","_npmVersion":"2.15.12","_nodeVersion":"10.0.0","_npmUser":{"name":"thlorenz","email":"thlorenz@gmx.de"},"dist":{"shasum":"8984b5815d99cb220469c99eeeffe38913e6cc0b","size":14641,"noattachment":false,"key":"/redeyed/-/redeyed-2.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/redeyed/download/redeyed-2.1.1.tgz"},"maintainers":[{"name":"thlorenz","email":"thlorenz@gmx.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redeyed_2.1.1_1527013931805_0.6810903936584252"},"_hasShrinkwrap":false,"publish_time":1527013931899,"_cnpm_publish_time":1527013931899},"2.1.0":{"name":"redeyed","version":"2.1.0","description":"Takes JavaScript code, along with a config and returns the original code with tokens wrapped as configured.","author":{"name":"Thorsten Lorenz","email":"thlorenz@gmx.de","url":"thlorenz.com"},"main":"redeyed.js","scripts":{"test":"npm run run-test && npm run lint","run-test":"tape test/*.js","lint":"standart","demo-log":"node examples/replace-log","demo":"cd examples/browser; open index.html"},"repository":{"type":"git","url":"git://github.com/thlorenz/redeyed.git"},"keywords":["ast","syntax","tree","source","wrap","metadata"],"license":"MIT","devDependencies":{"cardinal":"~1.0.0","readdirp":"~2.1.0","standart":"^6.1.0","tape":"~4.9.0"},"dependencies":{"esprima":"~4.0.0"},"gitHead":"98aa2752cb89e384e673b25bb132c45dd19f3523","bugs":{"url":"https://github.com/thlorenz/redeyed/issues"},"homepage":"https://github.com/thlorenz/redeyed#readme","_id":"redeyed@2.1.0","_shasum":"de8bbb0c89e496e2e285ddc200ea822fdbe25c2f","_from":".","_npmVersion":"2.15.12","_nodeVersion":"10.0.0","_npmUser":{"name":"thlorenz","email":"thlorenz@gmx.de"},"dist":{"shasum":"de8bbb0c89e496e2e285ddc200ea822fdbe25c2f","size":14687,"noattachment":false,"key":"/redeyed/-/redeyed-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/redeyed/download/redeyed-2.1.0.tgz"},"maintainers":[{"name":"thlorenz","email":"thlorenz@gmx.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redeyed_2.1.0_1526942117668_0.329805503578946"},"_hasShrinkwrap":false,"publish_time":1526942117780,"_cnpm_publish_time":1526942117780},"2.0.0":{"name":"redeyed","version":"2.0.0","description":"Takes JavaScript code, along with a config and returns the original code with tokens wrapped as configured.","author":{"name":"Thorsten Lorenz","email":"thlorenz@gmx.de","url":"thlorenz.com"},"main":"redeyed.js","scripts":{"test":"tap test/*.js","demo-log":"node examples/replace-log","demo":"cd examples/browser; open index.html"},"repository":{"type":"git","url":"git://github.com/thlorenz/redeyed.git"},"keywords":["ast","syntax","tree","source","wrap","metadata"],"license":"MIT","devDependencies":{"cardinal":"~1.0.0","readdirp":"~2.1.0","tap":"~11.1.4"},"dependencies":{"esprima":"~4.0.0"},"gitHead":"7c88fe958baaac395bf9ddb7315caec7672cd1dd","bugs":{"url":"https://github.com/thlorenz/redeyed/issues"},"homepage":"https://github.com/thlorenz/redeyed#readme","_id":"redeyed@2.0.0","_shasum":"e7ae722cd4ce4dbc537cb5810fef3de2ac76ff12","_from":".","_npmVersion":"2.15.12","_nodeVersion":"8.9.1","_npmUser":{"name":"thlorenz","email":"thlorenz@gmx.de"},"dist":{"shasum":"e7ae722cd4ce4dbc537cb5810fef3de2ac76ff12","size":14625,"noattachment":false,"key":"/redeyed/-/redeyed-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/redeyed/download/redeyed-2.0.0.tgz"},"maintainers":[{"name":"thlorenz","email":"thlorenz@gmx.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redeyed_2.0.0_1524508860505_0.8880377727984006"},"_hasShrinkwrap":false,"publish_time":1524508860581,"_cnpm_publish_time":1524508860581},"1.0.1":{"name":"redeyed","version":"1.0.1","description":"Takes JavaScript code, along with a config and returns the original code with tokens wrapped as configured.","author":{"name":"Thorsten Lorenz","email":"thlorenz@gmx.de","url":"thlorenz.com"},"main":"redeyed.js","scripts":{"test":"tap test/*.js","demo-log":"node examples/replace-log","demo":"cd examples/browser; open index.html"},"repository":{"type":"git","url":"git://github.com/thlorenz/redeyed.git"},"keywords":["ast","syntax","tree","source","wrap","metadata"],"license":"MIT","devDependencies":{"tap":"~5.7.0","readdirp":"~0.3.3","cardinal":"~0.4.4"},"dependencies":{"esprima":"~3.0.0"},"gitHead":"8e0a38c0e512cb52da4d204d8e2f9c9dfd81bc0b","bugs":{"url":"https://github.com/thlorenz/redeyed/issues"},"homepage":"https://github.com/thlorenz/redeyed#readme","_id":"redeyed@1.0.1","_shasum":"e96c193b40c0816b00aec842698e61185e55498a","_from":".","_npmVersion":"2.15.11","_nodeVersion":"6.9.2-pre","_npmUser":{"name":"thlorenz","email":"thlorenz@gmx.de"},"dist":{"shasum":"e96c193b40c0816b00aec842698e61185e55498a","size":14892,"noattachment":false,"key":"/redeyed/-/redeyed-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/redeyed/download/redeyed-1.0.1.tgz"},"maintainers":[{"name":"thlorenz","email":"thlorenz@gmx.de"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/redeyed-1.0.1.tgz_1477504514782_0.6673275073990226"},"directories":{},"publish_time":1477504517073,"_cnpm_publish_time":1477504517073,"_hasShrinkwrap":false},"1.0.0":{"name":"redeyed","version":"1.0.0","description":"Takes JavaScript code, along with a config and returns the original code with tokens wrapped as configured.","author":{"name":"Thorsten Lorenz","email":"thlorenz@gmx.de","url":"thlorenz.com"},"main":"redeyed.js","scripts":{"test":"tap test/*.js","demo-log":"node examples/replace-log","demo":"cd examples/browser; open index.html"},"repository":{"type":"git","url":"git://github.com/thlorenz/redeyed.git"},"keywords":["ast","syntax","tree","source","wrap","metadata"],"license":"MIT","devDependencies":{"tap":"~5.7.0","readdirp":"~0.3.3","cardinal":"~0.4.4"},"dependencies":{"esprima":"~2.7.0"},"gitHead":"a0403ae3fab2bfa0ef949ddc4a18eaf64ab0dff4","bugs":{"url":"https://github.com/thlorenz/redeyed/issues"},"homepage":"https://github.com/thlorenz/redeyed#readme","_id":"redeyed@1.0.0","_shasum":"6ce25045c9e1f9b28c0ae73ce2960c8cb48184b1","_from":".","_npmVersion":"2.15.6","_nodeVersion":"4.4.6","_npmUser":{"name":"thlorenz","email":"thlorenz@gmx.de"},"dist":{"shasum":"6ce25045c9e1f9b28c0ae73ce2960c8cb48184b1","size":14764,"noattachment":false,"key":"/redeyed/-/redeyed-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/redeyed/download/redeyed-1.0.0.tgz"},"maintainers":[{"name":"thlorenz","email":"thlorenz@gmx.de"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/redeyed-1.0.0.tgz_1472153575357_0.28198918933048844"},"directories":{},"publish_time":1472153577301,"_cnpm_publish_time":1472153577301,"_hasShrinkwrap":false},"0.6.0":{"name":"redeyed","version":"0.6.0","description":"Takes JavaScript code, along with a config and returns the original code with tokens wrapped as configured.","author":{"name":"Thorsten Lorenz","email":"thlorenz@gmx.de","url":"thlorenz.com"},"main":"redeyed.js","scripts":{"test":"tap test/*.js","demo-log":"node examples/replace-log","demo":"cd examples/browser; open index.html"},"repository":{"type":"git","url":"git://github.com/thlorenz/redeyed.git"},"keywords":["ast","syntax","tree","source","wrap","metadata"],"license":"MIT","devDependencies":{"tap":"~0.4.8","readdirp":"~0.3.3","cardinal":"~0.4.4"},"dependencies":{"esprima":"~2.7.0"},"gitHead":"9a22a12bf2896627b07145051b17711b086ca1f7","bugs":{"url":"https://github.com/thlorenz/redeyed/issues"},"homepage":"https://github.com/thlorenz/redeyed","_id":"redeyed@0.6.0","_shasum":"692a2f765fecab433549edd439a7684aab67f789","_from":".","_npmVersion":"2.14.4","_nodeVersion":"4.1.2","_npmUser":{"name":"thlorenz","email":"thlorenz@gmx.de"},"dist":{"shasum":"692a2f765fecab433549edd439a7684aab67f789","size":13964,"noattachment":false,"key":"/redeyed/-/redeyed-0.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/redeyed/download/redeyed-0.6.0.tgz"},"maintainers":[{"name":"thlorenz","email":"thlorenz@gmx.de"}],"directories":{},"publish_time":1447333597777,"_cnpm_publish_time":1447333597777,"_hasShrinkwrap":false},"0.5.0":{"name":"redeyed","version":"0.5.0","description":"Takes JavaScript code, along with a config and returns the original code with tokens wrapped as configured.","author":{"name":"Thorsten Lorenz","email":"thlorenz@gmx.de","url":"thlorenz.com"},"main":"redeyed.js","scripts":{"test":"tap test/*.js","demo-log":"node examples/replace-log","demo":"cd examples/browser; open index.html"},"repository":{"type":"git","url":"git://github.com/thlorenz/redeyed.git"},"keywords":["ast","syntax","tree","source","wrap","metadata"],"license":"MIT","devDependencies":{"tap":"~0.4.8","readdirp":"~0.3.3","cardinal":"~0.4.4"},"dependencies":{"esprima-fb":"~12001.1.0-dev-harmony-fb"},"gitHead":"c8b61bd11354f06dcb2987f0dc253faee18f768a","bugs":{"url":"https://github.com/thlorenz/redeyed/issues"},"homepage":"https://github.com/thlorenz/redeyed","_id":"redeyed@0.5.0","_shasum":"7ab000e60ee3875ac115d29edb32c1403c6c25d1","_from":".","_npmVersion":"2.5.1","_nodeVersion":"1.2.0","_npmUser":{"name":"thlorenz","email":"thlorenz@gmx.de"},"maintainers":[{"name":"thlorenz","email":"thlorenz@gmx.de"}],"dist":{"shasum":"7ab000e60ee3875ac115d29edb32c1403c6c25d1","size":13945,"noattachment":false,"key":"/redeyed/-/redeyed-0.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/redeyed/download/redeyed-0.5.0.tgz"},"directories":{},"publish_time":1425273223493,"_cnpm_publish_time":1425273223493,"_hasShrinkwrap":false},"0.4.4":{"name":"redeyed","version":"0.4.4","description":"Takes JavaScript code, along with a config and returns the original code with tokens wrapped as configured.","author":{"name":"Thorsten Lorenz","email":"thlorenz@gmx.de","url":"thlorenz.com"},"main":"redeyed.js","scripts":{"test":"tap test/*.js","demo-log":"node examples/replace-log","demo":"cd examples/browser; open index.html"},"repository":{"type":"git","url":"git://github.com/thlorenz/redeyed.git"},"keywords":["ast","syntax","tree","source","wrap","metadata"],"license":"MIT","devDependencies":{"tap":"~0.4.8","readdirp":"~0.3.3","cardinal":"~0.4.4"},"dependencies":{"esprima":"~1.0.4"},"bugs":{"url":"https://github.com/thlorenz/redeyed/issues"},"homepage":"https://github.com/thlorenz/redeyed","_id":"redeyed@0.4.4","dist":{"shasum":"37e990a6f2b21b2a11c2e6a48fd4135698cba97f","size":13310,"noattachment":false,"key":"/redeyed/-/redeyed-0.4.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/redeyed/download/redeyed-0.4.4.tgz"},"_from":".","_npmVersion":"1.3.22","_npmUser":{"name":"thlorenz","email":"thlorenz@gmx.de"},"maintainers":[{"name":"thlorenz","email":"thlorenz@gmx.de"}],"directories":{},"publish_time":1393428597703,"_cnpm_publish_time":1393428597703,"_hasShrinkwrap":false},"0.4.3":{"name":"redeyed","version":"0.4.3","description":"Takes JavaScript code, along with a config and returns the original code with tokens wrapped as configured.","author":{"name":"Thorsten Lorenz","email":"thlorenz@gmx.de","url":"thlorenz.com"},"main":"redeyed.js","scripts":{"test":"tap test/*.js","demo-log":"node examples/replace-log","demo":"cd examples/browser; open index.html"},"repository":{"type":"git","url":"git://github.com/thlorenz/redeyed.git"},"keywords":["ast","syntax","tree","source","wrap","metadata"],"license":"MIT","devDependencies":{"tap":"~0.4.8","readdirp":"~0.3.3","cardinal":"~0.4.4"},"dependencies":{"esprima":"~1.0.4"},"bugs":{"url":"https://github.com/thlorenz/redeyed/issues"},"homepage":"https://github.com/thlorenz/redeyed","_id":"redeyed@0.4.3","dist":{"shasum":"fc1f294706e207173ec307957620e3592847fdd5","size":13302,"noattachment":false,"key":"/redeyed/-/redeyed-0.4.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/redeyed/download/redeyed-0.4.3.tgz"},"_from":".","_npmVersion":"1.3.22","_npmUser":{"name":"thlorenz","email":"thlorenz@gmx.de"},"maintainers":[{"name":"thlorenz","email":"thlorenz@gmx.de"}],"directories":{},"publish_time":1393428283605,"_cnpm_publish_time":1393428283605,"_hasShrinkwrap":false},"0.4.2":{"name":"redeyed","version":"0.4.2","description":"Takes JavaScript code, along with a config and returns the original code with tokens wrapped as configured.","author":{"name":"Thorsten Lorenz","email":"thlorenz@gmx.de","url":"thlorenz.com"},"main":"redeyed.js","scripts":{"test":"tap test/*.js","demo-log":"node examples/replace-log","demo":"cd examples/browser; open index.html"},"repository":{"type":"git","url":"git://github.com/thlorenz/redeyed.git"},"keywords":["ast","syntax","tree","source","wrap","metadata"],"license":"MIT","devDependencies":{"tap":"git://github.com/thlorenz/node-tap.git","readdirp":"~0.2.1","cardinal":"~0.2.0"},"dependencies":{"esprima":"~1.0.0"},"readmeFilename":"README.md","_id":"redeyed@0.4.2","dist":{"shasum":"f0133b990cb972bdbcf2d2dce0aec36595f419bc","size":13228,"noattachment":false,"key":"/redeyed/-/redeyed-0.4.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/redeyed/download/redeyed-0.4.2.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"thlorenz","email":"thlorenz@gmx.de"},"maintainers":[{"name":"thlorenz","email":"thlorenz@gmx.de"}],"directories":{},"publish_time":1365266785595,"_cnpm_publish_time":1365266785595,"_hasShrinkwrap":false},"0.4.1":{"name":"redeyed","version":"0.4.1","description":"Takes JavaScript code, along with a config and returns the original code with tokens wrapped as configured.","author":{"name":"Thorsten Lorenz","email":"thlorenz@gmx.de","url":"thlorenz.com"},"main":"redeyed.js","scripts":{"test":"tap test/*.js","demo-log":"node examples/replace-log","demo":"cd examples/browser; open index.html"},"repository":{"type":"git","url":"git://github.com/thlorenz/redeyed.git"},"keywords":["ast","syntax","tree","source","wrap","metadata"],"license":"MIT","devDependencies":{"tap":"~0.3.1","readdirp":"~0.2.1","cardinal":"~0.2.0"},"dependencies":{"esprima":"~1.0.0"},"readmeFilename":"README.md","_id":"redeyed@0.4.1","dist":{"shasum":"b66f9167ee07e677ce3fcc76d40f7df39bea1e48","size":13159,"noattachment":false,"key":"/redeyed/-/redeyed-0.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/redeyed/download/redeyed-0.4.1.tgz"},"_npmVersion":"1.1.65","_npmUser":{"name":"thlorenz","email":"thlorenz@gmx.de"},"maintainers":[{"name":"thlorenz","email":"thlorenz@gmx.de"}],"directories":{},"publish_time":1351734940063,"_cnpm_publish_time":1351734940063,"_hasShrinkwrap":false},"0.4.0":{"name":"redeyed","version":"0.4.0","description":"Takes JavaScript code, along with a config and returns the original code with tokens wrapped as configured.","author":{"name":"Thorsten Lorenz","email":"thlorenz@gmx.de","url":"thlorenz.com"},"main":"redeyed.js","scripts":{"test":"tap test/*.js","demo":"cd examples/browser; open index.html"},"repository":{"type":"git","url":"git://github.com/thlorenz/redeyed.git"},"keywords":["ast","syntax","tree","source","wrap","metadata"],"license":"MIT","devDependencies":{"tap":"~0.3.1","readdirp":"~0.2.1"},"dependencies":{"esprima":"~1.0.0"},"_id":"redeyed@0.4.0","dist":{"shasum":"bb73bc609314151b2a1303bc5c9330678397edbf","size":11042,"noattachment":false,"key":"/redeyed/-/redeyed-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/redeyed/download/redeyed-0.4.0.tgz"},"_npmVersion":"1.1.59","_npmUser":{"name":"thlorenz","email":"thlorenz@gmx.de"},"maintainers":[{"name":"thlorenz","email":"thlorenz@gmx.de"}],"directories":{},"publish_time":1351479631824,"_cnpm_publish_time":1351479631824,"_hasShrinkwrap":false},"0.3.0":{"name":"redeyed","version":"0.3.0","description":"Takes JavaScript code, along with a config and returns the original code with tokens wrapped as configured.","author":{"name":"Thorsten Lorenz","email":"thlorenz@gmx.de","url":"thlorenz.com"},"main":"redeyed.js","scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/thlorenz/redeyed.git"},"keywords":["ast","syntax","tree","source","wrap","metadata"],"license":"MIT","devDependencies":{"tap":"~0.3.1","readdirp":"~0.2.1"},"dependencies":{"esprima":"~1.0.0"},"_id":"redeyed@0.3.0","dist":{"shasum":"603595c78acf973f34e3aa9c675231cd0581a653","size":9078,"noattachment":false,"key":"/redeyed/-/redeyed-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/redeyed/download/redeyed-0.3.0.tgz"},"_npmVersion":"1.1.59","_npmUser":{"name":"thlorenz","email":"thlorenz@gmx.de"},"maintainers":[{"name":"thlorenz","email":"thlorenz@gmx.de"}],"directories":{},"publish_time":1351047405361,"_cnpm_publish_time":1351047405361,"_hasShrinkwrap":false},"0.2.0":{"name":"redeyed","version":"0.2.0","description":"Takes JavaScript code, along with a config and returns the original code with tokens wrapped as configured.","author":{"name":"Thorsten Lorenz","email":"thlorenz@gmx.de","url":"thlorenz.com"},"main":"redeyed.js","scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/thlorenz/redeyed.git"},"keywords":["ast","syntax","tree","source","wrap","metadata"],"license":"MIT","devDependencies":{"tap":"~0.3.1","readdirp":"~0.2.1"},"dependencies":{"esprima":"~1.0.0"},"_id":"redeyed@0.2.0","dist":{"shasum":"fb53f292b77cd47b1af830688b4801520cb5005c","size":7294,"noattachment":false,"key":"/redeyed/-/redeyed-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/redeyed/download/redeyed-0.2.0.tgz"},"_npmVersion":"1.1.59","_npmUser":{"name":"thlorenz","email":"thlorenz@gmx.de"},"maintainers":[{"name":"thlorenz","email":"thlorenz@gmx.de"}],"directories":{},"publish_time":1350927321637,"_cnpm_publish_time":1350927321637,"_hasShrinkwrap":false},"0.1.5":{"name":"redeyed","version":"0.1.5","description":"Takes JavaScript code, along with a config and returns the original code with tokens wrapped as configured.","author":{"name":"Thorsten Lorenz","email":"thlorenz@gmx.de","url":"thlorenz.com"},"main":"redeyed.js","scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/thlorenz/redeyed.git"},"keywords":["ast","syntax","tree","source","wrap","metadata"],"license":"MIT","devDependencies":{"tap":"~0.3.1","readdirp":"~0.2.1"},"dependencies":{"esprima":"~0.9.9"},"_id":"redeyed@0.1.5","dist":{"shasum":"0d7111a93dc66e1aefe01baaf21e09c9ad765cc3","size":7302,"noattachment":false,"key":"/redeyed/-/redeyed-0.1.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/redeyed/download/redeyed-0.1.5.tgz"},"_npmVersion":"1.1.59","_npmUser":{"name":"thlorenz","email":"thlorenz@gmx.de"},"maintainers":[{"name":"thlorenz","email":"thlorenz@gmx.de"}],"directories":{},"publish_time":1350918604194,"_cnpm_publish_time":1350918604194,"_hasShrinkwrap":false},"0.1.4":{"name":"redeyed","version":"0.1.4","description":"Takes JavaScript code, along with a config and returns the original code with tokens wrapped as configured.","author":{"name":"Thorsten Lorenz","email":"thlorenz@gmx.de","url":"thlorenz.com"},"main":"redeyed.js","scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/thlorenz/redeyed.git"},"keywords":["ast","syntax","tree","source","wrap","metadata"],"license":"MIT","devDependencies":{"tap":"~0.3.1","readdirp":"~0.2.1"},"dependencies":{"esprima":"~0.9.9"},"_id":"redeyed@0.1.4","dist":{"shasum":"f735b210277ce5bd30bbc4dcccfe7828145172ce","size":7244,"noattachment":false,"key":"/redeyed/-/redeyed-0.1.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/redeyed/download/redeyed-0.1.4.tgz"},"_npmVersion":"1.1.59","_npmUser":{"name":"thlorenz","email":"thlorenz@gmx.de"},"maintainers":[{"name":"thlorenz","email":"thlorenz@gmx.de"}],"directories":{},"publish_time":1350854513461,"_cnpm_publish_time":1350854513461,"_hasShrinkwrap":false},"0.1.3":{"name":"redeyed","version":"0.1.3","description":"Takes JavaScript code, along with a config and returns the original code with tokens wrapped as configured.","author":{"name":"Thorsten Lorenz","email":"thlorenz@gmx.de","url":"thlorenz.com"},"main":"redeyed.js","scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/thlorenz/redeyed.git"},"keywords":["ast","syntax","tree","source","wrap","metadata"],"license":"MIT","devDependencies":{"tap":"~0.3.1","readdirp":"~0.2.1"},"dependencies":{"esprima":"~0.9.9"},"_id":"redeyed@0.1.3","dist":{"shasum":"48fc72d6cfb18316187a1c9dc5e3694d5934bb8a","size":7181,"noattachment":false,"key":"/redeyed/-/redeyed-0.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/redeyed/download/redeyed-0.1.3.tgz"},"_npmVersion":"1.1.59","_npmUser":{"name":"thlorenz","email":"thlorenz@gmx.de"},"maintainers":[{"name":"thlorenz","email":"thlorenz@gmx.de"}],"directories":{},"publish_time":1350852453928,"_cnpm_publish_time":1350852453928,"_hasShrinkwrap":false},"0.1.2":{"name":"redeyed","version":"0.1.2","description":"Takes JavaScript code, along with a config and returns the original code with tokens wrapped as configured.","author":{"name":"Thorsten Lorenz","email":"thlorenz@gmx.de","url":"thlorenz.com"},"main":"redeyed.js","scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/thlorenz/redeyed.git"},"keywords":["ast","syntax","tree","source","wrap","metadata"],"license":"MIT","devDependencies":{"tap":"~0.3.1"},"dependencies":{"esprima":"~0.9.9"},"_id":"redeyed@0.1.2","dist":{"shasum":"422263d3b679f7173bb4c0535e33cffa6cbd92ce","size":6745,"noattachment":false,"key":"/redeyed/-/redeyed-0.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/redeyed/download/redeyed-0.1.2.tgz"},"_npmVersion":"1.1.59","_npmUser":{"name":"thlorenz","email":"thlorenz@gmx.de"},"maintainers":[{"name":"thlorenz","email":"thlorenz@gmx.de"}],"directories":{},"publish_time":1350845560576,"_cnpm_publish_time":1350845560576,"_hasShrinkwrap":false},"0.1.1":{"name":"redeyed","version":"0.1.1","description":"Takes a JavaScript abstract syntax tree, along with a config and returns the original code with words wrapped as configured.","author":{"name":"Thorsten Lorenz","email":"thlorenz@gmx.de","url":"thlorenz.com"},"main":"redeyed.js","scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/thlorenz/redeyed.git"},"keywords":["ast","syntax","tree","source","wrap","metadata"],"license":"MIT","devDependencies":{"tap":"~0.3.1"},"dependencies":{"esprima":"~0.9.9"},"_id":"redeyed@0.1.1","dist":{"shasum":"f129527737875059d6f479bdc492235cbc065c96","size":6585,"noattachment":false,"key":"/redeyed/-/redeyed-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/redeyed/download/redeyed-0.1.1.tgz"},"_npmVersion":"1.1.59","_npmUser":{"name":"thlorenz","email":"thlorenz@gmx.de"},"maintainers":[{"name":"thlorenz","email":"thlorenz@gmx.de"}],"directories":{},"publish_time":1350776438172,"_cnpm_publish_time":1350776438172,"_hasShrinkwrap":false},"0.1.0":{"name":"redeyed","version":"0.1.0","description":"Takes a JavaScript abstract syntax tree, along with a config and returns the original code with words wrapped as configured.","author":{"name":"Thorsten Lorenz","email":"thlorenz@gmx.de","url":"thlorenz.com"},"main":"redeyed.js","scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/thlorenz/redeyed.git"},"keywords":["ast","syntax","tree","source","wrap","metadata"],"license":"MIT","devDependencies":{"tap":"~0.3.1"},"dependencies":{"esprima":"~0.9.9"},"_id":"redeyed@0.1.0","dist":{"shasum":"96fdbe59d6fff4c35e6365db67b18ed42c399172","size":6061,"noattachment":false,"key":"/redeyed/-/redeyed-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/redeyed/download/redeyed-0.1.0.tgz"},"_npmVersion":"1.1.59","_npmUser":{"name":"thlorenz","email":"thlorenz@gmx.de"},"maintainers":[{"name":"thlorenz","email":"thlorenz@gmx.de"}],"directories":{},"publish_time":1350699618066,"_cnpm_publish_time":1350699618066,"_hasShrinkwrap":false}},"readme":"# redeyed [![build status](https://secure.travis-ci.org/thlorenz/redeyed.svg?branch=master)](http://travis-ci.org/thlorenz/redeyed)\n\n<a href=\"https://www.patreon.com/bePatron?u=8663953\"><img alt=\"become a patron\" src=\"https://c5.patreon.com/external/logo/become_a_patron_button.png\" height=\"35px\"></a>\n\n*Add color to your JavaScript!*\n\n![frog](http://allaboutfrogs.org/gallery/photos/redeyes/red1.gif)\n\n[Red Eyed Tree Frog](http://allaboutfrogs.org/info/species/redeye.html) *(Agalychnis callidryas)*\n\n## What?\n\nTakes JavaScript code, along with a config and returns the original code with tokens wrapped and/or replaced as configured.\n\n## Where?\n\n- server side using nodejs\n- in the [browser](#browser-support)\n\n## What for?\n\nOne usecase is adding metadata to your code that can then be used to apply syntax highlighting.\n\n## How?\n\n- copy the [config.js](https://github.com/thlorenz/redeyed/blob/master/config.js) and edit it in order to specify how\n  certain tokens are to be surrounded/replaced\n- replace the `undefined` of each token you want to configure with one of the following\n\n### {String} config\n\n`'before:after'`\n\nwraps the token inside before/after \n\n### {Object} config\n\n`{ _before: 'before', _after: 'after' }`\n\nwraps token inside before/after\n\n#### Missing before and after resolution for {String} and {Object} config\n\nFor the `{String}` and `{Object}` configurations, 'before' or 'after' may be omitted:\n\n- `{String}`: \n  - `'before:'` (omitting 'after')\n  - `':after'` (omitting 'before')\n- `{Object}`: \n  - `{ _before: 'before' }` (omitting '_after')\n  - `{ _after: 'after' }` (omitting '_before')\n\nIn these cases the missing half is resolved as follows:\n\n- from the `parent._default` (i.e., `Keyword._default`) if found\n- otherwise from the `config._default` if found\n- otherwise `''` (empty string)\n\n### {Function} config\n\n`function (tokenString, info) { return {String}|{Object}; }`\n\n#### Inputs\n\n- tokenString: the content of the token that is currently being processed\n- info: an object with the following structure\n\n```js\n{\n    // {Int}\n    // the index of the token being processed inside tokens\n    tokenIndex\n\n    // {Array}\n    // all tokens that are being processed including comments \n    // (i.e. the result of merging esprima tokens and comments)\n  , tokens  \n\n    // {Object} \n    // the abstract syntax tree of the parsed code\n  , ast  \n\n    // {String}\n    // the code that was parsed (same string as the one passed to redeyed(code ..)\n  , code\n}\n```\n\nIn most cases the `tokenString` is all you need. The extra info object is passed in case you need to gather more\ninformation about the `token`'s surroundings in order to decide how to transform it. \nSee: [replace-log-example](https://github.com/thlorenz/redeyed/blob/master/examples/replace-log.js)\n\n#### Output\n\nYou can return a {String} or an {Object} from a {Function} config.\n\n- when returning a {String}, the token value will be replaced with it\n- when returning an {Object}, it should be of the following form:\n\n```js\n{\n    // {String}\n    // the string that should be substituted for the value of the current and all skipped tokens\n    replacement\n\n    // {Object} (Token)\n    // the token after which processing should continue\n    // all tokens in between the current one and this one inclusive will be ignored\n  , skipPastToken\n}\n```\n\n### Transforming JavaScript code\n\n***redeyed(code, config[, opts])***\n\nInvoke redeyed with your **config**uration, a **code** snippet and maybe **opts** as in the below example:\n\n```javascript\nvar redeyed = require('redeyed')\n  , config = require('./path/to/config')\n  , code = 'var a = 3;'\n  , result;\n\n// redeyed will throw an error (caused by the esprima parser) if the code has invalid javascript\ntry {\n  result = redeyed(code, config);\n  console.log(result.code);\n} catch(err) {\n  console.error(err);\n}\n```\n\n***opts***:\n```js\n{ // {Boolean}\n  // if true `result.ast` property contains the abstract syntax tree of the code\n  // if false (default) `result.ast` is not assigned and therefore `undefined`\n  buildAst: true|false\n  // {Boolean}\n  // if `true`, jsx syntax is supported, default `false`\n  // due to how esprima works, the AST is built when this option is `true`, even if\n  // `buildAST` is `false`\n, jsx: true|false\n  // {Boolean}\n  // if true `result.code` is not assigned and therefore `undefined`\n  // if false (default) `result.code` property contains the result of `split.join`\n  nojoin: true|false\n  // {Object}\n  // overrides default parser `esprima-fb` and needs to be compatible with it\n  parser: require('esprima') \n}\n```\n\n***return value***:\n\n```js\n{   ast      \n  , tokens   \n  , comments \n  , splits   \n  , code     \n}\n```\n\n- ast `{Array}`: [abstract syntax tree](http://en.wikipedia.org/wiki/Abstract_syntax_tree) as returned by [esprima\n  parse](http://en.wikipedia.org/wiki/Abstract_syntax_tree)\n- tokens `{Array}`: [tokens](http://en.wikipedia.org/wiki/Token_(parser)) provided by esprima (excluding\n  comments)\n- comments `{Array}`: block and line comments as provided by esprima\n- splits `{Array}`: code pieces split up, some of which where transformed as configured\n- code `{String}`: transformed code, same as `splits.join('')` unless this step has been skipped (see opts)\n\n## Browser Support\n\n### AMD\n\nEnsure to include [esprima](https://github.com/ariya/esprima) as one of your dependencies\n\n```js\ndefine(['redeyed'], function (redeyed) {\n [ .. ]\n});\n```\n\n### Attached to global window object\n\nThe `redeyed {Function}` will be exposed globally as `window.redeyed` - big surprise!\n\n```html\n<script type=\"text/javascript\" src=\"https://unpkg.com/esprima\"></script>\n<script type=\"text/javascript\" src=\"https://unpkg.com/redeyed\"></script>\n```\n\n## redeyed in the wild\n\n- [cardinal](https://github.com/thlorenz/cardinal): Syntax highlights JavaScript code with ANSI colors to be printed to\n  the terminal\n- [peacock](http://thlorenz.github.com/peacock/): JavaScript syntax highlighter that generates html that is compatible\n  with pygments styles.\n\n## Examples\n\n- `npm explore redeyed; npm demo` will let you try the [browser example](https://github.com/thlorenz/redeyed/tree/master/examples/browser)\n- `npm explore redeyed; npm demo-log` will let you try the [replace log example](https://github.com/thlorenz/redeyed/blob/master/examples/replace-log.js)\n\n","_attachments":{},"homepage":"https://github.com/thlorenz/redeyed#readme","bugs":{"url":"https://github.com/thlorenz/redeyed/issues"},"license":"MIT"}