├── .github └── workflows │ └── publish.yml ├── .gitignore ├── .npmignore ├── LICENSE ├── README.md ├── package-lock.json ├── package.json ├── src ├── command.ts └── index.ts └── tsconfig.json /.github/workflows/publish.yml: -------------------------------------------------------------------------------- 1 | name: Node.js Package 2 | 3 | on: 4 | push: 5 | tags: 6 | - '*' 7 | 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v2 13 | - uses: actions/setup-node@v3 14 | with: 15 | node-version: '16' 16 | registry-url: 'https://registry.npmjs.org' 17 | - run: npm ci 18 | - run: npm run build 19 | - run: npm publish 20 | env: 21 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} 22 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.d.ts 3 | *.js -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | .github 2 | src -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Intility AS 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 all 13 | 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 THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 |
3 | @intility/cypress-msal 4 |

5 | 6 |

7 | A cypress plugin for projects using @azure/msal-browser. 8 |

9 | 10 |

11 | 12 | pipeline 13 | 14 | 15 | package version 16 | 17 |

18 | 19 | ## Installation 20 | 21 | ``` 22 | npm install @intility/cypress-msal 23 | ``` 24 | 25 | ## Usage 26 | 27 | Register the package in `cypress/support/e2e.js`: 28 | 29 | ```js 30 | import "@intility/cypress-msal/command"; 31 | ``` 32 | 33 | Configure the login command, and add it as a task in `cypress.config.js`: 34 | 35 | ```js 36 | import { defineConfig } from "cypress" 37 | import generateLogin from "@intility/cypress-msal" 38 | 39 | let publicClientConfig = { 40 | auth: { 41 | clientId: "APP_CLIENT_ID", 42 | authority: "https://login.microsoftonline.com/TENANT_ID", 43 | }, 44 | }; 45 | 46 | let requests = [ 47 | { 48 | scopes: ["User.Read"], 49 | }, 50 | ]; 51 | 52 | let login = generateLogin(publicClientConfig, requests); 53 | 54 | export default defineConfig({ 55 | // ...other cypress settings here... 56 | e2e: { 57 | setupNodeEvents(on, config) { 58 | // `on` is used to hook into various events Cypress emits 59 | on("task", { 60 | // register a task named login which calls the generated login from @intility/cypress-msal 61 | login, 62 | }); 63 | } 64 | } 65 | }) 66 | ``` 67 | 68 | You can now login by using the `login` command before running your tests. 69 | 70 | ```js 71 | before(() => cy.login()); 72 | ``` 73 | 74 | ## Azure Configuration 75 | 76 | The App registration needs to be a Public Application to be able to use the Device Code flow. 77 | 78 | ## `generateLogin` 79 | 80 | ### Syntax 81 | 82 | ```js 83 | let login = generateLogin(publicClientConfiguration, requests); 84 | ``` 85 | 86 | ### Parameters 87 | 88 | #### `publicClientConfiguration` 89 | 90 | A [`Configuration`](https://azuread.github.io/microsoft-authentication-library-for-js/ref/modules/_azure_msal_node.html#configuration) that will be used to initialize a [`PublicClientApplication`](https://azuread.github.io/microsoft-authentication-library-for-js/ref/classes/_azure_msal_node.publicclientapplication.html) from `@azure/msal-node`. 91 | 92 | #### `requests` 93 | 94 | An array of Requests (`{ scopes: string[] }`) that will be used for [`acquireTokenByDeviceCode`](https://azuread.github.io/microsoft-authentication-library-for-js/ref/classes/_azure_msal_node.publicclientapplication.html#acquiretokenbydevicecode) and [`acquireTokenSilent`](https://azuread.github.io/microsoft-authentication-library-for-js/ref/classes/_azure_msal_node.publicclientapplication.html#acquiretokensilent). 95 | 96 | ### Return value 97 | 98 | A task plugin named `login` that should be registered with `on("task", { login })`. 99 | 100 | ## `cy.login` 101 | 102 | ### Syntax 103 | 104 | `cy.login()` 105 | 106 | ### Return value 107 | 108 | A Promise that get resolves when all tokens are acquired and registered in `sessionStorage` to be used by `@azure/msal-browser`. 109 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@intility/cypress-msal", 3 | "version": "1.0.3", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "@intility/cypress-msal", 9 | "version": "1.0.3", 10 | "license": "MIT", 11 | "dependencies": { 12 | "@azure/msal-node": "^1.6.0" 13 | }, 14 | "devDependencies": { 15 | "cypress": "^9.5.1", 16 | "typescript": "^4.6.2" 17 | }, 18 | "peerDependencies": { 19 | "cypress": ">=9.5.1" 20 | } 21 | }, 22 | "node_modules/@azure/msal-common": { 23 | "version": "13.3.0", 24 | "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.3.0.tgz", 25 | "integrity": "sha512-/VFWTicjcJbrGp3yQP7A24xU95NiDMe23vxIU1U6qdRPFsprMDNUohMudclnd+WSHE4/McqkZs/nUU3sAKkVjg==", 26 | "engines": { 27 | "node": ">=0.8.0" 28 | } 29 | }, 30 | "node_modules/@azure/msal-node": { 31 | "version": "1.18.3", 32 | "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.18.3.tgz", 33 | "integrity": "sha512-lI1OsxNbS/gxRD4548Wyj22Dk8kS7eGMwD9GlBZvQmFV8FJUXoXySL1BiNzDsHUE96/DS/DHmA+F73p1Dkcktg==", 34 | "dependencies": { 35 | "@azure/msal-common": "13.3.0", 36 | "jsonwebtoken": "^9.0.0", 37 | "uuid": "^8.3.0" 38 | }, 39 | "engines": { 40 | "node": "10 || 12 || 14 || 16 || 18" 41 | } 42 | }, 43 | "node_modules/@cypress/request": { 44 | "version": "2.88.12", 45 | "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.12.tgz", 46 | "integrity": "sha512-tOn+0mDZxASFM+cuAP9szGUGPI1HwWVSvdzm7V4cCsPdFTx6qMj29CwaQmRAMIEhORIUBFBsYROYJcveK4uOjA==", 47 | "dev": true, 48 | "dependencies": { 49 | "aws-sign2": "~0.7.0", 50 | "aws4": "^1.8.0", 51 | "caseless": "~0.12.0", 52 | "combined-stream": "~1.0.6", 53 | "extend": "~3.0.2", 54 | "forever-agent": "~0.6.1", 55 | "form-data": "~2.3.2", 56 | "http-signature": "~1.3.6", 57 | "is-typedarray": "~1.0.0", 58 | "isstream": "~0.1.2", 59 | "json-stringify-safe": "~5.0.1", 60 | "mime-types": "~2.1.19", 61 | "performance-now": "^2.1.0", 62 | "qs": "~6.10.3", 63 | "safe-buffer": "^5.1.2", 64 | "tough-cookie": "^4.1.3", 65 | "tunnel-agent": "^0.6.0", 66 | "uuid": "^8.3.2" 67 | }, 68 | "engines": { 69 | "node": ">= 6" 70 | } 71 | }, 72 | "node_modules/@cypress/xvfb": { 73 | "version": "1.2.4", 74 | "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", 75 | "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", 76 | "dev": true, 77 | "dependencies": { 78 | "debug": "^3.1.0", 79 | "lodash.once": "^4.1.1" 80 | } 81 | }, 82 | "node_modules/@cypress/xvfb/node_modules/debug": { 83 | "version": "3.2.7", 84 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 85 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 86 | "dev": true, 87 | "dependencies": { 88 | "ms": "^2.1.1" 89 | } 90 | }, 91 | "node_modules/@types/node": { 92 | "version": "14.18.12", 93 | "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.12.tgz", 94 | "integrity": "sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==", 95 | "dev": true 96 | }, 97 | "node_modules/@types/sinonjs__fake-timers": { 98 | "version": "8.1.1", 99 | "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", 100 | "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", 101 | "dev": true 102 | }, 103 | "node_modules/@types/sizzle": { 104 | "version": "2.3.3", 105 | "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", 106 | "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", 107 | "dev": true 108 | }, 109 | "node_modules/@types/yauzl": { 110 | "version": "2.9.2", 111 | "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", 112 | "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", 113 | "dev": true, 114 | "optional": true, 115 | "dependencies": { 116 | "@types/node": "*" 117 | } 118 | }, 119 | "node_modules/aggregate-error": { 120 | "version": "3.1.0", 121 | "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", 122 | "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", 123 | "dev": true, 124 | "dependencies": { 125 | "clean-stack": "^2.0.0", 126 | "indent-string": "^4.0.0" 127 | }, 128 | "engines": { 129 | "node": ">=8" 130 | } 131 | }, 132 | "node_modules/ansi-colors": { 133 | "version": "4.1.1", 134 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", 135 | "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", 136 | "dev": true, 137 | "engines": { 138 | "node": ">=6" 139 | } 140 | }, 141 | "node_modules/ansi-escapes": { 142 | "version": "4.3.2", 143 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", 144 | "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", 145 | "dev": true, 146 | "dependencies": { 147 | "type-fest": "^0.21.3" 148 | }, 149 | "engines": { 150 | "node": ">=8" 151 | }, 152 | "funding": { 153 | "url": "https://github.com/sponsors/sindresorhus" 154 | } 155 | }, 156 | "node_modules/ansi-regex": { 157 | "version": "5.0.1", 158 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 159 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 160 | "dev": true, 161 | "engines": { 162 | "node": ">=8" 163 | } 164 | }, 165 | "node_modules/ansi-styles": { 166 | "version": "4.3.0", 167 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 168 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 169 | "dev": true, 170 | "dependencies": { 171 | "color-convert": "^2.0.1" 172 | }, 173 | "engines": { 174 | "node": ">=8" 175 | }, 176 | "funding": { 177 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 178 | } 179 | }, 180 | "node_modules/arch": { 181 | "version": "2.2.0", 182 | "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", 183 | "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", 184 | "dev": true, 185 | "funding": [ 186 | { 187 | "type": "github", 188 | "url": "https://github.com/sponsors/feross" 189 | }, 190 | { 191 | "type": "patreon", 192 | "url": "https://www.patreon.com/feross" 193 | }, 194 | { 195 | "type": "consulting", 196 | "url": "https://feross.org/support" 197 | } 198 | ] 199 | }, 200 | "node_modules/asn1": { 201 | "version": "0.2.6", 202 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", 203 | "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", 204 | "dev": true, 205 | "dependencies": { 206 | "safer-buffer": "~2.1.0" 207 | } 208 | }, 209 | "node_modules/assert-plus": { 210 | "version": "1.0.0", 211 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 212 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 213 | "dev": true, 214 | "engines": { 215 | "node": ">=0.8" 216 | } 217 | }, 218 | "node_modules/astral-regex": { 219 | "version": "2.0.0", 220 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", 221 | "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", 222 | "dev": true, 223 | "engines": { 224 | "node": ">=8" 225 | } 226 | }, 227 | "node_modules/async": { 228 | "version": "3.2.3", 229 | "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", 230 | "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", 231 | "dev": true 232 | }, 233 | "node_modules/asynckit": { 234 | "version": "0.4.0", 235 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 236 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", 237 | "dev": true 238 | }, 239 | "node_modules/at-least-node": { 240 | "version": "1.0.0", 241 | "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", 242 | "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", 243 | "dev": true, 244 | "engines": { 245 | "node": ">= 4.0.0" 246 | } 247 | }, 248 | "node_modules/aws-sign2": { 249 | "version": "0.7.0", 250 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", 251 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", 252 | "dev": true, 253 | "engines": { 254 | "node": "*" 255 | } 256 | }, 257 | "node_modules/aws4": { 258 | "version": "1.11.0", 259 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", 260 | "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", 261 | "dev": true 262 | }, 263 | "node_modules/balanced-match": { 264 | "version": "1.0.2", 265 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 266 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 267 | "dev": true 268 | }, 269 | "node_modules/base64-js": { 270 | "version": "1.5.1", 271 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 272 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 273 | "dev": true, 274 | "funding": [ 275 | { 276 | "type": "github", 277 | "url": "https://github.com/sponsors/feross" 278 | }, 279 | { 280 | "type": "patreon", 281 | "url": "https://www.patreon.com/feross" 282 | }, 283 | { 284 | "type": "consulting", 285 | "url": "https://feross.org/support" 286 | } 287 | ] 288 | }, 289 | "node_modules/bcrypt-pbkdf": { 290 | "version": "1.0.2", 291 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", 292 | "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", 293 | "dev": true, 294 | "dependencies": { 295 | "tweetnacl": "^0.14.3" 296 | } 297 | }, 298 | "node_modules/blob-util": { 299 | "version": "2.0.2", 300 | "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", 301 | "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", 302 | "dev": true 303 | }, 304 | "node_modules/bluebird": { 305 | "version": "3.7.2", 306 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", 307 | "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", 308 | "dev": true 309 | }, 310 | "node_modules/brace-expansion": { 311 | "version": "1.1.11", 312 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 313 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 314 | "dev": true, 315 | "dependencies": { 316 | "balanced-match": "^1.0.0", 317 | "concat-map": "0.0.1" 318 | } 319 | }, 320 | "node_modules/buffer": { 321 | "version": "5.7.1", 322 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 323 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 324 | "dev": true, 325 | "funding": [ 326 | { 327 | "type": "github", 328 | "url": "https://github.com/sponsors/feross" 329 | }, 330 | { 331 | "type": "patreon", 332 | "url": "https://www.patreon.com/feross" 333 | }, 334 | { 335 | "type": "consulting", 336 | "url": "https://feross.org/support" 337 | } 338 | ], 339 | "dependencies": { 340 | "base64-js": "^1.3.1", 341 | "ieee754": "^1.1.13" 342 | } 343 | }, 344 | "node_modules/buffer-crc32": { 345 | "version": "0.2.13", 346 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", 347 | "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", 348 | "dev": true, 349 | "engines": { 350 | "node": "*" 351 | } 352 | }, 353 | "node_modules/buffer-equal-constant-time": { 354 | "version": "1.0.1", 355 | "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", 356 | "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" 357 | }, 358 | "node_modules/cachedir": { 359 | "version": "2.3.0", 360 | "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", 361 | "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", 362 | "dev": true, 363 | "engines": { 364 | "node": ">=6" 365 | } 366 | }, 367 | "node_modules/call-bind": { 368 | "version": "1.0.5", 369 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", 370 | "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", 371 | "dev": true, 372 | "dependencies": { 373 | "function-bind": "^1.1.2", 374 | "get-intrinsic": "^1.2.1", 375 | "set-function-length": "^1.1.1" 376 | }, 377 | "funding": { 378 | "url": "https://github.com/sponsors/ljharb" 379 | } 380 | }, 381 | "node_modules/caseless": { 382 | "version": "0.12.0", 383 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 384 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", 385 | "dev": true 386 | }, 387 | "node_modules/chalk": { 388 | "version": "4.1.2", 389 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 390 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 391 | "dev": true, 392 | "dependencies": { 393 | "ansi-styles": "^4.1.0", 394 | "supports-color": "^7.1.0" 395 | }, 396 | "engines": { 397 | "node": ">=10" 398 | }, 399 | "funding": { 400 | "url": "https://github.com/chalk/chalk?sponsor=1" 401 | } 402 | }, 403 | "node_modules/chalk/node_modules/supports-color": { 404 | "version": "7.2.0", 405 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 406 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 407 | "dev": true, 408 | "dependencies": { 409 | "has-flag": "^4.0.0" 410 | }, 411 | "engines": { 412 | "node": ">=8" 413 | } 414 | }, 415 | "node_modules/check-more-types": { 416 | "version": "2.24.0", 417 | "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", 418 | "integrity": "sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA=", 419 | "dev": true, 420 | "engines": { 421 | "node": ">= 0.8.0" 422 | } 423 | }, 424 | "node_modules/ci-info": { 425 | "version": "3.3.0", 426 | "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", 427 | "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", 428 | "dev": true 429 | }, 430 | "node_modules/clean-stack": { 431 | "version": "2.2.0", 432 | "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", 433 | "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", 434 | "dev": true, 435 | "engines": { 436 | "node": ">=6" 437 | } 438 | }, 439 | "node_modules/cli-cursor": { 440 | "version": "3.1.0", 441 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", 442 | "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", 443 | "dev": true, 444 | "dependencies": { 445 | "restore-cursor": "^3.1.0" 446 | }, 447 | "engines": { 448 | "node": ">=8" 449 | } 450 | }, 451 | "node_modules/cli-table3": { 452 | "version": "0.6.1", 453 | "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.1.tgz", 454 | "integrity": "sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA==", 455 | "dev": true, 456 | "dependencies": { 457 | "string-width": "^4.2.0" 458 | }, 459 | "engines": { 460 | "node": "10.* || >= 12.*" 461 | }, 462 | "optionalDependencies": { 463 | "colors": "1.4.0" 464 | } 465 | }, 466 | "node_modules/cli-truncate": { 467 | "version": "2.1.0", 468 | "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", 469 | "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", 470 | "dev": true, 471 | "dependencies": { 472 | "slice-ansi": "^3.0.0", 473 | "string-width": "^4.2.0" 474 | }, 475 | "engines": { 476 | "node": ">=8" 477 | }, 478 | "funding": { 479 | "url": "https://github.com/sponsors/sindresorhus" 480 | } 481 | }, 482 | "node_modules/color-convert": { 483 | "version": "2.0.1", 484 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 485 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 486 | "dev": true, 487 | "dependencies": { 488 | "color-name": "~1.1.4" 489 | }, 490 | "engines": { 491 | "node": ">=7.0.0" 492 | } 493 | }, 494 | "node_modules/color-name": { 495 | "version": "1.1.4", 496 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 497 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 498 | "dev": true 499 | }, 500 | "node_modules/colorette": { 501 | "version": "2.0.16", 502 | "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", 503 | "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", 504 | "dev": true 505 | }, 506 | "node_modules/colors": { 507 | "version": "1.4.0", 508 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", 509 | "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", 510 | "dev": true, 511 | "optional": true, 512 | "engines": { 513 | "node": ">=0.1.90" 514 | } 515 | }, 516 | "node_modules/combined-stream": { 517 | "version": "1.0.8", 518 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 519 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 520 | "dev": true, 521 | "dependencies": { 522 | "delayed-stream": "~1.0.0" 523 | }, 524 | "engines": { 525 | "node": ">= 0.8" 526 | } 527 | }, 528 | "node_modules/commander": { 529 | "version": "5.1.0", 530 | "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", 531 | "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", 532 | "dev": true, 533 | "engines": { 534 | "node": ">= 6" 535 | } 536 | }, 537 | "node_modules/common-tags": { 538 | "version": "1.8.2", 539 | "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", 540 | "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", 541 | "dev": true, 542 | "engines": { 543 | "node": ">=4.0.0" 544 | } 545 | }, 546 | "node_modules/concat-map": { 547 | "version": "0.0.1", 548 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 549 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 550 | "dev": true 551 | }, 552 | "node_modules/core-util-is": { 553 | "version": "1.0.2", 554 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 555 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 556 | "dev": true 557 | }, 558 | "node_modules/cross-spawn": { 559 | "version": "7.0.3", 560 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 561 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 562 | "dev": true, 563 | "dependencies": { 564 | "path-key": "^3.1.0", 565 | "shebang-command": "^2.0.0", 566 | "which": "^2.0.1" 567 | }, 568 | "engines": { 569 | "node": ">= 8" 570 | } 571 | }, 572 | "node_modules/cypress": { 573 | "version": "9.7.0", 574 | "resolved": "https://registry.npmjs.org/cypress/-/cypress-9.7.0.tgz", 575 | "integrity": "sha512-+1EE1nuuuwIt/N1KXRR2iWHU+OiIt7H28jJDyyI4tiUftId/DrXYEwoDa5+kH2pki1zxnA0r6HrUGHV5eLbF5Q==", 576 | "dev": true, 577 | "hasInstallScript": true, 578 | "dependencies": { 579 | "@cypress/request": "^2.88.10", 580 | "@cypress/xvfb": "^1.2.4", 581 | "@types/node": "^14.14.31", 582 | "@types/sinonjs__fake-timers": "8.1.1", 583 | "@types/sizzle": "^2.3.2", 584 | "arch": "^2.2.0", 585 | "blob-util": "^2.0.2", 586 | "bluebird": "^3.7.2", 587 | "buffer": "^5.6.0", 588 | "cachedir": "^2.3.0", 589 | "chalk": "^4.1.0", 590 | "check-more-types": "^2.24.0", 591 | "cli-cursor": "^3.1.0", 592 | "cli-table3": "~0.6.1", 593 | "commander": "^5.1.0", 594 | "common-tags": "^1.8.0", 595 | "dayjs": "^1.10.4", 596 | "debug": "^4.3.2", 597 | "enquirer": "^2.3.6", 598 | "eventemitter2": "^6.4.3", 599 | "execa": "4.1.0", 600 | "executable": "^4.1.1", 601 | "extract-zip": "2.0.1", 602 | "figures": "^3.2.0", 603 | "fs-extra": "^9.1.0", 604 | "getos": "^3.2.1", 605 | "is-ci": "^3.0.0", 606 | "is-installed-globally": "~0.4.0", 607 | "lazy-ass": "^1.6.0", 608 | "listr2": "^3.8.3", 609 | "lodash": "^4.17.21", 610 | "log-symbols": "^4.0.0", 611 | "minimist": "^1.2.6", 612 | "ospath": "^1.2.2", 613 | "pretty-bytes": "^5.6.0", 614 | "proxy-from-env": "1.0.0", 615 | "request-progress": "^3.0.0", 616 | "semver": "^7.3.2", 617 | "supports-color": "^8.1.1", 618 | "tmp": "~0.2.1", 619 | "untildify": "^4.0.0", 620 | "yauzl": "^2.10.0" 621 | }, 622 | "bin": { 623 | "cypress": "bin/cypress" 624 | }, 625 | "engines": { 626 | "node": ">=12.0.0" 627 | } 628 | }, 629 | "node_modules/dashdash": { 630 | "version": "1.14.1", 631 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 632 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 633 | "dev": true, 634 | "dependencies": { 635 | "assert-plus": "^1.0.0" 636 | }, 637 | "engines": { 638 | "node": ">=0.10" 639 | } 640 | }, 641 | "node_modules/dayjs": { 642 | "version": "1.10.8", 643 | "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.8.tgz", 644 | "integrity": "sha512-wbNwDfBHHur9UOzNUjeKUOJ0fCb0a52Wx0xInmQ7Y8FstyajiV1NmK1e00cxsr9YrE9r7yAChE0VvpuY5Rnlow==", 645 | "dev": true 646 | }, 647 | "node_modules/debug": { 648 | "version": "4.3.3", 649 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 650 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 651 | "dev": true, 652 | "dependencies": { 653 | "ms": "2.1.2" 654 | }, 655 | "engines": { 656 | "node": ">=6.0" 657 | }, 658 | "peerDependenciesMeta": { 659 | "supports-color": { 660 | "optional": true 661 | } 662 | } 663 | }, 664 | "node_modules/define-data-property": { 665 | "version": "1.1.1", 666 | "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", 667 | "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", 668 | "dev": true, 669 | "dependencies": { 670 | "get-intrinsic": "^1.2.1", 671 | "gopd": "^1.0.1", 672 | "has-property-descriptors": "^1.0.0" 673 | }, 674 | "engines": { 675 | "node": ">= 0.4" 676 | } 677 | }, 678 | "node_modules/delayed-stream": { 679 | "version": "1.0.0", 680 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 681 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", 682 | "dev": true, 683 | "engines": { 684 | "node": ">=0.4.0" 685 | } 686 | }, 687 | "node_modules/ecc-jsbn": { 688 | "version": "0.1.2", 689 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", 690 | "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", 691 | "dev": true, 692 | "dependencies": { 693 | "jsbn": "~0.1.0", 694 | "safer-buffer": "^2.1.0" 695 | } 696 | }, 697 | "node_modules/ecdsa-sig-formatter": { 698 | "version": "1.0.11", 699 | "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", 700 | "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", 701 | "dependencies": { 702 | "safe-buffer": "^5.0.1" 703 | } 704 | }, 705 | "node_modules/emoji-regex": { 706 | "version": "8.0.0", 707 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 708 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 709 | "dev": true 710 | }, 711 | "node_modules/end-of-stream": { 712 | "version": "1.4.4", 713 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 714 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 715 | "dev": true, 716 | "dependencies": { 717 | "once": "^1.4.0" 718 | } 719 | }, 720 | "node_modules/enquirer": { 721 | "version": "2.3.6", 722 | "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", 723 | "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", 724 | "dev": true, 725 | "dependencies": { 726 | "ansi-colors": "^4.1.1" 727 | }, 728 | "engines": { 729 | "node": ">=8.6" 730 | } 731 | }, 732 | "node_modules/escape-string-regexp": { 733 | "version": "1.0.5", 734 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 735 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 736 | "dev": true, 737 | "engines": { 738 | "node": ">=0.8.0" 739 | } 740 | }, 741 | "node_modules/eventemitter2": { 742 | "version": "6.4.5", 743 | "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.5.tgz", 744 | "integrity": "sha512-bXE7Dyc1i6oQElDG0jMRZJrRAn9QR2xyyFGmBdZleNmyQX0FqGYmhZIrIrpPfm/w//LTo4tVQGOGQcGCb5q9uw==", 745 | "dev": true 746 | }, 747 | "node_modules/execa": { 748 | "version": "4.1.0", 749 | "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", 750 | "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", 751 | "dev": true, 752 | "dependencies": { 753 | "cross-spawn": "^7.0.0", 754 | "get-stream": "^5.0.0", 755 | "human-signals": "^1.1.1", 756 | "is-stream": "^2.0.0", 757 | "merge-stream": "^2.0.0", 758 | "npm-run-path": "^4.0.0", 759 | "onetime": "^5.1.0", 760 | "signal-exit": "^3.0.2", 761 | "strip-final-newline": "^2.0.0" 762 | }, 763 | "engines": { 764 | "node": ">=10" 765 | }, 766 | "funding": { 767 | "url": "https://github.com/sindresorhus/execa?sponsor=1" 768 | } 769 | }, 770 | "node_modules/executable": { 771 | "version": "4.1.1", 772 | "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", 773 | "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", 774 | "dev": true, 775 | "dependencies": { 776 | "pify": "^2.2.0" 777 | }, 778 | "engines": { 779 | "node": ">=4" 780 | } 781 | }, 782 | "node_modules/extend": { 783 | "version": "3.0.2", 784 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 785 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", 786 | "dev": true 787 | }, 788 | "node_modules/extract-zip": { 789 | "version": "2.0.1", 790 | "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", 791 | "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", 792 | "dev": true, 793 | "dependencies": { 794 | "debug": "^4.1.1", 795 | "get-stream": "^5.1.0", 796 | "yauzl": "^2.10.0" 797 | }, 798 | "bin": { 799 | "extract-zip": "cli.js" 800 | }, 801 | "engines": { 802 | "node": ">= 10.17.0" 803 | }, 804 | "optionalDependencies": { 805 | "@types/yauzl": "^2.9.1" 806 | } 807 | }, 808 | "node_modules/extsprintf": { 809 | "version": "1.3.0", 810 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 811 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", 812 | "dev": true, 813 | "engines": [ 814 | "node >=0.6.0" 815 | ] 816 | }, 817 | "node_modules/fd-slicer": { 818 | "version": "1.1.0", 819 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", 820 | "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", 821 | "dev": true, 822 | "dependencies": { 823 | "pend": "~1.2.0" 824 | } 825 | }, 826 | "node_modules/figures": { 827 | "version": "3.2.0", 828 | "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", 829 | "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", 830 | "dev": true, 831 | "dependencies": { 832 | "escape-string-regexp": "^1.0.5" 833 | }, 834 | "engines": { 835 | "node": ">=8" 836 | }, 837 | "funding": { 838 | "url": "https://github.com/sponsors/sindresorhus" 839 | } 840 | }, 841 | "node_modules/forever-agent": { 842 | "version": "0.6.1", 843 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 844 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", 845 | "dev": true, 846 | "engines": { 847 | "node": "*" 848 | } 849 | }, 850 | "node_modules/form-data": { 851 | "version": "2.3.3", 852 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", 853 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", 854 | "dev": true, 855 | "dependencies": { 856 | "asynckit": "^0.4.0", 857 | "combined-stream": "^1.0.6", 858 | "mime-types": "^2.1.12" 859 | }, 860 | "engines": { 861 | "node": ">= 0.12" 862 | } 863 | }, 864 | "node_modules/fs-extra": { 865 | "version": "9.1.0", 866 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", 867 | "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", 868 | "dev": true, 869 | "dependencies": { 870 | "at-least-node": "^1.0.0", 871 | "graceful-fs": "^4.2.0", 872 | "jsonfile": "^6.0.1", 873 | "universalify": "^2.0.0" 874 | }, 875 | "engines": { 876 | "node": ">=10" 877 | } 878 | }, 879 | "node_modules/fs.realpath": { 880 | "version": "1.0.0", 881 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 882 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 883 | "dev": true 884 | }, 885 | "node_modules/function-bind": { 886 | "version": "1.1.2", 887 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 888 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 889 | "dev": true, 890 | "funding": { 891 | "url": "https://github.com/sponsors/ljharb" 892 | } 893 | }, 894 | "node_modules/get-intrinsic": { 895 | "version": "1.2.1", 896 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", 897 | "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", 898 | "dev": true, 899 | "dependencies": { 900 | "function-bind": "^1.1.1", 901 | "has": "^1.0.3", 902 | "has-proto": "^1.0.1", 903 | "has-symbols": "^1.0.3" 904 | }, 905 | "funding": { 906 | "url": "https://github.com/sponsors/ljharb" 907 | } 908 | }, 909 | "node_modules/get-stream": { 910 | "version": "5.2.0", 911 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", 912 | "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", 913 | "dev": true, 914 | "dependencies": { 915 | "pump": "^3.0.0" 916 | }, 917 | "engines": { 918 | "node": ">=8" 919 | }, 920 | "funding": { 921 | "url": "https://github.com/sponsors/sindresorhus" 922 | } 923 | }, 924 | "node_modules/getos": { 925 | "version": "3.2.1", 926 | "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", 927 | "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", 928 | "dev": true, 929 | "dependencies": { 930 | "async": "^3.2.0" 931 | } 932 | }, 933 | "node_modules/getpass": { 934 | "version": "0.1.7", 935 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 936 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 937 | "dev": true, 938 | "dependencies": { 939 | "assert-plus": "^1.0.0" 940 | } 941 | }, 942 | "node_modules/glob": { 943 | "version": "7.2.0", 944 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 945 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 946 | "dev": true, 947 | "dependencies": { 948 | "fs.realpath": "^1.0.0", 949 | "inflight": "^1.0.4", 950 | "inherits": "2", 951 | "minimatch": "^3.0.4", 952 | "once": "^1.3.0", 953 | "path-is-absolute": "^1.0.0" 954 | }, 955 | "engines": { 956 | "node": "*" 957 | }, 958 | "funding": { 959 | "url": "https://github.com/sponsors/isaacs" 960 | } 961 | }, 962 | "node_modules/global-dirs": { 963 | "version": "3.0.0", 964 | "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", 965 | "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", 966 | "dev": true, 967 | "dependencies": { 968 | "ini": "2.0.0" 969 | }, 970 | "engines": { 971 | "node": ">=10" 972 | }, 973 | "funding": { 974 | "url": "https://github.com/sponsors/sindresorhus" 975 | } 976 | }, 977 | "node_modules/gopd": { 978 | "version": "1.0.1", 979 | "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", 980 | "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", 981 | "dev": true, 982 | "dependencies": { 983 | "get-intrinsic": "^1.1.3" 984 | }, 985 | "funding": { 986 | "url": "https://github.com/sponsors/ljharb" 987 | } 988 | }, 989 | "node_modules/graceful-fs": { 990 | "version": "4.2.9", 991 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", 992 | "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", 993 | "dev": true 994 | }, 995 | "node_modules/has": { 996 | "version": "1.0.4", 997 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", 998 | "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", 999 | "dev": true, 1000 | "engines": { 1001 | "node": ">= 0.4.0" 1002 | } 1003 | }, 1004 | "node_modules/has-flag": { 1005 | "version": "4.0.0", 1006 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1007 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 1008 | "dev": true, 1009 | "engines": { 1010 | "node": ">=8" 1011 | } 1012 | }, 1013 | "node_modules/has-property-descriptors": { 1014 | "version": "1.0.0", 1015 | "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", 1016 | "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", 1017 | "dev": true, 1018 | "dependencies": { 1019 | "get-intrinsic": "^1.1.1" 1020 | }, 1021 | "funding": { 1022 | "url": "https://github.com/sponsors/ljharb" 1023 | } 1024 | }, 1025 | "node_modules/has-proto": { 1026 | "version": "1.0.1", 1027 | "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", 1028 | "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", 1029 | "dev": true, 1030 | "engines": { 1031 | "node": ">= 0.4" 1032 | }, 1033 | "funding": { 1034 | "url": "https://github.com/sponsors/ljharb" 1035 | } 1036 | }, 1037 | "node_modules/has-symbols": { 1038 | "version": "1.0.3", 1039 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", 1040 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", 1041 | "dev": true, 1042 | "engines": { 1043 | "node": ">= 0.4" 1044 | }, 1045 | "funding": { 1046 | "url": "https://github.com/sponsors/ljharb" 1047 | } 1048 | }, 1049 | "node_modules/http-signature": { 1050 | "version": "1.3.6", 1051 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", 1052 | "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", 1053 | "dev": true, 1054 | "dependencies": { 1055 | "assert-plus": "^1.0.0", 1056 | "jsprim": "^2.0.2", 1057 | "sshpk": "^1.14.1" 1058 | }, 1059 | "engines": { 1060 | "node": ">=0.10" 1061 | } 1062 | }, 1063 | "node_modules/human-signals": { 1064 | "version": "1.1.1", 1065 | "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", 1066 | "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", 1067 | "dev": true, 1068 | "engines": { 1069 | "node": ">=8.12.0" 1070 | } 1071 | }, 1072 | "node_modules/ieee754": { 1073 | "version": "1.2.1", 1074 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 1075 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 1076 | "dev": true, 1077 | "funding": [ 1078 | { 1079 | "type": "github", 1080 | "url": "https://github.com/sponsors/feross" 1081 | }, 1082 | { 1083 | "type": "patreon", 1084 | "url": "https://www.patreon.com/feross" 1085 | }, 1086 | { 1087 | "type": "consulting", 1088 | "url": "https://feross.org/support" 1089 | } 1090 | ] 1091 | }, 1092 | "node_modules/indent-string": { 1093 | "version": "4.0.0", 1094 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", 1095 | "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", 1096 | "dev": true, 1097 | "engines": { 1098 | "node": ">=8" 1099 | } 1100 | }, 1101 | "node_modules/inflight": { 1102 | "version": "1.0.6", 1103 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1104 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1105 | "dev": true, 1106 | "dependencies": { 1107 | "once": "^1.3.0", 1108 | "wrappy": "1" 1109 | } 1110 | }, 1111 | "node_modules/inherits": { 1112 | "version": "2.0.4", 1113 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1114 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1115 | "dev": true 1116 | }, 1117 | "node_modules/ini": { 1118 | "version": "2.0.0", 1119 | "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", 1120 | "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", 1121 | "dev": true, 1122 | "engines": { 1123 | "node": ">=10" 1124 | } 1125 | }, 1126 | "node_modules/is-ci": { 1127 | "version": "3.0.1", 1128 | "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", 1129 | "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", 1130 | "dev": true, 1131 | "dependencies": { 1132 | "ci-info": "^3.2.0" 1133 | }, 1134 | "bin": { 1135 | "is-ci": "bin.js" 1136 | } 1137 | }, 1138 | "node_modules/is-fullwidth-code-point": { 1139 | "version": "3.0.0", 1140 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 1141 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 1142 | "dev": true, 1143 | "engines": { 1144 | "node": ">=8" 1145 | } 1146 | }, 1147 | "node_modules/is-installed-globally": { 1148 | "version": "0.4.0", 1149 | "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", 1150 | "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", 1151 | "dev": true, 1152 | "dependencies": { 1153 | "global-dirs": "^3.0.0", 1154 | "is-path-inside": "^3.0.2" 1155 | }, 1156 | "engines": { 1157 | "node": ">=10" 1158 | }, 1159 | "funding": { 1160 | "url": "https://github.com/sponsors/sindresorhus" 1161 | } 1162 | }, 1163 | "node_modules/is-path-inside": { 1164 | "version": "3.0.3", 1165 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", 1166 | "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", 1167 | "dev": true, 1168 | "engines": { 1169 | "node": ">=8" 1170 | } 1171 | }, 1172 | "node_modules/is-stream": { 1173 | "version": "2.0.1", 1174 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", 1175 | "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", 1176 | "dev": true, 1177 | "engines": { 1178 | "node": ">=8" 1179 | }, 1180 | "funding": { 1181 | "url": "https://github.com/sponsors/sindresorhus" 1182 | } 1183 | }, 1184 | "node_modules/is-typedarray": { 1185 | "version": "1.0.0", 1186 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 1187 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", 1188 | "dev": true 1189 | }, 1190 | "node_modules/is-unicode-supported": { 1191 | "version": "0.1.0", 1192 | "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", 1193 | "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", 1194 | "dev": true, 1195 | "engines": { 1196 | "node": ">=10" 1197 | }, 1198 | "funding": { 1199 | "url": "https://github.com/sponsors/sindresorhus" 1200 | } 1201 | }, 1202 | "node_modules/isexe": { 1203 | "version": "2.0.0", 1204 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1205 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 1206 | "dev": true 1207 | }, 1208 | "node_modules/isstream": { 1209 | "version": "0.1.2", 1210 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 1211 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", 1212 | "dev": true 1213 | }, 1214 | "node_modules/jsbn": { 1215 | "version": "0.1.1", 1216 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 1217 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", 1218 | "dev": true 1219 | }, 1220 | "node_modules/json-schema": { 1221 | "version": "0.4.0", 1222 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", 1223 | "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", 1224 | "dev": true 1225 | }, 1226 | "node_modules/json-stringify-safe": { 1227 | "version": "5.0.1", 1228 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 1229 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", 1230 | "dev": true 1231 | }, 1232 | "node_modules/jsonfile": { 1233 | "version": "6.1.0", 1234 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", 1235 | "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", 1236 | "dev": true, 1237 | "dependencies": { 1238 | "universalify": "^2.0.0" 1239 | }, 1240 | "optionalDependencies": { 1241 | "graceful-fs": "^4.1.6" 1242 | } 1243 | }, 1244 | "node_modules/jsonwebtoken": { 1245 | "version": "9.0.2", 1246 | "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", 1247 | "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", 1248 | "dependencies": { 1249 | "jws": "^3.2.2", 1250 | "lodash.includes": "^4.3.0", 1251 | "lodash.isboolean": "^3.0.3", 1252 | "lodash.isinteger": "^4.0.4", 1253 | "lodash.isnumber": "^3.0.3", 1254 | "lodash.isplainobject": "^4.0.6", 1255 | "lodash.isstring": "^4.0.1", 1256 | "lodash.once": "^4.0.0", 1257 | "ms": "^2.1.1", 1258 | "semver": "^7.5.4" 1259 | }, 1260 | "engines": { 1261 | "node": ">=12", 1262 | "npm": ">=6" 1263 | } 1264 | }, 1265 | "node_modules/jsprim": { 1266 | "version": "2.0.2", 1267 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", 1268 | "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", 1269 | "dev": true, 1270 | "engines": [ 1271 | "node >=0.6.0" 1272 | ], 1273 | "dependencies": { 1274 | "assert-plus": "1.0.0", 1275 | "extsprintf": "1.3.0", 1276 | "json-schema": "0.4.0", 1277 | "verror": "1.10.0" 1278 | } 1279 | }, 1280 | "node_modules/jwa": { 1281 | "version": "1.4.1", 1282 | "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", 1283 | "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", 1284 | "dependencies": { 1285 | "buffer-equal-constant-time": "1.0.1", 1286 | "ecdsa-sig-formatter": "1.0.11", 1287 | "safe-buffer": "^5.0.1" 1288 | } 1289 | }, 1290 | "node_modules/jws": { 1291 | "version": "3.2.2", 1292 | "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", 1293 | "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", 1294 | "dependencies": { 1295 | "jwa": "^1.4.1", 1296 | "safe-buffer": "^5.0.1" 1297 | } 1298 | }, 1299 | "node_modules/lazy-ass": { 1300 | "version": "1.6.0", 1301 | "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", 1302 | "integrity": "sha1-eZllXoZGwX8In90YfRUNMyTVRRM=", 1303 | "dev": true, 1304 | "engines": { 1305 | "node": "> 0.8" 1306 | } 1307 | }, 1308 | "node_modules/listr2": { 1309 | "version": "3.14.0", 1310 | "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", 1311 | "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", 1312 | "dev": true, 1313 | "dependencies": { 1314 | "cli-truncate": "^2.1.0", 1315 | "colorette": "^2.0.16", 1316 | "log-update": "^4.0.0", 1317 | "p-map": "^4.0.0", 1318 | "rfdc": "^1.3.0", 1319 | "rxjs": "^7.5.1", 1320 | "through": "^2.3.8", 1321 | "wrap-ansi": "^7.0.0" 1322 | }, 1323 | "engines": { 1324 | "node": ">=10.0.0" 1325 | }, 1326 | "peerDependencies": { 1327 | "enquirer": ">= 2.3.0 < 3" 1328 | }, 1329 | "peerDependenciesMeta": { 1330 | "enquirer": { 1331 | "optional": true 1332 | } 1333 | } 1334 | }, 1335 | "node_modules/lodash": { 1336 | "version": "4.17.21", 1337 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 1338 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", 1339 | "dev": true 1340 | }, 1341 | "node_modules/lodash.includes": { 1342 | "version": "4.3.0", 1343 | "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", 1344 | "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" 1345 | }, 1346 | "node_modules/lodash.isboolean": { 1347 | "version": "3.0.3", 1348 | "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", 1349 | "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" 1350 | }, 1351 | "node_modules/lodash.isinteger": { 1352 | "version": "4.0.4", 1353 | "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", 1354 | "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" 1355 | }, 1356 | "node_modules/lodash.isnumber": { 1357 | "version": "3.0.3", 1358 | "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", 1359 | "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" 1360 | }, 1361 | "node_modules/lodash.isplainobject": { 1362 | "version": "4.0.6", 1363 | "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", 1364 | "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" 1365 | }, 1366 | "node_modules/lodash.isstring": { 1367 | "version": "4.0.1", 1368 | "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", 1369 | "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" 1370 | }, 1371 | "node_modules/lodash.once": { 1372 | "version": "4.1.1", 1373 | "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", 1374 | "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" 1375 | }, 1376 | "node_modules/log-symbols": { 1377 | "version": "4.1.0", 1378 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", 1379 | "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", 1380 | "dev": true, 1381 | "dependencies": { 1382 | "chalk": "^4.1.0", 1383 | "is-unicode-supported": "^0.1.0" 1384 | }, 1385 | "engines": { 1386 | "node": ">=10" 1387 | }, 1388 | "funding": { 1389 | "url": "https://github.com/sponsors/sindresorhus" 1390 | } 1391 | }, 1392 | "node_modules/log-update": { 1393 | "version": "4.0.0", 1394 | "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", 1395 | "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", 1396 | "dev": true, 1397 | "dependencies": { 1398 | "ansi-escapes": "^4.3.0", 1399 | "cli-cursor": "^3.1.0", 1400 | "slice-ansi": "^4.0.0", 1401 | "wrap-ansi": "^6.2.0" 1402 | }, 1403 | "engines": { 1404 | "node": ">=10" 1405 | }, 1406 | "funding": { 1407 | "url": "https://github.com/sponsors/sindresorhus" 1408 | } 1409 | }, 1410 | "node_modules/log-update/node_modules/slice-ansi": { 1411 | "version": "4.0.0", 1412 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", 1413 | "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", 1414 | "dev": true, 1415 | "dependencies": { 1416 | "ansi-styles": "^4.0.0", 1417 | "astral-regex": "^2.0.0", 1418 | "is-fullwidth-code-point": "^3.0.0" 1419 | }, 1420 | "engines": { 1421 | "node": ">=10" 1422 | }, 1423 | "funding": { 1424 | "url": "https://github.com/chalk/slice-ansi?sponsor=1" 1425 | } 1426 | }, 1427 | "node_modules/log-update/node_modules/wrap-ansi": { 1428 | "version": "6.2.0", 1429 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", 1430 | "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", 1431 | "dev": true, 1432 | "dependencies": { 1433 | "ansi-styles": "^4.0.0", 1434 | "string-width": "^4.1.0", 1435 | "strip-ansi": "^6.0.0" 1436 | }, 1437 | "engines": { 1438 | "node": ">=8" 1439 | } 1440 | }, 1441 | "node_modules/lru-cache": { 1442 | "version": "6.0.0", 1443 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 1444 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 1445 | "dependencies": { 1446 | "yallist": "^4.0.0" 1447 | }, 1448 | "engines": { 1449 | "node": ">=10" 1450 | } 1451 | }, 1452 | "node_modules/merge-stream": { 1453 | "version": "2.0.0", 1454 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 1455 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", 1456 | "dev": true 1457 | }, 1458 | "node_modules/mime-db": { 1459 | "version": "1.51.0", 1460 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", 1461 | "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", 1462 | "dev": true, 1463 | "engines": { 1464 | "node": ">= 0.6" 1465 | } 1466 | }, 1467 | "node_modules/mime-types": { 1468 | "version": "2.1.34", 1469 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", 1470 | "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", 1471 | "dev": true, 1472 | "dependencies": { 1473 | "mime-db": "1.51.0" 1474 | }, 1475 | "engines": { 1476 | "node": ">= 0.6" 1477 | } 1478 | }, 1479 | "node_modules/mimic-fn": { 1480 | "version": "2.1.0", 1481 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 1482 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 1483 | "dev": true, 1484 | "engines": { 1485 | "node": ">=6" 1486 | } 1487 | }, 1488 | "node_modules/minimatch": { 1489 | "version": "3.1.2", 1490 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1491 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1492 | "dev": true, 1493 | "dependencies": { 1494 | "brace-expansion": "^1.1.7" 1495 | }, 1496 | "engines": { 1497 | "node": "*" 1498 | } 1499 | }, 1500 | "node_modules/minimist": { 1501 | "version": "1.2.8", 1502 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 1503 | "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 1504 | "dev": true, 1505 | "funding": { 1506 | "url": "https://github.com/sponsors/ljharb" 1507 | } 1508 | }, 1509 | "node_modules/ms": { 1510 | "version": "2.1.2", 1511 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1512 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 1513 | }, 1514 | "node_modules/npm-run-path": { 1515 | "version": "4.0.1", 1516 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", 1517 | "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", 1518 | "dev": true, 1519 | "dependencies": { 1520 | "path-key": "^3.0.0" 1521 | }, 1522 | "engines": { 1523 | "node": ">=8" 1524 | } 1525 | }, 1526 | "node_modules/object-inspect": { 1527 | "version": "1.13.1", 1528 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", 1529 | "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", 1530 | "dev": true, 1531 | "funding": { 1532 | "url": "https://github.com/sponsors/ljharb" 1533 | } 1534 | }, 1535 | "node_modules/once": { 1536 | "version": "1.4.0", 1537 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1538 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1539 | "dev": true, 1540 | "dependencies": { 1541 | "wrappy": "1" 1542 | } 1543 | }, 1544 | "node_modules/onetime": { 1545 | "version": "5.1.2", 1546 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", 1547 | "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", 1548 | "dev": true, 1549 | "dependencies": { 1550 | "mimic-fn": "^2.1.0" 1551 | }, 1552 | "engines": { 1553 | "node": ">=6" 1554 | }, 1555 | "funding": { 1556 | "url": "https://github.com/sponsors/sindresorhus" 1557 | } 1558 | }, 1559 | "node_modules/ospath": { 1560 | "version": "1.2.2", 1561 | "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", 1562 | "integrity": "sha1-EnZjl3Sj+O8lcvf+QoDg6kVQwHs=", 1563 | "dev": true 1564 | }, 1565 | "node_modules/p-map": { 1566 | "version": "4.0.0", 1567 | "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", 1568 | "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", 1569 | "dev": true, 1570 | "dependencies": { 1571 | "aggregate-error": "^3.0.0" 1572 | }, 1573 | "engines": { 1574 | "node": ">=10" 1575 | }, 1576 | "funding": { 1577 | "url": "https://github.com/sponsors/sindresorhus" 1578 | } 1579 | }, 1580 | "node_modules/path-is-absolute": { 1581 | "version": "1.0.1", 1582 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1583 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1584 | "dev": true, 1585 | "engines": { 1586 | "node": ">=0.10.0" 1587 | } 1588 | }, 1589 | "node_modules/path-key": { 1590 | "version": "3.1.1", 1591 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1592 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1593 | "dev": true, 1594 | "engines": { 1595 | "node": ">=8" 1596 | } 1597 | }, 1598 | "node_modules/pend": { 1599 | "version": "1.2.0", 1600 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 1601 | "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", 1602 | "dev": true 1603 | }, 1604 | "node_modules/performance-now": { 1605 | "version": "2.1.0", 1606 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", 1607 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", 1608 | "dev": true 1609 | }, 1610 | "node_modules/pify": { 1611 | "version": "2.3.0", 1612 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 1613 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", 1614 | "dev": true, 1615 | "engines": { 1616 | "node": ">=0.10.0" 1617 | } 1618 | }, 1619 | "node_modules/pretty-bytes": { 1620 | "version": "5.6.0", 1621 | "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", 1622 | "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", 1623 | "dev": true, 1624 | "engines": { 1625 | "node": ">=6" 1626 | }, 1627 | "funding": { 1628 | "url": "https://github.com/sponsors/sindresorhus" 1629 | } 1630 | }, 1631 | "node_modules/proxy-from-env": { 1632 | "version": "1.0.0", 1633 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", 1634 | "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", 1635 | "dev": true 1636 | }, 1637 | "node_modules/psl": { 1638 | "version": "1.9.0", 1639 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", 1640 | "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", 1641 | "dev": true 1642 | }, 1643 | "node_modules/pump": { 1644 | "version": "3.0.0", 1645 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 1646 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 1647 | "dev": true, 1648 | "dependencies": { 1649 | "end-of-stream": "^1.1.0", 1650 | "once": "^1.3.1" 1651 | } 1652 | }, 1653 | "node_modules/punycode": { 1654 | "version": "2.3.0", 1655 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", 1656 | "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", 1657 | "dev": true, 1658 | "engines": { 1659 | "node": ">=6" 1660 | } 1661 | }, 1662 | "node_modules/qs": { 1663 | "version": "6.10.4", 1664 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", 1665 | "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", 1666 | "dev": true, 1667 | "dependencies": { 1668 | "side-channel": "^1.0.4" 1669 | }, 1670 | "engines": { 1671 | "node": ">=0.6" 1672 | }, 1673 | "funding": { 1674 | "url": "https://github.com/sponsors/ljharb" 1675 | } 1676 | }, 1677 | "node_modules/querystringify": { 1678 | "version": "2.2.0", 1679 | "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", 1680 | "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", 1681 | "dev": true 1682 | }, 1683 | "node_modules/request-progress": { 1684 | "version": "3.0.0", 1685 | "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", 1686 | "integrity": "sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4=", 1687 | "dev": true, 1688 | "dependencies": { 1689 | "throttleit": "^1.0.0" 1690 | } 1691 | }, 1692 | "node_modules/requires-port": { 1693 | "version": "1.0.0", 1694 | "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", 1695 | "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", 1696 | "dev": true 1697 | }, 1698 | "node_modules/restore-cursor": { 1699 | "version": "3.1.0", 1700 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", 1701 | "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", 1702 | "dev": true, 1703 | "dependencies": { 1704 | "onetime": "^5.1.0", 1705 | "signal-exit": "^3.0.2" 1706 | }, 1707 | "engines": { 1708 | "node": ">=8" 1709 | } 1710 | }, 1711 | "node_modules/rfdc": { 1712 | "version": "1.3.0", 1713 | "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", 1714 | "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", 1715 | "dev": true 1716 | }, 1717 | "node_modules/rimraf": { 1718 | "version": "3.0.2", 1719 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 1720 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 1721 | "dev": true, 1722 | "dependencies": { 1723 | "glob": "^7.1.3" 1724 | }, 1725 | "bin": { 1726 | "rimraf": "bin.js" 1727 | }, 1728 | "funding": { 1729 | "url": "https://github.com/sponsors/isaacs" 1730 | } 1731 | }, 1732 | "node_modules/rxjs": { 1733 | "version": "7.5.5", 1734 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", 1735 | "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", 1736 | "dev": true, 1737 | "dependencies": { 1738 | "tslib": "^2.1.0" 1739 | } 1740 | }, 1741 | "node_modules/safe-buffer": { 1742 | "version": "5.2.1", 1743 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1744 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 1745 | "funding": [ 1746 | { 1747 | "type": "github", 1748 | "url": "https://github.com/sponsors/feross" 1749 | }, 1750 | { 1751 | "type": "patreon", 1752 | "url": "https://www.patreon.com/feross" 1753 | }, 1754 | { 1755 | "type": "consulting", 1756 | "url": "https://feross.org/support" 1757 | } 1758 | ] 1759 | }, 1760 | "node_modules/safer-buffer": { 1761 | "version": "2.1.2", 1762 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1763 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 1764 | "dev": true 1765 | }, 1766 | "node_modules/semver": { 1767 | "version": "7.5.4", 1768 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", 1769 | "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", 1770 | "dependencies": { 1771 | "lru-cache": "^6.0.0" 1772 | }, 1773 | "bin": { 1774 | "semver": "bin/semver.js" 1775 | }, 1776 | "engines": { 1777 | "node": ">=10" 1778 | } 1779 | }, 1780 | "node_modules/set-function-length": { 1781 | "version": "1.1.1", 1782 | "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", 1783 | "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", 1784 | "dev": true, 1785 | "dependencies": { 1786 | "define-data-property": "^1.1.1", 1787 | "get-intrinsic": "^1.2.1", 1788 | "gopd": "^1.0.1", 1789 | "has-property-descriptors": "^1.0.0" 1790 | }, 1791 | "engines": { 1792 | "node": ">= 0.4" 1793 | } 1794 | }, 1795 | "node_modules/shebang-command": { 1796 | "version": "2.0.0", 1797 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1798 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1799 | "dev": true, 1800 | "dependencies": { 1801 | "shebang-regex": "^3.0.0" 1802 | }, 1803 | "engines": { 1804 | "node": ">=8" 1805 | } 1806 | }, 1807 | "node_modules/shebang-regex": { 1808 | "version": "3.0.0", 1809 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1810 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1811 | "dev": true, 1812 | "engines": { 1813 | "node": ">=8" 1814 | } 1815 | }, 1816 | "node_modules/side-channel": { 1817 | "version": "1.0.4", 1818 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", 1819 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", 1820 | "dev": true, 1821 | "dependencies": { 1822 | "call-bind": "^1.0.0", 1823 | "get-intrinsic": "^1.0.2", 1824 | "object-inspect": "^1.9.0" 1825 | }, 1826 | "funding": { 1827 | "url": "https://github.com/sponsors/ljharb" 1828 | } 1829 | }, 1830 | "node_modules/signal-exit": { 1831 | "version": "3.0.7", 1832 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 1833 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 1834 | "dev": true 1835 | }, 1836 | "node_modules/slice-ansi": { 1837 | "version": "3.0.0", 1838 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", 1839 | "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", 1840 | "dev": true, 1841 | "dependencies": { 1842 | "ansi-styles": "^4.0.0", 1843 | "astral-regex": "^2.0.0", 1844 | "is-fullwidth-code-point": "^3.0.0" 1845 | }, 1846 | "engines": { 1847 | "node": ">=8" 1848 | } 1849 | }, 1850 | "node_modules/sshpk": { 1851 | "version": "1.17.0", 1852 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", 1853 | "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", 1854 | "dev": true, 1855 | "dependencies": { 1856 | "asn1": "~0.2.3", 1857 | "assert-plus": "^1.0.0", 1858 | "bcrypt-pbkdf": "^1.0.0", 1859 | "dashdash": "^1.12.0", 1860 | "ecc-jsbn": "~0.1.1", 1861 | "getpass": "^0.1.1", 1862 | "jsbn": "~0.1.0", 1863 | "safer-buffer": "^2.0.2", 1864 | "tweetnacl": "~0.14.0" 1865 | }, 1866 | "bin": { 1867 | "sshpk-conv": "bin/sshpk-conv", 1868 | "sshpk-sign": "bin/sshpk-sign", 1869 | "sshpk-verify": "bin/sshpk-verify" 1870 | }, 1871 | "engines": { 1872 | "node": ">=0.10.0" 1873 | } 1874 | }, 1875 | "node_modules/string-width": { 1876 | "version": "4.2.3", 1877 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 1878 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 1879 | "dev": true, 1880 | "dependencies": { 1881 | "emoji-regex": "^8.0.0", 1882 | "is-fullwidth-code-point": "^3.0.0", 1883 | "strip-ansi": "^6.0.1" 1884 | }, 1885 | "engines": { 1886 | "node": ">=8" 1887 | } 1888 | }, 1889 | "node_modules/strip-ansi": { 1890 | "version": "6.0.1", 1891 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1892 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1893 | "dev": true, 1894 | "dependencies": { 1895 | "ansi-regex": "^5.0.1" 1896 | }, 1897 | "engines": { 1898 | "node": ">=8" 1899 | } 1900 | }, 1901 | "node_modules/strip-final-newline": { 1902 | "version": "2.0.0", 1903 | "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", 1904 | "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", 1905 | "dev": true, 1906 | "engines": { 1907 | "node": ">=6" 1908 | } 1909 | }, 1910 | "node_modules/supports-color": { 1911 | "version": "8.1.1", 1912 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", 1913 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", 1914 | "dev": true, 1915 | "dependencies": { 1916 | "has-flag": "^4.0.0" 1917 | }, 1918 | "engines": { 1919 | "node": ">=10" 1920 | }, 1921 | "funding": { 1922 | "url": "https://github.com/chalk/supports-color?sponsor=1" 1923 | } 1924 | }, 1925 | "node_modules/throttleit": { 1926 | "version": "1.0.0", 1927 | "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", 1928 | "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", 1929 | "dev": true 1930 | }, 1931 | "node_modules/through": { 1932 | "version": "2.3.8", 1933 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 1934 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 1935 | "dev": true 1936 | }, 1937 | "node_modules/tmp": { 1938 | "version": "0.2.1", 1939 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", 1940 | "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", 1941 | "dev": true, 1942 | "dependencies": { 1943 | "rimraf": "^3.0.0" 1944 | }, 1945 | "engines": { 1946 | "node": ">=8.17.0" 1947 | } 1948 | }, 1949 | "node_modules/tough-cookie": { 1950 | "version": "4.1.3", 1951 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", 1952 | "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", 1953 | "dev": true, 1954 | "dependencies": { 1955 | "psl": "^1.1.33", 1956 | "punycode": "^2.1.1", 1957 | "universalify": "^0.2.0", 1958 | "url-parse": "^1.5.3" 1959 | }, 1960 | "engines": { 1961 | "node": ">=6" 1962 | } 1963 | }, 1964 | "node_modules/tough-cookie/node_modules/universalify": { 1965 | "version": "0.2.0", 1966 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", 1967 | "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", 1968 | "dev": true, 1969 | "engines": { 1970 | "node": ">= 4.0.0" 1971 | } 1972 | }, 1973 | "node_modules/tslib": { 1974 | "version": "2.3.1", 1975 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", 1976 | "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", 1977 | "dev": true 1978 | }, 1979 | "node_modules/tunnel-agent": { 1980 | "version": "0.6.0", 1981 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 1982 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 1983 | "dev": true, 1984 | "dependencies": { 1985 | "safe-buffer": "^5.0.1" 1986 | }, 1987 | "engines": { 1988 | "node": "*" 1989 | } 1990 | }, 1991 | "node_modules/tweetnacl": { 1992 | "version": "0.14.5", 1993 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 1994 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", 1995 | "dev": true 1996 | }, 1997 | "node_modules/type-fest": { 1998 | "version": "0.21.3", 1999 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", 2000 | "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", 2001 | "dev": true, 2002 | "engines": { 2003 | "node": ">=10" 2004 | }, 2005 | "funding": { 2006 | "url": "https://github.com/sponsors/sindresorhus" 2007 | } 2008 | }, 2009 | "node_modules/typescript": { 2010 | "version": "4.6.2", 2011 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.2.tgz", 2012 | "integrity": "sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==", 2013 | "dev": true, 2014 | "bin": { 2015 | "tsc": "bin/tsc", 2016 | "tsserver": "bin/tsserver" 2017 | }, 2018 | "engines": { 2019 | "node": ">=4.2.0" 2020 | } 2021 | }, 2022 | "node_modules/universalify": { 2023 | "version": "2.0.0", 2024 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", 2025 | "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", 2026 | "dev": true, 2027 | "engines": { 2028 | "node": ">= 10.0.0" 2029 | } 2030 | }, 2031 | "node_modules/untildify": { 2032 | "version": "4.0.0", 2033 | "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", 2034 | "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", 2035 | "dev": true, 2036 | "engines": { 2037 | "node": ">=8" 2038 | } 2039 | }, 2040 | "node_modules/url-parse": { 2041 | "version": "1.5.10", 2042 | "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", 2043 | "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", 2044 | "dev": true, 2045 | "dependencies": { 2046 | "querystringify": "^2.1.1", 2047 | "requires-port": "^1.0.0" 2048 | } 2049 | }, 2050 | "node_modules/uuid": { 2051 | "version": "8.3.2", 2052 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", 2053 | "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", 2054 | "bin": { 2055 | "uuid": "dist/bin/uuid" 2056 | } 2057 | }, 2058 | "node_modules/verror": { 2059 | "version": "1.10.0", 2060 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 2061 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", 2062 | "dev": true, 2063 | "engines": [ 2064 | "node >=0.6.0" 2065 | ], 2066 | "dependencies": { 2067 | "assert-plus": "^1.0.0", 2068 | "core-util-is": "1.0.2", 2069 | "extsprintf": "^1.2.0" 2070 | } 2071 | }, 2072 | "node_modules/which": { 2073 | "version": "2.0.2", 2074 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 2075 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 2076 | "dev": true, 2077 | "dependencies": { 2078 | "isexe": "^2.0.0" 2079 | }, 2080 | "bin": { 2081 | "node-which": "bin/node-which" 2082 | }, 2083 | "engines": { 2084 | "node": ">= 8" 2085 | } 2086 | }, 2087 | "node_modules/wrap-ansi": { 2088 | "version": "7.0.0", 2089 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 2090 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 2091 | "dev": true, 2092 | "dependencies": { 2093 | "ansi-styles": "^4.0.0", 2094 | "string-width": "^4.1.0", 2095 | "strip-ansi": "^6.0.0" 2096 | }, 2097 | "engines": { 2098 | "node": ">=10" 2099 | }, 2100 | "funding": { 2101 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 2102 | } 2103 | }, 2104 | "node_modules/wrappy": { 2105 | "version": "1.0.2", 2106 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2107 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 2108 | "dev": true 2109 | }, 2110 | "node_modules/yallist": { 2111 | "version": "4.0.0", 2112 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 2113 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" 2114 | }, 2115 | "node_modules/yauzl": { 2116 | "version": "2.10.0", 2117 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", 2118 | "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", 2119 | "dev": true, 2120 | "dependencies": { 2121 | "buffer-crc32": "~0.2.3", 2122 | "fd-slicer": "~1.1.0" 2123 | } 2124 | } 2125 | }, 2126 | "dependencies": { 2127 | "@azure/msal-common": { 2128 | "version": "13.3.0", 2129 | "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.3.0.tgz", 2130 | "integrity": "sha512-/VFWTicjcJbrGp3yQP7A24xU95NiDMe23vxIU1U6qdRPFsprMDNUohMudclnd+WSHE4/McqkZs/nUU3sAKkVjg==" 2131 | }, 2132 | "@azure/msal-node": { 2133 | "version": "1.18.3", 2134 | "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.18.3.tgz", 2135 | "integrity": "sha512-lI1OsxNbS/gxRD4548Wyj22Dk8kS7eGMwD9GlBZvQmFV8FJUXoXySL1BiNzDsHUE96/DS/DHmA+F73p1Dkcktg==", 2136 | "requires": { 2137 | "@azure/msal-common": "13.3.0", 2138 | "jsonwebtoken": "^9.0.0", 2139 | "uuid": "^8.3.0" 2140 | } 2141 | }, 2142 | "@cypress/request": { 2143 | "version": "2.88.12", 2144 | "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.12.tgz", 2145 | "integrity": "sha512-tOn+0mDZxASFM+cuAP9szGUGPI1HwWVSvdzm7V4cCsPdFTx6qMj29CwaQmRAMIEhORIUBFBsYROYJcveK4uOjA==", 2146 | "dev": true, 2147 | "requires": { 2148 | "aws-sign2": "~0.7.0", 2149 | "aws4": "^1.8.0", 2150 | "caseless": "~0.12.0", 2151 | "combined-stream": "~1.0.6", 2152 | "extend": "~3.0.2", 2153 | "forever-agent": "~0.6.1", 2154 | "form-data": "~2.3.2", 2155 | "http-signature": "~1.3.6", 2156 | "is-typedarray": "~1.0.0", 2157 | "isstream": "~0.1.2", 2158 | "json-stringify-safe": "~5.0.1", 2159 | "mime-types": "~2.1.19", 2160 | "performance-now": "^2.1.0", 2161 | "qs": "~6.10.3", 2162 | "safe-buffer": "^5.1.2", 2163 | "tough-cookie": "^4.1.3", 2164 | "tunnel-agent": "^0.6.0", 2165 | "uuid": "^8.3.2" 2166 | } 2167 | }, 2168 | "@cypress/xvfb": { 2169 | "version": "1.2.4", 2170 | "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", 2171 | "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", 2172 | "dev": true, 2173 | "requires": { 2174 | "debug": "^3.1.0", 2175 | "lodash.once": "^4.1.1" 2176 | }, 2177 | "dependencies": { 2178 | "debug": { 2179 | "version": "3.2.7", 2180 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 2181 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 2182 | "dev": true, 2183 | "requires": { 2184 | "ms": "^2.1.1" 2185 | } 2186 | } 2187 | } 2188 | }, 2189 | "@types/node": { 2190 | "version": "14.18.12", 2191 | "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.12.tgz", 2192 | "integrity": "sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==", 2193 | "dev": true 2194 | }, 2195 | "@types/sinonjs__fake-timers": { 2196 | "version": "8.1.1", 2197 | "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", 2198 | "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", 2199 | "dev": true 2200 | }, 2201 | "@types/sizzle": { 2202 | "version": "2.3.3", 2203 | "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", 2204 | "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", 2205 | "dev": true 2206 | }, 2207 | "@types/yauzl": { 2208 | "version": "2.9.2", 2209 | "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", 2210 | "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", 2211 | "dev": true, 2212 | "optional": true, 2213 | "requires": { 2214 | "@types/node": "*" 2215 | } 2216 | }, 2217 | "aggregate-error": { 2218 | "version": "3.1.0", 2219 | "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", 2220 | "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", 2221 | "dev": true, 2222 | "requires": { 2223 | "clean-stack": "^2.0.0", 2224 | "indent-string": "^4.0.0" 2225 | } 2226 | }, 2227 | "ansi-colors": { 2228 | "version": "4.1.1", 2229 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", 2230 | "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", 2231 | "dev": true 2232 | }, 2233 | "ansi-escapes": { 2234 | "version": "4.3.2", 2235 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", 2236 | "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", 2237 | "dev": true, 2238 | "requires": { 2239 | "type-fest": "^0.21.3" 2240 | } 2241 | }, 2242 | "ansi-regex": { 2243 | "version": "5.0.1", 2244 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 2245 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 2246 | "dev": true 2247 | }, 2248 | "ansi-styles": { 2249 | "version": "4.3.0", 2250 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 2251 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 2252 | "dev": true, 2253 | "requires": { 2254 | "color-convert": "^2.0.1" 2255 | } 2256 | }, 2257 | "arch": { 2258 | "version": "2.2.0", 2259 | "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", 2260 | "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", 2261 | "dev": true 2262 | }, 2263 | "asn1": { 2264 | "version": "0.2.6", 2265 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", 2266 | "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", 2267 | "dev": true, 2268 | "requires": { 2269 | "safer-buffer": "~2.1.0" 2270 | } 2271 | }, 2272 | "assert-plus": { 2273 | "version": "1.0.0", 2274 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 2275 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 2276 | "dev": true 2277 | }, 2278 | "astral-regex": { 2279 | "version": "2.0.0", 2280 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", 2281 | "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", 2282 | "dev": true 2283 | }, 2284 | "async": { 2285 | "version": "3.2.3", 2286 | "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", 2287 | "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", 2288 | "dev": true 2289 | }, 2290 | "asynckit": { 2291 | "version": "0.4.0", 2292 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 2293 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", 2294 | "dev": true 2295 | }, 2296 | "at-least-node": { 2297 | "version": "1.0.0", 2298 | "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", 2299 | "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", 2300 | "dev": true 2301 | }, 2302 | "aws-sign2": { 2303 | "version": "0.7.0", 2304 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", 2305 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", 2306 | "dev": true 2307 | }, 2308 | "aws4": { 2309 | "version": "1.11.0", 2310 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", 2311 | "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", 2312 | "dev": true 2313 | }, 2314 | "balanced-match": { 2315 | "version": "1.0.2", 2316 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 2317 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 2318 | "dev": true 2319 | }, 2320 | "base64-js": { 2321 | "version": "1.5.1", 2322 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 2323 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 2324 | "dev": true 2325 | }, 2326 | "bcrypt-pbkdf": { 2327 | "version": "1.0.2", 2328 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", 2329 | "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", 2330 | "dev": true, 2331 | "requires": { 2332 | "tweetnacl": "^0.14.3" 2333 | } 2334 | }, 2335 | "blob-util": { 2336 | "version": "2.0.2", 2337 | "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", 2338 | "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", 2339 | "dev": true 2340 | }, 2341 | "bluebird": { 2342 | "version": "3.7.2", 2343 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", 2344 | "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", 2345 | "dev": true 2346 | }, 2347 | "brace-expansion": { 2348 | "version": "1.1.11", 2349 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 2350 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 2351 | "dev": true, 2352 | "requires": { 2353 | "balanced-match": "^1.0.0", 2354 | "concat-map": "0.0.1" 2355 | } 2356 | }, 2357 | "buffer": { 2358 | "version": "5.7.1", 2359 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 2360 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 2361 | "dev": true, 2362 | "requires": { 2363 | "base64-js": "^1.3.1", 2364 | "ieee754": "^1.1.13" 2365 | } 2366 | }, 2367 | "buffer-crc32": { 2368 | "version": "0.2.13", 2369 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", 2370 | "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", 2371 | "dev": true 2372 | }, 2373 | "buffer-equal-constant-time": { 2374 | "version": "1.0.1", 2375 | "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", 2376 | "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" 2377 | }, 2378 | "cachedir": { 2379 | "version": "2.3.0", 2380 | "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", 2381 | "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", 2382 | "dev": true 2383 | }, 2384 | "call-bind": { 2385 | "version": "1.0.5", 2386 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", 2387 | "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", 2388 | "dev": true, 2389 | "requires": { 2390 | "function-bind": "^1.1.2", 2391 | "get-intrinsic": "^1.2.1", 2392 | "set-function-length": "^1.1.1" 2393 | } 2394 | }, 2395 | "caseless": { 2396 | "version": "0.12.0", 2397 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 2398 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", 2399 | "dev": true 2400 | }, 2401 | "chalk": { 2402 | "version": "4.1.2", 2403 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 2404 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 2405 | "dev": true, 2406 | "requires": { 2407 | "ansi-styles": "^4.1.0", 2408 | "supports-color": "^7.1.0" 2409 | }, 2410 | "dependencies": { 2411 | "supports-color": { 2412 | "version": "7.2.0", 2413 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 2414 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 2415 | "dev": true, 2416 | "requires": { 2417 | "has-flag": "^4.0.0" 2418 | } 2419 | } 2420 | } 2421 | }, 2422 | "check-more-types": { 2423 | "version": "2.24.0", 2424 | "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", 2425 | "integrity": "sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA=", 2426 | "dev": true 2427 | }, 2428 | "ci-info": { 2429 | "version": "3.3.0", 2430 | "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", 2431 | "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", 2432 | "dev": true 2433 | }, 2434 | "clean-stack": { 2435 | "version": "2.2.0", 2436 | "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", 2437 | "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", 2438 | "dev": true 2439 | }, 2440 | "cli-cursor": { 2441 | "version": "3.1.0", 2442 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", 2443 | "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", 2444 | "dev": true, 2445 | "requires": { 2446 | "restore-cursor": "^3.1.0" 2447 | } 2448 | }, 2449 | "cli-table3": { 2450 | "version": "0.6.1", 2451 | "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.1.tgz", 2452 | "integrity": "sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA==", 2453 | "dev": true, 2454 | "requires": { 2455 | "colors": "1.4.0", 2456 | "string-width": "^4.2.0" 2457 | } 2458 | }, 2459 | "cli-truncate": { 2460 | "version": "2.1.0", 2461 | "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", 2462 | "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", 2463 | "dev": true, 2464 | "requires": { 2465 | "slice-ansi": "^3.0.0", 2466 | "string-width": "^4.2.0" 2467 | } 2468 | }, 2469 | "color-convert": { 2470 | "version": "2.0.1", 2471 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 2472 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 2473 | "dev": true, 2474 | "requires": { 2475 | "color-name": "~1.1.4" 2476 | } 2477 | }, 2478 | "color-name": { 2479 | "version": "1.1.4", 2480 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 2481 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 2482 | "dev": true 2483 | }, 2484 | "colorette": { 2485 | "version": "2.0.16", 2486 | "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", 2487 | "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", 2488 | "dev": true 2489 | }, 2490 | "colors": { 2491 | "version": "1.4.0", 2492 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", 2493 | "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", 2494 | "dev": true, 2495 | "optional": true 2496 | }, 2497 | "combined-stream": { 2498 | "version": "1.0.8", 2499 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 2500 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 2501 | "dev": true, 2502 | "requires": { 2503 | "delayed-stream": "~1.0.0" 2504 | } 2505 | }, 2506 | "commander": { 2507 | "version": "5.1.0", 2508 | "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", 2509 | "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", 2510 | "dev": true 2511 | }, 2512 | "common-tags": { 2513 | "version": "1.8.2", 2514 | "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", 2515 | "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", 2516 | "dev": true 2517 | }, 2518 | "concat-map": { 2519 | "version": "0.0.1", 2520 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 2521 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 2522 | "dev": true 2523 | }, 2524 | "core-util-is": { 2525 | "version": "1.0.2", 2526 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 2527 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 2528 | "dev": true 2529 | }, 2530 | "cross-spawn": { 2531 | "version": "7.0.3", 2532 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 2533 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 2534 | "dev": true, 2535 | "requires": { 2536 | "path-key": "^3.1.0", 2537 | "shebang-command": "^2.0.0", 2538 | "which": "^2.0.1" 2539 | } 2540 | }, 2541 | "cypress": { 2542 | "version": "9.7.0", 2543 | "resolved": "https://registry.npmjs.org/cypress/-/cypress-9.7.0.tgz", 2544 | "integrity": "sha512-+1EE1nuuuwIt/N1KXRR2iWHU+OiIt7H28jJDyyI4tiUftId/DrXYEwoDa5+kH2pki1zxnA0r6HrUGHV5eLbF5Q==", 2545 | "dev": true, 2546 | "requires": { 2547 | "@cypress/request": "^2.88.10", 2548 | "@cypress/xvfb": "^1.2.4", 2549 | "@types/node": "^14.14.31", 2550 | "@types/sinonjs__fake-timers": "8.1.1", 2551 | "@types/sizzle": "^2.3.2", 2552 | "arch": "^2.2.0", 2553 | "blob-util": "^2.0.2", 2554 | "bluebird": "^3.7.2", 2555 | "buffer": "^5.6.0", 2556 | "cachedir": "^2.3.0", 2557 | "chalk": "^4.1.0", 2558 | "check-more-types": "^2.24.0", 2559 | "cli-cursor": "^3.1.0", 2560 | "cli-table3": "~0.6.1", 2561 | "commander": "^5.1.0", 2562 | "common-tags": "^1.8.0", 2563 | "dayjs": "^1.10.4", 2564 | "debug": "^4.3.2", 2565 | "enquirer": "^2.3.6", 2566 | "eventemitter2": "^6.4.3", 2567 | "execa": "4.1.0", 2568 | "executable": "^4.1.1", 2569 | "extract-zip": "2.0.1", 2570 | "figures": "^3.2.0", 2571 | "fs-extra": "^9.1.0", 2572 | "getos": "^3.2.1", 2573 | "is-ci": "^3.0.0", 2574 | "is-installed-globally": "~0.4.0", 2575 | "lazy-ass": "^1.6.0", 2576 | "listr2": "^3.8.3", 2577 | "lodash": "^4.17.21", 2578 | "log-symbols": "^4.0.0", 2579 | "minimist": "^1.2.6", 2580 | "ospath": "^1.2.2", 2581 | "pretty-bytes": "^5.6.0", 2582 | "proxy-from-env": "1.0.0", 2583 | "request-progress": "^3.0.0", 2584 | "semver": "^7.3.2", 2585 | "supports-color": "^8.1.1", 2586 | "tmp": "~0.2.1", 2587 | "untildify": "^4.0.0", 2588 | "yauzl": "^2.10.0" 2589 | } 2590 | }, 2591 | "dashdash": { 2592 | "version": "1.14.1", 2593 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 2594 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 2595 | "dev": true, 2596 | "requires": { 2597 | "assert-plus": "^1.0.0" 2598 | } 2599 | }, 2600 | "dayjs": { 2601 | "version": "1.10.8", 2602 | "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.8.tgz", 2603 | "integrity": "sha512-wbNwDfBHHur9UOzNUjeKUOJ0fCb0a52Wx0xInmQ7Y8FstyajiV1NmK1e00cxsr9YrE9r7yAChE0VvpuY5Rnlow==", 2604 | "dev": true 2605 | }, 2606 | "debug": { 2607 | "version": "4.3.3", 2608 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 2609 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 2610 | "dev": true, 2611 | "requires": { 2612 | "ms": "2.1.2" 2613 | } 2614 | }, 2615 | "define-data-property": { 2616 | "version": "1.1.1", 2617 | "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", 2618 | "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", 2619 | "dev": true, 2620 | "requires": { 2621 | "get-intrinsic": "^1.2.1", 2622 | "gopd": "^1.0.1", 2623 | "has-property-descriptors": "^1.0.0" 2624 | } 2625 | }, 2626 | "delayed-stream": { 2627 | "version": "1.0.0", 2628 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 2629 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", 2630 | "dev": true 2631 | }, 2632 | "ecc-jsbn": { 2633 | "version": "0.1.2", 2634 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", 2635 | "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", 2636 | "dev": true, 2637 | "requires": { 2638 | "jsbn": "~0.1.0", 2639 | "safer-buffer": "^2.1.0" 2640 | } 2641 | }, 2642 | "ecdsa-sig-formatter": { 2643 | "version": "1.0.11", 2644 | "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", 2645 | "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", 2646 | "requires": { 2647 | "safe-buffer": "^5.0.1" 2648 | } 2649 | }, 2650 | "emoji-regex": { 2651 | "version": "8.0.0", 2652 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 2653 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 2654 | "dev": true 2655 | }, 2656 | "end-of-stream": { 2657 | "version": "1.4.4", 2658 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 2659 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 2660 | "dev": true, 2661 | "requires": { 2662 | "once": "^1.4.0" 2663 | } 2664 | }, 2665 | "enquirer": { 2666 | "version": "2.3.6", 2667 | "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", 2668 | "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", 2669 | "dev": true, 2670 | "requires": { 2671 | "ansi-colors": "^4.1.1" 2672 | } 2673 | }, 2674 | "escape-string-regexp": { 2675 | "version": "1.0.5", 2676 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 2677 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 2678 | "dev": true 2679 | }, 2680 | "eventemitter2": { 2681 | "version": "6.4.5", 2682 | "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.5.tgz", 2683 | "integrity": "sha512-bXE7Dyc1i6oQElDG0jMRZJrRAn9QR2xyyFGmBdZleNmyQX0FqGYmhZIrIrpPfm/w//LTo4tVQGOGQcGCb5q9uw==", 2684 | "dev": true 2685 | }, 2686 | "execa": { 2687 | "version": "4.1.0", 2688 | "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", 2689 | "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", 2690 | "dev": true, 2691 | "requires": { 2692 | "cross-spawn": "^7.0.0", 2693 | "get-stream": "^5.0.0", 2694 | "human-signals": "^1.1.1", 2695 | "is-stream": "^2.0.0", 2696 | "merge-stream": "^2.0.0", 2697 | "npm-run-path": "^4.0.0", 2698 | "onetime": "^5.1.0", 2699 | "signal-exit": "^3.0.2", 2700 | "strip-final-newline": "^2.0.0" 2701 | } 2702 | }, 2703 | "executable": { 2704 | "version": "4.1.1", 2705 | "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", 2706 | "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", 2707 | "dev": true, 2708 | "requires": { 2709 | "pify": "^2.2.0" 2710 | } 2711 | }, 2712 | "extend": { 2713 | "version": "3.0.2", 2714 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 2715 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", 2716 | "dev": true 2717 | }, 2718 | "extract-zip": { 2719 | "version": "2.0.1", 2720 | "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", 2721 | "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", 2722 | "dev": true, 2723 | "requires": { 2724 | "@types/yauzl": "^2.9.1", 2725 | "debug": "^4.1.1", 2726 | "get-stream": "^5.1.0", 2727 | "yauzl": "^2.10.0" 2728 | } 2729 | }, 2730 | "extsprintf": { 2731 | "version": "1.3.0", 2732 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 2733 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", 2734 | "dev": true 2735 | }, 2736 | "fd-slicer": { 2737 | "version": "1.1.0", 2738 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", 2739 | "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", 2740 | "dev": true, 2741 | "requires": { 2742 | "pend": "~1.2.0" 2743 | } 2744 | }, 2745 | "figures": { 2746 | "version": "3.2.0", 2747 | "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", 2748 | "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", 2749 | "dev": true, 2750 | "requires": { 2751 | "escape-string-regexp": "^1.0.5" 2752 | } 2753 | }, 2754 | "forever-agent": { 2755 | "version": "0.6.1", 2756 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 2757 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", 2758 | "dev": true 2759 | }, 2760 | "form-data": { 2761 | "version": "2.3.3", 2762 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", 2763 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", 2764 | "dev": true, 2765 | "requires": { 2766 | "asynckit": "^0.4.0", 2767 | "combined-stream": "^1.0.6", 2768 | "mime-types": "^2.1.12" 2769 | } 2770 | }, 2771 | "fs-extra": { 2772 | "version": "9.1.0", 2773 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", 2774 | "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", 2775 | "dev": true, 2776 | "requires": { 2777 | "at-least-node": "^1.0.0", 2778 | "graceful-fs": "^4.2.0", 2779 | "jsonfile": "^6.0.1", 2780 | "universalify": "^2.0.0" 2781 | } 2782 | }, 2783 | "fs.realpath": { 2784 | "version": "1.0.0", 2785 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 2786 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 2787 | "dev": true 2788 | }, 2789 | "function-bind": { 2790 | "version": "1.1.2", 2791 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 2792 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 2793 | "dev": true 2794 | }, 2795 | "get-intrinsic": { 2796 | "version": "1.2.1", 2797 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", 2798 | "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", 2799 | "dev": true, 2800 | "requires": { 2801 | "function-bind": "^1.1.1", 2802 | "has": "^1.0.3", 2803 | "has-proto": "^1.0.1", 2804 | "has-symbols": "^1.0.3" 2805 | } 2806 | }, 2807 | "get-stream": { 2808 | "version": "5.2.0", 2809 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", 2810 | "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", 2811 | "dev": true, 2812 | "requires": { 2813 | "pump": "^3.0.0" 2814 | } 2815 | }, 2816 | "getos": { 2817 | "version": "3.2.1", 2818 | "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", 2819 | "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", 2820 | "dev": true, 2821 | "requires": { 2822 | "async": "^3.2.0" 2823 | } 2824 | }, 2825 | "getpass": { 2826 | "version": "0.1.7", 2827 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 2828 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 2829 | "dev": true, 2830 | "requires": { 2831 | "assert-plus": "^1.0.0" 2832 | } 2833 | }, 2834 | "glob": { 2835 | "version": "7.2.0", 2836 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 2837 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 2838 | "dev": true, 2839 | "requires": { 2840 | "fs.realpath": "^1.0.0", 2841 | "inflight": "^1.0.4", 2842 | "inherits": "2", 2843 | "minimatch": "^3.0.4", 2844 | "once": "^1.3.0", 2845 | "path-is-absolute": "^1.0.0" 2846 | } 2847 | }, 2848 | "global-dirs": { 2849 | "version": "3.0.0", 2850 | "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", 2851 | "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", 2852 | "dev": true, 2853 | "requires": { 2854 | "ini": "2.0.0" 2855 | } 2856 | }, 2857 | "gopd": { 2858 | "version": "1.0.1", 2859 | "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", 2860 | "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", 2861 | "dev": true, 2862 | "requires": { 2863 | "get-intrinsic": "^1.1.3" 2864 | } 2865 | }, 2866 | "graceful-fs": { 2867 | "version": "4.2.9", 2868 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", 2869 | "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", 2870 | "dev": true 2871 | }, 2872 | "has": { 2873 | "version": "1.0.4", 2874 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", 2875 | "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", 2876 | "dev": true 2877 | }, 2878 | "has-flag": { 2879 | "version": "4.0.0", 2880 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 2881 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 2882 | "dev": true 2883 | }, 2884 | "has-property-descriptors": { 2885 | "version": "1.0.0", 2886 | "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", 2887 | "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", 2888 | "dev": true, 2889 | "requires": { 2890 | "get-intrinsic": "^1.1.1" 2891 | } 2892 | }, 2893 | "has-proto": { 2894 | "version": "1.0.1", 2895 | "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", 2896 | "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", 2897 | "dev": true 2898 | }, 2899 | "has-symbols": { 2900 | "version": "1.0.3", 2901 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", 2902 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", 2903 | "dev": true 2904 | }, 2905 | "http-signature": { 2906 | "version": "1.3.6", 2907 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", 2908 | "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", 2909 | "dev": true, 2910 | "requires": { 2911 | "assert-plus": "^1.0.0", 2912 | "jsprim": "^2.0.2", 2913 | "sshpk": "^1.14.1" 2914 | } 2915 | }, 2916 | "human-signals": { 2917 | "version": "1.1.1", 2918 | "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", 2919 | "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", 2920 | "dev": true 2921 | }, 2922 | "ieee754": { 2923 | "version": "1.2.1", 2924 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 2925 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 2926 | "dev": true 2927 | }, 2928 | "indent-string": { 2929 | "version": "4.0.0", 2930 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", 2931 | "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", 2932 | "dev": true 2933 | }, 2934 | "inflight": { 2935 | "version": "1.0.6", 2936 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 2937 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 2938 | "dev": true, 2939 | "requires": { 2940 | "once": "^1.3.0", 2941 | "wrappy": "1" 2942 | } 2943 | }, 2944 | "inherits": { 2945 | "version": "2.0.4", 2946 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 2947 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 2948 | "dev": true 2949 | }, 2950 | "ini": { 2951 | "version": "2.0.0", 2952 | "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", 2953 | "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", 2954 | "dev": true 2955 | }, 2956 | "is-ci": { 2957 | "version": "3.0.1", 2958 | "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", 2959 | "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", 2960 | "dev": true, 2961 | "requires": { 2962 | "ci-info": "^3.2.0" 2963 | } 2964 | }, 2965 | "is-fullwidth-code-point": { 2966 | "version": "3.0.0", 2967 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 2968 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 2969 | "dev": true 2970 | }, 2971 | "is-installed-globally": { 2972 | "version": "0.4.0", 2973 | "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", 2974 | "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", 2975 | "dev": true, 2976 | "requires": { 2977 | "global-dirs": "^3.0.0", 2978 | "is-path-inside": "^3.0.2" 2979 | } 2980 | }, 2981 | "is-path-inside": { 2982 | "version": "3.0.3", 2983 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", 2984 | "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", 2985 | "dev": true 2986 | }, 2987 | "is-stream": { 2988 | "version": "2.0.1", 2989 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", 2990 | "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", 2991 | "dev": true 2992 | }, 2993 | "is-typedarray": { 2994 | "version": "1.0.0", 2995 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 2996 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", 2997 | "dev": true 2998 | }, 2999 | "is-unicode-supported": { 3000 | "version": "0.1.0", 3001 | "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", 3002 | "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", 3003 | "dev": true 3004 | }, 3005 | "isexe": { 3006 | "version": "2.0.0", 3007 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 3008 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 3009 | "dev": true 3010 | }, 3011 | "isstream": { 3012 | "version": "0.1.2", 3013 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 3014 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", 3015 | "dev": true 3016 | }, 3017 | "jsbn": { 3018 | "version": "0.1.1", 3019 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 3020 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", 3021 | "dev": true 3022 | }, 3023 | "json-schema": { 3024 | "version": "0.4.0", 3025 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", 3026 | "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", 3027 | "dev": true 3028 | }, 3029 | "json-stringify-safe": { 3030 | "version": "5.0.1", 3031 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 3032 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", 3033 | "dev": true 3034 | }, 3035 | "jsonfile": { 3036 | "version": "6.1.0", 3037 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", 3038 | "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", 3039 | "dev": true, 3040 | "requires": { 3041 | "graceful-fs": "^4.1.6", 3042 | "universalify": "^2.0.0" 3043 | } 3044 | }, 3045 | "jsonwebtoken": { 3046 | "version": "9.0.2", 3047 | "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", 3048 | "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", 3049 | "requires": { 3050 | "jws": "^3.2.2", 3051 | "lodash.includes": "^4.3.0", 3052 | "lodash.isboolean": "^3.0.3", 3053 | "lodash.isinteger": "^4.0.4", 3054 | "lodash.isnumber": "^3.0.3", 3055 | "lodash.isplainobject": "^4.0.6", 3056 | "lodash.isstring": "^4.0.1", 3057 | "lodash.once": "^4.0.0", 3058 | "ms": "^2.1.1", 3059 | "semver": "^7.5.4" 3060 | } 3061 | }, 3062 | "jsprim": { 3063 | "version": "2.0.2", 3064 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", 3065 | "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", 3066 | "dev": true, 3067 | "requires": { 3068 | "assert-plus": "1.0.0", 3069 | "extsprintf": "1.3.0", 3070 | "json-schema": "0.4.0", 3071 | "verror": "1.10.0" 3072 | } 3073 | }, 3074 | "jwa": { 3075 | "version": "1.4.1", 3076 | "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", 3077 | "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", 3078 | "requires": { 3079 | "buffer-equal-constant-time": "1.0.1", 3080 | "ecdsa-sig-formatter": "1.0.11", 3081 | "safe-buffer": "^5.0.1" 3082 | } 3083 | }, 3084 | "jws": { 3085 | "version": "3.2.2", 3086 | "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", 3087 | "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", 3088 | "requires": { 3089 | "jwa": "^1.4.1", 3090 | "safe-buffer": "^5.0.1" 3091 | } 3092 | }, 3093 | "lazy-ass": { 3094 | "version": "1.6.0", 3095 | "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", 3096 | "integrity": "sha1-eZllXoZGwX8In90YfRUNMyTVRRM=", 3097 | "dev": true 3098 | }, 3099 | "listr2": { 3100 | "version": "3.14.0", 3101 | "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", 3102 | "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", 3103 | "dev": true, 3104 | "requires": { 3105 | "cli-truncate": "^2.1.0", 3106 | "colorette": "^2.0.16", 3107 | "log-update": "^4.0.0", 3108 | "p-map": "^4.0.0", 3109 | "rfdc": "^1.3.0", 3110 | "rxjs": "^7.5.1", 3111 | "through": "^2.3.8", 3112 | "wrap-ansi": "^7.0.0" 3113 | } 3114 | }, 3115 | "lodash": { 3116 | "version": "4.17.21", 3117 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 3118 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", 3119 | "dev": true 3120 | }, 3121 | "lodash.includes": { 3122 | "version": "4.3.0", 3123 | "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", 3124 | "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" 3125 | }, 3126 | "lodash.isboolean": { 3127 | "version": "3.0.3", 3128 | "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", 3129 | "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" 3130 | }, 3131 | "lodash.isinteger": { 3132 | "version": "4.0.4", 3133 | "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", 3134 | "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" 3135 | }, 3136 | "lodash.isnumber": { 3137 | "version": "3.0.3", 3138 | "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", 3139 | "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" 3140 | }, 3141 | "lodash.isplainobject": { 3142 | "version": "4.0.6", 3143 | "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", 3144 | "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" 3145 | }, 3146 | "lodash.isstring": { 3147 | "version": "4.0.1", 3148 | "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", 3149 | "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" 3150 | }, 3151 | "lodash.once": { 3152 | "version": "4.1.1", 3153 | "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", 3154 | "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" 3155 | }, 3156 | "log-symbols": { 3157 | "version": "4.1.0", 3158 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", 3159 | "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", 3160 | "dev": true, 3161 | "requires": { 3162 | "chalk": "^4.1.0", 3163 | "is-unicode-supported": "^0.1.0" 3164 | } 3165 | }, 3166 | "log-update": { 3167 | "version": "4.0.0", 3168 | "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", 3169 | "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", 3170 | "dev": true, 3171 | "requires": { 3172 | "ansi-escapes": "^4.3.0", 3173 | "cli-cursor": "^3.1.0", 3174 | "slice-ansi": "^4.0.0", 3175 | "wrap-ansi": "^6.2.0" 3176 | }, 3177 | "dependencies": { 3178 | "slice-ansi": { 3179 | "version": "4.0.0", 3180 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", 3181 | "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", 3182 | "dev": true, 3183 | "requires": { 3184 | "ansi-styles": "^4.0.0", 3185 | "astral-regex": "^2.0.0", 3186 | "is-fullwidth-code-point": "^3.0.0" 3187 | } 3188 | }, 3189 | "wrap-ansi": { 3190 | "version": "6.2.0", 3191 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", 3192 | "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", 3193 | "dev": true, 3194 | "requires": { 3195 | "ansi-styles": "^4.0.0", 3196 | "string-width": "^4.1.0", 3197 | "strip-ansi": "^6.0.0" 3198 | } 3199 | } 3200 | } 3201 | }, 3202 | "lru-cache": { 3203 | "version": "6.0.0", 3204 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 3205 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 3206 | "requires": { 3207 | "yallist": "^4.0.0" 3208 | } 3209 | }, 3210 | "merge-stream": { 3211 | "version": "2.0.0", 3212 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 3213 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", 3214 | "dev": true 3215 | }, 3216 | "mime-db": { 3217 | "version": "1.51.0", 3218 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", 3219 | "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", 3220 | "dev": true 3221 | }, 3222 | "mime-types": { 3223 | "version": "2.1.34", 3224 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", 3225 | "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", 3226 | "dev": true, 3227 | "requires": { 3228 | "mime-db": "1.51.0" 3229 | } 3230 | }, 3231 | "mimic-fn": { 3232 | "version": "2.1.0", 3233 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 3234 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 3235 | "dev": true 3236 | }, 3237 | "minimatch": { 3238 | "version": "3.1.2", 3239 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 3240 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 3241 | "dev": true, 3242 | "requires": { 3243 | "brace-expansion": "^1.1.7" 3244 | } 3245 | }, 3246 | "minimist": { 3247 | "version": "1.2.8", 3248 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 3249 | "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 3250 | "dev": true 3251 | }, 3252 | "ms": { 3253 | "version": "2.1.2", 3254 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 3255 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 3256 | }, 3257 | "npm-run-path": { 3258 | "version": "4.0.1", 3259 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", 3260 | "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", 3261 | "dev": true, 3262 | "requires": { 3263 | "path-key": "^3.0.0" 3264 | } 3265 | }, 3266 | "object-inspect": { 3267 | "version": "1.13.1", 3268 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", 3269 | "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", 3270 | "dev": true 3271 | }, 3272 | "once": { 3273 | "version": "1.4.0", 3274 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 3275 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 3276 | "dev": true, 3277 | "requires": { 3278 | "wrappy": "1" 3279 | } 3280 | }, 3281 | "onetime": { 3282 | "version": "5.1.2", 3283 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", 3284 | "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", 3285 | "dev": true, 3286 | "requires": { 3287 | "mimic-fn": "^2.1.0" 3288 | } 3289 | }, 3290 | "ospath": { 3291 | "version": "1.2.2", 3292 | "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", 3293 | "integrity": "sha1-EnZjl3Sj+O8lcvf+QoDg6kVQwHs=", 3294 | "dev": true 3295 | }, 3296 | "p-map": { 3297 | "version": "4.0.0", 3298 | "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", 3299 | "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", 3300 | "dev": true, 3301 | "requires": { 3302 | "aggregate-error": "^3.0.0" 3303 | } 3304 | }, 3305 | "path-is-absolute": { 3306 | "version": "1.0.1", 3307 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 3308 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 3309 | "dev": true 3310 | }, 3311 | "path-key": { 3312 | "version": "3.1.1", 3313 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 3314 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 3315 | "dev": true 3316 | }, 3317 | "pend": { 3318 | "version": "1.2.0", 3319 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 3320 | "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", 3321 | "dev": true 3322 | }, 3323 | "performance-now": { 3324 | "version": "2.1.0", 3325 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", 3326 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", 3327 | "dev": true 3328 | }, 3329 | "pify": { 3330 | "version": "2.3.0", 3331 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 3332 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", 3333 | "dev": true 3334 | }, 3335 | "pretty-bytes": { 3336 | "version": "5.6.0", 3337 | "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", 3338 | "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", 3339 | "dev": true 3340 | }, 3341 | "proxy-from-env": { 3342 | "version": "1.0.0", 3343 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", 3344 | "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", 3345 | "dev": true 3346 | }, 3347 | "psl": { 3348 | "version": "1.9.0", 3349 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", 3350 | "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", 3351 | "dev": true 3352 | }, 3353 | "pump": { 3354 | "version": "3.0.0", 3355 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 3356 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 3357 | "dev": true, 3358 | "requires": { 3359 | "end-of-stream": "^1.1.0", 3360 | "once": "^1.3.1" 3361 | } 3362 | }, 3363 | "punycode": { 3364 | "version": "2.3.0", 3365 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", 3366 | "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", 3367 | "dev": true 3368 | }, 3369 | "qs": { 3370 | "version": "6.10.4", 3371 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", 3372 | "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", 3373 | "dev": true, 3374 | "requires": { 3375 | "side-channel": "^1.0.4" 3376 | } 3377 | }, 3378 | "querystringify": { 3379 | "version": "2.2.0", 3380 | "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", 3381 | "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", 3382 | "dev": true 3383 | }, 3384 | "request-progress": { 3385 | "version": "3.0.0", 3386 | "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", 3387 | "integrity": "sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4=", 3388 | "dev": true, 3389 | "requires": { 3390 | "throttleit": "^1.0.0" 3391 | } 3392 | }, 3393 | "requires-port": { 3394 | "version": "1.0.0", 3395 | "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", 3396 | "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", 3397 | "dev": true 3398 | }, 3399 | "restore-cursor": { 3400 | "version": "3.1.0", 3401 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", 3402 | "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", 3403 | "dev": true, 3404 | "requires": { 3405 | "onetime": "^5.1.0", 3406 | "signal-exit": "^3.0.2" 3407 | } 3408 | }, 3409 | "rfdc": { 3410 | "version": "1.3.0", 3411 | "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", 3412 | "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", 3413 | "dev": true 3414 | }, 3415 | "rimraf": { 3416 | "version": "3.0.2", 3417 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 3418 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 3419 | "dev": true, 3420 | "requires": { 3421 | "glob": "^7.1.3" 3422 | } 3423 | }, 3424 | "rxjs": { 3425 | "version": "7.5.5", 3426 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", 3427 | "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", 3428 | "dev": true, 3429 | "requires": { 3430 | "tslib": "^2.1.0" 3431 | } 3432 | }, 3433 | "safe-buffer": { 3434 | "version": "5.2.1", 3435 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 3436 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 3437 | }, 3438 | "safer-buffer": { 3439 | "version": "2.1.2", 3440 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 3441 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 3442 | "dev": true 3443 | }, 3444 | "semver": { 3445 | "version": "7.5.4", 3446 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", 3447 | "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", 3448 | "requires": { 3449 | "lru-cache": "^6.0.0" 3450 | } 3451 | }, 3452 | "set-function-length": { 3453 | "version": "1.1.1", 3454 | "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", 3455 | "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", 3456 | "dev": true, 3457 | "requires": { 3458 | "define-data-property": "^1.1.1", 3459 | "get-intrinsic": "^1.2.1", 3460 | "gopd": "^1.0.1", 3461 | "has-property-descriptors": "^1.0.0" 3462 | } 3463 | }, 3464 | "shebang-command": { 3465 | "version": "2.0.0", 3466 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 3467 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 3468 | "dev": true, 3469 | "requires": { 3470 | "shebang-regex": "^3.0.0" 3471 | } 3472 | }, 3473 | "shebang-regex": { 3474 | "version": "3.0.0", 3475 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 3476 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 3477 | "dev": true 3478 | }, 3479 | "side-channel": { 3480 | "version": "1.0.4", 3481 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", 3482 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", 3483 | "dev": true, 3484 | "requires": { 3485 | "call-bind": "^1.0.0", 3486 | "get-intrinsic": "^1.0.2", 3487 | "object-inspect": "^1.9.0" 3488 | } 3489 | }, 3490 | "signal-exit": { 3491 | "version": "3.0.7", 3492 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 3493 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 3494 | "dev": true 3495 | }, 3496 | "slice-ansi": { 3497 | "version": "3.0.0", 3498 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", 3499 | "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", 3500 | "dev": true, 3501 | "requires": { 3502 | "ansi-styles": "^4.0.0", 3503 | "astral-regex": "^2.0.0", 3504 | "is-fullwidth-code-point": "^3.0.0" 3505 | } 3506 | }, 3507 | "sshpk": { 3508 | "version": "1.17.0", 3509 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", 3510 | "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", 3511 | "dev": true, 3512 | "requires": { 3513 | "asn1": "~0.2.3", 3514 | "assert-plus": "^1.0.0", 3515 | "bcrypt-pbkdf": "^1.0.0", 3516 | "dashdash": "^1.12.0", 3517 | "ecc-jsbn": "~0.1.1", 3518 | "getpass": "^0.1.1", 3519 | "jsbn": "~0.1.0", 3520 | "safer-buffer": "^2.0.2", 3521 | "tweetnacl": "~0.14.0" 3522 | } 3523 | }, 3524 | "string-width": { 3525 | "version": "4.2.3", 3526 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 3527 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 3528 | "dev": true, 3529 | "requires": { 3530 | "emoji-regex": "^8.0.0", 3531 | "is-fullwidth-code-point": "^3.0.0", 3532 | "strip-ansi": "^6.0.1" 3533 | } 3534 | }, 3535 | "strip-ansi": { 3536 | "version": "6.0.1", 3537 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 3538 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 3539 | "dev": true, 3540 | "requires": { 3541 | "ansi-regex": "^5.0.1" 3542 | } 3543 | }, 3544 | "strip-final-newline": { 3545 | "version": "2.0.0", 3546 | "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", 3547 | "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", 3548 | "dev": true 3549 | }, 3550 | "supports-color": { 3551 | "version": "8.1.1", 3552 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", 3553 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", 3554 | "dev": true, 3555 | "requires": { 3556 | "has-flag": "^4.0.0" 3557 | } 3558 | }, 3559 | "throttleit": { 3560 | "version": "1.0.0", 3561 | "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", 3562 | "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", 3563 | "dev": true 3564 | }, 3565 | "through": { 3566 | "version": "2.3.8", 3567 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 3568 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 3569 | "dev": true 3570 | }, 3571 | "tmp": { 3572 | "version": "0.2.1", 3573 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", 3574 | "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", 3575 | "dev": true, 3576 | "requires": { 3577 | "rimraf": "^3.0.0" 3578 | } 3579 | }, 3580 | "tough-cookie": { 3581 | "version": "4.1.3", 3582 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", 3583 | "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", 3584 | "dev": true, 3585 | "requires": { 3586 | "psl": "^1.1.33", 3587 | "punycode": "^2.1.1", 3588 | "universalify": "^0.2.0", 3589 | "url-parse": "^1.5.3" 3590 | }, 3591 | "dependencies": { 3592 | "universalify": { 3593 | "version": "0.2.0", 3594 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", 3595 | "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", 3596 | "dev": true 3597 | } 3598 | } 3599 | }, 3600 | "tslib": { 3601 | "version": "2.3.1", 3602 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", 3603 | "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", 3604 | "dev": true 3605 | }, 3606 | "tunnel-agent": { 3607 | "version": "0.6.0", 3608 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 3609 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 3610 | "dev": true, 3611 | "requires": { 3612 | "safe-buffer": "^5.0.1" 3613 | } 3614 | }, 3615 | "tweetnacl": { 3616 | "version": "0.14.5", 3617 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 3618 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", 3619 | "dev": true 3620 | }, 3621 | "type-fest": { 3622 | "version": "0.21.3", 3623 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", 3624 | "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", 3625 | "dev": true 3626 | }, 3627 | "typescript": { 3628 | "version": "4.6.2", 3629 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.2.tgz", 3630 | "integrity": "sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==", 3631 | "dev": true 3632 | }, 3633 | "universalify": { 3634 | "version": "2.0.0", 3635 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", 3636 | "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", 3637 | "dev": true 3638 | }, 3639 | "untildify": { 3640 | "version": "4.0.0", 3641 | "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", 3642 | "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", 3643 | "dev": true 3644 | }, 3645 | "url-parse": { 3646 | "version": "1.5.10", 3647 | "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", 3648 | "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", 3649 | "dev": true, 3650 | "requires": { 3651 | "querystringify": "^2.1.1", 3652 | "requires-port": "^1.0.0" 3653 | } 3654 | }, 3655 | "uuid": { 3656 | "version": "8.3.2", 3657 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", 3658 | "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" 3659 | }, 3660 | "verror": { 3661 | "version": "1.10.0", 3662 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 3663 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", 3664 | "dev": true, 3665 | "requires": { 3666 | "assert-plus": "^1.0.0", 3667 | "core-util-is": "1.0.2", 3668 | "extsprintf": "^1.2.0" 3669 | } 3670 | }, 3671 | "which": { 3672 | "version": "2.0.2", 3673 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 3674 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 3675 | "dev": true, 3676 | "requires": { 3677 | "isexe": "^2.0.0" 3678 | } 3679 | }, 3680 | "wrap-ansi": { 3681 | "version": "7.0.0", 3682 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 3683 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 3684 | "dev": true, 3685 | "requires": { 3686 | "ansi-styles": "^4.0.0", 3687 | "string-width": "^4.1.0", 3688 | "strip-ansi": "^6.0.0" 3689 | } 3690 | }, 3691 | "wrappy": { 3692 | "version": "1.0.2", 3693 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 3694 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 3695 | "dev": true 3696 | }, 3697 | "yallist": { 3698 | "version": "4.0.0", 3699 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 3700 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" 3701 | }, 3702 | "yauzl": { 3703 | "version": "2.10.0", 3704 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", 3705 | "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", 3706 | "dev": true, 3707 | "requires": { 3708 | "buffer-crc32": "~0.2.3", 3709 | "fd-slicer": "~1.1.0" 3710 | } 3711 | } 3712 | } 3713 | } 3714 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@intility/cypress-msal", 3 | "version": "1.0.3", 4 | "description": "A cypress plugin for projects using @azure/msal-browser.", 5 | "main": "index.js", 6 | "type": "commonjs", 7 | "types": "index.d.ts", 8 | "scripts": { 9 | "build": "tsc", 10 | "test": "echo \"Error: no test specified\" && exit 1" 11 | }, 12 | "homepage": "https://github.com/Intility/cypress-msal", 13 | "repository": { 14 | "type": "git", 15 | "url": "https://github.com/Intility/cypress-msal.git" 16 | }, 17 | "publishConfig": { 18 | "registry": "https://registry.npmjs.org/", 19 | "access": "public" 20 | }, 21 | "keywords": [ 22 | "msal-browser", 23 | "cypress", 24 | "msal-node", 25 | "msal", 26 | "azure", 27 | "intility", 28 | "authentication", 29 | "aad" 30 | ], 31 | "author": "Intility AS", 32 | "license": "MIT", 33 | "dependencies": { 34 | "@azure/msal-node": "^1.6.0" 35 | }, 36 | "devDependencies": { 37 | "cypress": "^9.5.1", 38 | "typescript": "^4.6.2" 39 | }, 40 | "peerDependencies": { 41 | "cypress": ">=9.5.1" 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/command.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | import { CacheKVStore } from "@azure/msal-node" 4 | 5 | Cypress.Commands.add('login', () => { 6 | return cy.task('login').then(response => { 7 | Object.entries(response).forEach(([key, value]) => { 8 | let cacheKey = key 9 | // msal-node internal cache ends the keys with double dash 10 | // msal-browser does not, so we need to remove them 11 | if (cacheKey.endsWith('--')) { 12 | cacheKey = cacheKey.replace('--', '') 13 | } 14 | sessionStorage.setItem(cacheKey, JSON.stringify(value)) 15 | }) 16 | }) 17 | }) 18 | 19 | declare global { 20 | namespace Cypress { 21 | interface Chainable { 22 | /** 23 | * Custom command to log in using msal test user 24 | * @example cy.login() 25 | */ 26 | login(): Chainable 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { PublicClientApplication, Configuration, DeviceCodeRequest } from '@azure/msal-node' 2 | 3 | export type RequestsType = { 4 | scopes: string[] 5 | } 6 | 7 | async function acquireTokens(requests: RequestsType[], pca: PublicClientApplication) { 8 | // check if account is logged in 9 | const allAccounts = await pca.getTokenCache().getAllAccounts() 10 | 11 | if (allAccounts.length < 1) { 12 | throw new Error('No accounts after device login.') 13 | } 14 | 15 | // acquire tokens for each request 16 | for (let request of requests) { 17 | const silentRequest = { 18 | ...request, 19 | account: allAccounts[0] 20 | } 21 | 22 | await pca.acquireTokenSilent(silentRequest) 23 | } 24 | } 25 | 26 | export default function generateLogin(publicClientConfig: Configuration, requests: RequestsType[]) { 27 | return async function login() { 28 | const pca: PublicClientApplication = new PublicClientApplication(publicClientConfig) 29 | 30 | try { 31 | // ensure cached valid tokens. Will throw if not logged in 32 | await acquireTokens(requests, pca) 33 | } catch (e: any) { 34 | // can't authenticate to keyvault, don't try to initialize login 35 | if ( 36 | e?.message?.includes('Azure CLI could not be found.') || 37 | e?.message?.includes( 38 | "Please run 'az login' from a command prompt to authenticate before using this credential." 39 | ) 40 | ) { 41 | throw e 42 | } 43 | 44 | let deviceCodeRequest: DeviceCodeRequest = { 45 | ...requests[0], 46 | deviceCodeCallback: response => 47 | console.log('device code token', response) 48 | } 49 | // Login with device code and fills the cache with first access token 50 | await pca.acquireTokenByDeviceCode(deviceCodeRequest) 51 | 52 | // get access token for the rest of the scopes 53 | await acquireTokens(requests.slice(1), pca) 54 | } 55 | 56 | // return msal cache 57 | return pca.getTokenCache().getKVStore() 58 | } 59 | } -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES6", 4 | "strict": true, 5 | "module": "commonjs", 6 | "moduleResolution": "node", 7 | "esModuleInterop": true, 8 | "outDir": "./", 9 | "declaration": true 10 | }, 11 | "include": ["src"], 12 | "exclude": [] 13 | } --------------------------------------------------------------------------------