├── .gitignore ├── .jshintrc ├── Gruntfile.js ├── LICENSE-MIT ├── README.md ├── package-lock.json ├── package.json ├── tasks └── screeps.js └── test ├── fixtures └── happy │ ├── hello.js │ ├── main.js │ └── native.wasm ├── screeps_empty_test.js └── screeps_test.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | tmp 4 | .idea -------------------------------------------------------------------------------- /.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "curly": true, 3 | "eqeqeq": true, 4 | "immed": true, 5 | "latedef": true, 6 | "newcap": true, 7 | "noarg": true, 8 | "sub": true, 9 | "undef": true, 10 | "boss": true, 11 | "eqnull": true, 12 | "node": true 13 | } 14 | -------------------------------------------------------------------------------- /Gruntfile.js: -------------------------------------------------------------------------------- 1 | /* 2 | * grunt-screeps 3 | * https://github.com/screeps/grunt-screeps 4 | * 5 | * Copyright (c) 2015 Artem Chivchalov 6 | * Licensed under the MIT license. 7 | */ 8 | 9 | 'use strict'; 10 | 11 | require('./test/screeps_test'); 12 | require('./test/screeps_empty_test'); 13 | 14 | module.exports = function (grunt) { 15 | 16 | // Project configuration. 17 | grunt.initConfig({ 18 | jshint: { 19 | all: [ 20 | 'Gruntfile.js', 21 | 'tasks/*.js', 22 | '<%= nodeunit.tests %>' 23 | ], 24 | options: { 25 | jshintrc: '.jshintrc' 26 | } 27 | }, 28 | 29 | // Configuration to be run (and then tested). 30 | screeps: { 31 | options: { 32 | email: 'EMAIL', 33 | password: 'PASSWORD', 34 | branch: 'default' 35 | }, 36 | test: { 37 | src: ['test/fixtures/happy/*'] 38 | } 39 | }, 40 | 41 | // Unit tests. 42 | nodeunit: { 43 | tests: [], 44 | testHappy: ['test/screeps_test.js'], 45 | testEmpty: ['test/screeps_empty_test.js'] 46 | } 47 | 48 | }); 49 | 50 | // Actually load this plugin's task(s). 51 | grunt.loadTasks('tasks'); 52 | 53 | // These plugins provide necessary tasks. 54 | grunt.loadNpmTasks('grunt-contrib-jshint'); 55 | grunt.loadNpmTasks('grunt-contrib-nodeunit'); 56 | 57 | // Whenever the "test" task is run, first clean the "tmp" dir, then run this 58 | // plugin's task(s), then test the result. 59 | grunt.registerTask('test-happy', ['screeps', 'nodeunit:testHappy']); 60 | grunt.registerTask('test-empty', ['screeps', 'nodeunit:testEmpty']); 61 | 62 | grunt.registerTask('switch-to-empty-tests', function () { 63 | grunt.config.set('screeps.test.src', ['test/fixtures/empty/*']); 64 | }); 65 | 66 | // By default, lint and run all tests. 67 | grunt.registerTask('default', [ 68 | 'jshint', 69 | 'test-happy', 70 | 'switch-to-empty-tests', 71 | 'test-empty' 72 | ]); 73 | 74 | }; 75 | -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015 Artem Chivchalov 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![npm version](https://badge.fury.io/js/grunt-screeps.svg)](https://badge.fury.io/js/grunt-screeps) 2 | 3 | # grunt-screeps 4 | 5 | > A Grunt plugin for committing code to your [Screeps](https://screeps.com) account. 6 | 7 | ## Getting Started 8 | If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command: 9 | 10 | ```shell 11 | npm install grunt-screeps 12 | ``` 13 | 14 | ### Usage Example 15 | 16 | **Gruntfile.js:** 17 | ```js 18 | module.exports = function(grunt) { 19 | 20 | grunt.loadNpmTasks('grunt-screeps'); 21 | 22 | grunt.initConfig({ 23 | screeps: { 24 | options: { 25 | email: 'YOUR_EMAIL', 26 | token: 'AUTH_TOKEN', 27 | branch: 'default', 28 | // server: 'season' 29 | }, 30 | dist: { 31 | files: [ 32 | { 33 | expand: true, 34 | cwd: 'dist/', 35 | src: ['**/*.{js,wasm}'], 36 | flatten: true 37 | } 38 | ] 39 | } 40 | } 41 | }); 42 | } 43 | ``` 44 | 45 | Now you can run this command to commit your code from `dist` folder to your Screeps account: 46 | ``` 47 | grunt screeps 48 | ``` 49 | 50 | See more advanced usage examples in [this docs article](http://docs.screeps.com/contributed/advanced_grunt.html). 51 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "grunt-screeps", 3 | "version": "1.5.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "abbrev": { 8 | "version": "1.1.1", 9 | "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", 10 | "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", 11 | "dev": true 12 | }, 13 | "ansi-regex": { 14 | "version": "2.1.1", 15 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 16 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 17 | "dev": true 18 | }, 19 | "ansi-styles": { 20 | "version": "4.3.0", 21 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 22 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 23 | "dev": true, 24 | "requires": { 25 | "color-convert": "^2.0.1" 26 | } 27 | }, 28 | "argparse": { 29 | "version": "1.0.10", 30 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 31 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 32 | "dev": true, 33 | "requires": { 34 | "sprintf-js": "~1.0.2" 35 | }, 36 | "dependencies": { 37 | "sprintf-js": { 38 | "version": "1.0.3", 39 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 40 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 41 | "dev": true 42 | } 43 | } 44 | }, 45 | "arr-diff": { 46 | "version": "4.0.0", 47 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", 48 | "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", 49 | "dev": true 50 | }, 51 | "arr-flatten": { 52 | "version": "1.1.0", 53 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", 54 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", 55 | "dev": true 56 | }, 57 | "arr-union": { 58 | "version": "3.1.0", 59 | "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", 60 | "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", 61 | "dev": true 62 | }, 63 | "array-each": { 64 | "version": "1.0.1", 65 | "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", 66 | "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", 67 | "dev": true 68 | }, 69 | "array-slice": { 70 | "version": "1.1.0", 71 | "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", 72 | "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", 73 | "dev": true 74 | }, 75 | "array-unique": { 76 | "version": "0.3.2", 77 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", 78 | "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", 79 | "dev": true 80 | }, 81 | "asn1": { 82 | "version": "0.2.4", 83 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", 84 | "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", 85 | "dev": true, 86 | "requires": { 87 | "safer-buffer": "~2.1.0" 88 | } 89 | }, 90 | "assert-plus": { 91 | "version": "0.2.0", 92 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", 93 | "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", 94 | "dev": true 95 | }, 96 | "assertion-error": { 97 | "version": "1.0.0", 98 | "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz", 99 | "integrity": "sha1-x/hUOP3UZrx8oWq5DIFRN5el0js=", 100 | "dev": true 101 | }, 102 | "assign-symbols": { 103 | "version": "1.0.0", 104 | "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", 105 | "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", 106 | "dev": true 107 | }, 108 | "async": { 109 | "version": "1.5.2", 110 | "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", 111 | "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", 112 | "dev": true 113 | }, 114 | "asynckit": { 115 | "version": "0.4.0", 116 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 117 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", 118 | "dev": true 119 | }, 120 | "atob": { 121 | "version": "2.1.2", 122 | "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", 123 | "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", 124 | "dev": true 125 | }, 126 | "aws-sign2": { 127 | "version": "0.6.0", 128 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", 129 | "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", 130 | "dev": true 131 | }, 132 | "aws4": { 133 | "version": "1.11.0", 134 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", 135 | "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", 136 | "dev": true 137 | }, 138 | "balanced-match": { 139 | "version": "1.0.0", 140 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 141 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 142 | "dev": true 143 | }, 144 | "base": { 145 | "version": "0.11.2", 146 | "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", 147 | "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", 148 | "dev": true, 149 | "requires": { 150 | "cache-base": "^1.0.1", 151 | "class-utils": "^0.3.5", 152 | "component-emitter": "^1.2.1", 153 | "define-property": "^1.0.0", 154 | "isobject": "^3.0.1", 155 | "mixin-deep": "^1.2.0", 156 | "pascalcase": "^0.1.1" 157 | }, 158 | "dependencies": { 159 | "define-property": { 160 | "version": "1.0.0", 161 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 162 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 163 | "dev": true, 164 | "requires": { 165 | "is-descriptor": "^1.0.0" 166 | } 167 | }, 168 | "is-accessor-descriptor": { 169 | "version": "1.0.0", 170 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 171 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 172 | "dev": true, 173 | "requires": { 174 | "kind-of": "^6.0.0" 175 | } 176 | }, 177 | "is-data-descriptor": { 178 | "version": "1.0.0", 179 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 180 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 181 | "dev": true, 182 | "requires": { 183 | "kind-of": "^6.0.0" 184 | } 185 | }, 186 | "is-descriptor": { 187 | "version": "1.0.2", 188 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 189 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 190 | "dev": true, 191 | "requires": { 192 | "is-accessor-descriptor": "^1.0.0", 193 | "is-data-descriptor": "^1.0.0", 194 | "kind-of": "^6.0.2" 195 | } 196 | } 197 | } 198 | }, 199 | "bcrypt-pbkdf": { 200 | "version": "1.0.2", 201 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", 202 | "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", 203 | "dev": true, 204 | "requires": { 205 | "tweetnacl": "^0.14.3" 206 | } 207 | }, 208 | "bluebird": { 209 | "version": "3.7.2", 210 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", 211 | "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", 212 | "dev": true 213 | }, 214 | "boom": { 215 | "version": "2.10.1", 216 | "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", 217 | "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", 218 | "dev": true, 219 | "requires": { 220 | "hoek": "2.x.x" 221 | } 222 | }, 223 | "brace-expansion": { 224 | "version": "1.1.11", 225 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 226 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 227 | "dev": true, 228 | "requires": { 229 | "balanced-match": "^1.0.0", 230 | "concat-map": "0.0.1" 231 | } 232 | }, 233 | "braces": { 234 | "version": "2.3.2", 235 | "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", 236 | "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", 237 | "dev": true, 238 | "requires": { 239 | "arr-flatten": "^1.1.0", 240 | "array-unique": "^0.3.2", 241 | "extend-shallow": "^2.0.1", 242 | "fill-range": "^4.0.0", 243 | "isobject": "^3.0.1", 244 | "repeat-element": "^1.1.2", 245 | "snapdragon": "^0.8.1", 246 | "snapdragon-node": "^2.0.1", 247 | "split-string": "^3.0.2", 248 | "to-regex": "^3.0.1" 249 | }, 250 | "dependencies": { 251 | "extend-shallow": { 252 | "version": "2.0.1", 253 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 254 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 255 | "dev": true, 256 | "requires": { 257 | "is-extendable": "^0.1.0" 258 | } 259 | } 260 | } 261 | }, 262 | "cache-base": { 263 | "version": "1.0.1", 264 | "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", 265 | "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", 266 | "dev": true, 267 | "requires": { 268 | "collection-visit": "^1.0.0", 269 | "component-emitter": "^1.2.1", 270 | "get-value": "^2.0.6", 271 | "has-value": "^1.0.0", 272 | "isobject": "^3.0.1", 273 | "set-value": "^2.0.0", 274 | "to-object-path": "^0.3.0", 275 | "union-value": "^1.0.0", 276 | "unset-value": "^1.0.0" 277 | } 278 | }, 279 | "caseless": { 280 | "version": "0.11.0", 281 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", 282 | "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", 283 | "dev": true 284 | }, 285 | "chai": { 286 | "version": "1.10.0", 287 | "resolved": "https://registry.npmjs.org/chai/-/chai-1.10.0.tgz", 288 | "integrity": "sha1-5AMcyHZURhp1lD5aNatG6vOcHrk=", 289 | "dev": true, 290 | "requires": { 291 | "assertion-error": "1.0.0", 292 | "deep-eql": "0.1.3" 293 | } 294 | }, 295 | "chalk": { 296 | "version": "4.1.0", 297 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", 298 | "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", 299 | "dev": true, 300 | "requires": { 301 | "ansi-styles": "^4.1.0", 302 | "supports-color": "^7.1.0" 303 | } 304 | }, 305 | "class-utils": { 306 | "version": "0.3.6", 307 | "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", 308 | "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", 309 | "dev": true, 310 | "requires": { 311 | "arr-union": "^3.1.0", 312 | "define-property": "^0.2.5", 313 | "isobject": "^3.0.0", 314 | "static-extend": "^0.1.1" 315 | }, 316 | "dependencies": { 317 | "define-property": { 318 | "version": "0.2.5", 319 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 320 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 321 | "dev": true, 322 | "requires": { 323 | "is-descriptor": "^0.1.0" 324 | } 325 | } 326 | } 327 | }, 328 | "clean-yaml-object": { 329 | "version": "0.1.0", 330 | "resolved": "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz", 331 | "integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=", 332 | "dev": true 333 | }, 334 | "cli": { 335 | "version": "1.0.1", 336 | "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", 337 | "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", 338 | "dev": true, 339 | "requires": { 340 | "exit": "0.1.2", 341 | "glob": "^7.1.1" 342 | } 343 | }, 344 | "collection-visit": { 345 | "version": "1.0.0", 346 | "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", 347 | "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", 348 | "dev": true, 349 | "requires": { 350 | "map-visit": "^1.0.0", 351 | "object-visit": "^1.0.0" 352 | } 353 | }, 354 | "color-convert": { 355 | "version": "2.0.1", 356 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 357 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 358 | "dev": true, 359 | "requires": { 360 | "color-name": "~1.1.4" 361 | } 362 | }, 363 | "color-name": { 364 | "version": "1.1.4", 365 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 366 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 367 | "dev": true 368 | }, 369 | "color-support": { 370 | "version": "1.1.3", 371 | "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", 372 | "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", 373 | "dev": true 374 | }, 375 | "colors": { 376 | "version": "1.1.2", 377 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", 378 | "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", 379 | "dev": true 380 | }, 381 | "combined-stream": { 382 | "version": "1.0.8", 383 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 384 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 385 | "dev": true, 386 | "requires": { 387 | "delayed-stream": "~1.0.0" 388 | } 389 | }, 390 | "commander": { 391 | "version": "2.20.3", 392 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 393 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", 394 | "dev": true 395 | }, 396 | "component-emitter": { 397 | "version": "1.3.0", 398 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", 399 | "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", 400 | "dev": true 401 | }, 402 | "concat-map": { 403 | "version": "0.0.1", 404 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 405 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 406 | "dev": true 407 | }, 408 | "console-browserify": { 409 | "version": "1.1.0", 410 | "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", 411 | "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", 412 | "dev": true, 413 | "requires": { 414 | "date-now": "^0.1.4" 415 | } 416 | }, 417 | "copy-descriptor": { 418 | "version": "0.1.1", 419 | "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", 420 | "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", 421 | "dev": true 422 | }, 423 | "core-util-is": { 424 | "version": "1.0.2", 425 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 426 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 427 | "dev": true 428 | }, 429 | "coveralls": { 430 | "version": "2.13.3", 431 | "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-2.13.3.tgz", 432 | "integrity": "sha512-iiAmn+l1XqRwNLXhW8Rs5qHZRFMYp9ZIPjEOVRpC/c4so6Y/f4/lFi0FfR5B9cCqgyhkJ5cZmbvcVRfP8MHchw==", 433 | "dev": true, 434 | "requires": { 435 | "js-yaml": "3.6.1", 436 | "lcov-parse": "0.0.10", 437 | "log-driver": "1.2.5", 438 | "minimist": "1.2.0", 439 | "request": "2.79.0" 440 | }, 441 | "dependencies": { 442 | "esprima": { 443 | "version": "2.7.3", 444 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", 445 | "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", 446 | "dev": true 447 | }, 448 | "js-yaml": { 449 | "version": "3.6.1", 450 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz", 451 | "integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=", 452 | "dev": true, 453 | "requires": { 454 | "argparse": "^1.0.7", 455 | "esprima": "^2.6.0" 456 | } 457 | } 458 | } 459 | }, 460 | "cross-spawn": { 461 | "version": "4.0.2", 462 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", 463 | "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", 464 | "dev": true, 465 | "requires": { 466 | "lru-cache": "^4.0.1", 467 | "which": "^1.2.9" 468 | } 469 | }, 470 | "cryptiles": { 471 | "version": "2.0.5", 472 | "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", 473 | "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", 474 | "dev": true, 475 | "requires": { 476 | "boom": "2.x.x" 477 | } 478 | }, 479 | "dashdash": { 480 | "version": "1.14.1", 481 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 482 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 483 | "dev": true, 484 | "requires": { 485 | "assert-plus": "^1.0.0" 486 | }, 487 | "dependencies": { 488 | "assert-plus": { 489 | "version": "1.0.0", 490 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 491 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 492 | "dev": true 493 | } 494 | } 495 | }, 496 | "date-now": { 497 | "version": "0.1.4", 498 | "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", 499 | "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", 500 | "dev": true 501 | }, 502 | "dateformat": { 503 | "version": "3.0.3", 504 | "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", 505 | "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", 506 | "dev": true 507 | }, 508 | "debug": { 509 | "version": "2.6.9", 510 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 511 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 512 | "dev": true, 513 | "requires": { 514 | "ms": "2.0.0" 515 | } 516 | }, 517 | "decode-uri-component": { 518 | "version": "0.2.0", 519 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", 520 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", 521 | "dev": true 522 | }, 523 | "deep-eql": { 524 | "version": "0.1.3", 525 | "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", 526 | "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", 527 | "dev": true, 528 | "requires": { 529 | "type-detect": "0.1.1" 530 | } 531 | }, 532 | "deeper": { 533 | "version": "2.1.0", 534 | "resolved": "https://registry.npmjs.org/deeper/-/deeper-2.1.0.tgz", 535 | "integrity": "sha1-vFZOX3MXT98gHgiwADDooU2nQ2g=", 536 | "dev": true 537 | }, 538 | "define-property": { 539 | "version": "2.0.2", 540 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", 541 | "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", 542 | "dev": true, 543 | "requires": { 544 | "is-descriptor": "^1.0.2", 545 | "isobject": "^3.0.1" 546 | }, 547 | "dependencies": { 548 | "is-accessor-descriptor": { 549 | "version": "1.0.0", 550 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 551 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 552 | "dev": true, 553 | "requires": { 554 | "kind-of": "^6.0.0" 555 | } 556 | }, 557 | "is-data-descriptor": { 558 | "version": "1.0.0", 559 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 560 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 561 | "dev": true, 562 | "requires": { 563 | "kind-of": "^6.0.0" 564 | } 565 | }, 566 | "is-descriptor": { 567 | "version": "1.0.2", 568 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 569 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 570 | "dev": true, 571 | "requires": { 572 | "is-accessor-descriptor": "^1.0.0", 573 | "is-data-descriptor": "^1.0.0", 574 | "kind-of": "^6.0.2" 575 | } 576 | } 577 | } 578 | }, 579 | "delayed-stream": { 580 | "version": "1.0.0", 581 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 582 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", 583 | "dev": true 584 | }, 585 | "detect-file": { 586 | "version": "1.0.0", 587 | "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", 588 | "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", 589 | "dev": true 590 | }, 591 | "diff": { 592 | "version": "1.4.0", 593 | "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", 594 | "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", 595 | "dev": true 596 | }, 597 | "dom-serializer": { 598 | "version": "0.2.2", 599 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", 600 | "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", 601 | "dev": true, 602 | "requires": { 603 | "domelementtype": "^2.0.1", 604 | "entities": "^2.0.0" 605 | }, 606 | "dependencies": { 607 | "domelementtype": { 608 | "version": "2.0.2", 609 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz", 610 | "integrity": "sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==", 611 | "dev": true 612 | }, 613 | "entities": { 614 | "version": "2.1.0", 615 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", 616 | "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", 617 | "dev": true 618 | } 619 | } 620 | }, 621 | "domelementtype": { 622 | "version": "1.3.1", 623 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", 624 | "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", 625 | "dev": true 626 | }, 627 | "domhandler": { 628 | "version": "2.3.0", 629 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", 630 | "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", 631 | "dev": true, 632 | "requires": { 633 | "domelementtype": "1" 634 | } 635 | }, 636 | "domutils": { 637 | "version": "1.5.1", 638 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", 639 | "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", 640 | "dev": true, 641 | "requires": { 642 | "dom-serializer": "0", 643 | "domelementtype": "1" 644 | } 645 | }, 646 | "ecc-jsbn": { 647 | "version": "0.1.2", 648 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", 649 | "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", 650 | "dev": true, 651 | "requires": { 652 | "jsbn": "~0.1.0", 653 | "safer-buffer": "^2.1.0" 654 | } 655 | }, 656 | "entities": { 657 | "version": "1.0.0", 658 | "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", 659 | "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", 660 | "dev": true 661 | }, 662 | "escape-string-regexp": { 663 | "version": "1.0.5", 664 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 665 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 666 | "dev": true 667 | }, 668 | "esprima": { 669 | "version": "4.0.1", 670 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 671 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 672 | "dev": true 673 | }, 674 | "eventemitter2": { 675 | "version": "0.4.14", 676 | "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", 677 | "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=", 678 | "dev": true 679 | }, 680 | "events-to-array": { 681 | "version": "1.1.2", 682 | "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", 683 | "integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=", 684 | "dev": true 685 | }, 686 | "exit": { 687 | "version": "0.1.2", 688 | "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", 689 | "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", 690 | "dev": true 691 | }, 692 | "expand-brackets": { 693 | "version": "2.1.4", 694 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", 695 | "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", 696 | "dev": true, 697 | "requires": { 698 | "debug": "^2.3.3", 699 | "define-property": "^0.2.5", 700 | "extend-shallow": "^2.0.1", 701 | "posix-character-classes": "^0.1.0", 702 | "regex-not": "^1.0.0", 703 | "snapdragon": "^0.8.1", 704 | "to-regex": "^3.0.1" 705 | }, 706 | "dependencies": { 707 | "define-property": { 708 | "version": "0.2.5", 709 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 710 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 711 | "dev": true, 712 | "requires": { 713 | "is-descriptor": "^0.1.0" 714 | } 715 | }, 716 | "extend-shallow": { 717 | "version": "2.0.1", 718 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 719 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 720 | "dev": true, 721 | "requires": { 722 | "is-extendable": "^0.1.0" 723 | } 724 | } 725 | } 726 | }, 727 | "expand-tilde": { 728 | "version": "2.0.2", 729 | "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", 730 | "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", 731 | "dev": true, 732 | "requires": { 733 | "homedir-polyfill": "^1.0.1" 734 | } 735 | }, 736 | "extend": { 737 | "version": "3.0.2", 738 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 739 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", 740 | "dev": true 741 | }, 742 | "extend-shallow": { 743 | "version": "3.0.2", 744 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", 745 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", 746 | "dev": true, 747 | "requires": { 748 | "assign-symbols": "^1.0.0", 749 | "is-extendable": "^1.0.1" 750 | }, 751 | "dependencies": { 752 | "is-extendable": { 753 | "version": "1.0.1", 754 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 755 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 756 | "dev": true, 757 | "requires": { 758 | "is-plain-object": "^2.0.4" 759 | } 760 | } 761 | } 762 | }, 763 | "extglob": { 764 | "version": "2.0.4", 765 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", 766 | "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", 767 | "dev": true, 768 | "requires": { 769 | "array-unique": "^0.3.2", 770 | "define-property": "^1.0.0", 771 | "expand-brackets": "^2.1.4", 772 | "extend-shallow": "^2.0.1", 773 | "fragment-cache": "^0.2.1", 774 | "regex-not": "^1.0.0", 775 | "snapdragon": "^0.8.1", 776 | "to-regex": "^3.0.1" 777 | }, 778 | "dependencies": { 779 | "define-property": { 780 | "version": "1.0.0", 781 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 782 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 783 | "dev": true, 784 | "requires": { 785 | "is-descriptor": "^1.0.0" 786 | } 787 | }, 788 | "extend-shallow": { 789 | "version": "2.0.1", 790 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 791 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 792 | "dev": true, 793 | "requires": { 794 | "is-extendable": "^0.1.0" 795 | } 796 | }, 797 | "is-accessor-descriptor": { 798 | "version": "1.0.0", 799 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 800 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 801 | "dev": true, 802 | "requires": { 803 | "kind-of": "^6.0.0" 804 | } 805 | }, 806 | "is-data-descriptor": { 807 | "version": "1.0.0", 808 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 809 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 810 | "dev": true, 811 | "requires": { 812 | "kind-of": "^6.0.0" 813 | } 814 | }, 815 | "is-descriptor": { 816 | "version": "1.0.2", 817 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 818 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 819 | "dev": true, 820 | "requires": { 821 | "is-accessor-descriptor": "^1.0.0", 822 | "is-data-descriptor": "^1.0.0", 823 | "kind-of": "^6.0.2" 824 | } 825 | } 826 | } 827 | }, 828 | "extsprintf": { 829 | "version": "1.3.0", 830 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 831 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", 832 | "dev": true 833 | }, 834 | "fill-range": { 835 | "version": "4.0.0", 836 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", 837 | "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", 838 | "dev": true, 839 | "requires": { 840 | "extend-shallow": "^2.0.1", 841 | "is-number": "^3.0.0", 842 | "repeat-string": "^1.6.1", 843 | "to-regex-range": "^2.1.0" 844 | }, 845 | "dependencies": { 846 | "extend-shallow": { 847 | "version": "2.0.1", 848 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 849 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 850 | "dev": true, 851 | "requires": { 852 | "is-extendable": "^0.1.0" 853 | } 854 | } 855 | } 856 | }, 857 | "findup-sync": { 858 | "version": "0.3.0", 859 | "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", 860 | "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", 861 | "dev": true, 862 | "requires": { 863 | "glob": "~5.0.0" 864 | }, 865 | "dependencies": { 866 | "glob": { 867 | "version": "5.0.15", 868 | "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", 869 | "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", 870 | "dev": true, 871 | "requires": { 872 | "inflight": "^1.0.4", 873 | "inherits": "2", 874 | "minimatch": "2 || 3", 875 | "once": "^1.3.0", 876 | "path-is-absolute": "^1.0.0" 877 | } 878 | } 879 | } 880 | }, 881 | "fined": { 882 | "version": "1.2.0", 883 | "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", 884 | "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", 885 | "dev": true, 886 | "requires": { 887 | "expand-tilde": "^2.0.2", 888 | "is-plain-object": "^2.0.3", 889 | "object.defaults": "^1.1.0", 890 | "object.pick": "^1.2.0", 891 | "parse-filepath": "^1.0.1" 892 | } 893 | }, 894 | "flagged-respawn": { 895 | "version": "1.0.1", 896 | "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", 897 | "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", 898 | "dev": true 899 | }, 900 | "for-in": { 901 | "version": "1.0.2", 902 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", 903 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", 904 | "dev": true 905 | }, 906 | "for-own": { 907 | "version": "1.0.0", 908 | "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", 909 | "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", 910 | "dev": true, 911 | "requires": { 912 | "for-in": "^1.0.1" 913 | } 914 | }, 915 | "foreground-child": { 916 | "version": "1.5.6", 917 | "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", 918 | "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", 919 | "dev": true, 920 | "requires": { 921 | "cross-spawn": "^4", 922 | "signal-exit": "^3.0.0" 923 | } 924 | }, 925 | "forever-agent": { 926 | "version": "0.6.1", 927 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 928 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", 929 | "dev": true 930 | }, 931 | "form-data": { 932 | "version": "2.1.4", 933 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", 934 | "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", 935 | "dev": true, 936 | "requires": { 937 | "asynckit": "^0.4.0", 938 | "combined-stream": "^1.0.5", 939 | "mime-types": "^2.1.12" 940 | } 941 | }, 942 | "fragment-cache": { 943 | "version": "0.2.1", 944 | "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", 945 | "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", 946 | "dev": true, 947 | "requires": { 948 | "map-cache": "^0.2.2" 949 | } 950 | }, 951 | "fs.realpath": { 952 | "version": "1.0.0", 953 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 954 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 955 | "dev": true 956 | }, 957 | "function-bind": { 958 | "version": "1.1.1", 959 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 960 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 961 | "dev": true 962 | }, 963 | "generate-function": { 964 | "version": "2.3.1", 965 | "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", 966 | "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", 967 | "dev": true, 968 | "requires": { 969 | "is-property": "^1.0.2" 970 | } 971 | }, 972 | "generate-object-property": { 973 | "version": "1.2.0", 974 | "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", 975 | "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", 976 | "dev": true, 977 | "requires": { 978 | "is-property": "^1.0.0" 979 | } 980 | }, 981 | "get-value": { 982 | "version": "2.0.6", 983 | "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", 984 | "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", 985 | "dev": true 986 | }, 987 | "getobject": { 988 | "version": "0.1.0", 989 | "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", 990 | "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=", 991 | "dev": true 992 | }, 993 | "getpass": { 994 | "version": "0.1.7", 995 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 996 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 997 | "dev": true, 998 | "requires": { 999 | "assert-plus": "^1.0.0" 1000 | }, 1001 | "dependencies": { 1002 | "assert-plus": { 1003 | "version": "1.0.0", 1004 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 1005 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 1006 | "dev": true 1007 | } 1008 | } 1009 | }, 1010 | "glob": { 1011 | "version": "7.1.6", 1012 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", 1013 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", 1014 | "dev": true, 1015 | "requires": { 1016 | "fs.realpath": "^1.0.0", 1017 | "inflight": "^1.0.4", 1018 | "inherits": "2", 1019 | "minimatch": "^3.0.4", 1020 | "once": "^1.3.0", 1021 | "path-is-absolute": "^1.0.0" 1022 | } 1023 | }, 1024 | "global-modules": { 1025 | "version": "1.0.0", 1026 | "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", 1027 | "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", 1028 | "dev": true, 1029 | "requires": { 1030 | "global-prefix": "^1.0.1", 1031 | "is-windows": "^1.0.1", 1032 | "resolve-dir": "^1.0.0" 1033 | } 1034 | }, 1035 | "global-prefix": { 1036 | "version": "1.0.2", 1037 | "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", 1038 | "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", 1039 | "dev": true, 1040 | "requires": { 1041 | "expand-tilde": "^2.0.2", 1042 | "homedir-polyfill": "^1.0.1", 1043 | "ini": "^1.3.4", 1044 | "is-windows": "^1.0.1", 1045 | "which": "^1.2.14" 1046 | } 1047 | }, 1048 | "grunt": { 1049 | "version": "1.3.0", 1050 | "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.3.0.tgz", 1051 | "integrity": "sha512-6ILlMXv11/4cxuhSMfSU+SfvbxrPuqZrAtLN64+tZpQ3DAKfSQPQHRbTjSbdtxfyQhGZPtN0bDZJ/LdCM5WXXA==", 1052 | "dev": true, 1053 | "requires": { 1054 | "dateformat": "~3.0.3", 1055 | "eventemitter2": "~0.4.13", 1056 | "exit": "~0.1.2", 1057 | "findup-sync": "~0.3.0", 1058 | "glob": "~7.1.6", 1059 | "grunt-cli": "~1.3.2", 1060 | "grunt-known-options": "~1.1.0", 1061 | "grunt-legacy-log": "~3.0.0", 1062 | "grunt-legacy-util": "~2.0.0", 1063 | "iconv-lite": "~0.4.13", 1064 | "js-yaml": "~3.14.0", 1065 | "minimatch": "~3.0.4", 1066 | "mkdirp": "~1.0.4", 1067 | "nopt": "~3.0.6", 1068 | "rimraf": "~3.0.2" 1069 | }, 1070 | "dependencies": { 1071 | "grunt-cli": { 1072 | "version": "1.3.2", 1073 | "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.3.2.tgz", 1074 | "integrity": "sha512-8OHDiZZkcptxVXtMfDxJvmN7MVJNE8L/yIcPb4HB7TlyFD1kDvjHrb62uhySsU14wJx9ORMnTuhRMQ40lH/orQ==", 1075 | "dev": true, 1076 | "requires": { 1077 | "grunt-known-options": "~1.1.0", 1078 | "interpret": "~1.1.0", 1079 | "liftoff": "~2.5.0", 1080 | "nopt": "~4.0.1", 1081 | "v8flags": "~3.1.1" 1082 | }, 1083 | "dependencies": { 1084 | "nopt": { 1085 | "version": "4.0.3", 1086 | "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", 1087 | "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", 1088 | "dev": true, 1089 | "requires": { 1090 | "abbrev": "1", 1091 | "osenv": "^0.1.4" 1092 | } 1093 | } 1094 | } 1095 | } 1096 | } 1097 | }, 1098 | "grunt-contrib-clean": { 1099 | "version": "1.1.0", 1100 | "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-1.1.0.tgz", 1101 | "integrity": "sha1-Vkq/LQN4qYOhW54/MO51tzjEBjg=", 1102 | "dev": true, 1103 | "requires": { 1104 | "async": "^1.5.2", 1105 | "rimraf": "^2.5.1" 1106 | }, 1107 | "dependencies": { 1108 | "rimraf": { 1109 | "version": "2.7.1", 1110 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", 1111 | "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", 1112 | "dev": true, 1113 | "requires": { 1114 | "glob": "^7.1.3" 1115 | } 1116 | } 1117 | } 1118 | }, 1119 | "grunt-contrib-jshint": { 1120 | "version": "1.1.0", 1121 | "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-1.1.0.tgz", 1122 | "integrity": "sha1-Np2QmyWTxA6L55lAshNAhQx5Oaw=", 1123 | "dev": true, 1124 | "requires": { 1125 | "chalk": "^1.1.1", 1126 | "hooker": "^0.2.3", 1127 | "jshint": "~2.9.4" 1128 | }, 1129 | "dependencies": { 1130 | "ansi-styles": { 1131 | "version": "2.2.1", 1132 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 1133 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 1134 | "dev": true 1135 | }, 1136 | "chalk": { 1137 | "version": "1.1.3", 1138 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 1139 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 1140 | "dev": true, 1141 | "requires": { 1142 | "ansi-styles": "^2.2.1", 1143 | "escape-string-regexp": "^1.0.2", 1144 | "has-ansi": "^2.0.0", 1145 | "strip-ansi": "^3.0.0", 1146 | "supports-color": "^2.0.0" 1147 | } 1148 | }, 1149 | "supports-color": { 1150 | "version": "2.0.0", 1151 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 1152 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 1153 | "dev": true 1154 | } 1155 | } 1156 | }, 1157 | "grunt-contrib-nodeunit": { 1158 | "version": "1.0.0", 1159 | "resolved": "https://registry.npmjs.org/grunt-contrib-nodeunit/-/grunt-contrib-nodeunit-1.0.0.tgz", 1160 | "integrity": "sha1-b0iFVe2cDIR4hUEDxx7bH8RoXwU=", 1161 | "dev": true, 1162 | "requires": { 1163 | "nodeunit": "^0.9.0" 1164 | } 1165 | }, 1166 | "grunt-known-options": { 1167 | "version": "1.1.1", 1168 | "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz", 1169 | "integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==", 1170 | "dev": true 1171 | }, 1172 | "grunt-legacy-log": { 1173 | "version": "3.0.0", 1174 | "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz", 1175 | "integrity": "sha512-GHZQzZmhyq0u3hr7aHW4qUH0xDzwp2YXldLPZTCjlOeGscAOWWPftZG3XioW8MasGp+OBRIu39LFx14SLjXRcA==", 1176 | "dev": true, 1177 | "requires": { 1178 | "colors": "~1.1.2", 1179 | "grunt-legacy-log-utils": "~2.1.0", 1180 | "hooker": "~0.2.3", 1181 | "lodash": "~4.17.19" 1182 | } 1183 | }, 1184 | "grunt-legacy-log-utils": { 1185 | "version": "2.1.0", 1186 | "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.1.0.tgz", 1187 | "integrity": "sha512-lwquaPXJtKQk0rUM1IQAop5noEpwFqOXasVoedLeNzaibf/OPWjKYvvdqnEHNmU+0T0CaReAXIbGo747ZD+Aaw==", 1188 | "dev": true, 1189 | "requires": { 1190 | "chalk": "~4.1.0", 1191 | "lodash": "~4.17.19" 1192 | } 1193 | }, 1194 | "grunt-legacy-util": { 1195 | "version": "2.0.0", 1196 | "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.0.tgz", 1197 | "integrity": "sha512-ZEmYFB44bblwPE2oz3q3ygfF6hseQja9tx8I3UZIwbUik32FMWewA+d1qSFicMFB+8dNXDkh35HcDCWlpRsGlA==", 1198 | "dev": true, 1199 | "requires": { 1200 | "async": "~1.5.2", 1201 | "exit": "~0.1.1", 1202 | "getobject": "~0.1.0", 1203 | "hooker": "~0.2.3", 1204 | "lodash": "~4.17.20", 1205 | "underscore.string": "~3.3.5", 1206 | "which": "~1.3.0" 1207 | } 1208 | }, 1209 | "har-validator": { 1210 | "version": "2.0.6", 1211 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", 1212 | "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", 1213 | "dev": true, 1214 | "requires": { 1215 | "chalk": "^1.1.1", 1216 | "commander": "^2.9.0", 1217 | "is-my-json-valid": "^2.12.4", 1218 | "pinkie-promise": "^2.0.0" 1219 | }, 1220 | "dependencies": { 1221 | "ansi-styles": { 1222 | "version": "2.2.1", 1223 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 1224 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 1225 | "dev": true 1226 | }, 1227 | "chalk": { 1228 | "version": "1.1.3", 1229 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 1230 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 1231 | "dev": true, 1232 | "requires": { 1233 | "ansi-styles": "^2.2.1", 1234 | "escape-string-regexp": "^1.0.2", 1235 | "has-ansi": "^2.0.0", 1236 | "strip-ansi": "^3.0.0", 1237 | "supports-color": "^2.0.0" 1238 | } 1239 | }, 1240 | "supports-color": { 1241 | "version": "2.0.0", 1242 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 1243 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 1244 | "dev": true 1245 | } 1246 | } 1247 | }, 1248 | "has": { 1249 | "version": "1.0.3", 1250 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1251 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1252 | "dev": true, 1253 | "requires": { 1254 | "function-bind": "^1.1.1" 1255 | } 1256 | }, 1257 | "has-ansi": { 1258 | "version": "2.0.0", 1259 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 1260 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 1261 | "dev": true, 1262 | "requires": { 1263 | "ansi-regex": "^2.0.0" 1264 | } 1265 | }, 1266 | "has-flag": { 1267 | "version": "4.0.0", 1268 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1269 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 1270 | "dev": true 1271 | }, 1272 | "has-value": { 1273 | "version": "1.0.0", 1274 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", 1275 | "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", 1276 | "dev": true, 1277 | "requires": { 1278 | "get-value": "^2.0.6", 1279 | "has-values": "^1.0.0", 1280 | "isobject": "^3.0.0" 1281 | } 1282 | }, 1283 | "has-values": { 1284 | "version": "1.0.0", 1285 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", 1286 | "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", 1287 | "dev": true, 1288 | "requires": { 1289 | "is-number": "^3.0.0", 1290 | "kind-of": "^4.0.0" 1291 | }, 1292 | "dependencies": { 1293 | "kind-of": { 1294 | "version": "4.0.0", 1295 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", 1296 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", 1297 | "dev": true, 1298 | "requires": { 1299 | "is-buffer": "^1.1.5" 1300 | } 1301 | } 1302 | } 1303 | }, 1304 | "hawk": { 1305 | "version": "3.1.3", 1306 | "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", 1307 | "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", 1308 | "dev": true, 1309 | "requires": { 1310 | "boom": "2.x.x", 1311 | "cryptiles": "2.x.x", 1312 | "hoek": "2.x.x", 1313 | "sntp": "1.x.x" 1314 | } 1315 | }, 1316 | "hoek": { 1317 | "version": "2.16.3", 1318 | "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", 1319 | "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", 1320 | "dev": true 1321 | }, 1322 | "homedir-polyfill": { 1323 | "version": "1.0.3", 1324 | "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", 1325 | "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", 1326 | "dev": true, 1327 | "requires": { 1328 | "parse-passwd": "^1.0.0" 1329 | } 1330 | }, 1331 | "hooker": { 1332 | "version": "0.2.3", 1333 | "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", 1334 | "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=", 1335 | "dev": true 1336 | }, 1337 | "htmlparser2": { 1338 | "version": "3.8.3", 1339 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", 1340 | "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", 1341 | "dev": true, 1342 | "requires": { 1343 | "domelementtype": "1", 1344 | "domhandler": "2.3", 1345 | "domutils": "1.5", 1346 | "entities": "1.0", 1347 | "readable-stream": "1.1" 1348 | } 1349 | }, 1350 | "http-signature": { 1351 | "version": "1.1.1", 1352 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", 1353 | "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", 1354 | "dev": true, 1355 | "requires": { 1356 | "assert-plus": "^0.2.0", 1357 | "jsprim": "^1.2.2", 1358 | "sshpk": "^1.7.0" 1359 | } 1360 | }, 1361 | "iconv-lite": { 1362 | "version": "0.4.24", 1363 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 1364 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 1365 | "dev": true, 1366 | "requires": { 1367 | "safer-buffer": ">= 2.1.2 < 3" 1368 | } 1369 | }, 1370 | "inflight": { 1371 | "version": "1.0.6", 1372 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1373 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1374 | "dev": true, 1375 | "requires": { 1376 | "once": "^1.3.0", 1377 | "wrappy": "1" 1378 | } 1379 | }, 1380 | "inherits": { 1381 | "version": "2.0.4", 1382 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1383 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1384 | "dev": true 1385 | }, 1386 | "ini": { 1387 | "version": "1.3.5", 1388 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", 1389 | "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", 1390 | "dev": true 1391 | }, 1392 | "interpret": { 1393 | "version": "1.1.0", 1394 | "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", 1395 | "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", 1396 | "dev": true 1397 | }, 1398 | "is-absolute": { 1399 | "version": "1.0.0", 1400 | "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", 1401 | "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", 1402 | "dev": true, 1403 | "requires": { 1404 | "is-relative": "^1.0.0", 1405 | "is-windows": "^1.0.1" 1406 | } 1407 | }, 1408 | "is-accessor-descriptor": { 1409 | "version": "0.1.6", 1410 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 1411 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 1412 | "dev": true, 1413 | "requires": { 1414 | "kind-of": "^3.0.2" 1415 | }, 1416 | "dependencies": { 1417 | "kind-of": { 1418 | "version": "3.2.2", 1419 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1420 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1421 | "dev": true, 1422 | "requires": { 1423 | "is-buffer": "^1.1.5" 1424 | } 1425 | } 1426 | } 1427 | }, 1428 | "is-buffer": { 1429 | "version": "1.1.6", 1430 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 1431 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", 1432 | "dev": true 1433 | }, 1434 | "is-core-module": { 1435 | "version": "2.1.0", 1436 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz", 1437 | "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==", 1438 | "dev": true, 1439 | "requires": { 1440 | "has": "^1.0.3" 1441 | } 1442 | }, 1443 | "is-data-descriptor": { 1444 | "version": "0.1.4", 1445 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 1446 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 1447 | "dev": true, 1448 | "requires": { 1449 | "kind-of": "^3.0.2" 1450 | }, 1451 | "dependencies": { 1452 | "kind-of": { 1453 | "version": "3.2.2", 1454 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1455 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1456 | "dev": true, 1457 | "requires": { 1458 | "is-buffer": "^1.1.5" 1459 | } 1460 | } 1461 | } 1462 | }, 1463 | "is-descriptor": { 1464 | "version": "0.1.6", 1465 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 1466 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 1467 | "dev": true, 1468 | "requires": { 1469 | "is-accessor-descriptor": "^0.1.6", 1470 | "is-data-descriptor": "^0.1.4", 1471 | "kind-of": "^5.0.0" 1472 | }, 1473 | "dependencies": { 1474 | "kind-of": { 1475 | "version": "5.1.0", 1476 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 1477 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", 1478 | "dev": true 1479 | } 1480 | } 1481 | }, 1482 | "is-extendable": { 1483 | "version": "0.1.1", 1484 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 1485 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", 1486 | "dev": true 1487 | }, 1488 | "is-extglob": { 1489 | "version": "2.1.1", 1490 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1491 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 1492 | "dev": true 1493 | }, 1494 | "is-glob": { 1495 | "version": "3.1.0", 1496 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", 1497 | "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", 1498 | "dev": true, 1499 | "requires": { 1500 | "is-extglob": "^2.1.0" 1501 | } 1502 | }, 1503 | "is-my-ip-valid": { 1504 | "version": "1.0.0", 1505 | "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", 1506 | "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", 1507 | "dev": true 1508 | }, 1509 | "is-my-json-valid": { 1510 | "version": "2.20.5", 1511 | "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.5.tgz", 1512 | "integrity": "sha512-VTPuvvGQtxvCeghwspQu1rBgjYUT6FGxPlvFKbYuFtgc4ADsX3U5ihZOYN0qyU6u+d4X9xXb0IT5O6QpXKt87A==", 1513 | "dev": true, 1514 | "requires": { 1515 | "generate-function": "^2.0.0", 1516 | "generate-object-property": "^1.1.0", 1517 | "is-my-ip-valid": "^1.0.0", 1518 | "jsonpointer": "^4.0.0", 1519 | "xtend": "^4.0.0" 1520 | } 1521 | }, 1522 | "is-number": { 1523 | "version": "3.0.0", 1524 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 1525 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 1526 | "dev": true, 1527 | "requires": { 1528 | "kind-of": "^3.0.2" 1529 | }, 1530 | "dependencies": { 1531 | "kind-of": { 1532 | "version": "3.2.2", 1533 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1534 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1535 | "dev": true, 1536 | "requires": { 1537 | "is-buffer": "^1.1.5" 1538 | } 1539 | } 1540 | } 1541 | }, 1542 | "is-plain-object": { 1543 | "version": "2.0.4", 1544 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", 1545 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", 1546 | "dev": true, 1547 | "requires": { 1548 | "isobject": "^3.0.1" 1549 | } 1550 | }, 1551 | "is-property": { 1552 | "version": "1.0.2", 1553 | "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", 1554 | "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", 1555 | "dev": true 1556 | }, 1557 | "is-relative": { 1558 | "version": "1.0.0", 1559 | "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", 1560 | "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", 1561 | "dev": true, 1562 | "requires": { 1563 | "is-unc-path": "^1.0.0" 1564 | } 1565 | }, 1566 | "is-typedarray": { 1567 | "version": "1.0.0", 1568 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 1569 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", 1570 | "dev": true 1571 | }, 1572 | "is-unc-path": { 1573 | "version": "1.0.0", 1574 | "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", 1575 | "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", 1576 | "dev": true, 1577 | "requires": { 1578 | "unc-path-regex": "^0.1.2" 1579 | } 1580 | }, 1581 | "is-windows": { 1582 | "version": "1.0.2", 1583 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", 1584 | "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", 1585 | "dev": true 1586 | }, 1587 | "isarray": { 1588 | "version": "1.0.0", 1589 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1590 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 1591 | "dev": true 1592 | }, 1593 | "isexe": { 1594 | "version": "2.0.0", 1595 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1596 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 1597 | "dev": true 1598 | }, 1599 | "isobject": { 1600 | "version": "3.0.1", 1601 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 1602 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", 1603 | "dev": true 1604 | }, 1605 | "isstream": { 1606 | "version": "0.1.2", 1607 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 1608 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", 1609 | "dev": true 1610 | }, 1611 | "js-yaml": { 1612 | "version": "3.14.0", 1613 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", 1614 | "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", 1615 | "dev": true, 1616 | "requires": { 1617 | "argparse": "^1.0.7", 1618 | "esprima": "^4.0.0" 1619 | } 1620 | }, 1621 | "jsbn": { 1622 | "version": "0.1.1", 1623 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 1624 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", 1625 | "dev": true 1626 | }, 1627 | "jshint": { 1628 | "version": "2.9.7", 1629 | "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.7.tgz", 1630 | "integrity": "sha512-Q8XN38hGsVQhdlM+4gd1Xl7OB1VieSuCJf+fEJjpo59JH99bVJhXRXAh26qQ15wfdd1VPMuDWNeSWoNl53T4YA==", 1631 | "dev": true, 1632 | "requires": { 1633 | "cli": "~1.0.0", 1634 | "console-browserify": "1.1.x", 1635 | "exit": "0.1.x", 1636 | "htmlparser2": "3.8.x", 1637 | "lodash": "~4.17.10", 1638 | "minimatch": "~3.0.2", 1639 | "shelljs": "0.3.x", 1640 | "strip-json-comments": "1.0.x" 1641 | } 1642 | }, 1643 | "json-schema": { 1644 | "version": "0.2.3", 1645 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", 1646 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", 1647 | "dev": true 1648 | }, 1649 | "json-stringify-safe": { 1650 | "version": "5.0.1", 1651 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 1652 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", 1653 | "dev": true 1654 | }, 1655 | "jsonpointer": { 1656 | "version": "4.1.0", 1657 | "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz", 1658 | "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==", 1659 | "dev": true 1660 | }, 1661 | "jsprim": { 1662 | "version": "1.4.1", 1663 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", 1664 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", 1665 | "dev": true, 1666 | "requires": { 1667 | "assert-plus": "1.0.0", 1668 | "extsprintf": "1.3.0", 1669 | "json-schema": "0.2.3", 1670 | "verror": "1.10.0" 1671 | }, 1672 | "dependencies": { 1673 | "assert-plus": { 1674 | "version": "1.0.0", 1675 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 1676 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 1677 | "dev": true 1678 | } 1679 | } 1680 | }, 1681 | "kind-of": { 1682 | "version": "6.0.3", 1683 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", 1684 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", 1685 | "dev": true 1686 | }, 1687 | "lcov-parse": { 1688 | "version": "0.0.10", 1689 | "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", 1690 | "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", 1691 | "dev": true 1692 | }, 1693 | "liftoff": { 1694 | "version": "2.5.0", 1695 | "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", 1696 | "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", 1697 | "dev": true, 1698 | "requires": { 1699 | "extend": "^3.0.0", 1700 | "findup-sync": "^2.0.0", 1701 | "fined": "^1.0.1", 1702 | "flagged-respawn": "^1.0.0", 1703 | "is-plain-object": "^2.0.4", 1704 | "object.map": "^1.0.0", 1705 | "rechoir": "^0.6.2", 1706 | "resolve": "^1.1.7" 1707 | }, 1708 | "dependencies": { 1709 | "findup-sync": { 1710 | "version": "2.0.0", 1711 | "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", 1712 | "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", 1713 | "dev": true, 1714 | "requires": { 1715 | "detect-file": "^1.0.0", 1716 | "is-glob": "^3.1.0", 1717 | "micromatch": "^3.0.4", 1718 | "resolve-dir": "^1.0.1" 1719 | } 1720 | } 1721 | } 1722 | }, 1723 | "lodash": { 1724 | "version": "4.17.20", 1725 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", 1726 | "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", 1727 | "dev": true 1728 | }, 1729 | "log-driver": { 1730 | "version": "1.2.5", 1731 | "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz", 1732 | "integrity": "sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY=", 1733 | "dev": true 1734 | }, 1735 | "lru-cache": { 1736 | "version": "4.1.5", 1737 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", 1738 | "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", 1739 | "dev": true, 1740 | "requires": { 1741 | "pseudomap": "^1.0.2", 1742 | "yallist": "^2.1.2" 1743 | } 1744 | }, 1745 | "make-iterator": { 1746 | "version": "1.0.1", 1747 | "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", 1748 | "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", 1749 | "dev": true, 1750 | "requires": { 1751 | "kind-of": "^6.0.2" 1752 | } 1753 | }, 1754 | "map-cache": { 1755 | "version": "0.2.2", 1756 | "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", 1757 | "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", 1758 | "dev": true 1759 | }, 1760 | "map-visit": { 1761 | "version": "1.0.0", 1762 | "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", 1763 | "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", 1764 | "dev": true, 1765 | "requires": { 1766 | "object-visit": "^1.0.0" 1767 | } 1768 | }, 1769 | "micromatch": { 1770 | "version": "3.1.10", 1771 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", 1772 | "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", 1773 | "dev": true, 1774 | "requires": { 1775 | "arr-diff": "^4.0.0", 1776 | "array-unique": "^0.3.2", 1777 | "braces": "^2.3.1", 1778 | "define-property": "^2.0.2", 1779 | "extend-shallow": "^3.0.2", 1780 | "extglob": "^2.0.4", 1781 | "fragment-cache": "^0.2.1", 1782 | "kind-of": "^6.0.2", 1783 | "nanomatch": "^1.2.9", 1784 | "object.pick": "^1.3.0", 1785 | "regex-not": "^1.0.0", 1786 | "snapdragon": "^0.8.1", 1787 | "to-regex": "^3.0.2" 1788 | } 1789 | }, 1790 | "mime-db": { 1791 | "version": "1.44.0", 1792 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", 1793 | "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", 1794 | "dev": true 1795 | }, 1796 | "mime-types": { 1797 | "version": "2.1.27", 1798 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", 1799 | "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", 1800 | "dev": true, 1801 | "requires": { 1802 | "mime-db": "1.44.0" 1803 | } 1804 | }, 1805 | "minimatch": { 1806 | "version": "3.0.4", 1807 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 1808 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 1809 | "dev": true, 1810 | "requires": { 1811 | "brace-expansion": "^1.1.7" 1812 | } 1813 | }, 1814 | "minimist": { 1815 | "version": "1.2.0", 1816 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 1817 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 1818 | "dev": true 1819 | }, 1820 | "mixin-deep": { 1821 | "version": "1.3.2", 1822 | "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", 1823 | "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", 1824 | "dev": true, 1825 | "requires": { 1826 | "for-in": "^1.0.2", 1827 | "is-extendable": "^1.0.1" 1828 | }, 1829 | "dependencies": { 1830 | "is-extendable": { 1831 | "version": "1.0.1", 1832 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 1833 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 1834 | "dev": true, 1835 | "requires": { 1836 | "is-plain-object": "^2.0.4" 1837 | } 1838 | } 1839 | } 1840 | }, 1841 | "mkdirp": { 1842 | "version": "1.0.4", 1843 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 1844 | "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", 1845 | "dev": true 1846 | }, 1847 | "ms": { 1848 | "version": "2.0.0", 1849 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1850 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 1851 | "dev": true 1852 | }, 1853 | "nanomatch": { 1854 | "version": "1.2.13", 1855 | "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", 1856 | "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", 1857 | "dev": true, 1858 | "requires": { 1859 | "arr-diff": "^4.0.0", 1860 | "array-unique": "^0.3.2", 1861 | "define-property": "^2.0.2", 1862 | "extend-shallow": "^3.0.2", 1863 | "fragment-cache": "^0.2.1", 1864 | "is-windows": "^1.0.2", 1865 | "kind-of": "^6.0.2", 1866 | "object.pick": "^1.3.0", 1867 | "regex-not": "^1.0.0", 1868 | "snapdragon": "^0.8.1", 1869 | "to-regex": "^3.0.1" 1870 | } 1871 | }, 1872 | "nock": { 1873 | "version": "0.59.1", 1874 | "resolved": "https://registry.npmjs.org/nock/-/nock-0.59.1.tgz", 1875 | "integrity": "sha1-ccA2PXLSdybN6n3gBFC6JhCqPoo=", 1876 | "dev": true, 1877 | "requires": { 1878 | "chai": "^1.9.2", 1879 | "debug": "^1.0.4", 1880 | "lodash": "2.4.1", 1881 | "mkdirp": "^0.5.0", 1882 | "propagate": "0.3.x" 1883 | }, 1884 | "dependencies": { 1885 | "debug": { 1886 | "version": "1.0.5", 1887 | "resolved": "https://registry.npmjs.org/debug/-/debug-1.0.5.tgz", 1888 | "integrity": "sha1-9yQSF0MPmd7EwrRz6rkiKOh0wqw=", 1889 | "dev": true, 1890 | "requires": { 1891 | "ms": "2.0.0" 1892 | } 1893 | }, 1894 | "lodash": { 1895 | "version": "2.4.1", 1896 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz", 1897 | "integrity": "sha1-W3cjA03aTSYuWkb7LFjXzCL3FCA=", 1898 | "dev": true 1899 | }, 1900 | "minimist": { 1901 | "version": "1.2.5", 1902 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", 1903 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", 1904 | "dev": true 1905 | }, 1906 | "mkdirp": { 1907 | "version": "0.5.5", 1908 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", 1909 | "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", 1910 | "dev": true, 1911 | "requires": { 1912 | "minimist": "^1.2.5" 1913 | } 1914 | } 1915 | } 1916 | }, 1917 | "nodeunit": { 1918 | "version": "0.9.5", 1919 | "resolved": "https://registry.npmjs.org/nodeunit/-/nodeunit-0.9.5.tgz", 1920 | "integrity": "sha1-C2MjaAB9lGUczwoYmZgHmC8HOGY=", 1921 | "dev": true, 1922 | "requires": { 1923 | "tap": "^7.0.0" 1924 | } 1925 | }, 1926 | "nodeunit-httpclient": { 1927 | "version": "0.2.1", 1928 | "resolved": "https://registry.npmjs.org/nodeunit-httpclient/-/nodeunit-httpclient-0.2.1.tgz", 1929 | "integrity": "sha1-1iC4MOheSB4AVOzZHPx+nkYco9Y=", 1930 | "dev": true, 1931 | "requires": { 1932 | "underscore": "1.1.7" 1933 | } 1934 | }, 1935 | "nopt": { 1936 | "version": "3.0.6", 1937 | "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", 1938 | "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", 1939 | "dev": true, 1940 | "requires": { 1941 | "abbrev": "1" 1942 | } 1943 | }, 1944 | "nyc": { 1945 | "version": "7.1.0", 1946 | "resolved": "https://registry.npmjs.org/nyc/-/nyc-7.1.0.tgz", 1947 | "integrity": "sha1-jhSXHzoV0au+x6xhDvVMuInp/7Q=", 1948 | "dev": true, 1949 | "requires": { 1950 | "arrify": "^1.0.1", 1951 | "caching-transform": "^1.0.0", 1952 | "convert-source-map": "^1.3.0", 1953 | "default-require-extensions": "^1.0.0", 1954 | "find-cache-dir": "^0.1.1", 1955 | "find-up": "^1.1.2", 1956 | "foreground-child": "^1.5.3", 1957 | "glob": "^7.0.3", 1958 | "istanbul-lib-coverage": "^1.0.0-alpha.4", 1959 | "istanbul-lib-hook": "^1.0.0-alpha.4", 1960 | "istanbul-lib-instrument": "^1.1.0-alpha.3", 1961 | "istanbul-lib-report": "^1.0.0-alpha.3", 1962 | "istanbul-lib-source-maps": "^1.0.0-alpha.10", 1963 | "istanbul-reports": "^1.0.0-alpha.8", 1964 | "md5-hex": "^1.2.0", 1965 | "micromatch": "^2.3.11", 1966 | "mkdirp": "^0.5.0", 1967 | "pkg-up": "^1.0.0", 1968 | "resolve-from": "^2.0.0", 1969 | "rimraf": "^2.5.4", 1970 | "signal-exit": "^3.0.0", 1971 | "spawn-wrap": "^1.2.4", 1972 | "test-exclude": "^1.1.0", 1973 | "yargs": "^4.8.1", 1974 | "yargs-parser": "^2.4.1" 1975 | }, 1976 | "dependencies": { 1977 | "align-text": { 1978 | "version": "0.1.4", 1979 | "bundled": true, 1980 | "dev": true, 1981 | "requires": { 1982 | "kind-of": "^3.0.2", 1983 | "longest": "^1.0.1", 1984 | "repeat-string": "^1.5.2" 1985 | } 1986 | }, 1987 | "amdefine": { 1988 | "version": "1.0.0", 1989 | "bundled": true, 1990 | "dev": true 1991 | }, 1992 | "ansi-regex": { 1993 | "version": "2.0.0", 1994 | "bundled": true, 1995 | "dev": true 1996 | }, 1997 | "ansi-styles": { 1998 | "version": "2.2.1", 1999 | "bundled": true, 2000 | "dev": true 2001 | }, 2002 | "append-transform": { 2003 | "version": "0.3.0", 2004 | "bundled": true, 2005 | "dev": true 2006 | }, 2007 | "arr-diff": { 2008 | "version": "2.0.0", 2009 | "bundled": true, 2010 | "dev": true, 2011 | "requires": { 2012 | "arr-flatten": "^1.0.1" 2013 | } 2014 | }, 2015 | "arr-flatten": { 2016 | "version": "1.0.1", 2017 | "bundled": true, 2018 | "dev": true 2019 | }, 2020 | "array-unique": { 2021 | "version": "0.2.1", 2022 | "bundled": true, 2023 | "dev": true 2024 | }, 2025 | "arrify": { 2026 | "version": "1.0.1", 2027 | "bundled": true, 2028 | "dev": true 2029 | }, 2030 | "async": { 2031 | "version": "1.5.2", 2032 | "bundled": true, 2033 | "dev": true 2034 | }, 2035 | "babel-code-frame": { 2036 | "version": "6.11.0", 2037 | "bundled": true, 2038 | "dev": true, 2039 | "requires": { 2040 | "babel-runtime": "^6.0.0", 2041 | "chalk": "^1.1.0", 2042 | "esutils": "^2.0.2", 2043 | "js-tokens": "^2.0.0" 2044 | } 2045 | }, 2046 | "babel-generator": { 2047 | "version": "6.11.4", 2048 | "bundled": true, 2049 | "dev": true, 2050 | "requires": { 2051 | "babel-messages": "^6.8.0", 2052 | "babel-runtime": "^6.9.0", 2053 | "babel-types": "^6.10.2", 2054 | "detect-indent": "^3.0.1", 2055 | "lodash": "^4.2.0", 2056 | "source-map": "^0.5.0" 2057 | } 2058 | }, 2059 | "babel-messages": { 2060 | "version": "6.8.0", 2061 | "bundled": true, 2062 | "dev": true, 2063 | "requires": { 2064 | "babel-runtime": "^6.0.0" 2065 | } 2066 | }, 2067 | "babel-runtime": { 2068 | "version": "6.9.2", 2069 | "bundled": true, 2070 | "dev": true, 2071 | "requires": { 2072 | "core-js": "^2.4.0", 2073 | "regenerator-runtime": "^0.9.5" 2074 | } 2075 | }, 2076 | "babel-template": { 2077 | "version": "6.9.0", 2078 | "bundled": true, 2079 | "dev": true, 2080 | "requires": { 2081 | "babel-runtime": "^6.9.0", 2082 | "babel-traverse": "^6.9.0", 2083 | "babel-types": "^6.9.0", 2084 | "babylon": "^6.7.0", 2085 | "lodash": "^4.2.0" 2086 | } 2087 | }, 2088 | "babel-traverse": { 2089 | "version": "6.11.4", 2090 | "bundled": true, 2091 | "dev": true, 2092 | "requires": { 2093 | "babel-code-frame": "^6.8.0", 2094 | "babel-messages": "^6.8.0", 2095 | "babel-runtime": "^6.9.0", 2096 | "babel-types": "^6.9.0", 2097 | "babylon": "^6.7.0", 2098 | "debug": "^2.2.0", 2099 | "globals": "^8.3.0", 2100 | "invariant": "^2.2.0", 2101 | "lodash": "^4.2.0" 2102 | } 2103 | }, 2104 | "babel-types": { 2105 | "version": "6.11.1", 2106 | "bundled": true, 2107 | "dev": true, 2108 | "requires": { 2109 | "babel-runtime": "^6.9.1", 2110 | "babel-traverse": "^6.9.0", 2111 | "esutils": "^2.0.2", 2112 | "lodash": "^4.2.0", 2113 | "to-fast-properties": "^1.0.1" 2114 | } 2115 | }, 2116 | "babylon": { 2117 | "version": "6.8.4", 2118 | "bundled": true, 2119 | "dev": true, 2120 | "requires": { 2121 | "babel-runtime": "^6.0.0" 2122 | } 2123 | }, 2124 | "balanced-match": { 2125 | "version": "0.4.2", 2126 | "bundled": true, 2127 | "dev": true 2128 | }, 2129 | "brace-expansion": { 2130 | "version": "1.1.6", 2131 | "bundled": true, 2132 | "dev": true, 2133 | "requires": { 2134 | "balanced-match": "^0.4.1", 2135 | "concat-map": "0.0.1" 2136 | } 2137 | }, 2138 | "braces": { 2139 | "version": "1.8.5", 2140 | "bundled": true, 2141 | "dev": true, 2142 | "requires": { 2143 | "expand-range": "^1.8.1", 2144 | "preserve": "^0.2.0", 2145 | "repeat-element": "^1.1.2" 2146 | } 2147 | }, 2148 | "builtin-modules": { 2149 | "version": "1.1.1", 2150 | "bundled": true, 2151 | "dev": true 2152 | }, 2153 | "caching-transform": { 2154 | "version": "1.0.1", 2155 | "bundled": true, 2156 | "dev": true, 2157 | "requires": { 2158 | "md5-hex": "^1.2.0", 2159 | "mkdirp": "^0.5.1", 2160 | "write-file-atomic": "^1.1.4" 2161 | } 2162 | }, 2163 | "camelcase": { 2164 | "version": "1.2.1", 2165 | "bundled": true, 2166 | "dev": true, 2167 | "optional": true 2168 | }, 2169 | "center-align": { 2170 | "version": "0.1.3", 2171 | "bundled": true, 2172 | "dev": true, 2173 | "optional": true, 2174 | "requires": { 2175 | "align-text": "^0.1.3", 2176 | "lazy-cache": "^1.0.3" 2177 | } 2178 | }, 2179 | "chalk": { 2180 | "version": "1.1.3", 2181 | "bundled": true, 2182 | "dev": true, 2183 | "requires": { 2184 | "ansi-styles": "^2.2.1", 2185 | "escape-string-regexp": "^1.0.2", 2186 | "has-ansi": "^2.0.0", 2187 | "strip-ansi": "^3.0.0", 2188 | "supports-color": "^2.0.0" 2189 | } 2190 | }, 2191 | "cliui": { 2192 | "version": "2.1.0", 2193 | "bundled": true, 2194 | "dev": true, 2195 | "optional": true, 2196 | "requires": { 2197 | "center-align": "^0.1.1", 2198 | "right-align": "^0.1.1", 2199 | "wordwrap": "0.0.2" 2200 | }, 2201 | "dependencies": { 2202 | "wordwrap": { 2203 | "version": "0.0.2", 2204 | "bundled": true, 2205 | "dev": true, 2206 | "optional": true 2207 | } 2208 | } 2209 | }, 2210 | "code-point-at": { 2211 | "version": "1.0.0", 2212 | "bundled": true, 2213 | "dev": true, 2214 | "requires": { 2215 | "number-is-nan": "^1.0.0" 2216 | } 2217 | }, 2218 | "commondir": { 2219 | "version": "1.0.1", 2220 | "bundled": true, 2221 | "dev": true 2222 | }, 2223 | "concat-map": { 2224 | "version": "0.0.1", 2225 | "bundled": true, 2226 | "dev": true 2227 | }, 2228 | "convert-source-map": { 2229 | "version": "1.3.0", 2230 | "bundled": true, 2231 | "dev": true 2232 | }, 2233 | "core-js": { 2234 | "version": "2.4.1", 2235 | "bundled": true, 2236 | "dev": true 2237 | }, 2238 | "cross-spawn": { 2239 | "version": "4.0.0", 2240 | "bundled": true, 2241 | "dev": true, 2242 | "requires": { 2243 | "lru-cache": "^4.0.1", 2244 | "which": "^1.2.9" 2245 | } 2246 | }, 2247 | "debug": { 2248 | "version": "2.2.0", 2249 | "bundled": true, 2250 | "dev": true, 2251 | "requires": { 2252 | "ms": "0.7.1" 2253 | } 2254 | }, 2255 | "decamelize": { 2256 | "version": "1.2.0", 2257 | "bundled": true, 2258 | "dev": true 2259 | }, 2260 | "default-require-extensions": { 2261 | "version": "1.0.0", 2262 | "bundled": true, 2263 | "dev": true, 2264 | "requires": { 2265 | "strip-bom": "^2.0.0" 2266 | } 2267 | }, 2268 | "detect-indent": { 2269 | "version": "3.0.1", 2270 | "bundled": true, 2271 | "dev": true, 2272 | "requires": { 2273 | "get-stdin": "^4.0.1", 2274 | "minimist": "^1.1.0", 2275 | "repeating": "^1.1.0" 2276 | }, 2277 | "dependencies": { 2278 | "minimist": { 2279 | "version": "1.2.0", 2280 | "bundled": true, 2281 | "dev": true 2282 | } 2283 | } 2284 | }, 2285 | "error-ex": { 2286 | "version": "1.3.0", 2287 | "bundled": true, 2288 | "dev": true, 2289 | "requires": { 2290 | "is-arrayish": "^0.2.1" 2291 | } 2292 | }, 2293 | "escape-string-regexp": { 2294 | "version": "1.0.5", 2295 | "bundled": true, 2296 | "dev": true 2297 | }, 2298 | "esutils": { 2299 | "version": "2.0.2", 2300 | "bundled": true, 2301 | "dev": true 2302 | }, 2303 | "expand-brackets": { 2304 | "version": "0.1.5", 2305 | "bundled": true, 2306 | "dev": true, 2307 | "requires": { 2308 | "is-posix-bracket": "^0.1.0" 2309 | } 2310 | }, 2311 | "expand-range": { 2312 | "version": "1.8.2", 2313 | "bundled": true, 2314 | "dev": true, 2315 | "requires": { 2316 | "fill-range": "^2.1.0" 2317 | } 2318 | }, 2319 | "extglob": { 2320 | "version": "0.3.2", 2321 | "bundled": true, 2322 | "dev": true, 2323 | "requires": { 2324 | "is-extglob": "^1.0.0" 2325 | } 2326 | }, 2327 | "filename-regex": { 2328 | "version": "2.0.0", 2329 | "bundled": true, 2330 | "dev": true 2331 | }, 2332 | "fill-range": { 2333 | "version": "2.2.3", 2334 | "bundled": true, 2335 | "dev": true, 2336 | "requires": { 2337 | "is-number": "^2.1.0", 2338 | "isobject": "^2.0.0", 2339 | "randomatic": "^1.1.3", 2340 | "repeat-element": "^1.1.2", 2341 | "repeat-string": "^1.5.2" 2342 | } 2343 | }, 2344 | "find-cache-dir": { 2345 | "version": "0.1.1", 2346 | "bundled": true, 2347 | "dev": true, 2348 | "requires": { 2349 | "commondir": "^1.0.1", 2350 | "mkdirp": "^0.5.1", 2351 | "pkg-dir": "^1.0.0" 2352 | } 2353 | }, 2354 | "find-up": { 2355 | "version": "1.1.2", 2356 | "bundled": true, 2357 | "dev": true, 2358 | "requires": { 2359 | "path-exists": "^2.0.0", 2360 | "pinkie-promise": "^2.0.0" 2361 | } 2362 | }, 2363 | "for-in": { 2364 | "version": "0.1.5", 2365 | "bundled": true, 2366 | "dev": true 2367 | }, 2368 | "for-own": { 2369 | "version": "0.1.4", 2370 | "bundled": true, 2371 | "dev": true, 2372 | "requires": { 2373 | "for-in": "^0.1.5" 2374 | } 2375 | }, 2376 | "foreground-child": { 2377 | "version": "1.5.3", 2378 | "bundled": true, 2379 | "dev": true, 2380 | "requires": { 2381 | "cross-spawn": "^4", 2382 | "signal-exit": "^3.0.0" 2383 | } 2384 | }, 2385 | "fs.realpath": { 2386 | "version": "1.0.0", 2387 | "bundled": true, 2388 | "dev": true 2389 | }, 2390 | "get-caller-file": { 2391 | "version": "1.0.1", 2392 | "bundled": true, 2393 | "dev": true 2394 | }, 2395 | "get-stdin": { 2396 | "version": "4.0.1", 2397 | "bundled": true, 2398 | "dev": true 2399 | }, 2400 | "glob": { 2401 | "version": "7.0.5", 2402 | "bundled": true, 2403 | "dev": true, 2404 | "requires": { 2405 | "fs.realpath": "^1.0.0", 2406 | "inflight": "^1.0.4", 2407 | "inherits": "2", 2408 | "minimatch": "^3.0.2", 2409 | "once": "^1.3.0", 2410 | "path-is-absolute": "^1.0.0" 2411 | } 2412 | }, 2413 | "glob-base": { 2414 | "version": "0.3.0", 2415 | "bundled": true, 2416 | "dev": true, 2417 | "requires": { 2418 | "glob-parent": "^2.0.0", 2419 | "is-glob": "^2.0.0" 2420 | } 2421 | }, 2422 | "glob-parent": { 2423 | "version": "2.0.0", 2424 | "bundled": true, 2425 | "dev": true, 2426 | "requires": { 2427 | "is-glob": "^2.0.0" 2428 | } 2429 | }, 2430 | "globals": { 2431 | "version": "8.18.0", 2432 | "bundled": true, 2433 | "dev": true 2434 | }, 2435 | "graceful-fs": { 2436 | "version": "4.1.4", 2437 | "bundled": true, 2438 | "dev": true 2439 | }, 2440 | "handlebars": { 2441 | "version": "4.0.5", 2442 | "bundled": true, 2443 | "dev": true, 2444 | "requires": { 2445 | "async": "^1.4.0", 2446 | "optimist": "^0.6.1", 2447 | "source-map": "^0.4.4", 2448 | "uglify-js": "^2.6" 2449 | }, 2450 | "dependencies": { 2451 | "source-map": { 2452 | "version": "0.4.4", 2453 | "bundled": true, 2454 | "dev": true, 2455 | "requires": { 2456 | "amdefine": ">=0.0.4" 2457 | } 2458 | } 2459 | } 2460 | }, 2461 | "has-ansi": { 2462 | "version": "2.0.0", 2463 | "bundled": true, 2464 | "dev": true, 2465 | "requires": { 2466 | "ansi-regex": "^2.0.0" 2467 | } 2468 | }, 2469 | "has-flag": { 2470 | "version": "1.0.0", 2471 | "bundled": true, 2472 | "dev": true 2473 | }, 2474 | "hosted-git-info": { 2475 | "version": "2.1.5", 2476 | "bundled": true, 2477 | "dev": true 2478 | }, 2479 | "imurmurhash": { 2480 | "version": "0.1.4", 2481 | "bundled": true, 2482 | "dev": true 2483 | }, 2484 | "inflight": { 2485 | "version": "1.0.5", 2486 | "bundled": true, 2487 | "dev": true, 2488 | "requires": { 2489 | "once": "^1.3.0", 2490 | "wrappy": "1" 2491 | } 2492 | }, 2493 | "inherits": { 2494 | "version": "2.0.1", 2495 | "bundled": true, 2496 | "dev": true 2497 | }, 2498 | "invariant": { 2499 | "version": "2.2.1", 2500 | "bundled": true, 2501 | "dev": true, 2502 | "requires": { 2503 | "loose-envify": "^1.0.0" 2504 | } 2505 | }, 2506 | "invert-kv": { 2507 | "version": "1.0.0", 2508 | "bundled": true, 2509 | "dev": true 2510 | }, 2511 | "is-arrayish": { 2512 | "version": "0.2.1", 2513 | "bundled": true, 2514 | "dev": true 2515 | }, 2516 | "is-buffer": { 2517 | "version": "1.1.3", 2518 | "bundled": true, 2519 | "dev": true 2520 | }, 2521 | "is-builtin-module": { 2522 | "version": "1.0.0", 2523 | "bundled": true, 2524 | "dev": true, 2525 | "requires": { 2526 | "builtin-modules": "^1.0.0" 2527 | } 2528 | }, 2529 | "is-dotfile": { 2530 | "version": "1.0.2", 2531 | "bundled": true, 2532 | "dev": true 2533 | }, 2534 | "is-equal-shallow": { 2535 | "version": "0.1.3", 2536 | "bundled": true, 2537 | "dev": true, 2538 | "requires": { 2539 | "is-primitive": "^2.0.0" 2540 | } 2541 | }, 2542 | "is-extendable": { 2543 | "version": "0.1.1", 2544 | "bundled": true, 2545 | "dev": true 2546 | }, 2547 | "is-extglob": { 2548 | "version": "1.0.0", 2549 | "bundled": true, 2550 | "dev": true 2551 | }, 2552 | "is-finite": { 2553 | "version": "1.0.1", 2554 | "bundled": true, 2555 | "dev": true, 2556 | "requires": { 2557 | "number-is-nan": "^1.0.0" 2558 | } 2559 | }, 2560 | "is-fullwidth-code-point": { 2561 | "version": "1.0.0", 2562 | "bundled": true, 2563 | "dev": true, 2564 | "requires": { 2565 | "number-is-nan": "^1.0.0" 2566 | } 2567 | }, 2568 | "is-glob": { 2569 | "version": "2.0.1", 2570 | "bundled": true, 2571 | "dev": true, 2572 | "requires": { 2573 | "is-extglob": "^1.0.0" 2574 | } 2575 | }, 2576 | "is-number": { 2577 | "version": "2.1.0", 2578 | "bundled": true, 2579 | "dev": true, 2580 | "requires": { 2581 | "kind-of": "^3.0.2" 2582 | } 2583 | }, 2584 | "is-posix-bracket": { 2585 | "version": "0.1.1", 2586 | "bundled": true, 2587 | "dev": true 2588 | }, 2589 | "is-primitive": { 2590 | "version": "2.0.0", 2591 | "bundled": true, 2592 | "dev": true 2593 | }, 2594 | "is-utf8": { 2595 | "version": "0.2.1", 2596 | "bundled": true, 2597 | "dev": true 2598 | }, 2599 | "isarray": { 2600 | "version": "1.0.0", 2601 | "bundled": true, 2602 | "dev": true 2603 | }, 2604 | "isexe": { 2605 | "version": "1.1.2", 2606 | "bundled": true, 2607 | "dev": true 2608 | }, 2609 | "isobject": { 2610 | "version": "2.1.0", 2611 | "bundled": true, 2612 | "dev": true, 2613 | "requires": { 2614 | "isarray": "1.0.0" 2615 | } 2616 | }, 2617 | "istanbul-lib-coverage": { 2618 | "version": "1.0.0-alpha.4", 2619 | "bundled": true, 2620 | "dev": true 2621 | }, 2622 | "istanbul-lib-hook": { 2623 | "version": "1.0.0-alpha.4", 2624 | "bundled": true, 2625 | "dev": true, 2626 | "requires": { 2627 | "append-transform": "^0.3.0" 2628 | } 2629 | }, 2630 | "istanbul-lib-instrument": { 2631 | "version": "1.1.0-alpha.4", 2632 | "bundled": true, 2633 | "dev": true, 2634 | "requires": { 2635 | "babel-generator": "^6.11.3", 2636 | "babel-template": "^6.9.0", 2637 | "babel-traverse": "^6.9.0", 2638 | "babel-types": "^6.10.2", 2639 | "babylon": "^6.8.1", 2640 | "istanbul-lib-coverage": "^1.0.0-alpha.4" 2641 | } 2642 | }, 2643 | "istanbul-lib-report": { 2644 | "version": "1.0.0-alpha.3", 2645 | "bundled": true, 2646 | "dev": true, 2647 | "requires": { 2648 | "async": "^1.4.2", 2649 | "istanbul-lib-coverage": "^1.0.0-alpha", 2650 | "mkdirp": "^0.5.1", 2651 | "path-parse": "^1.0.5", 2652 | "rimraf": "^2.4.3", 2653 | "supports-color": "^3.1.2" 2654 | }, 2655 | "dependencies": { 2656 | "supports-color": { 2657 | "version": "3.1.2", 2658 | "bundled": true, 2659 | "dev": true, 2660 | "requires": { 2661 | "has-flag": "^1.0.0" 2662 | } 2663 | } 2664 | } 2665 | }, 2666 | "istanbul-lib-source-maps": { 2667 | "version": "1.0.0-alpha.10", 2668 | "bundled": true, 2669 | "dev": true, 2670 | "requires": { 2671 | "istanbul-lib-coverage": "^1.0.0-alpha.0", 2672 | "mkdirp": "^0.5.1", 2673 | "rimraf": "^2.4.4", 2674 | "source-map": "^0.5.3" 2675 | } 2676 | }, 2677 | "istanbul-reports": { 2678 | "version": "1.0.0-alpha.8", 2679 | "bundled": true, 2680 | "dev": true, 2681 | "requires": { 2682 | "handlebars": "^4.0.3" 2683 | } 2684 | }, 2685 | "js-tokens": { 2686 | "version": "2.0.0", 2687 | "bundled": true, 2688 | "dev": true 2689 | }, 2690 | "kind-of": { 2691 | "version": "3.0.3", 2692 | "bundled": true, 2693 | "dev": true, 2694 | "requires": { 2695 | "is-buffer": "^1.0.2" 2696 | } 2697 | }, 2698 | "lazy-cache": { 2699 | "version": "1.0.4", 2700 | "bundled": true, 2701 | "dev": true, 2702 | "optional": true 2703 | }, 2704 | "lcid": { 2705 | "version": "1.0.0", 2706 | "bundled": true, 2707 | "dev": true, 2708 | "requires": { 2709 | "invert-kv": "^1.0.0" 2710 | } 2711 | }, 2712 | "load-json-file": { 2713 | "version": "1.1.0", 2714 | "bundled": true, 2715 | "dev": true, 2716 | "requires": { 2717 | "graceful-fs": "^4.1.2", 2718 | "parse-json": "^2.2.0", 2719 | "pify": "^2.0.0", 2720 | "pinkie-promise": "^2.0.0", 2721 | "strip-bom": "^2.0.0" 2722 | } 2723 | }, 2724 | "lodash": { 2725 | "version": "4.13.1", 2726 | "bundled": true, 2727 | "dev": true 2728 | }, 2729 | "lodash.assign": { 2730 | "version": "4.0.9", 2731 | "bundled": true, 2732 | "dev": true, 2733 | "requires": { 2734 | "lodash.keys": "^4.0.0", 2735 | "lodash.rest": "^4.0.0" 2736 | } 2737 | }, 2738 | "lodash.keys": { 2739 | "version": "4.0.7", 2740 | "bundled": true, 2741 | "dev": true 2742 | }, 2743 | "lodash.rest": { 2744 | "version": "4.0.3", 2745 | "bundled": true, 2746 | "dev": true 2747 | }, 2748 | "longest": { 2749 | "version": "1.0.1", 2750 | "bundled": true, 2751 | "dev": true 2752 | }, 2753 | "loose-envify": { 2754 | "version": "1.2.0", 2755 | "bundled": true, 2756 | "dev": true, 2757 | "requires": { 2758 | "js-tokens": "^1.0.1" 2759 | }, 2760 | "dependencies": { 2761 | "js-tokens": { 2762 | "version": "1.0.3", 2763 | "bundled": true, 2764 | "dev": true 2765 | } 2766 | } 2767 | }, 2768 | "lru-cache": { 2769 | "version": "4.0.1", 2770 | "bundled": true, 2771 | "dev": true, 2772 | "requires": { 2773 | "pseudomap": "^1.0.1", 2774 | "yallist": "^2.0.0" 2775 | } 2776 | }, 2777 | "md5-hex": { 2778 | "version": "1.3.0", 2779 | "bundled": true, 2780 | "dev": true, 2781 | "requires": { 2782 | "md5-o-matic": "^0.1.1" 2783 | } 2784 | }, 2785 | "md5-o-matic": { 2786 | "version": "0.1.1", 2787 | "bundled": true, 2788 | "dev": true 2789 | }, 2790 | "micromatch": { 2791 | "version": "2.3.11", 2792 | "bundled": true, 2793 | "dev": true, 2794 | "requires": { 2795 | "arr-diff": "^2.0.0", 2796 | "array-unique": "^0.2.1", 2797 | "braces": "^1.8.2", 2798 | "expand-brackets": "^0.1.4", 2799 | "extglob": "^0.3.1", 2800 | "filename-regex": "^2.0.0", 2801 | "is-extglob": "^1.0.0", 2802 | "is-glob": "^2.0.1", 2803 | "kind-of": "^3.0.2", 2804 | "normalize-path": "^2.0.1", 2805 | "object.omit": "^2.0.0", 2806 | "parse-glob": "^3.0.4", 2807 | "regex-cache": "^0.4.2" 2808 | } 2809 | }, 2810 | "minimatch": { 2811 | "version": "3.0.2", 2812 | "bundled": true, 2813 | "dev": true, 2814 | "requires": { 2815 | "brace-expansion": "^1.0.0" 2816 | } 2817 | }, 2818 | "minimist": { 2819 | "version": "0.0.8", 2820 | "bundled": true, 2821 | "dev": true 2822 | }, 2823 | "mkdirp": { 2824 | "version": "0.5.1", 2825 | "bundled": true, 2826 | "dev": true, 2827 | "requires": { 2828 | "minimist": "0.0.8" 2829 | } 2830 | }, 2831 | "ms": { 2832 | "version": "0.7.1", 2833 | "bundled": true, 2834 | "dev": true 2835 | }, 2836 | "normalize-package-data": { 2837 | "version": "2.3.5", 2838 | "bundled": true, 2839 | "dev": true, 2840 | "requires": { 2841 | "hosted-git-info": "^2.1.4", 2842 | "is-builtin-module": "^1.0.0", 2843 | "semver": "2 || 3 || 4 || 5", 2844 | "validate-npm-package-license": "^3.0.1" 2845 | } 2846 | }, 2847 | "normalize-path": { 2848 | "version": "2.0.1", 2849 | "bundled": true, 2850 | "dev": true 2851 | }, 2852 | "number-is-nan": { 2853 | "version": "1.0.0", 2854 | "bundled": true, 2855 | "dev": true 2856 | }, 2857 | "object.omit": { 2858 | "version": "2.0.0", 2859 | "bundled": true, 2860 | "dev": true, 2861 | "requires": { 2862 | "for-own": "^0.1.3", 2863 | "is-extendable": "^0.1.1" 2864 | } 2865 | }, 2866 | "once": { 2867 | "version": "1.3.3", 2868 | "bundled": true, 2869 | "dev": true, 2870 | "requires": { 2871 | "wrappy": "1" 2872 | } 2873 | }, 2874 | "optimist": { 2875 | "version": "0.6.1", 2876 | "bundled": true, 2877 | "dev": true, 2878 | "requires": { 2879 | "minimist": "~0.0.1", 2880 | "wordwrap": "~0.0.2" 2881 | } 2882 | }, 2883 | "os-homedir": { 2884 | "version": "1.0.1", 2885 | "bundled": true, 2886 | "dev": true 2887 | }, 2888 | "os-locale": { 2889 | "version": "1.4.0", 2890 | "bundled": true, 2891 | "dev": true, 2892 | "requires": { 2893 | "lcid": "^1.0.0" 2894 | } 2895 | }, 2896 | "parse-glob": { 2897 | "version": "3.0.4", 2898 | "bundled": true, 2899 | "dev": true, 2900 | "requires": { 2901 | "glob-base": "^0.3.0", 2902 | "is-dotfile": "^1.0.0", 2903 | "is-extglob": "^1.0.0", 2904 | "is-glob": "^2.0.0" 2905 | } 2906 | }, 2907 | "parse-json": { 2908 | "version": "2.2.0", 2909 | "bundled": true, 2910 | "dev": true, 2911 | "requires": { 2912 | "error-ex": "^1.2.0" 2913 | } 2914 | }, 2915 | "path-exists": { 2916 | "version": "2.1.0", 2917 | "bundled": true, 2918 | "dev": true, 2919 | "requires": { 2920 | "pinkie-promise": "^2.0.0" 2921 | } 2922 | }, 2923 | "path-is-absolute": { 2924 | "version": "1.0.0", 2925 | "bundled": true, 2926 | "dev": true 2927 | }, 2928 | "path-parse": { 2929 | "version": "1.0.5", 2930 | "bundled": true, 2931 | "dev": true 2932 | }, 2933 | "path-type": { 2934 | "version": "1.1.0", 2935 | "bundled": true, 2936 | "dev": true, 2937 | "requires": { 2938 | "graceful-fs": "^4.1.2", 2939 | "pify": "^2.0.0", 2940 | "pinkie-promise": "^2.0.0" 2941 | } 2942 | }, 2943 | "pify": { 2944 | "version": "2.3.0", 2945 | "bundled": true, 2946 | "dev": true 2947 | }, 2948 | "pinkie": { 2949 | "version": "2.0.4", 2950 | "bundled": true, 2951 | "dev": true 2952 | }, 2953 | "pinkie-promise": { 2954 | "version": "2.0.1", 2955 | "bundled": true, 2956 | "dev": true, 2957 | "requires": { 2958 | "pinkie": "^2.0.0" 2959 | } 2960 | }, 2961 | "pkg-dir": { 2962 | "version": "1.0.0", 2963 | "bundled": true, 2964 | "dev": true, 2965 | "requires": { 2966 | "find-up": "^1.0.0" 2967 | } 2968 | }, 2969 | "pkg-up": { 2970 | "version": "1.0.0", 2971 | "bundled": true, 2972 | "dev": true, 2973 | "requires": { 2974 | "find-up": "^1.0.0" 2975 | } 2976 | }, 2977 | "preserve": { 2978 | "version": "0.2.0", 2979 | "bundled": true, 2980 | "dev": true 2981 | }, 2982 | "pseudomap": { 2983 | "version": "1.0.2", 2984 | "bundled": true, 2985 | "dev": true 2986 | }, 2987 | "randomatic": { 2988 | "version": "1.1.5", 2989 | "bundled": true, 2990 | "dev": true, 2991 | "requires": { 2992 | "is-number": "^2.0.2", 2993 | "kind-of": "^3.0.2" 2994 | } 2995 | }, 2996 | "read-pkg": { 2997 | "version": "1.1.0", 2998 | "bundled": true, 2999 | "dev": true, 3000 | "requires": { 3001 | "load-json-file": "^1.0.0", 3002 | "normalize-package-data": "^2.3.2", 3003 | "path-type": "^1.0.0" 3004 | } 3005 | }, 3006 | "read-pkg-up": { 3007 | "version": "1.0.1", 3008 | "bundled": true, 3009 | "dev": true, 3010 | "requires": { 3011 | "find-up": "^1.0.0", 3012 | "read-pkg": "^1.0.0" 3013 | } 3014 | }, 3015 | "regenerator-runtime": { 3016 | "version": "0.9.5", 3017 | "bundled": true, 3018 | "dev": true 3019 | }, 3020 | "regex-cache": { 3021 | "version": "0.4.3", 3022 | "bundled": true, 3023 | "dev": true, 3024 | "requires": { 3025 | "is-equal-shallow": "^0.1.3", 3026 | "is-primitive": "^2.0.0" 3027 | } 3028 | }, 3029 | "repeat-element": { 3030 | "version": "1.1.2", 3031 | "bundled": true, 3032 | "dev": true 3033 | }, 3034 | "repeat-string": { 3035 | "version": "1.5.4", 3036 | "bundled": true, 3037 | "dev": true 3038 | }, 3039 | "repeating": { 3040 | "version": "1.1.3", 3041 | "bundled": true, 3042 | "dev": true, 3043 | "requires": { 3044 | "is-finite": "^1.0.0" 3045 | } 3046 | }, 3047 | "require-directory": { 3048 | "version": "2.1.1", 3049 | "bundled": true, 3050 | "dev": true 3051 | }, 3052 | "require-main-filename": { 3053 | "version": "1.0.1", 3054 | "bundled": true, 3055 | "dev": true 3056 | }, 3057 | "resolve-from": { 3058 | "version": "2.0.0", 3059 | "bundled": true, 3060 | "dev": true 3061 | }, 3062 | "right-align": { 3063 | "version": "0.1.3", 3064 | "bundled": true, 3065 | "dev": true, 3066 | "optional": true, 3067 | "requires": { 3068 | "align-text": "^0.1.1" 3069 | } 3070 | }, 3071 | "rimraf": { 3072 | "version": "2.5.4", 3073 | "bundled": true, 3074 | "dev": true, 3075 | "requires": { 3076 | "glob": "^7.0.5" 3077 | } 3078 | }, 3079 | "semver": { 3080 | "version": "5.3.0", 3081 | "bundled": true, 3082 | "dev": true 3083 | }, 3084 | "set-blocking": { 3085 | "version": "2.0.0", 3086 | "bundled": true, 3087 | "dev": true 3088 | }, 3089 | "signal-exit": { 3090 | "version": "3.0.0", 3091 | "bundled": true, 3092 | "dev": true 3093 | }, 3094 | "slide": { 3095 | "version": "1.1.6", 3096 | "bundled": true, 3097 | "dev": true 3098 | }, 3099 | "source-map": { 3100 | "version": "0.5.6", 3101 | "bundled": true, 3102 | "dev": true 3103 | }, 3104 | "spawn-wrap": { 3105 | "version": "1.2.4", 3106 | "bundled": true, 3107 | "dev": true, 3108 | "requires": { 3109 | "foreground-child": "^1.3.3", 3110 | "mkdirp": "^0.5.0", 3111 | "os-homedir": "^1.0.1", 3112 | "rimraf": "^2.3.3", 3113 | "signal-exit": "^2.0.0", 3114 | "which": "^1.2.4" 3115 | }, 3116 | "dependencies": { 3117 | "signal-exit": { 3118 | "version": "2.1.2", 3119 | "bundled": true, 3120 | "dev": true 3121 | } 3122 | } 3123 | }, 3124 | "spdx-correct": { 3125 | "version": "1.0.2", 3126 | "bundled": true, 3127 | "dev": true, 3128 | "requires": { 3129 | "spdx-license-ids": "^1.0.2" 3130 | } 3131 | }, 3132 | "spdx-exceptions": { 3133 | "version": "1.0.5", 3134 | "bundled": true, 3135 | "dev": true 3136 | }, 3137 | "spdx-expression-parse": { 3138 | "version": "1.0.2", 3139 | "bundled": true, 3140 | "dev": true, 3141 | "requires": { 3142 | "spdx-exceptions": "^1.0.4", 3143 | "spdx-license-ids": "^1.0.0" 3144 | } 3145 | }, 3146 | "spdx-license-ids": { 3147 | "version": "1.2.1", 3148 | "bundled": true, 3149 | "dev": true 3150 | }, 3151 | "string-width": { 3152 | "version": "1.0.1", 3153 | "bundled": true, 3154 | "dev": true, 3155 | "requires": { 3156 | "code-point-at": "^1.0.0", 3157 | "is-fullwidth-code-point": "^1.0.0", 3158 | "strip-ansi": "^3.0.0" 3159 | } 3160 | }, 3161 | "strip-ansi": { 3162 | "version": "3.0.1", 3163 | "bundled": true, 3164 | "dev": true, 3165 | "requires": { 3166 | "ansi-regex": "^2.0.0" 3167 | } 3168 | }, 3169 | "strip-bom": { 3170 | "version": "2.0.0", 3171 | "bundled": true, 3172 | "dev": true, 3173 | "requires": { 3174 | "is-utf8": "^0.2.0" 3175 | } 3176 | }, 3177 | "supports-color": { 3178 | "version": "2.0.0", 3179 | "bundled": true, 3180 | "dev": true 3181 | }, 3182 | "test-exclude": { 3183 | "version": "1.1.0", 3184 | "bundled": true, 3185 | "dev": true, 3186 | "requires": { 3187 | "arrify": "^1.0.1", 3188 | "lodash.assign": "^4.0.9", 3189 | "micromatch": "^2.3.8", 3190 | "read-pkg-up": "^1.0.1", 3191 | "require-main-filename": "^1.0.1" 3192 | } 3193 | }, 3194 | "to-fast-properties": { 3195 | "version": "1.0.2", 3196 | "bundled": true, 3197 | "dev": true 3198 | }, 3199 | "uglify-js": { 3200 | "version": "2.7.0", 3201 | "bundled": true, 3202 | "dev": true, 3203 | "optional": true, 3204 | "requires": { 3205 | "async": "~0.2.6", 3206 | "source-map": "~0.5.1", 3207 | "uglify-to-browserify": "~1.0.0", 3208 | "yargs": "~3.10.0" 3209 | }, 3210 | "dependencies": { 3211 | "async": { 3212 | "version": "0.2.10", 3213 | "bundled": true, 3214 | "dev": true, 3215 | "optional": true 3216 | }, 3217 | "yargs": { 3218 | "version": "3.10.0", 3219 | "bundled": true, 3220 | "dev": true, 3221 | "optional": true, 3222 | "requires": { 3223 | "camelcase": "^1.0.2", 3224 | "cliui": "^2.1.0", 3225 | "decamelize": "^1.0.0", 3226 | "window-size": "0.1.0" 3227 | } 3228 | } 3229 | } 3230 | }, 3231 | "uglify-to-browserify": { 3232 | "version": "1.0.2", 3233 | "bundled": true, 3234 | "dev": true, 3235 | "optional": true 3236 | }, 3237 | "validate-npm-package-license": { 3238 | "version": "3.0.1", 3239 | "bundled": true, 3240 | "dev": true, 3241 | "requires": { 3242 | "spdx-correct": "~1.0.0", 3243 | "spdx-expression-parse": "~1.0.0" 3244 | } 3245 | }, 3246 | "which": { 3247 | "version": "1.2.10", 3248 | "bundled": true, 3249 | "dev": true, 3250 | "requires": { 3251 | "isexe": "^1.1.1" 3252 | } 3253 | }, 3254 | "which-module": { 3255 | "version": "1.0.0", 3256 | "bundled": true, 3257 | "dev": true 3258 | }, 3259 | "window-size": { 3260 | "version": "0.1.0", 3261 | "bundled": true, 3262 | "dev": true, 3263 | "optional": true 3264 | }, 3265 | "wordwrap": { 3266 | "version": "0.0.3", 3267 | "bundled": true, 3268 | "dev": true 3269 | }, 3270 | "wrap-ansi": { 3271 | "version": "2.0.0", 3272 | "bundled": true, 3273 | "dev": true, 3274 | "requires": { 3275 | "string-width": "^1.0.1" 3276 | } 3277 | }, 3278 | "wrappy": { 3279 | "version": "1.0.2", 3280 | "bundled": true, 3281 | "dev": true 3282 | }, 3283 | "write-file-atomic": { 3284 | "version": "1.1.4", 3285 | "bundled": true, 3286 | "dev": true, 3287 | "requires": { 3288 | "graceful-fs": "^4.1.2", 3289 | "imurmurhash": "^0.1.4", 3290 | "slide": "^1.1.5" 3291 | } 3292 | }, 3293 | "y18n": { 3294 | "version": "3.2.1", 3295 | "bundled": true, 3296 | "dev": true 3297 | }, 3298 | "yallist": { 3299 | "version": "2.0.0", 3300 | "bundled": true, 3301 | "dev": true 3302 | }, 3303 | "yargs": { 3304 | "version": "4.8.1", 3305 | "bundled": true, 3306 | "dev": true, 3307 | "requires": { 3308 | "cliui": "^3.2.0", 3309 | "decamelize": "^1.1.1", 3310 | "get-caller-file": "^1.0.1", 3311 | "lodash.assign": "^4.0.3", 3312 | "os-locale": "^1.4.0", 3313 | "read-pkg-up": "^1.0.1", 3314 | "require-directory": "^2.1.1", 3315 | "require-main-filename": "^1.0.1", 3316 | "set-blocking": "^2.0.0", 3317 | "string-width": "^1.0.1", 3318 | "which-module": "^1.0.0", 3319 | "window-size": "^0.2.0", 3320 | "y18n": "^3.2.1", 3321 | "yargs-parser": "^2.4.1" 3322 | }, 3323 | "dependencies": { 3324 | "cliui": { 3325 | "version": "3.2.0", 3326 | "bundled": true, 3327 | "dev": true, 3328 | "requires": { 3329 | "string-width": "^1.0.1", 3330 | "strip-ansi": "^3.0.1", 3331 | "wrap-ansi": "^2.0.0" 3332 | } 3333 | }, 3334 | "window-size": { 3335 | "version": "0.2.0", 3336 | "bundled": true, 3337 | "dev": true 3338 | } 3339 | } 3340 | }, 3341 | "yargs-parser": { 3342 | "version": "2.4.1", 3343 | "bundled": true, 3344 | "dev": true, 3345 | "requires": { 3346 | "camelcase": "^3.0.0", 3347 | "lodash.assign": "^4.0.6" 3348 | }, 3349 | "dependencies": { 3350 | "camelcase": { 3351 | "version": "3.0.0", 3352 | "bundled": true, 3353 | "dev": true 3354 | } 3355 | } 3356 | } 3357 | } 3358 | }, 3359 | "oauth-sign": { 3360 | "version": "0.8.2", 3361 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", 3362 | "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", 3363 | "dev": true 3364 | }, 3365 | "object-copy": { 3366 | "version": "0.1.0", 3367 | "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", 3368 | "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", 3369 | "dev": true, 3370 | "requires": { 3371 | "copy-descriptor": "^0.1.0", 3372 | "define-property": "^0.2.5", 3373 | "kind-of": "^3.0.3" 3374 | }, 3375 | "dependencies": { 3376 | "define-property": { 3377 | "version": "0.2.5", 3378 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 3379 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 3380 | "dev": true, 3381 | "requires": { 3382 | "is-descriptor": "^0.1.0" 3383 | } 3384 | }, 3385 | "kind-of": { 3386 | "version": "3.2.2", 3387 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3388 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3389 | "dev": true, 3390 | "requires": { 3391 | "is-buffer": "^1.1.5" 3392 | } 3393 | } 3394 | } 3395 | }, 3396 | "object-visit": { 3397 | "version": "1.0.1", 3398 | "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", 3399 | "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", 3400 | "dev": true, 3401 | "requires": { 3402 | "isobject": "^3.0.0" 3403 | } 3404 | }, 3405 | "object.defaults": { 3406 | "version": "1.1.0", 3407 | "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", 3408 | "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", 3409 | "dev": true, 3410 | "requires": { 3411 | "array-each": "^1.0.1", 3412 | "array-slice": "^1.0.0", 3413 | "for-own": "^1.0.0", 3414 | "isobject": "^3.0.0" 3415 | } 3416 | }, 3417 | "object.map": { 3418 | "version": "1.0.1", 3419 | "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", 3420 | "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", 3421 | "dev": true, 3422 | "requires": { 3423 | "for-own": "^1.0.0", 3424 | "make-iterator": "^1.0.0" 3425 | } 3426 | }, 3427 | "object.pick": { 3428 | "version": "1.3.0", 3429 | "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", 3430 | "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", 3431 | "dev": true, 3432 | "requires": { 3433 | "isobject": "^3.0.1" 3434 | } 3435 | }, 3436 | "once": { 3437 | "version": "1.4.0", 3438 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 3439 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 3440 | "dev": true, 3441 | "requires": { 3442 | "wrappy": "1" 3443 | } 3444 | }, 3445 | "only-shallow": { 3446 | "version": "1.2.0", 3447 | "resolved": "https://registry.npmjs.org/only-shallow/-/only-shallow-1.2.0.tgz", 3448 | "integrity": "sha1-cc7O26kyS8BRiu8Q7AgNMkncJGU=", 3449 | "dev": true 3450 | }, 3451 | "opener": { 3452 | "version": "1.5.2", 3453 | "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", 3454 | "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", 3455 | "dev": true 3456 | }, 3457 | "os-homedir": { 3458 | "version": "1.0.2", 3459 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", 3460 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", 3461 | "dev": true 3462 | }, 3463 | "os-tmpdir": { 3464 | "version": "1.0.2", 3465 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 3466 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 3467 | "dev": true 3468 | }, 3469 | "osenv": { 3470 | "version": "0.1.5", 3471 | "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", 3472 | "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", 3473 | "dev": true, 3474 | "requires": { 3475 | "os-homedir": "^1.0.0", 3476 | "os-tmpdir": "^1.0.0" 3477 | } 3478 | }, 3479 | "parse-filepath": { 3480 | "version": "1.0.2", 3481 | "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", 3482 | "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", 3483 | "dev": true, 3484 | "requires": { 3485 | "is-absolute": "^1.0.0", 3486 | "map-cache": "^0.2.0", 3487 | "path-root": "^0.1.1" 3488 | } 3489 | }, 3490 | "parse-passwd": { 3491 | "version": "1.0.0", 3492 | "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", 3493 | "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", 3494 | "dev": true 3495 | }, 3496 | "pascalcase": { 3497 | "version": "0.1.1", 3498 | "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", 3499 | "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", 3500 | "dev": true 3501 | }, 3502 | "path-is-absolute": { 3503 | "version": "1.0.1", 3504 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 3505 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 3506 | "dev": true 3507 | }, 3508 | "path-parse": { 3509 | "version": "1.0.6", 3510 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", 3511 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", 3512 | "dev": true 3513 | }, 3514 | "path-root": { 3515 | "version": "0.1.1", 3516 | "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", 3517 | "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", 3518 | "dev": true, 3519 | "requires": { 3520 | "path-root-regex": "^0.1.0" 3521 | } 3522 | }, 3523 | "path-root-regex": { 3524 | "version": "0.1.2", 3525 | "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", 3526 | "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", 3527 | "dev": true 3528 | }, 3529 | "pinkie": { 3530 | "version": "2.0.4", 3531 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 3532 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", 3533 | "dev": true 3534 | }, 3535 | "pinkie-promise": { 3536 | "version": "2.0.1", 3537 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 3538 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 3539 | "dev": true, 3540 | "requires": { 3541 | "pinkie": "^2.0.0" 3542 | } 3543 | }, 3544 | "posix-character-classes": { 3545 | "version": "0.1.1", 3546 | "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", 3547 | "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", 3548 | "dev": true 3549 | }, 3550 | "process-nextick-args": { 3551 | "version": "2.0.1", 3552 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 3553 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", 3554 | "dev": true 3555 | }, 3556 | "propagate": { 3557 | "version": "0.3.1", 3558 | "resolved": "https://registry.npmjs.org/propagate/-/propagate-0.3.1.tgz", 3559 | "integrity": "sha1-46hEBKfs6CDda76p9tkk4xNa4Jw=", 3560 | "dev": true 3561 | }, 3562 | "pseudomap": { 3563 | "version": "1.0.2", 3564 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", 3565 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", 3566 | "dev": true 3567 | }, 3568 | "punycode": { 3569 | "version": "1.4.1", 3570 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 3571 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", 3572 | "dev": true 3573 | }, 3574 | "qs": { 3575 | "version": "6.3.2", 3576 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", 3577 | "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", 3578 | "dev": true 3579 | }, 3580 | "readable-stream": { 3581 | "version": "1.1.14", 3582 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", 3583 | "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", 3584 | "dev": true, 3585 | "requires": { 3586 | "core-util-is": "~1.0.0", 3587 | "inherits": "~2.0.1", 3588 | "isarray": "0.0.1", 3589 | "string_decoder": "~0.10.x" 3590 | }, 3591 | "dependencies": { 3592 | "isarray": { 3593 | "version": "0.0.1", 3594 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", 3595 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", 3596 | "dev": true 3597 | } 3598 | } 3599 | }, 3600 | "rechoir": { 3601 | "version": "0.6.2", 3602 | "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", 3603 | "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", 3604 | "dev": true, 3605 | "requires": { 3606 | "resolve": "^1.1.6" 3607 | } 3608 | }, 3609 | "regex-not": { 3610 | "version": "1.0.2", 3611 | "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", 3612 | "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", 3613 | "dev": true, 3614 | "requires": { 3615 | "extend-shallow": "^3.0.2", 3616 | "safe-regex": "^1.1.0" 3617 | } 3618 | }, 3619 | "repeat-element": { 3620 | "version": "1.1.3", 3621 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", 3622 | "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", 3623 | "dev": true 3624 | }, 3625 | "repeat-string": { 3626 | "version": "1.6.1", 3627 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", 3628 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", 3629 | "dev": true 3630 | }, 3631 | "request": { 3632 | "version": "2.79.0", 3633 | "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", 3634 | "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", 3635 | "dev": true, 3636 | "requires": { 3637 | "aws-sign2": "~0.6.0", 3638 | "aws4": "^1.2.1", 3639 | "caseless": "~0.11.0", 3640 | "combined-stream": "~1.0.5", 3641 | "extend": "~3.0.0", 3642 | "forever-agent": "~0.6.1", 3643 | "form-data": "~2.1.1", 3644 | "har-validator": "~2.0.6", 3645 | "hawk": "~3.1.3", 3646 | "http-signature": "~1.1.0", 3647 | "is-typedarray": "~1.0.0", 3648 | "isstream": "~0.1.2", 3649 | "json-stringify-safe": "~5.0.1", 3650 | "mime-types": "~2.1.7", 3651 | "oauth-sign": "~0.8.1", 3652 | "qs": "~6.3.0", 3653 | "stringstream": "~0.0.4", 3654 | "tough-cookie": "~2.3.0", 3655 | "tunnel-agent": "~0.4.1", 3656 | "uuid": "^3.0.0" 3657 | } 3658 | }, 3659 | "resolve": { 3660 | "version": "1.19.0", 3661 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", 3662 | "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", 3663 | "dev": true, 3664 | "requires": { 3665 | "is-core-module": "^2.1.0", 3666 | "path-parse": "^1.0.6" 3667 | } 3668 | }, 3669 | "resolve-dir": { 3670 | "version": "1.0.1", 3671 | "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", 3672 | "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", 3673 | "dev": true, 3674 | "requires": { 3675 | "expand-tilde": "^2.0.0", 3676 | "global-modules": "^1.0.0" 3677 | } 3678 | }, 3679 | "resolve-url": { 3680 | "version": "0.2.1", 3681 | "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", 3682 | "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", 3683 | "dev": true 3684 | }, 3685 | "ret": { 3686 | "version": "0.1.15", 3687 | "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", 3688 | "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", 3689 | "dev": true 3690 | }, 3691 | "rimraf": { 3692 | "version": "3.0.2", 3693 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 3694 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 3695 | "dev": true, 3696 | "requires": { 3697 | "glob": "^7.1.3" 3698 | } 3699 | }, 3700 | "safe-buffer": { 3701 | "version": "5.1.2", 3702 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 3703 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 3704 | "dev": true 3705 | }, 3706 | "safe-regex": { 3707 | "version": "1.1.0", 3708 | "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", 3709 | "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", 3710 | "dev": true, 3711 | "requires": { 3712 | "ret": "~0.1.10" 3713 | } 3714 | }, 3715 | "safer-buffer": { 3716 | "version": "2.1.2", 3717 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 3718 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 3719 | "dev": true 3720 | }, 3721 | "set-value": { 3722 | "version": "2.0.1", 3723 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", 3724 | "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", 3725 | "dev": true, 3726 | "requires": { 3727 | "extend-shallow": "^2.0.1", 3728 | "is-extendable": "^0.1.1", 3729 | "is-plain-object": "^2.0.3", 3730 | "split-string": "^3.0.1" 3731 | }, 3732 | "dependencies": { 3733 | "extend-shallow": { 3734 | "version": "2.0.1", 3735 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 3736 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 3737 | "dev": true, 3738 | "requires": { 3739 | "is-extendable": "^0.1.0" 3740 | } 3741 | } 3742 | } 3743 | }, 3744 | "shelljs": { 3745 | "version": "0.3.0", 3746 | "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", 3747 | "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", 3748 | "dev": true 3749 | }, 3750 | "signal-exit": { 3751 | "version": "3.0.3", 3752 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", 3753 | "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", 3754 | "dev": true 3755 | }, 3756 | "snapdragon": { 3757 | "version": "0.8.2", 3758 | "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", 3759 | "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", 3760 | "dev": true, 3761 | "requires": { 3762 | "base": "^0.11.1", 3763 | "debug": "^2.2.0", 3764 | "define-property": "^0.2.5", 3765 | "extend-shallow": "^2.0.1", 3766 | "map-cache": "^0.2.2", 3767 | "source-map": "^0.5.6", 3768 | "source-map-resolve": "^0.5.0", 3769 | "use": "^3.1.0" 3770 | }, 3771 | "dependencies": { 3772 | "define-property": { 3773 | "version": "0.2.5", 3774 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 3775 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 3776 | "dev": true, 3777 | "requires": { 3778 | "is-descriptor": "^0.1.0" 3779 | } 3780 | }, 3781 | "extend-shallow": { 3782 | "version": "2.0.1", 3783 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 3784 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 3785 | "dev": true, 3786 | "requires": { 3787 | "is-extendable": "^0.1.0" 3788 | } 3789 | } 3790 | } 3791 | }, 3792 | "snapdragon-node": { 3793 | "version": "2.1.1", 3794 | "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", 3795 | "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", 3796 | "dev": true, 3797 | "requires": { 3798 | "define-property": "^1.0.0", 3799 | "isobject": "^3.0.0", 3800 | "snapdragon-util": "^3.0.1" 3801 | }, 3802 | "dependencies": { 3803 | "define-property": { 3804 | "version": "1.0.0", 3805 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 3806 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 3807 | "dev": true, 3808 | "requires": { 3809 | "is-descriptor": "^1.0.0" 3810 | } 3811 | }, 3812 | "is-accessor-descriptor": { 3813 | "version": "1.0.0", 3814 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 3815 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 3816 | "dev": true, 3817 | "requires": { 3818 | "kind-of": "^6.0.0" 3819 | } 3820 | }, 3821 | "is-data-descriptor": { 3822 | "version": "1.0.0", 3823 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 3824 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 3825 | "dev": true, 3826 | "requires": { 3827 | "kind-of": "^6.0.0" 3828 | } 3829 | }, 3830 | "is-descriptor": { 3831 | "version": "1.0.2", 3832 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 3833 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 3834 | "dev": true, 3835 | "requires": { 3836 | "is-accessor-descriptor": "^1.0.0", 3837 | "is-data-descriptor": "^1.0.0", 3838 | "kind-of": "^6.0.2" 3839 | } 3840 | } 3841 | } 3842 | }, 3843 | "snapdragon-util": { 3844 | "version": "3.0.1", 3845 | "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", 3846 | "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", 3847 | "dev": true, 3848 | "requires": { 3849 | "kind-of": "^3.2.0" 3850 | }, 3851 | "dependencies": { 3852 | "kind-of": { 3853 | "version": "3.2.2", 3854 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3855 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3856 | "dev": true, 3857 | "requires": { 3858 | "is-buffer": "^1.1.5" 3859 | } 3860 | } 3861 | } 3862 | }, 3863 | "sntp": { 3864 | "version": "1.0.9", 3865 | "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", 3866 | "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", 3867 | "dev": true, 3868 | "requires": { 3869 | "hoek": "2.x.x" 3870 | } 3871 | }, 3872 | "source-map": { 3873 | "version": "0.5.7", 3874 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 3875 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 3876 | "dev": true 3877 | }, 3878 | "source-map-resolve": { 3879 | "version": "0.5.3", 3880 | "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", 3881 | "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", 3882 | "dev": true, 3883 | "requires": { 3884 | "atob": "^2.1.2", 3885 | "decode-uri-component": "^0.2.0", 3886 | "resolve-url": "^0.2.1", 3887 | "source-map-url": "^0.4.0", 3888 | "urix": "^0.1.0" 3889 | } 3890 | }, 3891 | "source-map-url": { 3892 | "version": "0.4.0", 3893 | "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", 3894 | "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", 3895 | "dev": true 3896 | }, 3897 | "split-string": { 3898 | "version": "3.1.0", 3899 | "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", 3900 | "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", 3901 | "dev": true, 3902 | "requires": { 3903 | "extend-shallow": "^3.0.0" 3904 | } 3905 | }, 3906 | "sprintf-js": { 3907 | "version": "1.1.2", 3908 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", 3909 | "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", 3910 | "dev": true 3911 | }, 3912 | "sshpk": { 3913 | "version": "1.16.1", 3914 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", 3915 | "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", 3916 | "dev": true, 3917 | "requires": { 3918 | "asn1": "~0.2.3", 3919 | "assert-plus": "^1.0.0", 3920 | "bcrypt-pbkdf": "^1.0.0", 3921 | "dashdash": "^1.12.0", 3922 | "ecc-jsbn": "~0.1.1", 3923 | "getpass": "^0.1.1", 3924 | "jsbn": "~0.1.0", 3925 | "safer-buffer": "^2.0.2", 3926 | "tweetnacl": "~0.14.0" 3927 | }, 3928 | "dependencies": { 3929 | "assert-plus": { 3930 | "version": "1.0.0", 3931 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 3932 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 3933 | "dev": true 3934 | } 3935 | } 3936 | }, 3937 | "stack-utils": { 3938 | "version": "0.4.0", 3939 | "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-0.4.0.tgz", 3940 | "integrity": "sha1-lAy4L8z6hOj/Lz/fKT/ngBa+zNE=", 3941 | "dev": true 3942 | }, 3943 | "static-extend": { 3944 | "version": "0.1.2", 3945 | "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", 3946 | "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", 3947 | "dev": true, 3948 | "requires": { 3949 | "define-property": "^0.2.5", 3950 | "object-copy": "^0.1.0" 3951 | }, 3952 | "dependencies": { 3953 | "define-property": { 3954 | "version": "0.2.5", 3955 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 3956 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 3957 | "dev": true, 3958 | "requires": { 3959 | "is-descriptor": "^0.1.0" 3960 | } 3961 | } 3962 | } 3963 | }, 3964 | "string_decoder": { 3965 | "version": "0.10.31", 3966 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 3967 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", 3968 | "dev": true 3969 | }, 3970 | "stringstream": { 3971 | "version": "0.0.6", 3972 | "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", 3973 | "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", 3974 | "dev": true 3975 | }, 3976 | "strip-ansi": { 3977 | "version": "3.0.1", 3978 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 3979 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 3980 | "dev": true, 3981 | "requires": { 3982 | "ansi-regex": "^2.0.0" 3983 | } 3984 | }, 3985 | "strip-json-comments": { 3986 | "version": "1.0.4", 3987 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", 3988 | "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", 3989 | "dev": true 3990 | }, 3991 | "supports-color": { 3992 | "version": "7.2.0", 3993 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 3994 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 3995 | "dev": true, 3996 | "requires": { 3997 | "has-flag": "^4.0.0" 3998 | } 3999 | }, 4000 | "tap": { 4001 | "version": "7.1.2", 4002 | "resolved": "https://registry.npmjs.org/tap/-/tap-7.1.2.tgz", 4003 | "integrity": "sha1-36w+zxSshUe7rSW70Wzyw3Q/Zc8=", 4004 | "dev": true, 4005 | "requires": { 4006 | "bluebird": "^3.3.1", 4007 | "clean-yaml-object": "^0.1.0", 4008 | "color-support": "^1.1.0", 4009 | "coveralls": "^2.11.2", 4010 | "deeper": "^2.1.0", 4011 | "foreground-child": "^1.3.3", 4012 | "glob": "^7.0.0", 4013 | "isexe": "^1.0.0", 4014 | "js-yaml": "^3.3.1", 4015 | "nyc": "^7.1.0", 4016 | "only-shallow": "^1.0.2", 4017 | "opener": "^1.4.1", 4018 | "os-homedir": "1.0.1", 4019 | "readable-stream": "^2.0.2", 4020 | "signal-exit": "^3.0.0", 4021 | "stack-utils": "^0.4.0", 4022 | "tap-mocha-reporter": "^2.0.0", 4023 | "tap-parser": "^2.2.0", 4024 | "tmatch": "^2.0.1" 4025 | }, 4026 | "dependencies": { 4027 | "isexe": { 4028 | "version": "1.1.2", 4029 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz", 4030 | "integrity": "sha1-NvPiLmB1CSD15yQaR2qMakInWtA=", 4031 | "dev": true 4032 | }, 4033 | "os-homedir": { 4034 | "version": "1.0.1", 4035 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz", 4036 | "integrity": "sha1-DWK99EuRb9O73PLKsZGUj7CU8Ac=", 4037 | "dev": true 4038 | }, 4039 | "readable-stream": { 4040 | "version": "2.3.7", 4041 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", 4042 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", 4043 | "dev": true, 4044 | "requires": { 4045 | "core-util-is": "~1.0.0", 4046 | "inherits": "~2.0.3", 4047 | "isarray": "~1.0.0", 4048 | "process-nextick-args": "~2.0.0", 4049 | "safe-buffer": "~5.1.1", 4050 | "string_decoder": "~1.1.1", 4051 | "util-deprecate": "~1.0.1" 4052 | } 4053 | }, 4054 | "string_decoder": { 4055 | "version": "1.1.1", 4056 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 4057 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 4058 | "dev": true, 4059 | "requires": { 4060 | "safe-buffer": "~5.1.0" 4061 | } 4062 | } 4063 | } 4064 | }, 4065 | "tap-mocha-reporter": { 4066 | "version": "2.0.1", 4067 | "resolved": "https://registry.npmjs.org/tap-mocha-reporter/-/tap-mocha-reporter-2.0.1.tgz", 4068 | "integrity": "sha1-xwMWFz1uOhbFjhupLV1s2N5YoS4=", 4069 | "dev": true, 4070 | "requires": { 4071 | "color-support": "^1.1.0", 4072 | "debug": "^2.1.3", 4073 | "diff": "^1.3.2", 4074 | "escape-string-regexp": "^1.0.3", 4075 | "glob": "^7.0.5", 4076 | "js-yaml": "^3.3.1", 4077 | "readable-stream": "^2.1.5", 4078 | "tap-parser": "^2.0.0", 4079 | "unicode-length": "^1.0.0" 4080 | }, 4081 | "dependencies": { 4082 | "readable-stream": { 4083 | "version": "2.3.7", 4084 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", 4085 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", 4086 | "dev": true, 4087 | "optional": true, 4088 | "requires": { 4089 | "core-util-is": "~1.0.0", 4090 | "inherits": "~2.0.3", 4091 | "isarray": "~1.0.0", 4092 | "process-nextick-args": "~2.0.0", 4093 | "safe-buffer": "~5.1.1", 4094 | "string_decoder": "~1.1.1", 4095 | "util-deprecate": "~1.0.1" 4096 | } 4097 | }, 4098 | "string_decoder": { 4099 | "version": "1.1.1", 4100 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 4101 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 4102 | "dev": true, 4103 | "optional": true, 4104 | "requires": { 4105 | "safe-buffer": "~5.1.0" 4106 | } 4107 | } 4108 | } 4109 | }, 4110 | "tap-parser": { 4111 | "version": "2.2.3", 4112 | "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-2.2.3.tgz", 4113 | "integrity": "sha1-rebpbje/04zg8WLaBn80A08GiwE=", 4114 | "dev": true, 4115 | "requires": { 4116 | "events-to-array": "^1.0.1", 4117 | "js-yaml": "^3.2.7", 4118 | "readable-stream": "^2" 4119 | }, 4120 | "dependencies": { 4121 | "readable-stream": { 4122 | "version": "2.3.7", 4123 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", 4124 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", 4125 | "dev": true, 4126 | "optional": true, 4127 | "requires": { 4128 | "core-util-is": "~1.0.0", 4129 | "inherits": "~2.0.3", 4130 | "isarray": "~1.0.0", 4131 | "process-nextick-args": "~2.0.0", 4132 | "safe-buffer": "~5.1.1", 4133 | "string_decoder": "~1.1.1", 4134 | "util-deprecate": "~1.0.1" 4135 | } 4136 | }, 4137 | "string_decoder": { 4138 | "version": "1.1.1", 4139 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 4140 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 4141 | "dev": true, 4142 | "optional": true, 4143 | "requires": { 4144 | "safe-buffer": "~5.1.0" 4145 | } 4146 | } 4147 | } 4148 | }, 4149 | "tmatch": { 4150 | "version": "2.0.1", 4151 | "resolved": "https://registry.npmjs.org/tmatch/-/tmatch-2.0.1.tgz", 4152 | "integrity": "sha1-DFYkbzPzDaG409colauvFmYPOM8=", 4153 | "dev": true 4154 | }, 4155 | "to-object-path": { 4156 | "version": "0.3.0", 4157 | "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", 4158 | "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", 4159 | "dev": true, 4160 | "requires": { 4161 | "kind-of": "^3.0.2" 4162 | }, 4163 | "dependencies": { 4164 | "kind-of": { 4165 | "version": "3.2.2", 4166 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 4167 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 4168 | "dev": true, 4169 | "requires": { 4170 | "is-buffer": "^1.1.5" 4171 | } 4172 | } 4173 | } 4174 | }, 4175 | "to-regex": { 4176 | "version": "3.0.2", 4177 | "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", 4178 | "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", 4179 | "dev": true, 4180 | "requires": { 4181 | "define-property": "^2.0.2", 4182 | "extend-shallow": "^3.0.2", 4183 | "regex-not": "^1.0.2", 4184 | "safe-regex": "^1.1.0" 4185 | } 4186 | }, 4187 | "to-regex-range": { 4188 | "version": "2.1.1", 4189 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", 4190 | "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", 4191 | "dev": true, 4192 | "requires": { 4193 | "is-number": "^3.0.0", 4194 | "repeat-string": "^1.6.1" 4195 | } 4196 | }, 4197 | "tough-cookie": { 4198 | "version": "2.3.4", 4199 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", 4200 | "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", 4201 | "dev": true, 4202 | "requires": { 4203 | "punycode": "^1.4.1" 4204 | } 4205 | }, 4206 | "tunnel-agent": { 4207 | "version": "0.4.3", 4208 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", 4209 | "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", 4210 | "dev": true 4211 | }, 4212 | "tweetnacl": { 4213 | "version": "0.14.5", 4214 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 4215 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", 4216 | "dev": true 4217 | }, 4218 | "type-detect": { 4219 | "version": "0.1.1", 4220 | "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", 4221 | "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=", 4222 | "dev": true 4223 | }, 4224 | "unc-path-regex": { 4225 | "version": "0.1.2", 4226 | "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", 4227 | "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", 4228 | "dev": true 4229 | }, 4230 | "underscore": { 4231 | "version": "1.1.7", 4232 | "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz", 4233 | "integrity": "sha1-QLq4S60Z0jAJbo1u9ii/8FXYPbA=", 4234 | "dev": true 4235 | }, 4236 | "underscore.string": { 4237 | "version": "3.3.5", 4238 | "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz", 4239 | "integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==", 4240 | "dev": true, 4241 | "requires": { 4242 | "sprintf-js": "^1.0.3", 4243 | "util-deprecate": "^1.0.2" 4244 | } 4245 | }, 4246 | "unicode-length": { 4247 | "version": "1.0.3", 4248 | "resolved": "https://registry.npmjs.org/unicode-length/-/unicode-length-1.0.3.tgz", 4249 | "integrity": "sha1-Wtp6f+1RhBpBijKM8UlHisg1irs=", 4250 | "dev": true, 4251 | "requires": { 4252 | "punycode": "^1.3.2", 4253 | "strip-ansi": "^3.0.1" 4254 | } 4255 | }, 4256 | "union-value": { 4257 | "version": "1.0.1", 4258 | "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", 4259 | "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", 4260 | "dev": true, 4261 | "requires": { 4262 | "arr-union": "^3.1.0", 4263 | "get-value": "^2.0.6", 4264 | "is-extendable": "^0.1.1", 4265 | "set-value": "^2.0.1" 4266 | } 4267 | }, 4268 | "unset-value": { 4269 | "version": "1.0.0", 4270 | "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", 4271 | "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", 4272 | "dev": true, 4273 | "requires": { 4274 | "has-value": "^0.3.1", 4275 | "isobject": "^3.0.0" 4276 | }, 4277 | "dependencies": { 4278 | "has-value": { 4279 | "version": "0.3.1", 4280 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", 4281 | "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", 4282 | "dev": true, 4283 | "requires": { 4284 | "get-value": "^2.0.3", 4285 | "has-values": "^0.1.4", 4286 | "isobject": "^2.0.0" 4287 | }, 4288 | "dependencies": { 4289 | "isobject": { 4290 | "version": "2.1.0", 4291 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", 4292 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", 4293 | "dev": true, 4294 | "requires": { 4295 | "isarray": "1.0.0" 4296 | } 4297 | } 4298 | } 4299 | }, 4300 | "has-values": { 4301 | "version": "0.1.4", 4302 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", 4303 | "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", 4304 | "dev": true 4305 | } 4306 | } 4307 | }, 4308 | "urix": { 4309 | "version": "0.1.0", 4310 | "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", 4311 | "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", 4312 | "dev": true 4313 | }, 4314 | "use": { 4315 | "version": "3.1.1", 4316 | "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", 4317 | "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", 4318 | "dev": true 4319 | }, 4320 | "util-deprecate": { 4321 | "version": "1.0.2", 4322 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 4323 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 4324 | "dev": true 4325 | }, 4326 | "uuid": { 4327 | "version": "3.4.0", 4328 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", 4329 | "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", 4330 | "dev": true 4331 | }, 4332 | "v8flags": { 4333 | "version": "3.1.3", 4334 | "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz", 4335 | "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==", 4336 | "dev": true, 4337 | "requires": { 4338 | "homedir-polyfill": "^1.0.1" 4339 | } 4340 | }, 4341 | "verror": { 4342 | "version": "1.10.0", 4343 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 4344 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", 4345 | "dev": true, 4346 | "requires": { 4347 | "assert-plus": "^1.0.0", 4348 | "core-util-is": "1.0.2", 4349 | "extsprintf": "^1.2.0" 4350 | }, 4351 | "dependencies": { 4352 | "assert-plus": { 4353 | "version": "1.0.0", 4354 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 4355 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 4356 | "dev": true 4357 | } 4358 | } 4359 | }, 4360 | "which": { 4361 | "version": "1.3.1", 4362 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 4363 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 4364 | "dev": true, 4365 | "requires": { 4366 | "isexe": "^2.0.0" 4367 | } 4368 | }, 4369 | "wrappy": { 4370 | "version": "1.0.2", 4371 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 4372 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 4373 | "dev": true 4374 | }, 4375 | "xtend": { 4376 | "version": "4.0.2", 4377 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", 4378 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", 4379 | "dev": true 4380 | }, 4381 | "yallist": { 4382 | "version": "2.1.2", 4383 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", 4384 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", 4385 | "dev": true 4386 | } 4387 | } 4388 | } 4389 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "grunt-screeps", 3 | "description": "A Grunt plugin for committing code to your Screeps account", 4 | "version": "1.5.0", 5 | "homepage": "https://github.com/screeps/grunt-screeps", 6 | "author": "Artem Chivchalov (https://screeps.com)", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/screeps/grunt-screeps.git" 10 | }, 11 | "bugs": { 12 | "url": "https://github.com/screeps/grunt-screeps/issues" 13 | }, 14 | "licenses": [ 15 | { 16 | "type": "MIT", 17 | "url": "https://github.com/screeps/grunt-screeps/blob/master/LICENSE-MIT" 18 | } 19 | ], 20 | "engines": { 21 | "node": ">= 0.8.0" 22 | }, 23 | "scripts": { 24 | "test": "grunt test" 25 | }, 26 | "devDependencies": { 27 | "grunt": "^1.0.1", 28 | "grunt-contrib-clean": "^1.0.0", 29 | "grunt-contrib-jshint": "^1.1.0", 30 | "grunt-contrib-nodeunit": "^1.0.0", 31 | "nock": "^0.59.1", 32 | "nodeunit-httpclient": "^0.2.1" 33 | }, 34 | "peerDependencies": { 35 | "grunt": ">=0.4.0" 36 | }, 37 | "keywords": [ 38 | "gruntplugin" 39 | ], 40 | "main": "Gruntfile.js", 41 | "directories": { 42 | "test": "test" 43 | }, 44 | "dependencies": {}, 45 | "license": "MIT" 46 | } 47 | -------------------------------------------------------------------------------- /tasks/screeps.js: -------------------------------------------------------------------------------- 1 | /* 2 | * grunt-screeps 3 | * https://github.com/screeps/grunt-screeps 4 | * 5 | * Copyright (c) 2015 Artem Chivchalov 6 | * Licensed under the MIT license. 7 | */ 8 | 9 | 'use strict'; 10 | 11 | var path = require('path'), 12 | http = require('http'), 13 | https = require('https'), 14 | util = require('util'); 15 | 16 | var servers = { 17 | persistent: { name: 'Screeps', host: 'screeps.com', path: '/api/user/code' }, 18 | ptr: { name: 'PTR', host: 'screeps.com', path: '/ptr/api/user/code' }, 19 | season: { name: 'Season', host: 'screeps.com', path: '/season/api/user/code' } 20 | }; 21 | 22 | module.exports = function (grunt) { 23 | 24 | grunt.registerMultiTask('screeps', 'A Grunt plugin for commiting code to your Screeps account', function () { 25 | 26 | var options = this.options({}); 27 | 28 | var server = options.server || (options.ptr ? 'ptr' : 'persistent'); 29 | if(servers[server]) { 30 | server = servers[server]; 31 | } 32 | 33 | var modules = {}; 34 | 35 | var done = this.async(); 36 | 37 | this.files.forEach(function (f) { 38 | if (!f.src.length) { 39 | grunt.log.error('No files found. Stopping.'); 40 | done(); 41 | return; 42 | } 43 | 44 | f.src.filter(function (filepath) { 45 | if (!grunt.file.exists(filepath)) { 46 | grunt.log.warn('Source file "' + filepath + '" not found.'); 47 | return false; 48 | } else { 49 | return true; 50 | } 51 | }).map(function (filepath) { 52 | var basename = path.basename(filepath), 53 | ext = path.extname(basename), 54 | name = basename.replace(ext,''); 55 | 56 | if(ext === '.js') { 57 | modules[name] = grunt.file.read(filepath, {encoding: 'utf8'}); 58 | } 59 | else { 60 | modules[name] = {binary: grunt.file.read(filepath, {encoding: null}).toString('base64')}; 61 | } 62 | }); 63 | 64 | var requestOptions = { 65 | hostname: server.host || 'screeps.com', 66 | port: server.port || (server.http ? 80 : 443), 67 | path: server.path || '/api/user/code', 68 | method: 'POST', 69 | headers: { 70 | 'Content-Type': 'application/json; charset=utf-8' 71 | } 72 | }; 73 | if(options.token) { 74 | requestOptions.headers['X-Token'] = options.token; 75 | } else { 76 | requestOptions.auth = options.email + ':' + options.password; 77 | } 78 | var proto = server.http ? http : https, 79 | req = proto.request(requestOptions, function(res) { 80 | res.setEncoding('utf8'); 81 | 82 | var data = ''; 83 | 84 | if(res.statusCode < 200 || res.statusCode >= 300) { 85 | grunt.fail.fatal('Screeps server returned error code ' + res.statusCode); 86 | } 87 | 88 | res.on('data', function(chunk) { 89 | data += chunk; 90 | }); 91 | 92 | res.on('end', function() { 93 | var serverText = server && (server.name || server.host) || 'Screeps'; 94 | try { 95 | var parsed = JSON.parse(data); 96 | if(parsed.ok) { 97 | var msg = 'Committed to ' + serverText + ' account "' + options.email + '"'; 98 | if(options.branch) { 99 | msg += ' branch "' + options.branch+'"'; 100 | } 101 | msg += '.'; 102 | grunt.log.writeln(msg); 103 | } 104 | else { 105 | grunt.log.error('Error while committing to ' + serverText + ': '+util.inspect(parsed)); 106 | } 107 | } catch (e) { 108 | grunt.log.error('Error while processing ' + serverText + ' json: '+e.message); 109 | } 110 | done(); 111 | }); 112 | }); 113 | 114 | var postData = {modules: modules}; 115 | if(options.branch) { 116 | postData.branch = options.branch; 117 | } 118 | req.write(JSON.stringify(postData)); 119 | req.end(); 120 | }); 121 | }); 122 | 123 | }; 124 | -------------------------------------------------------------------------------- /test/fixtures/happy/hello.js: -------------------------------------------------------------------------------- 1 | console.log("Hello world!"); -------------------------------------------------------------------------------- /test/fixtures/happy/main.js: -------------------------------------------------------------------------------- 1 | require("hello"); -------------------------------------------------------------------------------- /test/fixtures/happy/native.wasm: -------------------------------------------------------------------------------- 1 | Native content -------------------------------------------------------------------------------- /test/screeps_empty_test.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var grunt = require('grunt'), 4 | nock = require('nock'), 5 | empty = nock('https://screeps.com') 6 | .post('/api/user/code', {"branch": "default", "modules":{}}) 7 | .reply(200, '{"ok":1}'); 8 | 9 | exports.screeps = { 10 | testEmpty: function (test) { 11 | test.expect(1); 12 | // Expect the mock to be pending, because we don't want to post an empty set of modules. 13 | test.equal(empty.pendingMocks().length, 1); 14 | test.done(); 15 | } 16 | }; 17 | -------------------------------------------------------------------------------- /test/screeps_test.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var grunt = require('grunt'), 4 | nock = require('nock'), 5 | happy = nock('https://screeps.com') 6 | .post( 7 | '/api/user/code', 8 | {"branch": "default", "modules":{ "hello":"console.log(\"Hello world!\");", "main":"require(\"hello\");", "native": {"binary": "TmF0aXZlIGNvbnRlbnQ=" } } } 9 | ) 10 | .reply(200, '{"ok":1}'); 11 | 12 | 13 | exports.screeps = { 14 | test: function (test) { 15 | test.expect(1); 16 | test.ok(happy.isDone()); 17 | test.done(); 18 | } 19 | }; 20 | --------------------------------------------------------------------------------