├── .editorconfig ├── .eslintrc.json ├── .gitattributes ├── .gitignore ├── .hound.yml ├── .mergify.yml ├── .travis.yml ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── appveyor.yml ├── package-lock.json ├── package.json ├── screen.gif ├── src ├── cli.js ├── index.js └── schema.js └── tests └── tests.js /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "eslint:recommended", 3 | "parserOptions": { 4 | "ecmaVersion": 6, 5 | "sourceType": "script" 6 | }, 7 | "rules": { 8 | "comma-dangle": 2, // disallow or enforce trailing commas 9 | "no-cond-assign": 2, // disallow assignment in conditional expressions 10 | "no-console": 0, // disallow use of console (off by default in the node environment) 11 | "no-constant-condition": 2, // disallow use of constant expressions in conditions 12 | "no-control-regex": 2, // disallow control characters in regular expressions 13 | "no-debugger": 2, // disallow use of debugger 14 | "no-dupe-args": 2, // disallow duplicate arguments in functions 15 | "no-dupe-keys": 2, // disallow duplicate keys when creating object literals 16 | "no-duplicate-case": 2, // disallow a duplicate case label. 17 | "no-empty": 2, // disallow empty statements 18 | "no-ex-assign": 2, // disallow assigning to the exception in a catch block 19 | "no-extra-boolean-cast": 2, // disallow double-negation boolean casts in a boolean context 20 | "no-extra-parens": 0, // disallow unnecessary parentheses (off by default) 21 | "no-extra-semi": 2, // disallow unnecessary semicolons 22 | "no-func-assign": 2, // disallow overwriting functions written as function declarations 23 | "no-inner-declarations": 2, // disallow function or variable declarations in nested blocks 24 | "no-invalid-regexp": 2, // disallow invalid regular expression strings in the RegExp constructor 25 | "no-irregular-whitespace": 2, // disallow irregular whitespace outside of strings and comments 26 | "no-negated-in-lhs": 2, // disallow negation of the left operand of an in expression 27 | "no-obj-calls": 2, // disallow the use of object properties of the global object (Math and JSON) as functions 28 | "no-regex-spaces": 2, // disallow multiple spaces in a regular expression literal 29 | "no-sparse-arrays": 2, // disallow sparse arrays 30 | "no-unreachable": 2, // disallow unreachable statements after a return, throw, continue, or break statement 31 | "use-isnan": 2, // disallow comparisons with the value NaN 32 | "valid-jsdoc": 2, // Ensure JSDoc comments are valid (off by default) 33 | "valid-typeof": 2, // Ensure that the results of typeof are compared against a valid string 34 | "block-scoped-var": 0, // treat var statements as if they were block scoped (off by default). 0: deep destructuring is not compatible https://github.com/eslint/eslint/issues/1863 35 | "complexity": 0, // specify the maximum cyclomatic complexity allowed in a program (off by default) 36 | "consistent-return": 0, // require return statements to either always or never specify values 37 | "curly": 2, // specify curly brace conventions for all control statements 38 | "default-case": 2, // require default case in switch statements (off by default) 39 | "dot-notation": 2, // encourages use of dot notation whenever possible 40 | "eqeqeq": 2, // require the use of === and !== 41 | "guard-for-in": 2, // make sure for-in loops have an if statement (off by default) 42 | "no-alert": 2, // disallow the use of alert, confirm, and prompt 43 | "no-caller": 2, // disallow use of arguments.caller or arguments.callee 44 | "no-div-regex": 2, // disallow division operators explicitly at beginning of regular expression (off by default) 45 | "no-else-return": 2, // disallow else after a return in an if (off by default) 46 | "no-eq-null": 2, // disallow comparisons to null without a type-checking operator (off by default) 47 | "no-eval": 2, // disallow use of eval() 48 | "no-extend-native": 2, // disallow adding to native types 49 | "no-extra-bind": 2, // disallow unnecessary function binding 50 | "no-fallthrough": 2, // disallow fallthrough of case statements 51 | "no-floating-decimal": 2, // disallow the use of leading or trailing decimal points in numeric literals (off by default) 52 | "no-implied-eval": 2, // disallow use of eval()-like methods 53 | "no-iterator": 2, // disallow usage of __iterator__ property 54 | "no-labels": 2, // disallow use of labeled statements 55 | "no-lone-blocks": 2, // disallow unnecessary nested blocks 56 | "no-loop-func": 2, // disallow creation of functions within loops 57 | "no-multi-spaces": 2, // disallow use of multiple spaces 58 | "no-multi-str": 2, // disallow use of multiline strings 59 | "no-native-reassign": 2, // disallow reassignments of native objects 60 | "no-new": 2, // disallow use of new operator when not part of the assignment or comparison 61 | "no-new-func": 2, // disallow use of new operator for Function object 62 | "no-new-wrappers": 2, // disallows creating new instances of String,Number, and Boolean 63 | "no-octal": 2, // disallow use of octal literals 64 | "no-octal-escape": 2, // disallow use of octal escape sequences in string literals, such as var foo = "Copyright \251"; 65 | "no-param-reassign": 0, // disallow reassignment of function parameters (off by default) 66 | "no-process-env": 2, // disallow use of process.env (off by default) 67 | "no-proto": 2, // disallow usage of __proto__ property 68 | "no-redeclare": 2, // disallow declaring the same variable more then once 69 | "no-return-assign": 2, // disallow use of assignment in return statement 70 | "no-script-url": 2, // disallow use of javascript: urls. 71 | "no-self-compare": 2, // disallow comparisons where both sides are exactly the same (off by default) 72 | "no-sequences": 2, // disallow use of comma operator 73 | "no-throw-literal": 2, // restrict what can be thrown as an exception (off by default) 74 | "no-unused-expressions": 2, // disallow usage of expressions in statement position 75 | "no-void": 2, // disallow use of void operator (off by default) 76 | "no-warning-comments": [0, {"terms": ["todo", "fixme"], "location": "start"}], // disallow usage of configurable warning terms in comments": 2, // e.g. TODO or FIXME (off by default) 77 | "no-with": 2, // disallow use of the with statement 78 | "radix": 2, // require use of the second argument for parseInt() (off by default) 79 | "vars-on-top": 2, // requires to declare all vars on top of their containing scope (off by default) 80 | "wrap-iife": 2, // require immediate function invocation to be wrapped in parentheses (off by default) 81 | "yoda": 2, // require or disallow Yoda conditions 82 | "strict": 0, // controls location of Use Strict Directives. 0: required by `babel-eslint` 83 | "no-catch-shadow": 2, // disallow the catch clause parameter name being the same as a variable in the outer scope (off by default in the node environment) 84 | "no-delete-var": 2, // disallow deletion of variables 85 | "no-label-var": 2, // disallow labels that share a name with a variable 86 | "no-shadow": 2, // disallow declaration of variables already declared in the outer scope 87 | "no-shadow-restricted-names": 2, // disallow shadowing of names such as arguments 88 | "no-undef": 2, // disallow use of undeclared variables unless mentioned in a /*global */ block 89 | "no-undef-init": 2, // disallow use of undefined when initializing variables 90 | "no-undefined": 2, // disallow use of undefined variable (off by default) 91 | "no-unused-vars": 2, // disallow declaration of variables that are not used in the code 92 | "no-use-before-define": 2, // disallow use of variables before they are defined 93 | "brace-style": 1, // enforce one true brace style (off by default) 94 | "camelcase": 1, // require camel case names 95 | "comma-spacing": [1, {"before": false, "after": true}], // enforce spacing before and after comma 96 | "comma-style": [1, "last"], // enforce one true comma style (off by default) 97 | "consistent-this": [1, "_this"], // enforces consistent naming when capturing the current execution context (off by default) 98 | "eol-last": 1, // enforce newline at the end of file, with no multiple empty lines 99 | "func-names": 0, // require function expressions to have a name (off by default) 100 | "func-style": 0, // enforces use of function declarations or expressions (off by default) 101 | "key-spacing": [1, {"beforeColon": false, "afterColon": true}], // enforces spacing between keys and values in object literal properties 102 | "max-nested-callbacks": [1, 3], // specify the maximum depth callbacks can be nested (off by default) 103 | "new-cap": [1, {"newIsCap": true, "capIsNew": false}], // require a capital letter for constructors 104 | "new-parens": 1, // disallow the omission of parentheses when invoking a constructor with no arguments 105 | "newline-after-var": 0, // allow/disallow an empty newline after var statement (off by default) 106 | "no-array-constructor": 1, // disallow use of the Array constructor 107 | "no-inline-comments": 1, // disallow comments inline after code (off by default) 108 | "no-lonely-if": 1, // disallow if as the only statement in an else block (off by default) 109 | "no-mixed-spaces-and-tabs": 1, // disallow mixed spaces and tabs for indentation 110 | "no-multiple-empty-lines": [1, {"max": 2}], // disallow multiple empty lines (off by default) 111 | "no-nested-ternary": 1, // disallow nested ternary expressions (off by default) 112 | "no-new-object": 1, // disallow use of the Object constructor 113 | "no-spaced-func": 1, // disallow space between function identifier and application 114 | "no-ternary": 0, // disallow the use of ternary operators (off by default) 115 | "no-trailing-spaces": 1, // disallow trailing whitespace at the end of lines 116 | "no-underscore-dangle": 0, // disallow dangling underscores in identifiers 117 | "one-var": [1, "never"], // allow just one var statement per function (off by default) 118 | "operator-assignment": [1, "never"], // require assignment operator shorthand where possible or prohibit it entirely (off by default) 119 | "padded-blocks": [1, "never"], // enforce padding within blocks (off by default) 120 | "quote-props": [1, "as-needed"], // require quotes around object literal property names (off by default) 121 | "quotes": [1, "single"], // specify whether double or single quotes should be used 122 | "semi": [1, "always"], // require or disallow use of semicolons instead of ASI 123 | "semi-spacing": [1, {"before": false, "after": true}], // enforce spacing before and after semicolons 124 | "sort-vars": 0, // sort variables within the same declaration block (off by default) 125 | "keyword-spacing": 2, // require a space after certain keywords (off by default) 126 | "space-before-blocks": [1, "always"], // require or disallow space before blocks (off by default) 127 | "space-before-function-paren": [1, {"anonymous": "always", "named": "never"}], // require or disallow space before function opening parenthesis (off by default) 128 | "space-in-parens": [1, "never"], // require or disallow spaces inside parentheses (off by default) 129 | "space-unary-ops": [1, {"words": true, "nonwords": false}], // Require or disallow spaces before/after unary operators (words on by default, nonwords off by default) 130 | "wrap-regex": 0, // require regex literals to be wrapped in parentheses (off by default) 131 | "no-var": 2, // require let or const instead of var (off by default) 132 | "generator-star-spacing": [2, "before"], // enforce the spacing around the * in generator functions (off by default) 133 | "max-depth": [2, 3], // specify the maximum depth that blocks can be nested (off by default) 134 | "max-len": [2, 200, 2], // specify the maximum length of a line in your program (off by default) 135 | "max-params": [2, 5], // limits the number of parameters that can be used in the function declaration. (off by default) 136 | "max-statements": 0, // specify the maximum number of statement allowed in a function (off by default) 137 | "no-bitwise": 0, // disallow use of bitwise operators (off by default) 138 | "no-plusplus": 2, // disallow use of unary operators, ++ and -- (off by default) 139 | }, 140 | "env": { 141 | "node": true, 142 | "es6": true, 143 | "mocha": true 144 | }, 145 | "globals": { 146 | "should": true 147 | } 148 | } 149 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /.hound.yml: -------------------------------------------------------------------------------- 1 | javascript: 2 | enabled: false 3 | eslint: 4 | enabled: true 5 | config_file: .eslintrc 6 | -------------------------------------------------------------------------------- /.mergify.yml: -------------------------------------------------------------------------------- 1 | pull_request_rules: 2 | - name: automatic merge for Dependabot PRs 3 | conditions: 4 | - author=dependabot[bot] 5 | - status-success=continuous-integration/travis-ci/pr 6 | actions: 7 | merge: 8 | method: merge 9 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - '10' 4 | - '12' 5 | before_install: 6 | - npm i -g npm@latest 7 | install: 8 | - npm ci 9 | sudo: false 10 | script: "npm run coverage" 11 | after_success: 12 | - cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js 13 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ### Changelog 2 | 3 | All notable changes to this project will be documented in this file. Dates are displayed in UTC. 4 | 5 | Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). 6 | 7 | #### [v1.5.4](https://github.com/riyadhalnur/weather-cli/compare/v1.5.3...v1.5.4) 8 | 9 | > 31 July 2020 10 | 11 | - build(deps): bump lodash from 4.17.15 to 4.17.19 [`#158`](https://github.com/riyadhalnur/weather-cli/pull/158) 12 | - CHORE: Update deps [`901b2ae`](https://github.com/riyadhalnur/weather-cli/commit/901b2ae9c491465ee97f9341a89a8f1407e9ca2d) 13 | - CHORE: Update eslint [`307fda0`](https://github.com/riyadhalnur/weather-cli/commit/307fda02f009cfcf5abe33e492733ad459133973) 14 | - Update CHANGELOG [`89038f0`](https://github.com/riyadhalnur/weather-cli/commit/89038f0df9bdc2e7e8e5c28a87e3246e9565bb59) 15 | 16 | #### [v1.5.3](https://github.com/riyadhalnur/weather-cli/compare/v1.5.1...v1.5.3) 17 | 18 | > 31 March 2020 19 | 20 | - [Snyk] Security upgrade meow from 6.0.1 to 6.1.0 [`#157`](https://github.com/riyadhalnur/weather-cli/pull/157) 21 | - [CHORE] Update deps and update help text [`029dd15`](https://github.com/riyadhalnur/weather-cli/commit/029dd15fce6543ca7ded3709c12a544c32606544) 22 | - fix: package.json & package-lock.json to reduce vulnerabilities [`a190777`](https://github.com/riyadhalnur/weather-cli/commit/a190777738f34c0c7329ec8efc1db6ab4cdc1cc5) 23 | - Update CHANGELOG [`78b325c`](https://github.com/riyadhalnur/weather-cli/commit/78b325c71690f465120c7aabe79f75ee66761d6a) 24 | 25 | #### [v1.5.1](https://github.com/riyadhalnur/weather-cli/compare/v1.5.0...v1.5.1) 26 | 27 | > 19 February 2020 28 | 29 | - [Snyk] Fix for 1 vulnerabilities [`#154`](https://github.com/riyadhalnur/weather-cli/pull/154) 30 | - [CHORE] Update deps [`3ccced1`](https://github.com/riyadhalnur/weather-cli/commit/3ccced16fa55276d3facf7e75e6dbd4df2a0f98c) 31 | - fix: package.json & package-lock.json to reduce vulnerabilities [`0f68157`](https://github.com/riyadhalnur/weather-cli/commit/0f68157cc611b1063fefa2161ffaefaf6689cdaa) 32 | - build(deps): bump handlebars from 4.1.2 to 4.5.3 [`a2fae10`](https://github.com/riyadhalnur/weather-cli/commit/a2fae1095140931b5a2f6c7d4a370e2d59c4ef81) 33 | 34 | #### [v1.5.0](https://github.com/riyadhalnur/weather-cli/compare/v1.4.2...v1.5.0) 35 | 36 | > 31 August 2019 37 | 38 | - Add support for air quality index [`39de3ad`](https://github.com/riyadhalnur/weather-cli/commit/39de3adfb370315f0562a2c9fc6faa07fe7b2f2a) 39 | - Updated CHANGELOG [`fec88f0`](https://github.com/riyadhalnur/weather-cli/commit/fec88f0f2ac3f8bf093c9e4d9bc2ece58c7d7d64) 40 | - build(deps): bump eslint-utils from 1.4.0 to 1.4.2 [`7d8e01b`](https://github.com/riyadhalnur/weather-cli/commit/7d8e01b9ecd2b007eff3534dfbdd381d9ea05282) 41 | 42 | #### [v1.4.2](https://github.com/riyadhalnur/weather-cli/compare/v1.4.1...v1.4.2) 43 | 44 | > 20 August 2019 45 | 46 | - Updated CHANGELOG [`a972234`](https://github.com/riyadhalnur/weather-cli/commit/a972234fcc62234d229f445283d1addaeab03e03) 47 | - Add schema.js to files array in package.json [`0be7c82`](https://github.com/riyadhalnur/weather-cli/commit/0be7c823f25e5d35a35b6aa7da05deabfd3cd20d) 48 | 49 | #### [v1.4.1](https://github.com/riyadhalnur/weather-cli/compare/v1.4.0...v1.4.1) 50 | 51 | > 20 August 2019 52 | 53 | - BUG: Explicitly declare project name to pass in to Conf [`2a0b04e`](https://github.com/riyadhalnur/weather-cli/commit/2a0b04e29f1e1c23f74d8cea5c7bc3c396d18f59) 54 | - Updated CHANGELOG [`7882cf7`](https://github.com/riyadhalnur/weather-cli/commit/7882cf7967417d5fbaf7cb63a12d19471ddb27c4) 55 | 56 | #### [v1.4.0](https://github.com/riyadhalnur/weather-cli/compare/v1.3.3...v1.4.0) 57 | 58 | > 17 August 2019 59 | 60 | - Update deps to latest versions [`01fe33c`](https://github.com/riyadhalnur/weather-cli/commit/01fe33cf4e7e8327aa711c31fa6158d6b4a7dd57) 61 | - CHANGELOG [`9571037`](https://github.com/riyadhalnur/weather-cli/commit/957103790e9c40444daae82c356782467c2b10ec) 62 | - Add support for setting default scale [`918bc83`](https://github.com/riyadhalnur/weather-cli/commit/918bc83fb6cf72a3b4a433cbf5781a6163237db7) 63 | 64 | #### [v1.3.3](https://github.com/riyadhalnur/weather-cli/compare/v1.3.2...v1.3.3) 65 | 66 | > 10 June 2019 67 | 68 | - CHORE: security updates [`9a9e1dd`](https://github.com/riyadhalnur/weather-cli/commit/9a9e1dd1d45ba787088f9ab0bcaa637ed23ed459) 69 | - Updated CHANGELOG - v1.3.2 [`be5730e`](https://github.com/riyadhalnur/weather-cli/commit/be5730ec29783c1a5df1dea4267e1426ab7f27e3) 70 | 71 | #### [v1.3.2](https://github.com/riyadhalnur/weather-cli/compare/v1.3.1...v1.3.2) 72 | 73 | > 29 May 2018 74 | 75 | - Updated CHANGELOG - v1.3.1 [`01a874b`](https://github.com/riyadhalnur/weather-cli/commit/01a874b97836a8c213861fd124f7aff02b389873) 76 | - HOTFIX: Install latest NPM on CI [`eef5dc9`](https://github.com/riyadhalnur/weather-cli/commit/eef5dc9332efbb4861bf58965fad4e4a523b1359) 77 | - Fix NPM installation on appveyor [`a09d8c5`](https://github.com/riyadhalnur/weather-cli/commit/a09d8c5be080c624a2b3009e2b2ba319d7aabaef) 78 | 79 | #### [v1.3.1](https://github.com/riyadhalnur/weather-cli/compare/v1.3.0...v1.3.1) 80 | 81 | > 29 May 2018 82 | 83 | - Replace NodeJS 9 with 10 in CI. Closes #130 [`#130`](https://github.com/riyadhalnur/weather-cli/issues/130) 84 | - Fix help message. Closes #132 [`#132`](https://github.com/riyadhalnur/weather-cli/issues/132) 85 | - [CHORE] Update deps [`c062f32`](https://github.com/riyadhalnur/weather-cli/commit/c062f322b12c18741401cb10f12ac36523864b9f) 86 | 87 | #### [v1.3.0](https://github.com/riyadhalnur/weather-cli/compare/v1.2.3...v1.3.0) 88 | 89 | > 2 February 2018 90 | 91 | - Update, remove package deps [`8553f87`](https://github.com/riyadhalnur/weather-cli/commit/8553f87522775ca7528818554db012d0eb21edd4) 92 | - Add new badge and add changelog [`4929f40`](https://github.com/riyadhalnur/weather-cli/commit/4929f407748809188cc686cc5024ccfdd9b146b2) 93 | - Add contributing and CoC docs [`ed14614`](https://github.com/riyadhalnur/weather-cli/commit/ed146145628e1cb2d17019e482c552c5e0c407dd) 94 | 95 | #### [v1.2.3](https://github.com/riyadhalnur/weather-cli/compare/v1.2.2...v1.2.3) 96 | 97 | > 8 July 2017 98 | 99 | - [Snyk Update] New fixes for 1 vulnerable dependency path [`#116`](https://github.com/riyadhalnur/weather-cli/pull/116) 100 | - Update update-notifier to the latest version 🚀 [`#106`](https://github.com/riyadhalnur/weather-cli/pull/106) 101 | - Update update-notifier to the latest version 🚀 [`#105`](https://github.com/riyadhalnur/weather-cli/pull/105) 102 | - Update coveralls to the latest version 🚀 [`#104`](https://github.com/riyadhalnur/weather-cli/pull/104) 103 | - Update eslint to the latest version 🚀 [`#103`](https://github.com/riyadhalnur/weather-cli/pull/103) 104 | - Update eslint to the latest version 🚀 [`#102`](https://github.com/riyadhalnur/weather-cli/pull/102) 105 | - Update eslint to the latest version 🚀 [`#101`](https://github.com/riyadhalnur/weather-cli/pull/101) 106 | - Update eslint to the latest version 🚀 [`#100`](https://github.com/riyadhalnur/weather-cli/pull/100) 107 | - Update eslint to the latest version 🚀 [`#99`](https://github.com/riyadhalnur/weather-cli/pull/99) 108 | - Update eslint to the latest version 🚀 [`#98`](https://github.com/riyadhalnur/weather-cli/pull/98) 109 | - Update update-notifier to the latest version 🚀 [`#97`](https://github.com/riyadhalnur/weather-cli/pull/97) 110 | - Update eslint to the latest version 🚀 [`#96`](https://github.com/riyadhalnur/weather-cli/pull/96) 111 | - Update eslint to the latest version 🚀 [`#95`](https://github.com/riyadhalnur/weather-cli/pull/95) 112 | - Update mocha to the latest version 🚀 [`#94`](https://github.com/riyadhalnur/weather-cli/pull/94) 113 | - Update request to the latest version 🚀 [`#93`](https://github.com/riyadhalnur/weather-cli/pull/93) 114 | - Update eslint to the latest version 🚀 [`#92`](https://github.com/riyadhalnur/weather-cli/pull/92) 115 | - Update eslint to the latest version 🚀 [`#90`](https://github.com/riyadhalnur/weather-cli/pull/90) 116 | - Update lodash to the latest version 🚀 [`#89`](https://github.com/riyadhalnur/weather-cli/pull/89) 117 | - Update eslint to the latest version 🚀 [`#88`](https://github.com/riyadhalnur/weather-cli/pull/88) 118 | - Update request to the latest version 🚀 [`#86`](https://github.com/riyadhalnur/weather-cli/pull/86) 119 | - Update request to the latest version 🚀 [`#85`](https://github.com/riyadhalnur/weather-cli/pull/85) 120 | - Update dependencies to enable Greenkeeper 🌴 [`#84`](https://github.com/riyadhalnur/weather-cli/pull/84) 121 | - Update eslint to version 3.9.0 🚀 [`#83`](https://github.com/riyadhalnur/weather-cli/pull/83) 122 | - Update request to version 2.76.0 🚀 [`#82`](https://github.com/riyadhalnur/weather-cli/pull/82) 123 | - Update eslint to version 3.8.1 🚀 [`#81`](https://github.com/riyadhalnur/weather-cli/pull/81) 124 | - Update eslint to version 3.8.0 🚀 [`#80`](https://github.com/riyadhalnur/weather-cli/pull/80) 125 | - Update mocha to version 3.1.2 🚀 [`#79`](https://github.com/riyadhalnur/weather-cli/pull/79) 126 | - Update mocha to version 3.1.1 🚀 [`#78`](https://github.com/riyadhalnur/weather-cli/pull/78) 127 | - lodash@4.16.4 breaks build 🚨 [`#77`](https://github.com/riyadhalnur/weather-cli/pull/77) 128 | - Update eslint to version 3.7.1 🚀 [`#76`](https://github.com/riyadhalnur/weather-cli/pull/76) 129 | - Update eslint to version 3.7.0 🚀 [`#75`](https://github.com/riyadhalnur/weather-cli/pull/75) 130 | - Update mocha to version 3.1.0 🚀 [`#72`](https://github.com/riyadhalnur/weather-cli/pull/72) 131 | - Update eslint to version 3.6.1 🚀 [`#71`](https://github.com/riyadhalnur/weather-cli/pull/71) 132 | - Update eslint to version 3.6.0 🚀 [`#70`](https://github.com/riyadhalnur/weather-cli/pull/70) 133 | - lodash@4.16.1 breaks build 🚨 [`#69`](https://github.com/riyadhalnur/weather-cli/pull/69) 134 | - Update coveralls to version 2.11.14 🚀 [`#68`](https://github.com/riyadhalnur/weather-cli/pull/68) 135 | - Update lodash to version 4.16.0 🚀 [`#67`](https://github.com/riyadhalnur/weather-cli/pull/67) 136 | - Update request to version 2.75.0 🚀 [`#66`](https://github.com/riyadhalnur/weather-cli/pull/66) 137 | - Update coveralls to version 2.11.13 🚀 [`#65`](https://github.com/riyadhalnur/weather-cli/pull/65) 138 | - Update eslint to version 3.3.1 🚀 [`#64`](https://github.com/riyadhalnur/weather-cli/pull/64) 139 | - Update eslint to version 3.3.0 🚀 [`#63`](https://github.com/riyadhalnur/weather-cli/pull/63) 140 | - Update lodash to version 4.15.0 🚀 [`#62`](https://github.com/riyadhalnur/weather-cli/pull/62) 141 | - Update mocha to version 3.0.2 🚀 [`#61`](https://github.com/riyadhalnur/weather-cli/pull/61) 142 | - Update mocha to version 3.0.1 🚀 [`#60`](https://github.com/riyadhalnur/weather-cli/pull/60) 143 | - Update eslint to version 3.2.2 🚀 [`#59`](https://github.com/riyadhalnur/weather-cli/pull/59) 144 | - Update eslint to version 3.2.1 🚀 [`#58`](https://github.com/riyadhalnur/weather-cli/pull/58) 145 | - Update mocha to version 3.0.0 🚀 [`#57`](https://github.com/riyadhalnur/weather-cli/pull/57) 146 | - Update eslint to version 3.2.0 🚀 [`#56`](https://github.com/riyadhalnur/weather-cli/pull/56) 147 | - Update coveralls to version 2.11.12 🚀 [`#55`](https://github.com/riyadhalnur/weather-cli/pull/55) 148 | - Update lodash to version 4.14.0 🚀 [`#54`](https://github.com/riyadhalnur/weather-cli/pull/54) 149 | - Update request to version 2.74.0 🚀 [`#53`](https://github.com/riyadhalnur/weather-cli/pull/53) 150 | - Update eslint to version 3.1.1 🚀 [`#52`](https://github.com/riyadhalnur/weather-cli/pull/52) 151 | - Update eslint to version 3.1.0 🚀 [`#51`](https://github.com/riyadhalnur/weather-cli/pull/51) 152 | - chore(package): update dependencies [`5f92370`](https://github.com/riyadhalnur/weather-cli/commit/5f92370498257b543e9996a29cc50f707590a583) 153 | - fix: package.json to reduce vulnerabilities [`2813c03`](https://github.com/riyadhalnur/weather-cli/commit/2813c032a625ad1a6a4e499ab1b674a34f2e3c23) 154 | - fix(package): update update-notifier to version 2.1.0 [`8a7e8b7`](https://github.com/riyadhalnur/weather-cli/commit/8a7e8b79348c396c56742580a7199384d1eb71b3) 155 | 156 | #### [v1.2.2](https://github.com/riyadhalnur/weather-cli/compare/v1.2.1...v1.2.2) 157 | 158 | > 14 July 2016 159 | 160 | - Update coveralls to version 2.11.11 🚀 [`#50`](https://github.com/riyadhalnur/weather-cli/pull/50) 161 | - Fix failing Windows build [`f9a2bd4`](https://github.com/riyadhalnur/weather-cli/commit/f9a2bd441c5f8780b325bf64f5603d5093a632d8) 162 | - Added new badge [`391a7f0`](https://github.com/riyadhalnur/weather-cli/commit/391a7f0325670941a572ccd7d95c1fabb9fdba08) 163 | - chore(package): update coveralls to version 2.11.11 [`412e0a7`](https://github.com/riyadhalnur/weather-cli/commit/412e0a758a26d67cd581de09d84db82ef8215202) 164 | 165 | #### [v1.2.1](https://github.com/riyadhalnur/weather-cli/compare/v1.2.0...v1.2.1) 166 | 167 | > 11 July 2016 168 | 169 | - Fix usage in README [`2bfdf5e`](https://github.com/riyadhalnur/weather-cli/commit/2bfdf5e0a6882206028ce9563ae9fadd8ab9371c) 170 | 171 | #### [v1.2.0](https://github.com/riyadhalnur/weather-cli/compare/1.1.0...v1.2.0) 172 | 173 | > 11 July 2016 174 | 175 | - Update request to version 2.73.0 🚀 [`#48`](https://github.com/riyadhalnur/weather-cli/pull/48) 176 | - Update update-notifier to version 1.0.0 🚀 [`#46`](https://github.com/riyadhalnur/weather-cli/pull/46) 177 | - Update lodash to version 4.13.0 🚀 [`#42`](https://github.com/riyadhalnur/weather-cli/pull/42) 178 | - Update lodash to version 4.12.0 🚀 [`#40`](https://github.com/riyadhalnur/weather-cli/pull/40) 179 | - Update update-notifier to version 0.7.0 🚀 [`#39`](https://github.com/riyadhalnur/weather-cli/pull/39) 180 | - Update request to version 2.72.0 🚀 [`#37`](https://github.com/riyadhalnur/weather-cli/pull/37) 181 | - Update lodash to version 4.11.0 🚀 [`#36`](https://github.com/riyadhalnur/weather-cli/pull/36) 182 | - Update request to version 2.71.0 🚀 [`#35`](https://github.com/riyadhalnur/weather-cli/pull/35) 183 | - Update lodash to version 4.10.0 🚀 [`#34`](https://github.com/riyadhalnur/weather-cli/pull/34) 184 | - Update lodash to version 4.9.0 🚀 [`#32`](https://github.com/riyadhalnur/weather-cli/pull/32) 185 | - Update request to version 2.70.0 🚀 [`#30`](https://github.com/riyadhalnur/weather-cli/pull/30) 186 | - Update lodash to version 4.8.0 🚀 [`#28`](https://github.com/riyadhalnur/weather-cli/pull/28) 187 | - Update lodash to version 4.7.0 🚀 [`#27`](https://github.com/riyadhalnur/weather-cli/pull/27) 188 | - Update xo to version 0.13.0 🚀 [`#25`](https://github.com/riyadhalnur/weather-cli/pull/25) 189 | - Update lodash to version 4.6.0 🚀 [`#24`](https://github.com/riyadhalnur/weather-cli/pull/24) 190 | - Update lodash to version 4.5.0 🚀 [`#22`](https://github.com/riyadhalnur/weather-cli/pull/22) 191 | - Update lodash to version 4.4.0 🚀 [`#21`](https://github.com/riyadhalnur/weather-cli/pull/21) 192 | - Update lodash to version 4.3.0 🚀 [`#20`](https://github.com/riyadhalnur/weather-cli/pull/20) 193 | - Update request to version 2.69.0 🚀 [`#16`](https://github.com/riyadhalnur/weather-cli/pull/16) 194 | - Update lodash to version 4.2.0 🚀 [`#19`](https://github.com/riyadhalnur/weather-cli/pull/19) 195 | - Update xo to version 0.12.0 🚀 [`#6`](https://github.com/riyadhalnur/weather-cli/pull/6) 196 | - Stop supporting NodeJS < 4 [`4be953a`](https://github.com/riyadhalnur/weather-cli/commit/4be953a34d4f5c9606ea7bf0bdf49ce164807b7b) 197 | - chore(package): update request to version 2.73.0 [`7b3a2aa`](https://github.com/riyadhalnur/weather-cli/commit/7b3a2aa7d61b662f10f99f9b8dc7633fbd1e623a) 198 | - chore(package): update update-notifier to version 1.0.0 [`0ff96b2`](https://github.com/riyadhalnur/weather-cli/commit/0ff96b2bbd8964497ef624f615f2f95338a7909f) 199 | 200 | #### [1.1.0](https://github.com/riyadhalnur/weather-cli/compare/1.0.0...1.1.0) 201 | 202 | > 3 December 2015 203 | 204 | - Update update-notifier to version 0.6.0 🚀 [`#5`](https://github.com/riyadhalnur/weather-cli/pull/5) 205 | - Show more information and only single scale by default [`a6e9b89`](https://github.com/riyadhalnur/weather-cli/commit/a6e9b8929d222753cc533e41a08cf122456a1516) 206 | - Update packages for minor releases only [`ca079c0`](https://github.com/riyadhalnur/weather-cli/commit/ca079c00c9740570c20177e55c661c1da22e00d7) 207 | - Fix linting errors [`17fae42`](https://github.com/riyadhalnur/weather-cli/commit/17fae42969fba0871a774901fc17a96170cfafdb) 208 | 209 | #### 1.0.0 210 | 211 | > 9 September 2015 212 | 213 | - Initial commit [`4d887c8`](https://github.com/riyadhalnur/weather-cli/commit/4d887c87c9a2f31182b18d6a99484cfe51818e19) 214 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. 6 | 7 | ## Our Standards 8 | 9 | Examples of behavior that contributes to creating a positive environment include: 10 | 11 | * Using welcoming and inclusive language 12 | * Being respectful of differing viewpoints and experiences 13 | * Gracefully accepting constructive criticism 14 | * Focusing on what is best for the community 15 | * Showing empathy towards other community members 16 | 17 | Examples of unacceptable behavior by participants include: 18 | 19 | * The use of sexualized language or imagery and unwelcome sexual attention or advances 20 | * Trolling, insulting/derogatory comments, and personal or political attacks 21 | * Public or private harassment 22 | * Publishing others' private information, such as a physical or electronic address, without explicit permission 23 | * Other conduct which could reasonably be considered inappropriate in a professional setting 24 | 25 | ## Our Responsibilities 26 | 27 | Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. 28 | 29 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. 30 | 31 | ## Scope 32 | 33 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. 34 | 35 | ## Enforcement 36 | 37 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at devops@hyperlab.xyz. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. 38 | 39 | Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. 40 | 41 | ## Attribution 42 | 43 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] 44 | 45 | [homepage]: http://contributor-covenant.org 46 | [version]: http://contributor-covenant.org/version/1/4/ 47 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # :eight_spoked_asterisk: :stars: :sparkles: :dizzy: :star2: :star2: :sparkles: :dizzy: :star2: :star2: Contributing :star: :star2: :dizzy: :sparkles: :star: :star2: :dizzy: :sparkles: :stars: :eight_spoked_asterisk: 2 | 3 | So, you want to contribute to this project! That's awesome. However, before 4 | doing so, please read the following simple steps how to contribute. This will 5 | make the life easier and will avoid wasting time on things which are not 6 | requested. :sparkles: 7 | 8 | ## Discuss the changes before doing them 9 | - First of all, open an issue in the repository, using the bug tracker , 10 | describing the contribution you would like to make, the bug you found or any 11 | other ideas you have. This will help us to get you started on the right 12 | foot. 13 | 14 | - If it makes sense, add the platform and software information (e.g. operating 15 | system, Node.JS version etc.), screenshots (so we can see what you are 16 | seeing). 17 | 18 | - It is recommended to wait for feedback before continuing to next steps. 19 | However, if the issue is clear (e.g. a typo) and the fix is simple, you can 20 | continue and fix it. 21 | 22 | ## Fixing issues 23 | - Fork the project in your account and create a branch with your fix: 24 | `some-great-feature` or `some-issue-fix`. 25 | 26 | - Commit your changes in that branch, writing the code following the 27 | [code style][2]. If the project contains tests (generally, the `test` 28 | directory), you are encouraged to add a test as well. :memo: 29 | 30 | - If the project contains a `package.json` or a `bower.json` file add yourself 31 | in the `contributors` array (or `authors` in the case of `bower.json`; 32 | if the array does not exist, create it): 33 | 34 | ```json 35 | { 36 | "contributors": [ 37 | "Your Name (http://your.website)" 38 | ] 39 | } 40 | ``` 41 | 42 | ## Creating a pull request 43 | 44 | - Open a pull request, and reference the initial issue in the pull request 45 | message (e.g. *fixes #*). Write a good description and 46 | title, so everybody will know what is fixed/improved. 47 | 48 | - If it makes sense, add screenshots, gifs etc., so it is easier to see what 49 | is going on. 50 | 51 | ## Wait for feedback 52 | Before accepting your contributions, we will review them. You may get feedback 53 | about what should be fixed in your modified code. If so, just keep committing 54 | in your branch and the pull request will be updated automatically. 55 | 56 | ## Everyone is happy! 57 | Finally, your contributions will be merged, and everyone will be happy! :smile: 58 | Contributions are more than welcome! 59 | 60 | Thanks! :sweat_smile: 61 | 62 | 63 | 64 | [2]: https://github.com/IonicaBizau/code-style 65 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2018 Riyadh Al Nur 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | weather-cli 2 | ================= 3 | Check the weather for your city from your terminal 4 | 5 | [![Coverage Status](https://coveralls.io/repos/github/riyadhalnur/weather-cli/badge.svg?branch=master)](https://coveralls.io/github/riyadhalnur/weather-cli?branch=master) [![Build Status](https://travis-ci.org/riyadhalnur/weather-cli.svg?branch=master)](https://travis-ci.org/riyadhalnur/weather-cli) [![Build status](https://ci.appveyor.com/api/projects/status/8o1qpopothm62y51/branch/master?svg=true)](https://ci.appveyor.com/project/riyadhalnur/weather-cli/branch/master) [![Known Vulnerabilities](https://snyk.io/test/github/riyadhalnur/npm-modules-sync/badge.svg)](https://snyk.io/test/github/riyadhalnur/weather-cli) 6 | 7 | ![](screen.gif) 8 | 9 | ### Install 10 | ```shell 11 | $ npm install -g weather-cli 12 | ``` 13 | 14 | ```shell 15 | $ weather --help 16 | 17 | Usage 18 | $ weather 19 | 20 | Options 21 | --city, -c City you want to lookup weather for (add state code after city name if city exists in multiple places) 22 | --country, -C Country you want to lookup weather for 23 | --scale, -s Weather scale. Defaults to Celcius 24 | --help Show this help message 25 | --version Display version info and exit 26 | config Set the default location and scale 27 | 28 | Examples 29 | $ weather -c Dhaka -C Bangladesh 30 | Dhaka, Bangladesh 31 | Condition: Partly Cloudy 32 | Temperature: 32°C 33 | 34 | $ weather config -c Dhaka -C Bangladesh -s F 35 | Default location set to Dhaka, Bangladesh and scale to F 36 | ``` 37 | 38 | ### License 39 | Licensed under MIT. See [LICENSE](LICENSE) for more information. 40 | 41 | ### Issues 42 | Report a bug in issues. 43 | 44 | Made with love in Dhaka, Bangladesh by [Riyadh Al Nur](https://verticalaxisbd.com) 45 | -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | environment: 2 | matrix: 3 | - nodejs_version: "10" 4 | - nodejs_version: "12" 5 | 6 | install: 7 | - ps: Install-Product node $env:nodejs_version 8 | - npm i -g npm@latest 9 | - set PATH=%APPDATA%\npm;%PATH% 10 | - npm ci 11 | 12 | test_script: 13 | - node --version 14 | - npm --version 15 | - npm test 16 | 17 | version: 1.0.{build} 18 | skip_tags: true 19 | build: off 20 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "weather-cli", 3 | "version": "1.5.4", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@babel/code-frame": { 8 | "version": "7.5.5", 9 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", 10 | "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", 11 | "requires": { 12 | "@babel/highlight": "^7.0.0" 13 | } 14 | }, 15 | "@babel/highlight": { 16 | "version": "7.5.0", 17 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", 18 | "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", 19 | "requires": { 20 | "chalk": "^2.0.0", 21 | "esutils": "^2.0.2", 22 | "js-tokens": "^4.0.0" 23 | }, 24 | "dependencies": { 25 | "chalk": { 26 | "version": "2.4.2", 27 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 28 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 29 | "requires": { 30 | "ansi-styles": "^3.2.1", 31 | "escape-string-regexp": "^1.0.5", 32 | "supports-color": "^5.3.0" 33 | } 34 | } 35 | } 36 | }, 37 | "@sindresorhus/is": { 38 | "version": "4.6.0", 39 | "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", 40 | "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==" 41 | }, 42 | "@szmarczak/http-timer": { 43 | "version": "4.0.6", 44 | "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", 45 | "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", 46 | "requires": { 47 | "defer-to-connect": "^2.0.0" 48 | } 49 | }, 50 | "@types/cacheable-request": { 51 | "version": "6.0.2", 52 | "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz", 53 | "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==", 54 | "requires": { 55 | "@types/http-cache-semantics": "*", 56 | "@types/keyv": "*", 57 | "@types/node": "*", 58 | "@types/responselike": "*" 59 | } 60 | }, 61 | "@types/color-name": { 62 | "version": "1.1.1", 63 | "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", 64 | "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" 65 | }, 66 | "@types/http-cache-semantics": { 67 | "version": "4.0.1", 68 | "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", 69 | "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" 70 | }, 71 | "@types/json-buffer": { 72 | "version": "3.0.0", 73 | "resolved": "https://registry.npmjs.org/@types/json-buffer/-/json-buffer-3.0.0.tgz", 74 | "integrity": "sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ==" 75 | }, 76 | "@types/keyv": { 77 | "version": "3.1.4", 78 | "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", 79 | "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", 80 | "requires": { 81 | "@types/node": "*" 82 | } 83 | }, 84 | "@types/minimist": { 85 | "version": "1.2.1", 86 | "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", 87 | "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==" 88 | }, 89 | "@types/node": { 90 | "version": "18.0.0", 91 | "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.0.tgz", 92 | "integrity": "sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==" 93 | }, 94 | "@types/normalize-package-data": { 95 | "version": "2.4.0", 96 | "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", 97 | "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==" 98 | }, 99 | "@types/responselike": { 100 | "version": "1.0.0", 101 | "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", 102 | "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", 103 | "requires": { 104 | "@types/node": "*" 105 | } 106 | }, 107 | "abbrev": { 108 | "version": "1.0.9", 109 | "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", 110 | "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", 111 | "dev": true 112 | }, 113 | "acorn": { 114 | "version": "7.3.1", 115 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz", 116 | "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==", 117 | "dev": true 118 | }, 119 | "acorn-jsx": { 120 | "version": "5.2.0", 121 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", 122 | "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", 123 | "dev": true 124 | }, 125 | "ajv": { 126 | "version": "6.12.3", 127 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", 128 | "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", 129 | "dev": true, 130 | "requires": { 131 | "fast-deep-equal": "^3.1.1", 132 | "fast-json-stable-stringify": "^2.0.0", 133 | "json-schema-traverse": "^0.4.1", 134 | "uri-js": "^4.2.2" 135 | } 136 | }, 137 | "amdefine": { 138 | "version": "1.0.1", 139 | "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", 140 | "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", 141 | "dev": true, 142 | "optional": true 143 | }, 144 | "ansi-align": { 145 | "version": "3.0.1", 146 | "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", 147 | "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", 148 | "requires": { 149 | "string-width": "^4.1.0" 150 | }, 151 | "dependencies": { 152 | "ansi-regex": { 153 | "version": "5.0.1", 154 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 155 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" 156 | }, 157 | "is-fullwidth-code-point": { 158 | "version": "3.0.0", 159 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 160 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" 161 | }, 162 | "string-width": { 163 | "version": "4.2.3", 164 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 165 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 166 | "requires": { 167 | "emoji-regex": "^8.0.0", 168 | "is-fullwidth-code-point": "^3.0.0", 169 | "strip-ansi": "^6.0.1" 170 | } 171 | }, 172 | "strip-ansi": { 173 | "version": "6.0.1", 174 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 175 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 176 | "requires": { 177 | "ansi-regex": "^5.0.1" 178 | } 179 | } 180 | } 181 | }, 182 | "ansi-colors": { 183 | "version": "4.1.1", 184 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", 185 | "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", 186 | "dev": true 187 | }, 188 | "ansi-regex": { 189 | "version": "5.0.0", 190 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", 191 | "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", 192 | "dev": true 193 | }, 194 | "ansi-styles": { 195 | "version": "3.2.1", 196 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 197 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 198 | "requires": { 199 | "color-convert": "^1.9.0" 200 | } 201 | }, 202 | "anymatch": { 203 | "version": "3.1.1", 204 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", 205 | "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", 206 | "dev": true, 207 | "requires": { 208 | "normalize-path": "^3.0.0", 209 | "picomatch": "^2.0.4" 210 | } 211 | }, 212 | "argparse": { 213 | "version": "1.0.9", 214 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", 215 | "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", 216 | "dev": true, 217 | "requires": { 218 | "sprintf-js": "~1.0.2" 219 | } 220 | }, 221 | "array.prototype.map": { 222 | "version": "1.0.2", 223 | "resolved": "https://registry.npmjs.org/array.prototype.map/-/array.prototype.map-1.0.2.tgz", 224 | "integrity": "sha512-Az3OYxgsa1g7xDYp86l0nnN4bcmuEITGe1rbdEBVkrqkzMgDcbdQ2R7r41pNzti+4NMces3H8gMmuioZUilLgw==", 225 | "dev": true, 226 | "requires": { 227 | "define-properties": "^1.1.3", 228 | "es-abstract": "^1.17.0-next.1", 229 | "es-array-method-boxes-properly": "^1.0.0", 230 | "is-string": "^1.0.4" 231 | } 232 | }, 233 | "arrify": { 234 | "version": "1.0.1", 235 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", 236 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" 237 | }, 238 | "asn1": { 239 | "version": "0.2.4", 240 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", 241 | "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", 242 | "dev": true, 243 | "requires": { 244 | "safer-buffer": "~2.1.0" 245 | } 246 | }, 247 | "assert-plus": { 248 | "version": "1.0.0", 249 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 250 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 251 | "dev": true 252 | }, 253 | "assertion-error": { 254 | "version": "1.1.0", 255 | "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", 256 | "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", 257 | "dev": true 258 | }, 259 | "astral-regex": { 260 | "version": "1.0.0", 261 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", 262 | "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", 263 | "dev": true 264 | }, 265 | "async": { 266 | "version": "1.5.2", 267 | "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", 268 | "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", 269 | "dev": true 270 | }, 271 | "asynckit": { 272 | "version": "0.4.0", 273 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 274 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" 275 | }, 276 | "atomically": { 277 | "version": "1.3.2", 278 | "resolved": "https://registry.npmjs.org/atomically/-/atomically-1.3.2.tgz", 279 | "integrity": "sha512-MAiqx5ir1nOoMeG2vLXJnj4oFROJYB1hMqa2aAo6GQVIkPdkIcrq9W9SR0OaRtvEowO7Y2bsXqKFuDMTO4iOAQ==" 280 | }, 281 | "aws-sign2": { 282 | "version": "0.7.0", 283 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", 284 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", 285 | "dev": true 286 | }, 287 | "aws4": { 288 | "version": "1.10.0", 289 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", 290 | "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==", 291 | "dev": true 292 | }, 293 | "axios": { 294 | "version": "1.8.3", 295 | "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.3.tgz", 296 | "integrity": "sha512-iP4DebzoNlP/YN2dpwCgb8zoCmhtkajzS48JvwmkSkXvPI3DHc7m+XYL5tGnSlJtR6nImXZmdCuN5aP8dh1d8A==", 297 | "requires": { 298 | "follow-redirects": "^1.15.6", 299 | "form-data": "^4.0.0", 300 | "proxy-from-env": "^1.1.0" 301 | }, 302 | "dependencies": { 303 | "form-data": { 304 | "version": "4.0.2", 305 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", 306 | "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", 307 | "requires": { 308 | "asynckit": "^0.4.0", 309 | "combined-stream": "^1.0.8", 310 | "es-set-tostringtag": "^2.1.0", 311 | "mime-types": "^2.1.12" 312 | } 313 | } 314 | } 315 | }, 316 | "balanced-match": { 317 | "version": "1.0.0", 318 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 319 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 320 | "dev": true 321 | }, 322 | "bcrypt-pbkdf": { 323 | "version": "1.0.2", 324 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", 325 | "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", 326 | "dev": true, 327 | "requires": { 328 | "tweetnacl": "^0.14.3" 329 | } 330 | }, 331 | "binary-extensions": { 332 | "version": "2.1.0", 333 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", 334 | "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", 335 | "dev": true 336 | }, 337 | "boxen": { 338 | "version": "7.0.0", 339 | "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", 340 | "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", 341 | "requires": { 342 | "ansi-align": "^3.0.1", 343 | "camelcase": "^7.0.0", 344 | "chalk": "^5.0.1", 345 | "cli-boxes": "^3.0.0", 346 | "string-width": "^5.1.2", 347 | "type-fest": "^2.13.0", 348 | "widest-line": "^4.0.1", 349 | "wrap-ansi": "^8.0.1" 350 | }, 351 | "dependencies": { 352 | "ansi-regex": { 353 | "version": "6.0.1", 354 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", 355 | "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" 356 | }, 357 | "ansi-styles": { 358 | "version": "6.1.0", 359 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.0.tgz", 360 | "integrity": "sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==" 361 | }, 362 | "camelcase": { 363 | "version": "7.0.0", 364 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.0.tgz", 365 | "integrity": "sha512-JToIvOmz6nhGsUhAYScbo2d6Py5wojjNfoxoc2mEVLUdJ70gJK2gnd+ABY1Tc3sVMyK7QDPtN0T/XdlCQWITyQ==" 366 | }, 367 | "chalk": { 368 | "version": "5.0.1", 369 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", 370 | "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==" 371 | }, 372 | "emoji-regex": { 373 | "version": "9.2.2", 374 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 375 | "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" 376 | }, 377 | "string-width": { 378 | "version": "5.1.2", 379 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", 380 | "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", 381 | "requires": { 382 | "eastasianwidth": "^0.2.0", 383 | "emoji-regex": "^9.2.2", 384 | "strip-ansi": "^7.0.1" 385 | } 386 | }, 387 | "strip-ansi": { 388 | "version": "7.0.1", 389 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", 390 | "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", 391 | "requires": { 392 | "ansi-regex": "^6.0.1" 393 | } 394 | }, 395 | "type-fest": { 396 | "version": "2.14.0", 397 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.14.0.tgz", 398 | "integrity": "sha512-hQnTQkFjL5ik6HF2fTAM8ycbr94UbQXK364wF930VHb0dfBJ5JBP8qwrR8TaK9zwUEk7meruo2JAUDMwvuxd/w==" 399 | }, 400 | "wrap-ansi": { 401 | "version": "8.0.1", 402 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.0.1.tgz", 403 | "integrity": "sha512-QFF+ufAqhoYHvoHdajT/Po7KoXVBPXS2bgjIam5isfWJPfIOnQZ50JtUiVvCv/sjgacf3yRrt2ZKUZ/V4itN4g==", 404 | "requires": { 405 | "ansi-styles": "^6.1.0", 406 | "string-width": "^5.0.1", 407 | "strip-ansi": "^7.0.1" 408 | } 409 | } 410 | } 411 | }, 412 | "brace-expansion": { 413 | "version": "1.1.8", 414 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", 415 | "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", 416 | "dev": true, 417 | "requires": { 418 | "balanced-match": "^1.0.0", 419 | "concat-map": "0.0.1" 420 | } 421 | }, 422 | "braces": { 423 | "version": "3.0.2", 424 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 425 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 426 | "dev": true, 427 | "requires": { 428 | "fill-range": "^7.0.1" 429 | } 430 | }, 431 | "browser-stdout": { 432 | "version": "1.3.1", 433 | "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", 434 | "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", 435 | "dev": true 436 | }, 437 | "cacheable-lookup": { 438 | "version": "5.0.4", 439 | "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", 440 | "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==" 441 | }, 442 | "cacheable-request": { 443 | "version": "7.0.2", 444 | "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", 445 | "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", 446 | "requires": { 447 | "clone-response": "^1.0.2", 448 | "get-stream": "^5.1.0", 449 | "http-cache-semantics": "^4.0.0", 450 | "keyv": "^4.0.0", 451 | "lowercase-keys": "^2.0.0", 452 | "normalize-url": "^6.0.1", 453 | "responselike": "^2.0.0" 454 | } 455 | }, 456 | "call-bind-apply-helpers": { 457 | "version": "1.0.2", 458 | "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", 459 | "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", 460 | "requires": { 461 | "es-errors": "^1.3.0", 462 | "function-bind": "^1.1.2" 463 | } 464 | }, 465 | "callsites": { 466 | "version": "3.1.0", 467 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 468 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 469 | "dev": true 470 | }, 471 | "camelcase": { 472 | "version": "5.3.1", 473 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", 474 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" 475 | }, 476 | "camelcase-keys": { 477 | "version": "6.2.2", 478 | "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", 479 | "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", 480 | "requires": { 481 | "camelcase": "^5.3.1", 482 | "map-obj": "^4.0.0", 483 | "quick-lru": "^4.0.1" 484 | } 485 | }, 486 | "caseless": { 487 | "version": "0.12.0", 488 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 489 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", 490 | "dev": true 491 | }, 492 | "chai": { 493 | "version": "4.2.0", 494 | "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", 495 | "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", 496 | "dev": true, 497 | "requires": { 498 | "assertion-error": "^1.1.0", 499 | "check-error": "^1.0.2", 500 | "deep-eql": "^3.0.1", 501 | "get-func-name": "^2.0.0", 502 | "pathval": "^1.1.0", 503 | "type-detect": "^4.0.5" 504 | } 505 | }, 506 | "chai-as-promised": { 507 | "version": "7.1.1", 508 | "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", 509 | "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", 510 | "dev": true, 511 | "requires": { 512 | "check-error": "^1.0.2" 513 | } 514 | }, 515 | "chalk": { 516 | "version": "4.1.0", 517 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", 518 | "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", 519 | "requires": { 520 | "ansi-styles": "^4.1.0", 521 | "supports-color": "^7.1.0" 522 | }, 523 | "dependencies": { 524 | "ansi-styles": { 525 | "version": "4.2.1", 526 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", 527 | "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", 528 | "requires": { 529 | "@types/color-name": "^1.1.1", 530 | "color-convert": "^2.0.1" 531 | } 532 | }, 533 | "color-convert": { 534 | "version": "2.0.1", 535 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 536 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 537 | "requires": { 538 | "color-name": "~1.1.4" 539 | } 540 | }, 541 | "color-name": { 542 | "version": "1.1.4", 543 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 544 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 545 | }, 546 | "has-flag": { 547 | "version": "4.0.0", 548 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 549 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" 550 | }, 551 | "supports-color": { 552 | "version": "7.1.0", 553 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", 554 | "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", 555 | "requires": { 556 | "has-flag": "^4.0.0" 557 | } 558 | } 559 | } 560 | }, 561 | "check-error": { 562 | "version": "1.0.2", 563 | "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", 564 | "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", 565 | "dev": true 566 | }, 567 | "chokidar": { 568 | "version": "3.3.1", 569 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz", 570 | "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==", 571 | "dev": true, 572 | "requires": { 573 | "anymatch": "~3.1.1", 574 | "braces": "~3.0.2", 575 | "fsevents": "~2.1.2", 576 | "glob-parent": "~5.1.0", 577 | "is-binary-path": "~2.1.0", 578 | "is-glob": "~4.0.1", 579 | "normalize-path": "~3.0.0", 580 | "readdirp": "~3.3.0" 581 | } 582 | }, 583 | "ci-info": { 584 | "version": "3.3.2", 585 | "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz", 586 | "integrity": "sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==" 587 | }, 588 | "cli-boxes": { 589 | "version": "3.0.0", 590 | "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", 591 | "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==" 592 | }, 593 | "cliui": { 594 | "version": "5.0.0", 595 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", 596 | "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", 597 | "dev": true, 598 | "requires": { 599 | "string-width": "^3.1.0", 600 | "strip-ansi": "^5.2.0", 601 | "wrap-ansi": "^5.1.0" 602 | }, 603 | "dependencies": { 604 | "emoji-regex": { 605 | "version": "7.0.3", 606 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 607 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", 608 | "dev": true 609 | }, 610 | "string-width": { 611 | "version": "3.1.0", 612 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 613 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 614 | "dev": true, 615 | "requires": { 616 | "emoji-regex": "^7.0.1", 617 | "is-fullwidth-code-point": "^2.0.0", 618 | "strip-ansi": "^5.1.0" 619 | } 620 | } 621 | } 622 | }, 623 | "clone-response": { 624 | "version": "1.0.2", 625 | "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", 626 | "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==", 627 | "requires": { 628 | "mimic-response": "^1.0.0" 629 | } 630 | }, 631 | "color-convert": { 632 | "version": "1.9.1", 633 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", 634 | "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", 635 | "requires": { 636 | "color-name": "^1.1.1" 637 | } 638 | }, 639 | "color-name": { 640 | "version": "1.1.3", 641 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 642 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" 643 | }, 644 | "combined-stream": { 645 | "version": "1.0.8", 646 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 647 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 648 | "requires": { 649 | "delayed-stream": "~1.0.0" 650 | } 651 | }, 652 | "commander": { 653 | "version": "2.20.3", 654 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 655 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", 656 | "dev": true, 657 | "optional": true 658 | }, 659 | "compress-brotli": { 660 | "version": "1.3.8", 661 | "resolved": "https://registry.npmjs.org/compress-brotli/-/compress-brotli-1.3.8.tgz", 662 | "integrity": "sha512-lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ==", 663 | "requires": { 664 | "@types/json-buffer": "~3.0.0", 665 | "json-buffer": "~3.0.1" 666 | } 667 | }, 668 | "concat-map": { 669 | "version": "0.0.1", 670 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 671 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 672 | "dev": true 673 | }, 674 | "conf": { 675 | "version": "7.1.1", 676 | "resolved": "https://registry.npmjs.org/conf/-/conf-7.1.1.tgz", 677 | "integrity": "sha512-njOu3so+7zcR1oQzXKP0mpPMKRf+riaaWmxBUhgP/c9k32PuDX/SQ+N6cO6ZylY6NOZGPwgzicGxdlRGXUOkSQ==", 678 | "requires": { 679 | "ajv": "^6.12.2", 680 | "atomically": "^1.3.1", 681 | "debounce-fn": "^4.0.0", 682 | "dot-prop": "^5.2.0", 683 | "env-paths": "^2.2.0", 684 | "json-schema-typed": "^7.0.3", 685 | "make-dir": "^3.1.0", 686 | "onetime": "^5.1.0", 687 | "pkg-up": "^3.1.0", 688 | "semver": "^7.3.2" 689 | }, 690 | "dependencies": { 691 | "ajv": { 692 | "version": "6.12.3", 693 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", 694 | "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", 695 | "requires": { 696 | "fast-deep-equal": "^3.1.1", 697 | "fast-json-stable-stringify": "^2.0.0", 698 | "json-schema-traverse": "^0.4.1", 699 | "uri-js": "^4.2.2" 700 | } 701 | }, 702 | "fast-deep-equal": { 703 | "version": "3.1.3", 704 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 705 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" 706 | }, 707 | "make-dir": { 708 | "version": "3.1.0", 709 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", 710 | "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", 711 | "requires": { 712 | "semver": "^6.0.0" 713 | }, 714 | "dependencies": { 715 | "semver": { 716 | "version": "6.3.0", 717 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 718 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" 719 | } 720 | } 721 | }, 722 | "semver": { 723 | "version": "7.3.2", 724 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", 725 | "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" 726 | } 727 | } 728 | }, 729 | "configstore": { 730 | "version": "6.0.0", 731 | "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", 732 | "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", 733 | "requires": { 734 | "dot-prop": "^6.0.1", 735 | "graceful-fs": "^4.2.6", 736 | "unique-string": "^3.0.0", 737 | "write-file-atomic": "^3.0.3", 738 | "xdg-basedir": "^5.0.1" 739 | }, 740 | "dependencies": { 741 | "dot-prop": { 742 | "version": "6.0.1", 743 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", 744 | "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", 745 | "requires": { 746 | "is-obj": "^2.0.0" 747 | } 748 | } 749 | } 750 | }, 751 | "core-util-is": { 752 | "version": "1.0.2", 753 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 754 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 755 | "dev": true 756 | }, 757 | "coveralls": { 758 | "version": "3.1.0", 759 | "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.1.0.tgz", 760 | "integrity": "sha512-sHxOu2ELzW8/NC1UP5XVLbZDzO4S3VxfFye3XYCznopHy02YjNkHcj5bKaVw2O7hVaBdBjEdQGpie4II1mWhuQ==", 761 | "dev": true, 762 | "requires": { 763 | "js-yaml": "^3.13.1", 764 | "lcov-parse": "^1.0.0", 765 | "log-driver": "^1.2.7", 766 | "minimist": "^1.2.5", 767 | "request": "^2.88.2" 768 | } 769 | }, 770 | "cross-spawn": { 771 | "version": "7.0.3", 772 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 773 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 774 | "dev": true, 775 | "requires": { 776 | "path-key": "^3.1.0", 777 | "shebang-command": "^2.0.0", 778 | "which": "^2.0.1" 779 | }, 780 | "dependencies": { 781 | "which": { 782 | "version": "2.0.2", 783 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 784 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 785 | "dev": true, 786 | "requires": { 787 | "isexe": "^2.0.0" 788 | } 789 | } 790 | } 791 | }, 792 | "crypto-random-string": { 793 | "version": "4.0.0", 794 | "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", 795 | "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", 796 | "requires": { 797 | "type-fest": "^1.0.1" 798 | }, 799 | "dependencies": { 800 | "type-fest": { 801 | "version": "1.4.0", 802 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", 803 | "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==" 804 | } 805 | } 806 | }, 807 | "dashdash": { 808 | "version": "1.14.1", 809 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 810 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 811 | "dev": true, 812 | "requires": { 813 | "assert-plus": "^1.0.0" 814 | } 815 | }, 816 | "debounce-fn": { 817 | "version": "4.0.0", 818 | "resolved": "https://registry.npmjs.org/debounce-fn/-/debounce-fn-4.0.0.tgz", 819 | "integrity": "sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==", 820 | "requires": { 821 | "mimic-fn": "^3.0.0" 822 | }, 823 | "dependencies": { 824 | "mimic-fn": { 825 | "version": "3.1.0", 826 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz", 827 | "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==" 828 | } 829 | } 830 | }, 831 | "decamelize": { 832 | "version": "1.2.0", 833 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 834 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" 835 | }, 836 | "decamelize-keys": { 837 | "version": "1.1.0", 838 | "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", 839 | "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", 840 | "requires": { 841 | "decamelize": "^1.1.0", 842 | "map-obj": "^1.0.0" 843 | }, 844 | "dependencies": { 845 | "map-obj": { 846 | "version": "1.0.1", 847 | "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", 848 | "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" 849 | } 850 | } 851 | }, 852 | "decompress-response": { 853 | "version": "6.0.0", 854 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", 855 | "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", 856 | "requires": { 857 | "mimic-response": "^3.1.0" 858 | }, 859 | "dependencies": { 860 | "mimic-response": { 861 | "version": "3.1.0", 862 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", 863 | "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" 864 | } 865 | } 866 | }, 867 | "deep-eql": { 868 | "version": "3.0.1", 869 | "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", 870 | "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", 871 | "dev": true, 872 | "requires": { 873 | "type-detect": "^4.0.0" 874 | } 875 | }, 876 | "deep-extend": { 877 | "version": "0.6.0", 878 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", 879 | "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" 880 | }, 881 | "deep-is": { 882 | "version": "0.1.3", 883 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", 884 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", 885 | "dev": true 886 | }, 887 | "defer-to-connect": { 888 | "version": "2.0.1", 889 | "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", 890 | "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" 891 | }, 892 | "define-properties": { 893 | "version": "1.1.3", 894 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", 895 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", 896 | "dev": true, 897 | "requires": { 898 | "object-keys": "^1.0.12" 899 | } 900 | }, 901 | "delayed-stream": { 902 | "version": "1.0.0", 903 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 904 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" 905 | }, 906 | "diff": { 907 | "version": "4.0.2", 908 | "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", 909 | "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", 910 | "dev": true 911 | }, 912 | "doctrine": { 913 | "version": "3.0.0", 914 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 915 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 916 | "dev": true, 917 | "requires": { 918 | "esutils": "^2.0.2" 919 | } 920 | }, 921 | "dot-prop": { 922 | "version": "5.2.0", 923 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", 924 | "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", 925 | "requires": { 926 | "is-obj": "^2.0.0" 927 | } 928 | }, 929 | "dunder-proto": { 930 | "version": "1.0.1", 931 | "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", 932 | "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", 933 | "requires": { 934 | "call-bind-apply-helpers": "^1.0.1", 935 | "es-errors": "^1.3.0", 936 | "gopd": "^1.2.0" 937 | } 938 | }, 939 | "eastasianwidth": { 940 | "version": "0.2.0", 941 | "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", 942 | "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" 943 | }, 944 | "ecc-jsbn": { 945 | "version": "0.1.2", 946 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", 947 | "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", 948 | "dev": true, 949 | "requires": { 950 | "jsbn": "~0.1.0", 951 | "safer-buffer": "^2.1.0" 952 | } 953 | }, 954 | "emoji-regex": { 955 | "version": "8.0.0", 956 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 957 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 958 | }, 959 | "end-of-stream": { 960 | "version": "1.4.4", 961 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 962 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 963 | "requires": { 964 | "once": "^1.4.0" 965 | } 966 | }, 967 | "enquirer": { 968 | "version": "2.3.6", 969 | "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", 970 | "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", 971 | "dev": true, 972 | "requires": { 973 | "ansi-colors": "^4.1.1" 974 | } 975 | }, 976 | "env-paths": { 977 | "version": "2.2.0", 978 | "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", 979 | "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==" 980 | }, 981 | "error-ex": { 982 | "version": "1.3.2", 983 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 984 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 985 | "requires": { 986 | "is-arrayish": "^0.2.1" 987 | } 988 | }, 989 | "es-abstract": { 990 | "version": "1.17.6", 991 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", 992 | "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", 993 | "dev": true, 994 | "requires": { 995 | "es-to-primitive": "^1.2.1", 996 | "function-bind": "^1.1.1", 997 | "has": "^1.0.3", 998 | "has-symbols": "^1.0.1", 999 | "is-callable": "^1.2.0", 1000 | "is-regex": "^1.1.0", 1001 | "object-inspect": "^1.7.0", 1002 | "object-keys": "^1.1.1", 1003 | "object.assign": "^4.1.0", 1004 | "string.prototype.trimend": "^1.0.1", 1005 | "string.prototype.trimstart": "^1.0.1" 1006 | } 1007 | }, 1008 | "es-array-method-boxes-properly": { 1009 | "version": "1.0.0", 1010 | "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", 1011 | "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", 1012 | "dev": true 1013 | }, 1014 | "es-define-property": { 1015 | "version": "1.0.1", 1016 | "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", 1017 | "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==" 1018 | }, 1019 | "es-errors": { 1020 | "version": "1.3.0", 1021 | "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", 1022 | "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" 1023 | }, 1024 | "es-get-iterator": { 1025 | "version": "1.1.0", 1026 | "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.0.tgz", 1027 | "integrity": "sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ==", 1028 | "dev": true, 1029 | "requires": { 1030 | "es-abstract": "^1.17.4", 1031 | "has-symbols": "^1.0.1", 1032 | "is-arguments": "^1.0.4", 1033 | "is-map": "^2.0.1", 1034 | "is-set": "^2.0.1", 1035 | "is-string": "^1.0.5", 1036 | "isarray": "^2.0.5" 1037 | } 1038 | }, 1039 | "es-object-atoms": { 1040 | "version": "1.1.1", 1041 | "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", 1042 | "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", 1043 | "requires": { 1044 | "es-errors": "^1.3.0" 1045 | } 1046 | }, 1047 | "es-set-tostringtag": { 1048 | "version": "2.1.0", 1049 | "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", 1050 | "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", 1051 | "requires": { 1052 | "es-errors": "^1.3.0", 1053 | "get-intrinsic": "^1.2.6", 1054 | "has-tostringtag": "^1.0.2", 1055 | "hasown": "^2.0.2" 1056 | } 1057 | }, 1058 | "es-to-primitive": { 1059 | "version": "1.2.1", 1060 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", 1061 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", 1062 | "dev": true, 1063 | "requires": { 1064 | "is-callable": "^1.1.4", 1065 | "is-date-object": "^1.0.1", 1066 | "is-symbol": "^1.0.2" 1067 | } 1068 | }, 1069 | "escape-goat": { 1070 | "version": "4.0.0", 1071 | "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", 1072 | "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==" 1073 | }, 1074 | "escape-string-regexp": { 1075 | "version": "1.0.5", 1076 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1077 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" 1078 | }, 1079 | "escodegen": { 1080 | "version": "1.8.1", 1081 | "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", 1082 | "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", 1083 | "dev": true, 1084 | "requires": { 1085 | "esprima": "^2.7.1", 1086 | "estraverse": "^1.9.1", 1087 | "esutils": "^2.0.2", 1088 | "optionator": "^0.8.1", 1089 | "source-map": "~0.2.0" 1090 | }, 1091 | "dependencies": { 1092 | "estraverse": { 1093 | "version": "1.9.3", 1094 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", 1095 | "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", 1096 | "dev": true 1097 | } 1098 | } 1099 | }, 1100 | "eslint": { 1101 | "version": "7.5.0", 1102 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.5.0.tgz", 1103 | "integrity": "sha512-vlUP10xse9sWt9SGRtcr1LAC67BENcQMFeV+w5EvLEoFe3xJ8cF1Skd0msziRx/VMC+72B4DxreCE+OR12OA6Q==", 1104 | "dev": true, 1105 | "requires": { 1106 | "@babel/code-frame": "^7.0.0", 1107 | "ajv": "^6.10.0", 1108 | "chalk": "^4.0.0", 1109 | "cross-spawn": "^7.0.2", 1110 | "debug": "^4.0.1", 1111 | "doctrine": "^3.0.0", 1112 | "enquirer": "^2.3.5", 1113 | "eslint-scope": "^5.1.0", 1114 | "eslint-utils": "^2.1.0", 1115 | "eslint-visitor-keys": "^1.3.0", 1116 | "espree": "^7.2.0", 1117 | "esquery": "^1.2.0", 1118 | "esutils": "^2.0.2", 1119 | "file-entry-cache": "^5.0.1", 1120 | "functional-red-black-tree": "^1.0.1", 1121 | "glob-parent": "^5.0.0", 1122 | "globals": "^12.1.0", 1123 | "ignore": "^4.0.6", 1124 | "import-fresh": "^3.0.0", 1125 | "imurmurhash": "^0.1.4", 1126 | "is-glob": "^4.0.0", 1127 | "js-yaml": "^3.13.1", 1128 | "json-stable-stringify-without-jsonify": "^1.0.1", 1129 | "levn": "^0.4.1", 1130 | "lodash": "^4.17.19", 1131 | "minimatch": "^3.0.4", 1132 | "natural-compare": "^1.4.0", 1133 | "optionator": "^0.9.1", 1134 | "progress": "^2.0.0", 1135 | "regexpp": "^3.1.0", 1136 | "semver": "^7.2.1", 1137 | "strip-ansi": "^6.0.0", 1138 | "strip-json-comments": "^3.1.0", 1139 | "table": "^5.2.3", 1140 | "text-table": "^0.2.0", 1141 | "v8-compile-cache": "^2.0.3" 1142 | }, 1143 | "dependencies": { 1144 | "debug": { 1145 | "version": "4.1.1", 1146 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", 1147 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", 1148 | "dev": true, 1149 | "requires": { 1150 | "ms": "^2.1.1" 1151 | } 1152 | }, 1153 | "levn": { 1154 | "version": "0.4.1", 1155 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 1156 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 1157 | "dev": true, 1158 | "requires": { 1159 | "prelude-ls": "^1.2.1", 1160 | "type-check": "~0.4.0" 1161 | } 1162 | }, 1163 | "ms": { 1164 | "version": "2.1.2", 1165 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1166 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1167 | "dev": true 1168 | }, 1169 | "optionator": { 1170 | "version": "0.9.1", 1171 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", 1172 | "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", 1173 | "dev": true, 1174 | "requires": { 1175 | "deep-is": "^0.1.3", 1176 | "fast-levenshtein": "^2.0.6", 1177 | "levn": "^0.4.1", 1178 | "prelude-ls": "^1.2.1", 1179 | "type-check": "^0.4.0", 1180 | "word-wrap": "^1.2.3" 1181 | } 1182 | }, 1183 | "prelude-ls": { 1184 | "version": "1.2.1", 1185 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 1186 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 1187 | "dev": true 1188 | }, 1189 | "semver": { 1190 | "version": "7.3.2", 1191 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", 1192 | "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", 1193 | "dev": true 1194 | }, 1195 | "strip-ansi": { 1196 | "version": "6.0.0", 1197 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", 1198 | "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", 1199 | "dev": true, 1200 | "requires": { 1201 | "ansi-regex": "^5.0.0" 1202 | } 1203 | }, 1204 | "strip-json-comments": { 1205 | "version": "3.1.1", 1206 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 1207 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 1208 | "dev": true 1209 | }, 1210 | "type-check": { 1211 | "version": "0.4.0", 1212 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 1213 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 1214 | "dev": true, 1215 | "requires": { 1216 | "prelude-ls": "^1.2.1" 1217 | } 1218 | } 1219 | } 1220 | }, 1221 | "eslint-scope": { 1222 | "version": "5.1.0", 1223 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", 1224 | "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", 1225 | "dev": true, 1226 | "requires": { 1227 | "esrecurse": "^4.1.0", 1228 | "estraverse": "^4.1.1" 1229 | } 1230 | }, 1231 | "eslint-utils": { 1232 | "version": "2.1.0", 1233 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", 1234 | "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", 1235 | "dev": true, 1236 | "requires": { 1237 | "eslint-visitor-keys": "^1.1.0" 1238 | } 1239 | }, 1240 | "eslint-visitor-keys": { 1241 | "version": "1.3.0", 1242 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", 1243 | "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", 1244 | "dev": true 1245 | }, 1246 | "espree": { 1247 | "version": "7.2.0", 1248 | "resolved": "https://registry.npmjs.org/espree/-/espree-7.2.0.tgz", 1249 | "integrity": "sha512-H+cQ3+3JYRMEIOl87e7QdHX70ocly5iW4+dttuR8iYSPr/hXKFb+7dBsZ7+u1adC4VrnPlTkv0+OwuPnDop19g==", 1250 | "dev": true, 1251 | "requires": { 1252 | "acorn": "^7.3.1", 1253 | "acorn-jsx": "^5.2.0", 1254 | "eslint-visitor-keys": "^1.3.0" 1255 | } 1256 | }, 1257 | "esprima": { 1258 | "version": "2.7.3", 1259 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", 1260 | "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", 1261 | "dev": true 1262 | }, 1263 | "esquery": { 1264 | "version": "1.3.1", 1265 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", 1266 | "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", 1267 | "dev": true, 1268 | "requires": { 1269 | "estraverse": "^5.1.0" 1270 | }, 1271 | "dependencies": { 1272 | "estraverse": { 1273 | "version": "5.1.0", 1274 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz", 1275 | "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==", 1276 | "dev": true 1277 | } 1278 | } 1279 | }, 1280 | "esrecurse": { 1281 | "version": "4.2.1", 1282 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", 1283 | "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", 1284 | "dev": true, 1285 | "requires": { 1286 | "estraverse": "^4.1.0" 1287 | } 1288 | }, 1289 | "estraverse": { 1290 | "version": "4.3.0", 1291 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 1292 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 1293 | "dev": true 1294 | }, 1295 | "esutils": { 1296 | "version": "2.0.2", 1297 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 1298 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" 1299 | }, 1300 | "extend": { 1301 | "version": "3.0.2", 1302 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 1303 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", 1304 | "dev": true 1305 | }, 1306 | "extsprintf": { 1307 | "version": "1.3.0", 1308 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 1309 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", 1310 | "dev": true 1311 | }, 1312 | "fast-deep-equal": { 1313 | "version": "3.1.3", 1314 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 1315 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 1316 | "dev": true 1317 | }, 1318 | "fast-json-stable-stringify": { 1319 | "version": "2.0.0", 1320 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", 1321 | "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" 1322 | }, 1323 | "fast-levenshtein": { 1324 | "version": "2.0.6", 1325 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 1326 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 1327 | "dev": true 1328 | }, 1329 | "file-entry-cache": { 1330 | "version": "5.0.1", 1331 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", 1332 | "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", 1333 | "dev": true, 1334 | "requires": { 1335 | "flat-cache": "^2.0.1" 1336 | } 1337 | }, 1338 | "fill-range": { 1339 | "version": "7.0.1", 1340 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 1341 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 1342 | "dev": true, 1343 | "requires": { 1344 | "to-regex-range": "^5.0.1" 1345 | } 1346 | }, 1347 | "find-up": { 1348 | "version": "3.0.0", 1349 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", 1350 | "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", 1351 | "requires": { 1352 | "locate-path": "^3.0.0" 1353 | } 1354 | }, 1355 | "flat": { 1356 | "version": "4.1.0", 1357 | "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", 1358 | "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", 1359 | "dev": true, 1360 | "requires": { 1361 | "is-buffer": "~2.0.3" 1362 | } 1363 | }, 1364 | "flat-cache": { 1365 | "version": "2.0.1", 1366 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", 1367 | "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", 1368 | "dev": true, 1369 | "requires": { 1370 | "flatted": "^2.0.0", 1371 | "rimraf": "2.6.3", 1372 | "write": "1.0.3" 1373 | } 1374 | }, 1375 | "flatted": { 1376 | "version": "2.0.2", 1377 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", 1378 | "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", 1379 | "dev": true 1380 | }, 1381 | "follow-redirects": { 1382 | "version": "1.15.9", 1383 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", 1384 | "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==" 1385 | }, 1386 | "forever-agent": { 1387 | "version": "0.6.1", 1388 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 1389 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", 1390 | "dev": true 1391 | }, 1392 | "form-data": { 1393 | "version": "2.3.3", 1394 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", 1395 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", 1396 | "dev": true, 1397 | "requires": { 1398 | "asynckit": "^0.4.0", 1399 | "combined-stream": "^1.0.6", 1400 | "mime-types": "^2.1.12" 1401 | } 1402 | }, 1403 | "fs.realpath": { 1404 | "version": "1.0.0", 1405 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1406 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 1407 | "dev": true 1408 | }, 1409 | "fsevents": { 1410 | "version": "2.1.3", 1411 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", 1412 | "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", 1413 | "dev": true, 1414 | "optional": true 1415 | }, 1416 | "function-bind": { 1417 | "version": "1.1.2", 1418 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 1419 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" 1420 | }, 1421 | "functional-red-black-tree": { 1422 | "version": "1.0.1", 1423 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 1424 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 1425 | "dev": true 1426 | }, 1427 | "get-caller-file": { 1428 | "version": "2.0.5", 1429 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 1430 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 1431 | "dev": true 1432 | }, 1433 | "get-func-name": { 1434 | "version": "2.0.0", 1435 | "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", 1436 | "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", 1437 | "dev": true 1438 | }, 1439 | "get-intrinsic": { 1440 | "version": "1.3.0", 1441 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", 1442 | "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", 1443 | "requires": { 1444 | "call-bind-apply-helpers": "^1.0.2", 1445 | "es-define-property": "^1.0.1", 1446 | "es-errors": "^1.3.0", 1447 | "es-object-atoms": "^1.1.1", 1448 | "function-bind": "^1.1.2", 1449 | "get-proto": "^1.0.1", 1450 | "gopd": "^1.2.0", 1451 | "has-symbols": "^1.1.0", 1452 | "hasown": "^2.0.2", 1453 | "math-intrinsics": "^1.1.0" 1454 | } 1455 | }, 1456 | "get-proto": { 1457 | "version": "1.0.1", 1458 | "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", 1459 | "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", 1460 | "requires": { 1461 | "dunder-proto": "^1.0.1", 1462 | "es-object-atoms": "^1.0.0" 1463 | } 1464 | }, 1465 | "get-stream": { 1466 | "version": "5.2.0", 1467 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", 1468 | "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", 1469 | "requires": { 1470 | "pump": "^3.0.0" 1471 | } 1472 | }, 1473 | "getpass": { 1474 | "version": "0.1.7", 1475 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 1476 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 1477 | "dev": true, 1478 | "requires": { 1479 | "assert-plus": "^1.0.0" 1480 | } 1481 | }, 1482 | "glob": { 1483 | "version": "7.1.6", 1484 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", 1485 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", 1486 | "dev": true, 1487 | "requires": { 1488 | "fs.realpath": "^1.0.0", 1489 | "inflight": "^1.0.4", 1490 | "inherits": "2", 1491 | "minimatch": "^3.0.4", 1492 | "once": "^1.3.0", 1493 | "path-is-absolute": "^1.0.0" 1494 | } 1495 | }, 1496 | "glob-parent": { 1497 | "version": "5.1.2", 1498 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1499 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1500 | "dev": true, 1501 | "requires": { 1502 | "is-glob": "^4.0.1" 1503 | } 1504 | }, 1505 | "global-dirs": { 1506 | "version": "3.0.0", 1507 | "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", 1508 | "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", 1509 | "requires": { 1510 | "ini": "2.0.0" 1511 | } 1512 | }, 1513 | "globals": { 1514 | "version": "12.4.0", 1515 | "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", 1516 | "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", 1517 | "dev": true, 1518 | "requires": { 1519 | "type-fest": "^0.8.1" 1520 | } 1521 | }, 1522 | "gopd": { 1523 | "version": "1.2.0", 1524 | "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", 1525 | "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==" 1526 | }, 1527 | "got": { 1528 | "version": "11.8.5", 1529 | "resolved": "https://registry.npmjs.org/got/-/got-11.8.5.tgz", 1530 | "integrity": "sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==", 1531 | "requires": { 1532 | "@sindresorhus/is": "^4.0.0", 1533 | "@szmarczak/http-timer": "^4.0.5", 1534 | "@types/cacheable-request": "^6.0.1", 1535 | "@types/responselike": "^1.0.0", 1536 | "cacheable-lookup": "^5.0.3", 1537 | "cacheable-request": "^7.0.2", 1538 | "decompress-response": "^6.0.0", 1539 | "http2-wrapper": "^1.0.0-beta.5.2", 1540 | "lowercase-keys": "^2.0.0", 1541 | "p-cancelable": "^2.0.0", 1542 | "responselike": "^2.0.0" 1543 | } 1544 | }, 1545 | "graceful-fs": { 1546 | "version": "4.2.10", 1547 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", 1548 | "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" 1549 | }, 1550 | "growl": { 1551 | "version": "1.10.5", 1552 | "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", 1553 | "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", 1554 | "dev": true 1555 | }, 1556 | "handlebars": { 1557 | "version": "4.7.7", 1558 | "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", 1559 | "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", 1560 | "dev": true, 1561 | "requires": { 1562 | "minimist": "^1.2.5", 1563 | "neo-async": "^2.6.0", 1564 | "source-map": "^0.6.1", 1565 | "uglify-js": "^3.1.4", 1566 | "wordwrap": "^1.0.0" 1567 | }, 1568 | "dependencies": { 1569 | "source-map": { 1570 | "version": "0.6.1", 1571 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1572 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 1573 | "dev": true 1574 | } 1575 | } 1576 | }, 1577 | "har-schema": { 1578 | "version": "2.0.0", 1579 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", 1580 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", 1581 | "dev": true 1582 | }, 1583 | "har-validator": { 1584 | "version": "5.1.5", 1585 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", 1586 | "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", 1587 | "dev": true, 1588 | "requires": { 1589 | "ajv": "^6.12.3", 1590 | "har-schema": "^2.0.0" 1591 | }, 1592 | "dependencies": { 1593 | "ajv": { 1594 | "version": "6.12.3", 1595 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", 1596 | "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", 1597 | "dev": true, 1598 | "requires": { 1599 | "fast-deep-equal": "^3.1.1", 1600 | "fast-json-stable-stringify": "^2.0.0", 1601 | "json-schema-traverse": "^0.4.1", 1602 | "uri-js": "^4.2.2" 1603 | } 1604 | }, 1605 | "fast-deep-equal": { 1606 | "version": "3.1.3", 1607 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 1608 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 1609 | "dev": true 1610 | } 1611 | } 1612 | }, 1613 | "hard-rejection": { 1614 | "version": "2.1.0", 1615 | "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", 1616 | "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==" 1617 | }, 1618 | "has": { 1619 | "version": "1.0.3", 1620 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1621 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1622 | "requires": { 1623 | "function-bind": "^1.1.1" 1624 | } 1625 | }, 1626 | "has-flag": { 1627 | "version": "3.0.0", 1628 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1629 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" 1630 | }, 1631 | "has-symbols": { 1632 | "version": "1.1.0", 1633 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", 1634 | "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==" 1635 | }, 1636 | "has-tostringtag": { 1637 | "version": "1.0.2", 1638 | "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", 1639 | "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", 1640 | "requires": { 1641 | "has-symbols": "^1.0.3" 1642 | } 1643 | }, 1644 | "has-yarn": { 1645 | "version": "3.0.0", 1646 | "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz", 1647 | "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==" 1648 | }, 1649 | "hasown": { 1650 | "version": "2.0.2", 1651 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 1652 | "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 1653 | "requires": { 1654 | "function-bind": "^1.1.2" 1655 | } 1656 | }, 1657 | "he": { 1658 | "version": "1.2.0", 1659 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", 1660 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", 1661 | "dev": true 1662 | }, 1663 | "hosted-git-info": { 1664 | "version": "4.0.2", 1665 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", 1666 | "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", 1667 | "requires": { 1668 | "lru-cache": "^6.0.0" 1669 | } 1670 | }, 1671 | "http-cache-semantics": { 1672 | "version": "4.1.0", 1673 | "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", 1674 | "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" 1675 | }, 1676 | "http-signature": { 1677 | "version": "1.2.0", 1678 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", 1679 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", 1680 | "dev": true, 1681 | "requires": { 1682 | "assert-plus": "^1.0.0", 1683 | "jsprim": "^1.2.2", 1684 | "sshpk": "^1.7.0" 1685 | } 1686 | }, 1687 | "http2-wrapper": { 1688 | "version": "1.0.3", 1689 | "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", 1690 | "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", 1691 | "requires": { 1692 | "quick-lru": "^5.1.1", 1693 | "resolve-alpn": "^1.0.0" 1694 | }, 1695 | "dependencies": { 1696 | "quick-lru": { 1697 | "version": "5.1.1", 1698 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", 1699 | "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" 1700 | } 1701 | } 1702 | }, 1703 | "ignore": { 1704 | "version": "4.0.6", 1705 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", 1706 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", 1707 | "dev": true 1708 | }, 1709 | "import-fresh": { 1710 | "version": "3.2.1", 1711 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", 1712 | "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", 1713 | "dev": true, 1714 | "requires": { 1715 | "parent-module": "^1.0.0", 1716 | "resolve-from": "^4.0.0" 1717 | } 1718 | }, 1719 | "import-lazy": { 1720 | "version": "4.0.0", 1721 | "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", 1722 | "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==" 1723 | }, 1724 | "imurmurhash": { 1725 | "version": "0.1.4", 1726 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1727 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" 1728 | }, 1729 | "indent-string": { 1730 | "version": "4.0.0", 1731 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", 1732 | "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" 1733 | }, 1734 | "inflight": { 1735 | "version": "1.0.6", 1736 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1737 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1738 | "dev": true, 1739 | "requires": { 1740 | "once": "^1.3.0", 1741 | "wrappy": "1" 1742 | } 1743 | }, 1744 | "inherits": { 1745 | "version": "2.0.3", 1746 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 1747 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 1748 | "dev": true 1749 | }, 1750 | "ini": { 1751 | "version": "2.0.0", 1752 | "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", 1753 | "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" 1754 | }, 1755 | "is-arguments": { 1756 | "version": "1.0.4", 1757 | "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", 1758 | "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", 1759 | "dev": true 1760 | }, 1761 | "is-arrayish": { 1762 | "version": "0.2.1", 1763 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 1764 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" 1765 | }, 1766 | "is-binary-path": { 1767 | "version": "2.1.0", 1768 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 1769 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 1770 | "dev": true, 1771 | "requires": { 1772 | "binary-extensions": "^2.0.0" 1773 | } 1774 | }, 1775 | "is-buffer": { 1776 | "version": "2.0.4", 1777 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", 1778 | "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", 1779 | "dev": true 1780 | }, 1781 | "is-callable": { 1782 | "version": "1.2.0", 1783 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", 1784 | "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", 1785 | "dev": true 1786 | }, 1787 | "is-ci": { 1788 | "version": "3.0.1", 1789 | "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", 1790 | "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", 1791 | "requires": { 1792 | "ci-info": "^3.2.0" 1793 | } 1794 | }, 1795 | "is-core-module": { 1796 | "version": "2.2.0", 1797 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", 1798 | "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", 1799 | "requires": { 1800 | "has": "^1.0.3" 1801 | } 1802 | }, 1803 | "is-date-object": { 1804 | "version": "1.0.2", 1805 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", 1806 | "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", 1807 | "dev": true 1808 | }, 1809 | "is-extglob": { 1810 | "version": "2.1.1", 1811 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1812 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 1813 | "dev": true 1814 | }, 1815 | "is-fullwidth-code-point": { 1816 | "version": "2.0.0", 1817 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 1818 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 1819 | "dev": true 1820 | }, 1821 | "is-glob": { 1822 | "version": "4.0.1", 1823 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", 1824 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", 1825 | "dev": true, 1826 | "requires": { 1827 | "is-extglob": "^2.1.1" 1828 | } 1829 | }, 1830 | "is-installed-globally": { 1831 | "version": "0.4.0", 1832 | "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", 1833 | "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", 1834 | "requires": { 1835 | "global-dirs": "^3.0.0", 1836 | "is-path-inside": "^3.0.2" 1837 | } 1838 | }, 1839 | "is-map": { 1840 | "version": "2.0.1", 1841 | "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.1.tgz", 1842 | "integrity": "sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw==", 1843 | "dev": true 1844 | }, 1845 | "is-npm": { 1846 | "version": "6.0.0", 1847 | "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", 1848 | "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==" 1849 | }, 1850 | "is-number": { 1851 | "version": "7.0.0", 1852 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1853 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1854 | "dev": true 1855 | }, 1856 | "is-obj": { 1857 | "version": "2.0.0", 1858 | "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", 1859 | "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" 1860 | }, 1861 | "is-path-inside": { 1862 | "version": "3.0.3", 1863 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", 1864 | "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" 1865 | }, 1866 | "is-plain-obj": { 1867 | "version": "1.1.0", 1868 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", 1869 | "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" 1870 | }, 1871 | "is-regex": { 1872 | "version": "1.1.0", 1873 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", 1874 | "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", 1875 | "dev": true, 1876 | "requires": { 1877 | "has-symbols": "^1.0.1" 1878 | } 1879 | }, 1880 | "is-set": { 1881 | "version": "2.0.1", 1882 | "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.1.tgz", 1883 | "integrity": "sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA==", 1884 | "dev": true 1885 | }, 1886 | "is-string": { 1887 | "version": "1.0.5", 1888 | "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", 1889 | "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", 1890 | "dev": true 1891 | }, 1892 | "is-symbol": { 1893 | "version": "1.0.3", 1894 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", 1895 | "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", 1896 | "dev": true, 1897 | "requires": { 1898 | "has-symbols": "^1.0.1" 1899 | } 1900 | }, 1901 | "is-typedarray": { 1902 | "version": "1.0.0", 1903 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 1904 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" 1905 | }, 1906 | "is-yarn-global": { 1907 | "version": "0.4.0", 1908 | "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.0.tgz", 1909 | "integrity": "sha512-HneQBCrXGBy15QnaDfcn6OLoU8AQPAa0Qn0IeJR/QCo4E8dNZaGGwxpCwWyEBQC5QvFonP8d6t60iGpAHVAfNA==" 1910 | }, 1911 | "isarray": { 1912 | "version": "2.0.5", 1913 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", 1914 | "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", 1915 | "dev": true 1916 | }, 1917 | "isexe": { 1918 | "version": "2.0.0", 1919 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1920 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 1921 | "dev": true 1922 | }, 1923 | "isstream": { 1924 | "version": "0.1.2", 1925 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 1926 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", 1927 | "dev": true 1928 | }, 1929 | "istanbul": { 1930 | "version": "0.4.5", 1931 | "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", 1932 | "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", 1933 | "dev": true, 1934 | "requires": { 1935 | "abbrev": "1.0.x", 1936 | "async": "1.x", 1937 | "escodegen": "1.8.x", 1938 | "esprima": "2.7.x", 1939 | "glob": "^5.0.15", 1940 | "handlebars": "^4.0.1", 1941 | "js-yaml": "3.x", 1942 | "mkdirp": "0.5.x", 1943 | "nopt": "3.x", 1944 | "once": "1.x", 1945 | "resolve": "1.1.x", 1946 | "supports-color": "^3.1.0", 1947 | "which": "^1.1.1", 1948 | "wordwrap": "^1.0.0" 1949 | }, 1950 | "dependencies": { 1951 | "glob": { 1952 | "version": "5.0.15", 1953 | "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", 1954 | "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", 1955 | "dev": true, 1956 | "requires": { 1957 | "inflight": "^1.0.4", 1958 | "inherits": "2", 1959 | "minimatch": "2 || 3", 1960 | "once": "^1.3.0", 1961 | "path-is-absolute": "^1.0.0" 1962 | } 1963 | }, 1964 | "has-flag": { 1965 | "version": "1.0.0", 1966 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 1967 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 1968 | "dev": true 1969 | }, 1970 | "resolve": { 1971 | "version": "1.1.7", 1972 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", 1973 | "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", 1974 | "dev": true 1975 | }, 1976 | "supports-color": { 1977 | "version": "3.2.3", 1978 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 1979 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 1980 | "dev": true, 1981 | "requires": { 1982 | "has-flag": "^1.0.0" 1983 | } 1984 | } 1985 | } 1986 | }, 1987 | "iterate-iterator": { 1988 | "version": "1.0.1", 1989 | "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.1.tgz", 1990 | "integrity": "sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw==", 1991 | "dev": true 1992 | }, 1993 | "iterate-value": { 1994 | "version": "1.0.2", 1995 | "resolved": "https://registry.npmjs.org/iterate-value/-/iterate-value-1.0.2.tgz", 1996 | "integrity": "sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==", 1997 | "dev": true, 1998 | "requires": { 1999 | "es-get-iterator": "^1.0.2", 2000 | "iterate-iterator": "^1.0.1" 2001 | } 2002 | }, 2003 | "js-tokens": { 2004 | "version": "4.0.0", 2005 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 2006 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 2007 | }, 2008 | "js-yaml": { 2009 | "version": "3.13.1", 2010 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", 2011 | "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", 2012 | "dev": true, 2013 | "requires": { 2014 | "argparse": "^1.0.7", 2015 | "esprima": "^4.0.0" 2016 | }, 2017 | "dependencies": { 2018 | "esprima": { 2019 | "version": "4.0.1", 2020 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 2021 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 2022 | "dev": true 2023 | } 2024 | } 2025 | }, 2026 | "jsbn": { 2027 | "version": "0.1.1", 2028 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 2029 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", 2030 | "dev": true 2031 | }, 2032 | "json-buffer": { 2033 | "version": "3.0.1", 2034 | "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", 2035 | "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" 2036 | }, 2037 | "json-parse-even-better-errors": { 2038 | "version": "2.3.1", 2039 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", 2040 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" 2041 | }, 2042 | "json-schema": { 2043 | "version": "0.2.3", 2044 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", 2045 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", 2046 | "dev": true 2047 | }, 2048 | "json-schema-traverse": { 2049 | "version": "0.4.1", 2050 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 2051 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" 2052 | }, 2053 | "json-schema-typed": { 2054 | "version": "7.0.3", 2055 | "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-7.0.3.tgz", 2056 | "integrity": "sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==" 2057 | }, 2058 | "json-stable-stringify-without-jsonify": { 2059 | "version": "1.0.1", 2060 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 2061 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 2062 | "dev": true 2063 | }, 2064 | "json-stringify-safe": { 2065 | "version": "5.0.1", 2066 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 2067 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", 2068 | "dev": true 2069 | }, 2070 | "jsprim": { 2071 | "version": "1.4.1", 2072 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", 2073 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", 2074 | "dev": true, 2075 | "requires": { 2076 | "assert-plus": "1.0.0", 2077 | "extsprintf": "1.3.0", 2078 | "json-schema": "0.2.3", 2079 | "verror": "1.10.0" 2080 | } 2081 | }, 2082 | "keyv": { 2083 | "version": "4.3.2", 2084 | "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.3.2.tgz", 2085 | "integrity": "sha512-kn8WmodVBe12lmHpA6W8OY7SNh6wVR+Z+wZESF4iF5FCazaVXGWOtnbnvX0tMQ1bO+/TmOD9LziuYMvrIIs0xw==", 2086 | "requires": { 2087 | "compress-brotli": "^1.3.8", 2088 | "json-buffer": "3.0.1" 2089 | } 2090 | }, 2091 | "kind-of": { 2092 | "version": "6.0.3", 2093 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", 2094 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" 2095 | }, 2096 | "latest-version": { 2097 | "version": "6.0.0", 2098 | "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-6.0.0.tgz", 2099 | "integrity": "sha512-zfTuGx4PwpoSJ1mABs58AkM6qMzu49LZ7LT5JHprKvpGpQ+cYtfSibi3tLLrH4z7UylYU42rfBdwN8YgqbTljA==", 2100 | "requires": { 2101 | "package-json": "^7.0.0" 2102 | } 2103 | }, 2104 | "lcov-parse": { 2105 | "version": "1.0.0", 2106 | "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz", 2107 | "integrity": "sha1-6w1GtUER68VhrLTECO+TY73I9+A=", 2108 | "dev": true 2109 | }, 2110 | "levn": { 2111 | "version": "0.3.0", 2112 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 2113 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 2114 | "dev": true, 2115 | "requires": { 2116 | "prelude-ls": "~1.1.2", 2117 | "type-check": "~0.3.2" 2118 | } 2119 | }, 2120 | "lines-and-columns": { 2121 | "version": "1.1.6", 2122 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", 2123 | "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" 2124 | }, 2125 | "locate-path": { 2126 | "version": "3.0.0", 2127 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", 2128 | "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", 2129 | "requires": { 2130 | "p-locate": "^3.0.0", 2131 | "path-exists": "^3.0.0" 2132 | } 2133 | }, 2134 | "lodash": { 2135 | "version": "4.17.21", 2136 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 2137 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", 2138 | "dev": true 2139 | }, 2140 | "log-driver": { 2141 | "version": "1.2.7", 2142 | "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", 2143 | "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", 2144 | "dev": true 2145 | }, 2146 | "log-symbols": { 2147 | "version": "3.0.0", 2148 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", 2149 | "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", 2150 | "dev": true, 2151 | "requires": { 2152 | "chalk": "^2.4.2" 2153 | }, 2154 | "dependencies": { 2155 | "chalk": { 2156 | "version": "2.4.2", 2157 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 2158 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 2159 | "dev": true, 2160 | "requires": { 2161 | "ansi-styles": "^3.2.1", 2162 | "escape-string-regexp": "^1.0.5", 2163 | "supports-color": "^5.3.0" 2164 | } 2165 | } 2166 | } 2167 | }, 2168 | "lowercase-keys": { 2169 | "version": "2.0.0", 2170 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", 2171 | "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" 2172 | }, 2173 | "lru-cache": { 2174 | "version": "6.0.0", 2175 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 2176 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 2177 | "requires": { 2178 | "yallist": "^4.0.0" 2179 | } 2180 | }, 2181 | "map-obj": { 2182 | "version": "4.2.0", 2183 | "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.0.tgz", 2184 | "integrity": "sha512-NAq0fCmZYGz9UFEQyndp7sisrow4GroyGeKluyKC/chuITZsPyOyC1UJZPJlVFImhXdROIP5xqouRLThT3BbpQ==" 2185 | }, 2186 | "math-intrinsics": { 2187 | "version": "1.1.0", 2188 | "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", 2189 | "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==" 2190 | }, 2191 | "meow": { 2192 | "version": "8.0.0", 2193 | "resolved": "https://registry.npmjs.org/meow/-/meow-8.0.0.tgz", 2194 | "integrity": "sha512-nbsTRz2fwniJBFgUkcdISq8y/q9n9VbiHYbfwklFh5V4V2uAcxtKQkDc0yCLPM/kP0d+inZBewn3zJqewHE7kg==", 2195 | "requires": { 2196 | "@types/minimist": "^1.2.0", 2197 | "camelcase-keys": "^6.2.2", 2198 | "decamelize-keys": "^1.1.0", 2199 | "hard-rejection": "^2.1.0", 2200 | "minimist-options": "4.1.0", 2201 | "normalize-package-data": "^3.0.0", 2202 | "read-pkg-up": "^7.0.1", 2203 | "redent": "^3.0.0", 2204 | "trim-newlines": "^3.0.0", 2205 | "type-fest": "^0.18.0", 2206 | "yargs-parser": "^20.2.3" 2207 | }, 2208 | "dependencies": { 2209 | "type-fest": { 2210 | "version": "0.18.1", 2211 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", 2212 | "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==" 2213 | }, 2214 | "yargs-parser": { 2215 | "version": "20.2.7", 2216 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", 2217 | "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==" 2218 | } 2219 | } 2220 | }, 2221 | "mime-db": { 2222 | "version": "1.44.0", 2223 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", 2224 | "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" 2225 | }, 2226 | "mime-types": { 2227 | "version": "2.1.27", 2228 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", 2229 | "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", 2230 | "requires": { 2231 | "mime-db": "1.44.0" 2232 | } 2233 | }, 2234 | "mimic-fn": { 2235 | "version": "2.1.0", 2236 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 2237 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" 2238 | }, 2239 | "mimic-response": { 2240 | "version": "1.0.1", 2241 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", 2242 | "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" 2243 | }, 2244 | "min-indent": { 2245 | "version": "1.0.1", 2246 | "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", 2247 | "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" 2248 | }, 2249 | "minimatch": { 2250 | "version": "3.0.4", 2251 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 2252 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 2253 | "dev": true, 2254 | "requires": { 2255 | "brace-expansion": "^1.1.7" 2256 | } 2257 | }, 2258 | "minimist": { 2259 | "version": "1.2.5", 2260 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", 2261 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" 2262 | }, 2263 | "minimist-options": { 2264 | "version": "4.1.0", 2265 | "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", 2266 | "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", 2267 | "requires": { 2268 | "arrify": "^1.0.1", 2269 | "is-plain-obj": "^1.1.0", 2270 | "kind-of": "^6.0.3" 2271 | } 2272 | }, 2273 | "mkdirp": { 2274 | "version": "0.5.5", 2275 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", 2276 | "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", 2277 | "dev": true, 2278 | "requires": { 2279 | "minimist": "^1.2.5" 2280 | } 2281 | }, 2282 | "mocha": { 2283 | "version": "8.1.0", 2284 | "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.1.0.tgz", 2285 | "integrity": "sha512-sI0gaI1I/jPVu3KFpnveWGadfe3JNBAENqgTUPgLZAUppu725zS2mrVztzAgIR8DUscuS4doEBTx9LATC+HSeA==", 2286 | "dev": true, 2287 | "requires": { 2288 | "ansi-colors": "4.1.1", 2289 | "browser-stdout": "1.3.1", 2290 | "chokidar": "3.3.1", 2291 | "debug": "3.2.6", 2292 | "diff": "4.0.2", 2293 | "escape-string-regexp": "1.0.5", 2294 | "find-up": "4.1.0", 2295 | "glob": "7.1.6", 2296 | "growl": "1.10.5", 2297 | "he": "1.2.0", 2298 | "js-yaml": "3.13.1", 2299 | "log-symbols": "3.0.0", 2300 | "minimatch": "3.0.4", 2301 | "ms": "2.1.2", 2302 | "object.assign": "4.1.0", 2303 | "promise.allsettled": "1.0.2", 2304 | "serialize-javascript": "4.0.0", 2305 | "strip-json-comments": "3.0.1", 2306 | "supports-color": "7.1.0", 2307 | "which": "2.0.2", 2308 | "wide-align": "1.1.3", 2309 | "workerpool": "6.0.0", 2310 | "yargs": "13.3.2", 2311 | "yargs-parser": "13.1.2", 2312 | "yargs-unparser": "1.6.1" 2313 | }, 2314 | "dependencies": { 2315 | "debug": { 2316 | "version": "3.2.6", 2317 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", 2318 | "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", 2319 | "dev": true, 2320 | "requires": { 2321 | "ms": "^2.1.1" 2322 | } 2323 | }, 2324 | "find-up": { 2325 | "version": "4.1.0", 2326 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", 2327 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", 2328 | "dev": true, 2329 | "requires": { 2330 | "locate-path": "^5.0.0", 2331 | "path-exists": "^4.0.0" 2332 | } 2333 | }, 2334 | "has-flag": { 2335 | "version": "4.0.0", 2336 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 2337 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 2338 | "dev": true 2339 | }, 2340 | "locate-path": { 2341 | "version": "5.0.0", 2342 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", 2343 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", 2344 | "dev": true, 2345 | "requires": { 2346 | "p-locate": "^4.1.0" 2347 | } 2348 | }, 2349 | "ms": { 2350 | "version": "2.1.2", 2351 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 2352 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 2353 | "dev": true 2354 | }, 2355 | "p-locate": { 2356 | "version": "4.1.0", 2357 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", 2358 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", 2359 | "dev": true, 2360 | "requires": { 2361 | "p-limit": "^2.2.0" 2362 | } 2363 | }, 2364 | "path-exists": { 2365 | "version": "4.0.0", 2366 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 2367 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 2368 | "dev": true 2369 | }, 2370 | "strip-json-comments": { 2371 | "version": "3.0.1", 2372 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", 2373 | "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", 2374 | "dev": true 2375 | }, 2376 | "supports-color": { 2377 | "version": "7.1.0", 2378 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", 2379 | "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", 2380 | "dev": true, 2381 | "requires": { 2382 | "has-flag": "^4.0.0" 2383 | } 2384 | }, 2385 | "which": { 2386 | "version": "2.0.2", 2387 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 2388 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 2389 | "dev": true, 2390 | "requires": { 2391 | "isexe": "^2.0.0" 2392 | } 2393 | } 2394 | } 2395 | }, 2396 | "mocha-lcov-reporter": { 2397 | "version": "1.3.0", 2398 | "resolved": "https://registry.npmjs.org/mocha-lcov-reporter/-/mocha-lcov-reporter-1.3.0.tgz", 2399 | "integrity": "sha1-Rpve9PivyaEWBW8HnfYYLQr7A4Q=", 2400 | "dev": true 2401 | }, 2402 | "natural-compare": { 2403 | "version": "1.4.0", 2404 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 2405 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 2406 | "dev": true 2407 | }, 2408 | "neo-async": { 2409 | "version": "2.6.1", 2410 | "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", 2411 | "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", 2412 | "dev": true 2413 | }, 2414 | "nopt": { 2415 | "version": "3.0.6", 2416 | "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", 2417 | "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", 2418 | "dev": true, 2419 | "requires": { 2420 | "abbrev": "1" 2421 | } 2422 | }, 2423 | "normalize-package-data": { 2424 | "version": "3.0.2", 2425 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", 2426 | "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", 2427 | "requires": { 2428 | "hosted-git-info": "^4.0.1", 2429 | "resolve": "^1.20.0", 2430 | "semver": "^7.3.4", 2431 | "validate-npm-package-license": "^3.0.1" 2432 | } 2433 | }, 2434 | "normalize-path": { 2435 | "version": "3.0.0", 2436 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 2437 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 2438 | "dev": true 2439 | }, 2440 | "normalize-url": { 2441 | "version": "6.1.0", 2442 | "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", 2443 | "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" 2444 | }, 2445 | "oauth-sign": { 2446 | "version": "0.9.0", 2447 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", 2448 | "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", 2449 | "dev": true 2450 | }, 2451 | "object-inspect": { 2452 | "version": "1.8.0", 2453 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", 2454 | "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", 2455 | "dev": true 2456 | }, 2457 | "object-keys": { 2458 | "version": "1.1.1", 2459 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 2460 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", 2461 | "dev": true 2462 | }, 2463 | "object.assign": { 2464 | "version": "4.1.0", 2465 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", 2466 | "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", 2467 | "dev": true, 2468 | "requires": { 2469 | "define-properties": "^1.1.2", 2470 | "function-bind": "^1.1.1", 2471 | "has-symbols": "^1.0.0", 2472 | "object-keys": "^1.0.11" 2473 | } 2474 | }, 2475 | "once": { 2476 | "version": "1.4.0", 2477 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2478 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 2479 | "requires": { 2480 | "wrappy": "1" 2481 | } 2482 | }, 2483 | "onetime": { 2484 | "version": "5.1.0", 2485 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", 2486 | "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", 2487 | "requires": { 2488 | "mimic-fn": "^2.1.0" 2489 | } 2490 | }, 2491 | "optionator": { 2492 | "version": "0.8.2", 2493 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", 2494 | "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", 2495 | "dev": true, 2496 | "requires": { 2497 | "deep-is": "~0.1.3", 2498 | "fast-levenshtein": "~2.0.4", 2499 | "levn": "~0.3.0", 2500 | "prelude-ls": "~1.1.2", 2501 | "type-check": "~0.3.2", 2502 | "wordwrap": "~1.0.0" 2503 | } 2504 | }, 2505 | "p-cancelable": { 2506 | "version": "2.1.1", 2507 | "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", 2508 | "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" 2509 | }, 2510 | "p-limit": { 2511 | "version": "2.2.2", 2512 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", 2513 | "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", 2514 | "requires": { 2515 | "p-try": "^2.0.0" 2516 | } 2517 | }, 2518 | "p-locate": { 2519 | "version": "3.0.0", 2520 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", 2521 | "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", 2522 | "requires": { 2523 | "p-limit": "^2.0.0" 2524 | } 2525 | }, 2526 | "p-try": { 2527 | "version": "2.2.0", 2528 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 2529 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" 2530 | }, 2531 | "package-json": { 2532 | "version": "7.0.0", 2533 | "resolved": "https://registry.npmjs.org/package-json/-/package-json-7.0.0.tgz", 2534 | "integrity": "sha512-CHJqc94AA8YfSLHGQT3DbvSIuE12NLFekpM4n7LRrAd3dOJtA911+4xe9q6nC3/jcKraq7nNS9VxgtT0KC+diA==", 2535 | "requires": { 2536 | "got": "^11.8.2", 2537 | "registry-auth-token": "^4.0.0", 2538 | "registry-url": "^5.0.0", 2539 | "semver": "^7.3.5" 2540 | } 2541 | }, 2542 | "parent-module": { 2543 | "version": "1.0.1", 2544 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 2545 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 2546 | "dev": true, 2547 | "requires": { 2548 | "callsites": "^3.0.0" 2549 | } 2550 | }, 2551 | "parse-json": { 2552 | "version": "5.2.0", 2553 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", 2554 | "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", 2555 | "requires": { 2556 | "@babel/code-frame": "^7.0.0", 2557 | "error-ex": "^1.3.1", 2558 | "json-parse-even-better-errors": "^2.3.0", 2559 | "lines-and-columns": "^1.1.6" 2560 | } 2561 | }, 2562 | "path-exists": { 2563 | "version": "3.0.0", 2564 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 2565 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" 2566 | }, 2567 | "path-is-absolute": { 2568 | "version": "1.0.1", 2569 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2570 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 2571 | "dev": true 2572 | }, 2573 | "path-key": { 2574 | "version": "3.1.1", 2575 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 2576 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 2577 | "dev": true 2578 | }, 2579 | "path-parse": { 2580 | "version": "1.0.7", 2581 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 2582 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" 2583 | }, 2584 | "pathval": { 2585 | "version": "1.1.0", 2586 | "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", 2587 | "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", 2588 | "dev": true 2589 | }, 2590 | "performance-now": { 2591 | "version": "2.1.0", 2592 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", 2593 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", 2594 | "dev": true 2595 | }, 2596 | "picomatch": { 2597 | "version": "2.2.2", 2598 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", 2599 | "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", 2600 | "dev": true 2601 | }, 2602 | "pkg-up": { 2603 | "version": "3.1.0", 2604 | "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", 2605 | "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", 2606 | "requires": { 2607 | "find-up": "^3.0.0" 2608 | } 2609 | }, 2610 | "prelude-ls": { 2611 | "version": "1.1.2", 2612 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 2613 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", 2614 | "dev": true 2615 | }, 2616 | "progress": { 2617 | "version": "2.0.3", 2618 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", 2619 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", 2620 | "dev": true 2621 | }, 2622 | "promise.allsettled": { 2623 | "version": "1.0.2", 2624 | "resolved": "https://registry.npmjs.org/promise.allsettled/-/promise.allsettled-1.0.2.tgz", 2625 | "integrity": "sha512-UpcYW5S1RaNKT6pd+s9jp9K9rlQge1UXKskec0j6Mmuq7UJCvlS2J2/s/yuPN8ehftf9HXMxWlKiPbGGUzpoRg==", 2626 | "dev": true, 2627 | "requires": { 2628 | "array.prototype.map": "^1.0.1", 2629 | "define-properties": "^1.1.3", 2630 | "es-abstract": "^1.17.0-next.1", 2631 | "function-bind": "^1.1.1", 2632 | "iterate-value": "^1.0.0" 2633 | } 2634 | }, 2635 | "proxy-from-env": { 2636 | "version": "1.1.0", 2637 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", 2638 | "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" 2639 | }, 2640 | "psl": { 2641 | "version": "1.8.0", 2642 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", 2643 | "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", 2644 | "dev": true 2645 | }, 2646 | "pump": { 2647 | "version": "3.0.0", 2648 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 2649 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 2650 | "requires": { 2651 | "end-of-stream": "^1.1.0", 2652 | "once": "^1.3.1" 2653 | } 2654 | }, 2655 | "punycode": { 2656 | "version": "2.1.1", 2657 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 2658 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" 2659 | }, 2660 | "pupa": { 2661 | "version": "3.1.0", 2662 | "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", 2663 | "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", 2664 | "requires": { 2665 | "escape-goat": "^4.0.0" 2666 | } 2667 | }, 2668 | "qs": { 2669 | "version": "6.5.2", 2670 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", 2671 | "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", 2672 | "dev": true 2673 | }, 2674 | "quick-lru": { 2675 | "version": "4.0.1", 2676 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", 2677 | "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==" 2678 | }, 2679 | "randombytes": { 2680 | "version": "2.1.0", 2681 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", 2682 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", 2683 | "dev": true, 2684 | "requires": { 2685 | "safe-buffer": "^5.1.0" 2686 | } 2687 | }, 2688 | "rc": { 2689 | "version": "1.2.8", 2690 | "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", 2691 | "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", 2692 | "requires": { 2693 | "deep-extend": "^0.6.0", 2694 | "ini": "~1.3.0", 2695 | "minimist": "^1.2.0", 2696 | "strip-json-comments": "~2.0.1" 2697 | }, 2698 | "dependencies": { 2699 | "ini": { 2700 | "version": "1.3.8", 2701 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", 2702 | "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" 2703 | } 2704 | } 2705 | }, 2706 | "read-pkg": { 2707 | "version": "5.2.0", 2708 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", 2709 | "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", 2710 | "requires": { 2711 | "@types/normalize-package-data": "^2.4.0", 2712 | "normalize-package-data": "^2.5.0", 2713 | "parse-json": "^5.0.0", 2714 | "type-fest": "^0.6.0" 2715 | }, 2716 | "dependencies": { 2717 | "hosted-git-info": { 2718 | "version": "2.8.8", 2719 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", 2720 | "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==" 2721 | }, 2722 | "normalize-package-data": { 2723 | "version": "2.5.0", 2724 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", 2725 | "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", 2726 | "requires": { 2727 | "hosted-git-info": "^2.1.4", 2728 | "resolve": "^1.10.0", 2729 | "semver": "2 || 3 || 4 || 5", 2730 | "validate-npm-package-license": "^3.0.1" 2731 | } 2732 | }, 2733 | "semver": { 2734 | "version": "5.7.1", 2735 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 2736 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" 2737 | }, 2738 | "type-fest": { 2739 | "version": "0.6.0", 2740 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", 2741 | "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" 2742 | } 2743 | } 2744 | }, 2745 | "read-pkg-up": { 2746 | "version": "7.0.1", 2747 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", 2748 | "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", 2749 | "requires": { 2750 | "find-up": "^4.1.0", 2751 | "read-pkg": "^5.2.0", 2752 | "type-fest": "^0.8.1" 2753 | }, 2754 | "dependencies": { 2755 | "find-up": { 2756 | "version": "4.1.0", 2757 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", 2758 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", 2759 | "requires": { 2760 | "locate-path": "^5.0.0", 2761 | "path-exists": "^4.0.0" 2762 | } 2763 | }, 2764 | "locate-path": { 2765 | "version": "5.0.0", 2766 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", 2767 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", 2768 | "requires": { 2769 | "p-locate": "^4.1.0" 2770 | } 2771 | }, 2772 | "p-locate": { 2773 | "version": "4.1.0", 2774 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", 2775 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", 2776 | "requires": { 2777 | "p-limit": "^2.2.0" 2778 | } 2779 | }, 2780 | "path-exists": { 2781 | "version": "4.0.0", 2782 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 2783 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" 2784 | } 2785 | } 2786 | }, 2787 | "readdirp": { 2788 | "version": "3.3.0", 2789 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz", 2790 | "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==", 2791 | "dev": true, 2792 | "requires": { 2793 | "picomatch": "^2.0.7" 2794 | } 2795 | }, 2796 | "redent": { 2797 | "version": "3.0.0", 2798 | "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", 2799 | "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", 2800 | "requires": { 2801 | "indent-string": "^4.0.0", 2802 | "strip-indent": "^3.0.0" 2803 | } 2804 | }, 2805 | "regexpp": { 2806 | "version": "3.1.0", 2807 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", 2808 | "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", 2809 | "dev": true 2810 | }, 2811 | "registry-auth-token": { 2812 | "version": "4.2.2", 2813 | "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz", 2814 | "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==", 2815 | "requires": { 2816 | "rc": "1.2.8" 2817 | } 2818 | }, 2819 | "registry-url": { 2820 | "version": "5.1.0", 2821 | "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", 2822 | "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", 2823 | "requires": { 2824 | "rc": "^1.2.8" 2825 | } 2826 | }, 2827 | "request": { 2828 | "version": "2.88.2", 2829 | "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", 2830 | "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", 2831 | "dev": true, 2832 | "requires": { 2833 | "aws-sign2": "~0.7.0", 2834 | "aws4": "^1.8.0", 2835 | "caseless": "~0.12.0", 2836 | "combined-stream": "~1.0.6", 2837 | "extend": "~3.0.2", 2838 | "forever-agent": "~0.6.1", 2839 | "form-data": "~2.3.2", 2840 | "har-validator": "~5.1.3", 2841 | "http-signature": "~1.2.0", 2842 | "is-typedarray": "~1.0.0", 2843 | "isstream": "~0.1.2", 2844 | "json-stringify-safe": "~5.0.1", 2845 | "mime-types": "~2.1.19", 2846 | "oauth-sign": "~0.9.0", 2847 | "performance-now": "^2.1.0", 2848 | "qs": "~6.5.2", 2849 | "safe-buffer": "^5.1.2", 2850 | "tough-cookie": "~2.5.0", 2851 | "tunnel-agent": "^0.6.0", 2852 | "uuid": "^3.3.2" 2853 | } 2854 | }, 2855 | "require-directory": { 2856 | "version": "2.1.1", 2857 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 2858 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", 2859 | "dev": true 2860 | }, 2861 | "require-main-filename": { 2862 | "version": "2.0.0", 2863 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", 2864 | "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", 2865 | "dev": true 2866 | }, 2867 | "resolve": { 2868 | "version": "1.20.0", 2869 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", 2870 | "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", 2871 | "requires": { 2872 | "is-core-module": "^2.2.0", 2873 | "path-parse": "^1.0.6" 2874 | } 2875 | }, 2876 | "resolve-alpn": { 2877 | "version": "1.2.1", 2878 | "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", 2879 | "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" 2880 | }, 2881 | "resolve-from": { 2882 | "version": "4.0.0", 2883 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 2884 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 2885 | "dev": true 2886 | }, 2887 | "responselike": { 2888 | "version": "2.0.0", 2889 | "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", 2890 | "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", 2891 | "requires": { 2892 | "lowercase-keys": "^2.0.0" 2893 | } 2894 | }, 2895 | "rimraf": { 2896 | "version": "2.6.3", 2897 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", 2898 | "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", 2899 | "dev": true, 2900 | "requires": { 2901 | "glob": "^7.1.3" 2902 | } 2903 | }, 2904 | "safe-buffer": { 2905 | "version": "5.2.1", 2906 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 2907 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 2908 | "dev": true 2909 | }, 2910 | "safer-buffer": { 2911 | "version": "2.1.2", 2912 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 2913 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 2914 | "dev": true 2915 | }, 2916 | "semver": { 2917 | "version": "7.3.5", 2918 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", 2919 | "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", 2920 | "requires": { 2921 | "lru-cache": "^6.0.0" 2922 | } 2923 | }, 2924 | "semver-diff": { 2925 | "version": "4.0.0", 2926 | "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", 2927 | "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", 2928 | "requires": { 2929 | "semver": "^7.3.5" 2930 | } 2931 | }, 2932 | "serialize-javascript": { 2933 | "version": "4.0.0", 2934 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", 2935 | "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", 2936 | "dev": true, 2937 | "requires": { 2938 | "randombytes": "^2.1.0" 2939 | } 2940 | }, 2941 | "set-blocking": { 2942 | "version": "2.0.0", 2943 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 2944 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", 2945 | "dev": true 2946 | }, 2947 | "shebang-command": { 2948 | "version": "2.0.0", 2949 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 2950 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 2951 | "dev": true, 2952 | "requires": { 2953 | "shebang-regex": "^3.0.0" 2954 | } 2955 | }, 2956 | "shebang-regex": { 2957 | "version": "3.0.0", 2958 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 2959 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 2960 | "dev": true 2961 | }, 2962 | "signal-exit": { 2963 | "version": "3.0.7", 2964 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 2965 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" 2966 | }, 2967 | "slice-ansi": { 2968 | "version": "2.1.0", 2969 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", 2970 | "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", 2971 | "dev": true, 2972 | "requires": { 2973 | "ansi-styles": "^3.2.0", 2974 | "astral-regex": "^1.0.0", 2975 | "is-fullwidth-code-point": "^2.0.0" 2976 | } 2977 | }, 2978 | "source-map": { 2979 | "version": "0.2.0", 2980 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", 2981 | "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", 2982 | "dev": true, 2983 | "optional": true, 2984 | "requires": { 2985 | "amdefine": ">=0.0.4" 2986 | } 2987 | }, 2988 | "spdx-correct": { 2989 | "version": "3.1.1", 2990 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", 2991 | "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", 2992 | "requires": { 2993 | "spdx-expression-parse": "^3.0.0", 2994 | "spdx-license-ids": "^3.0.0" 2995 | } 2996 | }, 2997 | "spdx-exceptions": { 2998 | "version": "2.3.0", 2999 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", 3000 | "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" 3001 | }, 3002 | "spdx-expression-parse": { 3003 | "version": "3.0.1", 3004 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", 3005 | "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", 3006 | "requires": { 3007 | "spdx-exceptions": "^2.1.0", 3008 | "spdx-license-ids": "^3.0.0" 3009 | } 3010 | }, 3011 | "spdx-license-ids": { 3012 | "version": "3.0.7", 3013 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", 3014 | "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==" 3015 | }, 3016 | "sprintf-js": { 3017 | "version": "1.0.3", 3018 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 3019 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 3020 | "dev": true 3021 | }, 3022 | "sshpk": { 3023 | "version": "1.16.1", 3024 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", 3025 | "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", 3026 | "dev": true, 3027 | "requires": { 3028 | "asn1": "~0.2.3", 3029 | "assert-plus": "^1.0.0", 3030 | "bcrypt-pbkdf": "^1.0.0", 3031 | "dashdash": "^1.12.0", 3032 | "ecc-jsbn": "~0.1.1", 3033 | "getpass": "^0.1.1", 3034 | "jsbn": "~0.1.0", 3035 | "safer-buffer": "^2.0.2", 3036 | "tweetnacl": "~0.14.0" 3037 | } 3038 | }, 3039 | "string-width": { 3040 | "version": "3.1.0", 3041 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 3042 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 3043 | "dev": true, 3044 | "requires": { 3045 | "emoji-regex": "^7.0.1", 3046 | "is-fullwidth-code-point": "^2.0.0", 3047 | "strip-ansi": "^5.1.0" 3048 | }, 3049 | "dependencies": { 3050 | "emoji-regex": { 3051 | "version": "7.0.3", 3052 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 3053 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", 3054 | "dev": true 3055 | } 3056 | } 3057 | }, 3058 | "string.prototype.trimend": { 3059 | "version": "1.0.1", 3060 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", 3061 | "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", 3062 | "dev": true, 3063 | "requires": { 3064 | "define-properties": "^1.1.3", 3065 | "es-abstract": "^1.17.5" 3066 | } 3067 | }, 3068 | "string.prototype.trimstart": { 3069 | "version": "1.0.1", 3070 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", 3071 | "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", 3072 | "dev": true, 3073 | "requires": { 3074 | "define-properties": "^1.1.3", 3075 | "es-abstract": "^1.17.5" 3076 | } 3077 | }, 3078 | "strip-ansi": { 3079 | "version": "5.2.0", 3080 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 3081 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 3082 | "dev": true, 3083 | "requires": { 3084 | "ansi-regex": "^4.1.0" 3085 | }, 3086 | "dependencies": { 3087 | "ansi-regex": { 3088 | "version": "4.1.0", 3089 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", 3090 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", 3091 | "dev": true 3092 | } 3093 | } 3094 | }, 3095 | "strip-indent": { 3096 | "version": "3.0.0", 3097 | "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", 3098 | "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", 3099 | "requires": { 3100 | "min-indent": "^1.0.0" 3101 | } 3102 | }, 3103 | "strip-json-comments": { 3104 | "version": "2.0.1", 3105 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 3106 | "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" 3107 | }, 3108 | "supports-color": { 3109 | "version": "5.4.0", 3110 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", 3111 | "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", 3112 | "requires": { 3113 | "has-flag": "^3.0.0" 3114 | } 3115 | }, 3116 | "table": { 3117 | "version": "5.4.6", 3118 | "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", 3119 | "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", 3120 | "dev": true, 3121 | "requires": { 3122 | "ajv": "^6.10.2", 3123 | "lodash": "^4.17.14", 3124 | "slice-ansi": "^2.1.0", 3125 | "string-width": "^3.0.0" 3126 | } 3127 | }, 3128 | "text-table": { 3129 | "version": "0.2.0", 3130 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 3131 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 3132 | "dev": true 3133 | }, 3134 | "to-regex-range": { 3135 | "version": "5.0.1", 3136 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 3137 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 3138 | "dev": true, 3139 | "requires": { 3140 | "is-number": "^7.0.0" 3141 | } 3142 | }, 3143 | "tough-cookie": { 3144 | "version": "2.5.0", 3145 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", 3146 | "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", 3147 | "dev": true, 3148 | "requires": { 3149 | "psl": "^1.1.28", 3150 | "punycode": "^2.1.1" 3151 | } 3152 | }, 3153 | "trim-newlines": { 3154 | "version": "3.0.1", 3155 | "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", 3156 | "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==" 3157 | }, 3158 | "tunnel-agent": { 3159 | "version": "0.6.0", 3160 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 3161 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 3162 | "dev": true, 3163 | "requires": { 3164 | "safe-buffer": "^5.0.1" 3165 | } 3166 | }, 3167 | "tweetnacl": { 3168 | "version": "0.14.5", 3169 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 3170 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", 3171 | "dev": true 3172 | }, 3173 | "type-check": { 3174 | "version": "0.3.2", 3175 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 3176 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 3177 | "dev": true, 3178 | "requires": { 3179 | "prelude-ls": "~1.1.2" 3180 | } 3181 | }, 3182 | "type-detect": { 3183 | "version": "4.0.8", 3184 | "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", 3185 | "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", 3186 | "dev": true 3187 | }, 3188 | "type-fest": { 3189 | "version": "0.8.1", 3190 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", 3191 | "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" 3192 | }, 3193 | "typedarray-to-buffer": { 3194 | "version": "3.1.5", 3195 | "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", 3196 | "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", 3197 | "requires": { 3198 | "is-typedarray": "^1.0.0" 3199 | } 3200 | }, 3201 | "uglify-js": { 3202 | "version": "3.7.2", 3203 | "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.2.tgz", 3204 | "integrity": "sha512-uhRwZcANNWVLrxLfNFEdltoPNhECUR3lc+UdJoG9CBpMcSnKyWA94tc3eAujB1GcMY5Uwq8ZMp4qWpxWYDQmaA==", 3205 | "dev": true, 3206 | "optional": true, 3207 | "requires": { 3208 | "commander": "~2.20.3", 3209 | "source-map": "~0.6.1" 3210 | }, 3211 | "dependencies": { 3212 | "source-map": { 3213 | "version": "0.6.1", 3214 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 3215 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 3216 | "dev": true, 3217 | "optional": true 3218 | } 3219 | } 3220 | }, 3221 | "unique-string": { 3222 | "version": "3.0.0", 3223 | "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", 3224 | "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", 3225 | "requires": { 3226 | "crypto-random-string": "^4.0.0" 3227 | } 3228 | }, 3229 | "update-notifier": { 3230 | "version": "6.0.0", 3231 | "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.0.tgz", 3232 | "integrity": "sha512-YvoNDIPpTKGJDi+pRYzQW+/W5Y9qroPSNmO2GdAYGuRPBUDXC9CGJTkG1n6JbN0s27XjeppR/ekWeR3O+vgz3Q==", 3233 | "requires": { 3234 | "boxen": "^7.0.0", 3235 | "chalk": "^5.0.1", 3236 | "configstore": "^6.0.0", 3237 | "has-yarn": "^3.0.0", 3238 | "import-lazy": "^4.0.0", 3239 | "is-ci": "^3.0.1", 3240 | "is-installed-globally": "^0.4.0", 3241 | "is-npm": "^6.0.0", 3242 | "is-yarn-global": "^0.4.0", 3243 | "latest-version": "^6.0.0", 3244 | "pupa": "^3.1.0", 3245 | "semver": "^7.3.7", 3246 | "semver-diff": "^4.0.0", 3247 | "xdg-basedir": "^5.1.0" 3248 | }, 3249 | "dependencies": { 3250 | "chalk": { 3251 | "version": "5.0.1", 3252 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", 3253 | "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==" 3254 | }, 3255 | "semver": { 3256 | "version": "7.3.7", 3257 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", 3258 | "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", 3259 | "requires": { 3260 | "lru-cache": "^6.0.0" 3261 | } 3262 | } 3263 | } 3264 | }, 3265 | "uri-js": { 3266 | "version": "4.2.2", 3267 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", 3268 | "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", 3269 | "requires": { 3270 | "punycode": "^2.1.0" 3271 | } 3272 | }, 3273 | "uuid": { 3274 | "version": "3.4.0", 3275 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", 3276 | "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", 3277 | "dev": true 3278 | }, 3279 | "v8-compile-cache": { 3280 | "version": "2.1.1", 3281 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", 3282 | "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", 3283 | "dev": true 3284 | }, 3285 | "validate-npm-package-license": { 3286 | "version": "3.0.4", 3287 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", 3288 | "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", 3289 | "requires": { 3290 | "spdx-correct": "^3.0.0", 3291 | "spdx-expression-parse": "^3.0.0" 3292 | } 3293 | }, 3294 | "verror": { 3295 | "version": "1.10.0", 3296 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 3297 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", 3298 | "dev": true, 3299 | "requires": { 3300 | "assert-plus": "^1.0.0", 3301 | "core-util-is": "1.0.2", 3302 | "extsprintf": "^1.2.0" 3303 | } 3304 | }, 3305 | "which": { 3306 | "version": "1.3.0", 3307 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", 3308 | "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", 3309 | "dev": true, 3310 | "requires": { 3311 | "isexe": "^2.0.0" 3312 | } 3313 | }, 3314 | "which-module": { 3315 | "version": "2.0.0", 3316 | "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", 3317 | "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", 3318 | "dev": true 3319 | }, 3320 | "wide-align": { 3321 | "version": "1.1.3", 3322 | "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", 3323 | "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", 3324 | "dev": true, 3325 | "requires": { 3326 | "string-width": "^1.0.2 || 2" 3327 | }, 3328 | "dependencies": { 3329 | "ansi-regex": { 3330 | "version": "3.0.0", 3331 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 3332 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 3333 | "dev": true 3334 | }, 3335 | "string-width": { 3336 | "version": "2.1.1", 3337 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 3338 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 3339 | "dev": true, 3340 | "requires": { 3341 | "is-fullwidth-code-point": "^2.0.0", 3342 | "strip-ansi": "^4.0.0" 3343 | } 3344 | }, 3345 | "strip-ansi": { 3346 | "version": "4.0.0", 3347 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 3348 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 3349 | "dev": true, 3350 | "requires": { 3351 | "ansi-regex": "^3.0.0" 3352 | } 3353 | } 3354 | } 3355 | }, 3356 | "widest-line": { 3357 | "version": "4.0.1", 3358 | "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", 3359 | "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", 3360 | "requires": { 3361 | "string-width": "^5.0.1" 3362 | }, 3363 | "dependencies": { 3364 | "ansi-regex": { 3365 | "version": "6.0.1", 3366 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", 3367 | "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" 3368 | }, 3369 | "emoji-regex": { 3370 | "version": "9.2.2", 3371 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 3372 | "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" 3373 | }, 3374 | "string-width": { 3375 | "version": "5.1.2", 3376 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", 3377 | "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", 3378 | "requires": { 3379 | "eastasianwidth": "^0.2.0", 3380 | "emoji-regex": "^9.2.2", 3381 | "strip-ansi": "^7.0.1" 3382 | } 3383 | }, 3384 | "strip-ansi": { 3385 | "version": "7.0.1", 3386 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", 3387 | "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", 3388 | "requires": { 3389 | "ansi-regex": "^6.0.1" 3390 | } 3391 | } 3392 | } 3393 | }, 3394 | "word-wrap": { 3395 | "version": "1.2.3", 3396 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 3397 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 3398 | "dev": true 3399 | }, 3400 | "wordwrap": { 3401 | "version": "1.0.0", 3402 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", 3403 | "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", 3404 | "dev": true 3405 | }, 3406 | "workerpool": { 3407 | "version": "6.0.0", 3408 | "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.0.tgz", 3409 | "integrity": "sha512-fU2OcNA/GVAJLLyKUoHkAgIhKb0JoCpSjLC/G2vYKxUjVmQwGbRVeoPJ1a8U4pnVofz4AQV5Y/NEw8oKqxEBtA==", 3410 | "dev": true 3411 | }, 3412 | "wrap-ansi": { 3413 | "version": "5.1.0", 3414 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", 3415 | "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", 3416 | "dev": true, 3417 | "requires": { 3418 | "ansi-styles": "^3.2.0", 3419 | "string-width": "^3.0.0", 3420 | "strip-ansi": "^5.0.0" 3421 | }, 3422 | "dependencies": { 3423 | "emoji-regex": { 3424 | "version": "7.0.3", 3425 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 3426 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", 3427 | "dev": true 3428 | }, 3429 | "string-width": { 3430 | "version": "3.1.0", 3431 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 3432 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 3433 | "dev": true, 3434 | "requires": { 3435 | "emoji-regex": "^7.0.1", 3436 | "is-fullwidth-code-point": "^2.0.0", 3437 | "strip-ansi": "^5.1.0" 3438 | } 3439 | } 3440 | } 3441 | }, 3442 | "wrappy": { 3443 | "version": "1.0.2", 3444 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 3445 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 3446 | }, 3447 | "write": { 3448 | "version": "1.0.3", 3449 | "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", 3450 | "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", 3451 | "dev": true, 3452 | "requires": { 3453 | "mkdirp": "^0.5.1" 3454 | } 3455 | }, 3456 | "write-file-atomic": { 3457 | "version": "3.0.3", 3458 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", 3459 | "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", 3460 | "requires": { 3461 | "imurmurhash": "^0.1.4", 3462 | "is-typedarray": "^1.0.0", 3463 | "signal-exit": "^3.0.2", 3464 | "typedarray-to-buffer": "^3.1.5" 3465 | } 3466 | }, 3467 | "xdg-basedir": { 3468 | "version": "5.1.0", 3469 | "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", 3470 | "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==" 3471 | }, 3472 | "y18n": { 3473 | "version": "4.0.1", 3474 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", 3475 | "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", 3476 | "dev": true 3477 | }, 3478 | "yallist": { 3479 | "version": "4.0.0", 3480 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 3481 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" 3482 | }, 3483 | "yargs": { 3484 | "version": "13.3.2", 3485 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", 3486 | "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", 3487 | "dev": true, 3488 | "requires": { 3489 | "cliui": "^5.0.0", 3490 | "find-up": "^3.0.0", 3491 | "get-caller-file": "^2.0.1", 3492 | "require-directory": "^2.1.1", 3493 | "require-main-filename": "^2.0.0", 3494 | "set-blocking": "^2.0.0", 3495 | "string-width": "^3.0.0", 3496 | "which-module": "^2.0.0", 3497 | "y18n": "^4.0.0", 3498 | "yargs-parser": "^13.1.2" 3499 | }, 3500 | "dependencies": { 3501 | "emoji-regex": { 3502 | "version": "7.0.3", 3503 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 3504 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", 3505 | "dev": true 3506 | }, 3507 | "string-width": { 3508 | "version": "3.1.0", 3509 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 3510 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 3511 | "dev": true, 3512 | "requires": { 3513 | "emoji-regex": "^7.0.1", 3514 | "is-fullwidth-code-point": "^2.0.0", 3515 | "strip-ansi": "^5.1.0" 3516 | } 3517 | } 3518 | } 3519 | }, 3520 | "yargs-parser": { 3521 | "version": "13.1.2", 3522 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", 3523 | "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", 3524 | "dev": true, 3525 | "requires": { 3526 | "camelcase": "^5.0.0", 3527 | "decamelize": "^1.2.0" 3528 | } 3529 | }, 3530 | "yargs-unparser": { 3531 | "version": "1.6.1", 3532 | "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.1.tgz", 3533 | "integrity": "sha512-qZV14lK9MWsGCmcr7u5oXGH0dbGqZAIxTDrWXZDo5zUr6b6iUmelNKO6x6R1dQT24AH3LgRxJpr8meWy2unolA==", 3534 | "dev": true, 3535 | "requires": { 3536 | "camelcase": "^5.3.1", 3537 | "decamelize": "^1.2.0", 3538 | "flat": "^4.1.0", 3539 | "is-plain-obj": "^1.1.0", 3540 | "yargs": "^14.2.3" 3541 | }, 3542 | "dependencies": { 3543 | "emoji-regex": { 3544 | "version": "7.0.3", 3545 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 3546 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", 3547 | "dev": true 3548 | }, 3549 | "string-width": { 3550 | "version": "3.1.0", 3551 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 3552 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 3553 | "dev": true, 3554 | "requires": { 3555 | "emoji-regex": "^7.0.1", 3556 | "is-fullwidth-code-point": "^2.0.0", 3557 | "strip-ansi": "^5.1.0" 3558 | } 3559 | }, 3560 | "yargs": { 3561 | "version": "14.2.3", 3562 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", 3563 | "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", 3564 | "dev": true, 3565 | "requires": { 3566 | "cliui": "^5.0.0", 3567 | "decamelize": "^1.2.0", 3568 | "find-up": "^3.0.0", 3569 | "get-caller-file": "^2.0.1", 3570 | "require-directory": "^2.1.1", 3571 | "require-main-filename": "^2.0.0", 3572 | "set-blocking": "^2.0.0", 3573 | "string-width": "^3.0.0", 3574 | "which-module": "^2.0.0", 3575 | "y18n": "^4.0.0", 3576 | "yargs-parser": "^15.0.1" 3577 | } 3578 | }, 3579 | "yargs-parser": { 3580 | "version": "15.0.1", 3581 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz", 3582 | "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==", 3583 | "dev": true, 3584 | "requires": { 3585 | "camelcase": "^5.0.0", 3586 | "decamelize": "^1.2.0" 3587 | } 3588 | } 3589 | } 3590 | } 3591 | } 3592 | } 3593 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "weather-cli", 3 | "version": "1.5.4", 4 | "description": "Check the weather for your city from your terminal", 5 | "license": "MIT", 6 | "repository": "riyadhalnur/weather-cli", 7 | "main": "src/index.js", 8 | "author": { 9 | "name": "Riyadh Al Nur", 10 | "email": "riyadhalnur@verticalaxisbd.com", 11 | "url": "https://verticalaxisbd.com" 12 | }, 13 | "bin": { 14 | "weather": "src/cli.js" 15 | }, 16 | "engines": { 17 | "node": ">=10" 18 | }, 19 | "scripts": { 20 | "test": "mocha -t 10000 tests/tests.js", 21 | "coverage": "istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec tests/tests.js -t 100000 && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage" 22 | }, 23 | "files": [ 24 | "src/index.js", 25 | "src/cli.js", 26 | "src/schema.js" 27 | ], 28 | "preferGlobal": true, 29 | "keywords": [ 30 | "cli-app", 31 | "cli", 32 | "weather", 33 | "temperature" 34 | ], 35 | "dependencies": { 36 | "axios": "1.8.3", 37 | "chalk": "4.1.0", 38 | "conf": "7.1.1", 39 | "meow": "8.0.0", 40 | "update-notifier": "6.0.0" 41 | }, 42 | "devDependencies": { 43 | "chai": "4.2.0", 44 | "chai-as-promised": "7.1.1", 45 | "coveralls": "3.1.0", 46 | "eslint": "7.5.0", 47 | "istanbul": "0.4.5", 48 | "mocha": "8.1.0", 49 | "mocha-lcov-reporter": "1.3.0" 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /screen.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riyadhalnur/weather-cli/866326f9c081854b3e3362a246426dacb8b3bd89/screen.gif -------------------------------------------------------------------------------- /src/cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 'use strict'; 3 | 4 | const meow = require('meow'); 5 | const chalk = require('chalk'); 6 | const updateNotifier = require('update-notifier'); 7 | const pkg = require('../package.json'); 8 | const weather = require('./'); 9 | 10 | const cli = meow(` 11 | Usage 12 | $ weather 13 | 14 | Options 15 | --city, -c City you want to lookup weather for (add state code after city name if city exists in multiple places) 16 | --country, -C Country you want to lookup weather for 17 | --scale, -s Weather scale. Defaults to Celcius 18 | --help Show this help message 19 | --version Display version info and exit 20 | config Set the default location and scale 21 | 22 | Examples 23 | $ weather -c Dhaka -C Bangladesh 24 | Dhaka, Bangladesh 25 | Condition: Partly Cloudy 26 | Temperature: 32°C 27 | 28 | $ weather config -c Dhaka -C Bangladesh -s F 29 | Default location set to Dhaka, Bangladesh and scale to F 30 | `, { 31 | flags: { 32 | city: { 33 | type: 'string', 34 | alias: 'c' 35 | }, 36 | country: { 37 | type: 'string', 38 | alias: 'C' 39 | }, 40 | scale: { 41 | type: 'string', 42 | alias: 's', 43 | default: 'C' 44 | } 45 | } 46 | }); 47 | 48 | updateNotifier({ pkg }).notify(); 49 | 50 | if (cli.input.length && cli.input[0] === 'config') { 51 | weather.setLocation(cli.flags) 52 | .then(result => { 53 | console.log(chalk.bold.blue(result)); 54 | process.exit(0); 55 | }) 56 | .catch(err => { 57 | if (err) { 58 | console.log(chalk.bold.red(err)); 59 | process.exit(1); 60 | } 61 | }); 62 | } else { 63 | weather.getWeather(cli.flags) 64 | .then(result => { 65 | console.log(chalk.red(`${result.city}, ${result.country}`)); 66 | console.log(chalk.cyan(`Condition: ${chalk.yellow(result.condition)}`)); 67 | console.log(chalk.cyan(`Temperature: ${chalk.yellow(result.temp)}${chalk.yellow('°' + result.scale)}`)); 68 | 69 | if (result.aqi) { 70 | console.log(chalk.cyan(`Air Quality: ${chalk.yellow(result.aqi)} ${chalk.yellow(weather.mapAQI(result.aqi))}`)); 71 | } 72 | process.exit(0); 73 | }).catch(err => { 74 | if (err) { 75 | console.log(chalk.bold.red(err)); 76 | process.exit(1); 77 | } 78 | }); 79 | } 80 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const axios = require('axios'); 4 | const Conf = require('conf'); 5 | 6 | const API_URL = 'https://micro-weather.vercel.app'; 7 | const schema = require('./schema'); 8 | const config = new Conf({ 9 | projectName: 'weather-cli', 10 | schema 11 | }); 12 | 13 | const _toFahrenheit = temp => Math.round((9 / 5) * temp + 32); 14 | 15 | module.exports = { 16 | getWeather: (flags) => { 17 | return new Promise((resolve, reject) => { 18 | let city = flags.city || config.get('city'); 19 | let country = flags.country || config.get('country'); 20 | 21 | if (!city || !country) { 22 | return reject(new Error('Country and/or city missing!')); 23 | } 24 | 25 | axios.get(`${API_URL}?city=${city}&country=${country}`) 26 | .then(res => { 27 | let result = Object.assign(res.data, { city: city, country: country, scale: flags.scale }); 28 | 29 | if (flags.scale === 'F' || config.get('scale') === 'F') { 30 | result.temp = _toFahrenheit(res.data.temp); 31 | result.scale = 'F'; 32 | } 33 | 34 | resolve(result); 35 | }) 36 | .catch(err => reject(err)); 37 | }); 38 | }, 39 | setLocation: (opts) => { 40 | return new Promise((resolve, reject) => { 41 | if (!opts.city || !opts.country) { 42 | return reject(new Error('Invalid and/or missing arguments!')); 43 | } 44 | 45 | config.set('city', opts.city); 46 | config.set('country', opts.country); 47 | 48 | if (opts.scale) { 49 | config.set('scale', opts.scale.toUpperCase()); 50 | } 51 | 52 | resolve(`Default location set to ${opts.city}, ${opts.country} and scale to ${opts.scale ? opts.scale : 'C'}`); 53 | }); 54 | }, 55 | mapAQI: (aqi) => { 56 | if (aqi >= 0 && aqi <= 50) { 57 | return 'Good'; 58 | } else if (aqi >= 51 && aqi <= 100) { 59 | return 'Moderate'; 60 | } else if (aqi >= 101 && aqi <= 150) { 61 | return 'Unhealthy for sensitive groups'; 62 | } else if (aqi >= 151 && aqi <= 200) { 63 | return 'Unhealthy'; 64 | } else if (aqi >= 201 && aqi <= 300) { 65 | return 'Very Unhealthy'; 66 | } else if (aqi > 300) { 67 | return 'Hazardous'; 68 | } 69 | } 70 | }; 71 | -------------------------------------------------------------------------------- /src/schema.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const schema = { 4 | city: { 5 | type: 'string' 6 | }, 7 | country: { 8 | type: 'string' 9 | }, 10 | scale: { 11 | type: 'string' 12 | } 13 | }; 14 | 15 | module.exports = schema; 16 | -------------------------------------------------------------------------------- /tests/tests.js: -------------------------------------------------------------------------------- 1 | /* eslint-env max-nested-callbacks: ["error", 5] */ 2 | 'use strict'; 3 | 4 | const chai = require('chai'); 5 | const chaiAsPromised = require('chai-as-promised'); 6 | const Conf = require('conf'); 7 | 8 | const schema = require('../src/schema'); 9 | const config = new Conf({ 10 | projectName: 'weather-cli', 11 | schema 12 | }); 13 | const weather = require('../src/index.js'); 14 | 15 | chai.use(chaiAsPromised); 16 | chai.should(); 17 | 18 | describe('Weather CLI', () => { 19 | beforeEach(() => { 20 | config.clear(); 21 | }); 22 | 23 | describe('Retrieve', () => { 24 | beforeEach(() => { 25 | config.set('city', 'Dhaka'); 26 | config.set('country', 'Bangladesh'); 27 | }); 28 | 29 | it('should get the weather for default location', () => { 30 | return weather.getWeather({scale: 'C', s: 'C'}).should.be.fulfilled.then(res => { 31 | res.should.be.an.instanceOf(Object); 32 | res.city.should.be.equal('Dhaka'); 33 | res.country.should.be.equal('Bangladesh'); 34 | }); 35 | }); 36 | 37 | it('should get the weather for default location and Fahrenheit scale', () => { 38 | return weather.getWeather({scale: 'F', s: 'F'}).should.be.fulfilled.then(res => { 39 | res.should.be.an.instanceOf(Object); 40 | res.scale.should.be.equal('F'); 41 | res.city.should.be.equal('Dhaka'); 42 | res.country.should.be.equal('Bangladesh'); 43 | }); 44 | }); 45 | 46 | it('should get the weather for custom location', () => { 47 | return weather.getWeather({scale: 'C', s: 'C', city: 'Kuala Lumpur', country: 'Malaysia'}).should.be.fulfilled.then(res => { 48 | res.should.be.an.instanceOf(Object); 49 | res.city.should.be.equal('Kuala Lumpur'); 50 | res.country.should.be.equal('Malaysia'); 51 | }); 52 | }); 53 | }); 54 | 55 | describe('Error handling', () => { 56 | it('should return error if no defaults set or arguments passed in', () => { 57 | return weather.getWeather({scale: 'C', s: 'C'}).should.be.rejected; 58 | }); 59 | }); 60 | 61 | describe('Configure defaults', () => { 62 | it('should print success message if config set successfully', () => { 63 | return weather.setLocation({city: 'Dhaka', country: 'Bangladesh'}).should.be.fulfilled.then(res => { 64 | res.should.equal('Default location set to Dhaka, Bangladesh and scale to C'); 65 | }); 66 | }); 67 | 68 | it('should return error if arguments are missing', () => { 69 | return weather.setLocation({city: 'Dhaka'}).should.be.rejected; 70 | }); 71 | 72 | it('should set custom location and scale', () => { 73 | return weather.setLocation({city: 'Dhaka', country: 'Bangladesh', scale: 'F'}).should.be.fulfilled.then(res => { 74 | res.should.equal('Default location set to Dhaka, Bangladesh and scale to F'); 75 | }); 76 | }); 77 | }); 78 | }); 79 | --------------------------------------------------------------------------------