diff --git a/packages/web/package.json b/packages/web/package.json index cb06599..1726430 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -1,6 +1,6 @@ { "name": "@vercel/analytics", - "version": "0.1.3", + "version": "0.1.4", "keywords": [ "analytics", "vercel" @@ -32,6 +32,7 @@ }, "scripts": { "build": "tsup", + "dev": "tsup --watch", "lint": "eslint .", "lint-fix": "eslint . --fix", "type-check": "tsc --noEmit" diff --git a/packages/web/src/generic.ts b/packages/web/src/generic.ts index 4b39e0d..916cdd9 100644 --- a/packages/web/src/generic.ts +++ b/packages/web/src/generic.ts @@ -1,23 +1,29 @@ import { initQueue } from './queue'; -import type { BeforeSend } from './types'; +import type { AnalyticsProps } from './types'; +import { isBrowser, isDevelopment } from './utils'; -const isBrowser = typeof window !== 'undefined'; - -export const inject = ({ - beforeSend, -}: { beforeSend?: BeforeSend } = {}): void => { - if (!isBrowser) return; +export const inject = ( + { beforeSend, debug }: AnalyticsProps = { debug: isDevelopment() }, +): void => { + if (!isBrowser()) return; initQueue(); if (beforeSend) { window.va?.('beforeSend', beforeSend); } + const src = isDevelopment() + ? 'https://cdn.vercel-insights.com/v1/script.debug.js' + : '/_vercel/insights/script.js'; - if (document.head.querySelector('script[src="/va/script.js"]')) return; + if (document.head.querySelector(`script[src*="${src}"]`)) return; const script = document.createElement('script'); - script.src = '/va/script.js'; + script.src = src; script.defer = true; + if (isDevelopment() && debug === false) { + script.setAttribute('data-debug', 'false'); + } + document.head.appendChild(script); }; diff --git a/packages/web/src/react.tsx b/packages/web/src/react.tsx index fed13eb..54832f8 100644 --- a/packages/web/src/react.tsx +++ b/packages/web/src/react.tsx @@ -1,34 +1,15 @@ -import React, { useEffect } from 'react'; +import { useEffect } from 'react'; import { inject } from './generic'; -import type { BeforeSend } from './types'; +import type { AnalyticsProps } from './types'; +import { isDevelopment } from './utils'; -interface AnalyticsProps { - beforeSend?: BeforeSend; -} - -export function Analytics(props: AnalyticsProps): JSX.Element { - if (process.env.NODE_ENV !== 'production') { - return ; - } - - return ; -} - -function EnabledAnalytics({ beforeSend }: AnalyticsProps): null { - useEffect(() => { - inject({ beforeSend }); - }, [beforeSend]); - - return null; -} - -function NoopAnalytics(): null { +export function Analytics({ + beforeSend, + debug = isDevelopment(), +}: AnalyticsProps): null { useEffect(() => { - // eslint-disable-next-line no-console - console.warn( - 'Vercel Analytics is set up, but detected a non-production environment.\n\nPlease note that no analytics events will be sent.', - ); - }, []); + inject({ beforeSend, debug }); + }, [beforeSend, debug]); return null; } diff --git a/packages/web/src/types.ts b/packages/web/src/types.ts index 0423d24..809dc76 100644 --- a/packages/web/src/types.ts +++ b/packages/web/src/types.ts @@ -5,7 +5,10 @@ interface PageViewEvent { type IEvent = PageViewEvent; export type BeforeSend = (event: IEvent) => IEvent | null; - +export interface AnalyticsProps { + beforeSend?: BeforeSend; + debug?: boolean; +} declare global { interface Window { // Base interface diff --git a/packages/web/src/utils.ts b/packages/web/src/utils.ts new file mode 100644 index 0000000..5a19253 --- /dev/null +++ b/packages/web/src/utils.ts @@ -0,0 +1,9 @@ +export function isBrowser(): boolean { + return typeof window !== 'undefined'; +} + +export function isDevelopment(): boolean { + return ( + typeof process !== 'undefined' && process.env.NODE_ENV !== 'production' + ); +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2d7c115..4e73739 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: 5.3 +lockfileVersion: 5.4 importers: .: @@ -11,7 +11,7 @@ importers: dependencies: lint-staged: 13.0.3 devDependencies: - '@vercel/style-guide': 4.0.2_prettier@2.7.1+typescript@4.8.4 + '@vercel/style-guide': 4.0.2_dmjzcauo3cshxeipj7bv64ktgm husky: 8.0.1 prettier: 2.7.1 typescript: 4.8.4 @@ -25,7 +25,7 @@ importers: typescript: 4.8.4 dependencies: '@next/eslint-plugin-next': 12.3.1 - '@vercel/style-guide': 4.0.2_c39653b5b371e42757ef7a0b5cb67952 + '@vercel/style-guide': 4.0.2_yolfhnntohscov7ppifvzntzki devDependencies: eslint: 8.26.0 prettier: 2.7.1 @@ -41,7 +41,7 @@ importers: '@types/node': 18.11.2 '@types/react': 18.0.21 '@vercel/eslint-config': link:../eslint-config - tsup: 6.3.0_typescript@4.8.4 + tsup: 6.3.0 packages: /@ampproject/remapping/2.2.0: @@ -111,7 +111,7 @@ packages: semver: 6.3.0 dev: true - /@babel/eslint-parser/7.19.1_@babel+core@7.19.6+eslint@8.26.0: + /@babel/eslint-parser/7.19.1_lz6pjk7mo2w5fzem2eded7dzpy: resolution: { integrity: sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==, @@ -383,7 +383,6 @@ packages: strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - dev: true /@humanwhocodes/config-array/0.11.6: resolution: @@ -397,7 +396,6 @@ packages: minimatch: 3.1.2 transitivePeerDependencies: - supports-color - dev: true /@humanwhocodes/module-importer/1.0.1: resolution: @@ -405,14 +403,12 @@ packages: integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, } engines: { node: '>=12.22' } - dev: true /@humanwhocodes/object-schema/1.2.1: resolution: { integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==, } - dev: true /@jridgewell/gen-mapping/0.1.1: resolution: @@ -552,7 +548,7 @@ packages: } dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.11.2 + '@types/node': 18.11.9 /@types/json-schema/7.0.11: resolution: @@ -577,6 +573,13 @@ packages: { integrity: sha512-BWN3M23gLO2jVG8g/XHIRFWiiV4/GckeFIqbU/C4V3xpoBBWSMk4OZomouN0wCkfQFPqgZikyLr7DOYDysIkkw==, } + dev: true + + /@types/node/18.11.9: + resolution: + { + integrity: sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==, + } /@types/normalize-package-data/2.4.1: resolution: @@ -615,7 +618,7 @@ packages: integrity: sha512-WwA1MW0++RfXmCr12xeYOOC5baSC9mSb0ZqCquFzKhcoF4TvHu5MKOuXsncgZcpVFhB1pXd5hZmM0ryAoCp12A==, } - /@typescript-eslint/eslint-plugin/5.40.1_0683954ed3b2ea58c959cbc390d880e6: + /@typescript-eslint/eslint-plugin/5.40.1_a2bzktwtwlvfrskzzpbzbwea4y: resolution: { integrity: sha512-FsWboKkWdytGiXT5O1/R9j37YgcjO8MKHSUmWnIEjVaz0krHkplPnYi7mwdb+5+cs0toFNQb0HIrN7zONdIEWg==, @@ -643,7 +646,7 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin/5.40.1_17338683be4a53131a0ac112d05d372d: + /@typescript-eslint/eslint-plugin/5.40.1_c4zyna56jjjrggqkyejnaxjxfu: resolution: { integrity: sha512-FsWboKkWdytGiXT5O1/R9j37YgcjO8MKHSUmWnIEjVaz0krHkplPnYi7mwdb+5+cs0toFNQb0HIrN7zONdIEWg==, @@ -657,10 +660,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.40.1_eslint@8.26.0+typescript@4.8.4 + '@typescript-eslint/parser': 5.40.1_wyqvi574yv7oiwfeinomdzmc3m '@typescript-eslint/scope-manager': 5.40.1 - '@typescript-eslint/type-utils': 5.40.1_eslint@8.26.0+typescript@4.8.4 - '@typescript-eslint/utils': 5.40.1_eslint@8.26.0+typescript@4.8.4 + '@typescript-eslint/type-utils': 5.40.1_wyqvi574yv7oiwfeinomdzmc3m + '@typescript-eslint/utils': 5.40.1_wyqvi574yv7oiwfeinomdzmc3m debug: 4.3.4 eslint: 8.26.0 ignore: 5.2.0 @@ -672,7 +675,7 @@ packages: - supports-color dev: false - /@typescript-eslint/parser/5.40.1_eslint@8.26.0+typescript@4.8.4: + /@typescript-eslint/parser/5.40.1_typescript@4.8.4: resolution: { integrity: sha512-IK6x55va5w4YvXd4b3VrXQPldV9vQTxi5ov+g4pMANsXPTXOcfjx08CRR1Dfrcc51syPtXHF5bgLlMHYFrvQtg==, @@ -689,13 +692,11 @@ packages: '@typescript-eslint/types': 5.40.1 '@typescript-eslint/typescript-estree': 5.40.1_typescript@4.8.4 debug: 4.3.4 - eslint: 8.26.0 typescript: 4.8.4 transitivePeerDependencies: - supports-color - dev: false - /@typescript-eslint/parser/5.40.1_typescript@4.8.4: + /@typescript-eslint/parser/5.40.1_wyqvi574yv7oiwfeinomdzmc3m: resolution: { integrity: sha512-IK6x55va5w4YvXd4b3VrXQPldV9vQTxi5ov+g4pMANsXPTXOcfjx08CRR1Dfrcc51syPtXHF5bgLlMHYFrvQtg==, @@ -712,10 +713,11 @@ packages: '@typescript-eslint/types': 5.40.1 '@typescript-eslint/typescript-estree': 5.40.1_typescript@4.8.4 debug: 4.3.4 + eslint: 8.26.0 typescript: 4.8.4 transitivePeerDependencies: - supports-color - dev: true + dev: false /@typescript-eslint/scope-manager/5.40.1: resolution: @@ -727,7 +729,7 @@ packages: '@typescript-eslint/types': 5.40.1 '@typescript-eslint/visitor-keys': 5.40.1 - /@typescript-eslint/type-utils/5.40.1_eslint@8.26.0+typescript@4.8.4: + /@typescript-eslint/type-utils/5.40.1_typescript@4.8.4: resolution: { integrity: sha512-DLAs+AHQOe6n5LRraXiv27IYPhleF0ldEmx6yBqBgBLaNRKTkffhV1RPsjoJBhVup2zHxfaRtan8/YRBgYhU9Q==, @@ -741,16 +743,15 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 5.40.1_typescript@4.8.4 - '@typescript-eslint/utils': 5.40.1_eslint@8.26.0+typescript@4.8.4 + '@typescript-eslint/utils': 5.40.1_typescript@4.8.4 debug: 4.3.4 - eslint: 8.26.0 tsutils: 3.21.0_typescript@4.8.4 typescript: 4.8.4 transitivePeerDependencies: - supports-color - dev: false + dev: true - /@typescript-eslint/type-utils/5.40.1_typescript@4.8.4: + /@typescript-eslint/type-utils/5.40.1_wyqvi574yv7oiwfeinomdzmc3m: resolution: { integrity: sha512-DLAs+AHQOe6n5LRraXiv27IYPhleF0ldEmx6yBqBgBLaNRKTkffhV1RPsjoJBhVup2zHxfaRtan8/YRBgYhU9Q==, @@ -764,13 +765,14 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 5.40.1_typescript@4.8.4 - '@typescript-eslint/utils': 5.40.1_typescript@4.8.4 + '@typescript-eslint/utils': 5.40.1_wyqvi574yv7oiwfeinomdzmc3m debug: 4.3.4 + eslint: 8.26.0 tsutils: 3.21.0_typescript@4.8.4 typescript: 4.8.4 transitivePeerDependencies: - supports-color - dev: true + dev: false /@typescript-eslint/types/5.40.1: resolution: @@ -802,7 +804,7 @@ packages: transitivePeerDependencies: - supports-color - /@typescript-eslint/utils/5.40.1_eslint@8.26.0+typescript@4.8.4: + /@typescript-eslint/utils/5.40.1_typescript@4.8.4: resolution: { integrity: sha512-a2TAVScoX9fjryNrW6BZRnreDUszxqm9eQ9Esv8n5nXApMW0zeANUYlwh/DED04SC/ifuBvXgZpIK5xeJHQ3aw==, @@ -816,16 +818,15 @@ packages: '@typescript-eslint/scope-manager': 5.40.1 '@typescript-eslint/types': 5.40.1 '@typescript-eslint/typescript-estree': 5.40.1_typescript@4.8.4 - eslint: 8.26.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.26.0 + eslint-utils: 3.0.0 semver: 7.3.8 transitivePeerDependencies: - supports-color - typescript - dev: false + dev: true - /@typescript-eslint/utils/5.40.1_typescript@4.8.4: + /@typescript-eslint/utils/5.40.1_wyqvi574yv7oiwfeinomdzmc3m: resolution: { integrity: sha512-a2TAVScoX9fjryNrW6BZRnreDUszxqm9eQ9Esv8n5nXApMW0zeANUYlwh/DED04SC/ifuBvXgZpIK5xeJHQ3aw==, @@ -839,13 +840,14 @@ packages: '@typescript-eslint/scope-manager': 5.40.1 '@typescript-eslint/types': 5.40.1 '@typescript-eslint/typescript-estree': 5.40.1_typescript@4.8.4 + eslint: 8.26.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0 + eslint-utils: 3.0.0_eslint@8.26.0 semver: 7.3.8 transitivePeerDependencies: - supports-color - typescript - dev: true + dev: false /@typescript-eslint/visitor-keys/5.40.1: resolution: @@ -857,7 +859,7 @@ packages: '@typescript-eslint/types': 5.40.1 eslint-visitor-keys: 3.3.0 - /@vercel/style-guide/4.0.2_c39653b5b371e42757ef7a0b5cb67952: + /@vercel/style-guide/4.0.2_dmjzcauo3cshxeipj7bv64ktgm: resolution: { integrity: sha512-FroL+oOePzhw7n/I+f7zr4WNroGHT/+2TlW6WH9+CVSjMNsEyu7Qstj2mI5gWIBjT1Y2ZImKPppCzI2cIYmNZw==, @@ -879,34 +881,33 @@ packages: optional: true dependencies: '@babel/core': 7.19.6 - '@babel/eslint-parser': 7.19.1_@babel+core@7.19.6+eslint@8.26.0 - '@next/eslint-plugin-next': 12.3.1 + '@babel/eslint-parser': 7.19.1_@babel+core@7.19.6 '@rushstack/eslint-patch': 1.2.0 - '@typescript-eslint/eslint-plugin': 5.40.1_17338683be4a53131a0ac112d05d372d - '@typescript-eslint/parser': 5.40.1_eslint@8.26.0+typescript@4.8.4 - eslint: 8.26.0 - eslint-config-prettier: 8.5.0_eslint@8.26.0 - eslint-import-resolver-alias: 1.1.2_eslint-plugin-import@2.26.0 - eslint-import-resolver-typescript: 3.5.2_661b5bd590ec278724a5440c4af2ff63 - eslint-plugin-eslint-comments: 3.2.0_eslint@8.26.0 - eslint-plugin-import: 2.26.0_eslint@8.26.0 - eslint-plugin-jest: 27.1.3_92571f53a7fea4b184f228f4e77f3115 - eslint-plugin-jsx-a11y: 6.6.1_eslint@8.26.0 - eslint-plugin-playwright: 0.11.2_fc34b3519edbef9c9334bc8b6d8ecc83 - eslint-plugin-react: 7.31.10_eslint@8.26.0 - eslint-plugin-react-hooks: 4.6.0_eslint@8.26.0 - eslint-plugin-testing-library: 5.9.1_eslint@8.26.0+typescript@4.8.4 + '@typescript-eslint/eslint-plugin': 5.40.1_a2bzktwtwlvfrskzzpbzbwea4y + '@typescript-eslint/parser': 5.40.1_typescript@4.8.4 + eslint-config-prettier: 8.5.0 + eslint-import-resolver-alias: 1.1.2_fkfqfehjtk7sk2efaqbgxsuasa + eslint-import-resolver-typescript: 3.5.2_fkfqfehjtk7sk2efaqbgxsuasa + eslint-plugin-eslint-comments: 3.2.0 + eslint-plugin-import: 2.26.0_dnjxsr4o6eupu3kbmwmr3ulwgi + eslint-plugin-jest: 27.1.3_jgdyxxqt5utpaz7s4js2scyqda + eslint-plugin-jsx-a11y: 6.6.1 + eslint-plugin-playwright: 0.11.2_eslint-plugin-jest@27.1.3 + eslint-plugin-react: 7.31.10 + eslint-plugin-react-hooks: 4.6.0 + eslint-plugin-testing-library: 5.9.1_typescript@4.8.4 eslint-plugin-tsdoc: 0.2.17 - eslint-plugin-unicorn: 43.0.2_eslint@8.26.0 + eslint-plugin-unicorn: 43.0.2 prettier: 2.7.1 prettier-plugin-packagejson: 2.3.0_prettier@2.7.1 typescript: 4.8.4 transitivePeerDependencies: + - eslint-import-resolver-webpack - jest - supports-color - dev: false + dev: true - /@vercel/style-guide/4.0.2_prettier@2.7.1+typescript@4.8.4: + /@vercel/style-guide/4.0.2_yolfhnntohscov7ppifvzntzki: resolution: { integrity: sha512-FroL+oOePzhw7n/I+f7zr4WNroGHT/+2TlW6WH9+CVSjMNsEyu7Qstj2mI5gWIBjT1Y2ZImKPppCzI2cIYmNZw==, @@ -928,30 +929,33 @@ packages: optional: true dependencies: '@babel/core': 7.19.6 - '@babel/eslint-parser': 7.19.1_@babel+core@7.19.6 + '@babel/eslint-parser': 7.19.1_lz6pjk7mo2w5fzem2eded7dzpy + '@next/eslint-plugin-next': 12.3.1 '@rushstack/eslint-patch': 1.2.0 - '@typescript-eslint/eslint-plugin': 5.40.1_0683954ed3b2ea58c959cbc390d880e6 - '@typescript-eslint/parser': 5.40.1_typescript@4.8.4 - eslint-config-prettier: 8.5.0 - eslint-import-resolver-alias: 1.1.2_eslint-plugin-import@2.26.0 - eslint-import-resolver-typescript: 3.5.2_eslint-plugin-import@2.26.0 - eslint-plugin-eslint-comments: 3.2.0 - eslint-plugin-import: 2.26.0 - eslint-plugin-jest: 27.1.3_49878bde13ed26f067f2e265a90b1018 - eslint-plugin-jsx-a11y: 6.6.1 - eslint-plugin-playwright: 0.11.2_eslint-plugin-jest@27.1.3 - eslint-plugin-react: 7.31.10 - eslint-plugin-react-hooks: 4.6.0 - eslint-plugin-testing-library: 5.9.1_typescript@4.8.4 + '@typescript-eslint/eslint-plugin': 5.40.1_c4zyna56jjjrggqkyejnaxjxfu + '@typescript-eslint/parser': 5.40.1_wyqvi574yv7oiwfeinomdzmc3m + eslint: 8.26.0 + eslint-config-prettier: 8.5.0_eslint@8.26.0 + eslint-import-resolver-alias: 1.1.2_fkfqfehjtk7sk2efaqbgxsuasa + eslint-import-resolver-typescript: 3.5.2_mynvxvmq5qtyojffiqgev4x7mm + eslint-plugin-eslint-comments: 3.2.0_eslint@8.26.0 + eslint-plugin-import: 2.26.0_66dbmam7x4jttzjgt7jagac5je + eslint-plugin-jest: 27.1.3_sjlr6u5h72sldbhsfd2oo7zrcu + eslint-plugin-jsx-a11y: 6.6.1_eslint@8.26.0 + eslint-plugin-playwright: 0.11.2_7q2lgum63pxzzezuxsfw3dwmqm + eslint-plugin-react: 7.31.10_eslint@8.26.0 + eslint-plugin-react-hooks: 4.6.0_eslint@8.26.0 + eslint-plugin-testing-library: 5.9.1_wyqvi574yv7oiwfeinomdzmc3m eslint-plugin-tsdoc: 0.2.17 - eslint-plugin-unicorn: 43.0.2 + eslint-plugin-unicorn: 43.0.2_eslint@8.26.0 prettier: 2.7.1 prettier-plugin-packagejson: 2.3.0_prettier@2.7.1 typescript: 4.8.4 transitivePeerDependencies: + - eslint-import-resolver-webpack - jest - supports-color - dev: true + dev: false /acorn-jsx/5.3.2_acorn@8.8.1: resolution: @@ -962,7 +966,6 @@ packages: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: acorn: 8.8.1 - dev: true /acorn/8.8.1: resolution: @@ -971,7 +974,6 @@ packages: } engines: { node: '>=0.4.0' } hasBin: true - dev: true /aggregate-error/3.1.0: resolution: @@ -1069,7 +1071,6 @@ packages: { integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, } - dev: true /aria-query/4.2.2: resolution: @@ -1240,7 +1241,6 @@ packages: integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, } engines: { node: '>=6' } - dev: true /caniuse-lite/1.0.30001423: resolution: @@ -1268,7 +1268,6 @@ packages: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - dev: true /chokidar/3.5.3: resolution: @@ -1443,6 +1442,11 @@ packages: { integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==, } + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true dependencies: ms: 2.0.0 @@ -1451,8 +1455,13 @@ packages: { integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==, } + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 /debug/4.3.4: resolution: @@ -1473,7 +1482,6 @@ packages: { integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, } - dev: true /define-lazy-prop/2.0.0: resolution: @@ -1532,7 +1540,6 @@ packages: engines: { node: '>=6.0.0' } dependencies: esutils: 2.0.3 - dev: true /eastasianwidth/0.2.0: resolution: @@ -1922,7 +1929,6 @@ packages: integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, } engines: { node: '>=10' } - dev: true /eslint-config-prettier/8.5.0: resolution: @@ -1946,7 +1952,7 @@ packages: eslint: 8.26.0 dev: false - /eslint-import-resolver-alias/1.1.2_eslint-plugin-import@2.26.0: + /eslint-import-resolver-alias/1.1.2_fkfqfehjtk7sk2efaqbgxsuasa: resolution: { integrity: sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==, @@ -1955,7 +1961,7 @@ packages: peerDependencies: eslint-plugin-import: '>=1.4.0' dependencies: - eslint-plugin-import: 2.26.0 + eslint-plugin-import: 2.26.0_dnjxsr4o6eupu3kbmwmr3ulwgi /eslint-import-resolver-node/0.3.6: resolution: @@ -1965,8 +1971,10 @@ packages: dependencies: debug: 3.2.7 resolve: 1.22.1 + transitivePeerDependencies: + - supports-color - /eslint-import-resolver-typescript/3.5.2_661b5bd590ec278724a5440c4af2ff63: + /eslint-import-resolver-typescript/3.5.2_fkfqfehjtk7sk2efaqbgxsuasa: resolution: { integrity: sha512-zX4ebnnyXiykjhcBvKIf5TNvt8K7yX6bllTRZ14MiurKPjDpCAZujlszTdB8pcNXhZcOf+god4s9SjQa5GnytQ==, @@ -1978,8 +1986,7 @@ packages: dependencies: debug: 4.3.4 enhanced-resolve: 5.10.0 - eslint: 8.26.0 - eslint-plugin-import: 2.26.0_eslint@8.26.0 + eslint-plugin-import: 2.26.0_dnjxsr4o6eupu3kbmwmr3ulwgi get-tsconfig: 4.2.0 globby: 13.1.2 is-core-module: 2.11.0 @@ -1987,9 +1994,8 @@ packages: synckit: 0.8.4 transitivePeerDependencies: - supports-color - dev: false - /eslint-import-resolver-typescript/3.5.2_eslint-plugin-import@2.26.0: + /eslint-import-resolver-typescript/3.5.2_mynvxvmq5qtyojffiqgev4x7mm: resolution: { integrity: sha512-zX4ebnnyXiykjhcBvKIf5TNvt8K7yX6bllTRZ14MiurKPjDpCAZujlszTdB8pcNXhZcOf+god4s9SjQa5GnytQ==, @@ -2001,7 +2007,8 @@ packages: dependencies: debug: 4.3.4 enhanced-resolve: 5.10.0 - eslint-plugin-import: 2.26.0 + eslint: 8.26.0 + eslint-plugin-import: 2.26.0_66dbmam7x4jttzjgt7jagac5je get-tsconfig: 4.2.0 globby: 13.1.2 is-core-module: 2.11.0 @@ -2009,37 +2016,70 @@ packages: synckit: 0.8.4 transitivePeerDependencies: - supports-color - dev: true + dev: false - /eslint-module-utils/2.7.4: + /eslint-module-utils/2.7.4_abjtvfrqx6apykyqhkvez5sn74: resolution: { integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==, } engines: { node: '>=4' } peerDependencies: + '@typescript-eslint/parser': '*' eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true eslint: optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true dependencies: + '@typescript-eslint/parser': 5.40.1_typescript@4.8.4 debug: 3.2.7 - dev: true + eslint-import-resolver-node: 0.3.6 + eslint-import-resolver-typescript: 3.5.2_fkfqfehjtk7sk2efaqbgxsuasa + transitivePeerDependencies: + - supports-color - /eslint-module-utils/2.7.4_eslint@8.26.0: + /eslint-module-utils/2.7.4_l7mxo3kezybnqoqu4yzntesggu: resolution: { integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==, } engines: { node: '>=4' } peerDependencies: + '@typescript-eslint/parser': '*' eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true eslint: optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true dependencies: + '@typescript-eslint/parser': 5.40.1_wyqvi574yv7oiwfeinomdzmc3m debug: 3.2.7 eslint: 8.26.0 + eslint-import-resolver-node: 0.3.6 + eslint-import-resolver-typescript: 3.5.2_mynvxvmq5qtyojffiqgev4x7mm + transitivePeerDependencies: + - supports-color dev: false /eslint-plugin-eslint-comments/3.2.0: @@ -2069,21 +2109,27 @@ packages: ignore: 5.2.0 dev: false - /eslint-plugin-import/2.26.0: + /eslint-plugin-import/2.26.0_66dbmam7x4jttzjgt7jagac5je: resolution: { integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==, } engines: { node: '>=4' } peerDependencies: + '@typescript-eslint/parser': '*' eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true dependencies: + '@typescript-eslint/parser': 5.40.1_wyqvi574yv7oiwfeinomdzmc3m array-includes: 3.1.5 array.prototype.flat: 1.3.0 debug: 2.6.9 doctrine: 2.1.0 + eslint: 8.26.0 eslint-import-resolver-node: 0.3.6 - eslint-module-utils: 2.7.4 + eslint-module-utils: 2.7.4_l7mxo3kezybnqoqu4yzntesggu has: 1.0.3 is-core-module: 2.11.0 is-glob: 4.0.3 @@ -2091,24 +2137,32 @@ packages: object.values: 1.1.5 resolve: 1.22.1 tsconfig-paths: 3.14.1 - dev: true + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: false - /eslint-plugin-import/2.26.0_eslint@8.26.0: + /eslint-plugin-import/2.26.0_dnjxsr4o6eupu3kbmwmr3ulwgi: resolution: { integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==, } engines: { node: '>=4' } peerDependencies: + '@typescript-eslint/parser': '*' eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true dependencies: + '@typescript-eslint/parser': 5.40.1_typescript@4.8.4 array-includes: 3.1.5 array.prototype.flat: 1.3.0 debug: 2.6.9 doctrine: 2.1.0 - eslint: 8.26.0 eslint-import-resolver-node: 0.3.6 - eslint-module-utils: 2.7.4_eslint@8.26.0 + eslint-module-utils: 2.7.4_abjtvfrqx6apykyqhkvez5sn74 has: 1.0.3 is-core-module: 2.11.0 is-glob: 4.0.3 @@ -2116,9 +2170,12 @@ packages: object.values: 1.1.5 resolve: 1.22.1 tsconfig-paths: 3.14.1 - dev: false + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color - /eslint-plugin-jest/27.1.3_49878bde13ed26f067f2e265a90b1018: + /eslint-plugin-jest/27.1.3_jgdyxxqt5utpaz7s4js2scyqda: resolution: { integrity: sha512-7DrIfYRQPa7JQd1Le8G/BJsfYHVUKQdJQ/6vULSp/4NjKZmSMJ/605G2hhScEra++SiH68zPEjLnrO74nHrMLg==, @@ -2134,14 +2191,14 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.40.1_0683954ed3b2ea58c959cbc390d880e6 + '@typescript-eslint/eslint-plugin': 5.40.1_a2bzktwtwlvfrskzzpbzbwea4y '@typescript-eslint/utils': 5.40.1_typescript@4.8.4 transitivePeerDependencies: - supports-color - typescript dev: true - /eslint-plugin-jest/27.1.3_92571f53a7fea4b184f228f4e77f3115: + /eslint-plugin-jest/27.1.3_sjlr6u5h72sldbhsfd2oo7zrcu: resolution: { integrity: sha512-7DrIfYRQPa7JQd1Le8G/BJsfYHVUKQdJQ/6vULSp/4NjKZmSMJ/605G2hhScEra++SiH68zPEjLnrO74nHrMLg==, @@ -2157,8 +2214,8 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.40.1_17338683be4a53131a0ac112d05d372d - '@typescript-eslint/utils': 5.40.1_eslint@8.26.0+typescript@4.8.4 + '@typescript-eslint/eslint-plugin': 5.40.1_c4zyna56jjjrggqkyejnaxjxfu + '@typescript-eslint/utils': 5.40.1_wyqvi574yv7oiwfeinomdzmc3m eslint: 8.26.0 transitivePeerDependencies: - supports-color @@ -2214,7 +2271,7 @@ packages: semver: 6.3.0 dev: false - /eslint-plugin-playwright/0.11.2_eslint-plugin-jest@27.1.3: + /eslint-plugin-playwright/0.11.2_7q2lgum63pxzzezuxsfw3dwmqm: resolution: { integrity: sha512-uRLRLk7uTzc8NE6t4wBU8dijQwHvC66R/h7xwdM779jsJjMUtSmeaB8ayRkkpfwi+UU5BEfwvDANwmE+ccMVDw==, @@ -2226,10 +2283,11 @@ packages: eslint-plugin-jest: optional: true dependencies: - eslint-plugin-jest: 27.1.3_49878bde13ed26f067f2e265a90b1018 - dev: true + eslint: 8.26.0 + eslint-plugin-jest: 27.1.3_sjlr6u5h72sldbhsfd2oo7zrcu + dev: false - /eslint-plugin-playwright/0.11.2_fc34b3519edbef9c9334bc8b6d8ecc83: + /eslint-plugin-playwright/0.11.2_eslint-plugin-jest@27.1.3: resolution: { integrity: sha512-uRLRLk7uTzc8NE6t4wBU8dijQwHvC66R/h7xwdM779jsJjMUtSmeaB8ayRkkpfwi+UU5BEfwvDANwmE+ccMVDw==, @@ -2241,9 +2299,8 @@ packages: eslint-plugin-jest: optional: true dependencies: - eslint: 8.26.0 - eslint-plugin-jest: 27.1.3_92571f53a7fea4b184f228f4e77f3115 - dev: false + eslint-plugin-jest: 27.1.3_jgdyxxqt5utpaz7s4js2scyqda + dev: true /eslint-plugin-react-hooks/4.6.0: resolution: @@ -2318,7 +2375,7 @@ packages: string.prototype.matchall: 4.0.7 dev: false - /eslint-plugin-testing-library/5.9.1_eslint@8.26.0+typescript@4.8.4: + /eslint-plugin-testing-library/5.9.1_typescript@4.8.4: resolution: { integrity: sha512-6BQp3tmb79jLLasPHJmy8DnxREe+2Pgf7L+7o09TSWPfdqqtQfRZmZNetr5mOs3yqZk/MRNxpN3RUpJe0wB4LQ==, @@ -2327,14 +2384,13 @@ packages: peerDependencies: eslint: ^7.5.0 || ^8.0.0 dependencies: - '@typescript-eslint/utils': 5.40.1_eslint@8.26.0+typescript@4.8.4 - eslint: 8.26.0 + '@typescript-eslint/utils': 5.40.1_typescript@4.8.4 transitivePeerDependencies: - supports-color - typescript - dev: false + dev: true - /eslint-plugin-testing-library/5.9.1_typescript@4.8.4: + /eslint-plugin-testing-library/5.9.1_wyqvi574yv7oiwfeinomdzmc3m: resolution: { integrity: sha512-6BQp3tmb79jLLasPHJmy8DnxREe+2Pgf7L+7o09TSWPfdqqtQfRZmZNetr5mOs3yqZk/MRNxpN3RUpJe0wB4LQ==, @@ -2343,11 +2399,12 @@ packages: peerDependencies: eslint: ^7.5.0 || ^8.0.0 dependencies: - '@typescript-eslint/utils': 5.40.1_typescript@4.8.4 + '@typescript-eslint/utils': 5.40.1_wyqvi574yv7oiwfeinomdzmc3m + eslint: 8.26.0 transitivePeerDependencies: - supports-color - typescript - dev: true + dev: false /eslint-plugin-tsdoc/0.2.17: resolution: @@ -2428,7 +2485,6 @@ packages: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - dev: true /eslint-utils/3.0.0: resolution: @@ -2517,7 +2573,6 @@ packages: text-table: 0.2.0 transitivePeerDependencies: - supports-color - dev: true /espree/9.4.0: resolution: @@ -2529,7 +2584,6 @@ packages: acorn: 8.8.1 acorn-jsx: 5.3.2_acorn@8.8.1 eslint-visitor-keys: 3.3.0 - dev: true /esquery/1.4.0: resolution: @@ -2636,7 +2690,6 @@ packages: { integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, } - dev: true /fastq/1.13.0: resolution: @@ -2654,7 +2707,6 @@ packages: engines: { node: ^10.12.0 || >=12.0.0 } dependencies: flat-cache: 3.0.4 - dev: true /fill-range/7.0.1: resolution: @@ -2684,7 +2736,6 @@ packages: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - dev: true /flat-cache/3.0.4: resolution: @@ -2695,14 +2746,12 @@ packages: dependencies: flatted: 3.2.7 rimraf: 3.0.2 - dev: true /flatted/3.2.7: resolution: { integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==, } - dev: true /fs.realpath/1.0.0: resolution: @@ -2808,7 +2857,6 @@ packages: engines: { node: '>=10.13.0' } dependencies: is-glob: 4.0.3 - dev: true /glob/7.1.6: resolution: @@ -2852,7 +2900,6 @@ packages: engines: { node: '>=8' } dependencies: type-fest: 0.20.2 - dev: true /globalyzer/0.1.0: resolution: @@ -2920,7 +2967,6 @@ packages: { integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==, } - dev: true /has-bigints/1.0.2: resolution: @@ -2941,7 +2987,6 @@ packages: integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, } engines: { node: '>=8' } - dev: true /has-property-descriptors/1.0.0: resolution: @@ -3023,7 +3068,6 @@ packages: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - dev: true /imurmurhash/0.1.4: resolution: @@ -3031,7 +3075,6 @@ packages: integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, } engines: { node: '>=0.8.19' } - dev: true /indent-string/4.0.0: resolution: @@ -3202,7 +3245,6 @@ packages: integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, } engines: { node: '>=8' } - dev: true /is-plain-obj/2.1.0: resolution: @@ -3305,7 +3347,6 @@ packages: { integrity: sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==, } - dev: true /js-tokens/4.0.0: resolution: @@ -3321,7 +3362,6 @@ packages: hasBin: true dependencies: argparse: 2.0.1 - dev: true /jsesc/2.5.2: resolution: @@ -3348,7 +3388,6 @@ packages: { integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, } - dev: true /json5/1.0.1: resolution: @@ -3400,7 +3439,6 @@ packages: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true /lilconfig/2.0.5: resolution: @@ -3497,14 +3535,12 @@ packages: engines: { node: '>=10' } dependencies: p-locate: 5.0.0 - dev: true /lodash.merge/4.6.2: resolution: { integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, } - dev: true /lodash.sortby/4.7.0: resolution: @@ -3621,6 +3657,12 @@ packages: integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, } + /ms/2.1.3: + resolution: + { + integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, + } + /mz/2.7.0: resolution: { @@ -3637,7 +3679,6 @@ packages: { integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, } - dev: true /node-releases/2.0.6: resolution: @@ -3808,7 +3849,6 @@ packages: prelude-ls: 1.2.1 type-check: 0.4.0 word-wrap: 1.2.3 - dev: true /p-limit/2.3.0: resolution: @@ -3827,7 +3867,6 @@ packages: engines: { node: '>=10' } dependencies: yocto-queue: 0.1.0 - dev: true /p-locate/4.1.0: resolution: @@ -3846,7 +3885,6 @@ packages: engines: { node: '>=10' } dependencies: p-limit: 3.1.0 - dev: true /p-map/4.0.0: resolution: @@ -3873,7 +3911,6 @@ packages: engines: { node: '>=6' } dependencies: callsites: 3.1.0 - dev: true /parse-json/5.2.0: resolution: @@ -3991,7 +4028,6 @@ packages: integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, } engines: { node: '>= 0.8.0' } - dev: true /prettier-plugin-packagejson/2.3.0_prettier@2.7.1: resolution: @@ -4014,7 +4050,6 @@ packages: } engines: { node: '>=10.13.0' } hasBin: true - dev: true /prop-types/15.8.1: resolution: @@ -4115,7 +4150,6 @@ packages: integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, } engines: { node: '>=4' } - dev: true /resolve-from/5.0.0: resolution: @@ -4189,7 +4223,6 @@ packages: hasBin: true dependencies: glob: 7.1.7 - dev: true /rollup/2.79.1: resolution: @@ -4526,7 +4559,6 @@ packages: integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, } engines: { node: '>=8' } - dev: true /sucrase/3.28.0: resolution: @@ -4561,7 +4593,6 @@ packages: engines: { node: '>=8' } dependencies: has-flag: 4.0.0 - dev: true /supports-preserve-symlinks-flag/1.0.0: resolution: @@ -4592,7 +4623,6 @@ packages: { integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, } - dev: true /thenify-all/1.6.0: resolution: @@ -4692,7 +4722,7 @@ packages: integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==, } - /tsup/6.3.0_typescript@4.8.4: + /tsup/6.3.0: resolution: { integrity: sha512-IaNQO/o1rFgadLhNonVKNCT2cks+vvnWX3DnL8sB87lBDqRvJXHENr5lSPJlqwplUlDxSwZK8dSg87rgBu6Emw==, @@ -4725,7 +4755,6 @@ packages: source-map: 0.8.0-beta.0 sucrase: 3.28.0 tree-kill: 1.2.2 - typescript: 4.8.4 transitivePeerDependencies: - supports-color - ts-node @@ -4751,7 +4780,6 @@ packages: engines: { node: '>= 0.8.0' } dependencies: prelude-ls: 1.2.1 - dev: true /type-fest/0.20.2: resolution: @@ -4759,7 +4787,6 @@ packages: integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, } engines: { node: '>=10' } - dev: true /type-fest/0.21.3: resolution: @@ -4790,7 +4817,6 @@ packages: } engines: { node: '>=4.2.0' } hasBin: true - dev: true /unbox-primitive/1.0.2: resolution: @@ -4879,7 +4905,6 @@ packages: integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==, } engines: { node: '>=0.10.0' } - dev: true /wrap-ansi/6.2.0: resolution: @@ -4939,4 +4964,3 @@ packages: integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, } engines: { node: '>=10' } - dev: true