{"_id":"unreachable-branch-transform","_rev":"14834","name":"unreachable-branch-transform","description":"Browserify transform to remove unreachable code","dist-tags":{"latest":"0.5.1"},"maintainers":[{"name":"zertosh","email":""}],"time":{"modified":"2021-06-03T09:58:41.000Z","created":"2014-09-28T23:27:12.402Z","0.5.1":"2016-04-14T05:47:49.580Z","0.5.0":"2015-09-18T18:54:54.738Z","0.4.0":"2015-08-30T15:55:20.170Z","0.3.0":"2015-06-27T22:58:57.872Z","0.2.3":"2015-03-22T20:38:11.163Z","0.2.2":"2015-03-06T18:53:09.828Z","0.2.1":"2015-03-01T16:31:09.152Z","0.2.0":"2015-01-24T04:14:39.704Z","0.1.0":"2014-09-28T23:28:47.471Z","0.0.2":"2014-09-28T23:27:12.402Z"},"users":{},"author":{"name":"Andres Suarez","email":"zertosh@gmail.com"},"repository":{"type":"git","url":"git://github.com/zertosh/unreachable-branch-transform.git"},"versions":{"0.5.1":{"name":"unreachable-branch-transform","version":"0.5.1","description":"Browserify transform to remove unreachable code","keywords":["browserify","browserify-transform","transform","minify","unreachable"],"homepage":"https://github.com/zertosh/unreachable-branch-transform","license":"MIT","author":{"name":"Andres Suarez","email":"zertosh@gmail.com"},"files":["README.md","index.js","unreachableBranchTransformer.js"],"main":"index.js","repository":{"type":"git","url":"git://github.com/zertosh/unreachable-branch-transform.git"},"dependencies":{"esmangle-evaluator":"^1.0.0","recast":"^0.11.4"},"devDependencies":{"browserify":"^13.0.0","tap":"^5.7.1"},"scripts":{"test":"tap test/*.js"},"gitHead":"9b47a0aea78a873a4d3efb4e48d0455ed8d72d01","bugs":{"url":"https://github.com/zertosh/unreachable-branch-transform/issues"},"_id":"unreachable-branch-transform@0.5.1","_shasum":"5e0a5da810b4f4cc6866afc28b59aa6e8c84db5d","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.1","_npmUser":{"name":"zertosh","email":"zertosh@gmail.com"},"dist":{"shasum":"5e0a5da810b4f4cc6866afc28b59aa6e8c84db5d","size":3083,"noattachment":false,"key":"/unreachable-branch-transform/-/unreachable-branch-transform-0.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/unreachable-branch-transform/download/unreachable-branch-transform-0.5.1.tgz"},"maintainers":[{"name":"zertosh","email":""}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/unreachable-branch-transform-0.5.1.tgz_1460612866423_0.1859290194697678"},"directories":{},"publish_time":1460612869580,"_cnpm_publish_time":1460612869580,"_hasShrinkwrap":false},"0.5.0":{"name":"unreachable-branch-transform","version":"0.5.0","description":"Browserify transform to remove unreachable code","keywords":["browserify","browserify-transform","transform","minify","unreachable"],"homepage":"https://github.com/zertosh/unreachable-branch-transform","license":"MIT","author":{"name":"Andres Suarez","email":"zertosh@gmail.com"},"files":["README.md","index.js","unreachableBranchTransformer.js"],"main":"index.js","repository":{"type":"git","url":"git://github.com/zertosh/unreachable-branch-transform.git"},"dependencies":{"esmangle-evaluator":"^1.0.0","recast":"^0.10.1"},"devDependencies":{"browserify":"^11.0.1","tap":"^1.0.2"},"scripts":{"test":"tap test/*.js"},"gitHead":"6bf05b32ae5f96af0b25d7b68f70bc12b5be266e","bugs":{"url":"https://github.com/zertosh/unreachable-branch-transform/issues"},"_id":"unreachable-branch-transform@0.5.0","_shasum":"e29d452b9ae665e9de0e25a025294c419a02315b","_from":".","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"zertosh","email":"zertosh@gmail.com"},"maintainers":[{"name":"zertosh","email":""}],"dist":{"shasum":"e29d452b9ae665e9de0e25a025294c419a02315b","size":2862,"noattachment":false,"key":"/unreachable-branch-transform/-/unreachable-branch-transform-0.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/unreachable-branch-transform/download/unreachable-branch-transform-0.5.0.tgz"},"directories":{},"publish_time":1442602494738,"_cnpm_publish_time":1442602494738,"_hasShrinkwrap":false},"0.4.0":{"name":"unreachable-branch-transform","version":"0.4.0","description":"Browserify transform to remove unreachable code","keywords":["browserify","browserify-transform","transform","minify","unreachable"],"homepage":"https://github.com/zertosh/unreachable-branch-transform","license":"MIT","author":{"name":"Andres Suarez","email":"zertosh@gmail.com"},"files":["README.md","index.js","unreachableBranchTransformer.js"],"main":"index.js","repository":{"type":"git","url":"git://github.com/zertosh/unreachable-branch-transform.git"},"dependencies":{"esmangle-evaluator":"^1.0.0","recast":"^0.10.1"},"devDependencies":{"browserify":"^11.0.1","tap":"^1.0.2"},"scripts":{"test":"tap test/*.js"},"gitHead":"48937ff91be015b84c60f65383e315c327767786","bugs":{"url":"https://github.com/zertosh/unreachable-branch-transform/issues"},"_id":"unreachable-branch-transform@0.4.0","_shasum":"a23e76e634dceef4fd952d7b2481fc7064db511f","_from":".","_npmVersion":"2.13.3","_nodeVersion":"3.2.0","_npmUser":{"name":"zertosh","email":"zertosh@gmail.com"},"maintainers":[{"name":"zertosh","email":""}],"dist":{"shasum":"a23e76e634dceef4fd952d7b2481fc7064db511f","size":2182,"noattachment":false,"key":"/unreachable-branch-transform/-/unreachable-branch-transform-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/unreachable-branch-transform/download/unreachable-branch-transform-0.4.0.tgz"},"directories":{},"publish_time":1440950120170,"_cnpm_publish_time":1440950120170,"_hasShrinkwrap":false},"0.3.0":{"name":"unreachable-branch-transform","version":"0.3.0","description":"Browserify transform to remove unreachable code","keywords":["browserify","browserify-transform","transform","minify","unreachable"],"homepage":"https://github.com/zertosh/unreachable-branch-transform","license":"MIT","author":{"name":"Andres Suarez","email":"zertosh@gmail.com"},"files":["README.md","LICENSE","index.js","unreachableBranchTransformer.js"],"main":"index.js","repository":{"type":"git","url":"git://github.com/zertosh/unreachable-branch-transform.git"},"scripts":{"test":"mocha test/*.js"},"dependencies":{"esmangle-evaluator":"^1.0.0","recast":"^0.10.1","through2":"^0.6.2"},"devDependencies":{"mocha":"^2.1.0"},"gitHead":"d0bf6e12f07b2d4677cca810e0c91a5820f7eddf","bugs":{"url":"https://github.com/zertosh/unreachable-branch-transform/issues"},"_id":"unreachable-branch-transform@0.3.0","_shasum":"d99cc4c6e746d264928845b611db54b0f3474caa","_from":".","_npmVersion":"2.12.0","_nodeVersion":"0.10.38","_npmUser":{"name":"zertosh","email":"zertosh@gmail.com"},"maintainers":[{"name":"zertosh","email":""}],"dist":{"shasum":"d99cc4c6e746d264928845b611db54b0f3474caa","size":2661,"noattachment":false,"key":"/unreachable-branch-transform/-/unreachable-branch-transform-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/unreachable-branch-transform/download/unreachable-branch-transform-0.3.0.tgz"},"directories":{},"publish_time":1435445937872,"_cnpm_publish_time":1435445937872,"_hasShrinkwrap":false},"0.2.3":{"name":"unreachable-branch-transform","version":"0.2.3","description":"Browserify transform to remove unreachable code","keywords":["browserify","browserify-transform","transform","minify","unreachable"],"homepage":"https://github.com/zertosh/unreachable-branch-transform","license":"MIT","author":{"name":"Andres Suarez","email":"zertosh@gmail.com"},"files":["README.md","LICENSE","index.js","unreachableBranchTransformer.js"],"main":"index.js","repository":{"type":"git","url":"git://github.com/zertosh/unreachable-branch-transform.git"},"scripts":{"test":"mocha test/*.js"},"dependencies":{"esmangle-evaluator":"^1.0.0","recast":"^0.10.1","through2":"^0.6.2"},"devDependencies":{"mocha":"^2.1.0"},"gitHead":"3bf0a76e5877ba6522211944aa64385c81eec313","bugs":{"url":"https://github.com/zertosh/unreachable-branch-transform/issues"},"_id":"unreachable-branch-transform@0.2.3","_shasum":"ec1ebd24c4e13bc40bf9d70d8309e2b4cde58eb6","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"zertosh","email":"zertosh@gmail.com"},"maintainers":[{"name":"zertosh","email":""}],"dist":{"shasum":"ec1ebd24c4e13bc40bf9d70d8309e2b4cde58eb6","size":2646,"noattachment":false,"key":"/unreachable-branch-transform/-/unreachable-branch-transform-0.2.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/unreachable-branch-transform/download/unreachable-branch-transform-0.2.3.tgz"},"directories":{},"publish_time":1427056691163,"_cnpm_publish_time":1427056691163,"_hasShrinkwrap":false},"0.2.2":{"name":"unreachable-branch-transform","version":"0.2.2","description":"Browserify transform to remove unreachable code","keywords":["browserify","browserify-transform","transform","minify","unreachable"],"homepage":"https://github.com/zertosh/unreachable-branch-transform","license":"MIT","author":{"name":"Andres Suarez","email":"zertosh@gmail.com"},"files":["README.md","LICENSE","lib/common.js","lib/evaluator.js","index.js","unreachableBranchTransformer.js"],"main":"index.js","repository":{"type":"git","url":"git://github.com/zertosh/unreachable-branch-transform.git"},"scripts":{"test":"mocha test/*.js"},"dependencies":{"recast":"^0.10.1","through2":"^0.6.2"},"devDependencies":{"mocha":"^2.1.0"},"gitHead":"1faede36ca38f3de7c0b941080d3a5e0672e618d","bugs":{"url":"https://github.com/zertosh/unreachable-branch-transform/issues"},"_id":"unreachable-branch-transform@0.2.2","_shasum":"d710f9080b059dbae421fde44d9fdc038c7f490b","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"zertosh","email":"zertosh@gmail.com"},"maintainers":[{"name":"zertosh","email":""}],"dist":{"shasum":"d710f9080b059dbae421fde44d9fdc038c7f490b","size":4959,"noattachment":false,"key":"/unreachable-branch-transform/-/unreachable-branch-transform-0.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/unreachable-branch-transform/download/unreachable-branch-transform-0.2.2.tgz"},"directories":{},"publish_time":1425667989828,"_cnpm_publish_time":1425667989828,"_hasShrinkwrap":false},"0.2.1":{"name":"unreachable-branch-transform","version":"0.2.1","description":"Browserify transform to remove unreachable code","keywords":["browserify","browserify-transform","transform","minify","unreachable"],"homepage":"https://github.com/zertosh/unreachable-branch-transform","license":"MIT","author":{"name":"Andres Suarez","email":"zertosh@gmail.com"},"files":["README.md","LICENSE","lib/common.js","lib/evaluator.js","index.js","unreachableBranchTransformer.js"],"main":"index.js","repository":{"type":"git","url":"git://github.com/zertosh/unreachable-branch-transform.git"},"scripts":{"test":"mocha test/*.js"},"dependencies":{"recast":"^0.10.1","through2":"^0.6.2"},"devDependencies":{"mocha":"^2.1.0"},"gitHead":"70f3f8a539a39ebbbbafb6017fe1ed5d02fceae1","bugs":{"url":"https://github.com/zertosh/unreachable-branch-transform/issues"},"_id":"unreachable-branch-transform@0.2.1","_shasum":"1345f188ec6539d312025ba8f361042148f71eba","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"zertosh","email":"zertosh@gmail.com"},"maintainers":[{"name":"zertosh","email":""}],"dist":{"shasum":"1345f188ec6539d312025ba8f361042148f71eba","size":4951,"noattachment":false,"key":"/unreachable-branch-transform/-/unreachable-branch-transform-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/unreachable-branch-transform/download/unreachable-branch-transform-0.2.1.tgz"},"directories":{},"publish_time":1425227469152,"_cnpm_publish_time":1425227469152,"_hasShrinkwrap":false},"0.2.0":{"name":"unreachable-branch-transform","version":"0.2.0","description":"Browserify transform to remove unreachable code","keywords":["browserify","browserify-transform","transform","minify","unreachable"],"homepage":"https://github.com/zertosh/unreachable-branch-transform","license":"MIT","author":{"name":"Andres Suarez","email":"zertosh@gmail.com"},"files":["README.md","LICENSE","lib/common.js","lib/evaluator.js","index.js","unreachableBranchTransformer.js"],"main":"index.js","repository":{"type":"git","url":"git://github.com/zertosh/unreachable-branch-transform.git"},"scripts":{"test":"mocha test/*.js"},"dependencies":{"recast":"^0.9.15","through2":"^0.6.2"},"devDependencies":{"mocha":"^2.1.0"},"gitHead":"8539262ea930f2d2e820e147724080c24a1536d9","bugs":{"url":"https://github.com/zertosh/unreachable-branch-transform/issues"},"_id":"unreachable-branch-transform@0.2.0","_shasum":"218ee5970c58452ab9f317d05b3eaaa8fd6ef817","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"zertosh","email":"zertosh@gmail.com"},"maintainers":[{"name":"zertosh","email":""}],"dist":{"shasum":"218ee5970c58452ab9f317d05b3eaaa8fd6ef817","size":4931,"noattachment":false,"key":"/unreachable-branch-transform/-/unreachable-branch-transform-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/unreachable-branch-transform/download/unreachable-branch-transform-0.2.0.tgz"},"directories":{},"publish_time":1422072879704,"_cnpm_publish_time":1422072879704,"_hasShrinkwrap":false},"0.1.0":{"name":"unreachable-branch-transform","version":"0.1.0","description":"Browserify transform (and jstransform visitor) to comment out unreachable code branches","keywords":["browserify","browserify-transform","transform","minify","unreachable"],"homepage":"https://github.com/zertosh/unreachable-branch-transform","author":{"name":"Andres Suarez","email":"zertosh@gmail.com"},"bugs":{"url":"https://github.com/zertosh/unreachable-branch-transform/issues"},"repository":{"type":"git","url":"git://github.com/zertosh/unreachable-branch-transform.git"},"main":"index.js","scripts":{"test":"tape test/*.js"},"license":"MIT","dependencies":{"jstransform":"^6.3.2","through2":"^0.6.2"},"devDependencies":{"tape":"^3.0.0"},"gitHead":"41585ad53874629c5a6f6fcaaf75b6f6c5cb3e47","_id":"unreachable-branch-transform@0.1.0","_shasum":"7120bdc64feec2853fd76b182e2bc9b762afe421","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"zertosh","email":"zertosh@gmail.com"},"maintainers":[{"name":"zertosh","email":""}],"dist":{"shasum":"7120bdc64feec2853fd76b182e2bc9b762afe421","size":4928,"noattachment":false,"key":"/unreachable-branch-transform/-/unreachable-branch-transform-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/unreachable-branch-transform/download/unreachable-branch-transform-0.1.0.tgz"},"directories":{},"publish_time":1411946927471,"_cnpm_publish_time":1411946927471,"_hasShrinkwrap":false},"0.0.2":{"name":"unreachable-branch-transform","version":"0.0.2","description":"Browserify transform (and jstransform visitor) to comment out unreachable code branches","keywords":["browserify","browserify-transform","transform","minify","unreachable"],"homepage":"https://github.com/zertosh/unreachable-branch-transform","author":{"name":"Andres Suarez","email":"zertosh@gmail.com"},"bugs":{"url":"https://github.com/zertosh/unreachable-branch-transform/issues"},"repository":{"type":"git","url":"git://github.com/zertosh/unreachable-branch-transform.git"},"main":"index.js","scripts":{"test":"tape test/*.js"},"license":"MIT","dependencies":{"jstransform":"^6.3.2","through2":"^0.6.2"},"devDependencies":{"tape":"^3.0.0"},"gitHead":"0a3b8db2f68db857af9fe179d70fb8241cfccce8","_id":"unreachable-branch-transform@0.0.2","_shasum":"c1817986f8822477d0270b7c6af564bd4bf3b6ba","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"zertosh","email":"zertosh@gmail.com"},"maintainers":[{"name":"zertosh","email":""}],"dist":{"shasum":"c1817986f8822477d0270b7c6af564bd4bf3b6ba","size":4930,"noattachment":false,"key":"/unreachable-branch-transform/-/unreachable-branch-transform-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/unreachable-branch-transform/download/unreachable-branch-transform-0.0.2.tgz"},"deprecated":"Incorrect version number","directories":{},"publish_time":1411946832402,"_cnpm_publish_time":1411946832402,"_hasShrinkwrap":false}},"readme":"unreachable-branch-transform\n============================\n\n[![Build Status](https://travis-ci.org/zertosh/unreachable-branch-transform.svg?branch=master)](https://travis-ci.org/zertosh/unreachable-branch-transform)\n\nRemoves unreachable code branches in `if` statements, ternaries `?`, and logical operations `||` `&&`, where the test is determinable (like comparing two constants). This is similar to what [UglifyJS](https://github.com/mishoo/UglifyJS2)'s \"dead_code\" compressor option does, but without the extra code transformations.\n\nWhen combined with something like [envify](https://github.com/hughsk/envify) and [browserify](https://github.com/substack/node-browserify), you can perform conditional `require` calls without including more code than you need.\n\n#### Install ####\n\n```bash\nnpm install unreachable-branch-transform\n```\n\n#### Example outputs #####\n\n```js\n// original \nvar transport = process.env.TARGET === 'client' ? require('ajax') : require('fs');\n\n// after envify\nvar transport = 'server' === 'client' ? require('ajax') : require('fs');\n// then after unreachable-branch-transform\nvar transport = require('fs');\n```\n\n```js\n// original\nif (process.env.NODE_ENV === 'development') {\n  console.log('in dev mode');\n} else {\n  console.log('in some other mode');\n}\n\n// after envify\nif ('production' === 'development') {\n  console.log('in dev mode');\n} else {\n  console.log('in some other mode');\n}\n\n// then after unreachable-branch-transform\n{\n  console.log('in some other mode');\n}\n```\n\n#### Usage\n\n\n\n* `unreachable-branch-transform` can be used a [browserify](https://github.com/substack/node-browserify) transform. Just include it like any other transform.\n* `unreachable-branch-transform` can also be used on raw code by calling the `transform` function exposed by requiring the package.\n\n#### Frequently asked questions ####\n\n##### Why are `undefined` equality references not removed?\n\nIf you have a branch with the format\n\n```javascript\nif (undefined === 'production') {\n  /* ... */\n}\n```\n\nit will not be removed. Unfortunately, `undefined` is _not_ a constant in older browser runtimes and can be reassigned. In this case, it could be possible that `undefined` does indeed equal `'production`'.\n\nCredit\n------\n`esmangle-evaluator` is from the [esmangle](https://github.com/Constellation/esmangle) project.\n","_attachments":{},"homepage":"https://github.com/zertosh/unreachable-branch-transform","bugs":{"url":"https://github.com/zertosh/unreachable-branch-transform/issues"},"license":"MIT"}