diff --git a/package.json b/package.json index 2041a784..93965dd8 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,8 @@ "scripts": { "develop": "tsx watch ./source/main.ts", "start": "node ./build/main.js", - "compile": "tsup ./source/main.ts", + "copy": "ncp ./source/bin ./build/bin", + "compile": "tsup ./source/main.ts && pnpm copy", "test:tsc": "tsc --project tsconfig.json", "test:unit": "vitest run --config config/vitest.ts", "test:watch": "vitest watch --config config/vitest.ts", @@ -43,12 +44,15 @@ "chalk-template": "0.4.0", "clipboardy": "3.0.0", "compression": "1.7.4", + "cross-spawn": "7.0.3", "is-port-reachable": "4.0.0", + "open": "10.0.3", "serve-handler": "6.1.5", "update-check": "1.5.4" }, "devDependencies": { "@types/compression": "1.7.2", + "@types/cross-spawn": "6.0.6", "@types/serve-handler": "6.1.1", "@vercel/style-guide": "3.0.0", "c8": "7.12.0", @@ -56,6 +60,7 @@ "got": "12.1.0", "husky": "8.0.1", "lint-staged": "13.0.3", + "ncp": "2.0.0", "prettier": "2.7.1", "tsup": "6.1.3", "tsx": "3.7.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0e4c3cf6..60522537 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,61 +1,110 @@ -lockfileVersion: 5.4 - -specifiers: - '@types/compression': 1.7.2 - '@types/serve-handler': 6.1.1 - '@vercel/style-guide': 3.0.0 - '@zeit/schemas': 2.29.0 - ajv: 8.11.0 - arg: 5.0.2 - boxen: 7.0.0 - c8: 7.12.0 - chalk: 5.0.1 - chalk-template: 0.4.0 - clipboardy: 3.0.0 - compression: 1.7.4 - eslint: 8.19.0 - got: 12.1.0 - husky: 8.0.1 - is-port-reachable: 4.0.0 - lint-staged: 13.0.3 - prettier: 2.7.1 - serve-handler: 6.1.5 - tsup: 6.1.3 - tsx: 3.7.1 - typescript: 4.6.4 - update-check: 1.5.4 - vitest: 0.18.0 +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false dependencies: - '@zeit/schemas': 2.29.0 - ajv: 8.11.0 - arg: 5.0.2 - boxen: 7.0.0 - chalk: 5.0.1 - chalk-template: 0.4.0 - clipboardy: 3.0.0 - compression: 1.7.4 - is-port-reachable: 4.0.0 - serve-handler: 6.1.5 - update-check: 1.5.4 + '@zeit/schemas': + specifier: 2.29.0 + version: 2.29.0 + ajv: + specifier: 8.11.0 + version: 8.11.0 + arg: + specifier: 5.0.2 + version: 5.0.2 + boxen: + specifier: 7.0.0 + version: 7.0.0 + chalk: + specifier: 5.0.1 + version: 5.0.1 + chalk-template: + specifier: 0.4.0 + version: 0.4.0 + clipboardy: + specifier: 3.0.0 + version: 3.0.0 + compression: + specifier: 1.7.4 + version: 1.7.4 + cross-spawn: + specifier: 7.0.3 + version: 7.0.3 + is-port-reachable: + specifier: 4.0.0 + version: 4.0.0 + open: + specifier: 10.0.3 + version: 10.0.3 + serve-handler: + specifier: 6.1.5 + version: 6.1.5 + update-check: + specifier: 1.5.4 + version: 1.5.4 devDependencies: - '@types/compression': 1.7.2 - '@types/serve-handler': 6.1.1 - '@vercel/style-guide': 3.0.0_rkmuuqx4yqfzhkhjmek6w3w2ju - c8: 7.12.0 - eslint: 8.19.0 - got: 12.1.0 - husky: 8.0.1 - lint-staged: 13.0.3 - prettier: 2.7.1 - tsup: 6.1.3_typescript@4.6.4 - tsx: 3.7.1 - typescript: 4.6.4 - vitest: 0.18.0_c8@7.12.0 + '@types/compression': + specifier: 1.7.2 + version: 1.7.2 + '@types/cross-spawn': + specifier: 6.0.6 + version: 6.0.6 + '@types/serve-handler': + specifier: 6.1.1 + version: 6.1.1 + '@vercel/style-guide': + specifier: 3.0.0 + version: 3.0.0(@babel/core@7.23.9)(eslint@8.19.0)(prettier@2.7.1)(typescript@4.6.4) + c8: + specifier: 7.12.0 + version: 7.12.0 + eslint: + specifier: 8.19.0 + version: 8.19.0 + got: + specifier: 12.1.0 + version: 12.1.0 + husky: + specifier: 8.0.1 + version: 8.0.1 + lint-staged: + specifier: 13.0.3 + version: 13.0.3 + ncp: + specifier: 2.0.0 + version: 2.0.0 + prettier: + specifier: 2.7.1 + version: 2.7.1 + tsup: + specifier: 6.1.3 + version: 6.1.3(typescript@4.6.4) + tsx: + specifier: 3.7.1 + version: 3.7.1 + typescript: + specifier: 4.6.4 + version: 4.6.4 + vitest: + specifier: 0.18.0 + version: 0.18.0(c8@7.12.0) packages: - /@babel/code-frame/7.18.6: + /@ampproject/remapping@2.2.1: + resolution: + { + integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==, + } + engines: { node: '>=6.0.0' } + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.22 + dev: true + + /@babel/code-frame@7.18.6: resolution: { integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==, @@ -65,7 +114,52 @@ packages: '@babel/highlight': 7.18.6 dev: true - /@babel/eslint-parser/7.17.0_eslint@8.19.0: + /@babel/code-frame@7.23.5: + resolution: + { + integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/highlight': 7.23.4 + chalk: 2.4.2 + dev: true + + /@babel/compat-data@7.23.5: + resolution: + { + integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==, + } + engines: { node: '>=6.9.0' } + dev: true + + /@babel/core@7.23.9: + resolution: + { + integrity: sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) + '@babel/helpers': 7.23.9 + '@babel/parser': 7.23.9 + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/eslint-parser@7.17.0(@babel/core@7.23.9)(eslint@8.19.0): resolution: { integrity: sha512-PUEJ7ZBXbRkbq3qqM/jZ2nIuakUBqCYc7Qf52Lj7dlZ6zERnqisdHioL0l4wwQZnmskMeasqUNzLBFKs3nylXA==, @@ -75,13 +169,125 @@ packages: '@babel/core': '>=7.11.0' eslint: ^7.5.0 || ^8.0.0 dependencies: + '@babel/core': 7.23.9 eslint: 8.19.0 eslint-scope: 5.1.1 eslint-visitor-keys: 2.1.0 semver: 6.3.0 dev: true - /@babel/helper-validator-identifier/7.18.6: + /@babel/generator@7.23.6: + resolution: + { + integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/types': 7.23.9 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.22 + jsesc: 2.5.2 + dev: true + + /@babel/helper-compilation-targets@7.23.6: + resolution: + { + integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.22.3 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true + + /@babel/helper-environment-visitor@7.22.20: + resolution: + { + integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==, + } + engines: { node: '>=6.9.0' } + dev: true + + /@babel/helper-function-name@7.23.0: + resolution: + { + integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/template': 7.23.9 + '@babel/types': 7.23.9 + dev: true + + /@babel/helper-hoist-variables@7.22.5: + resolution: + { + integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/types': 7.23.9 + dev: true + + /@babel/helper-module-imports@7.22.15: + resolution: + { + integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/types': 7.23.9 + dev: true + + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.9): + resolution: + { + integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==, + } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + + /@babel/helper-simple-access@7.22.5: + resolution: + { + integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/types': 7.23.9 + dev: true + + /@babel/helper-split-export-declaration@7.22.6: + resolution: + { + integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/types': 7.23.9 + dev: true + + /@babel/helper-string-parser@7.23.4: + resolution: + { + integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==, + } + engines: { node: '>=6.9.0' } + dev: true + + /@babel/helper-validator-identifier@7.18.6: resolution: { integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==, @@ -89,7 +295,37 @@ packages: engines: { node: '>=6.9.0' } dev: true - /@babel/highlight/7.18.6: + /@babel/helper-validator-identifier@7.22.20: + resolution: + { + integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, + } + engines: { node: '>=6.9.0' } + dev: true + + /@babel/helper-validator-option@7.23.5: + resolution: + { + integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==, + } + engines: { node: '>=6.9.0' } + dev: true + + /@babel/helpers@7.23.9: + resolution: + { + integrity: sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/highlight@7.18.6: resolution: { integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==, @@ -101,7 +337,30 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/runtime-corejs3/7.18.6: + /@babel/highlight@7.23.4: + resolution: + { + integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/parser@7.23.9: + resolution: + { + integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==, + } + engines: { node: '>=6.0.0' } + hasBin: true + dependencies: + '@babel/types': 7.23.9 + dev: true + + /@babel/runtime-corejs3@7.18.6: resolution: { integrity: sha512-cOu5wH2JFBgMjje+a+fz2JNIWU4GzYpl05oSob3UDvBEh6EuIn+TXFHMmBbhSb+k/4HMzgKCQfEEDArAWNF9Cw==, @@ -112,7 +371,7 @@ packages: regenerator-runtime: 0.13.9 dev: true - /@babel/runtime/7.18.6: + /@babel/runtime@7.18.6: resolution: { integrity: sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==, @@ -122,14 +381,59 @@ packages: regenerator-runtime: 0.13.9 dev: true - /@bcoe/v8-coverage/0.2.3: + /@babel/template@7.23.9: + resolution: + { + integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 + dev: true + + /@babel/traverse@7.23.9: + resolution: + { + integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types@7.23.9: + resolution: + { + integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: true + + /@bcoe/v8-coverage@0.2.3: resolution: { integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, } dev: true - /@esbuild-kit/cjs-loader/2.3.0: + /@esbuild-kit/cjs-loader@2.3.0: resolution: { integrity: sha512-KInrVt8wlKLhWy7+y4a+E+0uBJoWgdx6Xupy+rrF4MFHA/dEt22ACvvChOZSyiqtQieYPtbPkVYSjbC7mOrFVw==, @@ -139,7 +443,7 @@ packages: get-tsconfig: 4.1.0 dev: true - /@esbuild-kit/core-utils/2.0.2: + /@esbuild-kit/core-utils@2.0.2: resolution: { integrity: sha512-clNYQUsqtc36pzW5EufMsahcbLG45EaW3YDyf0DlaS0eCMkDXpxIlHwPC0rndUwG6Ytk9sMSD5k1qHbwYEC/OQ==, @@ -149,7 +453,7 @@ packages: source-map-support: 0.5.21 dev: true - /@esbuild-kit/esm-loader/2.4.0: + /@esbuild-kit/esm-loader@2.4.0: resolution: { integrity: sha512-zS720jXh06nfg5yAzm6oob4sWN9VTP2E1SonhFgEb6zCBswa4S8fOQ/4Bksz1flDgn56NPqoTTDn2XmWRyMG9Q==, @@ -159,7 +463,7 @@ packages: get-tsconfig: 4.1.0 dev: true - /@eslint/eslintrc/1.3.0: + /@eslint/eslintrc@1.3.0: resolution: { integrity: sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==, @@ -179,7 +483,7 @@ packages: - supports-color dev: true - /@humanwhocodes/config-array/0.9.5: + /@humanwhocodes/config-array@0.9.5: resolution: { integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==, @@ -193,14 +497,14 @@ packages: - supports-color dev: true - /@humanwhocodes/object-schema/1.2.1: + /@humanwhocodes/object-schema@1.2.1: resolution: { integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==, } dev: true - /@istanbuljs/schema/0.1.3: + /@istanbuljs/schema@0.1.3: resolution: { integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, @@ -208,7 +512,19 @@ packages: engines: { node: '>=8' } dev: true - /@jridgewell/resolve-uri/3.1.0: + /@jridgewell/gen-mapping@0.3.3: + resolution: + { + integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==, + } + engines: { node: '>=6.0.0' } + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/trace-mapping': 0.3.22 + dev: true + + /@jridgewell/resolve-uri@3.1.0: resolution: { integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==, @@ -216,14 +532,22 @@ packages: engines: { node: '>=6.0.0' } dev: true - /@jridgewell/sourcemap-codec/1.4.14: + /@jridgewell/set-array@1.1.2: + resolution: + { + integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==, + } + engines: { node: '>=6.0.0' } + dev: true + + /@jridgewell/sourcemap-codec@1.4.14: resolution: { integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==, } dev: true - /@jridgewell/trace-mapping/0.3.14: + /@jridgewell/trace-mapping@0.3.14: resolution: { integrity: sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==, @@ -233,7 +557,17 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /@microsoft/tsdoc-config/0.15.2: + /@jridgewell/trace-mapping@0.3.22: + resolution: + { + integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==, + } + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /@microsoft/tsdoc-config@0.15.2: resolution: { integrity: sha512-mK19b2wJHSdNf8znXSMYVShAHktVr/ib0Ck2FA3lsVBSEhSI/TfXT7DJQkAYgcztTuwazGcg58ZjYdk0hTCVrA==, @@ -245,14 +579,14 @@ packages: resolve: 1.19.0 dev: true - /@microsoft/tsdoc/0.13.2: + /@microsoft/tsdoc@0.13.2: resolution: { integrity: sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg==, } dev: true - /@next/eslint-plugin-next/12.1.2: + /@next/eslint-plugin-next@12.1.2: resolution: { integrity: sha512-XqYRh6d98dpv2ynoOEC3VeNv99hxRGBuanRDKASfntdAZD9Zp4n+AugmNF0qwOQEHYgG1uvZW3A4Fi6Y/+kCQw==, @@ -261,7 +595,7 @@ packages: glob: 7.1.7 dev: true - /@nodelib/fs.scandir/2.1.5: + /@nodelib/fs.scandir@2.1.5: resolution: { integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, @@ -272,7 +606,7 @@ packages: run-parallel: 1.2.0 dev: true - /@nodelib/fs.stat/2.0.5: + /@nodelib/fs.stat@2.0.5: resolution: { integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, @@ -280,7 +614,7 @@ packages: engines: { node: '>= 8' } dev: true - /@nodelib/fs.walk/1.2.8: + /@nodelib/fs.walk@1.2.8: resolution: { integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, @@ -291,14 +625,14 @@ packages: fastq: 1.13.0 dev: true - /@rushstack/eslint-patch/1.1.1: + /@rushstack/eslint-patch@1.1.1: resolution: { integrity: sha512-BUyKJGdDWqvWC5GEhyOiUrGNi9iJUr4CU0O2WxJL6QJhHeeA/NVBalH+FeK0r/x/W0rPymXt5s78TDS7d6lCwg==, } dev: true - /@sindresorhus/is/4.6.0: + /@sindresorhus/is@4.6.0: resolution: { integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==, @@ -306,7 +640,7 @@ packages: engines: { node: '>=10' } dev: true - /@szmarczak/http-timer/5.0.1: + /@szmarczak/http-timer@5.0.1: resolution: { integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==, @@ -316,7 +650,7 @@ packages: defer-to-connect: 2.0.1 dev: true - /@types/body-parser/1.19.2: + /@types/body-parser@1.19.2: resolution: { integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==, @@ -326,7 +660,7 @@ packages: '@types/node': 18.0.3 dev: true - /@types/cacheable-request/6.0.2: + /@types/cacheable-request@6.0.2: resolution: { integrity: sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==, @@ -338,7 +672,7 @@ packages: '@types/responselike': 1.0.0 dev: true - /@types/chai-subset/1.3.3: + /@types/chai-subset@1.3.3: resolution: { integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==, @@ -347,14 +681,14 @@ packages: '@types/chai': 4.3.1 dev: true - /@types/chai/4.3.1: + /@types/chai@4.3.1: resolution: { integrity: sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==, } dev: true - /@types/compression/1.7.2: + /@types/compression@1.7.2: resolution: { integrity: sha512-lwEL4M/uAGWngWFLSG87ZDr2kLrbuR8p7X+QZB1OQlT+qkHsCPDVFnHPyXf4Vyl4yDDorNY+mAhosxkCvppatg==, @@ -363,7 +697,7 @@ packages: '@types/express': 4.17.13 dev: true - /@types/connect/3.4.35: + /@types/connect@3.4.35: resolution: { integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==, @@ -372,7 +706,16 @@ packages: '@types/node': 18.0.3 dev: true - /@types/express-serve-static-core/4.17.29: + /@types/cross-spawn@6.0.6: + resolution: + { + integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==, + } + dependencies: + '@types/node': 18.0.3 + dev: true + + /@types/express-serve-static-core@4.17.29: resolution: { integrity: sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==, @@ -383,7 +726,7 @@ packages: '@types/range-parser': 1.2.4 dev: true - /@types/express/4.17.13: + /@types/express@4.17.13: resolution: { integrity: sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==, @@ -395,42 +738,42 @@ packages: '@types/serve-static': 1.13.10 dev: true - /@types/http-cache-semantics/4.0.1: + /@types/http-cache-semantics@4.0.1: resolution: { integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==, } dev: true - /@types/istanbul-lib-coverage/2.0.4: + /@types/istanbul-lib-coverage@2.0.4: resolution: { integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==, } dev: true - /@types/json-buffer/3.0.0: + /@types/json-buffer@3.0.0: resolution: { integrity: sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ==, } dev: true - /@types/json-schema/7.0.11: + /@types/json-schema@7.0.11: resolution: { integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==, } dev: true - /@types/json5/0.0.29: + /@types/json5@0.0.29: resolution: { integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==, } dev: true - /@types/keyv/3.1.4: + /@types/keyv@3.1.4: resolution: { integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==, @@ -439,42 +782,42 @@ packages: '@types/node': 18.0.3 dev: true - /@types/mime/1.3.2: + /@types/mime@1.3.2: resolution: { integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==, } dev: true - /@types/node/18.0.3: + /@types/node@18.0.3: resolution: { integrity: sha512-HzNRZtp4eepNitP+BD6k2L6DROIDG4Q0fm4x+dwfsr6LGmROENnok75VGw40628xf+iR24WeMFcHuuBDUAzzsQ==, } dev: true - /@types/normalize-package-data/2.4.1: + /@types/normalize-package-data@2.4.1: resolution: { integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==, } dev: true - /@types/qs/6.9.7: + /@types/qs@6.9.7: resolution: { integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==, } dev: true - /@types/range-parser/1.2.4: + /@types/range-parser@1.2.4: resolution: { integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==, } dev: true - /@types/responselike/1.0.0: + /@types/responselike@1.0.0: resolution: { integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==, @@ -483,7 +826,7 @@ packages: '@types/node': 18.0.3 dev: true - /@types/serve-handler/6.1.1: + /@types/serve-handler@6.1.1: resolution: { integrity: sha512-bIwSmD+OV8w0t2e7EWsuQYlGoS1o5aEdVktgkXaa43Zm0qVWi21xaSRb3DQA1UXD+DJ5bRq1Rgu14ZczB+CjIQ==, @@ -492,7 +835,7 @@ packages: '@types/node': 18.0.3 dev: true - /@types/serve-static/1.13.10: + /@types/serve-static@1.13.10: resolution: { integrity: sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==, @@ -502,7 +845,7 @@ packages: '@types/node': 18.0.3 dev: true - /@typescript-eslint/eslint-plugin/5.17.0_g6t5zrzuc64jpkxaqet5jodqtm: + /@typescript-eslint/eslint-plugin@5.17.0(@typescript-eslint/parser@5.17.0)(eslint@8.19.0)(typescript@4.6.4): resolution: { integrity: sha512-qVstvQilEd89HJk3qcbKt/zZrfBZ+9h2ynpAGlWjWiizA7m/MtLT9RoX6gjtpE500vfIg8jogAkDzdCxbsFASQ==, @@ -516,23 +859,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.17.0_g4cxuhevh5o54harssx6h7xjim + '@typescript-eslint/parser': 5.17.0(eslint@8.19.0)(typescript@4.6.4) '@typescript-eslint/scope-manager': 5.17.0 - '@typescript-eslint/type-utils': 5.17.0_g4cxuhevh5o54harssx6h7xjim - '@typescript-eslint/utils': 5.17.0_g4cxuhevh5o54harssx6h7xjim + '@typescript-eslint/type-utils': 5.17.0(eslint@8.19.0)(typescript@4.6.4) + '@typescript-eslint/utils': 5.17.0(eslint@8.19.0)(typescript@4.6.4) debug: 4.3.4 eslint: 8.19.0 functional-red-black-tree: 1.0.1 ignore: 5.2.0 regexpp: 3.2.0 semver: 7.3.7 - tsutils: 3.21.0_typescript@4.6.4 + tsutils: 3.21.0(typescript@4.6.4) typescript: 4.6.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser/5.17.0_g4cxuhevh5o54harssx6h7xjim: + /@typescript-eslint/parser@5.17.0(eslint@8.19.0)(typescript@4.6.4): resolution: { integrity: sha512-aRzW9Jg5Rlj2t2/crzhA2f23SIYFlF9mchGudyP0uiD6SenIxzKoLjwzHbafgHn39dNV/TV7xwQkLfFTZlJ4ig==, @@ -547,7 +890,7 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.17.0 '@typescript-eslint/types': 5.17.0 - '@typescript-eslint/typescript-estree': 5.17.0_typescript@4.6.4 + '@typescript-eslint/typescript-estree': 5.17.0(typescript@4.6.4) debug: 4.3.4 eslint: 8.19.0 typescript: 4.6.4 @@ -555,7 +898,7 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager/5.17.0: + /@typescript-eslint/scope-manager@5.17.0: resolution: { integrity: sha512-062iCYQF/doQ9T2WWfJohQKKN1zmmXVfAcS3xaiialiw8ZUGy05Em6QVNYJGO34/sU1a7a+90U3dUNfqUDHr3w==, @@ -566,7 +909,7 @@ packages: '@typescript-eslint/visitor-keys': 5.17.0 dev: true - /@typescript-eslint/scope-manager/5.30.5: + /@typescript-eslint/scope-manager@5.30.5: resolution: { integrity: sha512-NJ6F+YHHFT/30isRe2UTmIGGAiXKckCyMnIV58cE3JkHmaD6e5zyEYm5hBDv0Wbin+IC0T1FWJpD3YqHUG/Ydg==, @@ -577,7 +920,7 @@ packages: '@typescript-eslint/visitor-keys': 5.30.5 dev: true - /@typescript-eslint/type-utils/5.17.0_g4cxuhevh5o54harssx6h7xjim: + /@typescript-eslint/type-utils@5.17.0(eslint@8.19.0)(typescript@4.6.4): resolution: { integrity: sha512-3hU0RynUIlEuqMJA7dragb0/75gZmwNwFf/QJokWzPehTZousP/MNifVSgjxNcDCkM5HI2K22TjQWUmmHUINSg==, @@ -590,16 +933,16 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/utils': 5.17.0_g4cxuhevh5o54harssx6h7xjim + '@typescript-eslint/utils': 5.17.0(eslint@8.19.0)(typescript@4.6.4) debug: 4.3.4 eslint: 8.19.0 - tsutils: 3.21.0_typescript@4.6.4 + tsutils: 3.21.0(typescript@4.6.4) typescript: 4.6.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.17.0: + /@typescript-eslint/types@5.17.0: resolution: { integrity: sha512-AgQ4rWzmCxOZLioFEjlzOI3Ch8giDWx8aUDxyNw9iOeCvD3GEYAB7dxWGQy4T/rPVe8iPmu73jPHuaSqcjKvxw==, @@ -607,7 +950,7 @@ packages: engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true - /@typescript-eslint/types/5.30.5: + /@typescript-eslint/types@5.30.5: resolution: { integrity: sha512-kZ80w/M2AvsbRvOr3PjaNh6qEW1LFqs2pLdo2s5R38B2HYXG8Z0PP48/4+j1QHJFL3ssHIbJ4odPRS8PlHrFfw==, @@ -615,7 +958,7 @@ packages: engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true - /@typescript-eslint/typescript-estree/5.17.0_typescript@4.6.4: + /@typescript-eslint/typescript-estree@5.17.0(typescript@4.6.4): resolution: { integrity: sha512-X1gtjEcmM7Je+qJRhq7ZAAaNXYhTgqMkR10euC4Si6PIjb+kwEQHSxGazXUQXFyqfEXdkGf6JijUu5R0uceQzg==, @@ -633,13 +976,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.7 - tsutils: 3.21.0_typescript@4.6.4 + tsutils: 3.21.0(typescript@4.6.4) typescript: 4.6.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/typescript-estree/5.30.5_typescript@4.6.4: + /@typescript-eslint/typescript-estree@5.30.5(typescript@4.6.4): resolution: { integrity: sha512-qGTc7QZC801kbYjAr4AgdOfnokpwStqyhSbiQvqGBLixniAKyH+ib2qXIVo4P9NgGzwyfD9I0nlJN7D91E1VpQ==, @@ -657,13 +1000,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.7 - tsutils: 3.21.0_typescript@4.6.4 + tsutils: 3.21.0(typescript@4.6.4) typescript: 4.6.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils/5.17.0_g4cxuhevh5o54harssx6h7xjim: + /@typescript-eslint/utils@5.17.0(eslint@8.19.0)(typescript@4.6.4): resolution: { integrity: sha512-DVvndq1QoxQH+hFv+MUQHrrWZ7gQ5KcJzyjhzcqB1Y2Xes1UQQkTRPUfRpqhS8mhTWsSb2+iyvDW1Lef5DD7vA==, @@ -675,16 +1018,16 @@ packages: '@types/json-schema': 7.0.11 '@typescript-eslint/scope-manager': 5.17.0 '@typescript-eslint/types': 5.17.0 - '@typescript-eslint/typescript-estree': 5.17.0_typescript@4.6.4 + '@typescript-eslint/typescript-estree': 5.17.0(typescript@4.6.4) eslint: 8.19.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.19.0 + eslint-utils: 3.0.0(eslint@8.19.0) transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/utils/5.30.5_g4cxuhevh5o54harssx6h7xjim: + /@typescript-eslint/utils@5.30.5(eslint@8.19.0)(typescript@4.6.4): resolution: { integrity: sha512-o4SSUH9IkuA7AYIfAvatldovurqTAHrfzPApOZvdUq01hHojZojCFXx06D/aFpKCgWbMPRdJBWAC3sWp3itwTA==, @@ -696,16 +1039,16 @@ packages: '@types/json-schema': 7.0.11 '@typescript-eslint/scope-manager': 5.30.5 '@typescript-eslint/types': 5.30.5 - '@typescript-eslint/typescript-estree': 5.30.5_typescript@4.6.4 + '@typescript-eslint/typescript-estree': 5.30.5(typescript@4.6.4) eslint: 8.19.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.19.0 + eslint-utils: 3.0.0(eslint@8.19.0) transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys/5.17.0: + /@typescript-eslint/visitor-keys@5.17.0: resolution: { integrity: sha512-6K/zlc4OfCagUu7Am/BD5k8PSWQOgh34Nrv9Rxe2tBzlJ7uOeJ/h7ugCGDCeEZHT6k2CJBhbk9IsbkPI0uvUkA==, @@ -716,7 +1059,7 @@ packages: eslint-visitor-keys: 3.3.0 dev: true - /@typescript-eslint/visitor-keys/5.30.5: + /@typescript-eslint/visitor-keys@5.30.5: resolution: { integrity: sha512-D+xtGo9HUMELzWIUqcQc0p2PO4NyvTrgIOK/VnSH083+8sq0tiLozNRKuLarwHYGRuA6TVBQSuuLwJUDWd3aaA==, @@ -727,7 +1070,7 @@ packages: eslint-visitor-keys: 3.3.0 dev: true - /@vercel/style-guide/3.0.0_rkmuuqx4yqfzhkhjmek6w3w2ju: + /@vercel/style-guide@3.0.0(@babel/core@7.23.9)(eslint@8.19.0)(prettier@2.7.1)(typescript@4.6.4): resolution: { integrity: sha512-4hAlUpXrgty3eWOmYuVMjMxhsYaw0wFZAgFNlsrwp5LM6iPcjZXKbhEi3z3QZIJ7Mkixtg0gpYfq9oNzZgEahA==, @@ -736,24 +1079,24 @@ packages: eslint: ^8.12.0 prettier: ^2.6.1 dependencies: - '@babel/eslint-parser': 7.17.0_eslint@8.19.0 + '@babel/eslint-parser': 7.17.0(@babel/core@7.23.9)(eslint@8.19.0) '@next/eslint-plugin-next': 12.1.2 '@rushstack/eslint-patch': 1.1.1 - '@typescript-eslint/eslint-plugin': 5.17.0_g6t5zrzuc64jpkxaqet5jodqtm - '@typescript-eslint/parser': 5.17.0_g4cxuhevh5o54harssx6h7xjim + '@typescript-eslint/eslint-plugin': 5.17.0(@typescript-eslint/parser@5.17.0)(eslint@8.19.0)(typescript@4.6.4) + '@typescript-eslint/parser': 5.17.0(eslint@8.19.0)(typescript@4.6.4) eslint: 8.19.0 - eslint-config-prettier: 8.5.0_eslint@8.19.0 - eslint-import-resolver-alias: 1.1.2_t6pef3jrjg2rjejjp7kevcbc34 - eslint-import-resolver-typescript: 2.7.0_p6hsegxeddyw6tkhd66xuhpt6y - eslint-plugin-eslint-comments: 3.2.0_eslint@8.19.0 - eslint-plugin-import: 2.25.4_2jrd2tv6zgguuh43n5i3q53svq - eslint-plugin-jest: 26.1.3_uaaox3v723ui26evhtwqay6v7e - eslint-plugin-jsx-a11y: 6.5.1_eslint@8.19.0 - eslint-plugin-react: 7.29.4_eslint@8.19.0 - eslint-plugin-react-hooks: 4.3.0_eslint@8.19.0 - eslint-plugin-testing-library: 5.1.0_g4cxuhevh5o54harssx6h7xjim + eslint-config-prettier: 8.5.0(eslint@8.19.0) + eslint-import-resolver-alias: 1.1.2(eslint-plugin-import@2.25.4) + eslint-import-resolver-typescript: 2.7.0(eslint-plugin-import@2.25.4)(eslint@8.19.0) + eslint-plugin-eslint-comments: 3.2.0(eslint@8.19.0) + eslint-plugin-import: 2.25.4(@typescript-eslint/parser@5.17.0)(eslint-import-resolver-typescript@2.7.0)(eslint@8.19.0) + eslint-plugin-jest: 26.1.3(@typescript-eslint/eslint-plugin@5.17.0)(eslint@8.19.0)(typescript@4.6.4) + eslint-plugin-jsx-a11y: 6.5.1(eslint@8.19.0) + eslint-plugin-react: 7.29.4(eslint@8.19.0) + eslint-plugin-react-hooks: 4.3.0(eslint@8.19.0) + eslint-plugin-testing-library: 5.1.0(eslint@8.19.0)(typescript@4.6.4) eslint-plugin-tsdoc: 0.2.14 - eslint-plugin-unicorn: 41.0.1_eslint@8.19.0 + eslint-plugin-unicorn: 41.0.1(eslint@8.19.0) prettier: 2.7.1 transitivePeerDependencies: - '@babel/core' @@ -763,14 +1106,14 @@ packages: - typescript dev: true - /@zeit/schemas/2.29.0: + /@zeit/schemas@2.29.0: resolution: { integrity: sha512-g5QiLIfbg3pLuYUJPlisNKY+epQJTcMDsOnVNkscrDP1oi7vmJnzOANYJI/1pZcVJ6umUkBv3aFtlg1UvUHGzA==, } dev: false - /accepts/1.3.8: + /accepts@1.3.8: resolution: { integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==, @@ -781,7 +1124,7 @@ packages: negotiator: 0.6.3 dev: false - /acorn-jsx/5.3.2_acorn@8.7.1: + /acorn-jsx@5.3.2(acorn@8.7.1): resolution: { integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, @@ -792,7 +1135,7 @@ packages: acorn: 8.7.1 dev: true - /acorn/8.7.1: + /acorn@8.7.1: resolution: { integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==, @@ -801,7 +1144,7 @@ packages: hasBin: true dev: true - /aggregate-error/3.1.0: + /aggregate-error@3.1.0: resolution: { integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==, @@ -812,7 +1155,7 @@ packages: indent-string: 4.0.0 dev: true - /ajv/6.12.6: + /ajv@6.12.6: resolution: { integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, @@ -824,7 +1167,7 @@ packages: uri-js: 4.4.1 dev: true - /ajv/8.11.0: + /ajv@8.11.0: resolution: { integrity: sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==, @@ -836,7 +1179,7 @@ packages: uri-js: 4.4.1 dev: false - /ansi-align/3.0.1: + /ansi-align@3.0.1: resolution: { integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==, @@ -845,7 +1188,7 @@ packages: string-width: 4.2.3 dev: false - /ansi-escapes/4.3.2: + /ansi-escapes@4.3.2: resolution: { integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==, @@ -855,21 +1198,21 @@ packages: type-fest: 0.21.3 dev: true - /ansi-regex/5.0.1: + /ansi-regex@5.0.1: resolution: { integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, } engines: { node: '>=8' } - /ansi-regex/6.0.1: + /ansi-regex@6.0.1: resolution: { integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==, } engines: { node: '>=12' } - /ansi-styles/3.2.1: + /ansi-styles@3.2.1: resolution: { integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, @@ -879,7 +1222,7 @@ packages: color-convert: 1.9.3 dev: true - /ansi-styles/4.3.0: + /ansi-styles@4.3.0: resolution: { integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, @@ -888,21 +1231,21 @@ packages: dependencies: color-convert: 2.0.1 - /ansi-styles/6.1.0: + /ansi-styles@6.1.0: resolution: { integrity: sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==, } engines: { node: '>=12' } - /any-promise/1.3.0: + /any-promise@1.3.0: resolution: { integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==, } dev: true - /anymatch/3.1.2: + /anymatch@3.1.2: resolution: { integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==, @@ -913,28 +1256,28 @@ packages: picomatch: 2.3.1 dev: true - /arch/2.2.0: + /arch@2.2.0: resolution: { integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==, } dev: false - /arg/5.0.2: + /arg@5.0.2: resolution: { integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==, } dev: false - /argparse/2.0.1: + /argparse@2.0.1: resolution: { integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, } dev: true - /aria-query/4.2.2: + /aria-query@4.2.2: resolution: { integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==, @@ -945,7 +1288,7 @@ packages: '@babel/runtime-corejs3': 7.18.6 dev: true - /array-includes/3.1.5: + /array-includes@3.1.5: resolution: { integrity: sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==, @@ -959,7 +1302,7 @@ packages: is-string: 1.0.7 dev: true - /array-union/2.1.0: + /array-union@2.1.0: resolution: { integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==, @@ -967,7 +1310,7 @@ packages: engines: { node: '>=8' } dev: true - /array.prototype.flat/1.3.0: + /array.prototype.flat@1.3.0: resolution: { integrity: sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==, @@ -980,7 +1323,7 @@ packages: es-shim-unscopables: 1.0.0 dev: true - /array.prototype.flatmap/1.3.0: + /array.prototype.flatmap@1.3.0: resolution: { integrity: sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==, @@ -993,21 +1336,21 @@ packages: es-shim-unscopables: 1.0.0 dev: true - /assertion-error/1.1.0: + /assertion-error@1.1.0: resolution: { integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, } dev: true - /ast-types-flow/0.0.7: + /ast-types-flow@0.0.7: resolution: { integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==, } dev: true - /astral-regex/2.0.0: + /astral-regex@2.0.0: resolution: { integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==, @@ -1015,7 +1358,7 @@ packages: engines: { node: '>=8' } dev: true - /axe-core/4.4.2: + /axe-core@4.4.2: resolution: { integrity: sha512-LVAaGp/wkkgYJcjmHsoKx4juT1aQvJyPcW09MLCjVTh3V2cc6PnyempiLMNH5iMdfIX/zdbjUx2KDjMLCTdPeA==, @@ -1023,20 +1366,20 @@ packages: engines: { node: '>=12' } dev: true - /axobject-query/2.2.0: + /axobject-query@2.2.0: resolution: { integrity: sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==, } dev: true - /balanced-match/1.0.2: + /balanced-match@1.0.2: resolution: { integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, } - /binary-extensions/2.2.0: + /binary-extensions@2.2.0: resolution: { integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==, @@ -1044,7 +1387,7 @@ packages: engines: { node: '>=8' } dev: true - /boxen/7.0.0: + /boxen@7.0.0: resolution: { integrity: sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==, @@ -1061,7 +1404,7 @@ packages: wrap-ansi: 8.0.1 dev: false - /brace-expansion/1.1.11: + /brace-expansion@1.1.11: resolution: { integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, @@ -1070,7 +1413,7 @@ packages: balanced-match: 1.0.2 concat-map: 0.0.1 - /braces/3.0.2: + /braces@3.0.2: resolution: { integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, @@ -1080,14 +1423,28 @@ packages: fill-range: 7.0.1 dev: true - /buffer-from/1.1.2: + /browserslist@4.22.3: + resolution: + { + integrity: sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==, + } + engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } + hasBin: true + dependencies: + caniuse-lite: 1.0.30001581 + electron-to-chromium: 1.4.648 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.22.3) + dev: true + + /buffer-from@1.1.2: resolution: { integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, } dev: true - /builtin-modules/3.3.0: + /builtin-modules@3.3.0: resolution: { integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==, @@ -1095,7 +1452,17 @@ packages: engines: { node: '>=6' } dev: true - /bundle-require/3.0.4_esbuild@0.14.48: + /bundle-name@4.1.0: + resolution: + { + integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==, + } + engines: { node: '>=18' } + dependencies: + run-applescript: 7.0.0 + dev: false + + /bundle-require@3.0.4(esbuild@0.14.48): resolution: { integrity: sha512-VXG6epB1yrLAvWVQpl92qF347/UXmncQj7J3U8kZEbdVZ1ZkQyr4hYeL/9RvcE8vVVdp53dY78Fd/3pqfRqI1A==, @@ -1108,7 +1475,7 @@ packages: load-tsconfig: 0.2.3 dev: true - /bytes/3.0.0: + /bytes@3.0.0: resolution: { integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==, @@ -1116,7 +1483,7 @@ packages: engines: { node: '>= 0.8' } dev: false - /c8/7.12.0: + /c8@7.12.0: resolution: { integrity: sha512-CtgQrHOkyxr5koX1wEUmN/5cfDa2ckbHRA4Gy5LAL0zaCFtVWJS5++n+w4/sr2GWGerBxgTjpKeDclk/Qk6W/A==, @@ -1138,7 +1505,7 @@ packages: yargs-parser: 20.2.9 dev: true - /cac/6.7.12: + /cac@6.7.12: resolution: { integrity: sha512-rM7E2ygtMkJqD9c7WnFU6fruFcN3xe4FM5yUmgxhZzIKJk4uHl9U/fhwdajGFQbQuv43FAUo1Fe8gX/oIKDeSA==, @@ -1146,7 +1513,7 @@ packages: engines: { node: '>=8' } dev: true - /cacheable-lookup/6.0.4: + /cacheable-lookup@6.0.4: resolution: { integrity: sha512-mbcDEZCkv2CZF4G01kr8eBd/5agkt9oCqz75tJMSIsquvRZ2sL6Hi5zGVKi/0OSC9oO1GHfJ2AV0ZIOY9vye0A==, @@ -1154,7 +1521,7 @@ packages: engines: { node: '>=10.6.0' } dev: true - /cacheable-request/7.0.2: + /cacheable-request@7.0.2: resolution: { integrity: sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==, @@ -1170,7 +1537,7 @@ packages: responselike: 2.0.0 dev: true - /call-bind/1.0.2: + /call-bind@1.0.2: resolution: { integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==, @@ -1180,7 +1547,7 @@ packages: get-intrinsic: 1.1.2 dev: true - /callsites/3.1.0: + /callsites@3.1.0: resolution: { integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, @@ -1188,7 +1555,7 @@ packages: engines: { node: '>=6' } dev: true - /camelcase/7.0.0: + /camelcase@7.0.0: resolution: { integrity: sha512-JToIvOmz6nhGsUhAYScbo2d6Py5wojjNfoxoc2mEVLUdJ70gJK2gnd+ABY1Tc3sVMyK7QDPtN0T/XdlCQWITyQ==, @@ -1196,7 +1563,14 @@ packages: engines: { node: '>=14.16' } dev: false - /chai/4.3.6: + /caniuse-lite@1.0.30001581: + resolution: + { + integrity: sha512-whlTkwhqV2tUmP3oYhtNfaWGYHDdS3JYFQBKXxcUR9qqPWsRhFHhoISO2Xnl/g0xyKzht9mI1LZpiNWfMzHixQ==, + } + dev: true + + /chai@4.3.6: resolution: { integrity: sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==, @@ -1212,7 +1586,7 @@ packages: type-detect: 4.0.8 dev: true - /chalk-template/0.4.0: + /chalk-template@0.4.0: resolution: { integrity: sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==, @@ -1222,7 +1596,7 @@ packages: chalk: 4.1.2 dev: false - /chalk/2.4.1: + /chalk@2.4.1: resolution: { integrity: sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==, @@ -1234,7 +1608,19 @@ packages: supports-color: 5.5.0 dev: true - /chalk/4.1.2: + /chalk@2.4.2: + resolution: + { + integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, + } + engines: { node: '>=4' } + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk@4.1.2: resolution: { integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, @@ -1244,7 +1630,7 @@ packages: ansi-styles: 4.3.0 supports-color: 7.2.0 - /chalk/5.0.1: + /chalk@5.0.1: resolution: { integrity: sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==, @@ -1252,14 +1638,14 @@ packages: engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } dev: false - /check-error/1.0.2: + /check-error@1.0.2: resolution: { integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==, } dev: true - /chokidar/3.5.3: + /chokidar@3.5.3: resolution: { integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==, @@ -1277,14 +1663,14 @@ packages: fsevents: 2.3.2 dev: true - /ci-info/3.3.2: + /ci-info@3.3.2: resolution: { integrity: sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==, } dev: true - /clean-regexp/1.0.0: + /clean-regexp@1.0.0: resolution: { integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==, @@ -1294,7 +1680,7 @@ packages: escape-string-regexp: 1.0.5 dev: true - /clean-stack/2.2.0: + /clean-stack@2.2.0: resolution: { integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==, @@ -1302,7 +1688,7 @@ packages: engines: { node: '>=6' } dev: true - /cli-boxes/3.0.0: + /cli-boxes@3.0.0: resolution: { integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==, @@ -1310,7 +1696,7 @@ packages: engines: { node: '>=10' } dev: false - /cli-cursor/3.1.0: + /cli-cursor@3.1.0: resolution: { integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==, @@ -1320,7 +1706,7 @@ packages: restore-cursor: 3.1.0 dev: true - /cli-truncate/2.1.0: + /cli-truncate@2.1.0: resolution: { integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==, @@ -1331,7 +1717,7 @@ packages: string-width: 4.2.3 dev: true - /cli-truncate/3.1.0: + /cli-truncate@3.1.0: resolution: { integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==, @@ -1342,7 +1728,7 @@ packages: string-width: 5.1.2 dev: true - /clipboardy/3.0.0: + /clipboardy@3.0.0: resolution: { integrity: sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==, @@ -1354,7 +1740,7 @@ packages: is-wsl: 2.2.0 dev: false - /cliui/7.0.4: + /cliui@7.0.4: resolution: { integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==, @@ -1365,7 +1751,7 @@ packages: wrap-ansi: 7.0.0 dev: true - /clone-response/1.0.2: + /clone-response@1.0.2: resolution: { integrity: sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==, @@ -1374,7 +1760,7 @@ packages: mimic-response: 1.0.1 dev: true - /color-convert/1.9.3: + /color-convert@1.9.3: resolution: { integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, @@ -1383,7 +1769,7 @@ packages: color-name: 1.1.3 dev: true - /color-convert/2.0.1: + /color-convert@2.0.1: resolution: { integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, @@ -1392,27 +1778,27 @@ packages: dependencies: color-name: 1.1.4 - /color-name/1.1.3: + /color-name@1.1.3: resolution: { integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, } dev: true - /color-name/1.1.4: + /color-name@1.1.4: resolution: { integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, } - /colorette/2.0.19: + /colorette@2.0.19: resolution: { integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==, } dev: true - /commander/4.1.1: + /commander@4.1.1: resolution: { integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==, @@ -1420,7 +1806,7 @@ packages: engines: { node: '>= 6' } dev: true - /commander/9.3.0: + /commander@9.3.0: resolution: { integrity: sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw==, @@ -1428,7 +1814,7 @@ packages: engines: { node: ^12.20.0 || >=14 } dev: true - /compress-brotli/1.3.8: + /compress-brotli@1.3.8: resolution: { integrity: sha512-lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ==, @@ -1439,7 +1825,7 @@ packages: json-buffer: 3.0.1 dev: true - /compressible/2.0.18: + /compressible@2.0.18: resolution: { integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==, @@ -1449,7 +1835,7 @@ packages: mime-db: 1.52.0 dev: false - /compression/1.7.4: + /compression@1.7.4: resolution: { integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==, @@ -1467,13 +1853,13 @@ packages: - supports-color dev: false - /concat-map/0.0.1: + /concat-map@0.0.1: resolution: { integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, } - /content-disposition/0.5.2: + /content-disposition@0.5.2: resolution: { integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==, @@ -1481,7 +1867,7 @@ packages: engines: { node: '>= 0.6' } dev: false - /convert-source-map/1.8.0: + /convert-source-map@1.8.0: resolution: { integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==, @@ -1490,7 +1876,14 @@ packages: safe-buffer: 5.1.2 dev: true - /core-js-pure/3.23.3: + /convert-source-map@2.0.0: + resolution: + { + integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, + } + dev: true + + /core-js-pure@3.23.3: resolution: { integrity: sha512-XpoouuqIj4P+GWtdyV8ZO3/u4KftkeDVMfvp+308eGMhCrA3lVDSmAxO0c6GGOcmgVlaKDrgWVMo49h2ab/TDA==, @@ -1498,7 +1891,7 @@ packages: requiresBuild: true dev: true - /cross-spawn/7.0.3: + /cross-spawn@7.0.3: resolution: { integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, @@ -1509,14 +1902,14 @@ packages: shebang-command: 2.0.0 which: 2.0.2 - /damerau-levenshtein/1.0.8: + /damerau-levenshtein@1.0.8: resolution: { integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==, } dev: true - /debug/2.6.9: + /debug@2.6.9: resolution: { integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==, @@ -1529,7 +1922,7 @@ packages: dependencies: ms: 2.0.0 - /debug/3.2.7: + /debug@3.2.7: resolution: { integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==, @@ -1543,7 +1936,7 @@ packages: ms: 2.1.3 dev: true - /debug/4.3.4: + /debug@4.3.4: resolution: { integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, @@ -1558,7 +1951,7 @@ packages: ms: 2.1.2 dev: true - /decompress-response/6.0.0: + /decompress-response@6.0.0: resolution: { integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==, @@ -1568,7 +1961,7 @@ packages: mimic-response: 3.1.0 dev: true - /deep-eql/3.0.1: + /deep-eql@3.0.1: resolution: { integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==, @@ -1578,7 +1971,7 @@ packages: type-detect: 4.0.8 dev: true - /deep-extend/0.6.0: + /deep-extend@0.6.0: resolution: { integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==, @@ -1586,14 +1979,33 @@ packages: engines: { node: '>=4.0.0' } dev: false - /deep-is/0.1.4: + /deep-is@0.1.4: resolution: { integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, } dev: true - /defer-to-connect/2.0.1: + /default-browser-id@5.0.0: + resolution: + { + integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==, + } + engines: { node: '>=18' } + dev: false + + /default-browser@5.2.1: + resolution: + { + integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==, + } + engines: { node: '>=18' } + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.0 + dev: false + + /defer-to-connect@2.0.1: resolution: { integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==, @@ -1601,7 +2013,15 @@ packages: engines: { node: '>=10' } dev: true - /define-properties/1.1.4: + /define-lazy-prop@3.0.0: + resolution: + { + integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==, + } + engines: { node: '>=12' } + dev: false + + /define-properties@1.1.4: resolution: { integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==, @@ -1612,7 +2032,7 @@ packages: object-keys: 1.1.1 dev: true - /dir-glob/3.0.1: + /dir-glob@3.0.1: resolution: { integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==, @@ -1622,7 +2042,7 @@ packages: path-type: 4.0.0 dev: true - /doctrine/2.1.0: + /doctrine@2.1.0: resolution: { integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==, @@ -1632,7 +2052,7 @@ packages: esutils: 2.0.3 dev: true - /doctrine/3.0.0: + /doctrine@3.0.0: resolution: { integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, @@ -1642,25 +2062,32 @@ packages: esutils: 2.0.3 dev: true - /eastasianwidth/0.2.0: + /eastasianwidth@0.2.0: resolution: { integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==, } - /emoji-regex/8.0.0: + /electron-to-chromium@1.4.648: + resolution: + { + integrity: sha512-EmFMarXeqJp9cUKu/QEciEApn0S/xRcpZWuAm32U7NgoZCimjsilKXHRO9saeEW55eHZagIDg6XTUOv32w9pjg==, + } + dev: true + + /emoji-regex@8.0.0: resolution: { integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, } - /emoji-regex/9.2.2: + /emoji-regex@9.2.2: resolution: { integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==, } - /end-of-stream/1.4.4: + /end-of-stream@1.4.4: resolution: { integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, @@ -1669,7 +2096,7 @@ packages: once: 1.4.0 dev: true - /error-ex/1.3.2: + /error-ex@1.3.2: resolution: { integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, @@ -1678,7 +2105,7 @@ packages: is-arrayish: 0.2.1 dev: true - /es-abstract/1.20.1: + /es-abstract@1.20.1: resolution: { integrity: sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==, @@ -1710,7 +2137,7 @@ packages: unbox-primitive: 1.0.2 dev: true - /es-shim-unscopables/1.0.0: + /es-shim-unscopables@1.0.0: resolution: { integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==, @@ -1719,7 +2146,7 @@ packages: has: 1.0.3 dev: true - /es-to-primitive/1.2.1: + /es-to-primitive@1.2.1: resolution: { integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==, @@ -1731,7 +2158,7 @@ packages: is-symbol: 1.0.4 dev: true - /esbuild-android-64/0.14.48: + /esbuild-android-64@0.14.48: resolution: { integrity: sha512-3aMjboap/kqwCUpGWIjsk20TtxVoKck8/4Tu19rubh7t5Ra0Yrpg30Mt1QXXlipOazrEceGeWurXKeFJgkPOUg==, @@ -1743,7 +2170,7 @@ packages: dev: true optional: true - /esbuild-android-arm64/0.14.48: + /esbuild-android-arm64@0.14.48: resolution: { integrity: sha512-vptI3K0wGALiDq+EvRuZotZrJqkYkN5282iAfcffjI5lmGG9G1ta/CIVauhY42MBXwEgDJkweiDcDMRLzBZC4g==, @@ -1755,7 +2182,7 @@ packages: dev: true optional: true - /esbuild-darwin-64/0.14.48: + /esbuild-darwin-64@0.14.48: resolution: { integrity: sha512-gGQZa4+hab2Va/Zww94YbshLuWteyKGD3+EsVon8EWTWhnHFRm5N9NbALNbwi/7hQ/hM1Zm4FuHg+k6BLsl5UA==, @@ -1767,7 +2194,7 @@ packages: dev: true optional: true - /esbuild-darwin-arm64/0.14.48: + /esbuild-darwin-arm64@0.14.48: resolution: { integrity: sha512-bFjnNEXjhZT+IZ8RvRGNJthLWNHV5JkCtuOFOnjvo5pC0sk2/QVk0Qc06g2PV3J0TcU6kaPC3RN9yy9w2PSLEA==, @@ -1779,7 +2206,7 @@ packages: dev: true optional: true - /esbuild-freebsd-64/0.14.48: + /esbuild-freebsd-64@0.14.48: resolution: { integrity: sha512-1NOlwRxmOsnPcWOGTB10JKAkYSb2nue0oM1AfHWunW/mv3wERfJmnYlGzL3UAOIUXZqW8GeA2mv+QGwq7DToqA==, @@ -1791,7 +2218,7 @@ packages: dev: true optional: true - /esbuild-freebsd-arm64/0.14.48: + /esbuild-freebsd-arm64@0.14.48: resolution: { integrity: sha512-gXqKdO8wabVcYtluAbikDH2jhXp+Klq5oCD5qbVyUG6tFiGhrC9oczKq3vIrrtwcxDQqK6+HDYK8Zrd4bCA9Gw==, @@ -1803,7 +2230,7 @@ packages: dev: true optional: true - /esbuild-linux-32/0.14.48: + /esbuild-linux-32@0.14.48: resolution: { integrity: sha512-ghGyDfS289z/LReZQUuuKq9KlTiTspxL8SITBFQFAFRA/IkIvDpnZnCAKTCjGXAmUqroMQfKJXMxyjJA69c/nQ==, @@ -1815,7 +2242,7 @@ packages: dev: true optional: true - /esbuild-linux-64/0.14.48: + /esbuild-linux-64@0.14.48: resolution: { integrity: sha512-vni3p/gppLMVZLghI7oMqbOZdGmLbbKR23XFARKnszCIBpEMEDxOMNIKPmMItQrmH/iJrL1z8Jt2nynY0bE1ug==, @@ -1827,31 +2254,31 @@ packages: dev: true optional: true - /esbuild-linux-arm/0.14.48: + /esbuild-linux-arm64@0.14.48: resolution: { - integrity: sha512-+VfSV7Akh1XUiDNXgqgY1cUP1i2vjI+BmlyXRfVz5AfV3jbpde8JTs5Q9sYgaoq5cWfuKfoZB/QkGOI+QcL1Tw==, + integrity: sha512-3CFsOlpoxlKPRevEHq8aAntgYGYkE1N9yRYAcPyng/p4Wyx0tPR5SBYsxLKcgPB9mR8chHEhtWYz6EZ+H199Zw==, } engines: { node: '>=12' } - cpu: [arm] + cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-arm64/0.14.48: + /esbuild-linux-arm@0.14.48: resolution: { - integrity: sha512-3CFsOlpoxlKPRevEHq8aAntgYGYkE1N9yRYAcPyng/p4Wyx0tPR5SBYsxLKcgPB9mR8chHEhtWYz6EZ+H199Zw==, + integrity: sha512-+VfSV7Akh1XUiDNXgqgY1cUP1i2vjI+BmlyXRfVz5AfV3jbpde8JTs5Q9sYgaoq5cWfuKfoZB/QkGOI+QcL1Tw==, } engines: { node: '>=12' } - cpu: [arm64] + cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-mips64le/0.14.48: + /esbuild-linux-mips64le@0.14.48: resolution: { integrity: sha512-cs0uOiRlPp6ymknDnjajCgvDMSsLw5mST2UXh+ZIrXTj2Ifyf2aAP3Iw4DiqgnyYLV2O/v/yWBJx+WfmKEpNLA==, @@ -1863,7 +2290,7 @@ packages: dev: true optional: true - /esbuild-linux-ppc64le/0.14.48: + /esbuild-linux-ppc64le@0.14.48: resolution: { integrity: sha512-+2F0vJMkuI0Wie/wcSPDCqXvSFEELH7Jubxb7mpWrA/4NpT+/byjxDz0gG6R1WJoeDefcrMfpBx4GFNN1JQorQ==, @@ -1875,7 +2302,7 @@ packages: dev: true optional: true - /esbuild-linux-riscv64/0.14.48: + /esbuild-linux-riscv64@0.14.48: resolution: { integrity: sha512-BmaK/GfEE+5F2/QDrIXteFGKnVHGxlnK9MjdVKMTfvtmudjY3k2t8NtlY4qemKSizc+QwyombGWTBDc76rxePA==, @@ -1887,7 +2314,7 @@ packages: dev: true optional: true - /esbuild-linux-s390x/0.14.48: + /esbuild-linux-s390x@0.14.48: resolution: { integrity: sha512-tndw/0B9jiCL+KWKo0TSMaUm5UWBLsfCKVdbfMlb3d5LeV9WbijZ8Ordia8SAYv38VSJWOEt6eDCdOx8LqkC4g==, @@ -1899,7 +2326,7 @@ packages: dev: true optional: true - /esbuild-netbsd-64/0.14.48: + /esbuild-netbsd-64@0.14.48: resolution: { integrity: sha512-V9hgXfwf/T901Lr1wkOfoevtyNkrxmMcRHyticybBUHookznipMOHoF41Al68QBsqBxnITCEpjjd4yAos7z9Tw==, @@ -1911,7 +2338,7 @@ packages: dev: true optional: true - /esbuild-openbsd-64/0.14.48: + /esbuild-openbsd-64@0.14.48: resolution: { integrity: sha512-+IHf4JcbnnBl4T52egorXMatil/za0awqzg2Vy6FBgPcBpisDWT2sVz/tNdrK9kAqj+GZG/jZdrOkj7wsrNTKA==, @@ -1923,7 +2350,7 @@ packages: dev: true optional: true - /esbuild-sunos-64/0.14.48: + /esbuild-sunos-64@0.14.48: resolution: { integrity: sha512-77m8bsr5wOpOWbGi9KSqDphcq6dFeJyun8TA+12JW/GAjyfTwVtOnN8DOt6DSPUfEV+ltVMNqtXUeTeMAxl5KA==, @@ -1935,7 +2362,7 @@ packages: dev: true optional: true - /esbuild-windows-32/0.14.48: + /esbuild-windows-32@0.14.48: resolution: { integrity: sha512-EPgRuTPP8vK9maxpTGDe5lSoIBHGKO/AuxDncg5O3NkrPeLNdvvK8oywB0zGaAZXxYWfNNSHskvvDgmfVTguhg==, @@ -1947,7 +2374,7 @@ packages: dev: true optional: true - /esbuild-windows-64/0.14.48: + /esbuild-windows-64@0.14.48: resolution: { integrity: sha512-YmpXjdT1q0b8ictSdGwH3M8VCoqPpK1/UArze3X199w6u8hUx3V8BhAi1WjbsfDYRBanVVtduAhh2sirImtAvA==, @@ -1959,7 +2386,7 @@ packages: dev: true optional: true - /esbuild-windows-arm64/0.14.48: + /esbuild-windows-arm64@0.14.48: resolution: { integrity: sha512-HHaOMCsCXp0rz5BT2crTka6MPWVno121NKApsGs/OIW5QC0ggC69YMGs1aJct9/9FSUF4A1xNE/cLvgB5svR4g==, @@ -1971,7 +2398,7 @@ packages: dev: true optional: true - /esbuild/0.14.48: + /esbuild@0.14.48: resolution: { integrity: sha512-w6N1Yn5MtqK2U1/WZTX9ZqUVb8IOLZkZ5AdHkT6x3cHDMVsYWC7WPdiLmx19w3i4Rwzy5LqsEMtVihG3e4rFzA==, @@ -2002,7 +2429,7 @@ packages: esbuild-windows-arm64: 0.14.48 dev: true - /escalade/3.1.1: + /escalade@3.1.1: resolution: { integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==, @@ -2010,7 +2437,7 @@ packages: engines: { node: '>=6' } dev: true - /escape-string-regexp/1.0.5: + /escape-string-regexp@1.0.5: resolution: { integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, @@ -2018,7 +2445,7 @@ packages: engines: { node: '>=0.8.0' } dev: true - /escape-string-regexp/4.0.0: + /escape-string-regexp@4.0.0: resolution: { integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, @@ -2026,7 +2453,7 @@ packages: engines: { node: '>=10' } dev: true - /eslint-config-prettier/8.5.0_eslint@8.19.0: + /eslint-config-prettier@8.5.0(eslint@8.19.0): resolution: { integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==, @@ -2038,7 +2465,7 @@ packages: eslint: 8.19.0 dev: true - /eslint-import-resolver-alias/1.1.2_t6pef3jrjg2rjejjp7kevcbc34: + /eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.25.4): resolution: { integrity: sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==, @@ -2047,10 +2474,10 @@ packages: peerDependencies: eslint-plugin-import: '>=1.4.0' dependencies: - eslint-plugin-import: 2.25.4_2jrd2tv6zgguuh43n5i3q53svq + eslint-plugin-import: 2.25.4(@typescript-eslint/parser@5.17.0)(eslint-import-resolver-typescript@2.7.0)(eslint@8.19.0) dev: true - /eslint-import-resolver-node/0.3.6: + /eslint-import-resolver-node@0.3.6: resolution: { integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==, @@ -2062,7 +2489,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript/2.7.0_p6hsegxeddyw6tkhd66xuhpt6y: + /eslint-import-resolver-typescript@2.7.0(eslint-plugin-import@2.25.4)(eslint@8.19.0): resolution: { integrity: sha512-MNHS3u5pebvROX4MjGP9coda589ZGfL1SqdxUV4kSrcclfDRWvNE2D+eljbnWVMvWDVRgT89nhscMHPKYGcObQ==, @@ -2074,7 +2501,7 @@ packages: dependencies: debug: 4.3.4 eslint: 8.19.0 - eslint-plugin-import: 2.25.4_2jrd2tv6zgguuh43n5i3q53svq + eslint-plugin-import: 2.25.4(@typescript-eslint/parser@5.17.0)(eslint-import-resolver-typescript@2.7.0)(eslint@8.19.0) glob: 7.2.3 is-glob: 4.0.3 resolve: 1.22.1 @@ -2083,7 +2510,7 @@ packages: - supports-color dev: true - /eslint-module-utils/2.7.3_xe6opc42dcdurrfqfbzzc3a6si: + /eslint-module-utils@2.7.3(@typescript-eslint/parser@5.17.0)(eslint-import-resolver-node@0.3.6)(eslint-import-resolver-typescript@2.7.0): resolution: { integrity: sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==, @@ -2104,16 +2531,16 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.17.0_g4cxuhevh5o54harssx6h7xjim + '@typescript-eslint/parser': 5.17.0(eslint@8.19.0)(typescript@4.6.4) debug: 3.2.7 eslint-import-resolver-node: 0.3.6 - eslint-import-resolver-typescript: 2.7.0_p6hsegxeddyw6tkhd66xuhpt6y + eslint-import-resolver-typescript: 2.7.0(eslint-plugin-import@2.25.4)(eslint@8.19.0) find-up: 2.1.0 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-eslint-comments/3.2.0_eslint@8.19.0: + /eslint-plugin-eslint-comments@3.2.0(eslint@8.19.0): resolution: { integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==, @@ -2127,7 +2554,7 @@ packages: ignore: 5.2.0 dev: true - /eslint-plugin-import/2.25.4_2jrd2tv6zgguuh43n5i3q53svq: + /eslint-plugin-import@2.25.4(@typescript-eslint/parser@5.17.0)(eslint-import-resolver-typescript@2.7.0)(eslint@8.19.0): resolution: { integrity: sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==, @@ -2140,14 +2567,14 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.17.0_g4cxuhevh5o54harssx6h7xjim + '@typescript-eslint/parser': 5.17.0(eslint@8.19.0)(typescript@4.6.4) array-includes: 3.1.5 array.prototype.flat: 1.3.0 debug: 2.6.9 doctrine: 2.1.0 eslint: 8.19.0 eslint-import-resolver-node: 0.3.6 - eslint-module-utils: 2.7.3_xe6opc42dcdurrfqfbzzc3a6si + eslint-module-utils: 2.7.3(@typescript-eslint/parser@5.17.0)(eslint-import-resolver-node@0.3.6)(eslint-import-resolver-typescript@2.7.0) has: 1.0.3 is-core-module: 2.9.0 is-glob: 4.0.3 @@ -2161,7 +2588,7 @@ packages: - supports-color dev: true - /eslint-plugin-jest/26.1.3_uaaox3v723ui26evhtwqay6v7e: + /eslint-plugin-jest@26.1.3(@typescript-eslint/eslint-plugin@5.17.0)(eslint@8.19.0)(typescript@4.6.4): resolution: { integrity: sha512-Pju+T7MFpo5VFhFlwrkK/9jRUu18r2iugvgyrWOnnGRaVTFFmFXp+xFJpHyqmjjLmGJPKLeEFLVTAxezkApcpQ==, @@ -2177,15 +2604,15 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.17.0_g6t5zrzuc64jpkxaqet5jodqtm - '@typescript-eslint/utils': 5.30.5_g4cxuhevh5o54harssx6h7xjim + '@typescript-eslint/eslint-plugin': 5.17.0(@typescript-eslint/parser@5.17.0)(eslint@8.19.0)(typescript@4.6.4) + '@typescript-eslint/utils': 5.30.5(eslint@8.19.0)(typescript@4.6.4) eslint: 8.19.0 transitivePeerDependencies: - supports-color - typescript dev: true - /eslint-plugin-jsx-a11y/6.5.1_eslint@8.19.0: + /eslint-plugin-jsx-a11y@6.5.1(eslint@8.19.0): resolution: { integrity: sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==, @@ -2209,7 +2636,7 @@ packages: minimatch: 3.1.2 dev: true - /eslint-plugin-react-hooks/4.3.0_eslint@8.19.0: + /eslint-plugin-react-hooks@4.3.0(eslint@8.19.0): resolution: { integrity: sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA==, @@ -2221,7 +2648,7 @@ packages: eslint: 8.19.0 dev: true - /eslint-plugin-react/7.29.4_eslint@8.19.0: + /eslint-plugin-react@7.29.4(eslint@8.19.0): resolution: { integrity: sha512-CVCXajliVh509PcZYRFyu/BoUEz452+jtQJq2b3Bae4v3xBUWPLCmtmBM+ZinG4MzwmxJgJ2M5rMqhqLVn7MtQ==, @@ -2247,7 +2674,7 @@ packages: string.prototype.matchall: 4.0.7 dev: true - /eslint-plugin-testing-library/5.1.0_g4cxuhevh5o54harssx6h7xjim: + /eslint-plugin-testing-library@5.1.0(eslint@8.19.0)(typescript@4.6.4): resolution: { integrity: sha512-YSNzasJUbyhOTe14ZPygeOBvcPvcaNkwHwrj4vdf+uirr2D32JTDaKi6CP5Os2aWtOcvt4uBSPXp9h5xGoqvWQ==, @@ -2256,14 +2683,14 @@ packages: peerDependencies: eslint: ^7.5.0 || ^8.0.0 dependencies: - '@typescript-eslint/utils': 5.30.5_g4cxuhevh5o54harssx6h7xjim + '@typescript-eslint/utils': 5.30.5(eslint@8.19.0)(typescript@4.6.4) eslint: 8.19.0 transitivePeerDependencies: - supports-color - typescript dev: true - /eslint-plugin-tsdoc/0.2.14: + /eslint-plugin-tsdoc@0.2.14: resolution: { integrity: sha512-fJ3fnZRsdIoBZgzkQjv8vAj6NeeOoFkTfgosj6mKsFjX70QV256sA/wq+y/R2+OL4L8E79VVaVWrPeZnKNe8Ng==, @@ -2273,7 +2700,7 @@ packages: '@microsoft/tsdoc-config': 0.15.2 dev: true - /eslint-plugin-unicorn/41.0.1_eslint@8.19.0: + /eslint-plugin-unicorn@41.0.1(eslint@8.19.0): resolution: { integrity: sha512-gF5vo2dIj0YdNMQ/IMegiBkQdQ22GBFFVpdkJP+0og3w7XD4ypea0xQVRv6iofkLVR2w0phAdikcnU01ybd4Ow==, @@ -2286,7 +2713,7 @@ packages: ci-info: 3.3.2 clean-regexp: 1.0.0 eslint: 8.19.0 - eslint-utils: 3.0.0_eslint@8.19.0 + eslint-utils: 3.0.0(eslint@8.19.0) esquery: 1.4.0 indent-string: 4.0.0 is-builtin-module: 3.1.0 @@ -2299,7 +2726,7 @@ packages: strip-indent: 3.0.0 dev: true - /eslint-scope/5.1.1: + /eslint-scope@5.1.1: resolution: { integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==, @@ -2310,7 +2737,7 @@ packages: estraverse: 4.3.0 dev: true - /eslint-scope/7.1.1: + /eslint-scope@7.1.1: resolution: { integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==, @@ -2321,7 +2748,7 @@ packages: estraverse: 5.3.0 dev: true - /eslint-utils/3.0.0_eslint@8.19.0: + /eslint-utils@3.0.0(eslint@8.19.0): resolution: { integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==, @@ -2334,7 +2761,7 @@ packages: eslint-visitor-keys: 2.1.0 dev: true - /eslint-visitor-keys/2.1.0: + /eslint-visitor-keys@2.1.0: resolution: { integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==, @@ -2342,7 +2769,7 @@ packages: engines: { node: '>=10' } dev: true - /eslint-visitor-keys/3.3.0: + /eslint-visitor-keys@3.3.0: resolution: { integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==, @@ -2350,7 +2777,7 @@ packages: engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true - /eslint/8.19.0: + /eslint@8.19.0: resolution: { integrity: sha512-SXOPj3x9VKvPe81TjjUJCYlV4oJjQw68Uek+AM0X4p+33dj2HY5bpTZOgnQHcG2eAm1mtCU9uNMnJi7exU/kYw==, @@ -2367,7 +2794,7 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.19.0 + eslint-utils: 3.0.0(eslint@8.19.0) eslint-visitor-keys: 3.3.0 espree: 9.3.2 esquery: 1.4.0 @@ -2397,7 +2824,7 @@ packages: - supports-color dev: true - /espree/9.3.2: + /espree@9.3.2: resolution: { integrity: sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==, @@ -2405,11 +2832,11 @@ packages: engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: acorn: 8.7.1 - acorn-jsx: 5.3.2_acorn@8.7.1 + acorn-jsx: 5.3.2(acorn@8.7.1) eslint-visitor-keys: 3.3.0 dev: true - /esquery/1.4.0: + /esquery@1.4.0: resolution: { integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==, @@ -2419,7 +2846,7 @@ packages: estraverse: 5.3.0 dev: true - /esrecurse/4.3.0: + /esrecurse@4.3.0: resolution: { integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, @@ -2429,7 +2856,7 @@ packages: estraverse: 5.3.0 dev: true - /estraverse/4.3.0: + /estraverse@4.3.0: resolution: { integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==, @@ -2437,7 +2864,7 @@ packages: engines: { node: '>=4.0' } dev: true - /estraverse/5.3.0: + /estraverse@5.3.0: resolution: { integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, @@ -2445,7 +2872,7 @@ packages: engines: { node: '>=4.0' } dev: true - /esutils/2.0.3: + /esutils@2.0.3: resolution: { integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, @@ -2453,7 +2880,7 @@ packages: engines: { node: '>=0.10.0' } dev: true - /execa/5.1.1: + /execa@5.1.1: resolution: { integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==, @@ -2470,7 +2897,7 @@ packages: signal-exit: 3.0.7 strip-final-newline: 2.0.0 - /execa/6.1.0: + /execa@6.1.0: resolution: { integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==, @@ -2488,13 +2915,13 @@ packages: strip-final-newline: 3.0.0 dev: true - /fast-deep-equal/3.1.3: + /fast-deep-equal@3.1.3: resolution: { integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, } - /fast-glob/3.2.11: + /fast-glob@3.2.11: resolution: { integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==, @@ -2508,21 +2935,21 @@ packages: micromatch: 4.0.5 dev: true - /fast-json-stable-stringify/2.1.0: + /fast-json-stable-stringify@2.1.0: resolution: { integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, } dev: true - /fast-levenshtein/2.0.6: + /fast-levenshtein@2.0.6: resolution: { integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, } dev: true - /fast-url-parser/1.1.3: + /fast-url-parser@1.1.3: resolution: { integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==, @@ -2531,7 +2958,7 @@ packages: punycode: 1.4.1 dev: false - /fastq/1.13.0: + /fastq@1.13.0: resolution: { integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==, @@ -2540,7 +2967,7 @@ packages: reusify: 1.0.4 dev: true - /file-entry-cache/6.0.1: + /file-entry-cache@6.0.1: resolution: { integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, @@ -2550,7 +2977,7 @@ packages: flat-cache: 3.0.4 dev: true - /fill-range/7.0.1: + /fill-range@7.0.1: resolution: { integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, @@ -2560,7 +2987,7 @@ packages: to-regex-range: 5.0.1 dev: true - /find-up/2.1.0: + /find-up@2.1.0: resolution: { integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==, @@ -2570,7 +2997,7 @@ packages: locate-path: 2.0.0 dev: true - /find-up/4.1.0: + /find-up@4.1.0: resolution: { integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==, @@ -2581,7 +3008,7 @@ packages: path-exists: 4.0.0 dev: true - /find-up/5.0.0: + /find-up@5.0.0: resolution: { integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, @@ -2592,7 +3019,7 @@ packages: path-exists: 4.0.0 dev: true - /flat-cache/3.0.4: + /flat-cache@3.0.4: resolution: { integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==, @@ -2603,14 +3030,14 @@ packages: rimraf: 3.0.2 dev: true - /flatted/3.2.6: + /flatted@3.2.6: resolution: { integrity: sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==, } dev: true - /foreground-child/2.0.0: + /foreground-child@2.0.0: resolution: { integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==, @@ -2621,21 +3048,21 @@ packages: signal-exit: 3.0.7 dev: true - /form-data-encoder/1.7.1: + /form-data-encoder@1.7.1: resolution: { integrity: sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg==, } dev: true - /fs.realpath/1.0.0: + /fs.realpath@1.0.0: resolution: { integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, } dev: true - /fsevents/2.3.2: + /fsevents@2.3.2: resolution: { integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==, @@ -2646,14 +3073,14 @@ packages: dev: true optional: true - /function-bind/1.1.1: + /function-bind@1.1.1: resolution: { integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==, } dev: true - /function.prototype.name/1.1.5: + /function.prototype.name@1.1.5: resolution: { integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==, @@ -2666,21 +3093,29 @@ packages: functions-have-names: 1.2.3 dev: true - /functional-red-black-tree/1.0.1: + /functional-red-black-tree@1.0.1: resolution: { integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==, } dev: true - /functions-have-names/1.2.3: + /functions-have-names@1.2.3: resolution: { integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==, } dev: true - /get-caller-file/2.0.5: + /gensync@1.0.0-beta.2: + resolution: + { + integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, + } + engines: { node: '>=6.9.0' } + dev: true + + /get-caller-file@2.0.5: resolution: { integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, @@ -2688,14 +3123,14 @@ packages: engines: { node: 6.* || 8.* || >= 10.* } dev: true - /get-func-name/2.0.0: + /get-func-name@2.0.0: resolution: { integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==, } dev: true - /get-intrinsic/1.1.2: + /get-intrinsic@1.1.2: resolution: { integrity: sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==, @@ -2706,7 +3141,7 @@ packages: has-symbols: 1.0.3 dev: true - /get-stream/5.2.0: + /get-stream@5.2.0: resolution: { integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==, @@ -2716,14 +3151,14 @@ packages: pump: 3.0.0 dev: true - /get-stream/6.0.1: + /get-stream@6.0.1: resolution: { integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==, } engines: { node: '>=10' } - /get-symbol-description/1.0.0: + /get-symbol-description@1.0.0: resolution: { integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==, @@ -2734,14 +3169,14 @@ packages: get-intrinsic: 1.1.2 dev: true - /get-tsconfig/4.1.0: + /get-tsconfig@4.1.0: resolution: { integrity: sha512-bhshxJhpfmeQ8x4fAvDqJV2VfGp5TfHdLpmBpNZZhMoVyfIrOippBW4mayC3DT9Sxuhcyl56Efw61qL28hG4EQ==, } dev: true - /glob-parent/5.1.2: + /glob-parent@5.1.2: resolution: { integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, @@ -2751,7 +3186,7 @@ packages: is-glob: 4.0.3 dev: true - /glob-parent/6.0.2: + /glob-parent@6.0.2: resolution: { integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, @@ -2761,7 +3196,7 @@ packages: is-glob: 4.0.3 dev: true - /glob/7.1.6: + /glob@7.1.6: resolution: { integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==, @@ -2775,7 +3210,7 @@ packages: path-is-absolute: 1.0.1 dev: true - /glob/7.1.7: + /glob@7.1.7: resolution: { integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==, @@ -2789,7 +3224,7 @@ packages: path-is-absolute: 1.0.1 dev: true - /glob/7.2.3: + /glob@7.2.3: resolution: { integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, @@ -2803,7 +3238,15 @@ packages: path-is-absolute: 1.0.1 dev: true - /globals/13.16.0: + /globals@11.12.0: + resolution: + { + integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==, + } + engines: { node: '>=4' } + dev: true + + /globals@13.16.0: resolution: { integrity: sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q==, @@ -2813,7 +3256,7 @@ packages: type-fest: 0.20.2 dev: true - /globby/11.1.0: + /globby@11.1.0: resolution: { integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==, @@ -2828,7 +3271,7 @@ packages: slash: 3.0.0 dev: true - /got/12.1.0: + /got@12.1.0: resolution: { integrity: sha512-hBv2ty9QN2RdbJJMK3hesmSkFTjVIHyIDDbssCKnSmq62edGgImJWD10Eb1k77TiV1bxloxqcFAVK8+9pkhOig==, @@ -2850,14 +3293,14 @@ packages: responselike: 2.0.0 dev: true - /has-bigints/1.0.2: + /has-bigints@1.0.2: resolution: { integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==, } dev: true - /has-flag/3.0.0: + /has-flag@3.0.0: resolution: { integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, @@ -2865,14 +3308,14 @@ packages: engines: { node: '>=4' } dev: true - /has-flag/4.0.0: + /has-flag@4.0.0: resolution: { integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, } engines: { node: '>=8' } - /has-property-descriptors/1.0.0: + /has-property-descriptors@1.0.0: resolution: { integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==, @@ -2881,7 +3324,7 @@ packages: get-intrinsic: 1.1.2 dev: true - /has-symbols/1.0.3: + /has-symbols@1.0.3: resolution: { integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==, @@ -2889,7 +3332,7 @@ packages: engines: { node: '>= 0.4' } dev: true - /has-tostringtag/1.0.0: + /has-tostringtag@1.0.0: resolution: { integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==, @@ -2899,7 +3342,7 @@ packages: has-symbols: 1.0.3 dev: true - /has/1.0.3: + /has@1.0.3: resolution: { integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==, @@ -2909,28 +3352,28 @@ packages: function-bind: 1.1.1 dev: true - /hosted-git-info/2.8.9: + /hosted-git-info@2.8.9: resolution: { integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==, } dev: true - /html-escaper/2.0.2: + /html-escaper@2.0.2: resolution: { integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, } dev: true - /http-cache-semantics/4.1.0: + /http-cache-semantics@4.1.0: resolution: { integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==, } dev: true - /http2-wrapper/2.1.11: + /http2-wrapper@2.1.11: resolution: { integrity: sha512-aNAk5JzLturWEUiuhAN73Jcbq96R7rTitAoXV54FYMatvihnpD2+6PUgU4ce3D/m5VDbw+F5CsyKSF176ptitQ==, @@ -2941,14 +3384,14 @@ packages: resolve-alpn: 1.2.1 dev: true - /human-signals/2.1.0: + /human-signals@2.1.0: resolution: { integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==, } engines: { node: '>=10.17.0' } - /human-signals/3.0.1: + /human-signals@3.0.1: resolution: { integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==, @@ -2956,7 +3399,7 @@ packages: engines: { node: '>=12.20.0' } dev: true - /husky/8.0.1: + /husky@8.0.1: resolution: { integrity: sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==, @@ -2965,7 +3408,7 @@ packages: hasBin: true dev: true - /ignore/5.2.0: + /ignore@5.2.0: resolution: { integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==, @@ -2973,7 +3416,7 @@ packages: engines: { node: '>= 4' } dev: true - /import-fresh/3.3.0: + /import-fresh@3.3.0: resolution: { integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, @@ -2984,7 +3427,7 @@ packages: resolve-from: 4.0.0 dev: true - /imurmurhash/0.1.4: + /imurmurhash@0.1.4: resolution: { integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, @@ -2992,7 +3435,7 @@ packages: engines: { node: '>=0.8.19' } dev: true - /indent-string/4.0.0: + /indent-string@4.0.0: resolution: { integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==, @@ -3000,7 +3443,7 @@ packages: engines: { node: '>=8' } dev: true - /inflight/1.0.6: + /inflight@1.0.6: resolution: { integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, @@ -3010,21 +3453,21 @@ packages: wrappy: 1.0.2 dev: true - /inherits/2.0.4: + /inherits@2.0.4: resolution: { integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, } dev: true - /ini/1.3.8: + /ini@1.3.8: resolution: { integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==, } dev: false - /internal-slot/1.0.3: + /internal-slot@1.0.3: resolution: { integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==, @@ -3036,14 +3479,14 @@ packages: side-channel: 1.0.4 dev: true - /is-arrayish/0.2.1: + /is-arrayish@0.2.1: resolution: { integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==, } dev: true - /is-bigint/1.0.4: + /is-bigint@1.0.4: resolution: { integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==, @@ -3052,7 +3495,7 @@ packages: has-bigints: 1.0.2 dev: true - /is-binary-path/2.1.0: + /is-binary-path@2.1.0: resolution: { integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, @@ -3062,7 +3505,7 @@ packages: binary-extensions: 2.2.0 dev: true - /is-boolean-object/1.1.2: + /is-boolean-object@1.1.2: resolution: { integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==, @@ -3073,7 +3516,7 @@ packages: has-tostringtag: 1.0.0 dev: true - /is-builtin-module/3.1.0: + /is-builtin-module@3.1.0: resolution: { integrity: sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==, @@ -3083,7 +3526,7 @@ packages: builtin-modules: 3.3.0 dev: true - /is-callable/1.2.4: + /is-callable@1.2.4: resolution: { integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==, @@ -3091,7 +3534,7 @@ packages: engines: { node: '>= 0.4' } dev: true - /is-core-module/2.9.0: + /is-core-module@2.9.0: resolution: { integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==, @@ -3100,7 +3543,7 @@ packages: has: 1.0.3 dev: true - /is-date-object/1.0.5: + /is-date-object@1.0.5: resolution: { integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==, @@ -3110,7 +3553,7 @@ packages: has-tostringtag: 1.0.0 dev: true - /is-docker/2.2.1: + /is-docker@2.2.1: resolution: { integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==, @@ -3119,7 +3562,16 @@ packages: hasBin: true dev: false - /is-extglob/2.1.1: + /is-docker@3.0.0: + resolution: + { + integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + hasBin: true + dev: false + + /is-extglob@2.1.1: resolution: { integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, @@ -3127,14 +3579,14 @@ packages: engines: { node: '>=0.10.0' } dev: true - /is-fullwidth-code-point/3.0.0: + /is-fullwidth-code-point@3.0.0: resolution: { integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, } engines: { node: '>=8' } - /is-fullwidth-code-point/4.0.0: + /is-fullwidth-code-point@4.0.0: resolution: { integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==, @@ -3142,7 +3594,7 @@ packages: engines: { node: '>=12' } dev: true - /is-glob/4.0.3: + /is-glob@4.0.3: resolution: { integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, @@ -3152,7 +3604,18 @@ packages: is-extglob: 2.1.1 dev: true - /is-negative-zero/2.0.2: + /is-inside-container@1.0.0: + resolution: + { + integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==, + } + engines: { node: '>=14.16' } + hasBin: true + dependencies: + is-docker: 3.0.0 + dev: false + + /is-negative-zero@2.0.2: resolution: { integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==, @@ -3160,7 +3623,7 @@ packages: engines: { node: '>= 0.4' } dev: true - /is-number-object/1.0.7: + /is-number-object@1.0.7: resolution: { integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==, @@ -3170,7 +3633,7 @@ packages: has-tostringtag: 1.0.0 dev: true - /is-number/7.0.0: + /is-number@7.0.0: resolution: { integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, @@ -3178,7 +3641,7 @@ packages: engines: { node: '>=0.12.0' } dev: true - /is-port-reachable/4.0.0: + /is-port-reachable@4.0.0: resolution: { integrity: sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==, @@ -3186,7 +3649,7 @@ packages: engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: false - /is-regex/1.1.4: + /is-regex@1.1.4: resolution: { integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==, @@ -3197,7 +3660,7 @@ packages: has-tostringtag: 1.0.0 dev: true - /is-shared-array-buffer/1.0.2: + /is-shared-array-buffer@1.0.2: resolution: { integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==, @@ -3206,14 +3669,14 @@ packages: call-bind: 1.0.2 dev: true - /is-stream/2.0.1: + /is-stream@2.0.1: resolution: { integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==, } engines: { node: '>=8' } - /is-stream/3.0.0: + /is-stream@3.0.0: resolution: { integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, @@ -3221,7 +3684,7 @@ packages: engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: true - /is-string/1.0.7: + /is-string@1.0.7: resolution: { integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==, @@ -3231,7 +3694,7 @@ packages: has-tostringtag: 1.0.0 dev: true - /is-symbol/1.0.4: + /is-symbol@1.0.4: resolution: { integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==, @@ -3241,7 +3704,7 @@ packages: has-symbols: 1.0.3 dev: true - /is-weakref/1.0.2: + /is-weakref@1.0.2: resolution: { integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==, @@ -3250,7 +3713,7 @@ packages: call-bind: 1.0.2 dev: true - /is-wsl/2.2.0: + /is-wsl@2.2.0: resolution: { integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==, @@ -3260,13 +3723,23 @@ packages: is-docker: 2.2.1 dev: false - /isexe/2.0.0: + /is-wsl@3.1.0: + resolution: + { + integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==, + } + engines: { node: '>=16' } + dependencies: + is-inside-container: 1.0.0 + dev: false + + /isexe@2.0.0: resolution: { integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, } - /istanbul-lib-coverage/3.2.0: + /istanbul-lib-coverage@3.2.0: resolution: { integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==, @@ -3274,7 +3747,7 @@ packages: engines: { node: '>=8' } dev: true - /istanbul-lib-report/3.0.0: + /istanbul-lib-report@3.0.0: resolution: { integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==, @@ -3286,7 +3759,7 @@ packages: supports-color: 7.2.0 dev: true - /istanbul-reports/3.1.4: + /istanbul-reports@3.1.4: resolution: { integrity: sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==, @@ -3297,14 +3770,14 @@ packages: istanbul-lib-report: 3.0.0 dev: true - /jju/1.4.0: + /jju@1.4.0: resolution: { integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==, } dev: true - /joycon/3.1.1: + /joycon@3.1.1: resolution: { integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==, @@ -3312,14 +3785,14 @@ packages: engines: { node: '>=10' } dev: true - /js-tokens/4.0.0: + /js-tokens@4.0.0: resolution: { integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, } dev: true - /js-yaml/4.1.0: + /js-yaml@4.1.0: resolution: { integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, @@ -3329,42 +3802,51 @@ packages: argparse: 2.0.1 dev: true - /json-buffer/3.0.1: + /jsesc@2.5.2: + resolution: + { + integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==, + } + engines: { node: '>=4' } + hasBin: true + dev: true + + /json-buffer@3.0.1: resolution: { integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, } dev: true - /json-parse-even-better-errors/2.3.1: + /json-parse-even-better-errors@2.3.1: resolution: { integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==, } dev: true - /json-schema-traverse/0.4.1: + /json-schema-traverse@0.4.1: resolution: { integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, } dev: true - /json-schema-traverse/1.0.0: + /json-schema-traverse@1.0.0: resolution: { integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, } dev: false - /json-stable-stringify-without-jsonify/1.0.1: + /json-stable-stringify-without-jsonify@1.0.1: resolution: { integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, } dev: true - /json5/1.0.1: + /json5@1.0.1: resolution: { integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==, @@ -3374,7 +3856,16 @@ packages: minimist: 1.2.6 dev: true - /jsx-ast-utils/3.3.2: + /json5@2.2.3: + resolution: + { + integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, + } + engines: { node: '>=6' } + hasBin: true + dev: true + + /jsx-ast-utils@3.3.2: resolution: { integrity: sha512-4ZCADZHRkno244xlNnn4AOG6sRQ7iBZ5BbgZ4vW4y5IZw7cVUD1PPeblm1xx/nfmMxPdt/LHsXZW8z/j58+l9Q==, @@ -3385,7 +3876,7 @@ packages: object.assign: 4.1.2 dev: true - /keyv/4.3.2: + /keyv@4.3.2: resolution: { integrity: sha512-kn8WmodVBe12lmHpA6W8OY7SNh6wVR+Z+wZESF4iF5FCazaVXGWOtnbnvX0tMQ1bO+/TmOD9LziuYMvrIIs0xw==, @@ -3395,14 +3886,14 @@ packages: json-buffer: 3.0.1 dev: true - /language-subtag-registry/0.3.22: + /language-subtag-registry@0.3.22: resolution: { integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==, } dev: true - /language-tags/1.0.5: + /language-tags@1.0.5: resolution: { integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==, @@ -3411,7 +3902,7 @@ packages: language-subtag-registry: 0.3.22 dev: true - /levn/0.4.1: + /levn@0.4.1: resolution: { integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, @@ -3422,7 +3913,7 @@ packages: type-check: 0.4.0 dev: true - /lilconfig/2.0.5: + /lilconfig@2.0.5: resolution: { integrity: sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==, @@ -3430,14 +3921,14 @@ packages: engines: { node: '>=10' } dev: true - /lines-and-columns/1.2.4: + /lines-and-columns@1.2.4: resolution: { integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, } dev: true - /lint-staged/13.0.3: + /lint-staged@13.0.3: resolution: { integrity: sha512-9hmrwSCFroTSYLjflGI8Uk+GWAwMB4OlpU4bMJEAT5d/llQwtYKoim4bLOyLCuWFAhWEupE0vkIFqtw/WIsPug==, @@ -3463,7 +3954,7 @@ packages: - supports-color dev: true - /listr2/4.0.5: + /listr2@4.0.5: resolution: { integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==, @@ -3485,7 +3976,7 @@ packages: wrap-ansi: 7.0.0 dev: true - /load-tsconfig/0.2.3: + /load-tsconfig@0.2.3: resolution: { integrity: sha512-iyT2MXws+dc2Wi6o3grCFtGXpeMvHmJqS27sMPGtV2eUu4PeFnG+33I8BlFK1t1NWMjOpcx9bridn5yxLDX2gQ==, @@ -3493,7 +3984,7 @@ packages: engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: true - /local-pkg/0.4.2: + /local-pkg@0.4.2: resolution: { integrity: sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==, @@ -3501,7 +3992,7 @@ packages: engines: { node: '>=14' } dev: true - /locate-path/2.0.0: + /locate-path@2.0.0: resolution: { integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==, @@ -3512,7 +4003,7 @@ packages: path-exists: 3.0.0 dev: true - /locate-path/5.0.0: + /locate-path@5.0.0: resolution: { integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==, @@ -3522,7 +4013,7 @@ packages: p-locate: 4.1.0 dev: true - /locate-path/6.0.0: + /locate-path@6.0.0: resolution: { integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, @@ -3532,28 +4023,28 @@ packages: p-locate: 5.0.0 dev: true - /lodash.merge/4.6.2: + /lodash.merge@4.6.2: resolution: { integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, } dev: true - /lodash.sortby/4.7.0: + /lodash.sortby@4.7.0: resolution: { integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==, } dev: true - /lodash/4.17.21: + /lodash@4.17.21: resolution: { integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==, } dev: true - /log-update/4.0.0: + /log-update@4.0.0: resolution: { integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==, @@ -3566,7 +4057,7 @@ packages: wrap-ansi: 6.2.0 dev: true - /loose-envify/1.4.0: + /loose-envify@1.4.0: resolution: { integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==, @@ -3576,7 +4067,7 @@ packages: js-tokens: 4.0.0 dev: true - /loupe/2.3.4: + /loupe@2.3.4: resolution: { integrity: sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==, @@ -3585,7 +4076,7 @@ packages: get-func-name: 2.0.0 dev: true - /lowercase-keys/2.0.0: + /lowercase-keys@2.0.0: resolution: { integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==, @@ -3593,7 +4084,7 @@ packages: engines: { node: '>=8' } dev: true - /lowercase-keys/3.0.0: + /lowercase-keys@3.0.0: resolution: { integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==, @@ -3601,7 +4092,16 @@ packages: engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: true - /lru-cache/6.0.0: + /lru-cache@5.1.1: + resolution: + { + integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==, + } + dependencies: + yallist: 3.1.1 + dev: true + + /lru-cache@6.0.0: resolution: { integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, @@ -3611,7 +4111,7 @@ packages: yallist: 4.0.0 dev: true - /make-dir/3.1.0: + /make-dir@3.1.0: resolution: { integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==, @@ -3621,13 +4121,13 @@ packages: semver: 6.3.0 dev: true - /merge-stream/2.0.0: + /merge-stream@2.0.0: resolution: { integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, } - /merge2/1.4.1: + /merge2@1.4.1: resolution: { integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, @@ -3635,7 +4135,7 @@ packages: engines: { node: '>= 8' } dev: true - /micromatch/4.0.5: + /micromatch@4.0.5: resolution: { integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==, @@ -3646,7 +4146,7 @@ packages: picomatch: 2.3.1 dev: true - /mime-db/1.33.0: + /mime-db@1.33.0: resolution: { integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==, @@ -3654,7 +4154,7 @@ packages: engines: { node: '>= 0.6' } dev: false - /mime-db/1.52.0: + /mime-db@1.52.0: resolution: { integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, @@ -3662,7 +4162,7 @@ packages: engines: { node: '>= 0.6' } dev: false - /mime-types/2.1.18: + /mime-types@2.1.18: resolution: { integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==, @@ -3672,7 +4172,7 @@ packages: mime-db: 1.33.0 dev: false - /mime-types/2.1.35: + /mime-types@2.1.35: resolution: { integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, @@ -3682,14 +4182,14 @@ packages: mime-db: 1.52.0 dev: false - /mimic-fn/2.1.0: + /mimic-fn@2.1.0: resolution: { integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, } engines: { node: '>=6' } - /mimic-fn/4.0.0: + /mimic-fn@4.0.0: resolution: { integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, @@ -3697,7 +4197,7 @@ packages: engines: { node: '>=12' } dev: true - /mimic-response/1.0.1: + /mimic-response@1.0.1: resolution: { integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==, @@ -3705,7 +4205,7 @@ packages: engines: { node: '>=4' } dev: true - /mimic-response/3.1.0: + /mimic-response@3.1.0: resolution: { integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==, @@ -3713,7 +4213,7 @@ packages: engines: { node: '>=10' } dev: true - /min-indent/1.0.1: + /min-indent@1.0.1: resolution: { integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==, @@ -3721,7 +4221,7 @@ packages: engines: { node: '>=4' } dev: true - /minimatch/3.1.2: + /minimatch@3.1.2: resolution: { integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, @@ -3729,33 +4229,33 @@ packages: dependencies: brace-expansion: 1.1.11 - /minimist/1.2.6: + /minimist@1.2.6: resolution: { integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==, } - /ms/2.0.0: + /ms@2.0.0: resolution: { integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==, } - /ms/2.1.2: + /ms@2.1.2: resolution: { integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, } dev: true - /ms/2.1.3: + /ms@2.1.3: resolution: { integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, } dev: true - /mz/2.7.0: + /mz@2.7.0: resolution: { integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==, @@ -3766,7 +4266,7 @@ packages: thenify-all: 1.6.0 dev: true - /nanoid/3.3.4: + /nanoid@3.3.4: resolution: { integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==, @@ -3775,14 +4275,22 @@ packages: hasBin: true dev: true - /natural-compare/1.4.0: + /natural-compare@1.4.0: resolution: { integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, } dev: true - /negotiator/0.6.3: + /ncp@2.0.0: + resolution: + { + integrity: sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==, + } + hasBin: true + dev: true + + /negotiator@0.6.3: resolution: { integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==, @@ -3790,7 +4298,14 @@ packages: engines: { node: '>= 0.6' } dev: false - /normalize-package-data/2.5.0: + /node-releases@2.0.14: + resolution: + { + integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==, + } + dev: true + + /normalize-package-data@2.5.0: resolution: { integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==, @@ -3802,7 +4317,7 @@ packages: validate-npm-package-license: 3.0.4 dev: true - /normalize-path/3.0.0: + /normalize-path@3.0.0: resolution: { integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, @@ -3810,7 +4325,7 @@ packages: engines: { node: '>=0.10.0' } dev: true - /normalize-url/6.1.0: + /normalize-url@6.1.0: resolution: { integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==, @@ -3818,7 +4333,7 @@ packages: engines: { node: '>=10' } dev: true - /npm-run-path/4.0.1: + /npm-run-path@4.0.1: resolution: { integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, @@ -3827,7 +4342,7 @@ packages: dependencies: path-key: 3.1.1 - /npm-run-path/5.1.0: + /npm-run-path@5.1.0: resolution: { integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==, @@ -3837,7 +4352,7 @@ packages: path-key: 4.0.0 dev: true - /object-assign/4.1.1: + /object-assign@4.1.1: resolution: { integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, @@ -3845,14 +4360,14 @@ packages: engines: { node: '>=0.10.0' } dev: true - /object-inspect/1.12.2: + /object-inspect@1.12.2: resolution: { integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==, } dev: true - /object-keys/1.1.1: + /object-keys@1.1.1: resolution: { integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==, @@ -3860,7 +4375,7 @@ packages: engines: { node: '>= 0.4' } dev: true - /object.assign/4.1.2: + /object.assign@4.1.2: resolution: { integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==, @@ -3873,7 +4388,7 @@ packages: object-keys: 1.1.1 dev: true - /object.entries/1.1.5: + /object.entries@1.1.5: resolution: { integrity: sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==, @@ -3885,7 +4400,7 @@ packages: es-abstract: 1.20.1 dev: true - /object.fromentries/2.0.5: + /object.fromentries@2.0.5: resolution: { integrity: sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==, @@ -3897,7 +4412,7 @@ packages: es-abstract: 1.20.1 dev: true - /object.hasown/1.1.1: + /object.hasown@1.1.1: resolution: { integrity: sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==, @@ -3907,7 +4422,7 @@ packages: es-abstract: 1.20.1 dev: true - /object.values/1.1.5: + /object.values@1.1.5: resolution: { integrity: sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==, @@ -3919,7 +4434,7 @@ packages: es-abstract: 1.20.1 dev: true - /on-headers/1.0.2: + /on-headers@1.0.2: resolution: { integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==, @@ -3927,7 +4442,7 @@ packages: engines: { node: '>= 0.8' } dev: false - /once/1.4.0: + /once@1.4.0: resolution: { integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, @@ -3936,7 +4451,7 @@ packages: wrappy: 1.0.2 dev: true - /onetime/5.1.2: + /onetime@5.1.2: resolution: { integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, @@ -3945,7 +4460,7 @@ packages: dependencies: mimic-fn: 2.1.0 - /onetime/6.0.0: + /onetime@6.0.0: resolution: { integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, @@ -3955,7 +4470,20 @@ packages: mimic-fn: 4.0.0 dev: true - /optionator/0.9.1: + /open@10.0.3: + resolution: + { + integrity: sha512-dtbI5oW7987hwC9qjJTyABldTaa19SuyJse1QboWv3b0qCcrrLNVDqBx1XgELAjh9QTVQaP/C5b1nhQebd1H2A==, + } + engines: { node: '>=18' } + dependencies: + default-browser: 5.2.1 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 3.1.0 + dev: false + + /optionator@0.9.1: resolution: { integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==, @@ -3970,7 +4498,7 @@ packages: word-wrap: 1.2.3 dev: true - /p-cancelable/3.0.0: + /p-cancelable@3.0.0: resolution: { integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==, @@ -3978,7 +4506,7 @@ packages: engines: { node: '>=12.20' } dev: true - /p-limit/1.3.0: + /p-limit@1.3.0: resolution: { integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==, @@ -3988,7 +4516,7 @@ packages: p-try: 1.0.0 dev: true - /p-limit/2.3.0: + /p-limit@2.3.0: resolution: { integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==, @@ -3998,7 +4526,7 @@ packages: p-try: 2.2.0 dev: true - /p-limit/3.1.0: + /p-limit@3.1.0: resolution: { integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, @@ -4008,7 +4536,7 @@ packages: yocto-queue: 0.1.0 dev: true - /p-locate/2.0.0: + /p-locate@2.0.0: resolution: { integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==, @@ -4018,7 +4546,7 @@ packages: p-limit: 1.3.0 dev: true - /p-locate/4.1.0: + /p-locate@4.1.0: resolution: { integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==, @@ -4028,7 +4556,7 @@ packages: p-limit: 2.3.0 dev: true - /p-locate/5.0.0: + /p-locate@5.0.0: resolution: { integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, @@ -4038,7 +4566,7 @@ packages: p-limit: 3.1.0 dev: true - /p-map/4.0.0: + /p-map@4.0.0: resolution: { integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==, @@ -4048,7 +4576,7 @@ packages: aggregate-error: 3.1.0 dev: true - /p-try/1.0.0: + /p-try@1.0.0: resolution: { integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==, @@ -4056,7 +4584,7 @@ packages: engines: { node: '>=4' } dev: true - /p-try/2.2.0: + /p-try@2.2.0: resolution: { integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==, @@ -4064,7 +4592,7 @@ packages: engines: { node: '>=6' } dev: true - /parent-module/1.0.1: + /parent-module@1.0.1: resolution: { integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, @@ -4074,7 +4602,7 @@ packages: callsites: 3.1.0 dev: true - /parse-json/5.2.0: + /parse-json@5.2.0: resolution: { integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==, @@ -4087,7 +4615,7 @@ packages: lines-and-columns: 1.2.4 dev: true - /path-exists/3.0.0: + /path-exists@3.0.0: resolution: { integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==, @@ -4095,7 +4623,7 @@ packages: engines: { node: '>=4' } dev: true - /path-exists/4.0.0: + /path-exists@4.0.0: resolution: { integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, @@ -4103,7 +4631,7 @@ packages: engines: { node: '>=8' } dev: true - /path-is-absolute/1.0.1: + /path-is-absolute@1.0.1: resolution: { integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, @@ -4111,21 +4639,21 @@ packages: engines: { node: '>=0.10.0' } dev: true - /path-is-inside/1.0.2: + /path-is-inside@1.0.2: resolution: { integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==, } dev: false - /path-key/3.1.1: + /path-key@3.1.1: resolution: { integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, } engines: { node: '>=8' } - /path-key/4.0.0: + /path-key@4.0.0: resolution: { integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, @@ -4133,21 +4661,21 @@ packages: engines: { node: '>=12' } dev: true - /path-parse/1.0.7: + /path-parse@1.0.7: resolution: { integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, } dev: true - /path-to-regexp/2.2.1: + /path-to-regexp@2.2.1: resolution: { integrity: sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==, } dev: false - /path-type/4.0.0: + /path-type@4.0.0: resolution: { integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==, @@ -4155,21 +4683,21 @@ packages: engines: { node: '>=8' } dev: true - /pathval/1.1.1: + /pathval@1.1.1: resolution: { integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==, } dev: true - /picocolors/1.0.0: + /picocolors@1.0.0: resolution: { integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, } dev: true - /picomatch/2.3.1: + /picomatch@2.3.1: resolution: { integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, @@ -4177,7 +4705,7 @@ packages: engines: { node: '>=8.6' } dev: true - /pidtree/0.6.0: + /pidtree@0.6.0: resolution: { integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==, @@ -4186,7 +4714,7 @@ packages: hasBin: true dev: true - /pirates/4.0.5: + /pirates@4.0.5: resolution: { integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==, @@ -4194,7 +4722,7 @@ packages: engines: { node: '>= 6' } dev: true - /pluralize/8.0.0: + /pluralize@8.0.0: resolution: { integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==, @@ -4202,7 +4730,7 @@ packages: engines: { node: '>=4' } dev: true - /postcss-load-config/3.1.4: + /postcss-load-config@3.1.4: resolution: { integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==, @@ -4221,7 +4749,7 @@ packages: yaml: 1.10.2 dev: true - /postcss/8.4.14: + /postcss@8.4.14: resolution: { integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==, @@ -4233,7 +4761,7 @@ packages: source-map-js: 1.0.2 dev: true - /prelude-ls/1.2.1: + /prelude-ls@1.2.1: resolution: { integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, @@ -4241,7 +4769,7 @@ packages: engines: { node: '>= 0.8.0' } dev: true - /prettier/2.7.1: + /prettier@2.7.1: resolution: { integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==, @@ -4250,7 +4778,7 @@ packages: hasBin: true dev: true - /prop-types/15.8.1: + /prop-types@15.8.1: resolution: { integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==, @@ -4261,7 +4789,7 @@ packages: react-is: 16.13.1 dev: true - /pump/3.0.0: + /pump@3.0.0: resolution: { integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, @@ -4271,28 +4799,28 @@ packages: once: 1.4.0 dev: true - /punycode/1.4.1: + /punycode@1.4.1: resolution: { integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==, } dev: false - /punycode/2.1.1: + /punycode@2.1.1: resolution: { integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==, } engines: { node: '>=6' } - /queue-microtask/1.2.3: + /queue-microtask@1.2.3: resolution: { integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, } dev: true - /quick-lru/5.1.1: + /quick-lru@5.1.1: resolution: { integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==, @@ -4300,7 +4828,7 @@ packages: engines: { node: '>=10' } dev: true - /range-parser/1.2.0: + /range-parser@1.2.0: resolution: { integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==, @@ -4308,7 +4836,7 @@ packages: engines: { node: '>= 0.6' } dev: false - /rc/1.2.8: + /rc@1.2.8: resolution: { integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==, @@ -4321,14 +4849,14 @@ packages: strip-json-comments: 2.0.1 dev: false - /react-is/16.13.1: + /react-is@16.13.1: resolution: { integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==, } dev: true - /read-pkg-up/7.0.1: + /read-pkg-up@7.0.1: resolution: { integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==, @@ -4340,7 +4868,7 @@ packages: type-fest: 0.8.1 dev: true - /read-pkg/5.2.0: + /read-pkg@5.2.0: resolution: { integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==, @@ -4353,7 +4881,7 @@ packages: type-fest: 0.6.0 dev: true - /readdirp/3.6.0: + /readdirp@3.6.0: resolution: { integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, @@ -4363,14 +4891,14 @@ packages: picomatch: 2.3.1 dev: true - /regenerator-runtime/0.13.9: + /regenerator-runtime@0.13.9: resolution: { integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==, } dev: true - /regexp-tree/0.1.24: + /regexp-tree@0.1.24: resolution: { integrity: sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==, @@ -4378,7 +4906,7 @@ packages: hasBin: true dev: true - /regexp.prototype.flags/1.4.3: + /regexp.prototype.flags@1.4.3: resolution: { integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==, @@ -4390,7 +4918,7 @@ packages: functions-have-names: 1.2.3 dev: true - /regexpp/3.2.0: + /regexpp@3.2.0: resolution: { integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==, @@ -4398,7 +4926,7 @@ packages: engines: { node: '>=8' } dev: true - /registry-auth-token/3.3.2: + /registry-auth-token@3.3.2: resolution: { integrity: sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==, @@ -4408,7 +4936,7 @@ packages: safe-buffer: 5.2.1 dev: false - /registry-url/3.1.0: + /registry-url@3.1.0: resolution: { integrity: sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==, @@ -4418,7 +4946,7 @@ packages: rc: 1.2.8 dev: false - /require-directory/2.1.1: + /require-directory@2.1.1: resolution: { integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, @@ -4426,7 +4954,7 @@ packages: engines: { node: '>=0.10.0' } dev: true - /require-from-string/2.0.2: + /require-from-string@2.0.2: resolution: { integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, @@ -4434,14 +4962,14 @@ packages: engines: { node: '>=0.10.0' } dev: false - /resolve-alpn/1.2.1: + /resolve-alpn@1.2.1: resolution: { integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==, } dev: true - /resolve-from/4.0.0: + /resolve-from@4.0.0: resolution: { integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, @@ -4449,7 +4977,7 @@ packages: engines: { node: '>=4' } dev: true - /resolve-from/5.0.0: + /resolve-from@5.0.0: resolution: { integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==, @@ -4457,7 +4985,7 @@ packages: engines: { node: '>=8' } dev: true - /resolve/1.19.0: + /resolve@1.19.0: resolution: { integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==, @@ -4467,7 +4995,7 @@ packages: path-parse: 1.0.7 dev: true - /resolve/1.22.1: + /resolve@1.22.1: resolution: { integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==, @@ -4479,7 +5007,7 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: true - /resolve/2.0.0-next.4: + /resolve@2.0.0-next.4: resolution: { integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==, @@ -4491,7 +5019,7 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: true - /responselike/2.0.0: + /responselike@2.0.0: resolution: { integrity: sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==, @@ -4500,7 +5028,7 @@ packages: lowercase-keys: 2.0.0 dev: true - /restore-cursor/3.1.0: + /restore-cursor@3.1.0: resolution: { integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==, @@ -4511,7 +5039,7 @@ packages: signal-exit: 3.0.7 dev: true - /reusify/1.0.4: + /reusify@1.0.4: resolution: { integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, @@ -4519,14 +5047,14 @@ packages: engines: { iojs: '>=1.0.0', node: '>=0.10.0' } dev: true - /rfdc/1.3.0: + /rfdc@1.3.0: resolution: { integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==, } dev: true - /rimraf/3.0.2: + /rimraf@3.0.2: resolution: { integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, @@ -4536,7 +5064,7 @@ packages: glob: 7.2.3 dev: true - /rollup/2.76.0: + /rollup@2.76.0: resolution: { integrity: sha512-9jwRIEY1jOzKLj3nsY/yot41r19ITdQrhs+q3ggNWhr9TQgduHqANvPpS32RNpzGklJu3G1AJfvlZLi/6wFgWA==, @@ -4547,7 +5075,15 @@ packages: fsevents: 2.3.2 dev: true - /run-parallel/1.2.0: + /run-applescript@7.0.0: + resolution: + { + integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==, + } + engines: { node: '>=18' } + dev: false + + /run-parallel@1.2.0: resolution: { integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, @@ -4556,7 +5092,7 @@ packages: queue-microtask: 1.2.3 dev: true - /rxjs/7.5.5: + /rxjs@7.5.5: resolution: { integrity: sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==, @@ -4565,20 +5101,20 @@ packages: tslib: 2.4.0 dev: true - /safe-buffer/5.1.2: + /safe-buffer@5.1.2: resolution: { integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==, } - /safe-buffer/5.2.1: + /safe-buffer@5.2.1: resolution: { integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, } dev: false - /safe-regex/2.1.1: + /safe-regex@2.1.1: resolution: { integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==, @@ -4587,7 +5123,7 @@ packages: regexp-tree: 0.1.24 dev: true - /semver/5.7.1: + /semver@5.7.1: resolution: { integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==, @@ -4595,7 +5131,7 @@ packages: hasBin: true dev: true - /semver/6.3.0: + /semver@6.3.0: resolution: { integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==, @@ -4603,7 +5139,15 @@ packages: hasBin: true dev: true - /semver/7.3.7: + /semver@6.3.1: + resolution: + { + integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==, + } + hasBin: true + dev: true + + /semver@7.3.7: resolution: { integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==, @@ -4614,7 +5158,7 @@ packages: lru-cache: 6.0.0 dev: true - /serve-handler/6.1.5: + /serve-handler@6.1.5: resolution: { integrity: sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==, @@ -4630,7 +5174,7 @@ packages: range-parser: 1.2.0 dev: false - /shebang-command/2.0.0: + /shebang-command@2.0.0: resolution: { integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, @@ -4639,14 +5183,14 @@ packages: dependencies: shebang-regex: 3.0.0 - /shebang-regex/3.0.0: + /shebang-regex@3.0.0: resolution: { integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, } engines: { node: '>=8' } - /side-channel/1.0.4: + /side-channel@1.0.4: resolution: { integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==, @@ -4657,13 +5201,13 @@ packages: object-inspect: 1.12.2 dev: true - /signal-exit/3.0.7: + /signal-exit@3.0.7: resolution: { integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, } - /slash/3.0.0: + /slash@3.0.0: resolution: { integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, @@ -4671,7 +5215,7 @@ packages: engines: { node: '>=8' } dev: true - /slice-ansi/3.0.0: + /slice-ansi@3.0.0: resolution: { integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==, @@ -4683,7 +5227,7 @@ packages: is-fullwidth-code-point: 3.0.0 dev: true - /slice-ansi/4.0.0: + /slice-ansi@4.0.0: resolution: { integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==, @@ -4695,7 +5239,7 @@ packages: is-fullwidth-code-point: 3.0.0 dev: true - /slice-ansi/5.0.0: + /slice-ansi@5.0.0: resolution: { integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==, @@ -4706,7 +5250,7 @@ packages: is-fullwidth-code-point: 4.0.0 dev: true - /source-map-js/1.0.2: + /source-map-js@1.0.2: resolution: { integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, @@ -4714,7 +5258,7 @@ packages: engines: { node: '>=0.10.0' } dev: true - /source-map-support/0.5.21: + /source-map-support@0.5.21: resolution: { integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==, @@ -4724,7 +5268,7 @@ packages: source-map: 0.6.1 dev: true - /source-map/0.6.1: + /source-map@0.6.1: resolution: { integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, @@ -4732,7 +5276,7 @@ packages: engines: { node: '>=0.10.0' } dev: true - /source-map/0.8.0-beta.0: + /source-map@0.8.0-beta.0: resolution: { integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==, @@ -4742,7 +5286,7 @@ packages: whatwg-url: 7.1.0 dev: true - /spdx-correct/3.1.1: + /spdx-correct@3.1.1: resolution: { integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==, @@ -4752,14 +5296,14 @@ packages: spdx-license-ids: 3.0.11 dev: true - /spdx-exceptions/2.3.0: + /spdx-exceptions@2.3.0: resolution: { integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==, } dev: true - /spdx-expression-parse/3.0.1: + /spdx-expression-parse@3.0.1: resolution: { integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==, @@ -4769,14 +5313,14 @@ packages: spdx-license-ids: 3.0.11 dev: true - /spdx-license-ids/3.0.11: + /spdx-license-ids@3.0.11: resolution: { integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==, } dev: true - /string-argv/0.3.1: + /string-argv@0.3.1: resolution: { integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==, @@ -4784,7 +5328,7 @@ packages: engines: { node: '>=0.6.19' } dev: true - /string-width/4.2.3: + /string-width@4.2.3: resolution: { integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, @@ -4795,7 +5339,7 @@ packages: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - /string-width/5.1.2: + /string-width@5.1.2: resolution: { integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==, @@ -4806,7 +5350,7 @@ packages: emoji-regex: 9.2.2 strip-ansi: 7.0.1 - /string.prototype.matchall/4.0.7: + /string.prototype.matchall@4.0.7: resolution: { integrity: sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==, @@ -4822,7 +5366,7 @@ packages: side-channel: 1.0.4 dev: true - /string.prototype.trimend/1.0.5: + /string.prototype.trimend@1.0.5: resolution: { integrity: sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==, @@ -4833,7 +5377,7 @@ packages: es-abstract: 1.20.1 dev: true - /string.prototype.trimstart/1.0.5: + /string.prototype.trimstart@1.0.5: resolution: { integrity: sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==, @@ -4844,7 +5388,7 @@ packages: es-abstract: 1.20.1 dev: true - /strip-ansi/6.0.1: + /strip-ansi@6.0.1: resolution: { integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, @@ -4853,7 +5397,7 @@ packages: dependencies: ansi-regex: 5.0.1 - /strip-ansi/7.0.1: + /strip-ansi@7.0.1: resolution: { integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==, @@ -4862,7 +5406,7 @@ packages: dependencies: ansi-regex: 6.0.1 - /strip-bom/3.0.0: + /strip-bom@3.0.0: resolution: { integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==, @@ -4870,14 +5414,14 @@ packages: engines: { node: '>=4' } dev: true - /strip-final-newline/2.0.0: + /strip-final-newline@2.0.0: resolution: { integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==, } engines: { node: '>=6' } - /strip-final-newline/3.0.0: + /strip-final-newline@3.0.0: resolution: { integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, @@ -4885,7 +5429,7 @@ packages: engines: { node: '>=12' } dev: true - /strip-indent/3.0.0: + /strip-indent@3.0.0: resolution: { integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==, @@ -4895,7 +5439,7 @@ packages: min-indent: 1.0.1 dev: true - /strip-json-comments/2.0.1: + /strip-json-comments@2.0.1: resolution: { integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==, @@ -4903,7 +5447,7 @@ packages: engines: { node: '>=0.10.0' } dev: false - /strip-json-comments/3.1.1: + /strip-json-comments@3.1.1: resolution: { integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, @@ -4911,7 +5455,7 @@ packages: engines: { node: '>=8' } dev: true - /sucrase/3.23.0: + /sucrase@3.23.0: resolution: { integrity: sha512-xgC1xboStzGhCnRywlBf/DLmkC+SkdAKqrNCDsxGrzM0phR5oUxoFKiQNrsc2D8wDdAm03iLbSZqjHDddo3IzQ==, @@ -4927,7 +5471,7 @@ packages: ts-interface-checker: 0.1.13 dev: true - /supports-color/5.5.0: + /supports-color@5.5.0: resolution: { integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, @@ -4937,7 +5481,7 @@ packages: has-flag: 3.0.0 dev: true - /supports-color/7.2.0: + /supports-color@7.2.0: resolution: { integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, @@ -4946,7 +5490,7 @@ packages: dependencies: has-flag: 4.0.0 - /supports-preserve-symlinks-flag/1.0.0: + /supports-preserve-symlinks-flag@1.0.0: resolution: { integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, @@ -4954,7 +5498,7 @@ packages: engines: { node: '>= 0.4' } dev: true - /test-exclude/6.0.0: + /test-exclude@6.0.0: resolution: { integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==, @@ -4966,14 +5510,14 @@ packages: minimatch: 3.1.2 dev: true - /text-table/0.2.0: + /text-table@0.2.0: resolution: { integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, } dev: true - /thenify-all/1.6.0: + /thenify-all@1.6.0: resolution: { integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==, @@ -4983,7 +5527,7 @@ packages: thenify: 3.3.1 dev: true - /thenify/3.3.1: + /thenify@3.3.1: resolution: { integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==, @@ -4992,14 +5536,14 @@ packages: any-promise: 1.3.0 dev: true - /through/2.3.8: + /through@2.3.8: resolution: { integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==, } dev: true - /tinypool/0.2.2: + /tinypool@0.2.2: resolution: { integrity: sha512-tp4n5OARNL3v8ntdJUyo5NsDfwvUtu8isB43USjrsQxQrADDKY6UGBkmFaw/2vNmEt8S/uSm2U5FhkiK1eAFGw==, @@ -5007,7 +5551,7 @@ packages: engines: { node: '>=14.0.0' } dev: true - /tinyspy/0.3.3: + /tinyspy@0.3.3: resolution: { integrity: sha512-gRiUR8fuhUf0W9lzojPf1N1euJYA30ISebSfgca8z76FOvXtVXqd5ojEIaKLWbDQhAaC3ibxZIjqbyi4ybjcTw==, @@ -5015,7 +5559,15 @@ packages: engines: { node: '>=14.0.0' } dev: true - /to-regex-range/5.0.1: + /to-fast-properties@2.0.0: + resolution: + { + integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, + } + engines: { node: '>=4' } + dev: true + + /to-regex-range@5.0.1: resolution: { integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, @@ -5025,7 +5577,7 @@ packages: is-number: 7.0.0 dev: true - /tr46/1.0.1: + /tr46@1.0.1: resolution: { integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==, @@ -5034,7 +5586,7 @@ packages: punycode: 2.1.1 dev: true - /tree-kill/1.2.2: + /tree-kill@1.2.2: resolution: { integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==, @@ -5042,14 +5594,14 @@ packages: hasBin: true dev: true - /ts-interface-checker/0.1.13: + /ts-interface-checker@0.1.13: resolution: { integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==, } dev: true - /tsconfig-paths/3.14.1: + /tsconfig-paths@3.14.1: resolution: { integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==, @@ -5061,21 +5613,21 @@ packages: strip-bom: 3.0.0 dev: true - /tslib/1.14.1: + /tslib@1.14.1: resolution: { integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==, } dev: true - /tslib/2.4.0: + /tslib@2.4.0: resolution: { integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==, } dev: true - /tsup/6.1.3_typescript@4.6.4: + /tsup@6.1.3(typescript@4.6.4): resolution: { integrity: sha512-eRpBnbfpDFng+EJNTQ90N7QAf4HAGGC7O3buHIjroKWK7D1ibk9/YnR/3cS8HsMU5T+6Oi+cnF+yU5WmCnB//Q==, @@ -5094,7 +5646,7 @@ packages: typescript: optional: true dependencies: - bundle-require: 3.0.4_esbuild@0.14.48 + bundle-require: 3.0.4(esbuild@0.14.48) cac: 6.7.12 chokidar: 3.5.3 debug: 4.3.4 @@ -5114,7 +5666,7 @@ packages: - ts-node dev: true - /tsutils/3.21.0_typescript@4.6.4: + /tsutils@3.21.0(typescript@4.6.4): resolution: { integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==, @@ -5127,7 +5679,7 @@ packages: typescript: 4.6.4 dev: true - /tsx/3.7.1: + /tsx@3.7.1: resolution: { integrity: sha512-dwl1GBdkwVQ9zRxTmETGi+ck8pewNm2QXh+HK6jHxdHmeCjfCL+Db3b4VX/dOMDSS2hle1j5LzQoo8OpVXu6XQ==, @@ -5141,7 +5693,7 @@ packages: fsevents: 2.3.2 dev: true - /type-check/0.4.0: + /type-check@0.4.0: resolution: { integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, @@ -5151,7 +5703,7 @@ packages: prelude-ls: 1.2.1 dev: true - /type-detect/4.0.8: + /type-detect@4.0.8: resolution: { integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, @@ -5159,7 +5711,7 @@ packages: engines: { node: '>=4' } dev: true - /type-fest/0.20.2: + /type-fest@0.20.2: resolution: { integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, @@ -5167,7 +5719,7 @@ packages: engines: { node: '>=10' } dev: true - /type-fest/0.21.3: + /type-fest@0.21.3: resolution: { integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==, @@ -5175,7 +5727,7 @@ packages: engines: { node: '>=10' } dev: true - /type-fest/0.6.0: + /type-fest@0.6.0: resolution: { integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==, @@ -5183,7 +5735,7 @@ packages: engines: { node: '>=8' } dev: true - /type-fest/0.8.1: + /type-fest@0.8.1: resolution: { integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==, @@ -5191,7 +5743,7 @@ packages: engines: { node: '>=8' } dev: true - /type-fest/2.16.0: + /type-fest@2.16.0: resolution: { integrity: sha512-qpaThT2HQkFb83gMOrdKVsfCN7LKxP26Yq+smPzY1FqoHRjqmjqHXA7n5Gkxi8efirtbeEUxzfEdePthQWCuHw==, @@ -5199,7 +5751,7 @@ packages: engines: { node: '>=12.20' } dev: false - /typescript/4.6.4: + /typescript@4.6.4: resolution: { integrity: sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==, @@ -5208,7 +5760,7 @@ packages: hasBin: true dev: true - /unbox-primitive/1.0.2: + /unbox-primitive@1.0.2: resolution: { integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==, @@ -5220,7 +5772,21 @@ packages: which-boxed-primitive: 1.0.2 dev: true - /update-check/1.5.4: + /update-browserslist-db@1.0.13(browserslist@4.22.3): + resolution: + { + integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==, + } + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.22.3 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + + /update-check@1.5.4: resolution: { integrity: sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==, @@ -5230,7 +5796,7 @@ packages: registry-url: 3.1.0 dev: false - /uri-js/4.4.1: + /uri-js@4.4.1: resolution: { integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, @@ -5238,14 +5804,14 @@ packages: dependencies: punycode: 2.1.1 - /v8-compile-cache/2.3.0: + /v8-compile-cache@2.3.0: resolution: { integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==, } dev: true - /v8-to-istanbul/9.0.1: + /v8-to-istanbul@9.0.1: resolution: { integrity: sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==, @@ -5257,7 +5823,7 @@ packages: convert-source-map: 1.8.0 dev: true - /validate-npm-package-license/3.0.4: + /validate-npm-package-license@3.0.4: resolution: { integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==, @@ -5267,7 +5833,7 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /vary/1.1.2: + /vary@1.1.2: resolution: { integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, @@ -5275,7 +5841,7 @@ packages: engines: { node: '>= 0.8' } dev: false - /vite/2.9.14: + /vite@2.9.14: resolution: { integrity: sha512-P/UCjSpSMcE54r4mPak55hWAZPlyfS369svib/gpmz8/01L822lMPOJ/RYW6tLCe1RPvMvOsJ17erf55bKp4Hw==, @@ -5302,7 +5868,7 @@ packages: fsevents: 2.3.2 dev: true - /vitest/0.18.0_c8@7.12.0: + /vitest@0.18.0(c8@7.12.0): resolution: { integrity: sha512-ryAtlh5Gvg3+aLNuOQ8YOHxgQCCu46jx40X5MBL0K0/ejB9i5zsr8fV8LTGXbXex80UMHlzceI9F+ouGaiR+mQ==, @@ -5344,14 +5910,14 @@ packages: - supports-color dev: true - /webidl-conversions/4.0.2: + /webidl-conversions@4.0.2: resolution: { integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==, } dev: true - /whatwg-url/7.1.0: + /whatwg-url@7.1.0: resolution: { integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==, @@ -5362,7 +5928,7 @@ packages: webidl-conversions: 4.0.2 dev: true - /which-boxed-primitive/1.0.2: + /which-boxed-primitive@1.0.2: resolution: { integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==, @@ -5375,7 +5941,7 @@ packages: is-symbol: 1.0.4 dev: true - /which/2.0.2: + /which@2.0.2: resolution: { integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, @@ -5385,7 +5951,7 @@ packages: dependencies: isexe: 2.0.0 - /widest-line/4.0.1: + /widest-line@4.0.1: resolution: { integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==, @@ -5395,7 +5961,7 @@ packages: string-width: 5.1.2 dev: false - /word-wrap/1.2.3: + /word-wrap@1.2.3: resolution: { integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==, @@ -5403,7 +5969,7 @@ packages: engines: { node: '>=0.10.0' } dev: true - /wrap-ansi/6.2.0: + /wrap-ansi@6.2.0: resolution: { integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==, @@ -5415,7 +5981,7 @@ packages: strip-ansi: 6.0.1 dev: true - /wrap-ansi/7.0.0: + /wrap-ansi@7.0.0: resolution: { integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, @@ -5427,7 +5993,7 @@ packages: strip-ansi: 6.0.1 dev: true - /wrap-ansi/8.0.1: + /wrap-ansi@8.0.1: resolution: { integrity: sha512-QFF+ufAqhoYHvoHdajT/Po7KoXVBPXS2bgjIam5isfWJPfIOnQZ50JtUiVvCv/sjgacf3yRrt2ZKUZ/V4itN4g==, @@ -5439,14 +6005,14 @@ packages: strip-ansi: 7.0.1 dev: false - /wrappy/1.0.2: + /wrappy@1.0.2: resolution: { integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, } dev: true - /y18n/5.0.8: + /y18n@5.0.8: resolution: { integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, @@ -5454,14 +6020,21 @@ packages: engines: { node: '>=10' } dev: true - /yallist/4.0.0: + /yallist@3.1.1: + resolution: + { + integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==, + } + dev: true + + /yallist@4.0.0: resolution: { integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, } dev: true - /yaml/1.10.2: + /yaml@1.10.2: resolution: { integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==, @@ -5469,7 +6042,7 @@ packages: engines: { node: '>= 6' } dev: true - /yaml/2.1.1: + /yaml@2.1.1: resolution: { integrity: sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==, @@ -5477,7 +6050,7 @@ packages: engines: { node: '>= 14' } dev: true - /yargs-parser/20.2.9: + /yargs-parser@20.2.9: resolution: { integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==, @@ -5485,7 +6058,7 @@ packages: engines: { node: '>=10' } dev: true - /yargs/16.2.0: + /yargs@16.2.0: resolution: { integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==, @@ -5501,7 +6074,7 @@ packages: yargs-parser: 20.2.9 dev: true - /yocto-queue/0.1.0: + /yocto-queue@0.1.0: resolution: { integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, diff --git a/source/bin/openChrome.applescript b/source/bin/openChrome.applescript new file mode 100644 index 00000000..56477bff --- /dev/null +++ b/source/bin/openChrome.applescript @@ -0,0 +1,95 @@ +(* +Copyright (c) 2015-present, Facebook, Inc. + +This source code is licensed under the MIT license found in the +LICENSE file at +https://github.com/facebookincubator/create-react-app/blob/master/LICENSE +*) + +property targetTab: null +property targetTabIndex: -1 +property targetWindow: null +property theProgram: "Google Chrome" + +on run argv + set theURL to item 1 of argv + + -- Allow requested program to be optional, + -- default to Google Chrome + if (count of argv) > 1 then + set theProgram to item 2 of argv + end if + + using terms from application "Google Chrome" + tell application theProgram + + if (count every window) = 0 then + make new window + end if + + -- 1: Looking for tab running debugger + -- then, Reload debugging tab if found + -- then return + set found to my lookupTabWithUrl(theURL) + if found then + set targetWindow's active tab index to targetTabIndex + tell targetTab to reload + tell targetWindow to activate + set index of targetWindow to 1 + return + end if + + -- 2: Looking for Empty tab + -- In case debugging tab was not found + -- We try to find an empty tab instead + set found to my lookupTabWithUrl("chrome://newtab/") + if found then + set targetWindow's active tab index to targetTabIndex + set URL of targetTab to theURL + tell targetWindow to activate + return + end if + + -- 3: Create new tab + -- both debugging and empty tab were not found + -- make a new tab with url + tell window 1 + activate + make new tab with properties {URL:theURL} + end tell + end tell + end using terms from +end run + +-- Function: +-- Lookup tab with given url +-- if found, store tab, index, and window in properties +-- (properties were declared on top of file) +on lookupTabWithUrl(lookupUrl) + using terms from application "Google Chrome" + tell application theProgram + -- Find a tab with the given url + set found to false + set theTabIndex to -1 + repeat with theWindow in every window + set theTabIndex to 0 + repeat with theTab in every tab of theWindow + set theTabIndex to theTabIndex + 1 + if (theTab's URL as string) contains lookupUrl then + -- assign tab, tab index, and window to properties + set targetTab to theTab + set targetTabIndex to theTabIndex + set targetWindow to theWindow + set found to true + exit repeat + end if + end repeat + + if found then + exit repeat + end if + end repeat + end tell + end using terms from + return found +end lookupTabWithUrl \ No newline at end of file diff --git a/source/main.ts b/source/main.ts index 8a375f1e..453a0c5f 100755 --- a/source/main.ts +++ b/source/main.ts @@ -19,6 +19,8 @@ import { } from './utilities/cli.js'; import { loadConfiguration } from './utilities/config.js'; import { logger } from './utilities/logger.js'; +import { bindCLIShortcuts } from './utilities/shortcuts'; +import { openBrowser } from './utilities/open-browser'; // Parse the options passed by the user. const [parseError, args] = await resolve(parseArguments()); @@ -89,15 +91,15 @@ if (args['--single']) { ]; } +const serverInstances = []; + // Start the server for each endpoint passed by the user. for (const endpoint of args['--listen']) { // Disabling this rule as we want to start each server one by one. // eslint-disable-next-line no-await-in-loop - const { local, network, previous } = await startServer( - endpoint, - config, - args, - ); + const serverInstance = await startServer(endpoint, config, args); + const { local, network, previous } = serverInstance; + serverInstances.push(serverInstance); const copyAddress = !args['--no-clipboard']; @@ -146,8 +148,20 @@ for (const endpoint of args['--listen']) { margin: 1, }), ); + + // Check if --open flag is set. + if (args['--open']) { + const url = serverInstance.local ?? serverInstance.network; + if (typeof url === 'string') { + openBrowser(url, true, logger); + } else { + logger.warn('No URL available to open in browser'); + } + } } +bindCLIShortcuts(serverInstances); + // Print out a message to let the user know we are shutting down the server // when they press Ctrl+C or kill the process externally. registerCloseListener(() => { diff --git a/source/types.ts b/source/types.ts index 9294d7c3..25f51da2 100644 --- a/source/types.ts +++ b/source/types.ts @@ -74,6 +74,7 @@ export declare interface Options { '--listen': ParsedEndpoint[]; '--single': boolean; '--debug': boolean; + '--open': boolean; '--config': Path; '--no-request-logging': boolean; '--no-clipboard': boolean; @@ -91,3 +92,12 @@ export declare interface Options { export declare type Arguments = Partial & { _: string[]; }; + +// Define logger interface +export declare interface Logger { + http: (...message: string[]) => void; + info: (...message: string[]) => void; + warn: (...message: string[]) => void; + error: (...message: string[]) => void; + log: (...message: string[]) => void; +} diff --git a/source/utilities/cli.ts b/source/utilities/cli.ts index 726c5268..79e6550a 100644 --- a/source/utilities/cli.ts +++ b/source/utilities/cli.ts @@ -42,6 +42,8 @@ const helpText = chalkTemplate` -d, --debug Show debugging information + -o, --open Open browser window after starting the server + -c, --config Specify custom path to \`serve.json\` -L, --no-request-logging Do not log any request information to the console. @@ -149,6 +151,7 @@ const options = { '--listen': [parseEndpoint] as [typeof parseEndpoint], '--single': Boolean, '--debug': Boolean, + '--open': Boolean, '--config': String, '--no-clipboard': Boolean, '--no-compression': Boolean, @@ -166,6 +169,7 @@ const options = { '-l': '--listen', '-s': '--single', '-d': '--debug', + '-o': '--open', '-c': '--config', '-n': '--no-clipboard', '-u': '--no-compression', diff --git a/source/utilities/open-browser.ts b/source/utilities/open-browser.ts new file mode 100644 index 00000000..4117f6e9 --- /dev/null +++ b/source/utilities/open-browser.ts @@ -0,0 +1,156 @@ +/** + * The following is modified based on source found in + * https://github.com/facebook/create-react-app + * + * MIT Licensed + * Copyright (c) 2015-present, Facebook, Inc. + * https://github.com/facebook/create-react-app/blob/master/LICENSE + * + */ + +import { join } from 'node:path'; +import { exec } from 'node:child_process'; +import open from 'open'; +import spawn from 'cross-spawn'; +import chalk from 'chalk'; +import { SERVE_PACKAGE_DIR } from './package-directory.js'; +import type { Logger } from '../types.js'; +import type { ExecOptions, ChildProcess } from 'node:child_process'; +import type { Options } from 'open'; +/** + * Reads the BROWSER environment variable and decides what to do with it. + */ +export function openBrowser( + url: string, + opt: string | true, + logger: Logger, // Logger, +): void { + // The browser executable to open. + // See https://github.com/sindresorhus/open#app for documentation. + const browser: string | undefined = + typeof opt === 'string' ? opt : process.env.BROWSER || ''; + if (browser.toLowerCase().endsWith('.js')) { + executeNodeScript(browser, url, logger); + } else if (browser.toLowerCase() !== 'none') { + const browserArgs = process.env.BROWSER_ARGS + ? process.env.BROWSER_ARGS.split(' ') + : []; + startBrowserProcess(browser, browserArgs, url, logger).catch((error) => { + logger.log(`Error: ${JSON.stringify(error)}`); + }); + } +} + +function executeNodeScript(scriptPath: string, url: string, logger: Logger) { + const extraArgs: string[] = process.argv.slice(2); + + const child: ChildProcess = spawn( + `${process.execPath}`, + [scriptPath, ...extraArgs, url], + { + stdio: 'inherit', + }, + ); + + child.on('close', (code) => { + if (code !== 0) { + logger.error( + chalk.red( + `\nThe script specified as BROWSER environment variable failed.\n\n${chalk.cyan( + scriptPath, + )} exited with code ${code ?? ''}.`, + ), + JSON.stringify({ error: null }), + ); + } + }); +} + +const supportedChromiumBrowsers = [ + 'Google Chrome Canary', + 'Google Chrome Dev', + 'Google Chrome Beta', + 'Google Chrome', + 'Microsoft Edge', + 'Brave Browser', + 'Vivaldi', + 'Chromium', +]; + +async function startBrowserProcess( + browserName: string | undefined, + browserArgs: string[], + url: string, + logger: Logger, +) { + let browser = browserName; + // If we're on OS X, the user hasn't specifically + // requested a different browser, we can try opening + // a Chromium browser with AppleScript. This lets us reuse an + // existing tab when possible instead of creating a new one. + const preferredOSXBrowser = + browser === 'google chrome' ? 'Google Chrome' : browser; + const shouldTryOpenChromeWithAppleScript = + process.platform === 'darwin' && + (!preferredOSXBrowser || + supportedChromiumBrowsers.includes(preferredOSXBrowser)); + + if (shouldTryOpenChromeWithAppleScript) { + try { + const ps = await execAsync('ps cax'); + const openedBrowser = + preferredOSXBrowser && ps.includes(preferredOSXBrowser) + ? preferredOSXBrowser + : supportedChromiumBrowsers.find((b) => ps.includes(b)); + if (openedBrowser) { + // Try our best to reuse existing tab with AppleScript + await execAsync( + `osascript openChrome.applescript "${encodeURI( + url, + )}" "${openedBrowser}"`, + { + cwd: join(SERVE_PACKAGE_DIR, 'bin'), + }, + ); + return true; + } + } catch (err) { + // Ignore errors + // console.log(err); + } + } + + // Another special case: on OS X, check if BROWSER has been set to "open". + // In this case, instead of passing the string `open` to `open` function (which won't work), + // just ignore it (thus ensuring the intended behavior, i.e. opening the system browser): + // https://github.com/facebook/create-react-app/pull/1690#issuecomment-283518768 + if (process.platform === 'darwin' && browser === 'open') { + browser = undefined; + } + + // Fallback to open + // (It will always open new tab) + try { + const options: Options | undefined = browser + ? { app: { name: browser, arguments: browserArgs } } + : {}; + open(url, options).catch((error) => { + logger.error(`Error: ${JSON.stringify(error, null, 2)}`); + }); // Prevent `unhandledRejection` error. + return true; + } catch (err) { + return false; + } +} + +function execAsync(command: string, options?: ExecOptions): Promise { + return new Promise((resolve, reject) => { + exec(command, options, (error, stdout) => { + if (error) { + reject(error); + } else { + resolve(stdout.toString()); + } + }); + }); +} diff --git a/source/utilities/package-directory.ts b/source/utilities/package-directory.ts new file mode 100644 index 00000000..0394e219 --- /dev/null +++ b/source/utilities/package-directory.ts @@ -0,0 +1,8 @@ +import { resolve } from 'node:path'; +import { fileURLToPath } from 'node:url'; + +export const SERVE_PACKAGE_DIR = resolve( + // import.meta.url is `build/main.js` after bundle + fileURLToPath(import.meta.url), + '../', +); diff --git a/source/utilities/shortcuts.ts b/source/utilities/shortcuts.ts new file mode 100644 index 00000000..33789aea --- /dev/null +++ b/source/utilities/shortcuts.ts @@ -0,0 +1,121 @@ +import readline from 'node:readline'; +import chalk from 'chalk'; +import { getHelpText } from '../utilities/cli.js'; +import { logger } from './logger'; +import { openBrowser } from './open-browser'; +import type { ServerAddress } from '../types.js'; + +export interface CLIShortcut { + key: string; + description: string; + action: (server?: ServerAddress) => void | Promise; + perServerInstance: boolean; +} + +const BASE_PREVIEW_SHORTCUTS: CLIShortcut[] = [ + { + key: 'o', + description: 'open in browser', + action(server) { + const url = server?.local ?? server?.network; + if (url) { + openBrowser(url, true, logger); + } else { + logger.warn('No URL available to open in browser'); + } + }, + perServerInstance: true, + }, + { + key: 'q', + description: 'quit', + action(/* server */) { + try { + // server.httpServer.close(); + } finally { + process.exit(); + } + }, + perServerInstance: false, + }, +]; + +type Servers = ServerAddress[]; + +export function bindCLIShortcuts(servers: Servers): void { + // Write some help info to the console. + logger.info( + chalk.dim(chalk.green(' ➜')) + + chalk.dim(' press ') + + chalk.bold('h + enter') + + chalk.dim(' to show help'), + ); + + const shortcuts = BASE_PREVIEW_SHORTCUTS; // In future you can concat mutliple arrays here. + + let actionRunning = false; + + const onInput = async (input: string) => { + if (actionRunning) return; + + if (input === 'h') { + const loggedKeys = new Set(); + logger.info(' Shortcuts'); + + for (const shortcut of shortcuts) { + if (loggedKeys.has(shortcut.key)) continue; + loggedKeys.add(shortcut.key); + + if (typeof shortcut.action !== 'function') continue; + + logger.info( + chalk.dim(' press ') + + chalk.bold(`${shortcut.key} + enter`) + + chalk.dim(` to ${shortcut.description}`), + ); + } + + logger.log(getHelpText()); + + return; + } + + const shortcut = shortcuts.find((shortcutTmp) => shortcutTmp.key === input); + + if (!shortcut || typeof shortcut.action !== 'function') return; + + actionRunning = true; + if (shortcut.perServerInstance) { + // We want to execute action for every server instance. + for (const server of servers) { + // eslint-disable-next-line no-await-in-loop + await shortcut.action(server); + } + } else { + await shortcut.action(); + } + actionRunning = false; + }; + + // Create single instance of the listener for readline. + const rl = readline.createInterface({ input: process.stdin }); + rl.on('line', (input) => { + onInput(input).catch((error) => { + logger.error(`Error handling input:`, JSON.stringify(error)); + }); + }); + + // Important! Close the readline interface when the server closes. + // server.httpServer.on('close', () => rl.close()); + + // In future; do above for all the servers if needed. + // let closedServers = 0; + // for (const server of servers) { + // server.httpServer.on('close', () => { + // closedServers++; + // if (closedServers === servers.length) { + // rl.close(); + // } + // }); + // } +} diff --git a/tests/__snapshots__/cli.test.ts.snap b/tests/__snapshots__/cli.test.ts.snap index 87996f27..6d5ea40a 100644 --- a/tests/__snapshots__/cli.test.ts.snap +++ b/tests/__snapshots__/cli.test.ts.snap @@ -31,6 +31,8 @@ exports[`utilities/cli > render help text 1`] = ` -d, --debug Show debugging information + -o, --open Open browser window after starting the server + -c, --config Specify custom path to \`serve.json\` -L, --no-request-logging Do not log any request information to the console.