├── .eslintrc.yml ├── .gitignore ├── .npmignore ├── .travis.yml ├── CHANGELOG.md ├── LICENSE ├── Pipfile ├── Pipfile.lock ├── README.md ├── appveyor.yml ├── binding.gyp ├── docs └── README.hbs ├── example ├── index.html ├── main.js └── package.json ├── lib └── forcefocus.js ├── media └── forcefocus-example.gif ├── package-lock.json ├── package.json ├── scripts ├── prebuild-publish.bat └── prebuild-publish.sh └── src ├── bindings.cc ├── forcefocus.h ├── forcefocus_noop.cc └── forcefocus_win.cc /.eslintrc.yml: -------------------------------------------------------------------------------- 1 | env: 2 | browser: true 3 | commonjs: true 4 | es6: true 5 | node: true 6 | extends: 'eslint:recommended' 7 | rules: 8 | 9 | # Possible Errors 10 | 11 | comma-dangle: 12 | - error 13 | - never 14 | no-cond-assign: 15 | - off 16 | no-console: 17 | - off 18 | no-constant-condition: 19 | - error 20 | no-control-regex: 21 | - error 22 | no-debugger: 23 | - error 24 | no-dupe-args: 25 | - error 26 | no-dupe-keys: 27 | - error 28 | no-duplicate-case: 29 | - error 30 | no-empty: 31 | - error 32 | no-empty-character-class: 33 | - error 34 | no-ex-assign: 35 | - error 36 | no-extra-boolean-cast: 37 | - error 38 | no-extra-parens: 39 | - error 40 | no-extra-semi: 41 | - error 42 | no-func-assign: 43 | - error 44 | no-inner-declarations: 45 | - error 46 | - both 47 | no-invalid-regexp: 48 | - error 49 | no-irregular-whitespace: 50 | - error 51 | no-negated-in-lhs: 52 | - error 53 | no-obj-calls: 54 | - error 55 | no-prototype-builtins: 56 | - error 57 | no-regex-spaces: 58 | - error 59 | no-sparse-arrays: 60 | - error 61 | no-unexpected-multiline: 62 | - error 63 | no-unreachable: 64 | - error 65 | no-unsafe-finally: 66 | - error 67 | use-isnan: 68 | - error 69 | valid-jsdoc: 70 | - error 71 | - requireReturn: false 72 | requireReturnDescription: false 73 | valid-typeof: 74 | - error 75 | 76 | # Best Practices 77 | 78 | accessor-pairs: 79 | - error 80 | array-callback-return: 81 | - error 82 | block-scoped-var: 83 | - error 84 | complexity: 85 | - off 86 | curly: 87 | - error 88 | default-case: 89 | - error 90 | dot-location: 91 | - error 92 | - property 93 | dot-notation: 94 | - error 95 | eqeqeq: 96 | - 1 97 | guard-for-in: 98 | - error 99 | no-alert: 100 | - error 101 | no-caller: 102 | - error 103 | no-case-declarations: 104 | - error 105 | no-div-regex: 106 | - error 107 | no-else-return: 108 | - error 109 | no-empty-function: 110 | - error 111 | no-empty-pattern: 112 | - error 113 | no-eq-null: 114 | - off 115 | no-eval: 116 | - error 117 | no-extend-native: 118 | - error 119 | no-extra-bind: 120 | - error 121 | no-extra-label: 122 | - error 123 | no-fallthrough: 124 | - error 125 | no-floating-decimal: 126 | - error 127 | no-implicit-coercion: 128 | - error 129 | no-implicit-globals: 130 | - error 131 | no-implied-eval: 132 | - error 133 | no-iterator: 134 | - error 135 | no-labels: 136 | - error 137 | no-lone-blocks: 138 | - error 139 | no-loop-func: 140 | - error 141 | no-multi-spaces: 142 | - error 143 | no-multi-str: 144 | - error 145 | no-native-reassign: 146 | - error 147 | no-new: 148 | - error 149 | no-new-func: 150 | - error 151 | no-new-wrappers: 152 | - error 153 | no-octal: 154 | - error 155 | no-octal-escape: 156 | - error 157 | no-proto: 158 | - error 159 | no-redeclare: 160 | - error 161 | no-return-assign: 162 | - error 163 | no-script-url: 164 | - error 165 | no-self-assign: 166 | - error 167 | no-self-compare: 168 | - error 169 | no-sequences: 170 | - error 171 | no-throw-literal: 172 | - error 173 | no-unmodified-loop-condition: 174 | - error 175 | no-unused-labels: 176 | - error 177 | no-useless-call: 178 | - error 179 | no-useless-concat: 180 | - error 181 | no-useless-escape: 182 | - error 183 | no-void: 184 | - error 185 | no-warning-comments: 186 | - off 187 | no-with: 188 | - error 189 | radix: 190 | - error 191 | vars-on-top: 192 | - off 193 | wrap-iife: 194 | - error 195 | - outside 196 | yoda: 197 | - error 198 | 199 | # Strict mode 200 | 201 | strict: 202 | - error 203 | - global 204 | 205 | # Variables 206 | 207 | no-catch-shadow: 208 | - error 209 | no-delete-var: 210 | - error 211 | no-label-var: 212 | - error 213 | no-shadow: 214 | - error 215 | no-shadow-restricted-names: 216 | - error 217 | no-undef: 218 | - error 219 | no-undef-init: 220 | - error 221 | no-unused-vars: 222 | - error 223 | no-use-before-define: 224 | - error 225 | 226 | # NodeJS and CommonJS 227 | 228 | callback-return: 229 | - error 230 | global-require: 231 | - off 232 | handle-callback-err: 233 | - error 234 | no-mixed-requires: 235 | - error 236 | no-new-require: 237 | - error 238 | no-path-concat: 239 | - error 240 | no-process-env: 241 | - off 242 | no-process-exit: 243 | - off 244 | no-sync: 245 | - off 246 | 247 | # Stylistic Issues 248 | 249 | array-bracket-spacing: 250 | - error 251 | - always 252 | block-spacing: 253 | - error 254 | brace-style: 255 | - error 256 | - 1tbs 257 | camelcase: 258 | - error 259 | comma-spacing: 260 | - error 261 | - before: false 262 | after: true 263 | comma-style: 264 | - error 265 | - last 266 | computed-property-spacing: 267 | - error 268 | - never 269 | consistent-this: 270 | - error 271 | - self 272 | eol-last: 273 | - error 274 | func-style: 275 | - error 276 | - expression 277 | id-blacklist: 278 | - error 279 | indent: 280 | - error 281 | - 2 282 | - SwitchCase: 1 283 | key-spacing: 284 | - error 285 | - beforeColon: false 286 | afterColon: true 287 | mode: strict 288 | keyword-spacing: 289 | - error 290 | - before: true 291 | after: true 292 | linebreak-style: 293 | - error 294 | - unix 295 | lines-around-comment: 296 | - error 297 | - beforeBlockComment: true 298 | afterBlockComment: false 299 | beforeLineComment: true 300 | afterLineComment: false 301 | allowBlockStart: true 302 | allowBlockEnd: false 303 | allowObjectStart: true 304 | allowObjectEnd: false 305 | allowArrayStart: true 306 | allowArrayEnd: false 307 | max-len: 308 | - error 309 | - code: 130 310 | comments: 150 311 | ignoreComments: false 312 | ignoreTrailingComments: false 313 | ignoreUrls: true 314 | max-statements-per-line: 315 | - error 316 | - max: 1 317 | new-parens: 318 | - error 319 | no-array-constructor: 320 | - error 321 | no-bitwise: 322 | - error 323 | no-continue: 324 | - error 325 | no-inline-comments: 326 | - error 327 | no-mixed-operators: 328 | - off 329 | no-mixed-spaces-and-tabs: 330 | - error 331 | no-multiple-empty-lines: 332 | - error 333 | - max: 1 334 | maxEOF: 1 335 | maxBOF: 0 336 | no-negated-condition: 337 | - error 338 | no-nested-ternary: 339 | - error 340 | no-new-object: 341 | - error 342 | no-plusplus: 343 | - error 344 | no-spaced-func: 345 | - error 346 | no-trailing-spaces: 347 | - error 348 | no-underscore-dangle: 349 | - error 350 | - allowAfterThis: false 351 | no-unneeded-ternary: 352 | - error 353 | no-whitespace-before-property: 354 | - error 355 | object-curly-newline: 356 | - error 357 | - minProperties: 1 358 | object-curly-spacing: 359 | - error 360 | - always 361 | object-property-newline: 362 | - error 363 | one-var: 364 | - error 365 | - never 366 | operator-assignment: 367 | - error 368 | - always 369 | operator-linebreak: 370 | - error 371 | - before 372 | quote-props: 373 | - error 374 | - as-needed 375 | quotes: 376 | - error 377 | - single 378 | require-jsdoc: 379 | - error 380 | - require: 381 | FunctionDeclaration: true 382 | ClassDeclaration: true 383 | MethodDefinition: true 384 | semi: 385 | - error 386 | - always 387 | semi-spacing: 388 | - error 389 | - before: false 390 | after: true 391 | space-before-blocks: 392 | - error 393 | space-before-function-paren: 394 | - error 395 | - never 396 | space-in-parens: 397 | - error 398 | - never 399 | space-infix-ops: 400 | - error 401 | spaced-comment: 402 | - error 403 | - always 404 | unicode-bom: 405 | - error 406 | 407 | # ECMAScript 6 408 | 409 | arrow-body-style: 410 | - error 411 | - always 412 | arrow-parens: 413 | - error 414 | - always 415 | arrow-spacing: 416 | - error 417 | - before: true 418 | after: true 419 | constructor-super: 420 | - error 421 | generator-star-spacing: 422 | - error 423 | - before: true 424 | after: false 425 | no-class-assign: 426 | - error 427 | no-confusing-arrow: 428 | - error 429 | no-const-assign: 430 | - error 431 | no-dupe-class-members: 432 | - error 433 | no-duplicate-imports: 434 | - error 435 | no-new-symbol: 436 | - error 437 | no-this-before-super: 438 | - error 439 | no-useless-computed-key: 440 | - error 441 | no-useless-constructor: 442 | - error 443 | no-useless-rename: 444 | - error 445 | no-var: 446 | - error 447 | prefer-const: 448 | - error 449 | prefer-reflect: 450 | - error 451 | prefer-spread: 452 | - error 453 | require-yield: 454 | - error 455 | rest-spread-spacing: 456 | - error 457 | template-curly-spacing: 458 | - error 459 | - never 460 | yield-star-spacing: 461 | - error 462 | - before: true 463 | after: false 464 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | *.pid.lock 13 | 14 | # Directory for instrumented libs generated by jscoverage/JSCover 15 | lib-cov 16 | 17 | # Coverage directory used by tools like istanbul 18 | coverage 19 | 20 | # nyc test coverage 21 | .nyc_output 22 | 23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 24 | .grunt 25 | 26 | # Bower dependency directory (https://bower.io/) 27 | bower_components 28 | 29 | # node-waf configuration 30 | .lock-wscript 31 | 32 | # Compiled binary addons (https://nodejs.org/api/addons.html) 33 | build 34 | bin 35 | 36 | # Dependency directories 37 | node_modules/ 38 | jspm_packages/ 39 | 40 | # TypeScript v1 declaration files 41 | typings/ 42 | 43 | # Optional npm cache directory 44 | .npm 45 | 46 | # Optional eslint cache 47 | .eslintcache 48 | 49 | # Optional REPL history 50 | .node_repl_history 51 | 52 | # Output of 'npm pack' 53 | *.tgz 54 | 55 | # Yarn Integrity file 56 | .yarn-integrity 57 | 58 | # dotenv environment variables file 59 | .env 60 | 61 | # parcel-bundler cache (https://parceljs.org/) 62 | .cache 63 | 64 | # next.js build output 65 | .next 66 | 67 | # nuxt.js build output 68 | .nuxt 69 | 70 | # vuepress build output 71 | .vuepress/dist 72 | 73 | # Serverless directories 74 | .serverless 75 | 76 | # Prebuilds generated by prebuild 77 | prebuilds/ -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | bin 2 | build 3 | docs 4 | example 5 | prebuilds 6 | scripts 7 | media -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - node 4 | - lts/* 5 | - 14 6 | - 13 7 | - 12 8 | - 11 9 | - 10 10 | - 8 11 | - 6 12 | - 4 13 | os: 14 | - linux 15 | - osx 16 | before_install: 17 | - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then pip install --user cpplint; fi 18 | - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then pip2 install cpplint; fi 19 | script: 20 | - npm run lint 21 | compiler: clang-4.0 22 | env: 23 | global: 24 | - CCACHE_TEMPDIR=/tmp/.ccache-temp 25 | - CCACHE_COMPRESS=1 26 | - CC="clang" 27 | - CXX="clang++" 28 | addons: 29 | apt: 30 | sources: 31 | - ubuntu-toolchain-r-test 32 | packages: 33 | - libstdc++-5-dev 34 | notifications: 35 | email: false 36 | deploy: 37 | skip_cleanup: true 38 | provider: script 39 | script: ./scripts/prebuild-publish.sh 40 | on: 41 | # tags: true 42 | branch: master 43 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | All notable changes to this project will be documented in this file. 3 | 4 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), 5 | and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 6 | 7 | ## [Unreleased] 8 | 9 | ## [v1.0.0] - 2018-08-16 10 | ### Added 11 | - Initial stable release of the module 12 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | 2 | Apache License 3 | Version 2.0, January 2004 4 | http://www.apache.org/licenses/ 5 | 6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 7 | 8 | 1. Definitions. 9 | 10 | "License" shall mean the terms and conditions for use, reproduction, 11 | and distribution as defined by Sections 1 through 9 of this document. 12 | 13 | "Licensor" shall mean the copyright owner or entity authorized by 14 | the copyright owner that is granting the License. 15 | 16 | "Legal Entity" shall mean the union of the acting entity and all 17 | other entities that control, are controlled by, or are under common 18 | control with that entity. For the purposes of this definition, 19 | "control" means (i) the power, direct or indirect, to cause the 20 | direction or management of such entity, whether by contract or 21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 22 | outstanding shares, or (iii) beneficial ownership of such entity. 23 | 24 | "You" (or "Your") shall mean an individual or Legal Entity 25 | exercising permissions granted by this License. 26 | 27 | "Source" form shall mean the preferred form for making modifications, 28 | including but not limited to software source code, documentation 29 | source, and configuration files. 30 | 31 | "Object" form shall mean any form resulting from mechanical 32 | transformation or translation of a Source form, including but 33 | not limited to compiled object code, generated documentation, 34 | and conversions to other media types. 35 | 36 | "Work" shall mean the work of authorship, whether in Source or 37 | Object form, made available under the License, as indicated by a 38 | copyright notice that is included in or attached to the work 39 | (an example is provided in the Appendix below). 40 | 41 | "Derivative Works" shall mean any work, whether in Source or Object 42 | form, that is based on (or derived from) the Work and for which the 43 | editorial revisions, annotations, elaborations, or other modifications 44 | represent, as a whole, an original work of authorship. For the purposes 45 | of this License, Derivative Works shall not include works that remain 46 | separable from, or merely link (or bind by name) to the interfaces of, 47 | the Work and Derivative Works thereof. 48 | 49 | "Contribution" shall mean any work of authorship, including 50 | the original version of the Work and any modifications or additions 51 | to that Work or Derivative Works thereof, that is intentionally 52 | submitted to Licensor for inclusion in the Work by the copyright owner 53 | or by an individual or Legal Entity authorized to submit on behalf of 54 | the copyright owner. For the purposes of this definition, "submitted" 55 | means any form of electronic, verbal, or written communication sent 56 | to the Licensor or its representatives, including but not limited to 57 | communication on electronic mailing lists, source code control systems, 58 | and issue tracking systems that are managed by, or on behalf of, the 59 | Licensor for the purpose of discussing and improving the Work, but 60 | excluding communication that is conspicuously marked or otherwise 61 | designated in writing by the copyright owner as "Not a Contribution." 62 | 63 | "Contributor" shall mean Licensor and any individual or Legal Entity 64 | on behalf of whom a Contribution has been received by Licensor and 65 | subsequently incorporated within the Work. 66 | 67 | 2. Grant of Copyright License. Subject to the terms and conditions of 68 | this License, each Contributor hereby grants to You a perpetual, 69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 70 | copyright license to reproduce, prepare Derivative Works of, 71 | publicly display, publicly perform, sublicense, and distribute the 72 | Work and such Derivative Works in Source or Object form. 73 | 74 | 3. Grant of Patent License. Subject to the terms and conditions of 75 | this License, each Contributor hereby grants to You a perpetual, 76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 77 | (except as stated in this section) patent license to make, have made, 78 | use, offer to sell, sell, import, and otherwise transfer the Work, 79 | where such license applies only to those patent claims licensable 80 | by such Contributor that are necessarily infringed by their 81 | Contribution(s) alone or by combination of their Contribution(s) 82 | with the Work to which such Contribution(s) was submitted. If You 83 | institute patent litigation against any entity (including a 84 | cross-claim or counterclaim in a lawsuit) alleging that the Work 85 | or a Contribution incorporated within the Work constitutes direct 86 | or contributory patent infringement, then any patent licenses 87 | granted to You under this License for that Work shall terminate 88 | as of the date such litigation is filed. 89 | 90 | 4. Redistribution. You may reproduce and distribute copies of the 91 | Work or Derivative Works thereof in any medium, with or without 92 | modifications, and in Source or Object form, provided that You 93 | meet the following conditions: 94 | 95 | (a) You must give any other recipients of the Work or 96 | Derivative Works a copy of this License; and 97 | 98 | (b) You must cause any modified files to carry prominent notices 99 | stating that You changed the files; and 100 | 101 | (c) You must retain, in the Source form of any Derivative Works 102 | that You distribute, all copyright, patent, trademark, and 103 | attribution notices from the Source form of the Work, 104 | excluding those notices that do not pertain to any part of 105 | the Derivative Works; and 106 | 107 | (d) If the Work includes a "NOTICE" text file as part of its 108 | distribution, then any Derivative Works that You distribute must 109 | include a readable copy of the attribution notices contained 110 | within such NOTICE file, excluding those notices that do not 111 | pertain to any part of the Derivative Works, in at least one 112 | of the following places: within a NOTICE text file distributed 113 | as part of the Derivative Works; within the Source form or 114 | documentation, if provided along with the Derivative Works; or, 115 | within a display generated by the Derivative Works, if and 116 | wherever such third-party notices normally appear. The contents 117 | of the NOTICE file are for informational purposes only and 118 | do not modify the License. You may add Your own attribution 119 | notices within Derivative Works that You distribute, alongside 120 | or as an addendum to the NOTICE text from the Work, provided 121 | that such additional attribution notices cannot be construed 122 | as modifying the License. 123 | 124 | You may add Your own copyright statement to Your modifications and 125 | may provide additional or different license terms and conditions 126 | for use, reproduction, or distribution of Your modifications, or 127 | for any such Derivative Works as a whole, provided Your use, 128 | reproduction, and distribution of the Work otherwise complies with 129 | the conditions stated in this License. 130 | 131 | 5. Submission of Contributions. Unless You explicitly state otherwise, 132 | any Contribution intentionally submitted for inclusion in the Work 133 | by You to the Licensor shall be under the terms and conditions of 134 | this License, without any additional terms or conditions. 135 | Notwithstanding the above, nothing herein shall supersede or modify 136 | the terms of any separate license agreement you may have executed 137 | with Licensor regarding such Contributions. 138 | 139 | 6. Trademarks. This License does not grant permission to use the trade 140 | names, trademarks, service marks, or product names of the Licensor, 141 | except as required for reasonable and customary use in describing the 142 | origin of the Work and reproducing the content of the NOTICE file. 143 | 144 | 7. Disclaimer of Warranty. Unless required by applicable law or 145 | agreed to in writing, Licensor provides the Work (and each 146 | Contributor provides its Contributions) on an "AS IS" BASIS, 147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 148 | implied, including, without limitation, any warranties or conditions 149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 150 | PARTICULAR PURPOSE. You are solely responsible for determining the 151 | appropriateness of using or redistributing the Work and assume any 152 | risks associated with Your exercise of permissions under this License. 153 | 154 | 8. Limitation of Liability. In no event and under no legal theory, 155 | whether in tort (including negligence), contract, or otherwise, 156 | unless required by applicable law (such as deliberate and grossly 157 | negligent acts) or agreed to in writing, shall any Contributor be 158 | liable to You for damages, including any direct, indirect, special, 159 | incidental, or consequential damages of any character arising as a 160 | result of this License or out of the use or inability to use the 161 | Work (including but not limited to damages for loss of goodwill, 162 | work stoppage, computer failure or malfunction, or any and all 163 | other commercial damages or losses), even if such Contributor 164 | has been advised of the possibility of such damages. 165 | 166 | 9. Accepting Warranty or Additional Liability. While redistributing 167 | the Work or Derivative Works thereof, You may choose to offer, 168 | and charge a fee for, acceptance of support, warranty, indemnity, 169 | or other liability obligations and/or rights consistent with this 170 | License. However, in accepting such obligations, You may act only 171 | on Your own behalf and on Your sole responsibility, not on behalf 172 | of any other Contributor, and only if You agree to indemnify, 173 | defend, and hold each Contributor harmless for any liability 174 | incurred by, or claims asserted against, such Contributor by reason 175 | of your accepting any such warranty or additional liability. 176 | 177 | END OF TERMS AND CONDITIONS 178 | 179 | APPENDIX: How to apply the Apache License to your work. 180 | 181 | To apply the Apache License to your work, attach the following 182 | boilerplate notice, with the fields enclosed by brackets "[]" 183 | replaced with your own identifying information. (Don't include 184 | the brackets!) The text should be enclosed in the appropriate 185 | comment syntax for the file format. We also recommend that a 186 | file or class name and description of purpose be included on the 187 | same "printed page" as the copyright notice for easier 188 | identification within third-party archives. 189 | 190 | Copyright [yyyy] [name of copyright owner] 191 | 192 | Licensed under the Apache License, Version 2.0 (the "License"); 193 | you may not use this file except in compliance with the License. 194 | You may obtain a copy of the License at 195 | 196 | http://www.apache.org/licenses/LICENSE-2.0 197 | 198 | Unless required by applicable law or agreed to in writing, software 199 | distributed under the License is distributed on an "AS IS" BASIS, 200 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 201 | See the License for the specific language governing permissions and 202 | limitations under the License. 203 | -------------------------------------------------------------------------------- /Pipfile: -------------------------------------------------------------------------------- 1 | [[source]] 2 | url = "https://pypi.org/simple" 3 | verify_ssl = true 4 | name = "pypi" 5 | 6 | [packages] 7 | cpplint = "*" 8 | 9 | [dev-packages] 10 | 11 | [requires] 12 | python_version = "2.7" 13 | -------------------------------------------------------------------------------- /Pipfile.lock: -------------------------------------------------------------------------------- 1 | { 2 | "_meta": { 3 | "hash": { 4 | "sha256": "98c4c8847644048caf9cc94272f4996cff82873c0478189712522ea1eca448e0" 5 | }, 6 | "pipfile-spec": 6, 7 | "requires": { 8 | "python_version": "2.7" 9 | }, 10 | "sources": [ 11 | { 12 | "name": "pypi", 13 | "url": "https://pypi.org/simple", 14 | "verify_ssl": true 15 | } 16 | ] 17 | }, 18 | "default": { 19 | "cpplint": { 20 | "hashes": [ 21 | "sha256:6876139c3944c6dc84cc9095b6c4be3c5397b534b0c00230ba59c4b893936719" 22 | ], 23 | "index": "pypi", 24 | "version": "==1.3.0" 25 | } 26 | }, 27 | "develop": {} 28 | } 29 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | forcefocus 4 | ========= 5 | 6 | > Node module that allows you to steal focus from other windows in Windows. 7 | 8 | [![npm](https://img.shields.io/npm/dw/forcefocus.svg)](https://npmjs.com/package/forcefocus) 9 | [![NpmVersion](https://img.shields.io/npm/v/forcefocus.svg)](https://npmjs.com/package/forcefocus) 10 | [![NpmLicense](https://img.shields.io/npm/l/forcefocus.svg)](https://npmjs.com/package/forcefocus) 11 | [![AppVeyor branch](https://img.shields.io/appveyor/ci/robinwassen/forcefocus/master.svg?logo=appveyor)](https://ci.appveyor.com/project/robinwassen/forcefocus) 12 | [![Travis (.org) branch](https://img.shields.io/travis/robinwassen/forcefocus/master.svg?logo=travis)](https://travis-ci.org/robinwassen/forcefocus) 13 | 14 | Microsoft changed the implementation of [SetFocus()](https://msdn.microsoft.com/en-us/library/windows/desktop/ms646312(v=vs.85).aspx) to only allow an app to grant focus to other windows if it currenly holds the focus. If an app that does not have the focus tries to take it, the taskbar will just flash rather than focusing the window. These changes was probably done to improve the user experience, so users would not be disturbed by the focused application suddenly switching. 15 | 16 | This module circumvents the restrictions in SetFocus() and allows any window to steal the focus. 17 | 18 | It reuses the Electron built-in focus on other platforms. 19 | 20 | Installation 21 | ------------ 22 | 23 | Install `forcefocus` by running: 24 | 25 | ```sh 26 | $ npm install --save forcefocus 27 | ``` 28 | 29 | Native binaries for win, mac and linux are prebuilt and downloaded when the module is installed. 30 | 31 | Documentation 32 | ------------- 33 | 34 | 35 | 36 | ### forcefocus.focusWindow(window) 37 | **Kind**: static method of [forcefocus](#module_forcefocus) 38 | **Summary**: Force focus on a Window 39 | **Access**: public 40 | 41 | | Param | Type | Description | 42 | | --- | --- | --- | 43 | | window | BrowserWindow | Window to focus | 44 | 45 | **Example** 46 | ```js 47 | const forceFocus = require('forcefocus'); 48 | const currentWindow = require('electron').remote.getCurrentWindow(); 49 | 50 | forceFocus.focusWindow(currentWindow); 51 | ``` 52 | 53 | Example application 54 | ------------- 55 | 56 | ![Example application gif](./media/forcefocus-example.gif) 57 | 58 | An example application is located in the `/example/` dir, start it by running: 59 | 60 | ```sh 61 | $ npm run example 62 | ``` 63 | 64 | Contribute 65 | ---------- 66 | 67 | Feel free to contribute to this module. 68 | 69 | Before submitting a PR, please make sure that the linter runs without any warning: 70 | 71 | ```sh 72 | $ npm run lint 73 | ``` 74 | 75 | License 76 | ------- 77 | 78 | The project is licensed under the Apache 2.0 license. 79 | -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | # appveyor file 2 | # http://www.appveyor.com/docs/appveyor-yml 3 | image: 4 | - Visual Studio 2017 5 | 6 | init: 7 | - git config --global core.autocrlf input 8 | 9 | cache: 10 | - C:\Users\appveyor\.node-gyp 11 | - '%AppData%\npm-cache' 12 | 13 | environment: 14 | GITHUB_TOKEN: 15 | secure: iQXcHhlAhOoAKKIv5BqpJ22BPSNsqvHHdZ240IieB2WHA42sHELabjFDsxoT3iap 16 | 17 | matrix: 18 | - nodejs_version: 14 19 | - nodejs_version: 13 20 | - nodejs_version: 12 21 | - nodejs_version: 11 22 | - nodejs_version: 10 23 | - nodejs_version: 8 24 | - nodejs_version: 6 25 | - nodejs_version: 4 26 | 27 | platform: 28 | - x86 29 | - x64 30 | 31 | install: 32 | - pip install cpplint 33 | - ps: Install-Product node $env:nodejs_version x64 34 | - npm install 35 | 36 | build: off 37 | 38 | test_script: 39 | - node --version 40 | - npm --version 41 | - cmd: npm run lint 42 | 43 | deploy_script: 44 | - scripts\prebuild-publish.bat %nodejs_version% 45 | -------------------------------------------------------------------------------- /binding.gyp: -------------------------------------------------------------------------------- 1 | { 2 | "targets": [ 3 | { 4 | "target_name": "forcefocus", 5 | "sources": [ 6 | "src/bindings.cc" 7 | ], 8 | "conditions": [ 9 | [ 10 | "OS==\"win\"", 11 | { 12 | "sources": ["src/forcefocus_win.cc"] 13 | } 14 | ], 15 | [ 16 | "OS!=\"win\"", 17 | { 18 | "sources": ["src/forcefocus_noop.cc"] 19 | } 20 | ] 21 | ] 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /docs/README.hbs: -------------------------------------------------------------------------------- 1 | 2 | 3 | forcefocus 4 | ========= 5 | 6 | > Node module that allows you to steal focus from other windows in Windows. 7 | 8 | [![npm](https://img.shields.io/npm/dw/forcefocus.svg)](https://npmjs.com/package/forcefocus) 9 | [![NpmVersion](https://img.shields.io/npm/v/forcefocus.svg)](https://npmjs.com/package/forcefocus) 10 | [![NpmLicense](https://img.shields.io/npm/l/forcefocus.svg)](https://npmjs.com/package/forcefocus) 11 | [![AppVeyor branch](https://img.shields.io/appveyor/ci/robinwassen/forcefocus/master.svg?logo=appveyor)](https://ci.appveyor.com/project/robinwassen/forcefocus) 12 | [![Travis (.org) branch](https://img.shields.io/travis/robinwassen/forcefocus/master.svg?logo=travis)](https://travis-ci.org/robinwassen/forcefocus) 13 | 14 | Microsoft changed the implementation of [SetFocus()](https://msdn.microsoft.com/en-us/library/windows/desktop/ms646312(v=vs.85).aspx) to only allow an app to grant focus to other windows if it currenly holds the focus. If an app that does not have the focus tries to take it, the taskbar will just flash rather than focusing the window. These changes was probably done to improve the user experience, so users would not be disturbed by the focused application suddenly switching. 15 | 16 | This module circumvents the restrictions in SetFocus() and allows any window to steal the focus. 17 | 18 | It reuses the Electron built-in focus on other platforms. 19 | 20 | Installation 21 | ------------ 22 | 23 | Install `forcefocus` by running: 24 | 25 | ```sh 26 | $ npm install --save forcefocus 27 | ``` 28 | 29 | Native binaries for win, mac and linux are prebuilt and downloaded when the module is installed. 30 | 31 | Documentation 32 | ------------- 33 | 34 | {{#module name="forcefocus"}} 35 | {{>body~}} 36 | {{>member-index~}} 37 | {{>separator~}} 38 | {{>members~}} 39 | {{/module}} 40 | 41 | Example application 42 | ------------- 43 | 44 | ![Example application gif](./media/forcefocus-example.gif) 45 | 46 | An example application is located in the `/example/` dir, start it by running: 47 | 48 | ```sh 49 | $ npm run example 50 | ``` 51 | 52 | Contribute 53 | ---------- 54 | 55 | Feel free to contribute to this module. 56 | 57 | Before submitting a PR, please make sure that the linter runs without any warning: 58 | 59 | ```sh 60 | $ npm run lint 61 | ``` 62 | 63 | License 64 | ------- 65 | 66 | The project is licensed under the Apache 2.0 license. 67 | -------------------------------------------------------------------------------- /example/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | forcefocus example 6 | 52 | 53 | 54 |

forcefocus example

55 |
56 | 57 |

58 |
59 | 60 |

Input field

61 |

Test that field focus is regained when the application is focused, if it had focus when the window was blurred.

62 | 63 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /example/main.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const electron = require('electron'); 4 | const app = electron.app; 5 | const BrowserWindow = electron.BrowserWindow; 6 | 7 | let mainWindow; 8 | 9 | /** 10 | * @summary Creates the main window 11 | * @function 12 | * @public 13 | * 14 | */ 15 | const createWindow = function() { 16 | const windowProperties = { 17 | width: 800, 18 | height: 600 19 | }; 20 | 21 | mainWindow = new BrowserWindow(windowProperties); 22 | mainWindow.loadFile('index.html'); 23 | 24 | mainWindow.on('closed', function() { 25 | mainWindow = null; 26 | }); 27 | }; 28 | 29 | app.on('ready', createWindow); 30 | 31 | app.on('window-all-closed', function() { 32 | if (process.platform !== 'darwin') { 33 | app.quit(); 34 | } 35 | }); 36 | 37 | app.on('activate', function() { 38 | if (mainWindow === null) { 39 | createWindow(); 40 | } 41 | }); 42 | -------------------------------------------------------------------------------- /example/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "force-focus-example", 3 | "version": "1.0.0", 4 | "description": "An example application to demonstrate force focus", 5 | "main": "main.js" 6 | } 7 | -------------------------------------------------------------------------------- /lib/forcefocus.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 Robin Andersson 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * @module forcefocus 19 | */ 20 | 21 | 'use strict'; 22 | 23 | const os = require('os'); 24 | const bindings = require('bindings'); 25 | 26 | /** 27 | * @summary Force focus on a Window 28 | * @function 29 | * @public 30 | * 31 | * @param {BrowserWindow} window - Window to focus 32 | * 33 | * @example 34 | * const forceFocus = require('forcefocus'); 35 | * const currentWindow = require('electron').remote.getCurrentWindow(); 36 | * 37 | * forceFocus.focusWindow(currentWindow); 38 | */ 39 | exports.focusWindow = function focusWindow(window) { 40 | switch (os.platform()) { 41 | case 'win32': 42 | bindings('forcefocus').focusWindow(window.getNativeWindowHandle()); 43 | break; 44 | default: 45 | window.focus(); 46 | break; 47 | } 48 | }; 49 | -------------------------------------------------------------------------------- /media/forcefocus-example.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robinwassen/forcefocus/ca22053b8a915ce5a90975062d9ec4a8f02d25b1/media/forcefocus-example.gif -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "forcefocus", 3 | "version": "1.1.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@types/node": { 8 | "version": "8.10.28", 9 | "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.28.tgz", 10 | "integrity": "sha512-iHsAzDg3OLH7JP+wipniUULHoDSWLgEDYOvsar6/mpAkTJd9/n23Ap8ikruMlvRTqMv/LXrflH9v/AfiEqaBGg==", 11 | "dev": true 12 | }, 13 | "abbrev": { 14 | "version": "1.1.1", 15 | "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", 16 | "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", 17 | "dev": true 18 | }, 19 | "acorn": { 20 | "version": "5.7.1", 21 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", 22 | "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==", 23 | "dev": true 24 | }, 25 | "acorn-jsx": { 26 | "version": "3.0.1", 27 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", 28 | "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", 29 | "dev": true, 30 | "requires": { 31 | "acorn": "^3.0.4" 32 | }, 33 | "dependencies": { 34 | "acorn": { 35 | "version": "3.3.0", 36 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", 37 | "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", 38 | "dev": true 39 | } 40 | } 41 | }, 42 | "after": { 43 | "version": "0.8.2", 44 | "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", 45 | "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", 46 | "dev": true 47 | }, 48 | "ajv": { 49 | "version": "5.5.2", 50 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", 51 | "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", 52 | "dev": true, 53 | "requires": { 54 | "co": "^4.6.0", 55 | "fast-deep-equal": "^1.0.0", 56 | "fast-json-stable-stringify": "^2.0.0", 57 | "json-schema-traverse": "^0.3.0" 58 | } 59 | }, 60 | "ajv-keywords": { 61 | "version": "2.1.1", 62 | "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", 63 | "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", 64 | "dev": true 65 | }, 66 | "amdefine": { 67 | "version": "1.0.1", 68 | "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", 69 | "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", 70 | "dev": true 71 | }, 72 | "ansi": { 73 | "version": "0.3.1", 74 | "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", 75 | "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=", 76 | "dev": true 77 | }, 78 | "ansi-escape-sequences": { 79 | "version": "4.0.0", 80 | "resolved": "https://registry.npmjs.org/ansi-escape-sequences/-/ansi-escape-sequences-4.0.0.tgz", 81 | "integrity": "sha512-v+0wW9Wezwsyb0uF4aBVCjmSqit3Ru7PZFziGF0o2KwTvN2zWfTi3BRLq9EkJFdg3eBbyERXGTntVpBxH1J68Q==", 82 | "dev": true, 83 | "requires": { 84 | "array-back": "^2.0.0" 85 | } 86 | }, 87 | "ansi-escapes": { 88 | "version": "3.1.0", 89 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", 90 | "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", 91 | "dev": true 92 | }, 93 | "ansi-regex": { 94 | "version": "2.1.1", 95 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 96 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" 97 | }, 98 | "ansi-styles": { 99 | "version": "2.2.1", 100 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 101 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 102 | "dev": true 103 | }, 104 | "aproba": { 105 | "version": "1.2.0", 106 | "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", 107 | "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" 108 | }, 109 | "are-we-there-yet": { 110 | "version": "1.1.5", 111 | "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", 112 | "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", 113 | "requires": { 114 | "delegates": "^1.0.0", 115 | "readable-stream": "^2.0.6" 116 | } 117 | }, 118 | "argparse": { 119 | "version": "1.0.10", 120 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 121 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 122 | "dev": true, 123 | "requires": { 124 | "sprintf-js": "~1.0.2" 125 | } 126 | }, 127 | "argv-tools": { 128 | "version": "0.1.1", 129 | "resolved": "https://registry.npmjs.org/argv-tools/-/argv-tools-0.1.1.tgz", 130 | "integrity": "sha512-Cc0dBvx4dvrjjKpyDA6w8RlNAw8Su30NvZbWl/Tv9ZALEVlLVkWQiHMi84Q0xNfpVuSaiQbYkdmWK8g1PLGhKw==", 131 | "dev": true, 132 | "requires": { 133 | "array-back": "^2.0.0", 134 | "find-replace": "^2.0.1" 135 | } 136 | }, 137 | "array-back": { 138 | "version": "2.0.0", 139 | "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", 140 | "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", 141 | "dev": true, 142 | "requires": { 143 | "typical": "^2.6.1" 144 | } 145 | }, 146 | "array-find-index": { 147 | "version": "1.0.2", 148 | "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", 149 | "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", 150 | "dev": true 151 | }, 152 | "array-index": { 153 | "version": "1.0.0", 154 | "resolved": "https://registry.npmjs.org/array-index/-/array-index-1.0.0.tgz", 155 | "integrity": "sha1-7FanSe4QPk4Ix5C5w1PfFgVbl/k=", 156 | "dev": true, 157 | "requires": { 158 | "debug": "^2.2.0", 159 | "es6-symbol": "^3.0.2" 160 | }, 161 | "dependencies": { 162 | "debug": { 163 | "version": "2.6.9", 164 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 165 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 166 | "dev": true, 167 | "requires": { 168 | "ms": "2.0.0" 169 | } 170 | } 171 | } 172 | }, 173 | "array-union": { 174 | "version": "1.0.2", 175 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", 176 | "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", 177 | "dev": true, 178 | "requires": { 179 | "array-uniq": "^1.0.1" 180 | } 181 | }, 182 | "array-uniq": { 183 | "version": "1.0.3", 184 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", 185 | "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", 186 | "dev": true 187 | }, 188 | "arrify": { 189 | "version": "1.0.1", 190 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", 191 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", 192 | "dev": true 193 | }, 194 | "asn1": { 195 | "version": "0.2.4", 196 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", 197 | "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", 198 | "dev": true, 199 | "requires": { 200 | "safer-buffer": "~2.1.0" 201 | } 202 | }, 203 | "assert-plus": { 204 | "version": "1.0.0", 205 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 206 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 207 | "dev": true 208 | }, 209 | "asynckit": { 210 | "version": "0.4.0", 211 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 212 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", 213 | "dev": true 214 | }, 215 | "aws-sign2": { 216 | "version": "0.7.0", 217 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", 218 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", 219 | "dev": true 220 | }, 221 | "aws4": { 222 | "version": "1.8.0", 223 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", 224 | "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", 225 | "dev": true 226 | }, 227 | "babel-code-frame": { 228 | "version": "6.26.0", 229 | "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", 230 | "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", 231 | "dev": true, 232 | "requires": { 233 | "chalk": "^1.1.3", 234 | "esutils": "^2.0.2", 235 | "js-tokens": "^3.0.2" 236 | }, 237 | "dependencies": { 238 | "chalk": { 239 | "version": "1.1.3", 240 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 241 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 242 | "dev": true, 243 | "requires": { 244 | "ansi-styles": "^2.2.1", 245 | "escape-string-regexp": "^1.0.2", 246 | "has-ansi": "^2.0.0", 247 | "strip-ansi": "^3.0.0", 248 | "supports-color": "^2.0.0" 249 | } 250 | } 251 | } 252 | }, 253 | "babylon": { 254 | "version": "7.0.0-beta.19", 255 | "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.19.tgz", 256 | "integrity": "sha512-Vg0C9s/REX6/WIXN37UKpv5ZhRi6A4pjHlpkE34+8/a6c2W1Q692n3hmc+SZG5lKRnaExLUbxtJ1SVT+KaCQ/A==", 257 | "dev": true 258 | }, 259 | "balanced-match": { 260 | "version": "1.0.0", 261 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 262 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 263 | "dev": true 264 | }, 265 | "base64-js": { 266 | "version": "1.3.1", 267 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", 268 | "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", 269 | "dev": true 270 | }, 271 | "bcrypt-pbkdf": { 272 | "version": "1.0.2", 273 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", 274 | "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", 275 | "dev": true, 276 | "optional": true, 277 | "requires": { 278 | "tweetnacl": "^0.14.3" 279 | } 280 | }, 281 | "big-integer": { 282 | "version": "1.6.48", 283 | "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz", 284 | "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==", 285 | "dev": true 286 | }, 287 | "binary": { 288 | "version": "0.3.0", 289 | "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", 290 | "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", 291 | "dev": true, 292 | "requires": { 293 | "buffers": "~0.1.1", 294 | "chainsaw": "~0.1.0" 295 | } 296 | }, 297 | "bindings": { 298 | "version": "1.3.0", 299 | "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.0.tgz", 300 | "integrity": "sha512-DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw==" 301 | }, 302 | "bl": { 303 | "version": "1.2.2", 304 | "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", 305 | "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", 306 | "requires": { 307 | "readable-stream": "^2.3.5", 308 | "safe-buffer": "^5.1.1" 309 | } 310 | }, 311 | "block-stream": { 312 | "version": "0.0.9", 313 | "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", 314 | "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", 315 | "dev": true, 316 | "requires": { 317 | "inherits": "~2.0.0" 318 | } 319 | }, 320 | "bluebird": { 321 | "version": "3.5.1", 322 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", 323 | "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", 324 | "dev": true 325 | }, 326 | "brace-expansion": { 327 | "version": "1.1.11", 328 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 329 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 330 | "dev": true, 331 | "requires": { 332 | "balanced-match": "^1.0.0", 333 | "concat-map": "0.0.1" 334 | } 335 | }, 336 | "buffer": { 337 | "version": "5.6.0", 338 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", 339 | "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", 340 | "dev": true, 341 | "requires": { 342 | "base64-js": "^1.0.2", 343 | "ieee754": "^1.1.4" 344 | } 345 | }, 346 | "buffer-alloc": { 347 | "version": "1.2.0", 348 | "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", 349 | "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", 350 | "requires": { 351 | "buffer-alloc-unsafe": "^1.1.0", 352 | "buffer-fill": "^1.0.0" 353 | } 354 | }, 355 | "buffer-alloc-unsafe": { 356 | "version": "1.1.0", 357 | "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", 358 | "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" 359 | }, 360 | "buffer-fill": { 361 | "version": "1.0.0", 362 | "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", 363 | "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" 364 | }, 365 | "buffer-from": { 366 | "version": "1.1.1", 367 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", 368 | "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", 369 | "dev": true 370 | }, 371 | "buffer-indexof-polyfill": { 372 | "version": "1.0.2", 373 | "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz", 374 | "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==", 375 | "dev": true 376 | }, 377 | "buffer-shims": { 378 | "version": "1.0.0", 379 | "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", 380 | "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", 381 | "dev": true 382 | }, 383 | "buffers": { 384 | "version": "0.1.1", 385 | "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", 386 | "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=", 387 | "dev": true 388 | }, 389 | "builtin-modules": { 390 | "version": "1.1.1", 391 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", 392 | "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", 393 | "dev": true 394 | }, 395 | "cache-point": { 396 | "version": "0.4.1", 397 | "resolved": "https://registry.npmjs.org/cache-point/-/cache-point-0.4.1.tgz", 398 | "integrity": "sha512-4TgWfe9SF+bUy5cCql8gWHqKNrviufNwSYxLjf2utB0pY4+bdcuFwMmY1hDB+67Gz/L1vmhFNhePAjJTFBtV+Q==", 399 | "dev": true, 400 | "requires": { 401 | "array-back": "^2.0.0", 402 | "fs-then-native": "^2.0.0", 403 | "mkdirp2": "^1.0.3" 404 | } 405 | }, 406 | "caller-path": { 407 | "version": "0.1.0", 408 | "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", 409 | "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", 410 | "dev": true, 411 | "requires": { 412 | "callsites": "^0.2.0" 413 | } 414 | }, 415 | "callsites": { 416 | "version": "0.2.0", 417 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", 418 | "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", 419 | "dev": true 420 | }, 421 | "camelcase": { 422 | "version": "2.1.1", 423 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", 424 | "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", 425 | "dev": true 426 | }, 427 | "camelcase-keys": { 428 | "version": "2.1.0", 429 | "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", 430 | "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", 431 | "dev": true, 432 | "requires": { 433 | "camelcase": "^2.0.0", 434 | "map-obj": "^1.0.0" 435 | }, 436 | "dependencies": { 437 | "camelcase": { 438 | "version": "2.1.1", 439 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", 440 | "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", 441 | "dev": true 442 | } 443 | } 444 | }, 445 | "caseless": { 446 | "version": "0.12.0", 447 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 448 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", 449 | "dev": true 450 | }, 451 | "catharsis": { 452 | "version": "0.8.9", 453 | "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.9.tgz", 454 | "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", 455 | "dev": true, 456 | "requires": { 457 | "underscore-contrib": "~0.3.0" 458 | } 459 | }, 460 | "chainsaw": { 461 | "version": "0.1.0", 462 | "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", 463 | "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", 464 | "dev": true, 465 | "requires": { 466 | "traverse": ">=0.3.0 <0.4" 467 | } 468 | }, 469 | "chalk": { 470 | "version": "2.4.1", 471 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", 472 | "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", 473 | "dev": true, 474 | "requires": { 475 | "ansi-styles": "^3.2.1", 476 | "escape-string-regexp": "^1.0.5", 477 | "supports-color": "^5.3.0" 478 | }, 479 | "dependencies": { 480 | "ansi-styles": { 481 | "version": "3.2.1", 482 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 483 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 484 | "dev": true, 485 | "requires": { 486 | "color-convert": "^1.9.0" 487 | } 488 | }, 489 | "supports-color": { 490 | "version": "5.4.0", 491 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", 492 | "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", 493 | "dev": true, 494 | "requires": { 495 | "has-flag": "^3.0.0" 496 | } 497 | } 498 | } 499 | }, 500 | "chardet": { 501 | "version": "0.4.2", 502 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", 503 | "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", 504 | "dev": true 505 | }, 506 | "chownr": { 507 | "version": "1.0.1", 508 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", 509 | "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=" 510 | }, 511 | "circular-json": { 512 | "version": "0.3.3", 513 | "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", 514 | "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", 515 | "dev": true 516 | }, 517 | "cli-cursor": { 518 | "version": "2.1.0", 519 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", 520 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", 521 | "dev": true, 522 | "requires": { 523 | "restore-cursor": "^2.0.0" 524 | } 525 | }, 526 | "cli-spinners": { 527 | "version": "1.3.1", 528 | "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", 529 | "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", 530 | "dev": true 531 | }, 532 | "cli-width": { 533 | "version": "2.2.0", 534 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", 535 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", 536 | "dev": true 537 | }, 538 | "cliui": { 539 | "version": "3.2.0", 540 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", 541 | "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", 542 | "dev": true, 543 | "requires": { 544 | "string-width": "^1.0.1", 545 | "strip-ansi": "^3.0.1", 546 | "wrap-ansi": "^2.0.0" 547 | } 548 | }, 549 | "cmake-js": { 550 | "version": "5.2.0", 551 | "resolved": "https://registry.npmjs.org/cmake-js/-/cmake-js-5.2.0.tgz", 552 | "integrity": "sha512-/HLhzoBEOLKGdE1FLwH5ggzRt67AWTb4IErg4rm+bTC+R0DKUobojDyp17dSswDVPosdoPmHXjKxbJiyBZfQeg==", 553 | "dev": true, 554 | "requires": { 555 | "bluebird": "^3", 556 | "debug": "^4", 557 | "fs-extra": "^5.0.0", 558 | "is-iojs": "^1.0.1", 559 | "lodash": "^4", 560 | "memory-stream": "0", 561 | "npmlog": "^1.2.0", 562 | "rc": "^1.2.7", 563 | "request": "^2.54.0", 564 | "semver": "^5.0.3", 565 | "splitargs": "0", 566 | "tar": "^4", 567 | "traceur": "0.0.x", 568 | "unzipper": "^0.8.13", 569 | "url-join": "0", 570 | "which": "^1.0.9", 571 | "yargs": "^3.6.0" 572 | }, 573 | "dependencies": { 574 | "are-we-there-yet": { 575 | "version": "1.0.6", 576 | "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.6.tgz", 577 | "integrity": "sha1-otKMkxAqpsyWJFomy5VN4G7FPww=", 578 | "dev": true, 579 | "requires": { 580 | "delegates": "^1.0.0", 581 | "readable-stream": "^2.0.0 || ^1.1.13" 582 | } 583 | }, 584 | "debug": { 585 | "version": "4.2.0", 586 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", 587 | "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", 588 | "dev": true, 589 | "requires": { 590 | "ms": "2.1.2" 591 | } 592 | }, 593 | "gauge": { 594 | "version": "1.2.7", 595 | "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", 596 | "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=", 597 | "dev": true, 598 | "requires": { 599 | "ansi": "^0.3.0", 600 | "has-unicode": "^2.0.0", 601 | "lodash.pad": "^4.1.0", 602 | "lodash.padend": "^4.1.0", 603 | "lodash.padstart": "^4.1.0" 604 | } 605 | }, 606 | "ms": { 607 | "version": "2.1.2", 608 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 609 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 610 | "dev": true 611 | }, 612 | "npmlog": { 613 | "version": "1.2.1", 614 | "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-1.2.1.tgz", 615 | "integrity": "sha1-KOe+YZYJtT960d0wChDWTXFiaLY=", 616 | "dev": true, 617 | "requires": { 618 | "ansi": "~0.3.0", 619 | "are-we-there-yet": "~1.0.0", 620 | "gauge": "~1.2.0" 621 | } 622 | } 623 | } 624 | }, 625 | "co": { 626 | "version": "4.6.0", 627 | "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", 628 | "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", 629 | "dev": true 630 | }, 631 | "code-point-at": { 632 | "version": "1.1.0", 633 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", 634 | "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" 635 | }, 636 | "collect-all": { 637 | "version": "1.0.3", 638 | "resolved": "https://registry.npmjs.org/collect-all/-/collect-all-1.0.3.tgz", 639 | "integrity": "sha512-0y0rBgoX8IzIjBAUnO73SEtSb4Mhk3IoceWJq5zZSxb9mWORhWH8xLYo4EDSOE1jRBk1LhmfjqWFFt10h/+MEA==", 640 | "dev": true, 641 | "requires": { 642 | "stream-connect": "^1.0.2", 643 | "stream-via": "^1.0.4" 644 | } 645 | }, 646 | "color-convert": { 647 | "version": "1.9.2", 648 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz", 649 | "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==", 650 | "dev": true, 651 | "requires": { 652 | "color-name": "1.1.1" 653 | } 654 | }, 655 | "color-name": { 656 | "version": "1.1.1", 657 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz", 658 | "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=", 659 | "dev": true 660 | }, 661 | "colors": { 662 | "version": "1.3.1", 663 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.1.tgz", 664 | "integrity": "sha512-jg/vxRmv430jixZrC+La5kMbUWqIg32/JsYNZb94+JEmzceYbWKTsv1OuTp+7EaqiaWRR2tPcykibwCRgclIsw==", 665 | "dev": true 666 | }, 667 | "combined-stream": { 668 | "version": "1.0.6", 669 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", 670 | "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", 671 | "dev": true, 672 | "requires": { 673 | "delayed-stream": "~1.0.0" 674 | } 675 | }, 676 | "command-line-args": { 677 | "version": "5.0.2", 678 | "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.0.2.tgz", 679 | "integrity": "sha512-/qPcbL8zpqg53x4rAaqMFlRV4opN3pbla7I7k9x8kyOBMQoGT6WltjN6sXZuxOXw6DgdK7Ad+ijYS5gjcr7vlA==", 680 | "dev": true, 681 | "requires": { 682 | "argv-tools": "^0.1.1", 683 | "array-back": "^2.0.0", 684 | "find-replace": "^2.0.1", 685 | "lodash.camelcase": "^4.3.0", 686 | "typical": "^2.6.1" 687 | } 688 | }, 689 | "command-line-tool": { 690 | "version": "0.8.0", 691 | "resolved": "https://registry.npmjs.org/command-line-tool/-/command-line-tool-0.8.0.tgz", 692 | "integrity": "sha512-Xw18HVx/QzQV3Sc5k1vy3kgtOeGmsKIqwtFFoyjI4bbcpSgnw2CWVULvtakyw4s6fhyAdI6soQQhXc2OzJy62g==", 693 | "dev": true, 694 | "requires": { 695 | "ansi-escape-sequences": "^4.0.0", 696 | "array-back": "^2.0.0", 697 | "command-line-args": "^5.0.0", 698 | "command-line-usage": "^4.1.0", 699 | "typical": "^2.6.1" 700 | } 701 | }, 702 | "command-line-usage": { 703 | "version": "4.1.0", 704 | "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-4.1.0.tgz", 705 | "integrity": "sha512-MxS8Ad995KpdAC0Jopo/ovGIroV/m0KHwzKfXxKag6FHOkGsH8/lv5yjgablcRxCJJC0oJeUMuO/gmaq+Wq46g==", 706 | "dev": true, 707 | "requires": { 708 | "ansi-escape-sequences": "^4.0.0", 709 | "array-back": "^2.0.0", 710 | "table-layout": "^0.4.2", 711 | "typical": "^2.6.1" 712 | } 713 | }, 714 | "commander": { 715 | "version": "2.9.0", 716 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", 717 | "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", 718 | "dev": true, 719 | "requires": { 720 | "graceful-readlink": ">= 1.0.0" 721 | } 722 | }, 723 | "common-sequence": { 724 | "version": "1.0.2", 725 | "resolved": "https://registry.npmjs.org/common-sequence/-/common-sequence-1.0.2.tgz", 726 | "integrity": "sha1-MOB/P49vf5s97oVPILLTnu4Ibeg=", 727 | "dev": true 728 | }, 729 | "concat-map": { 730 | "version": "0.0.1", 731 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 732 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 733 | "dev": true 734 | }, 735 | "concat-stream": { 736 | "version": "1.6.2", 737 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", 738 | "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", 739 | "dev": true, 740 | "requires": { 741 | "buffer-from": "^1.0.0", 742 | "inherits": "^2.0.3", 743 | "readable-stream": "^2.2.2", 744 | "typedarray": "^0.0.6" 745 | } 746 | }, 747 | "config-master": { 748 | "version": "3.1.0", 749 | "resolved": "https://registry.npmjs.org/config-master/-/config-master-3.1.0.tgz", 750 | "integrity": "sha1-ZnZjWQUFooO/JqSE1oSJ10xUhdo=", 751 | "dev": true, 752 | "requires": { 753 | "walk-back": "^2.0.1" 754 | }, 755 | "dependencies": { 756 | "walk-back": { 757 | "version": "2.0.1", 758 | "resolved": "https://registry.npmjs.org/walk-back/-/walk-back-2.0.1.tgz", 759 | "integrity": "sha1-VU4qnYdPrEeoywBr9EwvDEmYoKQ=", 760 | "dev": true 761 | } 762 | } 763 | }, 764 | "console-control-strings": { 765 | "version": "1.1.0", 766 | "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", 767 | "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" 768 | }, 769 | "core-util-is": { 770 | "version": "1.0.2", 771 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 772 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" 773 | }, 774 | "cross-spawn": { 775 | "version": "5.1.0", 776 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", 777 | "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", 778 | "dev": true, 779 | "requires": { 780 | "lru-cache": "^4.0.1", 781 | "shebang-command": "^1.2.0", 782 | "which": "^1.2.9" 783 | } 784 | }, 785 | "currently-unhandled": { 786 | "version": "0.4.1", 787 | "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", 788 | "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", 789 | "dev": true, 790 | "requires": { 791 | "array-find-index": "^1.0.1" 792 | } 793 | }, 794 | "d": { 795 | "version": "1.0.1", 796 | "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", 797 | "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", 798 | "dev": true, 799 | "requires": { 800 | "es5-ext": "^0.10.50", 801 | "type": "^1.0.1" 802 | } 803 | }, 804 | "dashdash": { 805 | "version": "1.14.1", 806 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 807 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 808 | "dev": true, 809 | "requires": { 810 | "assert-plus": "^1.0.0" 811 | } 812 | }, 813 | "debug": { 814 | "version": "3.1.0", 815 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", 816 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", 817 | "dev": true, 818 | "requires": { 819 | "ms": "2.0.0" 820 | } 821 | }, 822 | "decamelize": { 823 | "version": "1.2.0", 824 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 825 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", 826 | "dev": true 827 | }, 828 | "decompress-response": { 829 | "version": "3.3.0", 830 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", 831 | "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", 832 | "requires": { 833 | "mimic-response": "^1.0.0" 834 | } 835 | }, 836 | "deep-extend": { 837 | "version": "0.6.0", 838 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", 839 | "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" 840 | }, 841 | "deep-is": { 842 | "version": "0.1.3", 843 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", 844 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", 845 | "dev": true 846 | }, 847 | "del": { 848 | "version": "2.2.2", 849 | "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", 850 | "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", 851 | "dev": true, 852 | "requires": { 853 | "globby": "^5.0.0", 854 | "is-path-cwd": "^1.0.0", 855 | "is-path-in-cwd": "^1.0.0", 856 | "object-assign": "^4.0.1", 857 | "pify": "^2.0.0", 858 | "pinkie-promise": "^2.0.0", 859 | "rimraf": "^2.2.8" 860 | } 861 | }, 862 | "delayed-stream": { 863 | "version": "1.0.0", 864 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 865 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", 866 | "dev": true 867 | }, 868 | "delegates": { 869 | "version": "1.0.0", 870 | "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", 871 | "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" 872 | }, 873 | "detect-libc": { 874 | "version": "1.0.3", 875 | "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", 876 | "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" 877 | }, 878 | "dmd": { 879 | "version": "3.0.12", 880 | "resolved": "https://registry.npmjs.org/dmd/-/dmd-3.0.12.tgz", 881 | "integrity": "sha512-79w644JdsB2TthYpVl2bDurX7i9Abaegg2E7X46Ajc135aASTMXxrHzJ9mOa5X5nbmnXwlBYiF68K+1baX+BzQ==", 882 | "dev": true, 883 | "requires": { 884 | "array-back": "^2.0.0", 885 | "cache-point": "^0.4.1", 886 | "common-sequence": "^1.0.2", 887 | "file-set": "^2.0.0", 888 | "handlebars": "^4.0.11", 889 | "marked": "^0.3.16", 890 | "object-get": "^2.1.0", 891 | "reduce-flatten": "^1.0.1", 892 | "reduce-unique": "^1.0.0", 893 | "reduce-without": "^1.0.1", 894 | "test-value": "^3.0.0", 895 | "walk-back": "^3.0.0" 896 | } 897 | }, 898 | "doctrine": { 899 | "version": "2.1.0", 900 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", 901 | "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", 902 | "dev": true, 903 | "requires": { 904 | "esutils": "^2.0.2" 905 | } 906 | }, 907 | "duplexer2": { 908 | "version": "0.1.4", 909 | "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", 910 | "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", 911 | "dev": true, 912 | "requires": { 913 | "readable-stream": "^2.0.2" 914 | } 915 | }, 916 | "each-series-async": { 917 | "version": "1.0.1", 918 | "resolved": "https://registry.npmjs.org/each-series-async/-/each-series-async-1.0.1.tgz", 919 | "integrity": "sha512-G4zip/Ewpwr6JQxW7+2RNgkPd09h/UNec5UlvA/xKwl4qf5blyBNK6a/zjQc3MojgsxaOb93B9v3T92QU6IMVg==", 920 | "dev": true 921 | }, 922 | "ecc-jsbn": { 923 | "version": "0.1.2", 924 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", 925 | "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", 926 | "dev": true, 927 | "optional": true, 928 | "requires": { 929 | "jsbn": "~0.1.0", 930 | "safer-buffer": "^2.1.0" 931 | } 932 | }, 933 | "electron": { 934 | "version": "2.0.8", 935 | "resolved": "https://registry.npmjs.org/electron/-/electron-2.0.8.tgz", 936 | "integrity": "sha512-pbeGFbwijb5V3Xy/KMcwIp59eA9igg2br+7EHbbwQoa3HRDF5JjTrciX7OiscCA52+ze2n4q38S4lXPqRitgIA==", 937 | "dev": true, 938 | "requires": { 939 | "@types/node": "^8.0.24", 940 | "electron-download": "^3.0.1", 941 | "extract-zip": "^1.0.3" 942 | } 943 | }, 944 | "electron-download": { 945 | "version": "3.3.0", 946 | "resolved": "https://registry.npmjs.org/electron-download/-/electron-download-3.3.0.tgz", 947 | "integrity": "sha1-LP1U1pZsAZxNSa1l++Zcyc3vaMg=", 948 | "dev": true, 949 | "requires": { 950 | "debug": "^2.2.0", 951 | "fs-extra": "^0.30.0", 952 | "home-path": "^1.0.1", 953 | "minimist": "^1.2.0", 954 | "nugget": "^2.0.0", 955 | "path-exists": "^2.1.0", 956 | "rc": "^1.1.2", 957 | "semver": "^5.3.0", 958 | "sumchecker": "^1.2.0" 959 | }, 960 | "dependencies": { 961 | "debug": { 962 | "version": "2.6.9", 963 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 964 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 965 | "dev": true, 966 | "requires": { 967 | "ms": "2.0.0" 968 | } 969 | }, 970 | "fs-extra": { 971 | "version": "0.30.0", 972 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", 973 | "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", 974 | "dev": true, 975 | "requires": { 976 | "graceful-fs": "^4.1.2", 977 | "jsonfile": "^2.1.0", 978 | "klaw": "^1.0.0", 979 | "path-is-absolute": "^1.0.0", 980 | "rimraf": "^2.2.8" 981 | } 982 | }, 983 | "jsonfile": { 984 | "version": "2.4.0", 985 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", 986 | "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", 987 | "dev": true, 988 | "requires": { 989 | "graceful-fs": "^4.1.6" 990 | } 991 | }, 992 | "klaw": { 993 | "version": "1.3.1", 994 | "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", 995 | "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", 996 | "dev": true, 997 | "requires": { 998 | "graceful-fs": "^4.1.9" 999 | } 1000 | } 1001 | } 1002 | }, 1003 | "electron-rebuild": { 1004 | "version": "1.8.2", 1005 | "resolved": "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-1.8.2.tgz", 1006 | "integrity": "sha512-EeR4dgb6NN7ybxduUWMeeLhU/EuF+FzwFZJfMJXD0bx96K+ttAieCXOn9lTO5nA9Qn3hiS7pEpk8pZ9StpGgSg==", 1007 | "dev": true, 1008 | "requires": { 1009 | "colors": "^1.2.0", 1010 | "debug": "^2.6.3", 1011 | "detect-libc": "^1.0.3", 1012 | "fs-extra": "^3.0.1", 1013 | "node-abi": "^2.0.0", 1014 | "node-gyp": "^3.6.0", 1015 | "ora": "^1.2.0", 1016 | "rimraf": "^2.6.1", 1017 | "spawn-rx": "^2.0.10", 1018 | "yargs": "^7.0.2" 1019 | }, 1020 | "dependencies": { 1021 | "camelcase": { 1022 | "version": "3.0.0", 1023 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", 1024 | "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", 1025 | "dev": true 1026 | }, 1027 | "cliui": { 1028 | "version": "3.2.0", 1029 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", 1030 | "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", 1031 | "dev": true, 1032 | "requires": { 1033 | "string-width": "^1.0.1", 1034 | "strip-ansi": "^3.0.1", 1035 | "wrap-ansi": "^2.0.0" 1036 | } 1037 | }, 1038 | "debug": { 1039 | "version": "2.6.9", 1040 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 1041 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 1042 | "dev": true, 1043 | "requires": { 1044 | "ms": "2.0.0" 1045 | } 1046 | }, 1047 | "fs-extra": { 1048 | "version": "3.0.1", 1049 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", 1050 | "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", 1051 | "dev": true, 1052 | "requires": { 1053 | "graceful-fs": "^4.1.2", 1054 | "jsonfile": "^3.0.0", 1055 | "universalify": "^0.1.0" 1056 | } 1057 | }, 1058 | "jsonfile": { 1059 | "version": "3.0.1", 1060 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", 1061 | "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", 1062 | "dev": true, 1063 | "requires": { 1064 | "graceful-fs": "^4.1.6" 1065 | } 1066 | }, 1067 | "yargs": { 1068 | "version": "7.1.0", 1069 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", 1070 | "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", 1071 | "dev": true, 1072 | "requires": { 1073 | "camelcase": "^3.0.0", 1074 | "cliui": "^3.2.0", 1075 | "decamelize": "^1.1.1", 1076 | "get-caller-file": "^1.0.1", 1077 | "os-locale": "^1.4.0", 1078 | "read-pkg-up": "^1.0.1", 1079 | "require-directory": "^2.1.1", 1080 | "require-main-filename": "^1.0.1", 1081 | "set-blocking": "^2.0.0", 1082 | "string-width": "^1.0.2", 1083 | "which-module": "^1.0.0", 1084 | "y18n": "^3.2.1", 1085 | "yargs-parser": "^5.0.0" 1086 | } 1087 | } 1088 | } 1089 | }, 1090 | "end-of-stream": { 1091 | "version": "1.4.1", 1092 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", 1093 | "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", 1094 | "requires": { 1095 | "once": "^1.4.0" 1096 | } 1097 | }, 1098 | "env-paths": { 1099 | "version": "2.2.0", 1100 | "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", 1101 | "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==", 1102 | "dev": true 1103 | }, 1104 | "error-ex": { 1105 | "version": "1.3.2", 1106 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 1107 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 1108 | "dev": true, 1109 | "requires": { 1110 | "is-arrayish": "^0.2.1" 1111 | } 1112 | }, 1113 | "es5-ext": { 1114 | "version": "0.10.53", 1115 | "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", 1116 | "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", 1117 | "dev": true, 1118 | "requires": { 1119 | "es6-iterator": "~2.0.3", 1120 | "es6-symbol": "~3.1.3", 1121 | "next-tick": "~1.0.0" 1122 | } 1123 | }, 1124 | "es6-iterator": { 1125 | "version": "2.0.3", 1126 | "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", 1127 | "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", 1128 | "dev": true, 1129 | "requires": { 1130 | "d": "1", 1131 | "es5-ext": "^0.10.35", 1132 | "es6-symbol": "^3.1.1" 1133 | } 1134 | }, 1135 | "es6-promise": { 1136 | "version": "4.2.4", 1137 | "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", 1138 | "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", 1139 | "dev": true 1140 | }, 1141 | "es6-symbol": { 1142 | "version": "3.1.3", 1143 | "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", 1144 | "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", 1145 | "dev": true, 1146 | "requires": { 1147 | "d": "^1.0.1", 1148 | "ext": "^1.1.2" 1149 | } 1150 | }, 1151 | "escape-string-regexp": { 1152 | "version": "1.0.5", 1153 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1154 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 1155 | "dev": true 1156 | }, 1157 | "eslint": { 1158 | "version": "4.19.1", 1159 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", 1160 | "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", 1161 | "dev": true, 1162 | "requires": { 1163 | "ajv": "^5.3.0", 1164 | "babel-code-frame": "^6.22.0", 1165 | "chalk": "^2.1.0", 1166 | "concat-stream": "^1.6.0", 1167 | "cross-spawn": "^5.1.0", 1168 | "debug": "^3.1.0", 1169 | "doctrine": "^2.1.0", 1170 | "eslint-scope": "^3.7.1", 1171 | "eslint-visitor-keys": "^1.0.0", 1172 | "espree": "^3.5.4", 1173 | "esquery": "^1.0.0", 1174 | "esutils": "^2.0.2", 1175 | "file-entry-cache": "^2.0.0", 1176 | "functional-red-black-tree": "^1.0.1", 1177 | "glob": "^7.1.2", 1178 | "globals": "^11.0.1", 1179 | "ignore": "^3.3.3", 1180 | "imurmurhash": "^0.1.4", 1181 | "inquirer": "^3.0.6", 1182 | "is-resolvable": "^1.0.0", 1183 | "js-yaml": "^3.9.1", 1184 | "json-stable-stringify-without-jsonify": "^1.0.1", 1185 | "levn": "^0.3.0", 1186 | "lodash": "^4.17.4", 1187 | "minimatch": "^3.0.2", 1188 | "mkdirp": "^0.5.1", 1189 | "natural-compare": "^1.4.0", 1190 | "optionator": "^0.8.2", 1191 | "path-is-inside": "^1.0.2", 1192 | "pluralize": "^7.0.0", 1193 | "progress": "^2.0.0", 1194 | "regexpp": "^1.0.1", 1195 | "require-uncached": "^1.0.3", 1196 | "semver": "^5.3.0", 1197 | "strip-ansi": "^4.0.0", 1198 | "strip-json-comments": "~2.0.1", 1199 | "table": "4.0.2", 1200 | "text-table": "~0.2.0" 1201 | }, 1202 | "dependencies": { 1203 | "ansi-regex": { 1204 | "version": "3.0.0", 1205 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 1206 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 1207 | "dev": true 1208 | }, 1209 | "strip-ansi": { 1210 | "version": "4.0.0", 1211 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 1212 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 1213 | "dev": true, 1214 | "requires": { 1215 | "ansi-regex": "^3.0.0" 1216 | } 1217 | } 1218 | } 1219 | }, 1220 | "eslint-scope": { 1221 | "version": "3.7.3", 1222 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", 1223 | "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", 1224 | "dev": true, 1225 | "requires": { 1226 | "esrecurse": "^4.1.0", 1227 | "estraverse": "^4.1.1" 1228 | } 1229 | }, 1230 | "eslint-visitor-keys": { 1231 | "version": "1.0.0", 1232 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", 1233 | "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", 1234 | "dev": true 1235 | }, 1236 | "espree": { 1237 | "version": "3.5.4", 1238 | "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", 1239 | "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", 1240 | "dev": true, 1241 | "requires": { 1242 | "acorn": "^5.5.0", 1243 | "acorn-jsx": "^3.0.0" 1244 | } 1245 | }, 1246 | "esprima": { 1247 | "version": "4.0.1", 1248 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 1249 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 1250 | "dev": true 1251 | }, 1252 | "esquery": { 1253 | "version": "1.0.1", 1254 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", 1255 | "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", 1256 | "dev": true, 1257 | "requires": { 1258 | "estraverse": "^4.0.0" 1259 | } 1260 | }, 1261 | "esrecurse": { 1262 | "version": "4.2.1", 1263 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", 1264 | "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", 1265 | "dev": true, 1266 | "requires": { 1267 | "estraverse": "^4.1.0" 1268 | } 1269 | }, 1270 | "estraverse": { 1271 | "version": "4.2.0", 1272 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", 1273 | "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", 1274 | "dev": true 1275 | }, 1276 | "esutils": { 1277 | "version": "2.0.2", 1278 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 1279 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", 1280 | "dev": true 1281 | }, 1282 | "execspawn": { 1283 | "version": "1.0.1", 1284 | "resolved": "https://registry.npmjs.org/execspawn/-/execspawn-1.0.1.tgz", 1285 | "integrity": "sha1-gob53efOzeeQX73ATiTzaPI/jaY=", 1286 | "dev": true, 1287 | "requires": { 1288 | "util-extend": "^1.0.1" 1289 | } 1290 | }, 1291 | "expand-template": { 1292 | "version": "1.1.1", 1293 | "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-1.1.1.tgz", 1294 | "integrity": "sha512-cebqLtV8KOZfw0UI8TEFWxtczxxC1jvyUvx6H4fyp1K1FN7A4Q+uggVUlOsI1K8AGU0rwOGqP8nCapdrw8CYQg==" 1295 | }, 1296 | "ext": { 1297 | "version": "1.4.0", 1298 | "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", 1299 | "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", 1300 | "dev": true, 1301 | "requires": { 1302 | "type": "^2.0.0" 1303 | }, 1304 | "dependencies": { 1305 | "type": { 1306 | "version": "2.1.0", 1307 | "resolved": "https://registry.npmjs.org/type/-/type-2.1.0.tgz", 1308 | "integrity": "sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==", 1309 | "dev": true 1310 | } 1311 | } 1312 | }, 1313 | "extend": { 1314 | "version": "3.0.2", 1315 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 1316 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", 1317 | "dev": true 1318 | }, 1319 | "external-editor": { 1320 | "version": "2.2.0", 1321 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", 1322 | "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", 1323 | "dev": true, 1324 | "requires": { 1325 | "chardet": "^0.4.0", 1326 | "iconv-lite": "^0.4.17", 1327 | "tmp": "^0.0.33" 1328 | } 1329 | }, 1330 | "extract-zip": { 1331 | "version": "1.6.7", 1332 | "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", 1333 | "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", 1334 | "dev": true, 1335 | "requires": { 1336 | "concat-stream": "1.6.2", 1337 | "debug": "2.6.9", 1338 | "mkdirp": "0.5.1", 1339 | "yauzl": "2.4.1" 1340 | }, 1341 | "dependencies": { 1342 | "debug": { 1343 | "version": "2.6.9", 1344 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 1345 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 1346 | "dev": true, 1347 | "requires": { 1348 | "ms": "2.0.0" 1349 | } 1350 | } 1351 | } 1352 | }, 1353 | "extsprintf": { 1354 | "version": "1.3.0", 1355 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 1356 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", 1357 | "dev": true 1358 | }, 1359 | "fast-deep-equal": { 1360 | "version": "1.1.0", 1361 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", 1362 | "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", 1363 | "dev": true 1364 | }, 1365 | "fast-json-stable-stringify": { 1366 | "version": "2.0.0", 1367 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", 1368 | "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", 1369 | "dev": true 1370 | }, 1371 | "fast-levenshtein": { 1372 | "version": "2.0.6", 1373 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 1374 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 1375 | "dev": true 1376 | }, 1377 | "fd-slicer": { 1378 | "version": "1.0.1", 1379 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", 1380 | "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", 1381 | "dev": true, 1382 | "requires": { 1383 | "pend": "~1.2.0" 1384 | } 1385 | }, 1386 | "figures": { 1387 | "version": "2.0.0", 1388 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", 1389 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", 1390 | "dev": true, 1391 | "requires": { 1392 | "escape-string-regexp": "^1.0.5" 1393 | } 1394 | }, 1395 | "file-entry-cache": { 1396 | "version": "2.0.0", 1397 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", 1398 | "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", 1399 | "dev": true, 1400 | "requires": { 1401 | "flat-cache": "^1.2.1", 1402 | "object-assign": "^4.0.1" 1403 | } 1404 | }, 1405 | "file-set": { 1406 | "version": "2.0.0", 1407 | "resolved": "https://registry.npmjs.org/file-set/-/file-set-2.0.0.tgz", 1408 | "integrity": "sha512-cCWXfw+nrYoIoUVmEF7Xsw91lGWuObtSnTEZ7AmdvZou1A/6Xx237HfxdQyC/ayKRvQSMbNOBwg62OjN5JxbXw==", 1409 | "dev": true, 1410 | "requires": { 1411 | "array-back": "^2.0.0", 1412 | "glob": "^7.1.2" 1413 | } 1414 | }, 1415 | "find-replace": { 1416 | "version": "2.0.1", 1417 | "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-2.0.1.tgz", 1418 | "integrity": "sha512-LzDo3Fpa30FLIBsh6DCDnMN1KW2g4QKkqKmejlImgWY67dDFPX/x9Kh/op/GK522DchQXEvDi/wD48HKW49XOQ==", 1419 | "dev": true, 1420 | "requires": { 1421 | "array-back": "^2.0.0", 1422 | "test-value": "^3.0.0" 1423 | } 1424 | }, 1425 | "find-up": { 1426 | "version": "1.1.2", 1427 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", 1428 | "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", 1429 | "dev": true, 1430 | "requires": { 1431 | "path-exists": "^2.0.0", 1432 | "pinkie-promise": "^2.0.0" 1433 | } 1434 | }, 1435 | "flat-cache": { 1436 | "version": "1.3.0", 1437 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", 1438 | "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", 1439 | "dev": true, 1440 | "requires": { 1441 | "circular-json": "^0.3.1", 1442 | "del": "^2.0.2", 1443 | "graceful-fs": "^4.1.2", 1444 | "write": "^0.2.1" 1445 | } 1446 | }, 1447 | "forever-agent": { 1448 | "version": "0.6.1", 1449 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 1450 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", 1451 | "dev": true 1452 | }, 1453 | "form-data": { 1454 | "version": "2.3.2", 1455 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", 1456 | "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", 1457 | "dev": true, 1458 | "requires": { 1459 | "asynckit": "^0.4.0", 1460 | "combined-stream": "1.0.6", 1461 | "mime-types": "^2.1.12" 1462 | } 1463 | }, 1464 | "fs-constants": { 1465 | "version": "1.0.0", 1466 | "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", 1467 | "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" 1468 | }, 1469 | "fs-extra": { 1470 | "version": "5.0.0", 1471 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", 1472 | "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", 1473 | "dev": true, 1474 | "requires": { 1475 | "graceful-fs": "^4.1.2", 1476 | "jsonfile": "^4.0.0", 1477 | "universalify": "^0.1.0" 1478 | } 1479 | }, 1480 | "fs-minipass": { 1481 | "version": "1.2.7", 1482 | "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", 1483 | "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", 1484 | "dev": true, 1485 | "requires": { 1486 | "minipass": "^2.6.0" 1487 | } 1488 | }, 1489 | "fs-then-native": { 1490 | "version": "2.0.0", 1491 | "resolved": "https://registry.npmjs.org/fs-then-native/-/fs-then-native-2.0.0.tgz", 1492 | "integrity": "sha1-GaEk2U2QwiyOBF8ujdbr6jbUjGc=", 1493 | "dev": true 1494 | }, 1495 | "fs.realpath": { 1496 | "version": "1.0.0", 1497 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1498 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 1499 | "dev": true 1500 | }, 1501 | "fstream": { 1502 | "version": "1.0.11", 1503 | "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", 1504 | "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", 1505 | "dev": true, 1506 | "requires": { 1507 | "graceful-fs": "^4.1.2", 1508 | "inherits": "~2.0.0", 1509 | "mkdirp": ">=0.5 0", 1510 | "rimraf": "2" 1511 | } 1512 | }, 1513 | "functional-red-black-tree": { 1514 | "version": "1.0.1", 1515 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 1516 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 1517 | "dev": true 1518 | }, 1519 | "gauge": { 1520 | "version": "2.7.4", 1521 | "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", 1522 | "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", 1523 | "requires": { 1524 | "aproba": "^1.0.3", 1525 | "console-control-strings": "^1.0.0", 1526 | "has-unicode": "^2.0.0", 1527 | "object-assign": "^4.1.0", 1528 | "signal-exit": "^3.0.0", 1529 | "string-width": "^1.0.1", 1530 | "strip-ansi": "^3.0.1", 1531 | "wide-align": "^1.1.0" 1532 | } 1533 | }, 1534 | "get-caller-file": { 1535 | "version": "1.0.3", 1536 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", 1537 | "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", 1538 | "dev": true 1539 | }, 1540 | "get-stdin": { 1541 | "version": "4.0.1", 1542 | "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", 1543 | "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", 1544 | "dev": true 1545 | }, 1546 | "getpass": { 1547 | "version": "0.1.7", 1548 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 1549 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 1550 | "dev": true, 1551 | "requires": { 1552 | "assert-plus": "^1.0.0" 1553 | } 1554 | }, 1555 | "ghreleases": { 1556 | "version": "3.0.2", 1557 | "resolved": "https://registry.npmjs.org/ghreleases/-/ghreleases-3.0.2.tgz", 1558 | "integrity": "sha512-QiR9mIYvRG7hd8JuQYoxeBNOelVuTp2DpdiByRywbCDBSJufK9Vq7VuhD8B+5uviMxZx2AEkCzye61Us9gYgnw==", 1559 | "dev": true, 1560 | "requires": { 1561 | "after": "~0.8.1", 1562 | "ghrepos": "~2.1.0", 1563 | "ghutils": "~3.2.0", 1564 | "lodash.uniq": "^4.5.0", 1565 | "simple-mime": "~0.1.0", 1566 | "url-template": "~2.0.6" 1567 | } 1568 | }, 1569 | "ghrepos": { 1570 | "version": "2.1.0", 1571 | "resolved": "https://registry.npmjs.org/ghrepos/-/ghrepos-2.1.0.tgz", 1572 | "integrity": "sha512-6GM0ohSDTAv7xD6GsKfxJiV/CajoofRyUwu0E8l29d1o6lFAUxmmyMP/FH33afA20ZrXzxxcTtN6TsYvudMoAg==", 1573 | "dev": true, 1574 | "requires": { 1575 | "ghutils": "~3.2.0" 1576 | } 1577 | }, 1578 | "ghutils": { 1579 | "version": "3.2.6", 1580 | "resolved": "https://registry.npmjs.org/ghutils/-/ghutils-3.2.6.tgz", 1581 | "integrity": "sha512-WpYHgLQkqU7Cv147wKUEThyj6qKHCdnAG2CL9RRsRQImVdLGdVqblJ3JUnj3ToQwgm1ALPS+FXgR0448AgGPUg==", 1582 | "dev": true, 1583 | "requires": { 1584 | "jsonist": "~2.1.0", 1585 | "xtend": "~4.0.1" 1586 | } 1587 | }, 1588 | "github-from-package": { 1589 | "version": "0.0.0", 1590 | "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", 1591 | "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" 1592 | }, 1593 | "glob": { 1594 | "version": "7.1.2", 1595 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", 1596 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", 1597 | "dev": true, 1598 | "requires": { 1599 | "fs.realpath": "^1.0.0", 1600 | "inflight": "^1.0.4", 1601 | "inherits": "2", 1602 | "minimatch": "^3.0.4", 1603 | "once": "^1.3.0", 1604 | "path-is-absolute": "^1.0.0" 1605 | } 1606 | }, 1607 | "globals": { 1608 | "version": "11.7.0", 1609 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", 1610 | "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==", 1611 | "dev": true 1612 | }, 1613 | "globby": { 1614 | "version": "5.0.0", 1615 | "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", 1616 | "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", 1617 | "dev": true, 1618 | "requires": { 1619 | "array-union": "^1.0.1", 1620 | "arrify": "^1.0.0", 1621 | "glob": "^7.0.3", 1622 | "object-assign": "^4.0.1", 1623 | "pify": "^2.0.0", 1624 | "pinkie-promise": "^2.0.0" 1625 | } 1626 | }, 1627 | "graceful-fs": { 1628 | "version": "4.1.11", 1629 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 1630 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 1631 | "dev": true 1632 | }, 1633 | "graceful-readlink": { 1634 | "version": "1.0.1", 1635 | "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", 1636 | "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", 1637 | "dev": true 1638 | }, 1639 | "handlebars": { 1640 | "version": "4.7.6", 1641 | "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz", 1642 | "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==", 1643 | "dev": true, 1644 | "requires": { 1645 | "minimist": "^1.2.5", 1646 | "neo-async": "^2.6.0", 1647 | "source-map": "^0.6.1", 1648 | "uglify-js": "^3.1.4", 1649 | "wordwrap": "^1.0.0" 1650 | }, 1651 | "dependencies": { 1652 | "minimist": { 1653 | "version": "1.2.5", 1654 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", 1655 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", 1656 | "dev": true 1657 | }, 1658 | "source-map": { 1659 | "version": "0.6.1", 1660 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1661 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 1662 | "dev": true 1663 | }, 1664 | "uglify-js": { 1665 | "version": "3.10.3", 1666 | "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.10.3.tgz", 1667 | "integrity": "sha512-Lh00i69Uf6G74mvYpHCI9KVVXLcHW/xu79YTvH7Mkc9zyKUeSPz0owW0dguj0Scavns3ZOh3wY63J0Zb97Za2g==", 1668 | "dev": true, 1669 | "optional": true 1670 | } 1671 | } 1672 | }, 1673 | "har-schema": { 1674 | "version": "2.0.0", 1675 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", 1676 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", 1677 | "dev": true 1678 | }, 1679 | "har-validator": { 1680 | "version": "5.1.0", 1681 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", 1682 | "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", 1683 | "dev": true, 1684 | "requires": { 1685 | "ajv": "^5.3.0", 1686 | "har-schema": "^2.0.0" 1687 | } 1688 | }, 1689 | "has-ansi": { 1690 | "version": "2.0.0", 1691 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 1692 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 1693 | "dev": true, 1694 | "requires": { 1695 | "ansi-regex": "^2.0.0" 1696 | } 1697 | }, 1698 | "has-flag": { 1699 | "version": "3.0.0", 1700 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1701 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 1702 | "dev": true 1703 | }, 1704 | "has-unicode": { 1705 | "version": "2.0.1", 1706 | "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", 1707 | "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" 1708 | }, 1709 | "home-path": { 1710 | "version": "1.0.6", 1711 | "resolved": "https://registry.npmjs.org/home-path/-/home-path-1.0.6.tgz", 1712 | "integrity": "sha512-wo+yjrdAtoXt43Vy92a+0IPCYViiyLAHyp0QVS4xL/tfvVz5sXIW1ubLZk3nhVkD92fQpUMKX+fzMjr5F489vw==", 1713 | "dev": true 1714 | }, 1715 | "hosted-git-info": { 1716 | "version": "2.7.1", 1717 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", 1718 | "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", 1719 | "dev": true 1720 | }, 1721 | "http-signature": { 1722 | "version": "1.2.0", 1723 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", 1724 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", 1725 | "dev": true, 1726 | "requires": { 1727 | "assert-plus": "^1.0.0", 1728 | "jsprim": "^1.2.2", 1729 | "sshpk": "^1.7.0" 1730 | } 1731 | }, 1732 | "hyperquest": { 1733 | "version": "2.1.3", 1734 | "resolved": "https://registry.npmjs.org/hyperquest/-/hyperquest-2.1.3.tgz", 1735 | "integrity": "sha512-fUuDOrB47PqNK/BAMOS13v41UoaqIxqSLHX6CAbOD7OfT+/GCWO1/vPLfTNutOeXrv1ikuaZ3yux+33Z9vh+rw==", 1736 | "dev": true, 1737 | "requires": { 1738 | "buffer-from": "^0.1.1", 1739 | "duplexer2": "~0.0.2", 1740 | "through2": "~0.6.3" 1741 | }, 1742 | "dependencies": { 1743 | "buffer-from": { 1744 | "version": "0.1.2", 1745 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-0.1.2.tgz", 1746 | "integrity": "sha512-RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg==", 1747 | "dev": true 1748 | }, 1749 | "duplexer2": { 1750 | "version": "0.0.2", 1751 | "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", 1752 | "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", 1753 | "dev": true, 1754 | "requires": { 1755 | "readable-stream": "~1.1.9" 1756 | } 1757 | }, 1758 | "isarray": { 1759 | "version": "0.0.1", 1760 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", 1761 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", 1762 | "dev": true 1763 | }, 1764 | "readable-stream": { 1765 | "version": "1.1.14", 1766 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", 1767 | "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", 1768 | "dev": true, 1769 | "requires": { 1770 | "core-util-is": "~1.0.0", 1771 | "inherits": "~2.0.1", 1772 | "isarray": "0.0.1", 1773 | "string_decoder": "~0.10.x" 1774 | } 1775 | }, 1776 | "string_decoder": { 1777 | "version": "0.10.31", 1778 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 1779 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", 1780 | "dev": true 1781 | } 1782 | } 1783 | }, 1784 | "iconv-lite": { 1785 | "version": "0.4.23", 1786 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", 1787 | "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", 1788 | "dev": true, 1789 | "requires": { 1790 | "safer-buffer": ">= 2.1.2 < 3" 1791 | } 1792 | }, 1793 | "ieee754": { 1794 | "version": "1.1.13", 1795 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", 1796 | "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", 1797 | "dev": true 1798 | }, 1799 | "ignore": { 1800 | "version": "3.3.10", 1801 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", 1802 | "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", 1803 | "dev": true 1804 | }, 1805 | "imurmurhash": { 1806 | "version": "0.1.4", 1807 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1808 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 1809 | "dev": true 1810 | }, 1811 | "indent-string": { 1812 | "version": "2.1.0", 1813 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", 1814 | "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", 1815 | "dev": true, 1816 | "requires": { 1817 | "repeating": "^2.0.0" 1818 | } 1819 | }, 1820 | "inflight": { 1821 | "version": "1.0.6", 1822 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1823 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1824 | "dev": true, 1825 | "requires": { 1826 | "once": "^1.3.0", 1827 | "wrappy": "1" 1828 | } 1829 | }, 1830 | "inherits": { 1831 | "version": "2.0.3", 1832 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 1833 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" 1834 | }, 1835 | "ini": { 1836 | "version": "1.3.5", 1837 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", 1838 | "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" 1839 | }, 1840 | "inquirer": { 1841 | "version": "3.3.0", 1842 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", 1843 | "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", 1844 | "dev": true, 1845 | "requires": { 1846 | "ansi-escapes": "^3.0.0", 1847 | "chalk": "^2.0.0", 1848 | "cli-cursor": "^2.1.0", 1849 | "cli-width": "^2.0.0", 1850 | "external-editor": "^2.0.4", 1851 | "figures": "^2.0.0", 1852 | "lodash": "^4.3.0", 1853 | "mute-stream": "0.0.7", 1854 | "run-async": "^2.2.0", 1855 | "rx-lite": "^4.0.8", 1856 | "rx-lite-aggregates": "^4.0.8", 1857 | "string-width": "^2.1.0", 1858 | "strip-ansi": "^4.0.0", 1859 | "through": "^2.3.6" 1860 | }, 1861 | "dependencies": { 1862 | "ansi-regex": { 1863 | "version": "3.0.0", 1864 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 1865 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 1866 | "dev": true 1867 | }, 1868 | "is-fullwidth-code-point": { 1869 | "version": "2.0.0", 1870 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 1871 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 1872 | "dev": true 1873 | }, 1874 | "string-width": { 1875 | "version": "2.1.1", 1876 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 1877 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 1878 | "dev": true, 1879 | "requires": { 1880 | "is-fullwidth-code-point": "^2.0.0", 1881 | "strip-ansi": "^4.0.0" 1882 | } 1883 | }, 1884 | "strip-ansi": { 1885 | "version": "4.0.0", 1886 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 1887 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 1888 | "dev": true, 1889 | "requires": { 1890 | "ansi-regex": "^3.0.0" 1891 | } 1892 | } 1893 | } 1894 | }, 1895 | "invert-kv": { 1896 | "version": "1.0.0", 1897 | "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", 1898 | "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", 1899 | "dev": true 1900 | }, 1901 | "is-arrayish": { 1902 | "version": "0.2.1", 1903 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 1904 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", 1905 | "dev": true 1906 | }, 1907 | "is-builtin-module": { 1908 | "version": "1.0.0", 1909 | "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", 1910 | "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", 1911 | "dev": true, 1912 | "requires": { 1913 | "builtin-modules": "^1.0.0" 1914 | } 1915 | }, 1916 | "is-finite": { 1917 | "version": "1.0.2", 1918 | "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", 1919 | "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", 1920 | "dev": true, 1921 | "requires": { 1922 | "number-is-nan": "^1.0.0" 1923 | } 1924 | }, 1925 | "is-fullwidth-code-point": { 1926 | "version": "1.0.0", 1927 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 1928 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", 1929 | "requires": { 1930 | "number-is-nan": "^1.0.0" 1931 | } 1932 | }, 1933 | "is-iojs": { 1934 | "version": "1.1.0", 1935 | "resolved": "https://registry.npmjs.org/is-iojs/-/is-iojs-1.1.0.tgz", 1936 | "integrity": "sha1-TBEDO11dlNbqs3dd7cm+fQCDJfE=", 1937 | "dev": true 1938 | }, 1939 | "is-path-cwd": { 1940 | "version": "1.0.0", 1941 | "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", 1942 | "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", 1943 | "dev": true 1944 | }, 1945 | "is-path-in-cwd": { 1946 | "version": "1.0.1", 1947 | "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", 1948 | "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", 1949 | "dev": true, 1950 | "requires": { 1951 | "is-path-inside": "^1.0.0" 1952 | } 1953 | }, 1954 | "is-path-inside": { 1955 | "version": "1.0.1", 1956 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", 1957 | "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", 1958 | "dev": true, 1959 | "requires": { 1960 | "path-is-inside": "^1.0.1" 1961 | } 1962 | }, 1963 | "is-promise": { 1964 | "version": "2.1.0", 1965 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", 1966 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", 1967 | "dev": true 1968 | }, 1969 | "is-resolvable": { 1970 | "version": "1.1.0", 1971 | "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", 1972 | "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", 1973 | "dev": true 1974 | }, 1975 | "is-typedarray": { 1976 | "version": "1.0.0", 1977 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 1978 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", 1979 | "dev": true 1980 | }, 1981 | "is-utf8": { 1982 | "version": "0.2.1", 1983 | "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", 1984 | "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", 1985 | "dev": true 1986 | }, 1987 | "isarray": { 1988 | "version": "1.0.0", 1989 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1990 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" 1991 | }, 1992 | "isexe": { 1993 | "version": "2.0.0", 1994 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1995 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 1996 | "dev": true 1997 | }, 1998 | "isstream": { 1999 | "version": "0.1.2", 2000 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 2001 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", 2002 | "dev": true 2003 | }, 2004 | "js-tokens": { 2005 | "version": "3.0.2", 2006 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", 2007 | "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", 2008 | "dev": true 2009 | }, 2010 | "js-yaml": { 2011 | "version": "3.12.0", 2012 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", 2013 | "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", 2014 | "dev": true, 2015 | "requires": { 2016 | "argparse": "^1.0.7", 2017 | "esprima": "^4.0.0" 2018 | } 2019 | }, 2020 | "js2xmlparser": { 2021 | "version": "3.0.0", 2022 | "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-3.0.0.tgz", 2023 | "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", 2024 | "dev": true, 2025 | "requires": { 2026 | "xmlcreate": "^1.0.1" 2027 | } 2028 | }, 2029 | "jsbn": { 2030 | "version": "0.1.1", 2031 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 2032 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", 2033 | "dev": true, 2034 | "optional": true 2035 | }, 2036 | "jsdoc": { 2037 | "version": "3.5.5", 2038 | "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.5.5.tgz", 2039 | "integrity": "sha512-6PxB65TAU4WO0Wzyr/4/YhlGovXl0EVYfpKbpSroSj0qBxT4/xod/l40Opkm38dRHRdQgdeY836M0uVnJQG7kg==", 2040 | "dev": true, 2041 | "requires": { 2042 | "babylon": "7.0.0-beta.19", 2043 | "bluebird": "~3.5.0", 2044 | "catharsis": "~0.8.9", 2045 | "escape-string-regexp": "~1.0.5", 2046 | "js2xmlparser": "~3.0.0", 2047 | "klaw": "~2.0.0", 2048 | "marked": "~0.3.6", 2049 | "mkdirp": "~0.5.1", 2050 | "requizzle": "~0.2.1", 2051 | "strip-json-comments": "~2.0.1", 2052 | "taffydb": "2.6.2", 2053 | "underscore": "~1.8.3" 2054 | } 2055 | }, 2056 | "jsdoc-api": { 2057 | "version": "4.0.3", 2058 | "resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-4.0.3.tgz", 2059 | "integrity": "sha512-dfYq9JgB+XahY0XfSEw93PmXmocjwYcvJ5aMuQUJ/OdDRGWamf2SSOk3W06Bsj8qdjp/UdefzqpP/mpwsvHuvA==", 2060 | "dev": true, 2061 | "requires": { 2062 | "array-back": "^2.0.0", 2063 | "cache-point": "^0.4.1", 2064 | "collect-all": "^1.0.3", 2065 | "file-set": "^2.0.0", 2066 | "fs-then-native": "^2.0.0", 2067 | "jsdoc": "~3.5.5", 2068 | "object-to-spawn-args": "^1.1.1", 2069 | "temp-path": "^1.0.0", 2070 | "walk-back": "^3.0.0" 2071 | } 2072 | }, 2073 | "jsdoc-parse": { 2074 | "version": "3.0.1", 2075 | "resolved": "https://registry.npmjs.org/jsdoc-parse/-/jsdoc-parse-3.0.1.tgz", 2076 | "integrity": "sha512-btZLp4wYl90vcAfgk4hoGQbO17iBVrhh3LJRMKZNtZgniO3F8H2CjxXld0owBIB1XxN+j3bAcWZnZKMnSj3iMA==", 2077 | "dev": true, 2078 | "requires": { 2079 | "array-back": "^2.0.0", 2080 | "lodash.omit": "^4.5.0", 2081 | "lodash.pick": "^4.4.0", 2082 | "reduce-extract": "^1.0.0", 2083 | "sort-array": "^2.0.0", 2084 | "test-value": "^3.0.0" 2085 | } 2086 | }, 2087 | "jsdoc-to-markdown": { 2088 | "version": "4.0.1", 2089 | "resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-4.0.1.tgz", 2090 | "integrity": "sha512-LHJRoLoLyDdxNcColgkLoB/rFG5iRP+PNJjMILI0x+95IdEAtyjSt0wJ6ZlKxRpkhBYtQXTQQ119hMqPIUZzTQ==", 2091 | "dev": true, 2092 | "requires": { 2093 | "array-back": "^2.0.0", 2094 | "command-line-tool": "^0.8.0", 2095 | "config-master": "^3.1.0", 2096 | "dmd": "^3.0.10", 2097 | "jsdoc-api": "^4.0.1", 2098 | "jsdoc-parse": "^3.0.1", 2099 | "walk-back": "^3.0.0" 2100 | } 2101 | }, 2102 | "json-schema": { 2103 | "version": "0.2.3", 2104 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", 2105 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", 2106 | "dev": true 2107 | }, 2108 | "json-schema-traverse": { 2109 | "version": "0.3.1", 2110 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", 2111 | "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", 2112 | "dev": true 2113 | }, 2114 | "json-stable-stringify-without-jsonify": { 2115 | "version": "1.0.1", 2116 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 2117 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 2118 | "dev": true 2119 | }, 2120 | "json-stringify-safe": { 2121 | "version": "5.0.1", 2122 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 2123 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", 2124 | "dev": true 2125 | }, 2126 | "jsonfile": { 2127 | "version": "4.0.0", 2128 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 2129 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", 2130 | "dev": true, 2131 | "requires": { 2132 | "graceful-fs": "^4.1.6" 2133 | } 2134 | }, 2135 | "jsonist": { 2136 | "version": "2.1.2", 2137 | "resolved": "https://registry.npmjs.org/jsonist/-/jsonist-2.1.2.tgz", 2138 | "integrity": "sha512-8yqmWJAC2VaYoSKQAbsfgCpGY5o/1etWzx6ZxaZrC4iGaHrHUZEo+a2MyF8w+2uTavTlHdLWaZUoR19UfBstxQ==", 2139 | "dev": true, 2140 | "requires": { 2141 | "bl": "~3.0.0", 2142 | "hyperquest": "~2.1.3", 2143 | "json-stringify-safe": "~5.0.1", 2144 | "xtend": "~4.0.1" 2145 | }, 2146 | "dependencies": { 2147 | "bl": { 2148 | "version": "3.0.1", 2149 | "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.1.tgz", 2150 | "integrity": "sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==", 2151 | "dev": true, 2152 | "requires": { 2153 | "readable-stream": "^3.0.1" 2154 | } 2155 | }, 2156 | "readable-stream": { 2157 | "version": "3.6.0", 2158 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 2159 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 2160 | "dev": true, 2161 | "requires": { 2162 | "inherits": "^2.0.3", 2163 | "string_decoder": "^1.1.1", 2164 | "util-deprecate": "^1.0.1" 2165 | } 2166 | } 2167 | } 2168 | }, 2169 | "jsprim": { 2170 | "version": "1.4.1", 2171 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", 2172 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", 2173 | "dev": true, 2174 | "requires": { 2175 | "assert-plus": "1.0.0", 2176 | "extsprintf": "1.3.0", 2177 | "json-schema": "0.2.3", 2178 | "verror": "1.10.0" 2179 | } 2180 | }, 2181 | "klaw": { 2182 | "version": "2.0.0", 2183 | "resolved": "https://registry.npmjs.org/klaw/-/klaw-2.0.0.tgz", 2184 | "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", 2185 | "dev": true, 2186 | "requires": { 2187 | "graceful-fs": "^4.1.9" 2188 | } 2189 | }, 2190 | "lcid": { 2191 | "version": "1.0.0", 2192 | "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", 2193 | "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", 2194 | "dev": true, 2195 | "requires": { 2196 | "invert-kv": "^1.0.0" 2197 | } 2198 | }, 2199 | "levn": { 2200 | "version": "0.3.0", 2201 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 2202 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 2203 | "dev": true, 2204 | "requires": { 2205 | "prelude-ls": "~1.1.2", 2206 | "type-check": "~0.3.2" 2207 | } 2208 | }, 2209 | "listenercount": { 2210 | "version": "1.0.1", 2211 | "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", 2212 | "integrity": "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=", 2213 | "dev": true 2214 | }, 2215 | "load-json-file": { 2216 | "version": "1.1.0", 2217 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", 2218 | "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", 2219 | "dev": true, 2220 | "requires": { 2221 | "graceful-fs": "^4.1.2", 2222 | "parse-json": "^2.2.0", 2223 | "pify": "^2.0.0", 2224 | "pinkie-promise": "^2.0.0", 2225 | "strip-bom": "^2.0.0" 2226 | } 2227 | }, 2228 | "lodash": { 2229 | "version": "4.17.10", 2230 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", 2231 | "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", 2232 | "dev": true 2233 | }, 2234 | "lodash.assign": { 2235 | "version": "4.2.0", 2236 | "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", 2237 | "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", 2238 | "dev": true 2239 | }, 2240 | "lodash.camelcase": { 2241 | "version": "4.3.0", 2242 | "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", 2243 | "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", 2244 | "dev": true 2245 | }, 2246 | "lodash.omit": { 2247 | "version": "4.5.0", 2248 | "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", 2249 | "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=", 2250 | "dev": true 2251 | }, 2252 | "lodash.pad": { 2253 | "version": "4.5.1", 2254 | "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", 2255 | "integrity": "sha1-QzCUmoM6fI2iLMIPaibE1Z3runA=", 2256 | "dev": true 2257 | }, 2258 | "lodash.padend": { 2259 | "version": "4.6.1", 2260 | "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", 2261 | "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=", 2262 | "dev": true 2263 | }, 2264 | "lodash.padstart": { 2265 | "version": "4.6.1", 2266 | "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", 2267 | "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=", 2268 | "dev": true 2269 | }, 2270 | "lodash.pick": { 2271 | "version": "4.4.0", 2272 | "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", 2273 | "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=", 2274 | "dev": true 2275 | }, 2276 | "lodash.uniq": { 2277 | "version": "4.5.0", 2278 | "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", 2279 | "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", 2280 | "dev": true 2281 | }, 2282 | "log-symbols": { 2283 | "version": "2.2.0", 2284 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", 2285 | "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", 2286 | "dev": true, 2287 | "requires": { 2288 | "chalk": "^2.0.1" 2289 | } 2290 | }, 2291 | "loud-rejection": { 2292 | "version": "1.6.0", 2293 | "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", 2294 | "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", 2295 | "dev": true, 2296 | "requires": { 2297 | "currently-unhandled": "^0.4.1", 2298 | "signal-exit": "^3.0.0" 2299 | } 2300 | }, 2301 | "lru-cache": { 2302 | "version": "4.1.3", 2303 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", 2304 | "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", 2305 | "dev": true, 2306 | "requires": { 2307 | "pseudomap": "^1.0.2", 2308 | "yallist": "^2.1.2" 2309 | } 2310 | }, 2311 | "map-obj": { 2312 | "version": "1.0.1", 2313 | "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", 2314 | "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", 2315 | "dev": true 2316 | }, 2317 | "marked": { 2318 | "version": "0.3.19", 2319 | "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", 2320 | "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==", 2321 | "dev": true 2322 | }, 2323 | "memory-stream": { 2324 | "version": "0.0.3", 2325 | "resolved": "https://registry.npmjs.org/memory-stream/-/memory-stream-0.0.3.tgz", 2326 | "integrity": "sha1-6+jdHDuLw4wOeUHp3dWuvmtN6D8=", 2327 | "dev": true, 2328 | "requires": { 2329 | "readable-stream": "~1.0.26-2" 2330 | }, 2331 | "dependencies": { 2332 | "isarray": { 2333 | "version": "0.0.1", 2334 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", 2335 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", 2336 | "dev": true 2337 | }, 2338 | "readable-stream": { 2339 | "version": "1.0.34", 2340 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", 2341 | "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", 2342 | "dev": true, 2343 | "requires": { 2344 | "core-util-is": "~1.0.0", 2345 | "inherits": "~2.0.1", 2346 | "isarray": "0.0.1", 2347 | "string_decoder": "~0.10.x" 2348 | } 2349 | }, 2350 | "string_decoder": { 2351 | "version": "0.10.31", 2352 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 2353 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", 2354 | "dev": true 2355 | } 2356 | } 2357 | }, 2358 | "meow": { 2359 | "version": "3.7.0", 2360 | "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", 2361 | "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", 2362 | "dev": true, 2363 | "requires": { 2364 | "camelcase-keys": "^2.0.0", 2365 | "decamelize": "^1.1.2", 2366 | "loud-rejection": "^1.0.0", 2367 | "map-obj": "^1.0.1", 2368 | "minimist": "^1.1.3", 2369 | "normalize-package-data": "^2.3.4", 2370 | "object-assign": "^4.0.1", 2371 | "read-pkg-up": "^1.0.1", 2372 | "redent": "^1.0.0", 2373 | "trim-newlines": "^1.0.0" 2374 | } 2375 | }, 2376 | "mime-db": { 2377 | "version": "1.35.0", 2378 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", 2379 | "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==", 2380 | "dev": true 2381 | }, 2382 | "mime-types": { 2383 | "version": "2.1.19", 2384 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", 2385 | "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", 2386 | "dev": true, 2387 | "requires": { 2388 | "mime-db": "~1.35.0" 2389 | } 2390 | }, 2391 | "mimic-fn": { 2392 | "version": "1.2.0", 2393 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", 2394 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", 2395 | "dev": true 2396 | }, 2397 | "mimic-response": { 2398 | "version": "1.0.1", 2399 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", 2400 | "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" 2401 | }, 2402 | "minimatch": { 2403 | "version": "3.0.4", 2404 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 2405 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 2406 | "dev": true, 2407 | "requires": { 2408 | "brace-expansion": "^1.1.7" 2409 | } 2410 | }, 2411 | "minimist": { 2412 | "version": "1.2.0", 2413 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 2414 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" 2415 | }, 2416 | "minipass": { 2417 | "version": "2.9.0", 2418 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", 2419 | "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", 2420 | "dev": true, 2421 | "requires": { 2422 | "safe-buffer": "^5.1.2", 2423 | "yallist": "^3.0.0" 2424 | }, 2425 | "dependencies": { 2426 | "yallist": { 2427 | "version": "3.1.1", 2428 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", 2429 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", 2430 | "dev": true 2431 | } 2432 | } 2433 | }, 2434 | "minizlib": { 2435 | "version": "1.3.3", 2436 | "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", 2437 | "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", 2438 | "dev": true, 2439 | "requires": { 2440 | "minipass": "^2.9.0" 2441 | } 2442 | }, 2443 | "mkdirp": { 2444 | "version": "0.5.1", 2445 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 2446 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 2447 | "requires": { 2448 | "minimist": "0.0.8" 2449 | }, 2450 | "dependencies": { 2451 | "minimist": { 2452 | "version": "0.0.8", 2453 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 2454 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" 2455 | } 2456 | } 2457 | }, 2458 | "mkdirp2": { 2459 | "version": "1.0.4", 2460 | "resolved": "https://registry.npmjs.org/mkdirp2/-/mkdirp2-1.0.4.tgz", 2461 | "integrity": "sha512-Q2PKB4ZR4UPtjLl76JfzlgSCUZhSV1AXQgAZa1qt5RiaALFjP/CDrGvFBrOz7Ck6McPcwMAxTsJvWOUjOU8XMw==", 2462 | "dev": true 2463 | }, 2464 | "ms": { 2465 | "version": "2.0.0", 2466 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2467 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 2468 | "dev": true 2469 | }, 2470 | "mute-stream": { 2471 | "version": "0.0.7", 2472 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 2473 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", 2474 | "dev": true 2475 | }, 2476 | "napi-build-utils": { 2477 | "version": "1.0.2", 2478 | "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", 2479 | "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", 2480 | "dev": true 2481 | }, 2482 | "natural-compare": { 2483 | "version": "1.4.0", 2484 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 2485 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 2486 | "dev": true 2487 | }, 2488 | "neo-async": { 2489 | "version": "2.6.2", 2490 | "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", 2491 | "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", 2492 | "dev": true 2493 | }, 2494 | "next-tick": { 2495 | "version": "1.0.0", 2496 | "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", 2497 | "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", 2498 | "dev": true 2499 | }, 2500 | "node-abi": { 2501 | "version": "2.19.1", 2502 | "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.19.1.tgz", 2503 | "integrity": "sha512-HbtmIuByq44yhAzK7b9j/FelKlHYISKQn0mtvcBrU5QBkhoCMp5bu8Hv5AI34DcKfOAcJBcOEMwLlwO62FFu9A==", 2504 | "requires": { 2505 | "semver": "^5.4.1" 2506 | } 2507 | }, 2508 | "node-gyp": { 2509 | "version": "3.8.0", 2510 | "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", 2511 | "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", 2512 | "dev": true, 2513 | "requires": { 2514 | "fstream": "^1.0.0", 2515 | "glob": "^7.0.3", 2516 | "graceful-fs": "^4.1.2", 2517 | "mkdirp": "^0.5.0", 2518 | "nopt": "2 || 3", 2519 | "npmlog": "0 || 1 || 2 || 3 || 4", 2520 | "osenv": "0", 2521 | "request": "^2.87.0", 2522 | "rimraf": "2", 2523 | "semver": "~5.3.0", 2524 | "tar": "^2.0.0", 2525 | "which": "1" 2526 | }, 2527 | "dependencies": { 2528 | "semver": { 2529 | "version": "5.3.0", 2530 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", 2531 | "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", 2532 | "dev": true 2533 | }, 2534 | "tar": { 2535 | "version": "2.2.1", 2536 | "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", 2537 | "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", 2538 | "dev": true, 2539 | "requires": { 2540 | "block-stream": "*", 2541 | "fstream": "^1.0.2", 2542 | "inherits": "2" 2543 | } 2544 | } 2545 | } 2546 | }, 2547 | "node-ninja": { 2548 | "version": "1.0.2", 2549 | "resolved": "https://registry.npmjs.org/node-ninja/-/node-ninja-1.0.2.tgz", 2550 | "integrity": "sha1-IKCeV7kuLfWRmT1L8JisPnJwYrY=", 2551 | "dev": true, 2552 | "requires": { 2553 | "fstream": "^1.0.0", 2554 | "glob": "3 || 4 || 5 || 6 || 7", 2555 | "graceful-fs": "^4.1.2", 2556 | "minimatch": "3", 2557 | "mkdirp": "^0.5.0", 2558 | "nopt": "2 || 3", 2559 | "npmlog": "0 || 1 || 2", 2560 | "osenv": "0", 2561 | "path-array": "^1.0.0", 2562 | "request": "2", 2563 | "rimraf": "2", 2564 | "semver": "2.x || 3.x || 4 || 5", 2565 | "tar": "^2.0.0", 2566 | "which": "1" 2567 | }, 2568 | "dependencies": { 2569 | "gauge": { 2570 | "version": "1.2.7", 2571 | "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", 2572 | "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=", 2573 | "dev": true, 2574 | "requires": { 2575 | "ansi": "^0.3.0", 2576 | "has-unicode": "^2.0.0", 2577 | "lodash.pad": "^4.1.0", 2578 | "lodash.padend": "^4.1.0", 2579 | "lodash.padstart": "^4.1.0" 2580 | } 2581 | }, 2582 | "npmlog": { 2583 | "version": "2.0.4", 2584 | "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", 2585 | "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=", 2586 | "dev": true, 2587 | "requires": { 2588 | "ansi": "~0.3.1", 2589 | "are-we-there-yet": "~1.1.2", 2590 | "gauge": "~1.2.5" 2591 | } 2592 | }, 2593 | "tar": { 2594 | "version": "2.2.2", 2595 | "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", 2596 | "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", 2597 | "dev": true, 2598 | "requires": { 2599 | "block-stream": "*", 2600 | "fstream": "^1.0.12", 2601 | "inherits": "2" 2602 | }, 2603 | "dependencies": { 2604 | "fstream": { 2605 | "version": "1.0.12", 2606 | "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", 2607 | "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", 2608 | "dev": true, 2609 | "requires": { 2610 | "graceful-fs": "^4.1.2", 2611 | "inherits": "~2.0.0", 2612 | "mkdirp": ">=0.5 0", 2613 | "rimraf": "2" 2614 | } 2615 | } 2616 | } 2617 | } 2618 | } 2619 | }, 2620 | "noop-logger": { 2621 | "version": "0.1.1", 2622 | "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", 2623 | "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=" 2624 | }, 2625 | "nopt": { 2626 | "version": "3.0.6", 2627 | "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", 2628 | "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", 2629 | "dev": true, 2630 | "requires": { 2631 | "abbrev": "1" 2632 | } 2633 | }, 2634 | "normalize-package-data": { 2635 | "version": "2.4.0", 2636 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", 2637 | "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", 2638 | "dev": true, 2639 | "requires": { 2640 | "hosted-git-info": "^2.1.4", 2641 | "is-builtin-module": "^1.0.0", 2642 | "semver": "2 || 3 || 4 || 5", 2643 | "validate-npm-package-license": "^3.0.1" 2644 | } 2645 | }, 2646 | "npm-path": { 2647 | "version": "2.0.4", 2648 | "resolved": "https://registry.npmjs.org/npm-path/-/npm-path-2.0.4.tgz", 2649 | "integrity": "sha512-IFsj0R9C7ZdR5cP+ET342q77uSRdtWOlWpih5eC+lu29tIDbNEgDbzgVJ5UFvYHWhxDZ5TFkJafFioO0pPQjCw==", 2650 | "dev": true, 2651 | "requires": { 2652 | "which": "^1.2.10" 2653 | } 2654 | }, 2655 | "npm-which": { 2656 | "version": "3.0.1", 2657 | "resolved": "https://registry.npmjs.org/npm-which/-/npm-which-3.0.1.tgz", 2658 | "integrity": "sha1-kiXybsOihcIJyuZ8OxGmtKtxQKo=", 2659 | "dev": true, 2660 | "requires": { 2661 | "commander": "^2.9.0", 2662 | "npm-path": "^2.0.2", 2663 | "which": "^1.2.10" 2664 | } 2665 | }, 2666 | "npmlog": { 2667 | "version": "4.1.2", 2668 | "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", 2669 | "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", 2670 | "requires": { 2671 | "are-we-there-yet": "~1.1.2", 2672 | "console-control-strings": "~1.1.0", 2673 | "gauge": "~2.7.3", 2674 | "set-blocking": "~2.0.0" 2675 | } 2676 | }, 2677 | "nugget": { 2678 | "version": "2.0.1", 2679 | "resolved": "https://registry.npmjs.org/nugget/-/nugget-2.0.1.tgz", 2680 | "integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=", 2681 | "dev": true, 2682 | "requires": { 2683 | "debug": "^2.1.3", 2684 | "minimist": "^1.1.0", 2685 | "pretty-bytes": "^1.0.2", 2686 | "progress-stream": "^1.1.0", 2687 | "request": "^2.45.0", 2688 | "single-line-log": "^1.1.2", 2689 | "throttleit": "0.0.2" 2690 | }, 2691 | "dependencies": { 2692 | "debug": { 2693 | "version": "2.6.9", 2694 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 2695 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 2696 | "dev": true, 2697 | "requires": { 2698 | "ms": "2.0.0" 2699 | } 2700 | } 2701 | } 2702 | }, 2703 | "number-is-nan": { 2704 | "version": "1.0.1", 2705 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 2706 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" 2707 | }, 2708 | "nw-gyp": { 2709 | "version": "3.6.5", 2710 | "resolved": "https://registry.npmjs.org/nw-gyp/-/nw-gyp-3.6.5.tgz", 2711 | "integrity": "sha512-vYrOIYJEKpq9CfaHuiqEjV1rBYgr6uaUrPhPRiznb91LujkAUqGhQ5QqDC1bLdd+zo9jf2H0Zkl2M5zQB7+CuQ==", 2712 | "dev": true, 2713 | "requires": { 2714 | "fstream": "^1.0.0", 2715 | "glob": "^7.0.3", 2716 | "graceful-fs": "^4.1.2", 2717 | "minimatch": "^3.0.2", 2718 | "mkdirp": "^0.5.0", 2719 | "nopt": "2 || 3", 2720 | "npmlog": "0 || 1 || 2 || 3 || 4", 2721 | "osenv": "0", 2722 | "request": "2", 2723 | "rimraf": "2", 2724 | "semver": "~5.3.0", 2725 | "tar": "^2.0.0", 2726 | "which": "1" 2727 | }, 2728 | "dependencies": { 2729 | "semver": { 2730 | "version": "5.3.0", 2731 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", 2732 | "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", 2733 | "dev": true 2734 | }, 2735 | "tar": { 2736 | "version": "2.2.2", 2737 | "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", 2738 | "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", 2739 | "dev": true, 2740 | "requires": { 2741 | "block-stream": "*", 2742 | "fstream": "^1.0.12", 2743 | "inherits": "2" 2744 | }, 2745 | "dependencies": { 2746 | "fstream": { 2747 | "version": "1.0.12", 2748 | "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", 2749 | "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", 2750 | "dev": true, 2751 | "requires": { 2752 | "graceful-fs": "^4.1.2", 2753 | "inherits": "~2.0.0", 2754 | "mkdirp": ">=0.5 0", 2755 | "rimraf": "2" 2756 | } 2757 | } 2758 | } 2759 | } 2760 | } 2761 | }, 2762 | "oauth-sign": { 2763 | "version": "0.9.0", 2764 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", 2765 | "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", 2766 | "dev": true 2767 | }, 2768 | "object-assign": { 2769 | "version": "4.1.1", 2770 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2771 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" 2772 | }, 2773 | "object-get": { 2774 | "version": "2.1.0", 2775 | "resolved": "https://registry.npmjs.org/object-get/-/object-get-2.1.0.tgz", 2776 | "integrity": "sha1-ciu9tgA576R8rTxtws5RqFwCxa4=", 2777 | "dev": true 2778 | }, 2779 | "object-keys": { 2780 | "version": "0.4.0", 2781 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", 2782 | "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", 2783 | "dev": true 2784 | }, 2785 | "object-to-spawn-args": { 2786 | "version": "1.1.1", 2787 | "resolved": "https://registry.npmjs.org/object-to-spawn-args/-/object-to-spawn-args-1.1.1.tgz", 2788 | "integrity": "sha1-d9qIJ/Bz0BHJ4bFz+JV4FHAkZ4U=", 2789 | "dev": true 2790 | }, 2791 | "once": { 2792 | "version": "1.4.0", 2793 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2794 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 2795 | "requires": { 2796 | "wrappy": "1" 2797 | } 2798 | }, 2799 | "onetime": { 2800 | "version": "2.0.1", 2801 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", 2802 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", 2803 | "dev": true, 2804 | "requires": { 2805 | "mimic-fn": "^1.0.0" 2806 | } 2807 | }, 2808 | "optionator": { 2809 | "version": "0.8.2", 2810 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", 2811 | "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", 2812 | "dev": true, 2813 | "requires": { 2814 | "deep-is": "~0.1.3", 2815 | "fast-levenshtein": "~2.0.4", 2816 | "levn": "~0.3.0", 2817 | "prelude-ls": "~1.1.2", 2818 | "type-check": "~0.3.2", 2819 | "wordwrap": "~1.0.0" 2820 | } 2821 | }, 2822 | "ora": { 2823 | "version": "1.4.0", 2824 | "resolved": "https://registry.npmjs.org/ora/-/ora-1.4.0.tgz", 2825 | "integrity": "sha512-iMK1DOQxzzh2MBlVsU42G80mnrvUhqsMh74phHtDlrcTZPK0pH6o7l7DRshK+0YsxDyEuaOkziVdvM3T0QTzpw==", 2826 | "dev": true, 2827 | "requires": { 2828 | "chalk": "^2.1.0", 2829 | "cli-cursor": "^2.1.0", 2830 | "cli-spinners": "^1.0.1", 2831 | "log-symbols": "^2.1.0" 2832 | } 2833 | }, 2834 | "os-homedir": { 2835 | "version": "1.0.2", 2836 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", 2837 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" 2838 | }, 2839 | "os-locale": { 2840 | "version": "1.4.0", 2841 | "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", 2842 | "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", 2843 | "dev": true, 2844 | "requires": { 2845 | "lcid": "^1.0.0" 2846 | } 2847 | }, 2848 | "os-tmpdir": { 2849 | "version": "1.0.2", 2850 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 2851 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 2852 | "dev": true 2853 | }, 2854 | "osenv": { 2855 | "version": "0.1.5", 2856 | "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", 2857 | "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", 2858 | "dev": true, 2859 | "requires": { 2860 | "os-homedir": "^1.0.0", 2861 | "os-tmpdir": "^1.0.0" 2862 | } 2863 | }, 2864 | "parse-json": { 2865 | "version": "2.2.0", 2866 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", 2867 | "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", 2868 | "dev": true, 2869 | "requires": { 2870 | "error-ex": "^1.2.0" 2871 | } 2872 | }, 2873 | "path-array": { 2874 | "version": "1.0.1", 2875 | "resolved": "https://registry.npmjs.org/path-array/-/path-array-1.0.1.tgz", 2876 | "integrity": "sha1-fi8PNfB6IBUSK4aLfqwOssT+wnE=", 2877 | "dev": true, 2878 | "requires": { 2879 | "array-index": "^1.0.0" 2880 | } 2881 | }, 2882 | "path-exists": { 2883 | "version": "2.1.0", 2884 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", 2885 | "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", 2886 | "dev": true, 2887 | "requires": { 2888 | "pinkie-promise": "^2.0.0" 2889 | } 2890 | }, 2891 | "path-is-absolute": { 2892 | "version": "1.0.1", 2893 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2894 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 2895 | "dev": true 2896 | }, 2897 | "path-is-inside": { 2898 | "version": "1.0.2", 2899 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 2900 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", 2901 | "dev": true 2902 | }, 2903 | "path-type": { 2904 | "version": "1.1.0", 2905 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", 2906 | "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", 2907 | "dev": true, 2908 | "requires": { 2909 | "graceful-fs": "^4.1.2", 2910 | "pify": "^2.0.0", 2911 | "pinkie-promise": "^2.0.0" 2912 | } 2913 | }, 2914 | "pend": { 2915 | "version": "1.2.0", 2916 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 2917 | "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", 2918 | "dev": true 2919 | }, 2920 | "performance-now": { 2921 | "version": "2.1.0", 2922 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", 2923 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", 2924 | "dev": true 2925 | }, 2926 | "pify": { 2927 | "version": "2.3.0", 2928 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 2929 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", 2930 | "dev": true 2931 | }, 2932 | "pinkie": { 2933 | "version": "2.0.4", 2934 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 2935 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", 2936 | "dev": true 2937 | }, 2938 | "pinkie-promise": { 2939 | "version": "2.0.1", 2940 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 2941 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 2942 | "dev": true, 2943 | "requires": { 2944 | "pinkie": "^2.0.0" 2945 | } 2946 | }, 2947 | "pluralize": { 2948 | "version": "7.0.0", 2949 | "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", 2950 | "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", 2951 | "dev": true 2952 | }, 2953 | "prebuild": { 2954 | "version": "10.0.1", 2955 | "resolved": "https://registry.npmjs.org/prebuild/-/prebuild-10.0.1.tgz", 2956 | "integrity": "sha512-x0CkKDmHFwX49rTGEYJwB9jBQwJWxRzwUtP5PA9dP8khFGMm3oSFgYortxdlp0PkxB29EhWGp/KQE5g+adehYg==", 2957 | "dev": true, 2958 | "requires": { 2959 | "cmake-js": "~5.2.0", 2960 | "detect-libc": "^1.0.3", 2961 | "each-series-async": "^1.0.1", 2962 | "execspawn": "^1.0.1", 2963 | "ghreleases": "^3.0.2", 2964 | "github-from-package": "0.0.0", 2965 | "glob": "^7.1.6", 2966 | "minimist": "^1.1.2", 2967 | "mkdirp": "^0.5.1", 2968 | "napi-build-utils": "^1.0.1", 2969 | "node-abi": "^2.2.0", 2970 | "node-gyp": "^6.0.1", 2971 | "node-ninja": "^1.0.1", 2972 | "noop-logger": "^0.1.0", 2973 | "npm-which": "^3.0.1", 2974 | "npmlog": "^4.0.1", 2975 | "nw-gyp": "^3.6.3", 2976 | "rc": "^1.0.3", 2977 | "run-waterfall": "^1.1.6", 2978 | "tar-stream": "^2.1.0" 2979 | }, 2980 | "dependencies": { 2981 | "bl": { 2982 | "version": "4.0.3", 2983 | "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.3.tgz", 2984 | "integrity": "sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==", 2985 | "dev": true, 2986 | "requires": { 2987 | "buffer": "^5.5.0", 2988 | "inherits": "^2.0.4", 2989 | "readable-stream": "^3.4.0" 2990 | }, 2991 | "dependencies": { 2992 | "inherits": { 2993 | "version": "2.0.4", 2994 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 2995 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 2996 | "dev": true 2997 | } 2998 | } 2999 | }, 3000 | "glob": { 3001 | "version": "7.1.6", 3002 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", 3003 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", 3004 | "dev": true, 3005 | "requires": { 3006 | "fs.realpath": "^1.0.0", 3007 | "inflight": "^1.0.4", 3008 | "inherits": "2", 3009 | "minimatch": "^3.0.4", 3010 | "once": "^1.3.0", 3011 | "path-is-absolute": "^1.0.0" 3012 | } 3013 | }, 3014 | "graceful-fs": { 3015 | "version": "4.2.4", 3016 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", 3017 | "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", 3018 | "dev": true 3019 | }, 3020 | "node-gyp": { 3021 | "version": "6.1.0", 3022 | "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-6.1.0.tgz", 3023 | "integrity": "sha512-h4A2zDlOujeeaaTx06r4Vy+8MZ1679lU+wbCKDS4ZtvY2A37DESo37oejIw0mtmR3+rvNwts5B6Kpt1KrNYdNw==", 3024 | "dev": true, 3025 | "requires": { 3026 | "env-paths": "^2.2.0", 3027 | "glob": "^7.1.4", 3028 | "graceful-fs": "^4.2.2", 3029 | "mkdirp": "^0.5.1", 3030 | "nopt": "^4.0.1", 3031 | "npmlog": "^4.1.2", 3032 | "request": "^2.88.0", 3033 | "rimraf": "^2.6.3", 3034 | "semver": "^5.7.1", 3035 | "tar": "^4.4.12", 3036 | "which": "^1.3.1" 3037 | } 3038 | }, 3039 | "nopt": { 3040 | "version": "4.0.3", 3041 | "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", 3042 | "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", 3043 | "dev": true, 3044 | "requires": { 3045 | "abbrev": "1", 3046 | "osenv": "^0.1.4" 3047 | } 3048 | }, 3049 | "readable-stream": { 3050 | "version": "3.6.0", 3051 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 3052 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 3053 | "dev": true, 3054 | "requires": { 3055 | "inherits": "^2.0.3", 3056 | "string_decoder": "^1.1.1", 3057 | "util-deprecate": "^1.0.1" 3058 | } 3059 | }, 3060 | "rimraf": { 3061 | "version": "2.7.1", 3062 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", 3063 | "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", 3064 | "dev": true, 3065 | "requires": { 3066 | "glob": "^7.1.3" 3067 | } 3068 | }, 3069 | "semver": { 3070 | "version": "5.7.1", 3071 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 3072 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 3073 | "dev": true 3074 | }, 3075 | "tar-stream": { 3076 | "version": "2.1.4", 3077 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.4.tgz", 3078 | "integrity": "sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw==", 3079 | "dev": true, 3080 | "requires": { 3081 | "bl": "^4.0.3", 3082 | "end-of-stream": "^1.4.1", 3083 | "fs-constants": "^1.0.0", 3084 | "inherits": "^2.0.3", 3085 | "readable-stream": "^3.1.1" 3086 | } 3087 | } 3088 | } 3089 | }, 3090 | "prebuild-install": { 3091 | "version": "5.0.0", 3092 | "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.0.0.tgz", 3093 | "integrity": "sha512-AvcPLFqNz/hDd6o7qLj8i9xB479P9jSjA/p6m4927CRfY3tsmPfyFmD7RKXtdp6I2d1BAIVBgJoj5mxRJDZL4w==", 3094 | "requires": { 3095 | "detect-libc": "^1.0.3", 3096 | "expand-template": "^1.0.2", 3097 | "github-from-package": "0.0.0", 3098 | "minimist": "^1.2.0", 3099 | "mkdirp": "^0.5.1", 3100 | "node-abi": "^2.2.0", 3101 | "noop-logger": "^0.1.1", 3102 | "npmlog": "^4.0.1", 3103 | "os-homedir": "^1.0.1", 3104 | "pump": "^2.0.1", 3105 | "rc": "^1.2.7", 3106 | "simple-get": "^2.7.0", 3107 | "tar-fs": "^1.13.0", 3108 | "tunnel-agent": "^0.6.0", 3109 | "which-pm-runs": "^1.0.0" 3110 | } 3111 | }, 3112 | "prelude-ls": { 3113 | "version": "1.1.2", 3114 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 3115 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", 3116 | "dev": true 3117 | }, 3118 | "pretty-bytes": { 3119 | "version": "1.0.4", 3120 | "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz", 3121 | "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=", 3122 | "dev": true, 3123 | "requires": { 3124 | "get-stdin": "^4.0.1", 3125 | "meow": "^3.1.0" 3126 | } 3127 | }, 3128 | "process-nextick-args": { 3129 | "version": "2.0.0", 3130 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", 3131 | "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" 3132 | }, 3133 | "progress": { 3134 | "version": "2.0.0", 3135 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", 3136 | "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", 3137 | "dev": true 3138 | }, 3139 | "progress-stream": { 3140 | "version": "1.2.0", 3141 | "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz", 3142 | "integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c=", 3143 | "dev": true, 3144 | "requires": { 3145 | "speedometer": "~0.1.2", 3146 | "through2": "~0.2.3" 3147 | }, 3148 | "dependencies": { 3149 | "isarray": { 3150 | "version": "0.0.1", 3151 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", 3152 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", 3153 | "dev": true 3154 | }, 3155 | "readable-stream": { 3156 | "version": "1.1.14", 3157 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", 3158 | "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", 3159 | "dev": true, 3160 | "requires": { 3161 | "core-util-is": "~1.0.0", 3162 | "inherits": "~2.0.1", 3163 | "isarray": "0.0.1", 3164 | "string_decoder": "~0.10.x" 3165 | } 3166 | }, 3167 | "string_decoder": { 3168 | "version": "0.10.31", 3169 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 3170 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", 3171 | "dev": true 3172 | }, 3173 | "through2": { 3174 | "version": "0.2.3", 3175 | "resolved": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz", 3176 | "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=", 3177 | "dev": true, 3178 | "requires": { 3179 | "readable-stream": "~1.1.9", 3180 | "xtend": "~2.1.1" 3181 | } 3182 | }, 3183 | "xtend": { 3184 | "version": "2.1.2", 3185 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", 3186 | "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", 3187 | "dev": true, 3188 | "requires": { 3189 | "object-keys": "~0.4.0" 3190 | } 3191 | } 3192 | } 3193 | }, 3194 | "pseudomap": { 3195 | "version": "1.0.2", 3196 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", 3197 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", 3198 | "dev": true 3199 | }, 3200 | "psl": { 3201 | "version": "1.1.29", 3202 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", 3203 | "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", 3204 | "dev": true 3205 | }, 3206 | "pump": { 3207 | "version": "2.0.1", 3208 | "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", 3209 | "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", 3210 | "requires": { 3211 | "end-of-stream": "^1.1.0", 3212 | "once": "^1.3.1" 3213 | } 3214 | }, 3215 | "punycode": { 3216 | "version": "1.4.1", 3217 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 3218 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", 3219 | "dev": true 3220 | }, 3221 | "qs": { 3222 | "version": "6.5.2", 3223 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", 3224 | "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", 3225 | "dev": true 3226 | }, 3227 | "rc": { 3228 | "version": "1.2.8", 3229 | "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", 3230 | "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", 3231 | "requires": { 3232 | "deep-extend": "^0.6.0", 3233 | "ini": "~1.3.0", 3234 | "minimist": "^1.2.0", 3235 | "strip-json-comments": "~2.0.1" 3236 | } 3237 | }, 3238 | "read-pkg": { 3239 | "version": "1.1.0", 3240 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", 3241 | "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", 3242 | "dev": true, 3243 | "requires": { 3244 | "load-json-file": "^1.0.0", 3245 | "normalize-package-data": "^2.3.2", 3246 | "path-type": "^1.0.0" 3247 | } 3248 | }, 3249 | "read-pkg-up": { 3250 | "version": "1.0.1", 3251 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", 3252 | "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", 3253 | "dev": true, 3254 | "requires": { 3255 | "find-up": "^1.0.0", 3256 | "read-pkg": "^1.0.0" 3257 | } 3258 | }, 3259 | "readable-stream": { 3260 | "version": "2.3.6", 3261 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", 3262 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", 3263 | "requires": { 3264 | "core-util-is": "~1.0.0", 3265 | "inherits": "~2.0.3", 3266 | "isarray": "~1.0.0", 3267 | "process-nextick-args": "~2.0.0", 3268 | "safe-buffer": "~5.1.1", 3269 | "string_decoder": "~1.1.1", 3270 | "util-deprecate": "~1.0.1" 3271 | } 3272 | }, 3273 | "redent": { 3274 | "version": "1.0.0", 3275 | "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", 3276 | "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", 3277 | "dev": true, 3278 | "requires": { 3279 | "indent-string": "^2.1.0", 3280 | "strip-indent": "^1.0.1" 3281 | } 3282 | }, 3283 | "reduce-extract": { 3284 | "version": "1.0.0", 3285 | "resolved": "https://registry.npmjs.org/reduce-extract/-/reduce-extract-1.0.0.tgz", 3286 | "integrity": "sha1-Z/I4W+2mUGG19fQxJmLosIDKFSU=", 3287 | "dev": true, 3288 | "requires": { 3289 | "test-value": "^1.0.1" 3290 | }, 3291 | "dependencies": { 3292 | "array-back": { 3293 | "version": "1.0.4", 3294 | "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", 3295 | "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", 3296 | "dev": true, 3297 | "requires": { 3298 | "typical": "^2.6.0" 3299 | } 3300 | }, 3301 | "test-value": { 3302 | "version": "1.1.0", 3303 | "resolved": "https://registry.npmjs.org/test-value/-/test-value-1.1.0.tgz", 3304 | "integrity": "sha1-oJE29y7AQ9J8iTcHwrFZv6196T8=", 3305 | "dev": true, 3306 | "requires": { 3307 | "array-back": "^1.0.2", 3308 | "typical": "^2.4.2" 3309 | } 3310 | } 3311 | } 3312 | }, 3313 | "reduce-flatten": { 3314 | "version": "1.0.1", 3315 | "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-1.0.1.tgz", 3316 | "integrity": "sha1-JYx479FT3fk8tWEjf2EYTzaW4yc=", 3317 | "dev": true 3318 | }, 3319 | "reduce-unique": { 3320 | "version": "1.0.0", 3321 | "resolved": "https://registry.npmjs.org/reduce-unique/-/reduce-unique-1.0.0.tgz", 3322 | "integrity": "sha1-flhrz4ek4ytter2Cd/rWzeyfSAM=", 3323 | "dev": true 3324 | }, 3325 | "reduce-without": { 3326 | "version": "1.0.1", 3327 | "resolved": "https://registry.npmjs.org/reduce-without/-/reduce-without-1.0.1.tgz", 3328 | "integrity": "sha1-aK0OrRGFXJo31OglbBW7+Hly/Iw=", 3329 | "dev": true, 3330 | "requires": { 3331 | "test-value": "^2.0.0" 3332 | }, 3333 | "dependencies": { 3334 | "array-back": { 3335 | "version": "1.0.4", 3336 | "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", 3337 | "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", 3338 | "dev": true, 3339 | "requires": { 3340 | "typical": "^2.6.0" 3341 | } 3342 | }, 3343 | "test-value": { 3344 | "version": "2.1.0", 3345 | "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz", 3346 | "integrity": "sha1-Edpv9nDzRxpztiXKTz/c97t0gpE=", 3347 | "dev": true, 3348 | "requires": { 3349 | "array-back": "^1.0.3", 3350 | "typical": "^2.6.0" 3351 | } 3352 | } 3353 | } 3354 | }, 3355 | "regexpp": { 3356 | "version": "1.1.0", 3357 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", 3358 | "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", 3359 | "dev": true 3360 | }, 3361 | "repeating": { 3362 | "version": "2.0.1", 3363 | "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", 3364 | "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", 3365 | "dev": true, 3366 | "requires": { 3367 | "is-finite": "^1.0.0" 3368 | } 3369 | }, 3370 | "request": { 3371 | "version": "2.88.0", 3372 | "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", 3373 | "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", 3374 | "dev": true, 3375 | "requires": { 3376 | "aws-sign2": "~0.7.0", 3377 | "aws4": "^1.8.0", 3378 | "caseless": "~0.12.0", 3379 | "combined-stream": "~1.0.6", 3380 | "extend": "~3.0.2", 3381 | "forever-agent": "~0.6.1", 3382 | "form-data": "~2.3.2", 3383 | "har-validator": "~5.1.0", 3384 | "http-signature": "~1.2.0", 3385 | "is-typedarray": "~1.0.0", 3386 | "isstream": "~0.1.2", 3387 | "json-stringify-safe": "~5.0.1", 3388 | "mime-types": "~2.1.19", 3389 | "oauth-sign": "~0.9.0", 3390 | "performance-now": "^2.1.0", 3391 | "qs": "~6.5.2", 3392 | "safe-buffer": "^5.1.2", 3393 | "tough-cookie": "~2.4.3", 3394 | "tunnel-agent": "^0.6.0", 3395 | "uuid": "^3.3.2" 3396 | } 3397 | }, 3398 | "require-directory": { 3399 | "version": "2.1.1", 3400 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 3401 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", 3402 | "dev": true 3403 | }, 3404 | "require-main-filename": { 3405 | "version": "1.0.1", 3406 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", 3407 | "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", 3408 | "dev": true 3409 | }, 3410 | "require-uncached": { 3411 | "version": "1.0.3", 3412 | "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", 3413 | "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", 3414 | "dev": true, 3415 | "requires": { 3416 | "caller-path": "^0.1.0", 3417 | "resolve-from": "^1.0.0" 3418 | } 3419 | }, 3420 | "requizzle": { 3421 | "version": "0.2.1", 3422 | "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.1.tgz", 3423 | "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", 3424 | "dev": true, 3425 | "requires": { 3426 | "underscore": "~1.6.0" 3427 | }, 3428 | "dependencies": { 3429 | "underscore": { 3430 | "version": "1.6.0", 3431 | "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", 3432 | "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", 3433 | "dev": true 3434 | } 3435 | } 3436 | }, 3437 | "resolve-from": { 3438 | "version": "1.0.1", 3439 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", 3440 | "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", 3441 | "dev": true 3442 | }, 3443 | "restore-cursor": { 3444 | "version": "2.0.0", 3445 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", 3446 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", 3447 | "dev": true, 3448 | "requires": { 3449 | "onetime": "^2.0.0", 3450 | "signal-exit": "^3.0.2" 3451 | } 3452 | }, 3453 | "rimraf": { 3454 | "version": "2.6.2", 3455 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", 3456 | "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", 3457 | "dev": true, 3458 | "requires": { 3459 | "glob": "^7.0.5" 3460 | } 3461 | }, 3462 | "rsvp": { 3463 | "version": "3.6.2", 3464 | "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", 3465 | "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==", 3466 | "dev": true 3467 | }, 3468 | "run-async": { 3469 | "version": "2.3.0", 3470 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", 3471 | "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", 3472 | "dev": true, 3473 | "requires": { 3474 | "is-promise": "^2.1.0" 3475 | } 3476 | }, 3477 | "run-waterfall": { 3478 | "version": "1.1.6", 3479 | "resolved": "https://registry.npmjs.org/run-waterfall/-/run-waterfall-1.1.6.tgz", 3480 | "integrity": "sha512-dApPbpIK0hbFi2zqfJxrsnfmJW2HCQHFrSsmqF3Fp9TKm5WVf++zE6BSw0hPcA7rPapO37h12Swk2E6Va3tF7Q==", 3481 | "dev": true 3482 | }, 3483 | "rx-lite": { 3484 | "version": "4.0.8", 3485 | "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", 3486 | "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", 3487 | "dev": true 3488 | }, 3489 | "rx-lite-aggregates": { 3490 | "version": "4.0.8", 3491 | "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", 3492 | "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", 3493 | "dev": true, 3494 | "requires": { 3495 | "rx-lite": "*" 3496 | } 3497 | }, 3498 | "rxjs": { 3499 | "version": "5.5.11", 3500 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.11.tgz", 3501 | "integrity": "sha512-3bjO7UwWfA2CV7lmwYMBzj4fQ6Cq+ftHc2MvUe+WMS7wcdJ1LosDWmdjPQanYp2dBRj572p7PeU81JUxHKOcBA==", 3502 | "dev": true, 3503 | "requires": { 3504 | "symbol-observable": "1.0.1" 3505 | } 3506 | }, 3507 | "safe-buffer": { 3508 | "version": "5.1.2", 3509 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 3510 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 3511 | }, 3512 | "safer-buffer": { 3513 | "version": "2.1.2", 3514 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 3515 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 3516 | "dev": true 3517 | }, 3518 | "semver": { 3519 | "version": "5.5.0", 3520 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", 3521 | "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" 3522 | }, 3523 | "set-blocking": { 3524 | "version": "2.0.0", 3525 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 3526 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" 3527 | }, 3528 | "setimmediate": { 3529 | "version": "1.0.5", 3530 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", 3531 | "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", 3532 | "dev": true 3533 | }, 3534 | "shebang-command": { 3535 | "version": "1.2.0", 3536 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 3537 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 3538 | "dev": true, 3539 | "requires": { 3540 | "shebang-regex": "^1.0.0" 3541 | } 3542 | }, 3543 | "shebang-regex": { 3544 | "version": "1.0.0", 3545 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 3546 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 3547 | "dev": true 3548 | }, 3549 | "signal-exit": { 3550 | "version": "3.0.2", 3551 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 3552 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" 3553 | }, 3554 | "simple-concat": { 3555 | "version": "1.0.0", 3556 | "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", 3557 | "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=" 3558 | }, 3559 | "simple-get": { 3560 | "version": "2.8.1", 3561 | "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", 3562 | "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", 3563 | "requires": { 3564 | "decompress-response": "^3.3.0", 3565 | "once": "^1.3.1", 3566 | "simple-concat": "^1.0.0" 3567 | } 3568 | }, 3569 | "simple-mime": { 3570 | "version": "0.1.0", 3571 | "resolved": "https://registry.npmjs.org/simple-mime/-/simple-mime-0.1.0.tgz", 3572 | "integrity": "sha1-lfUXxPRm18/1YacfydqyWW6p7y4=", 3573 | "dev": true 3574 | }, 3575 | "single-line-log": { 3576 | "version": "1.1.2", 3577 | "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz", 3578 | "integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=", 3579 | "dev": true, 3580 | "requires": { 3581 | "string-width": "^1.0.1" 3582 | } 3583 | }, 3584 | "slice-ansi": { 3585 | "version": "1.0.0", 3586 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", 3587 | "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", 3588 | "dev": true, 3589 | "requires": { 3590 | "is-fullwidth-code-point": "^2.0.0" 3591 | }, 3592 | "dependencies": { 3593 | "is-fullwidth-code-point": { 3594 | "version": "2.0.0", 3595 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 3596 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 3597 | "dev": true 3598 | } 3599 | } 3600 | }, 3601 | "sort-array": { 3602 | "version": "2.0.0", 3603 | "resolved": "https://registry.npmjs.org/sort-array/-/sort-array-2.0.0.tgz", 3604 | "integrity": "sha1-OKnG2if9fRR7QuYFVPKBGHtN9HI=", 3605 | "dev": true, 3606 | "requires": { 3607 | "array-back": "^1.0.4", 3608 | "object-get": "^2.1.0", 3609 | "typical": "^2.6.0" 3610 | }, 3611 | "dependencies": { 3612 | "array-back": { 3613 | "version": "1.0.4", 3614 | "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", 3615 | "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", 3616 | "dev": true, 3617 | "requires": { 3618 | "typical": "^2.6.0" 3619 | } 3620 | } 3621 | } 3622 | }, 3623 | "source-map": { 3624 | "version": "0.1.32", 3625 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", 3626 | "integrity": "sha1-yLbBZ3l7pHQKjqMyUhYv8IWRsmY=", 3627 | "dev": true, 3628 | "requires": { 3629 | "amdefine": ">=0.0.4" 3630 | } 3631 | }, 3632 | "source-map-support": { 3633 | "version": "0.2.10", 3634 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.2.10.tgz", 3635 | "integrity": "sha1-6lo5AKHByyUJagrozFwrSxDe09w=", 3636 | "dev": true, 3637 | "requires": { 3638 | "source-map": "0.1.32" 3639 | } 3640 | }, 3641 | "spawn-rx": { 3642 | "version": "2.0.12", 3643 | "resolved": "https://registry.npmjs.org/spawn-rx/-/spawn-rx-2.0.12.tgz", 3644 | "integrity": "sha512-gOPXiQQFQ9lTOLuys0iMn3jfxxv9c7zzwhbYLOEbQGvEShHVJ5sSR1oD3Daj88os7jKArDYT7rbOKdvNhe7iEg==", 3645 | "dev": true, 3646 | "requires": { 3647 | "debug": "^2.5.1", 3648 | "lodash.assign": "^4.2.0", 3649 | "rxjs": "^5.1.1" 3650 | }, 3651 | "dependencies": { 3652 | "debug": { 3653 | "version": "2.6.9", 3654 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 3655 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 3656 | "dev": true, 3657 | "requires": { 3658 | "ms": "2.0.0" 3659 | } 3660 | } 3661 | } 3662 | }, 3663 | "spdx-correct": { 3664 | "version": "3.0.0", 3665 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", 3666 | "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", 3667 | "dev": true, 3668 | "requires": { 3669 | "spdx-expression-parse": "^3.0.0", 3670 | "spdx-license-ids": "^3.0.0" 3671 | } 3672 | }, 3673 | "spdx-exceptions": { 3674 | "version": "2.1.0", 3675 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", 3676 | "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", 3677 | "dev": true 3678 | }, 3679 | "spdx-expression-parse": { 3680 | "version": "3.0.0", 3681 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", 3682 | "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", 3683 | "dev": true, 3684 | "requires": { 3685 | "spdx-exceptions": "^2.1.0", 3686 | "spdx-license-ids": "^3.0.0" 3687 | } 3688 | }, 3689 | "spdx-license-ids": { 3690 | "version": "3.0.0", 3691 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", 3692 | "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", 3693 | "dev": true 3694 | }, 3695 | "speedometer": { 3696 | "version": "0.1.4", 3697 | "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-0.1.4.tgz", 3698 | "integrity": "sha1-mHbb0qFp0xFUAtSObqYynIgWpQ0=", 3699 | "dev": true 3700 | }, 3701 | "splitargs": { 3702 | "version": "0.0.7", 3703 | "resolved": "https://registry.npmjs.org/splitargs/-/splitargs-0.0.7.tgz", 3704 | "integrity": "sha1-/p965lc3GzOxDLgNoUPPgknPazs=", 3705 | "dev": true 3706 | }, 3707 | "sprintf-js": { 3708 | "version": "1.0.3", 3709 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 3710 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 3711 | "dev": true 3712 | }, 3713 | "sshpk": { 3714 | "version": "1.14.2", 3715 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", 3716 | "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", 3717 | "dev": true, 3718 | "requires": { 3719 | "asn1": "~0.2.3", 3720 | "assert-plus": "^1.0.0", 3721 | "bcrypt-pbkdf": "^1.0.0", 3722 | "dashdash": "^1.12.0", 3723 | "ecc-jsbn": "~0.1.1", 3724 | "getpass": "^0.1.1", 3725 | "jsbn": "~0.1.0", 3726 | "safer-buffer": "^2.0.2", 3727 | "tweetnacl": "~0.14.0" 3728 | } 3729 | }, 3730 | "stream-connect": { 3731 | "version": "1.0.2", 3732 | "resolved": "https://registry.npmjs.org/stream-connect/-/stream-connect-1.0.2.tgz", 3733 | "integrity": "sha1-GLyB8u2zW4tdmoAJIAqYUxRCipc=", 3734 | "dev": true, 3735 | "requires": { 3736 | "array-back": "^1.0.2" 3737 | }, 3738 | "dependencies": { 3739 | "array-back": { 3740 | "version": "1.0.4", 3741 | "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", 3742 | "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", 3743 | "dev": true, 3744 | "requires": { 3745 | "typical": "^2.6.0" 3746 | } 3747 | } 3748 | } 3749 | }, 3750 | "stream-via": { 3751 | "version": "1.0.4", 3752 | "resolved": "https://registry.npmjs.org/stream-via/-/stream-via-1.0.4.tgz", 3753 | "integrity": "sha512-DBp0lSvX5G9KGRDTkR/R+a29H+Wk2xItOF+MpZLLNDWbEV9tGPnqLPxHEYjmiz8xGtJHRIqmI+hCjmNzqoA4nQ==", 3754 | "dev": true 3755 | }, 3756 | "string-width": { 3757 | "version": "1.0.2", 3758 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", 3759 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", 3760 | "requires": { 3761 | "code-point-at": "^1.0.0", 3762 | "is-fullwidth-code-point": "^1.0.0", 3763 | "strip-ansi": "^3.0.0" 3764 | } 3765 | }, 3766 | "string_decoder": { 3767 | "version": "1.1.1", 3768 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 3769 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 3770 | "requires": { 3771 | "safe-buffer": "~5.1.0" 3772 | } 3773 | }, 3774 | "strip-ansi": { 3775 | "version": "3.0.1", 3776 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 3777 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 3778 | "requires": { 3779 | "ansi-regex": "^2.0.0" 3780 | } 3781 | }, 3782 | "strip-bom": { 3783 | "version": "2.0.0", 3784 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", 3785 | "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", 3786 | "dev": true, 3787 | "requires": { 3788 | "is-utf8": "^0.2.0" 3789 | } 3790 | }, 3791 | "strip-indent": { 3792 | "version": "1.0.1", 3793 | "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", 3794 | "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", 3795 | "dev": true, 3796 | "requires": { 3797 | "get-stdin": "^4.0.1" 3798 | } 3799 | }, 3800 | "strip-json-comments": { 3801 | "version": "2.0.1", 3802 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 3803 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" 3804 | }, 3805 | "sumchecker": { 3806 | "version": "1.3.1", 3807 | "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-1.3.1.tgz", 3808 | "integrity": "sha1-ebs7RFbdBPGOvbwNcDodHa7FEF0=", 3809 | "dev": true, 3810 | "requires": { 3811 | "debug": "^2.2.0", 3812 | "es6-promise": "^4.0.5" 3813 | }, 3814 | "dependencies": { 3815 | "debug": { 3816 | "version": "2.6.9", 3817 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 3818 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 3819 | "dev": true, 3820 | "requires": { 3821 | "ms": "2.0.0" 3822 | } 3823 | } 3824 | } 3825 | }, 3826 | "supports-color": { 3827 | "version": "2.0.0", 3828 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 3829 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 3830 | "dev": true 3831 | }, 3832 | "symbol-observable": { 3833 | "version": "1.0.1", 3834 | "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", 3835 | "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", 3836 | "dev": true 3837 | }, 3838 | "table": { 3839 | "version": "4.0.2", 3840 | "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", 3841 | "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", 3842 | "dev": true, 3843 | "requires": { 3844 | "ajv": "^5.2.3", 3845 | "ajv-keywords": "^2.1.0", 3846 | "chalk": "^2.1.0", 3847 | "lodash": "^4.17.4", 3848 | "slice-ansi": "1.0.0", 3849 | "string-width": "^2.1.1" 3850 | }, 3851 | "dependencies": { 3852 | "ansi-regex": { 3853 | "version": "3.0.0", 3854 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 3855 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 3856 | "dev": true 3857 | }, 3858 | "is-fullwidth-code-point": { 3859 | "version": "2.0.0", 3860 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 3861 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 3862 | "dev": true 3863 | }, 3864 | "string-width": { 3865 | "version": "2.1.1", 3866 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 3867 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 3868 | "dev": true, 3869 | "requires": { 3870 | "is-fullwidth-code-point": "^2.0.0", 3871 | "strip-ansi": "^4.0.0" 3872 | } 3873 | }, 3874 | "strip-ansi": { 3875 | "version": "4.0.0", 3876 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 3877 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 3878 | "dev": true, 3879 | "requires": { 3880 | "ansi-regex": "^3.0.0" 3881 | } 3882 | } 3883 | } 3884 | }, 3885 | "table-layout": { 3886 | "version": "0.4.4", 3887 | "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-0.4.4.tgz", 3888 | "integrity": "sha512-uNaR3SRMJwfdp9OUr36eyEi6LLsbcTqTO/hfTsNviKsNeyMBPICJCC7QXRF3+07bAP6FRwA8rczJPBqXDc0CkQ==", 3889 | "dev": true, 3890 | "requires": { 3891 | "array-back": "^2.0.0", 3892 | "deep-extend": "~0.6.0", 3893 | "lodash.padend": "^4.6.1", 3894 | "typical": "^2.6.1", 3895 | "wordwrapjs": "^3.0.0" 3896 | } 3897 | }, 3898 | "taffydb": { 3899 | "version": "2.6.2", 3900 | "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", 3901 | "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", 3902 | "dev": true 3903 | }, 3904 | "tar": { 3905 | "version": "4.4.13", 3906 | "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", 3907 | "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", 3908 | "dev": true, 3909 | "requires": { 3910 | "chownr": "^1.1.1", 3911 | "fs-minipass": "^1.2.5", 3912 | "minipass": "^2.8.6", 3913 | "minizlib": "^1.2.1", 3914 | "mkdirp": "^0.5.0", 3915 | "safe-buffer": "^5.1.2", 3916 | "yallist": "^3.0.3" 3917 | }, 3918 | "dependencies": { 3919 | "chownr": { 3920 | "version": "1.1.4", 3921 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", 3922 | "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", 3923 | "dev": true 3924 | }, 3925 | "yallist": { 3926 | "version": "3.1.1", 3927 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", 3928 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", 3929 | "dev": true 3930 | } 3931 | } 3932 | }, 3933 | "tar-fs": { 3934 | "version": "1.16.3", 3935 | "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", 3936 | "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", 3937 | "requires": { 3938 | "chownr": "^1.0.1", 3939 | "mkdirp": "^0.5.1", 3940 | "pump": "^1.0.0", 3941 | "tar-stream": "^1.1.2" 3942 | }, 3943 | "dependencies": { 3944 | "pump": { 3945 | "version": "1.0.3", 3946 | "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", 3947 | "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", 3948 | "requires": { 3949 | "end-of-stream": "^1.1.0", 3950 | "once": "^1.3.1" 3951 | } 3952 | } 3953 | } 3954 | }, 3955 | "tar-stream": { 3956 | "version": "1.6.1", 3957 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.1.tgz", 3958 | "integrity": "sha512-IFLM5wp3QrJODQFPm6/to3LJZrONdBY/otxcvDIQzu217zKye6yVR3hhi9lAjrC2Z+m/j5oDxMPb1qcd8cIvpA==", 3959 | "requires": { 3960 | "bl": "^1.0.0", 3961 | "buffer-alloc": "^1.1.0", 3962 | "end-of-stream": "^1.0.0", 3963 | "fs-constants": "^1.0.0", 3964 | "readable-stream": "^2.3.0", 3965 | "to-buffer": "^1.1.0", 3966 | "xtend": "^4.0.0" 3967 | } 3968 | }, 3969 | "temp-path": { 3970 | "version": "1.0.0", 3971 | "resolved": "https://registry.npmjs.org/temp-path/-/temp-path-1.0.0.tgz", 3972 | "integrity": "sha1-JLFUOXOrRCiW2a02fdnL2/r+kYs=", 3973 | "dev": true 3974 | }, 3975 | "test-value": { 3976 | "version": "3.0.0", 3977 | "resolved": "https://registry.npmjs.org/test-value/-/test-value-3.0.0.tgz", 3978 | "integrity": "sha512-sVACdAWcZkSU9x7AOmJo5TqE+GyNJknHaHsMrR6ZnhjVlVN9Yx6FjHrsKZ3BjIpPCT68zYesPWkakrNupwfOTQ==", 3979 | "dev": true, 3980 | "requires": { 3981 | "array-back": "^2.0.0", 3982 | "typical": "^2.6.1" 3983 | } 3984 | }, 3985 | "text-table": { 3986 | "version": "0.2.0", 3987 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 3988 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 3989 | "dev": true 3990 | }, 3991 | "throttleit": { 3992 | "version": "0.0.2", 3993 | "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz", 3994 | "integrity": "sha1-z+34jmDADdlpe2H90qg0OptoDq8=", 3995 | "dev": true 3996 | }, 3997 | "through": { 3998 | "version": "2.3.8", 3999 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 4000 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 4001 | "dev": true 4002 | }, 4003 | "through2": { 4004 | "version": "0.6.5", 4005 | "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", 4006 | "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", 4007 | "dev": true, 4008 | "requires": { 4009 | "readable-stream": ">=1.0.33-1 <1.1.0-0", 4010 | "xtend": ">=4.0.0 <4.1.0-0" 4011 | }, 4012 | "dependencies": { 4013 | "isarray": { 4014 | "version": "0.0.1", 4015 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", 4016 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", 4017 | "dev": true 4018 | }, 4019 | "readable-stream": { 4020 | "version": "1.0.34", 4021 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", 4022 | "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", 4023 | "dev": true, 4024 | "requires": { 4025 | "core-util-is": "~1.0.0", 4026 | "inherits": "~2.0.1", 4027 | "isarray": "0.0.1", 4028 | "string_decoder": "~0.10.x" 4029 | } 4030 | }, 4031 | "string_decoder": { 4032 | "version": "0.10.31", 4033 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 4034 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", 4035 | "dev": true 4036 | } 4037 | } 4038 | }, 4039 | "tmp": { 4040 | "version": "0.0.33", 4041 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 4042 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 4043 | "dev": true, 4044 | "requires": { 4045 | "os-tmpdir": "~1.0.2" 4046 | } 4047 | }, 4048 | "to-buffer": { 4049 | "version": "1.1.1", 4050 | "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", 4051 | "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" 4052 | }, 4053 | "tough-cookie": { 4054 | "version": "2.4.3", 4055 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", 4056 | "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", 4057 | "dev": true, 4058 | "requires": { 4059 | "psl": "^1.1.24", 4060 | "punycode": "^1.4.1" 4061 | } 4062 | }, 4063 | "traceur": { 4064 | "version": "0.0.111", 4065 | "resolved": "https://registry.npmjs.org/traceur/-/traceur-0.0.111.tgz", 4066 | "integrity": "sha1-wE3nTRRpbDNzQn3k/Ajsr5E/w6E=", 4067 | "dev": true, 4068 | "requires": { 4069 | "commander": "2.9.x", 4070 | "glob": "5.0.x", 4071 | "rsvp": "^3.0.13", 4072 | "semver": "^4.3.3", 4073 | "source-map-support": "~0.2.8" 4074 | }, 4075 | "dependencies": { 4076 | "glob": { 4077 | "version": "5.0.15", 4078 | "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", 4079 | "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", 4080 | "dev": true, 4081 | "requires": { 4082 | "inflight": "^1.0.4", 4083 | "inherits": "2", 4084 | "minimatch": "2 || 3", 4085 | "once": "^1.3.0", 4086 | "path-is-absolute": "^1.0.0" 4087 | } 4088 | }, 4089 | "semver": { 4090 | "version": "4.3.6", 4091 | "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", 4092 | "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", 4093 | "dev": true 4094 | } 4095 | } 4096 | }, 4097 | "traverse": { 4098 | "version": "0.3.9", 4099 | "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", 4100 | "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=", 4101 | "dev": true 4102 | }, 4103 | "trim-newlines": { 4104 | "version": "1.0.0", 4105 | "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", 4106 | "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", 4107 | "dev": true 4108 | }, 4109 | "tunnel-agent": { 4110 | "version": "0.6.0", 4111 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 4112 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 4113 | "requires": { 4114 | "safe-buffer": "^5.0.1" 4115 | } 4116 | }, 4117 | "tweetnacl": { 4118 | "version": "0.14.5", 4119 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 4120 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", 4121 | "dev": true, 4122 | "optional": true 4123 | }, 4124 | "type": { 4125 | "version": "1.2.0", 4126 | "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", 4127 | "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", 4128 | "dev": true 4129 | }, 4130 | "type-check": { 4131 | "version": "0.3.2", 4132 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 4133 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 4134 | "dev": true, 4135 | "requires": { 4136 | "prelude-ls": "~1.1.2" 4137 | } 4138 | }, 4139 | "typedarray": { 4140 | "version": "0.0.6", 4141 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", 4142 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", 4143 | "dev": true 4144 | }, 4145 | "typical": { 4146 | "version": "2.6.1", 4147 | "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", 4148 | "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=", 4149 | "dev": true 4150 | }, 4151 | "underscore": { 4152 | "version": "1.8.3", 4153 | "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", 4154 | "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", 4155 | "dev": true 4156 | }, 4157 | "underscore-contrib": { 4158 | "version": "0.3.0", 4159 | "resolved": "https://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.3.0.tgz", 4160 | "integrity": "sha1-ZltmwkeD+PorGMn4y7Dix9SMJsc=", 4161 | "dev": true, 4162 | "requires": { 4163 | "underscore": "1.6.0" 4164 | }, 4165 | "dependencies": { 4166 | "underscore": { 4167 | "version": "1.6.0", 4168 | "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", 4169 | "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", 4170 | "dev": true 4171 | } 4172 | } 4173 | }, 4174 | "universalify": { 4175 | "version": "0.1.2", 4176 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 4177 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", 4178 | "dev": true 4179 | }, 4180 | "unzipper": { 4181 | "version": "0.8.14", 4182 | "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.8.14.tgz", 4183 | "integrity": "sha512-8rFtE7EP5ssOwGpN2dt1Q4njl0N1hUXJ7sSPz0leU2hRdq6+pra57z4YPBlVqm40vcgv6ooKZEAx48fMTv9x4w==", 4184 | "dev": true, 4185 | "requires": { 4186 | "big-integer": "^1.6.17", 4187 | "binary": "~0.3.0", 4188 | "bluebird": "~3.4.1", 4189 | "buffer-indexof-polyfill": "~1.0.0", 4190 | "duplexer2": "~0.1.4", 4191 | "fstream": "~1.0.10", 4192 | "listenercount": "~1.0.1", 4193 | "readable-stream": "~2.1.5", 4194 | "setimmediate": "~1.0.4" 4195 | }, 4196 | "dependencies": { 4197 | "bluebird": { 4198 | "version": "3.4.7", 4199 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", 4200 | "integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=", 4201 | "dev": true 4202 | }, 4203 | "process-nextick-args": { 4204 | "version": "1.0.7", 4205 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", 4206 | "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", 4207 | "dev": true 4208 | }, 4209 | "readable-stream": { 4210 | "version": "2.1.5", 4211 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz", 4212 | "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=", 4213 | "dev": true, 4214 | "requires": { 4215 | "buffer-shims": "^1.0.0", 4216 | "core-util-is": "~1.0.0", 4217 | "inherits": "~2.0.1", 4218 | "isarray": "~1.0.0", 4219 | "process-nextick-args": "~1.0.6", 4220 | "string_decoder": "~0.10.x", 4221 | "util-deprecate": "~1.0.1" 4222 | } 4223 | }, 4224 | "string_decoder": { 4225 | "version": "0.10.31", 4226 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 4227 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", 4228 | "dev": true 4229 | } 4230 | } 4231 | }, 4232 | "url-join": { 4233 | "version": "0.0.1", 4234 | "resolved": "https://registry.npmjs.org/url-join/-/url-join-0.0.1.tgz", 4235 | "integrity": "sha1-HbSK1CLTQCRpqH99l73r/k+x48g=", 4236 | "dev": true 4237 | }, 4238 | "url-template": { 4239 | "version": "2.0.8", 4240 | "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", 4241 | "integrity": "sha1-/FZaPMy/93MMd19WQflVV5FDnyE=", 4242 | "dev": true 4243 | }, 4244 | "util-deprecate": { 4245 | "version": "1.0.2", 4246 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 4247 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 4248 | }, 4249 | "util-extend": { 4250 | "version": "1.0.3", 4251 | "resolved": "https://registry.npmjs.org/util-extend/-/util-extend-1.0.3.tgz", 4252 | "integrity": "sha1-p8IW0mdUUWljeztu3GypEZ4v+T8=", 4253 | "dev": true 4254 | }, 4255 | "uuid": { 4256 | "version": "3.3.2", 4257 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", 4258 | "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", 4259 | "dev": true 4260 | }, 4261 | "validate-npm-package-license": { 4262 | "version": "3.0.4", 4263 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", 4264 | "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", 4265 | "dev": true, 4266 | "requires": { 4267 | "spdx-correct": "^3.0.0", 4268 | "spdx-expression-parse": "^3.0.0" 4269 | } 4270 | }, 4271 | "verror": { 4272 | "version": "1.10.0", 4273 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 4274 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", 4275 | "dev": true, 4276 | "requires": { 4277 | "assert-plus": "^1.0.0", 4278 | "core-util-is": "1.0.2", 4279 | "extsprintf": "^1.2.0" 4280 | } 4281 | }, 4282 | "walk-back": { 4283 | "version": "3.0.0", 4284 | "resolved": "https://registry.npmjs.org/walk-back/-/walk-back-3.0.0.tgz", 4285 | "integrity": "sha1-I1h4ejXakQMtrV6S+AsSNw2HlcU=", 4286 | "dev": true 4287 | }, 4288 | "which": { 4289 | "version": "1.3.1", 4290 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 4291 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 4292 | "dev": true, 4293 | "requires": { 4294 | "isexe": "^2.0.0" 4295 | } 4296 | }, 4297 | "which-module": { 4298 | "version": "1.0.0", 4299 | "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", 4300 | "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", 4301 | "dev": true 4302 | }, 4303 | "which-pm-runs": { 4304 | "version": "1.0.0", 4305 | "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", 4306 | "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=" 4307 | }, 4308 | "wide-align": { 4309 | "version": "1.1.3", 4310 | "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", 4311 | "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", 4312 | "requires": { 4313 | "string-width": "^1.0.2 || 2" 4314 | } 4315 | }, 4316 | "window-size": { 4317 | "version": "0.1.4", 4318 | "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", 4319 | "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=", 4320 | "dev": true 4321 | }, 4322 | "wordwrap": { 4323 | "version": "1.0.0", 4324 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", 4325 | "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", 4326 | "dev": true 4327 | }, 4328 | "wordwrapjs": { 4329 | "version": "3.0.0", 4330 | "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-3.0.0.tgz", 4331 | "integrity": "sha512-mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==", 4332 | "dev": true, 4333 | "requires": { 4334 | "reduce-flatten": "^1.0.1", 4335 | "typical": "^2.6.1" 4336 | } 4337 | }, 4338 | "wrap-ansi": { 4339 | "version": "2.1.0", 4340 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", 4341 | "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", 4342 | "dev": true, 4343 | "requires": { 4344 | "string-width": "^1.0.1", 4345 | "strip-ansi": "^3.0.1" 4346 | } 4347 | }, 4348 | "wrappy": { 4349 | "version": "1.0.2", 4350 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 4351 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 4352 | }, 4353 | "write": { 4354 | "version": "0.2.1", 4355 | "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", 4356 | "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", 4357 | "dev": true, 4358 | "requires": { 4359 | "mkdirp": "^0.5.1" 4360 | } 4361 | }, 4362 | "xmlcreate": { 4363 | "version": "1.0.2", 4364 | "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-1.0.2.tgz", 4365 | "integrity": "sha1-+mv3YqYKQT+z3Y9LA8WyaSONMI8=", 4366 | "dev": true 4367 | }, 4368 | "xtend": { 4369 | "version": "4.0.1", 4370 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 4371 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" 4372 | }, 4373 | "y18n": { 4374 | "version": "3.2.1", 4375 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", 4376 | "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", 4377 | "dev": true 4378 | }, 4379 | "yallist": { 4380 | "version": "2.1.2", 4381 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", 4382 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", 4383 | "dev": true 4384 | }, 4385 | "yargs": { 4386 | "version": "3.32.0", 4387 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", 4388 | "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", 4389 | "dev": true, 4390 | "requires": { 4391 | "camelcase": "^2.0.1", 4392 | "cliui": "^3.0.3", 4393 | "decamelize": "^1.1.1", 4394 | "os-locale": "^1.4.0", 4395 | "string-width": "^1.0.1", 4396 | "window-size": "^0.1.4", 4397 | "y18n": "^3.2.0" 4398 | } 4399 | }, 4400 | "yargs-parser": { 4401 | "version": "5.0.0", 4402 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", 4403 | "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", 4404 | "dev": true, 4405 | "requires": { 4406 | "camelcase": "^3.0.0" 4407 | }, 4408 | "dependencies": { 4409 | "camelcase": { 4410 | "version": "3.0.0", 4411 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", 4412 | "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", 4413 | "dev": true 4414 | } 4415 | } 4416 | }, 4417 | "yauzl": { 4418 | "version": "2.4.1", 4419 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", 4420 | "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", 4421 | "dev": true, 4422 | "requires": { 4423 | "fd-slicer": "~1.0.1" 4424 | } 4425 | } 4426 | } 4427 | } 4428 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "forcefocus", 3 | "version": "1.1.0", 4 | "description": "Node module that allows you to steal focus from other windows in Windows.", 5 | "main": "lib/forcefocus.js", 6 | "homepage": "https://github.com/robinwassen/forcefocus", 7 | "gypfile": true, 8 | "repository": { 9 | "type": "git", 10 | "url": "git://github.com/robinwassen/forcefocus.git" 11 | }, 12 | "keywords": [ 13 | "window", 14 | "focus", 15 | "windows" 16 | ], 17 | "scripts": { 18 | "lint": "eslint lib example && cpplint --linelength=120 --recursive src", 19 | "example": "electron ./example", 20 | "readme": "jsdoc2md --template docs/README.hbs lib/forcefocus.js > README.md", 21 | "configure": "node-gyp configure", 22 | "build": "node-gyp rebuild", 23 | "rebuild": "node-gyp rebuild", 24 | "rebuild-electron": "electron-rebuild -f", 25 | "install": "prebuild-install || node-gyp rebuild", 26 | "prebuild-release": "prebuild --strip" 27 | }, 28 | "author": "Robin Andersson ", 29 | "license": "Apache-2.0", 30 | "engines": { 31 | "node": ">=4" 32 | }, 33 | "devDependencies": { 34 | "electron": "^2.0.8", 35 | "electron-rebuild": "^1.8.2", 36 | "eslint": "^4.19.1", 37 | "jsdoc-to-markdown": "^4.0.1", 38 | "prebuild": "^10.0.1", 39 | "node-abi": "^2.19.1" 40 | }, 41 | "dependencies": { 42 | "bindings": "^1.3.0", 43 | "prebuild-install": "^5.0.0" 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /scripts/prebuild-publish.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | if %APPVEYOR_REPO_BRANCH% == master ( 4 | if %GITHUB_TOKEN% neq "" ( 5 | npm run prebuild-release -- -u %GITHUB_TOKEN% -t %NODEJS_VERSION%.0.0 -r node 6 | npm run prebuild-release -- -u %GITHUB_TOKEN% -t %NODEJS_VERSION%.0.0 -r electron 7 | ) 8 | ) 9 | -------------------------------------------------------------------------------- /scripts/prebuild-publish.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [[ $GITHUB_TOKEN ]]; then 4 | npm run prebuild-release -- -u "$GITHUB_TOKEN" -t $TRAVIS_NODE_VERSION.0.0 -r node 5 | npm run prebuild-release -- -u "$GITHUB_TOKEN" -t $TRAVIS_NODE_VERSION.0.0 -r electron 6 | fi 7 | -------------------------------------------------------------------------------- /src/bindings.cc: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 Robin Andersson 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | #include 19 | 20 | #include "./forcefocus.h" 21 | 22 | namespace bindings { 23 | using v8::Boolean; 24 | using v8::Exception; 25 | using v8::FunctionCallbackInfo; 26 | using v8::HandleScope; 27 | using v8::Isolate; 28 | using v8::Local; 29 | using v8::Object; 30 | using v8::String; 31 | using v8::Value; 32 | using v8::NewStringType; 33 | 34 | using forcefocus::FocusWindow; 35 | 36 | void FocusWindowExport(const FunctionCallbackInfo& args) { 37 | Isolate* isolate = Isolate::GetCurrent(); 38 | HandleScope scope(isolate); 39 | 40 | if (args.Length() < 1) { 41 | Local message = String::NewFromUtf8( 42 | isolate, 43 | "Expected one argument", 44 | NewStringType::kNormal) 45 | .ToLocalChecked(); 46 | isolate->ThrowException(Exception::TypeError(message)); 47 | return; 48 | } 49 | 50 | if (!args[0]->IsObject()) { 51 | Local message = String::NewFromUtf8( 52 | isolate, 53 | "Expected first argument to be a window handle buffer", 54 | NewStringType::kNormal) 55 | .ToLocalChecked(); 56 | isolate->ThrowException(Exception::TypeError(message)); 57 | return; 58 | } 59 | 60 | auto context = isolate->GetCurrentContext(); 61 | unsigned char *windowHandleBuffer = (unsigned char *)node::Buffer::Data( 62 | args[0]->ToObject(context).ToLocalChecked()); 63 | 64 | FocusWindow(windowHandleBuffer); 65 | } 66 | 67 | void Initialize(Local exports) { 68 | NODE_SET_METHOD(exports, "focusWindow", FocusWindowExport); 69 | } 70 | } // namespace bindings 71 | 72 | NODE_MODULE(module_name, bindings::Initialize) 73 | -------------------------------------------------------------------------------- /src/forcefocus.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 Robin Andersson 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #pragma once 18 | 19 | namespace forcefocus { 20 | void FocusWindow(unsigned char*); 21 | } // namespace forcefocus 22 | -------------------------------------------------------------------------------- /src/forcefocus_noop.cc: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 Robin Andersson 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include "./forcefocus.h" 18 | 19 | namespace forcefocus { 20 | void FocusWindow(unsigned char* windowHandleBuffer) {} 21 | } // namespace forcefocus 22 | -------------------------------------------------------------------------------- /src/forcefocus_win.cc: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 Robin Andersson 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include "./forcefocus.h" 18 | 19 | #include 20 | 21 | namespace forcefocus { 22 | void FocusWindow(unsigned char* handleBuffer) { 23 | LONG_PTR handle = *reinterpret_cast(handleBuffer); 24 | HWND hwnd = (HWND)(LONG_PTR)handle; 25 | 26 | // To unlock SetForegroundWindow we need to imitate pressing the Alt key 27 | // This circumvents the ForegroundLockTimeout in Windows 10 28 | bool pressed = false; 29 | if ((GetAsyncKeyState(VK_MENU) & 0x8000) == 0) { 30 | pressed = true; 31 | keybd_event(VK_MENU, 0, KEYEVENTF_EXTENDEDKEY | 0, 0); 32 | } 33 | 34 | SetForegroundWindow(hwnd); 35 | SetFocus(hwnd); 36 | 37 | if (pressed) { 38 | keybd_event(VK_MENU, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0); 39 | } 40 | } 41 | } // namespace forcefocus 42 | --------------------------------------------------------------------------------