├── .gitignore ├── LICENSE ├── README.md ├── index.js ├── package-lock.json ├── package.json ├── sample.js └── test ├── app ├── index.html ├── main.js ├── renderer.js └── test_input.txt ├── basic.js └── electron.js /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Created by https://www.gitignore.io/api/osx,node,linux 3 | 4 | ### Linux ### 5 | *~ 6 | 7 | # temporary files which can be created if a process still has a handle open of a deleted file 8 | .fuse_hidden* 9 | 10 | # KDE directory preferences 11 | .directory 12 | 13 | # Linux trash folder which might appear on any partition or disk 14 | .Trash-* 15 | 16 | # .nfs files are created when an open file is removed but is still being accessed 17 | .nfs* 18 | 19 | ### Node ### 20 | # Logs 21 | logs 22 | *.log 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | 27 | # Runtime data 28 | pids 29 | *.pid 30 | *.seed 31 | *.pid.lock 32 | 33 | # Directory for instrumented libs generated by jscoverage/JSCover 34 | lib-cov 35 | 36 | # Coverage directory used by tools like istanbul 37 | coverage 38 | 39 | # nyc test coverage 40 | .nyc_output 41 | 42 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 43 | .grunt 44 | 45 | # Bower dependency directory (https://bower.io/) 46 | bower_components 47 | 48 | # node-waf configuration 49 | .lock-wscript 50 | 51 | # Compiled binary addons (http://nodejs.org/api/addons.html) 52 | build/Release 53 | 54 | # Dependency directories 55 | node_modules/ 56 | jspm_packages/ 57 | 58 | # Typescript v1 declaration files 59 | typings/ 60 | 61 | # Optional npm cache directory 62 | .npm 63 | 64 | # Optional eslint cache 65 | .eslintcache 66 | 67 | # Optional REPL history 68 | .node_repl_history 69 | 70 | # Output of 'npm pack' 71 | *.tgz 72 | 73 | # Yarn Integrity file 74 | .yarn-integrity 75 | 76 | # dotenv environment variables file 77 | .env 78 | 79 | 80 | ### OSX ### 81 | *.DS_Store 82 | .AppleDouble 83 | .LSOverride 84 | 85 | # Icon must end with two \r 86 | Icon 87 | 88 | # Thumbnails 89 | ._* 90 | 91 | # Files that might appear in the root of a volume 92 | .DocumentRevisions-V100 93 | .fseventsd 94 | .Spotlight-V100 95 | .TemporaryItems 96 | .Trashes 97 | .VolumeIcon.icns 98 | .com.apple.timemachine.donotpresent 99 | 100 | # Directories potentially created on remote AFP share 101 | .AppleDB 102 | .AppleDesktop 103 | Network Trash Folder 104 | Temporary Items 105 | .apdisk 106 | 107 | # End of https://www.gitignore.io/api/osx,node,linux 108 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Creative Commons Legal Code 2 | 3 | CC0 1.0 Universal 4 | 5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE 6 | LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN 7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS 8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES 9 | REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS 10 | PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM 11 | THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED 12 | HEREUNDER. 13 | 14 | Statement of Purpose 15 | 16 | The laws of most jurisdictions throughout the world automatically confer 17 | exclusive Copyright and Related Rights (defined below) upon the creator 18 | and subsequent owner(s) (each and all, an "owner") of an original work of 19 | authorship and/or a database (each, a "Work"). 20 | 21 | Certain owners wish to permanently relinquish those rights to a Work for 22 | the purpose of contributing to a commons of creative, cultural and 23 | scientific works ("Commons") that the public can reliably and without fear 24 | of later claims of infringement build upon, modify, incorporate in other 25 | works, reuse and redistribute as freely as possible in any form whatsoever 26 | and for any purposes, including without limitation commercial purposes. 27 | These owners may contribute to the Commons to promote the ideal of a free 28 | culture and the further production of creative, cultural and scientific 29 | works, or to gain reputation or greater distribution for their Work in 30 | part through the use and efforts of others. 31 | 32 | For these and/or other purposes and motivations, and without any 33 | expectation of additional consideration or compensation, the person 34 | associating CC0 with a Work (the "Affirmer"), to the extent that he or she 35 | is an owner of Copyright and Related Rights in the Work, voluntarily 36 | elects to apply CC0 to the Work and publicly distribute the Work under its 37 | terms, with knowledge of his or her Copyright and Related Rights in the 38 | Work and the meaning and intended legal effect of CC0 on those rights. 39 | 40 | 1. Copyright and Related Rights. A Work made available under CC0 may be 41 | protected by copyright and related or neighboring rights ("Copyright and 42 | Related Rights"). Copyright and Related Rights include, but are not 43 | limited to, the following: 44 | 45 | i. the right to reproduce, adapt, distribute, perform, display, 46 | communicate, and translate a Work; 47 | ii. moral rights retained by the original author(s) and/or performer(s); 48 | iii. publicity and privacy rights pertaining to a person's image or 49 | likeness depicted in a Work; 50 | iv. rights protecting against unfair competition in regards to a Work, 51 | subject to the limitations in paragraph 4(a), below; 52 | v. rights protecting the extraction, dissemination, use and reuse of data 53 | in a Work; 54 | vi. database rights (such as those arising under Directive 96/9/EC of the 55 | European Parliament and of the Council of 11 March 1996 on the legal 56 | protection of databases, and under any national implementation 57 | thereof, including any amended or successor version of such 58 | directive); and 59 | vii. other similar, equivalent or corresponding rights throughout the 60 | world based on applicable law or treaty, and any national 61 | implementations thereof. 62 | 63 | 2. Waiver. To the greatest extent permitted by, but not in contravention 64 | of, applicable law, Affirmer hereby overtly, fully, permanently, 65 | irrevocably and unconditionally waives, abandons, and surrenders all of 66 | Affirmer's Copyright and Related Rights and associated claims and causes 67 | of action, whether now known or unknown (including existing as well as 68 | future claims and causes of action), in the Work (i) in all territories 69 | worldwide, (ii) for the maximum duration provided by applicable law or 70 | treaty (including future time extensions), (iii) in any current or future 71 | medium and for any number of copies, and (iv) for any purpose whatsoever, 72 | including without limitation commercial, advertising or promotional 73 | purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each 74 | member of the public at large and to the detriment of Affirmer's heirs and 75 | successors, fully intending that such Waiver shall not be subject to 76 | revocation, rescission, cancellation, termination, or any other legal or 77 | equitable action to disrupt the quiet enjoyment of the Work by the public 78 | as contemplated by Affirmer's express Statement of Purpose. 79 | 80 | 3. Public License Fallback. Should any part of the Waiver for any reason 81 | be judged legally invalid or ineffective under applicable law, then the 82 | Waiver shall be preserved to the maximum extent permitted taking into 83 | account Affirmer's express Statement of Purpose. In addition, to the 84 | extent the Waiver is so judged Affirmer hereby grants to each affected 85 | person a royalty-free, non transferable, non sublicensable, non exclusive, 86 | irrevocable and unconditional license to exercise Affirmer's Copyright and 87 | Related Rights in the Work (i) in all territories worldwide, (ii) for the 88 | maximum duration provided by applicable law or treaty (including future 89 | time extensions), (iii) in any current or future medium and for any number 90 | of copies, and (iv) for any purpose whatsoever, including without 91 | limitation commercial, advertising or promotional purposes (the 92 | "License"). The License shall be deemed effective as of the date CC0 was 93 | applied by Affirmer to the Work. Should any part of the License for any 94 | reason be judged legally invalid or ineffective under applicable law, such 95 | partial invalidity or ineffectiveness shall not invalidate the remainder 96 | of the License, and in such case Affirmer hereby affirms that he or she 97 | will not (i) exercise any of his or her remaining Copyright and Related 98 | Rights in the Work or (ii) assert any associated claims and causes of 99 | action with respect to the Work, in either case contrary to Affirmer's 100 | express Statement of Purpose. 101 | 102 | 4. Limitations and Disclaimers. 103 | 104 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 105 | surrendered, licensed or otherwise affected by this document. 106 | b. Affirmer offers the Work as-is and makes no representations or 107 | warranties of any kind concerning the Work, express, implied, 108 | statutory or otherwise, including without limitation warranties of 109 | title, merchantability, fitness for a particular purpose, non 110 | infringement, or the absence of latent or other defects, accuracy, or 111 | the present or absence of errors, whether or not discoverable, all to 112 | the greatest extent permissible under applicable law. 113 | c. Affirmer disclaims responsibility for clearing rights of other persons 114 | that may apply to the Work or any use thereof, including without 115 | limitation any person's Copyright and Related Rights in the Work. 116 | Further, Affirmer disclaims responsibility for obtaining any necessary 117 | consents, permissions or other rights required for any use of the 118 | Work. 119 | d. Affirmer understands and acknowledges that Creative Commons is not a 120 | party to this document and has no duty or obligation with respect to 121 | this CC0 or use of the Work. 122 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 |
4 |

electron-renderify

5 |

Browserify transform to allow bundling for Electron renderer processes

6 |

7 | 8 | 9 | 10 | 11 | 12 | 13 |

14 |
15 | 16 | --- 17 | 18 | Prefix calls to `require` as `window.require` for node and electron built-in modules. This allows them to work as you would expect in electron processes. 19 | 20 | ## Install 21 | 22 | ``` 23 | npm install electron-renderify 24 | ``` 25 | 26 | ## Usage 27 | 28 | This module is to be used as a [browserify]() transform. 29 | 30 | Depending on what is in your bundle, and how you are setting up Electron, you may need to apply some or all of the following browserify settings: 31 | 32 | ```js 33 | { 34 | builtins: [], 35 | commonDir: false, 36 | detectGlobals: false, 37 | ignoreMissing: true, 38 | insertGlobalVars: 'global', 39 | browserField: false 40 | } 41 | ``` 42 | 43 | The best place to apply the settings is in your `package.json`. That way they will take effect with either CLI or JS api use. 44 | 45 | ### CLI 46 | 47 | ```bash 48 | browserify -t electron-renderify sample.js > bundle.js 49 | ``` 50 | 51 | ### JS 52 | 53 | ```js 54 | var browserify = require('browserify') 55 | var renderify = require('electron-renderify') 56 | 57 | var path = require('path') 58 | 59 | browserify() 60 | .transform(renderify) 61 | .add(path.join(__dirname, 'sample.js')) 62 | .bundle() 63 | .pipe(process.stdout) 64 | ``` 65 | 66 | ## Options 67 | 68 | You can modify the behaviour of `electron-renderify` by passing options to the transform, like this: 69 | 70 | ```js 71 | browserify() 72 | .transform(renderify, opts) 73 | ``` 74 | 75 | The following options are available: 76 | 77 | ### `opts.windowRequire` [Array[String]] 78 | 79 | An array of strings, each of which specifies a module that should use `window.require` instead of plain `require`. This might be required for any native modules (although you should consider moving any such dependencies to the main process). 80 | 81 | Example: 82 | 83 | ```js 84 | var browserify = require('browserify') 85 | var renderify = require('electron-renderify') 86 | 87 | var path = require('path') 88 | 89 | var renderifyOpts = { 90 | windowRequire: ['leveldown'] 91 | } 92 | 93 | browserify() 94 | .transform(renderify, renderifyOpts) 95 | .add('somefile-requiring-leveldown.js') 96 | .bundle() 97 | .pipe(process.stdout) 98 | ``` 99 | 100 | ## License 101 | 102 | To the extent possible by law, we transfer any rights we have in this code to the public domain. Specifically, we do so using the [CC0 1.0 Universal Public Domain Dedication](https://creativecommons.org/publicdomain/zero/1.0/). 103 | 104 | You can do whatever you want with this code. No need to credit us, link to us, include any license, or anything else. But if you want to do those things, you're free to do that too. 105 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | // replace requires for electron builtin node modules with window.require 2 | 3 | var through = require('through2') 4 | var path = require('path') 5 | 6 | var defaultBlacklist = [ 7 | 'assert', 8 | 'buffer', 9 | 'child_process', 10 | 'cluster', 11 | 'console', 12 | 'constants', 13 | 'crypto', 14 | 'dgram', 15 | 'dns', 16 | 'domain', 17 | 'electron', 18 | 'events', 19 | 'fs', 20 | 'http', 21 | 'https', 22 | 'module', 23 | 'net', 24 | 'os', 25 | 'path', 26 | 'punycode', 27 | 'querystring', 28 | 'readline', 29 | 'repl', 30 | 'stream', 31 | '_stream_duplex', 32 | '_stream_passthrough', 33 | '_stream_readable', 34 | '_stream_transform', 35 | '_stream_writable', 36 | 'string_decoder', 37 | 'sys', 38 | 'timers', 39 | 'tls', 40 | 'tty', 41 | 'url', 42 | 'util', 43 | 'vm', 44 | 'zlib', 45 | '_process' 46 | ] 47 | 48 | module.exports = function (file, opts) { 49 | var data = '' 50 | 51 | if (!opts) opts = { windowRequire: [] } 52 | 53 | var blacklist = defaultBlacklist.concat(opts.windowRequire) 54 | 55 | return (path.extname(file) === '.json') 56 | ? through() 57 | : through(ondata, onend) 58 | 59 | function ondata (d, enc, cb) { 60 | data += d 61 | cb() 62 | } 63 | 64 | function onend (cb) { 65 | var replaced = replace(data) 66 | this.push(replaced) 67 | cb() 68 | } 69 | 70 | function blacklisted (mod) { 71 | return blacklist.indexOf(mod.replace(/['"]+/g, '')) !== -1 72 | } 73 | 74 | function replace (code) { 75 | return code.replace(/\srequire\(([^\)]+)\)/g, function (match, mod) { 76 | if (blacklisted(mod)) { 77 | return ' window.require(' + mod + ')' 78 | } else { 79 | return match 80 | } 81 | }) 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "electron-renderify", 3 | "version": "0.0.2", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@types/node": { 8 | "version": "7.0.39", 9 | "resolved": "https://registry.npmjs.org/@types/node/-/node-7.0.39.tgz", 10 | "integrity": "sha512-KQHAZeVsk4UIT9XaR6cn4WpHZzimK6UBD1UomQKfQQFmTlUHaNBzeuov+TM4+kigLO0IJt4I5OOsshcCyA9gSA==", 11 | "dev": true 12 | }, 13 | "ajv": { 14 | "version": "4.11.8", 15 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", 16 | "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", 17 | "dev": true, 18 | "requires": { 19 | "co": "4.6.0", 20 | "json-stable-stringify": "1.0.1" 21 | } 22 | }, 23 | "ansi-regex": { 24 | "version": "2.1.1", 25 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 26 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 27 | "dev": true 28 | }, 29 | "array-filter": { 30 | "version": "0.0.1", 31 | "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", 32 | "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=", 33 | "dev": true 34 | }, 35 | "array-find-index": { 36 | "version": "1.0.2", 37 | "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", 38 | "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", 39 | "dev": true 40 | }, 41 | "array-map": { 42 | "version": "0.0.0", 43 | "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", 44 | "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=", 45 | "dev": true 46 | }, 47 | "array-reduce": { 48 | "version": "0.0.0", 49 | "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", 50 | "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=", 51 | "dev": true 52 | }, 53 | "asn1": { 54 | "version": "0.2.3", 55 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", 56 | "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", 57 | "dev": true 58 | }, 59 | "asn1.js": { 60 | "version": "4.9.1", 61 | "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz", 62 | "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=", 63 | "dev": true, 64 | "requires": { 65 | "bn.js": "4.11.7", 66 | "inherits": "2.0.3", 67 | "minimalistic-assert": "1.0.0" 68 | } 69 | }, 70 | "assert": { 71 | "version": "1.4.1", 72 | "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", 73 | "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", 74 | "dev": true, 75 | "requires": { 76 | "util": "0.10.3" 77 | } 78 | }, 79 | "assert-plus": { 80 | "version": "0.2.0", 81 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", 82 | "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", 83 | "dev": true 84 | }, 85 | "astw": { 86 | "version": "2.2.0", 87 | "resolved": "https://registry.npmjs.org/astw/-/astw-2.2.0.tgz", 88 | "integrity": "sha1-e9QXhNMkk5h66yOba04cV6hzuRc=", 89 | "dev": true, 90 | "requires": { 91 | "acorn": "4.0.13" 92 | }, 93 | "dependencies": { 94 | "acorn": { 95 | "version": "4.0.13", 96 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", 97 | "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", 98 | "dev": true 99 | } 100 | } 101 | }, 102 | "asynckit": { 103 | "version": "0.4.0", 104 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 105 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", 106 | "dev": true 107 | }, 108 | "aws-sign2": { 109 | "version": "0.6.0", 110 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", 111 | "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", 112 | "dev": true 113 | }, 114 | "aws4": { 115 | "version": "1.6.0", 116 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", 117 | "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", 118 | "dev": true 119 | }, 120 | "balanced-match": { 121 | "version": "1.0.0", 122 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 123 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 124 | "dev": true 125 | }, 126 | "base64-js": { 127 | "version": "1.2.1", 128 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", 129 | "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==", 130 | "dev": true 131 | }, 132 | "bcrypt-pbkdf": { 133 | "version": "1.0.1", 134 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", 135 | "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", 136 | "dev": true, 137 | "optional": true, 138 | "requires": { 139 | "tweetnacl": "0.14.5" 140 | } 141 | }, 142 | "bn.js": { 143 | "version": "4.11.7", 144 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.7.tgz", 145 | "integrity": "sha512-LxFiV5mefv0ley0SzqkOPR1bC4EbpPx8LkOz5vMe/Yi15t5hzwgO/G+tc7wOtL4PZTYjwHu8JnEiSLumuSjSfA==", 146 | "dev": true 147 | }, 148 | "boom": { 149 | "version": "2.10.1", 150 | "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", 151 | "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", 152 | "dev": true, 153 | "requires": { 154 | "hoek": "2.16.3" 155 | } 156 | }, 157 | "brace-expansion": { 158 | "version": "1.1.8", 159 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", 160 | "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", 161 | "dev": true, 162 | "requires": { 163 | "balanced-match": "1.0.0", 164 | "concat-map": "0.0.1" 165 | } 166 | }, 167 | "brorand": { 168 | "version": "1.1.0", 169 | "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", 170 | "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", 171 | "dev": true 172 | }, 173 | "browser-pack": { 174 | "version": "6.0.2", 175 | "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.2.tgz", 176 | "integrity": "sha1-+GzWzvT1MAyOY+B6TVEvZfv/RTE=", 177 | "dev": true, 178 | "requires": { 179 | "combine-source-map": "0.7.2", 180 | "defined": "1.0.0", 181 | "JSONStream": "1.3.1", 182 | "through2": "2.0.3", 183 | "umd": "3.0.1" 184 | }, 185 | "dependencies": { 186 | "defined": { 187 | "version": "1.0.0", 188 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", 189 | "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", 190 | "dev": true 191 | }, 192 | "isarray": { 193 | "version": "1.0.0", 194 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 195 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 196 | "dev": true 197 | }, 198 | "readable-stream": { 199 | "version": "2.3.3", 200 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 201 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 202 | "dev": true, 203 | "requires": { 204 | "core-util-is": "1.0.2", 205 | "inherits": "2.0.3", 206 | "isarray": "1.0.0", 207 | "process-nextick-args": "1.0.7", 208 | "safe-buffer": "5.1.1", 209 | "string_decoder": "1.0.3", 210 | "util-deprecate": "1.0.2" 211 | } 212 | }, 213 | "string_decoder": { 214 | "version": "1.0.3", 215 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 216 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 217 | "dev": true, 218 | "requires": { 219 | "safe-buffer": "5.1.1" 220 | } 221 | }, 222 | "through2": { 223 | "version": "2.0.3", 224 | "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", 225 | "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", 226 | "dev": true, 227 | "requires": { 228 | "readable-stream": "2.3.3", 229 | "xtend": "4.0.1" 230 | } 231 | }, 232 | "xtend": { 233 | "version": "4.0.1", 234 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 235 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", 236 | "dev": true 237 | } 238 | } 239 | }, 240 | "browser-resolve": { 241 | "version": "1.11.2", 242 | "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz", 243 | "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=", 244 | "dev": true, 245 | "requires": { 246 | "resolve": "1.1.7" 247 | }, 248 | "dependencies": { 249 | "resolve": { 250 | "version": "1.1.7", 251 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", 252 | "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", 253 | "dev": true 254 | } 255 | } 256 | }, 257 | "browserify": { 258 | "version": "14.4.0", 259 | "resolved": "https://registry.npmjs.org/browserify/-/browserify-14.4.0.tgz", 260 | "integrity": "sha1-CJo0Y69Y0OSNjNQHCz90ZU1avKk=", 261 | "dev": true, 262 | "requires": { 263 | "assert": "1.4.1", 264 | "browser-pack": "6.0.2", 265 | "browser-resolve": "1.11.2", 266 | "browserify-zlib": "0.1.4", 267 | "buffer": "5.0.6", 268 | "cached-path-relative": "1.0.1", 269 | "concat-stream": "1.5.2", 270 | "console-browserify": "1.1.0", 271 | "constants-browserify": "1.0.0", 272 | "crypto-browserify": "3.11.1", 273 | "defined": "1.0.0", 274 | "deps-sort": "2.0.0", 275 | "domain-browser": "1.1.7", 276 | "duplexer2": "0.1.4", 277 | "events": "1.1.1", 278 | "glob": "7.1.2", 279 | "has": "1.0.1", 280 | "htmlescape": "1.1.1", 281 | "https-browserify": "1.0.0", 282 | "inherits": "2.0.3", 283 | "insert-module-globals": "7.0.1", 284 | "JSONStream": "1.3.1", 285 | "labeled-stream-splicer": "2.0.0", 286 | "module-deps": "4.1.1", 287 | "os-browserify": "0.1.2", 288 | "parents": "1.0.1", 289 | "path-browserify": "0.0.0", 290 | "process": "0.11.10", 291 | "punycode": "1.4.1", 292 | "querystring-es3": "0.2.1", 293 | "read-only-stream": "2.0.0", 294 | "readable-stream": "2.3.3", 295 | "resolve": "1.3.3", 296 | "shasum": "1.0.2", 297 | "shell-quote": "1.6.1", 298 | "stream-browserify": "2.0.1", 299 | "stream-http": "2.7.2", 300 | "string_decoder": "1.0.3", 301 | "subarg": "1.0.0", 302 | "syntax-error": "1.3.0", 303 | "through2": "2.0.3", 304 | "timers-browserify": "1.4.2", 305 | "tty-browserify": "0.0.0", 306 | "url": "0.11.0", 307 | "util": "0.10.3", 308 | "vm-browserify": "0.0.4", 309 | "xtend": "4.0.1" 310 | }, 311 | "dependencies": { 312 | "concat-stream": { 313 | "version": "1.5.2", 314 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", 315 | "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", 316 | "dev": true, 317 | "requires": { 318 | "inherits": "2.0.3", 319 | "readable-stream": "2.0.6", 320 | "typedarray": "0.0.6" 321 | }, 322 | "dependencies": { 323 | "readable-stream": { 324 | "version": "2.0.6", 325 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", 326 | "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", 327 | "dev": true, 328 | "requires": { 329 | "core-util-is": "1.0.2", 330 | "inherits": "2.0.3", 331 | "isarray": "1.0.0", 332 | "process-nextick-args": "1.0.7", 333 | "string_decoder": "0.10.31", 334 | "util-deprecate": "1.0.2" 335 | } 336 | }, 337 | "string_decoder": { 338 | "version": "0.10.31", 339 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 340 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", 341 | "dev": true 342 | } 343 | } 344 | }, 345 | "defined": { 346 | "version": "1.0.0", 347 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", 348 | "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", 349 | "dev": true 350 | }, 351 | "isarray": { 352 | "version": "1.0.0", 353 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 354 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 355 | "dev": true 356 | }, 357 | "readable-stream": { 358 | "version": "2.3.3", 359 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 360 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 361 | "dev": true, 362 | "requires": { 363 | "core-util-is": "1.0.2", 364 | "inherits": "2.0.3", 365 | "isarray": "1.0.0", 366 | "process-nextick-args": "1.0.7", 367 | "safe-buffer": "5.1.1", 368 | "string_decoder": "1.0.3", 369 | "util-deprecate": "1.0.2" 370 | } 371 | }, 372 | "string_decoder": { 373 | "version": "1.0.3", 374 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 375 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 376 | "dev": true, 377 | "requires": { 378 | "safe-buffer": "5.1.1" 379 | } 380 | }, 381 | "through2": { 382 | "version": "2.0.3", 383 | "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", 384 | "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", 385 | "dev": true, 386 | "requires": { 387 | "readable-stream": "2.3.3", 388 | "xtend": "4.0.1" 389 | } 390 | }, 391 | "xtend": { 392 | "version": "4.0.1", 393 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 394 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", 395 | "dev": true 396 | } 397 | } 398 | }, 399 | "browserify-aes": { 400 | "version": "1.0.6", 401 | "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz", 402 | "integrity": "sha1-Xncl297x/Vkw1OurSFZ85FHEigo=", 403 | "dev": true, 404 | "requires": { 405 | "buffer-xor": "1.0.3", 406 | "cipher-base": "1.0.4", 407 | "create-hash": "1.1.3", 408 | "evp_bytestokey": "1.0.0", 409 | "inherits": "2.0.3" 410 | } 411 | }, 412 | "browserify-cipher": { 413 | "version": "1.0.0", 414 | "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", 415 | "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", 416 | "dev": true, 417 | "requires": { 418 | "browserify-aes": "1.0.6", 419 | "browserify-des": "1.0.0", 420 | "evp_bytestokey": "1.0.0" 421 | } 422 | }, 423 | "browserify-des": { 424 | "version": "1.0.0", 425 | "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", 426 | "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", 427 | "dev": true, 428 | "requires": { 429 | "cipher-base": "1.0.4", 430 | "des.js": "1.0.0", 431 | "inherits": "2.0.3" 432 | } 433 | }, 434 | "browserify-rsa": { 435 | "version": "4.0.1", 436 | "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", 437 | "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", 438 | "dev": true, 439 | "requires": { 440 | "bn.js": "4.11.7", 441 | "randombytes": "2.0.5" 442 | } 443 | }, 444 | "browserify-sign": { 445 | "version": "4.0.4", 446 | "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", 447 | "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", 448 | "dev": true, 449 | "requires": { 450 | "bn.js": "4.11.7", 451 | "browserify-rsa": "4.0.1", 452 | "create-hash": "1.1.3", 453 | "create-hmac": "1.1.6", 454 | "elliptic": "6.4.0", 455 | "inherits": "2.0.3", 456 | "parse-asn1": "5.1.0" 457 | } 458 | }, 459 | "browserify-zlib": { 460 | "version": "0.1.4", 461 | "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", 462 | "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", 463 | "dev": true, 464 | "requires": { 465 | "pako": "0.2.9" 466 | } 467 | }, 468 | "buffer": { 469 | "version": "5.0.6", 470 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.0.6.tgz", 471 | "integrity": "sha1-LqZp9+7Atu2gWwj4tf9mGyhXNYg=", 472 | "dev": true, 473 | "requires": { 474 | "base64-js": "1.2.1", 475 | "ieee754": "1.1.8" 476 | } 477 | }, 478 | "buffer-xor": { 479 | "version": "1.0.3", 480 | "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", 481 | "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", 482 | "dev": true 483 | }, 484 | "builtin-modules": { 485 | "version": "1.1.1", 486 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", 487 | "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", 488 | "dev": true 489 | }, 490 | "builtin-status-codes": { 491 | "version": "3.0.0", 492 | "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", 493 | "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", 494 | "dev": true 495 | }, 496 | "cached-path-relative": { 497 | "version": "1.0.1", 498 | "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.1.tgz", 499 | "integrity": "sha1-0JxLUoAKpMB44t2BqGmqyQ0uVOc=", 500 | "dev": true 501 | }, 502 | "camelcase": { 503 | "version": "2.1.1", 504 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", 505 | "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", 506 | "dev": true 507 | }, 508 | "camelcase-keys": { 509 | "version": "2.1.0", 510 | "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", 511 | "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", 512 | "dev": true, 513 | "requires": { 514 | "camelcase": "2.1.1", 515 | "map-obj": "1.0.1" 516 | } 517 | }, 518 | "caseless": { 519 | "version": "0.12.0", 520 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 521 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", 522 | "dev": true 523 | }, 524 | "cipher-base": { 525 | "version": "1.0.4", 526 | "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", 527 | "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", 528 | "dev": true, 529 | "requires": { 530 | "inherits": "2.0.3", 531 | "safe-buffer": "5.1.1" 532 | } 533 | }, 534 | "co": { 535 | "version": "4.6.0", 536 | "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", 537 | "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", 538 | "dev": true 539 | }, 540 | "code-point-at": { 541 | "version": "1.1.0", 542 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", 543 | "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", 544 | "dev": true 545 | }, 546 | "combine-source-map": { 547 | "version": "0.7.2", 548 | "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.7.2.tgz", 549 | "integrity": "sha1-CHAxKFazB6h8xKxIbzqaYq7MwJ4=", 550 | "dev": true, 551 | "requires": { 552 | "convert-source-map": "1.1.3", 553 | "inline-source-map": "0.6.2", 554 | "lodash.memoize": "3.0.4", 555 | "source-map": "0.5.6" 556 | } 557 | }, 558 | "combined-stream": { 559 | "version": "1.0.5", 560 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", 561 | "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", 562 | "dev": true, 563 | "requires": { 564 | "delayed-stream": "1.0.0" 565 | } 566 | }, 567 | "concat-map": { 568 | "version": "0.0.1", 569 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 570 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 571 | "dev": true 572 | }, 573 | "concat-stream": { 574 | "version": "1.6.0", 575 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", 576 | "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", 577 | "dev": true, 578 | "requires": { 579 | "inherits": "2.0.3", 580 | "readable-stream": "2.3.3", 581 | "typedarray": "0.0.6" 582 | }, 583 | "dependencies": { 584 | "isarray": { 585 | "version": "1.0.0", 586 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 587 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 588 | "dev": true 589 | }, 590 | "readable-stream": { 591 | "version": "2.3.3", 592 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 593 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 594 | "dev": true, 595 | "requires": { 596 | "core-util-is": "1.0.2", 597 | "inherits": "2.0.3", 598 | "isarray": "1.0.0", 599 | "process-nextick-args": "1.0.7", 600 | "safe-buffer": "5.1.1", 601 | "string_decoder": "1.0.3", 602 | "util-deprecate": "1.0.2" 603 | } 604 | }, 605 | "string_decoder": { 606 | "version": "1.0.3", 607 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 608 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 609 | "dev": true, 610 | "requires": { 611 | "safe-buffer": "5.1.1" 612 | } 613 | } 614 | } 615 | }, 616 | "console-browserify": { 617 | "version": "1.1.0", 618 | "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", 619 | "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", 620 | "dev": true, 621 | "requires": { 622 | "date-now": "0.1.4" 623 | } 624 | }, 625 | "constants-browserify": { 626 | "version": "1.0.0", 627 | "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", 628 | "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", 629 | "dev": true 630 | }, 631 | "convert-source-map": { 632 | "version": "1.1.3", 633 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", 634 | "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=", 635 | "dev": true 636 | }, 637 | "core-util-is": { 638 | "version": "1.0.2", 639 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 640 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" 641 | }, 642 | "create-ecdh": { 643 | "version": "4.0.0", 644 | "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", 645 | "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", 646 | "dev": true, 647 | "requires": { 648 | "bn.js": "4.11.7", 649 | "elliptic": "6.4.0" 650 | } 651 | }, 652 | "create-hash": { 653 | "version": "1.1.3", 654 | "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", 655 | "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", 656 | "dev": true, 657 | "requires": { 658 | "cipher-base": "1.0.4", 659 | "inherits": "2.0.3", 660 | "ripemd160": "2.0.1", 661 | "sha.js": "2.4.8" 662 | } 663 | }, 664 | "create-hmac": { 665 | "version": "1.1.6", 666 | "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", 667 | "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", 668 | "dev": true, 669 | "requires": { 670 | "cipher-base": "1.0.4", 671 | "create-hash": "1.1.3", 672 | "inherits": "2.0.3", 673 | "ripemd160": "2.0.1", 674 | "safe-buffer": "5.1.1", 675 | "sha.js": "2.4.8" 676 | } 677 | }, 678 | "cryptiles": { 679 | "version": "2.0.5", 680 | "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", 681 | "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", 682 | "dev": true, 683 | "requires": { 684 | "boom": "2.10.1" 685 | } 686 | }, 687 | "crypto-browserify": { 688 | "version": "3.11.1", 689 | "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.1.tgz", 690 | "integrity": "sha512-Na7ZlwCOqoaW5RwUK1WpXws2kv8mNhWdTlzob0UXulk6G9BDbyiJaGTYBIX61Ozn9l1EPPJpICZb4DaOpT9NlQ==", 691 | "dev": true, 692 | "requires": { 693 | "browserify-cipher": "1.0.0", 694 | "browserify-sign": "4.0.4", 695 | "create-ecdh": "4.0.0", 696 | "create-hash": "1.1.3", 697 | "create-hmac": "1.1.6", 698 | "diffie-hellman": "5.0.2", 699 | "inherits": "2.0.3", 700 | "pbkdf2": "3.0.12", 701 | "public-encrypt": "4.0.0", 702 | "randombytes": "2.0.5" 703 | } 704 | }, 705 | "currently-unhandled": { 706 | "version": "0.4.1", 707 | "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", 708 | "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", 709 | "dev": true, 710 | "requires": { 711 | "array-find-index": "1.0.2" 712 | } 713 | }, 714 | "dashdash": { 715 | "version": "1.14.1", 716 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 717 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 718 | "dev": true, 719 | "requires": { 720 | "assert-plus": "1.0.0" 721 | }, 722 | "dependencies": { 723 | "assert-plus": { 724 | "version": "1.0.0", 725 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 726 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 727 | "dev": true 728 | } 729 | } 730 | }, 731 | "date-now": { 732 | "version": "0.1.4", 733 | "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", 734 | "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", 735 | "dev": true 736 | }, 737 | "debug": { 738 | "version": "2.6.8", 739 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", 740 | "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", 741 | "dev": true, 742 | "requires": { 743 | "ms": "2.0.0" 744 | } 745 | }, 746 | "decamelize": { 747 | "version": "1.2.0", 748 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 749 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", 750 | "dev": true 751 | }, 752 | "deep-equal": { 753 | "version": "0.1.2", 754 | "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.1.2.tgz", 755 | "integrity": "sha1-skbCuApXCkfBG+HZvRBw7IeLh84=", 756 | "dev": true 757 | }, 758 | "deep-extend": { 759 | "version": "0.4.2", 760 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", 761 | "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", 762 | "dev": true 763 | }, 764 | "define-properties": { 765 | "version": "1.1.2", 766 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", 767 | "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", 768 | "dev": true, 769 | "requires": { 770 | "foreach": "2.0.5", 771 | "object-keys": "1.0.11" 772 | }, 773 | "dependencies": { 774 | "object-keys": { 775 | "version": "1.0.11", 776 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", 777 | "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", 778 | "dev": true 779 | } 780 | } 781 | }, 782 | "defined": { 783 | "version": "0.0.0", 784 | "resolved": "https://registry.npmjs.org/defined/-/defined-0.0.0.tgz", 785 | "integrity": "sha1-817qfXBekzuvE7LwOz+D2SFAOz4=", 786 | "dev": true 787 | }, 788 | "delayed-stream": { 789 | "version": "1.0.0", 790 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 791 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", 792 | "dev": true 793 | }, 794 | "deps-sort": { 795 | "version": "2.0.0", 796 | "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz", 797 | "integrity": "sha1-CRckkC6EZYJg65EHSMzNGvbiH7U=", 798 | "dev": true, 799 | "requires": { 800 | "JSONStream": "1.3.1", 801 | "shasum": "1.0.2", 802 | "subarg": "1.0.0", 803 | "through2": "2.0.3" 804 | }, 805 | "dependencies": { 806 | "isarray": { 807 | "version": "1.0.0", 808 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 809 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 810 | "dev": true 811 | }, 812 | "readable-stream": { 813 | "version": "2.3.3", 814 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 815 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 816 | "dev": true, 817 | "requires": { 818 | "core-util-is": "1.0.2", 819 | "inherits": "2.0.3", 820 | "isarray": "1.0.0", 821 | "process-nextick-args": "1.0.7", 822 | "safe-buffer": "5.1.1", 823 | "string_decoder": "1.0.3", 824 | "util-deprecate": "1.0.2" 825 | } 826 | }, 827 | "string_decoder": { 828 | "version": "1.0.3", 829 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 830 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 831 | "dev": true, 832 | "requires": { 833 | "safe-buffer": "5.1.1" 834 | } 835 | }, 836 | "through2": { 837 | "version": "2.0.3", 838 | "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", 839 | "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", 840 | "dev": true, 841 | "requires": { 842 | "readable-stream": "2.3.3", 843 | "xtend": "4.0.1" 844 | } 845 | }, 846 | "xtend": { 847 | "version": "4.0.1", 848 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 849 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", 850 | "dev": true 851 | } 852 | } 853 | }, 854 | "des.js": { 855 | "version": "1.0.0", 856 | "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", 857 | "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", 858 | "dev": true, 859 | "requires": { 860 | "inherits": "2.0.3", 861 | "minimalistic-assert": "1.0.0" 862 | } 863 | }, 864 | "detective": { 865 | "version": "4.5.0", 866 | "resolved": "https://registry.npmjs.org/detective/-/detective-4.5.0.tgz", 867 | "integrity": "sha1-blqMaybmx6JUsca210kNmOyR7dE=", 868 | "dev": true, 869 | "requires": { 870 | "acorn": "4.0.13", 871 | "defined": "1.0.0" 872 | }, 873 | "dependencies": { 874 | "acorn": { 875 | "version": "4.0.13", 876 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", 877 | "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", 878 | "dev": true 879 | }, 880 | "defined": { 881 | "version": "1.0.0", 882 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", 883 | "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", 884 | "dev": true 885 | } 886 | } 887 | }, 888 | "diffie-hellman": { 889 | "version": "5.0.2", 890 | "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", 891 | "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", 892 | "dev": true, 893 | "requires": { 894 | "bn.js": "4.11.7", 895 | "miller-rabin": "4.0.0", 896 | "randombytes": "2.0.5" 897 | } 898 | }, 899 | "domain-browser": { 900 | "version": "1.1.7", 901 | "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", 902 | "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=", 903 | "dev": true 904 | }, 905 | "duplexer": { 906 | "version": "0.1.1", 907 | "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", 908 | "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", 909 | "dev": true 910 | }, 911 | "duplexer2": { 912 | "version": "0.1.4", 913 | "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", 914 | "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", 915 | "dev": true, 916 | "requires": { 917 | "readable-stream": "2.3.3" 918 | }, 919 | "dependencies": { 920 | "isarray": { 921 | "version": "1.0.0", 922 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 923 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 924 | "dev": true 925 | }, 926 | "readable-stream": { 927 | "version": "2.3.3", 928 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 929 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 930 | "dev": true, 931 | "requires": { 932 | "core-util-is": "1.0.2", 933 | "inherits": "2.0.3", 934 | "isarray": "1.0.0", 935 | "process-nextick-args": "1.0.7", 936 | "safe-buffer": "5.1.1", 937 | "string_decoder": "1.0.3", 938 | "util-deprecate": "1.0.2" 939 | } 940 | }, 941 | "string_decoder": { 942 | "version": "1.0.3", 943 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 944 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 945 | "dev": true, 946 | "requires": { 947 | "safe-buffer": "5.1.1" 948 | } 949 | } 950 | } 951 | }, 952 | "ecc-jsbn": { 953 | "version": "0.1.1", 954 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", 955 | "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", 956 | "dev": true, 957 | "optional": true, 958 | "requires": { 959 | "jsbn": "0.1.1" 960 | } 961 | }, 962 | "electron": { 963 | "version": "1.7.9", 964 | "resolved": "https://registry.npmjs.org/electron/-/electron-1.7.9.tgz", 965 | "integrity": "sha1-rdVOn4+D7QL2UZ7BATX2mLGTNs8=", 966 | "dev": true, 967 | "requires": { 968 | "@types/node": "7.0.39", 969 | "electron-download": "3.3.0", 970 | "extract-zip": "1.6.5" 971 | } 972 | }, 973 | "electron-download": { 974 | "version": "3.3.0", 975 | "resolved": "https://registry.npmjs.org/electron-download/-/electron-download-3.3.0.tgz", 976 | "integrity": "sha1-LP1U1pZsAZxNSa1l++Zcyc3vaMg=", 977 | "dev": true, 978 | "requires": { 979 | "debug": "2.6.8", 980 | "fs-extra": "0.30.0", 981 | "home-path": "1.0.5", 982 | "minimist": "1.2.0", 983 | "nugget": "2.0.1", 984 | "path-exists": "2.1.0", 985 | "rc": "1.2.1", 986 | "semver": "5.3.0", 987 | "sumchecker": "1.3.1" 988 | }, 989 | "dependencies": { 990 | "minimist": { 991 | "version": "1.2.0", 992 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 993 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 994 | "dev": true 995 | } 996 | } 997 | }, 998 | "elliptic": { 999 | "version": "6.4.0", 1000 | "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", 1001 | "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", 1002 | "dev": true, 1003 | "requires": { 1004 | "bn.js": "4.11.7", 1005 | "brorand": "1.1.0", 1006 | "hash.js": "1.1.3", 1007 | "hmac-drbg": "1.0.1", 1008 | "inherits": "2.0.3", 1009 | "minimalistic-assert": "1.0.0", 1010 | "minimalistic-crypto-utils": "1.0.1" 1011 | } 1012 | }, 1013 | "error-ex": { 1014 | "version": "1.3.1", 1015 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", 1016 | "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", 1017 | "dev": true, 1018 | "requires": { 1019 | "is-arrayish": "0.2.1" 1020 | } 1021 | }, 1022 | "es-abstract": { 1023 | "version": "1.7.0", 1024 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.7.0.tgz", 1025 | "integrity": "sha1-363ndOAb/Nl/lhgCmMRJyGI/uUw=", 1026 | "dev": true, 1027 | "requires": { 1028 | "es-to-primitive": "1.1.1", 1029 | "function-bind": "1.1.0", 1030 | "is-callable": "1.1.3", 1031 | "is-regex": "1.0.4" 1032 | } 1033 | }, 1034 | "es-to-primitive": { 1035 | "version": "1.1.1", 1036 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", 1037 | "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", 1038 | "dev": true, 1039 | "requires": { 1040 | "is-callable": "1.1.3", 1041 | "is-date-object": "1.0.1", 1042 | "is-symbol": "1.0.1" 1043 | } 1044 | }, 1045 | "es6-promise": { 1046 | "version": "4.1.1", 1047 | "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.1.1.tgz", 1048 | "integrity": "sha512-OaU1hHjgJf+b0NzsxCg7NdIYERD6Hy/PEmFLTjw+b65scuisG3Kt4QoTvJ66BBkPZ581gr0kpoVzKnxniM8nng==", 1049 | "dev": true 1050 | }, 1051 | "events": { 1052 | "version": "1.1.1", 1053 | "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", 1054 | "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", 1055 | "dev": true 1056 | }, 1057 | "evp_bytestokey": { 1058 | "version": "1.0.0", 1059 | "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz", 1060 | "integrity": "sha1-SXtmrZ/vZc18CKYYCCS6FHa2blM=", 1061 | "dev": true, 1062 | "requires": { 1063 | "create-hash": "1.1.3" 1064 | } 1065 | }, 1066 | "extend": { 1067 | "version": "3.0.1", 1068 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", 1069 | "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", 1070 | "dev": true 1071 | }, 1072 | "extract-zip": { 1073 | "version": "1.6.5", 1074 | "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.5.tgz", 1075 | "integrity": "sha1-maBnNbbqIOqbcF13ms/8yHz/BEA=", 1076 | "dev": true, 1077 | "requires": { 1078 | "concat-stream": "1.6.0", 1079 | "debug": "2.2.0", 1080 | "mkdirp": "0.5.0", 1081 | "yauzl": "2.4.1" 1082 | }, 1083 | "dependencies": { 1084 | "debug": { 1085 | "version": "2.2.0", 1086 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", 1087 | "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", 1088 | "dev": true, 1089 | "requires": { 1090 | "ms": "0.7.1" 1091 | } 1092 | }, 1093 | "ms": { 1094 | "version": "0.7.1", 1095 | "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", 1096 | "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", 1097 | "dev": true 1098 | } 1099 | } 1100 | }, 1101 | "extsprintf": { 1102 | "version": "1.0.2", 1103 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", 1104 | "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", 1105 | "dev": true 1106 | }, 1107 | "faucet": { 1108 | "version": "0.0.1", 1109 | "resolved": "https://registry.npmjs.org/faucet/-/faucet-0.0.1.tgz", 1110 | "integrity": "sha1-WX3PHSGJosBiMhtZHo8VHtIDnZw=", 1111 | "dev": true, 1112 | "requires": { 1113 | "defined": "0.0.0", 1114 | "duplexer": "0.1.1", 1115 | "minimist": "0.0.5", 1116 | "sprintf": "0.1.5", 1117 | "tap-parser": "0.4.3", 1118 | "tape": "2.3.3", 1119 | "through2": "0.2.3" 1120 | }, 1121 | "dependencies": { 1122 | "tape": { 1123 | "version": "2.3.3", 1124 | "resolved": "https://registry.npmjs.org/tape/-/tape-2.3.3.tgz", 1125 | "integrity": "sha1-Lnzgox3wn41oUWZKcYQuDKUFevc=", 1126 | "dev": true, 1127 | "requires": { 1128 | "deep-equal": "0.1.2", 1129 | "defined": "0.0.0", 1130 | "inherits": "2.0.3", 1131 | "jsonify": "0.0.0", 1132 | "resumer": "0.0.0", 1133 | "through": "2.3.8" 1134 | } 1135 | }, 1136 | "through2": { 1137 | "version": "0.2.3", 1138 | "resolved": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz", 1139 | "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=", 1140 | "dev": true, 1141 | "requires": { 1142 | "readable-stream": "1.1.14", 1143 | "xtend": "2.1.2" 1144 | } 1145 | } 1146 | } 1147 | }, 1148 | "fd-slicer": { 1149 | "version": "1.0.1", 1150 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", 1151 | "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", 1152 | "dev": true, 1153 | "requires": { 1154 | "pend": "1.2.0" 1155 | } 1156 | }, 1157 | "find-up": { 1158 | "version": "1.1.2", 1159 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", 1160 | "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", 1161 | "dev": true, 1162 | "requires": { 1163 | "path-exists": "2.1.0", 1164 | "pinkie-promise": "2.0.1" 1165 | } 1166 | }, 1167 | "for-each": { 1168 | "version": "0.3.2", 1169 | "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.2.tgz", 1170 | "integrity": "sha1-LEBFC5NI6X8oEyJZO6lnBLmr1NQ=", 1171 | "dev": true, 1172 | "requires": { 1173 | "is-function": "1.0.1" 1174 | } 1175 | }, 1176 | "foreach": { 1177 | "version": "2.0.5", 1178 | "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", 1179 | "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", 1180 | "dev": true 1181 | }, 1182 | "forever-agent": { 1183 | "version": "0.6.1", 1184 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 1185 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", 1186 | "dev": true 1187 | }, 1188 | "form-data": { 1189 | "version": "2.1.4", 1190 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", 1191 | "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", 1192 | "dev": true, 1193 | "requires": { 1194 | "asynckit": "0.4.0", 1195 | "combined-stream": "1.0.5", 1196 | "mime-types": "2.1.15" 1197 | } 1198 | }, 1199 | "fs-extra": { 1200 | "version": "0.30.0", 1201 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", 1202 | "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", 1203 | "dev": true, 1204 | "requires": { 1205 | "graceful-fs": "4.1.11", 1206 | "jsonfile": "2.4.0", 1207 | "klaw": "1.3.1", 1208 | "path-is-absolute": "1.0.1", 1209 | "rimraf": "2.6.1" 1210 | } 1211 | }, 1212 | "fs.realpath": { 1213 | "version": "1.0.0", 1214 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1215 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 1216 | "dev": true 1217 | }, 1218 | "function-bind": { 1219 | "version": "1.1.0", 1220 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz", 1221 | "integrity": "sha1-FhdnFMgBeY5Ojyz391KUZ7tKV3E=", 1222 | "dev": true 1223 | }, 1224 | "get-stdin": { 1225 | "version": "4.0.1", 1226 | "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", 1227 | "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", 1228 | "dev": true 1229 | }, 1230 | "getpass": { 1231 | "version": "0.1.7", 1232 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 1233 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 1234 | "dev": true, 1235 | "requires": { 1236 | "assert-plus": "1.0.0" 1237 | }, 1238 | "dependencies": { 1239 | "assert-plus": { 1240 | "version": "1.0.0", 1241 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 1242 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 1243 | "dev": true 1244 | } 1245 | } 1246 | }, 1247 | "glob": { 1248 | "version": "7.1.2", 1249 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", 1250 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", 1251 | "dev": true, 1252 | "requires": { 1253 | "fs.realpath": "1.0.0", 1254 | "inflight": "1.0.6", 1255 | "inherits": "2.0.3", 1256 | "minimatch": "3.0.4", 1257 | "once": "1.4.0", 1258 | "path-is-absolute": "1.0.1" 1259 | } 1260 | }, 1261 | "graceful-fs": { 1262 | "version": "4.1.11", 1263 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 1264 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 1265 | "dev": true 1266 | }, 1267 | "har-schema": { 1268 | "version": "1.0.5", 1269 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", 1270 | "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", 1271 | "dev": true 1272 | }, 1273 | "har-validator": { 1274 | "version": "4.2.1", 1275 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", 1276 | "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", 1277 | "dev": true, 1278 | "requires": { 1279 | "ajv": "4.11.8", 1280 | "har-schema": "1.0.5" 1281 | } 1282 | }, 1283 | "has": { 1284 | "version": "1.0.1", 1285 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", 1286 | "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", 1287 | "dev": true, 1288 | "requires": { 1289 | "function-bind": "1.1.0" 1290 | } 1291 | }, 1292 | "hash-base": { 1293 | "version": "2.0.2", 1294 | "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", 1295 | "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", 1296 | "dev": true, 1297 | "requires": { 1298 | "inherits": "2.0.3" 1299 | } 1300 | }, 1301 | "hash.js": { 1302 | "version": "1.1.3", 1303 | "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", 1304 | "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", 1305 | "dev": true, 1306 | "requires": { 1307 | "inherits": "2.0.3", 1308 | "minimalistic-assert": "1.0.0" 1309 | } 1310 | }, 1311 | "hawk": { 1312 | "version": "3.1.3", 1313 | "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", 1314 | "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", 1315 | "dev": true, 1316 | "requires": { 1317 | "boom": "2.10.1", 1318 | "cryptiles": "2.0.5", 1319 | "hoek": "2.16.3", 1320 | "sntp": "1.0.9" 1321 | } 1322 | }, 1323 | "hmac-drbg": { 1324 | "version": "1.0.1", 1325 | "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", 1326 | "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", 1327 | "dev": true, 1328 | "requires": { 1329 | "hash.js": "1.1.3", 1330 | "minimalistic-assert": "1.0.0", 1331 | "minimalistic-crypto-utils": "1.0.1" 1332 | } 1333 | }, 1334 | "hoek": { 1335 | "version": "2.16.3", 1336 | "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", 1337 | "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", 1338 | "dev": true 1339 | }, 1340 | "home-path": { 1341 | "version": "1.0.5", 1342 | "resolved": "https://registry.npmjs.org/home-path/-/home-path-1.0.5.tgz", 1343 | "integrity": "sha1-eIspgVsS1Tus9XVkhHbm+QQdEz8=", 1344 | "dev": true 1345 | }, 1346 | "hosted-git-info": { 1347 | "version": "2.5.0", 1348 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", 1349 | "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", 1350 | "dev": true 1351 | }, 1352 | "htmlescape": { 1353 | "version": "1.1.1", 1354 | "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", 1355 | "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=", 1356 | "dev": true 1357 | }, 1358 | "http-signature": { 1359 | "version": "1.1.1", 1360 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", 1361 | "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", 1362 | "dev": true, 1363 | "requires": { 1364 | "assert-plus": "0.2.0", 1365 | "jsprim": "1.4.0", 1366 | "sshpk": "1.13.1" 1367 | } 1368 | }, 1369 | "https-browserify": { 1370 | "version": "1.0.0", 1371 | "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", 1372 | "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", 1373 | "dev": true 1374 | }, 1375 | "ieee754": { 1376 | "version": "1.1.8", 1377 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", 1378 | "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", 1379 | "dev": true 1380 | }, 1381 | "indent-string": { 1382 | "version": "2.1.0", 1383 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", 1384 | "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", 1385 | "dev": true, 1386 | "requires": { 1387 | "repeating": "2.0.1" 1388 | } 1389 | }, 1390 | "indexof": { 1391 | "version": "0.0.1", 1392 | "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", 1393 | "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", 1394 | "dev": true 1395 | }, 1396 | "inflight": { 1397 | "version": "1.0.6", 1398 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1399 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1400 | "dev": true, 1401 | "requires": { 1402 | "once": "1.4.0", 1403 | "wrappy": "1.0.2" 1404 | } 1405 | }, 1406 | "inherits": { 1407 | "version": "2.0.3", 1408 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 1409 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" 1410 | }, 1411 | "ini": { 1412 | "version": "1.3.4", 1413 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", 1414 | "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", 1415 | "dev": true 1416 | }, 1417 | "inline-source-map": { 1418 | "version": "0.6.2", 1419 | "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", 1420 | "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=", 1421 | "dev": true, 1422 | "requires": { 1423 | "source-map": "0.5.6" 1424 | } 1425 | }, 1426 | "insert-module-globals": { 1427 | "version": "7.0.1", 1428 | "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.0.1.tgz", 1429 | "integrity": "sha1-wDv04BywhtW15azorQr+eInWOMM=", 1430 | "dev": true, 1431 | "requires": { 1432 | "combine-source-map": "0.7.2", 1433 | "concat-stream": "1.5.2", 1434 | "is-buffer": "1.1.5", 1435 | "JSONStream": "1.3.1", 1436 | "lexical-scope": "1.2.0", 1437 | "process": "0.11.10", 1438 | "through2": "2.0.3", 1439 | "xtend": "4.0.1" 1440 | }, 1441 | "dependencies": { 1442 | "concat-stream": { 1443 | "version": "1.5.2", 1444 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", 1445 | "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", 1446 | "dev": true, 1447 | "requires": { 1448 | "inherits": "2.0.3", 1449 | "readable-stream": "2.0.6", 1450 | "typedarray": "0.0.6" 1451 | } 1452 | }, 1453 | "isarray": { 1454 | "version": "1.0.0", 1455 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1456 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 1457 | "dev": true 1458 | }, 1459 | "readable-stream": { 1460 | "version": "2.0.6", 1461 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", 1462 | "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", 1463 | "dev": true, 1464 | "requires": { 1465 | "core-util-is": "1.0.2", 1466 | "inherits": "2.0.3", 1467 | "isarray": "1.0.0", 1468 | "process-nextick-args": "1.0.7", 1469 | "string_decoder": "0.10.31", 1470 | "util-deprecate": "1.0.2" 1471 | } 1472 | }, 1473 | "through2": { 1474 | "version": "2.0.3", 1475 | "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", 1476 | "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", 1477 | "dev": true, 1478 | "requires": { 1479 | "readable-stream": "2.3.3", 1480 | "xtend": "4.0.1" 1481 | }, 1482 | "dependencies": { 1483 | "readable-stream": { 1484 | "version": "2.3.3", 1485 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 1486 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 1487 | "dev": true, 1488 | "requires": { 1489 | "core-util-is": "1.0.2", 1490 | "inherits": "2.0.3", 1491 | "isarray": "1.0.0", 1492 | "process-nextick-args": "1.0.7", 1493 | "safe-buffer": "5.1.1", 1494 | "string_decoder": "1.0.3", 1495 | "util-deprecate": "1.0.2" 1496 | } 1497 | }, 1498 | "string_decoder": { 1499 | "version": "1.0.3", 1500 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 1501 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 1502 | "dev": true, 1503 | "requires": { 1504 | "safe-buffer": "5.1.1" 1505 | } 1506 | } 1507 | } 1508 | }, 1509 | "xtend": { 1510 | "version": "4.0.1", 1511 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 1512 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", 1513 | "dev": true 1514 | } 1515 | } 1516 | }, 1517 | "is-arrayish": { 1518 | "version": "0.2.1", 1519 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 1520 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", 1521 | "dev": true 1522 | }, 1523 | "is-buffer": { 1524 | "version": "1.1.5", 1525 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", 1526 | "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", 1527 | "dev": true 1528 | }, 1529 | "is-builtin-module": { 1530 | "version": "1.0.0", 1531 | "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", 1532 | "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", 1533 | "dev": true, 1534 | "requires": { 1535 | "builtin-modules": "1.1.1" 1536 | } 1537 | }, 1538 | "is-callable": { 1539 | "version": "1.1.3", 1540 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", 1541 | "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", 1542 | "dev": true 1543 | }, 1544 | "is-date-object": { 1545 | "version": "1.0.1", 1546 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", 1547 | "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", 1548 | "dev": true 1549 | }, 1550 | "is-finite": { 1551 | "version": "1.0.2", 1552 | "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", 1553 | "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", 1554 | "dev": true, 1555 | "requires": { 1556 | "number-is-nan": "1.0.1" 1557 | } 1558 | }, 1559 | "is-fullwidth-code-point": { 1560 | "version": "1.0.0", 1561 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 1562 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", 1563 | "dev": true, 1564 | "requires": { 1565 | "number-is-nan": "1.0.1" 1566 | } 1567 | }, 1568 | "is-function": { 1569 | "version": "1.0.1", 1570 | "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", 1571 | "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=", 1572 | "dev": true 1573 | }, 1574 | "is-regex": { 1575 | "version": "1.0.4", 1576 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", 1577 | "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", 1578 | "dev": true, 1579 | "requires": { 1580 | "has": "1.0.1" 1581 | } 1582 | }, 1583 | "is-symbol": { 1584 | "version": "1.0.1", 1585 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", 1586 | "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", 1587 | "dev": true 1588 | }, 1589 | "is-typedarray": { 1590 | "version": "1.0.0", 1591 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 1592 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", 1593 | "dev": true 1594 | }, 1595 | "is-utf8": { 1596 | "version": "0.2.1", 1597 | "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", 1598 | "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", 1599 | "dev": true 1600 | }, 1601 | "isarray": { 1602 | "version": "0.0.1", 1603 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", 1604 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", 1605 | "dev": true 1606 | }, 1607 | "isstream": { 1608 | "version": "0.1.2", 1609 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 1610 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", 1611 | "dev": true 1612 | }, 1613 | "jsbn": { 1614 | "version": "0.1.1", 1615 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 1616 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", 1617 | "dev": true, 1618 | "optional": true 1619 | }, 1620 | "json-schema": { 1621 | "version": "0.2.3", 1622 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", 1623 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", 1624 | "dev": true 1625 | }, 1626 | "json-stable-stringify": { 1627 | "version": "1.0.1", 1628 | "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", 1629 | "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", 1630 | "dev": true, 1631 | "requires": { 1632 | "jsonify": "0.0.0" 1633 | } 1634 | }, 1635 | "json-stringify-safe": { 1636 | "version": "5.0.1", 1637 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 1638 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", 1639 | "dev": true 1640 | }, 1641 | "jsonfile": { 1642 | "version": "2.4.0", 1643 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", 1644 | "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", 1645 | "dev": true, 1646 | "requires": { 1647 | "graceful-fs": "4.1.11" 1648 | } 1649 | }, 1650 | "jsonify": { 1651 | "version": "0.0.0", 1652 | "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", 1653 | "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", 1654 | "dev": true 1655 | }, 1656 | "jsonparse": { 1657 | "version": "1.3.1", 1658 | "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", 1659 | "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", 1660 | "dev": true 1661 | }, 1662 | "JSONStream": { 1663 | "version": "1.3.1", 1664 | "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.1.tgz", 1665 | "integrity": "sha1-cH92HgHa6eFvG8+TcDt4xwlmV5o=", 1666 | "dev": true, 1667 | "requires": { 1668 | "jsonparse": "1.3.1", 1669 | "through": "2.3.8" 1670 | } 1671 | }, 1672 | "jsprim": { 1673 | "version": "1.4.0", 1674 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", 1675 | "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=", 1676 | "dev": true, 1677 | "requires": { 1678 | "assert-plus": "1.0.0", 1679 | "extsprintf": "1.0.2", 1680 | "json-schema": "0.2.3", 1681 | "verror": "1.3.6" 1682 | }, 1683 | "dependencies": { 1684 | "assert-plus": { 1685 | "version": "1.0.0", 1686 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 1687 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 1688 | "dev": true 1689 | } 1690 | } 1691 | }, 1692 | "klaw": { 1693 | "version": "1.3.1", 1694 | "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", 1695 | "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", 1696 | "dev": true, 1697 | "requires": { 1698 | "graceful-fs": "4.1.11" 1699 | } 1700 | }, 1701 | "labeled-stream-splicer": { 1702 | "version": "2.0.0", 1703 | "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz", 1704 | "integrity": "sha1-pS4dE4AkwAuGscDJH2d5GLiuClk=", 1705 | "dev": true, 1706 | "requires": { 1707 | "inherits": "2.0.3", 1708 | "isarray": "0.0.1", 1709 | "stream-splicer": "2.0.0" 1710 | } 1711 | }, 1712 | "lexical-scope": { 1713 | "version": "1.2.0", 1714 | "resolved": "https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.2.0.tgz", 1715 | "integrity": "sha1-/Ope3HBKSzqHls3KQZw6CvryLfQ=", 1716 | "dev": true, 1717 | "requires": { 1718 | "astw": "2.2.0" 1719 | } 1720 | }, 1721 | "load-json-file": { 1722 | "version": "1.1.0", 1723 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", 1724 | "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", 1725 | "dev": true, 1726 | "requires": { 1727 | "graceful-fs": "4.1.11", 1728 | "parse-json": "2.2.0", 1729 | "pify": "2.3.0", 1730 | "pinkie-promise": "2.0.1", 1731 | "strip-bom": "2.0.0" 1732 | } 1733 | }, 1734 | "lodash.memoize": { 1735 | "version": "3.0.4", 1736 | "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", 1737 | "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=", 1738 | "dev": true 1739 | }, 1740 | "loud-rejection": { 1741 | "version": "1.6.0", 1742 | "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", 1743 | "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", 1744 | "dev": true, 1745 | "requires": { 1746 | "currently-unhandled": "0.4.1", 1747 | "signal-exit": "3.0.2" 1748 | } 1749 | }, 1750 | "map-obj": { 1751 | "version": "1.0.1", 1752 | "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", 1753 | "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", 1754 | "dev": true 1755 | }, 1756 | "meow": { 1757 | "version": "3.7.0", 1758 | "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", 1759 | "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", 1760 | "dev": true, 1761 | "requires": { 1762 | "camelcase-keys": "2.1.0", 1763 | "decamelize": "1.2.0", 1764 | "loud-rejection": "1.6.0", 1765 | "map-obj": "1.0.1", 1766 | "minimist": "1.2.0", 1767 | "normalize-package-data": "2.4.0", 1768 | "object-assign": "4.1.1", 1769 | "read-pkg-up": "1.0.1", 1770 | "redent": "1.0.0", 1771 | "trim-newlines": "1.0.0" 1772 | }, 1773 | "dependencies": { 1774 | "minimist": { 1775 | "version": "1.2.0", 1776 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 1777 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 1778 | "dev": true 1779 | } 1780 | } 1781 | }, 1782 | "miller-rabin": { 1783 | "version": "4.0.0", 1784 | "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.0.tgz", 1785 | "integrity": "sha1-SmL7HUKTPAVYOYL0xxb2+55sbT0=", 1786 | "dev": true, 1787 | "requires": { 1788 | "bn.js": "4.11.7", 1789 | "brorand": "1.1.0" 1790 | } 1791 | }, 1792 | "mime-db": { 1793 | "version": "1.27.0", 1794 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz", 1795 | "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=", 1796 | "dev": true 1797 | }, 1798 | "mime-types": { 1799 | "version": "2.1.15", 1800 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", 1801 | "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", 1802 | "dev": true, 1803 | "requires": { 1804 | "mime-db": "1.27.0" 1805 | } 1806 | }, 1807 | "minimalistic-assert": { 1808 | "version": "1.0.0", 1809 | "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", 1810 | "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=", 1811 | "dev": true 1812 | }, 1813 | "minimalistic-crypto-utils": { 1814 | "version": "1.0.1", 1815 | "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", 1816 | "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", 1817 | "dev": true 1818 | }, 1819 | "minimatch": { 1820 | "version": "3.0.4", 1821 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 1822 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 1823 | "dev": true, 1824 | "requires": { 1825 | "brace-expansion": "1.1.8" 1826 | } 1827 | }, 1828 | "minimist": { 1829 | "version": "0.0.5", 1830 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.5.tgz", 1831 | "integrity": "sha1-16oye87PUY+RBqxrjwA/o7zqhWY=", 1832 | "dev": true 1833 | }, 1834 | "mkdirp": { 1835 | "version": "0.5.0", 1836 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", 1837 | "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=", 1838 | "dev": true, 1839 | "requires": { 1840 | "minimist": "0.0.8" 1841 | }, 1842 | "dependencies": { 1843 | "minimist": { 1844 | "version": "0.0.8", 1845 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 1846 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 1847 | "dev": true 1848 | } 1849 | } 1850 | }, 1851 | "module-deps": { 1852 | "version": "4.1.1", 1853 | "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-4.1.1.tgz", 1854 | "integrity": "sha1-IyFYM/HaE/1gbMuAh7RIUty4If0=", 1855 | "dev": true, 1856 | "requires": { 1857 | "browser-resolve": "1.11.2", 1858 | "cached-path-relative": "1.0.1", 1859 | "concat-stream": "1.5.2", 1860 | "defined": "1.0.0", 1861 | "detective": "4.5.0", 1862 | "duplexer2": "0.1.4", 1863 | "inherits": "2.0.3", 1864 | "JSONStream": "1.3.1", 1865 | "parents": "1.0.1", 1866 | "readable-stream": "2.3.3", 1867 | "resolve": "1.3.3", 1868 | "stream-combiner2": "1.1.1", 1869 | "subarg": "1.0.0", 1870 | "through2": "2.0.3", 1871 | "xtend": "4.0.1" 1872 | }, 1873 | "dependencies": { 1874 | "concat-stream": { 1875 | "version": "1.5.2", 1876 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", 1877 | "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", 1878 | "dev": true, 1879 | "requires": { 1880 | "inherits": "2.0.3", 1881 | "readable-stream": "2.0.6", 1882 | "typedarray": "0.0.6" 1883 | }, 1884 | "dependencies": { 1885 | "readable-stream": { 1886 | "version": "2.0.6", 1887 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", 1888 | "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", 1889 | "dev": true, 1890 | "requires": { 1891 | "core-util-is": "1.0.2", 1892 | "inherits": "2.0.3", 1893 | "isarray": "1.0.0", 1894 | "process-nextick-args": "1.0.7", 1895 | "string_decoder": "0.10.31", 1896 | "util-deprecate": "1.0.2" 1897 | } 1898 | } 1899 | } 1900 | }, 1901 | "defined": { 1902 | "version": "1.0.0", 1903 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", 1904 | "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", 1905 | "dev": true 1906 | }, 1907 | "isarray": { 1908 | "version": "1.0.0", 1909 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1910 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 1911 | "dev": true 1912 | }, 1913 | "readable-stream": { 1914 | "version": "2.3.3", 1915 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 1916 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 1917 | "dev": true, 1918 | "requires": { 1919 | "core-util-is": "1.0.2", 1920 | "inherits": "2.0.3", 1921 | "isarray": "1.0.0", 1922 | "process-nextick-args": "1.0.7", 1923 | "safe-buffer": "5.1.1", 1924 | "string_decoder": "1.0.3", 1925 | "util-deprecate": "1.0.2" 1926 | }, 1927 | "dependencies": { 1928 | "string_decoder": { 1929 | "version": "1.0.3", 1930 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 1931 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 1932 | "dev": true, 1933 | "requires": { 1934 | "safe-buffer": "5.1.1" 1935 | } 1936 | } 1937 | } 1938 | }, 1939 | "through2": { 1940 | "version": "2.0.3", 1941 | "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", 1942 | "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", 1943 | "dev": true, 1944 | "requires": { 1945 | "readable-stream": "2.3.3", 1946 | "xtend": "4.0.1" 1947 | } 1948 | }, 1949 | "xtend": { 1950 | "version": "4.0.1", 1951 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 1952 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", 1953 | "dev": true 1954 | } 1955 | } 1956 | }, 1957 | "ms": { 1958 | "version": "2.0.0", 1959 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1960 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 1961 | "dev": true 1962 | }, 1963 | "normalize-package-data": { 1964 | "version": "2.4.0", 1965 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", 1966 | "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", 1967 | "dev": true, 1968 | "requires": { 1969 | "hosted-git-info": "2.5.0", 1970 | "is-builtin-module": "1.0.0", 1971 | "semver": "5.3.0", 1972 | "validate-npm-package-license": "3.0.1" 1973 | } 1974 | }, 1975 | "nugget": { 1976 | "version": "2.0.1", 1977 | "resolved": "https://registry.npmjs.org/nugget/-/nugget-2.0.1.tgz", 1978 | "integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=", 1979 | "dev": true, 1980 | "requires": { 1981 | "debug": "2.6.8", 1982 | "minimist": "1.2.0", 1983 | "pretty-bytes": "1.0.4", 1984 | "progress-stream": "1.2.0", 1985 | "request": "2.81.0", 1986 | "single-line-log": "1.1.2", 1987 | "throttleit": "0.0.2" 1988 | }, 1989 | "dependencies": { 1990 | "minimist": { 1991 | "version": "1.2.0", 1992 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 1993 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 1994 | "dev": true 1995 | } 1996 | } 1997 | }, 1998 | "number-is-nan": { 1999 | "version": "1.0.1", 2000 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 2001 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", 2002 | "dev": true 2003 | }, 2004 | "oauth-sign": { 2005 | "version": "0.8.2", 2006 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", 2007 | "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", 2008 | "dev": true 2009 | }, 2010 | "object-assign": { 2011 | "version": "4.1.1", 2012 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2013 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 2014 | "dev": true 2015 | }, 2016 | "object-inspect": { 2017 | "version": "1.2.2", 2018 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.2.2.tgz", 2019 | "integrity": "sha1-yCEV5PzIiK6hTWTCLk8X9qcNXlo=", 2020 | "dev": true 2021 | }, 2022 | "object-keys": { 2023 | "version": "0.4.0", 2024 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", 2025 | "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", 2026 | "dev": true 2027 | }, 2028 | "once": { 2029 | "version": "1.4.0", 2030 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2031 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 2032 | "dev": true, 2033 | "requires": { 2034 | "wrappy": "1.0.2" 2035 | } 2036 | }, 2037 | "os-browserify": { 2038 | "version": "0.1.2", 2039 | "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz", 2040 | "integrity": "sha1-ScoCk+CxlZCl9d4Qx/JlphfY/lQ=", 2041 | "dev": true 2042 | }, 2043 | "pako": { 2044 | "version": "0.2.9", 2045 | "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", 2046 | "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", 2047 | "dev": true 2048 | }, 2049 | "parents": { 2050 | "version": "1.0.1", 2051 | "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", 2052 | "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", 2053 | "dev": true, 2054 | "requires": { 2055 | "path-platform": "0.11.15" 2056 | } 2057 | }, 2058 | "parse-asn1": { 2059 | "version": "5.1.0", 2060 | "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", 2061 | "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", 2062 | "dev": true, 2063 | "requires": { 2064 | "asn1.js": "4.9.1", 2065 | "browserify-aes": "1.0.6", 2066 | "create-hash": "1.1.3", 2067 | "evp_bytestokey": "1.0.0", 2068 | "pbkdf2": "3.0.12" 2069 | } 2070 | }, 2071 | "parse-json": { 2072 | "version": "2.2.0", 2073 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", 2074 | "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", 2075 | "dev": true, 2076 | "requires": { 2077 | "error-ex": "1.3.1" 2078 | } 2079 | }, 2080 | "path-browserify": { 2081 | "version": "0.0.0", 2082 | "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", 2083 | "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", 2084 | "dev": true 2085 | }, 2086 | "path-exists": { 2087 | "version": "2.1.0", 2088 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", 2089 | "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", 2090 | "dev": true, 2091 | "requires": { 2092 | "pinkie-promise": "2.0.1" 2093 | } 2094 | }, 2095 | "path-is-absolute": { 2096 | "version": "1.0.1", 2097 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2098 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 2099 | "dev": true 2100 | }, 2101 | "path-parse": { 2102 | "version": "1.0.5", 2103 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", 2104 | "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", 2105 | "dev": true 2106 | }, 2107 | "path-platform": { 2108 | "version": "0.11.15", 2109 | "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", 2110 | "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=", 2111 | "dev": true 2112 | }, 2113 | "path-type": { 2114 | "version": "1.1.0", 2115 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", 2116 | "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", 2117 | "dev": true, 2118 | "requires": { 2119 | "graceful-fs": "4.1.11", 2120 | "pify": "2.3.0", 2121 | "pinkie-promise": "2.0.1" 2122 | } 2123 | }, 2124 | "pbkdf2": { 2125 | "version": "3.0.12", 2126 | "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.12.tgz", 2127 | "integrity": "sha1-vjZ4XFBn6kjYBv+SMojF91C2uKI=", 2128 | "dev": true, 2129 | "requires": { 2130 | "create-hash": "1.1.3", 2131 | "create-hmac": "1.1.6", 2132 | "ripemd160": "2.0.1", 2133 | "safe-buffer": "5.1.1", 2134 | "sha.js": "2.4.8" 2135 | } 2136 | }, 2137 | "pend": { 2138 | "version": "1.2.0", 2139 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 2140 | "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", 2141 | "dev": true 2142 | }, 2143 | "performance-now": { 2144 | "version": "0.2.0", 2145 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", 2146 | "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", 2147 | "dev": true 2148 | }, 2149 | "pify": { 2150 | "version": "2.3.0", 2151 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 2152 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", 2153 | "dev": true 2154 | }, 2155 | "pinkie": { 2156 | "version": "2.0.4", 2157 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 2158 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", 2159 | "dev": true 2160 | }, 2161 | "pinkie-promise": { 2162 | "version": "2.0.1", 2163 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 2164 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 2165 | "dev": true, 2166 | "requires": { 2167 | "pinkie": "2.0.4" 2168 | } 2169 | }, 2170 | "pretty-bytes": { 2171 | "version": "1.0.4", 2172 | "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz", 2173 | "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=", 2174 | "dev": true, 2175 | "requires": { 2176 | "get-stdin": "4.0.1", 2177 | "meow": "3.7.0" 2178 | } 2179 | }, 2180 | "process": { 2181 | "version": "0.11.10", 2182 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", 2183 | "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", 2184 | "dev": true 2185 | }, 2186 | "process-nextick-args": { 2187 | "version": "1.0.7", 2188 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", 2189 | "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" 2190 | }, 2191 | "progress-stream": { 2192 | "version": "1.2.0", 2193 | "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz", 2194 | "integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c=", 2195 | "dev": true, 2196 | "requires": { 2197 | "speedometer": "0.1.4", 2198 | "through2": "0.2.3" 2199 | }, 2200 | "dependencies": { 2201 | "through2": { 2202 | "version": "0.2.3", 2203 | "resolved": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz", 2204 | "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=", 2205 | "dev": true, 2206 | "requires": { 2207 | "readable-stream": "1.1.14", 2208 | "xtend": "2.1.2" 2209 | } 2210 | } 2211 | } 2212 | }, 2213 | "public-encrypt": { 2214 | "version": "4.0.0", 2215 | "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", 2216 | "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", 2217 | "dev": true, 2218 | "requires": { 2219 | "bn.js": "4.11.7", 2220 | "browserify-rsa": "4.0.1", 2221 | "create-hash": "1.1.3", 2222 | "parse-asn1": "5.1.0", 2223 | "randombytes": "2.0.5" 2224 | } 2225 | }, 2226 | "punycode": { 2227 | "version": "1.4.1", 2228 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 2229 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", 2230 | "dev": true 2231 | }, 2232 | "qs": { 2233 | "version": "6.4.0", 2234 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", 2235 | "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", 2236 | "dev": true 2237 | }, 2238 | "querystring": { 2239 | "version": "0.2.0", 2240 | "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", 2241 | "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", 2242 | "dev": true 2243 | }, 2244 | "querystring-es3": { 2245 | "version": "0.2.1", 2246 | "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", 2247 | "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", 2248 | "dev": true 2249 | }, 2250 | "randombytes": { 2251 | "version": "2.0.5", 2252 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", 2253 | "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==", 2254 | "dev": true, 2255 | "requires": { 2256 | "safe-buffer": "5.1.1" 2257 | } 2258 | }, 2259 | "rc": { 2260 | "version": "1.2.1", 2261 | "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", 2262 | "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", 2263 | "dev": true, 2264 | "requires": { 2265 | "deep-extend": "0.4.2", 2266 | "ini": "1.3.4", 2267 | "minimist": "1.2.0", 2268 | "strip-json-comments": "2.0.1" 2269 | }, 2270 | "dependencies": { 2271 | "minimist": { 2272 | "version": "1.2.0", 2273 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 2274 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 2275 | "dev": true 2276 | } 2277 | } 2278 | }, 2279 | "read-only-stream": { 2280 | "version": "2.0.0", 2281 | "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", 2282 | "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", 2283 | "dev": true, 2284 | "requires": { 2285 | "readable-stream": "2.3.3" 2286 | }, 2287 | "dependencies": { 2288 | "isarray": { 2289 | "version": "1.0.0", 2290 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 2291 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 2292 | "dev": true 2293 | }, 2294 | "readable-stream": { 2295 | "version": "2.3.3", 2296 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 2297 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 2298 | "dev": true, 2299 | "requires": { 2300 | "core-util-is": "1.0.2", 2301 | "inherits": "2.0.3", 2302 | "isarray": "1.0.0", 2303 | "process-nextick-args": "1.0.7", 2304 | "safe-buffer": "5.1.1", 2305 | "string_decoder": "1.0.3", 2306 | "util-deprecate": "1.0.2" 2307 | } 2308 | }, 2309 | "string_decoder": { 2310 | "version": "1.0.3", 2311 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 2312 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 2313 | "dev": true, 2314 | "requires": { 2315 | "safe-buffer": "5.1.1" 2316 | } 2317 | } 2318 | } 2319 | }, 2320 | "read-pkg": { 2321 | "version": "1.1.0", 2322 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", 2323 | "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", 2324 | "dev": true, 2325 | "requires": { 2326 | "load-json-file": "1.1.0", 2327 | "normalize-package-data": "2.4.0", 2328 | "path-type": "1.1.0" 2329 | } 2330 | }, 2331 | "read-pkg-up": { 2332 | "version": "1.0.1", 2333 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", 2334 | "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", 2335 | "dev": true, 2336 | "requires": { 2337 | "find-up": "1.1.2", 2338 | "read-pkg": "1.1.0" 2339 | } 2340 | }, 2341 | "readable-stream": { 2342 | "version": "1.1.14", 2343 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", 2344 | "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", 2345 | "dev": true, 2346 | "requires": { 2347 | "core-util-is": "1.0.2", 2348 | "inherits": "2.0.3", 2349 | "isarray": "0.0.1", 2350 | "string_decoder": "0.10.31" 2351 | } 2352 | }, 2353 | "redent": { 2354 | "version": "1.0.0", 2355 | "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", 2356 | "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", 2357 | "dev": true, 2358 | "requires": { 2359 | "indent-string": "2.1.0", 2360 | "strip-indent": "1.0.1" 2361 | } 2362 | }, 2363 | "repeating": { 2364 | "version": "2.0.1", 2365 | "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", 2366 | "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", 2367 | "dev": true, 2368 | "requires": { 2369 | "is-finite": "1.0.2" 2370 | } 2371 | }, 2372 | "request": { 2373 | "version": "2.81.0", 2374 | "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", 2375 | "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", 2376 | "dev": true, 2377 | "requires": { 2378 | "aws-sign2": "0.6.0", 2379 | "aws4": "1.6.0", 2380 | "caseless": "0.12.0", 2381 | "combined-stream": "1.0.5", 2382 | "extend": "3.0.1", 2383 | "forever-agent": "0.6.1", 2384 | "form-data": "2.1.4", 2385 | "har-validator": "4.2.1", 2386 | "hawk": "3.1.3", 2387 | "http-signature": "1.1.1", 2388 | "is-typedarray": "1.0.0", 2389 | "isstream": "0.1.2", 2390 | "json-stringify-safe": "5.0.1", 2391 | "mime-types": "2.1.15", 2392 | "oauth-sign": "0.8.2", 2393 | "performance-now": "0.2.0", 2394 | "qs": "6.4.0", 2395 | "safe-buffer": "5.1.1", 2396 | "stringstream": "0.0.5", 2397 | "tough-cookie": "2.3.2", 2398 | "tunnel-agent": "0.6.0", 2399 | "uuid": "3.1.0" 2400 | } 2401 | }, 2402 | "resolve": { 2403 | "version": "1.3.3", 2404 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.3.3.tgz", 2405 | "integrity": "sha1-ZVkHw0aahoDcLeOidaj91paR8OU=", 2406 | "dev": true, 2407 | "requires": { 2408 | "path-parse": "1.0.5" 2409 | } 2410 | }, 2411 | "resumer": { 2412 | "version": "0.0.0", 2413 | "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz", 2414 | "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", 2415 | "dev": true, 2416 | "requires": { 2417 | "through": "2.3.8" 2418 | } 2419 | }, 2420 | "rimraf": { 2421 | "version": "2.6.1", 2422 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", 2423 | "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", 2424 | "dev": true, 2425 | "requires": { 2426 | "glob": "7.1.2" 2427 | } 2428 | }, 2429 | "ripemd160": { 2430 | "version": "2.0.1", 2431 | "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", 2432 | "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", 2433 | "dev": true, 2434 | "requires": { 2435 | "hash-base": "2.0.2", 2436 | "inherits": "2.0.3" 2437 | } 2438 | }, 2439 | "safe-buffer": { 2440 | "version": "5.1.1", 2441 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", 2442 | "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" 2443 | }, 2444 | "semver": { 2445 | "version": "5.3.0", 2446 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", 2447 | "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", 2448 | "dev": true 2449 | }, 2450 | "sha.js": { 2451 | "version": "2.4.8", 2452 | "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.8.tgz", 2453 | "integrity": "sha1-NwaMLEdra69ALRSknGf1l5IfY08=", 2454 | "dev": true, 2455 | "requires": { 2456 | "inherits": "2.0.3" 2457 | } 2458 | }, 2459 | "shasum": { 2460 | "version": "1.0.2", 2461 | "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", 2462 | "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=", 2463 | "dev": true, 2464 | "requires": { 2465 | "json-stable-stringify": "0.0.1", 2466 | "sha.js": "2.4.8" 2467 | }, 2468 | "dependencies": { 2469 | "json-stable-stringify": { 2470 | "version": "0.0.1", 2471 | "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", 2472 | "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=", 2473 | "dev": true, 2474 | "requires": { 2475 | "jsonify": "0.0.0" 2476 | } 2477 | } 2478 | } 2479 | }, 2480 | "shell-quote": { 2481 | "version": "1.6.1", 2482 | "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", 2483 | "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", 2484 | "dev": true, 2485 | "requires": { 2486 | "array-filter": "0.0.1", 2487 | "array-map": "0.0.0", 2488 | "array-reduce": "0.0.0", 2489 | "jsonify": "0.0.0" 2490 | } 2491 | }, 2492 | "signal-exit": { 2493 | "version": "3.0.2", 2494 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 2495 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", 2496 | "dev": true 2497 | }, 2498 | "single-line-log": { 2499 | "version": "1.1.2", 2500 | "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz", 2501 | "integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=", 2502 | "dev": true, 2503 | "requires": { 2504 | "string-width": "1.0.2" 2505 | } 2506 | }, 2507 | "sntp": { 2508 | "version": "1.0.9", 2509 | "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", 2510 | "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", 2511 | "dev": true, 2512 | "requires": { 2513 | "hoek": "2.16.3" 2514 | } 2515 | }, 2516 | "source-map": { 2517 | "version": "0.5.6", 2518 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", 2519 | "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", 2520 | "dev": true 2521 | }, 2522 | "spdx-correct": { 2523 | "version": "1.0.2", 2524 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", 2525 | "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", 2526 | "dev": true, 2527 | "requires": { 2528 | "spdx-license-ids": "1.2.2" 2529 | } 2530 | }, 2531 | "spdx-expression-parse": { 2532 | "version": "1.0.4", 2533 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", 2534 | "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", 2535 | "dev": true 2536 | }, 2537 | "spdx-license-ids": { 2538 | "version": "1.2.2", 2539 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", 2540 | "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", 2541 | "dev": true 2542 | }, 2543 | "speedometer": { 2544 | "version": "0.1.4", 2545 | "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-0.1.4.tgz", 2546 | "integrity": "sha1-mHbb0qFp0xFUAtSObqYynIgWpQ0=", 2547 | "dev": true 2548 | }, 2549 | "sprintf": { 2550 | "version": "0.1.5", 2551 | "resolved": "https://registry.npmjs.org/sprintf/-/sprintf-0.1.5.tgz", 2552 | "integrity": "sha1-j4PjmpMXwaUCy324BQ5Rxnn27c8=", 2553 | "dev": true 2554 | }, 2555 | "sshpk": { 2556 | "version": "1.13.1", 2557 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", 2558 | "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", 2559 | "dev": true, 2560 | "requires": { 2561 | "asn1": "0.2.3", 2562 | "assert-plus": "1.0.0", 2563 | "bcrypt-pbkdf": "1.0.1", 2564 | "dashdash": "1.14.1", 2565 | "ecc-jsbn": "0.1.1", 2566 | "getpass": "0.1.7", 2567 | "jsbn": "0.1.1", 2568 | "tweetnacl": "0.14.5" 2569 | }, 2570 | "dependencies": { 2571 | "assert-plus": { 2572 | "version": "1.0.0", 2573 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 2574 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 2575 | "dev": true 2576 | } 2577 | } 2578 | }, 2579 | "stream-browserify": { 2580 | "version": "2.0.1", 2581 | "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", 2582 | "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", 2583 | "dev": true, 2584 | "requires": { 2585 | "inherits": "2.0.3", 2586 | "readable-stream": "2.3.3" 2587 | }, 2588 | "dependencies": { 2589 | "isarray": { 2590 | "version": "1.0.0", 2591 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 2592 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 2593 | "dev": true 2594 | }, 2595 | "readable-stream": { 2596 | "version": "2.3.3", 2597 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 2598 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 2599 | "dev": true, 2600 | "requires": { 2601 | "core-util-is": "1.0.2", 2602 | "inherits": "2.0.3", 2603 | "isarray": "1.0.0", 2604 | "process-nextick-args": "1.0.7", 2605 | "safe-buffer": "5.1.1", 2606 | "string_decoder": "1.0.3", 2607 | "util-deprecate": "1.0.2" 2608 | } 2609 | }, 2610 | "string_decoder": { 2611 | "version": "1.0.3", 2612 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 2613 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 2614 | "dev": true, 2615 | "requires": { 2616 | "safe-buffer": "5.1.1" 2617 | } 2618 | } 2619 | } 2620 | }, 2621 | "stream-combiner2": { 2622 | "version": "1.1.1", 2623 | "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", 2624 | "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", 2625 | "dev": true, 2626 | "requires": { 2627 | "duplexer2": "0.1.4", 2628 | "readable-stream": "2.3.3" 2629 | }, 2630 | "dependencies": { 2631 | "isarray": { 2632 | "version": "1.0.0", 2633 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 2634 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 2635 | "dev": true 2636 | }, 2637 | "readable-stream": { 2638 | "version": "2.3.3", 2639 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 2640 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 2641 | "dev": true, 2642 | "requires": { 2643 | "core-util-is": "1.0.2", 2644 | "inherits": "2.0.3", 2645 | "isarray": "1.0.0", 2646 | "process-nextick-args": "1.0.7", 2647 | "safe-buffer": "5.1.1", 2648 | "string_decoder": "1.0.3", 2649 | "util-deprecate": "1.0.2" 2650 | } 2651 | }, 2652 | "string_decoder": { 2653 | "version": "1.0.3", 2654 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 2655 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 2656 | "dev": true, 2657 | "requires": { 2658 | "safe-buffer": "5.1.1" 2659 | } 2660 | } 2661 | } 2662 | }, 2663 | "stream-http": { 2664 | "version": "2.7.2", 2665 | "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz", 2666 | "integrity": "sha512-c0yTD2rbQzXtSsFSVhtpvY/vS6u066PcXOX9kBB3mSO76RiUQzL340uJkGBWnlBg4/HZzqiUXtaVA7wcRcJgEw==", 2667 | "dev": true, 2668 | "requires": { 2669 | "builtin-status-codes": "3.0.0", 2670 | "inherits": "2.0.3", 2671 | "readable-stream": "2.3.3", 2672 | "to-arraybuffer": "1.0.1", 2673 | "xtend": "4.0.1" 2674 | }, 2675 | "dependencies": { 2676 | "isarray": { 2677 | "version": "1.0.0", 2678 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 2679 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 2680 | "dev": true 2681 | }, 2682 | "readable-stream": { 2683 | "version": "2.3.3", 2684 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 2685 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 2686 | "dev": true, 2687 | "requires": { 2688 | "core-util-is": "1.0.2", 2689 | "inherits": "2.0.3", 2690 | "isarray": "1.0.0", 2691 | "process-nextick-args": "1.0.7", 2692 | "safe-buffer": "5.1.1", 2693 | "string_decoder": "1.0.3", 2694 | "util-deprecate": "1.0.2" 2695 | } 2696 | }, 2697 | "string_decoder": { 2698 | "version": "1.0.3", 2699 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 2700 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 2701 | "dev": true, 2702 | "requires": { 2703 | "safe-buffer": "5.1.1" 2704 | } 2705 | }, 2706 | "xtend": { 2707 | "version": "4.0.1", 2708 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 2709 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", 2710 | "dev": true 2711 | } 2712 | } 2713 | }, 2714 | "stream-splicer": { 2715 | "version": "2.0.0", 2716 | "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz", 2717 | "integrity": "sha1-G2O+Q4oTPktnHMGTUZdgAXWRDYM=", 2718 | "dev": true, 2719 | "requires": { 2720 | "inherits": "2.0.3", 2721 | "readable-stream": "2.3.3" 2722 | }, 2723 | "dependencies": { 2724 | "isarray": { 2725 | "version": "1.0.0", 2726 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 2727 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 2728 | "dev": true 2729 | }, 2730 | "readable-stream": { 2731 | "version": "2.3.3", 2732 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 2733 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 2734 | "dev": true, 2735 | "requires": { 2736 | "core-util-is": "1.0.2", 2737 | "inherits": "2.0.3", 2738 | "isarray": "1.0.0", 2739 | "process-nextick-args": "1.0.7", 2740 | "safe-buffer": "5.1.1", 2741 | "string_decoder": "1.0.3", 2742 | "util-deprecate": "1.0.2" 2743 | } 2744 | }, 2745 | "string_decoder": { 2746 | "version": "1.0.3", 2747 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 2748 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 2749 | "dev": true, 2750 | "requires": { 2751 | "safe-buffer": "5.1.1" 2752 | } 2753 | } 2754 | } 2755 | }, 2756 | "string_decoder": { 2757 | "version": "0.10.31", 2758 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 2759 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", 2760 | "dev": true 2761 | }, 2762 | "string-width": { 2763 | "version": "1.0.2", 2764 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", 2765 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", 2766 | "dev": true, 2767 | "requires": { 2768 | "code-point-at": "1.1.0", 2769 | "is-fullwidth-code-point": "1.0.0", 2770 | "strip-ansi": "3.0.1" 2771 | } 2772 | }, 2773 | "string.prototype.trim": { 2774 | "version": "1.1.2", 2775 | "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz", 2776 | "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=", 2777 | "dev": true, 2778 | "requires": { 2779 | "define-properties": "1.1.2", 2780 | "es-abstract": "1.7.0", 2781 | "function-bind": "1.1.0" 2782 | } 2783 | }, 2784 | "stringstream": { 2785 | "version": "0.0.5", 2786 | "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", 2787 | "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", 2788 | "dev": true 2789 | }, 2790 | "strip-ansi": { 2791 | "version": "3.0.1", 2792 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 2793 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 2794 | "dev": true, 2795 | "requires": { 2796 | "ansi-regex": "2.1.1" 2797 | } 2798 | }, 2799 | "strip-bom": { 2800 | "version": "2.0.0", 2801 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", 2802 | "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", 2803 | "dev": true, 2804 | "requires": { 2805 | "is-utf8": "0.2.1" 2806 | } 2807 | }, 2808 | "strip-indent": { 2809 | "version": "1.0.1", 2810 | "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", 2811 | "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", 2812 | "dev": true, 2813 | "requires": { 2814 | "get-stdin": "4.0.1" 2815 | } 2816 | }, 2817 | "strip-json-comments": { 2818 | "version": "2.0.1", 2819 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 2820 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 2821 | "dev": true 2822 | }, 2823 | "subarg": { 2824 | "version": "1.0.0", 2825 | "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", 2826 | "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", 2827 | "dev": true, 2828 | "requires": { 2829 | "minimist": "1.2.0" 2830 | }, 2831 | "dependencies": { 2832 | "minimist": { 2833 | "version": "1.2.0", 2834 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 2835 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 2836 | "dev": true 2837 | } 2838 | } 2839 | }, 2840 | "sumchecker": { 2841 | "version": "1.3.1", 2842 | "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-1.3.1.tgz", 2843 | "integrity": "sha1-ebs7RFbdBPGOvbwNcDodHa7FEF0=", 2844 | "dev": true, 2845 | "requires": { 2846 | "debug": "2.6.8", 2847 | "es6-promise": "4.1.1" 2848 | } 2849 | }, 2850 | "syntax-error": { 2851 | "version": "1.3.0", 2852 | "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.3.0.tgz", 2853 | "integrity": "sha1-HtkmbE1AvnXcVb+bsct3Biu5bKE=", 2854 | "dev": true, 2855 | "requires": { 2856 | "acorn": "4.0.13" 2857 | }, 2858 | "dependencies": { 2859 | "acorn": { 2860 | "version": "4.0.13", 2861 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", 2862 | "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", 2863 | "dev": true 2864 | } 2865 | } 2866 | }, 2867 | "tap-parser": { 2868 | "version": "0.4.3", 2869 | "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-0.4.3.tgz", 2870 | "integrity": "sha1-pOrhkMENdsehEZIf84u+TVjwnuo=", 2871 | "dev": true, 2872 | "requires": { 2873 | "inherits": "2.0.3", 2874 | "readable-stream": "1.1.14" 2875 | } 2876 | }, 2877 | "tape": { 2878 | "version": "4.7.0", 2879 | "resolved": "https://registry.npmjs.org/tape/-/tape-4.7.0.tgz", 2880 | "integrity": "sha512-ePzu2KfZYVtq0v+KKGxBJ9HJWYZ4MaQWeGabD+KpVdMKRen3NJPf6EiwA5BxfMkhQPGtCwnOFWelcB39bhOUng==", 2881 | "dev": true, 2882 | "requires": { 2883 | "deep-equal": "1.0.1", 2884 | "defined": "1.0.0", 2885 | "for-each": "0.3.2", 2886 | "function-bind": "1.1.0", 2887 | "glob": "7.1.2", 2888 | "has": "1.0.1", 2889 | "inherits": "2.0.3", 2890 | "minimist": "1.2.0", 2891 | "object-inspect": "1.2.2", 2892 | "resolve": "1.3.3", 2893 | "resumer": "0.0.0", 2894 | "string.prototype.trim": "1.1.2", 2895 | "through": "2.3.8" 2896 | }, 2897 | "dependencies": { 2898 | "deep-equal": { 2899 | "version": "1.0.1", 2900 | "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", 2901 | "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", 2902 | "dev": true 2903 | }, 2904 | "defined": { 2905 | "version": "1.0.0", 2906 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", 2907 | "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", 2908 | "dev": true 2909 | }, 2910 | "minimist": { 2911 | "version": "1.2.0", 2912 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 2913 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 2914 | "dev": true 2915 | } 2916 | } 2917 | }, 2918 | "throttleit": { 2919 | "version": "0.0.2", 2920 | "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz", 2921 | "integrity": "sha1-z+34jmDADdlpe2H90qg0OptoDq8=", 2922 | "dev": true 2923 | }, 2924 | "through": { 2925 | "version": "2.3.8", 2926 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 2927 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 2928 | "dev": true 2929 | }, 2930 | "through2": { 2931 | "version": "2.0.3", 2932 | "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", 2933 | "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", 2934 | "requires": { 2935 | "readable-stream": "2.3.3", 2936 | "xtend": "4.0.1" 2937 | }, 2938 | "dependencies": { 2939 | "isarray": { 2940 | "version": "1.0.0", 2941 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 2942 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" 2943 | }, 2944 | "readable-stream": { 2945 | "version": "2.3.3", 2946 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 2947 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 2948 | "requires": { 2949 | "core-util-is": "1.0.2", 2950 | "inherits": "2.0.3", 2951 | "isarray": "1.0.0", 2952 | "process-nextick-args": "1.0.7", 2953 | "safe-buffer": "5.1.1", 2954 | "string_decoder": "1.0.3", 2955 | "util-deprecate": "1.0.2" 2956 | } 2957 | }, 2958 | "string_decoder": { 2959 | "version": "1.0.3", 2960 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 2961 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 2962 | "requires": { 2963 | "safe-buffer": "5.1.1" 2964 | } 2965 | }, 2966 | "xtend": { 2967 | "version": "4.0.1", 2968 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 2969 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" 2970 | } 2971 | } 2972 | }, 2973 | "timers-browserify": { 2974 | "version": "1.4.2", 2975 | "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", 2976 | "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", 2977 | "dev": true, 2978 | "requires": { 2979 | "process": "0.11.10" 2980 | } 2981 | }, 2982 | "to-arraybuffer": { 2983 | "version": "1.0.1", 2984 | "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", 2985 | "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", 2986 | "dev": true 2987 | }, 2988 | "tough-cookie": { 2989 | "version": "2.3.2", 2990 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", 2991 | "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", 2992 | "dev": true, 2993 | "requires": { 2994 | "punycode": "1.4.1" 2995 | } 2996 | }, 2997 | "trim-newlines": { 2998 | "version": "1.0.0", 2999 | "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", 3000 | "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", 3001 | "dev": true 3002 | }, 3003 | "tty-browserify": { 3004 | "version": "0.0.0", 3005 | "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", 3006 | "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", 3007 | "dev": true 3008 | }, 3009 | "tunnel-agent": { 3010 | "version": "0.6.0", 3011 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 3012 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 3013 | "dev": true, 3014 | "requires": { 3015 | "safe-buffer": "5.1.1" 3016 | } 3017 | }, 3018 | "tweetnacl": { 3019 | "version": "0.14.5", 3020 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 3021 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", 3022 | "dev": true, 3023 | "optional": true 3024 | }, 3025 | "typedarray": { 3026 | "version": "0.0.6", 3027 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", 3028 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", 3029 | "dev": true 3030 | }, 3031 | "umd": { 3032 | "version": "3.0.1", 3033 | "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.1.tgz", 3034 | "integrity": "sha1-iuVW4RAR9jwllnCKiDclnwGz1g4=", 3035 | "dev": true 3036 | }, 3037 | "url": { 3038 | "version": "0.11.0", 3039 | "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", 3040 | "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", 3041 | "dev": true, 3042 | "requires": { 3043 | "punycode": "1.3.2", 3044 | "querystring": "0.2.0" 3045 | }, 3046 | "dependencies": { 3047 | "punycode": { 3048 | "version": "1.3.2", 3049 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", 3050 | "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", 3051 | "dev": true 3052 | } 3053 | } 3054 | }, 3055 | "util": { 3056 | "version": "0.10.3", 3057 | "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", 3058 | "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", 3059 | "dev": true, 3060 | "requires": { 3061 | "inherits": "2.0.1" 3062 | }, 3063 | "dependencies": { 3064 | "inherits": { 3065 | "version": "2.0.1", 3066 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", 3067 | "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", 3068 | "dev": true 3069 | } 3070 | } 3071 | }, 3072 | "util-deprecate": { 3073 | "version": "1.0.2", 3074 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 3075 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 3076 | }, 3077 | "uuid": { 3078 | "version": "3.1.0", 3079 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", 3080 | "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", 3081 | "dev": true 3082 | }, 3083 | "validate-npm-package-license": { 3084 | "version": "3.0.1", 3085 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", 3086 | "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", 3087 | "dev": true, 3088 | "requires": { 3089 | "spdx-correct": "1.0.2", 3090 | "spdx-expression-parse": "1.0.4" 3091 | } 3092 | }, 3093 | "verror": { 3094 | "version": "1.3.6", 3095 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", 3096 | "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", 3097 | "dev": true, 3098 | "requires": { 3099 | "extsprintf": "1.0.2" 3100 | } 3101 | }, 3102 | "vm-browserify": { 3103 | "version": "0.0.4", 3104 | "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", 3105 | "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", 3106 | "dev": true, 3107 | "requires": { 3108 | "indexof": "0.0.1" 3109 | } 3110 | }, 3111 | "wrappy": { 3112 | "version": "1.0.2", 3113 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 3114 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 3115 | "dev": true 3116 | }, 3117 | "xtend": { 3118 | "version": "2.1.2", 3119 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", 3120 | "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", 3121 | "dev": true, 3122 | "requires": { 3123 | "object-keys": "0.4.0" 3124 | } 3125 | }, 3126 | "yauzl": { 3127 | "version": "2.4.1", 3128 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", 3129 | "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", 3130 | "dev": true, 3131 | "requires": { 3132 | "fd-slicer": "1.0.1" 3133 | } 3134 | } 3135 | } 3136 | } 3137 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "electron-renderify", 3 | "version": "0.0.2", 4 | "description": "electron-renderify", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "faucet" 8 | }, 9 | "dependencies": { 10 | "through2": "^2.0.3" 11 | }, 12 | "devDependencies": { 13 | "browserify": "^14.4.0", 14 | "electron": "^1.7.9", 15 | "faucet": "0.0.1", 16 | "tape": "^4.7.0" 17 | }, 18 | "repository": { 19 | "type": "git", 20 | "url": "https://github.com/blahah/electron-renderify.git" 21 | }, 22 | "author": "Rik Smith-Unna (@blahah)", 23 | "license": "CC0-1.0", 24 | "bugs": { 25 | "url": "https://github.com/blahah/electron-renderify/issues" 26 | }, 27 | "homepage": "https://github.com/blahah/electron-renderify" 28 | } 29 | -------------------------------------------------------------------------------- /sample.js: -------------------------------------------------------------------------------- 1 | // renderify sample start 2 | var fs = require('fs') 3 | var renderify = require('./index') 4 | // renderify sample end 5 | -------------------------------------------------------------------------------- /test/app/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Hello World! 6 | 7 | 8 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /test/app/main.js: -------------------------------------------------------------------------------- 1 | const electron = require('electron') 2 | const app = electron.app 3 | const BrowserWindow = electron.BrowserWindow 4 | const ipc = electron.ipcMain 5 | 6 | const path = require('path') 7 | const url = require('url') 8 | 9 | let mainWindow 10 | 11 | function createWindow () { 12 | mainWindow = new BrowserWindow({ show: false }) 13 | 14 | mainWindow.loadURL(url.format({ 15 | pathname: path.join(__dirname, 'index.html'), 16 | protocol: 'file:', 17 | slashes: true 18 | })) 19 | 20 | mainWindow.on('closed', function () { 21 | mainWindow = null 22 | }) 23 | } 24 | 25 | app.on('ready', createWindow) 26 | 27 | app.on('window-all-closed', function () { 28 | if (process.platform !== 'darwin') { 29 | app.quit() 30 | } 31 | }) 32 | 33 | ipc.on('quit', function () { 34 | app.quit() 35 | }) 36 | -------------------------------------------------------------------------------- /test/app/renderer.js: -------------------------------------------------------------------------------- 1 | var fs = require('fs') 2 | var path = require('path') 3 | 4 | var inpath = path.join(__dirname, 'test_input.txt') 5 | var text = fs.readFileSync(inpath) 6 | 7 | var outpath = path.join(__dirname, 'test_output.txt') 8 | 9 | fs.writeFileSync(outpath, text) 10 | 11 | window.document.body.innerHTML = `

SUCCESS: ${text}

` 12 | 13 | var ipc = require('electron').ipcRenderer 14 | 15 | ipc.send('quit') 16 | -------------------------------------------------------------------------------- /test/app/test_input.txt: -------------------------------------------------------------------------------- 1 | text loaded 2 | -------------------------------------------------------------------------------- /test/basic.js: -------------------------------------------------------------------------------- 1 | var test = require('tape') 2 | var through = require('through2') 3 | var browserify = require('browserify') 4 | var path = require('path') 5 | 6 | test('replaces all blacklisted requires, leaving others intact', function (t) { 7 | t.plan(1) 8 | 9 | browserify() 10 | .transform(require('../index')) 11 | .add(path.join(__dirname, '..', 'sample.js')) 12 | .bundle() 13 | .pipe(through(ondata, onend)) 14 | 15 | var data = '' 16 | 17 | function ondata (d, enc, cb) { 18 | data += d 19 | cb() 20 | } 21 | 22 | function onend (cb) { 23 | var lines = data.split('\n') 24 | console.log(lines) 25 | var start = lines.indexOf('// renderify sample start') + 1 26 | var end = lines.indexOf('// renderify sample end') 27 | 28 | t.deepEqual( 29 | lines.slice(start, end), 30 | [ 31 | "var fs = window.require('fs')", 32 | "var renderify = require('./index')" 33 | ] 34 | ) 35 | 36 | } 37 | }) 38 | -------------------------------------------------------------------------------- /test/electron.js: -------------------------------------------------------------------------------- 1 | var test = require('tape') 2 | var through = require('through2') 3 | var browserify = require('browserify') 4 | var path = require('path') 5 | var fs = require('fs') 6 | var exec = require('child_process').exec 7 | 8 | var opts = { 9 | timeout: 5000 10 | } 11 | 12 | var bundlePath = path.join(__dirname, 'app', 'bundle.js') 13 | var outputPath = path.join(__dirname, 'app', 'test_output.txt') 14 | 15 | cleanup(go) 16 | 17 | function go () { 18 | test('allows fs to be used in bundle in electron renderer', function (t) { 19 | var write = fs.createWriteStream(bundlePath) 20 | 21 | write.once('close', runElectron) 22 | write.on('err', handleErr) 23 | 24 | var browserifyOpts = { 25 | builtins: [], 26 | commonDir: false, 27 | detectGlobals: false, 28 | ignoreMissing: true, 29 | insertGlobalVars: 'global', 30 | browserField: false, 31 | standalone: 'renderer' 32 | } 33 | 34 | browserify(browserifyOpts) 35 | .transform(require('../index')) 36 | .add(path.join(__dirname, 'app', 'renderer')) 37 | .bundle() 38 | .pipe(write) 39 | 40 | function runElectron () { 41 | var electron = path.join(__dirname, '../node_modules/.bin/electron') 42 | var app = path.join(__dirname, 'app', 'main.js') 43 | var child = exec(electron + ' ' + app) 44 | 45 | child.once('close', runTest) 46 | child.on('error', handleErr) 47 | } 48 | 49 | function runTest () { 50 | var result = fs.readFileSync(outputPath, 'utf8') 51 | t.equal(result.trim(), 'text loaded') 52 | cleanup(function () { 53 | t.end() 54 | }) 55 | } 56 | 57 | function handleErr (err) { 58 | cleanup(function () { 59 | throw err 60 | }) 61 | } 62 | }) 63 | } 64 | 65 | function cleanup (cb) { 66 | fs.unlink(bundlePath, function () { 67 | fs.unlink(outputPath, cb) 68 | }) 69 | } 70 | --------------------------------------------------------------------------------