diff --git a/package-lock.json b/package-lock.json index 1c39030..5220145 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,11 @@ "dependencies": { "@headlessui/react": "^1.3.0", "@ninja-labs/verify-pdf": "^0.3.9", + "@sentry/browser": "^6.12.0", + "@sentry/integrations": "^6.12.0", + "@sentry/react": "^6.12.0", + "@sentry/tracing": "^6.12.0", + "@sentry/types": "^6.12.0", "@zxing/browser": "^0.0.9", "@zxing/library": "^0.18.6", "base45": "^3.0.0", @@ -298,6 +303,129 @@ "node": ">= 8" } }, + "node_modules/@sentry/browser": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-6.12.0.tgz", + "integrity": "sha512-wsJi1NLOmfwtPNYxEC50dpDcVY7sdYckzwfqz1/zHrede1mtxpqSw+7iP4bHADOJXuF+ObYYTHND0v38GSXznQ==", + "dependencies": { + "@sentry/core": "6.12.0", + "@sentry/types": "6.12.0", + "@sentry/utils": "6.12.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/core": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-6.12.0.tgz", + "integrity": "sha512-mU/zdjlzFHzdXDZCPZm8OeCw7c9xsbL49Mq0TrY0KJjLt4CJBkiq5SDTGfRsenBLgTedYhe5Z/J8Z+xVVq+MfQ==", + "dependencies": { + "@sentry/hub": "6.12.0", + "@sentry/minimal": "6.12.0", + "@sentry/types": "6.12.0", + "@sentry/utils": "6.12.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/hub": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-6.12.0.tgz", + "integrity": "sha512-yR/UQVU+ukr42bSYpeqvb989SowIXlKBanU0cqLFDmv5LPCnaQB8PGeXwJAwWhQgx44PARhmB82S6Xor8gYNxg==", + "dependencies": { + "@sentry/types": "6.12.0", + "@sentry/utils": "6.12.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/integrations": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-6.12.0.tgz", + "integrity": "sha512-M9gsVdWZp5fAFFpTjK2IBuWzW4SBxGAI3tVbYZvVx16S/BY0GsPC1dYpjJx9OTBS/8CmCWdGxnUmjACo/8w1LA==", + "dependencies": { + "@sentry/types": "6.12.0", + "@sentry/utils": "6.12.0", + "localforage": "^1.8.1", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/minimal": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-6.12.0.tgz", + "integrity": "sha512-r3C54Q1KN+xIqUvcgX9DlcoWE7ezWvFk2pSu1Ojx9De81hVqR9u5T3sdSAP2Xma+um0zr6coOtDJG4WtYlOtsw==", + "dependencies": { + "@sentry/hub": "6.12.0", + "@sentry/types": "6.12.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/react": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@sentry/react/-/react-6.12.0.tgz", + "integrity": "sha512-E8Nw9PPzP/EyMy64ksr9xcyYYlBmUA5ROnkPQp7o5wF0xf5/J+nMS1tQdyPnLQe2KUgHlN4kVs2HHft1m7mSYQ==", + "dependencies": { + "@sentry/browser": "6.12.0", + "@sentry/minimal": "6.12.0", + "@sentry/types": "6.12.0", + "@sentry/utils": "6.12.0", + "hoist-non-react-statics": "^3.3.2", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "react": "15.x || 16.x || 17.x" + } + }, + "node_modules/@sentry/tracing": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-6.12.0.tgz", + "integrity": "sha512-u10QHNknPBzbWSUUNMkvuH53sQd5NaBo6YdNPj4p5b7sE7445Sh0PwBpRbY3ZiUUiwyxV59fx9UQ4yVnPGxZQA==", + "dependencies": { + "@sentry/hub": "6.12.0", + "@sentry/minimal": "6.12.0", + "@sentry/types": "6.12.0", + "@sentry/utils": "6.12.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/types": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-6.12.0.tgz", + "integrity": "sha512-urtgLzE4EDMAYQHYdkgC0Ei9QvLajodK1ntg71bGn0Pm84QUpaqpPDfHRU+i6jLeteyC7kWwa5O5W1m/jrjGXA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/utils": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-6.12.0.tgz", + "integrity": "sha512-oRHQ7TH5TSsJqoP9Gqq25Jvn9LKexXfAh/OoKwjMhYCGKGhqpDNUIZVgl9DWsGw5A5N5xnQyLOxDfyRV5RshdA==", + "dependencies": { + "@sentry/types": "6.12.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/@types/eslint": { "version": "7.2.13", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.13.tgz", @@ -2104,6 +2232,11 @@ "node": ">=12.0.0" } }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" + }, "node_modules/import-cwd": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz", @@ -2489,6 +2622,14 @@ "resolved": "https://registry.npmjs.org/jsqr/-/jsqr-1.4.0.tgz", "integrity": "sha512-dxLob7q65Xg2DvstYkRpkYtmKm2sPJ9oFhrhmudT1dZvNFFTlroai3AWSpLey/w5vMcLBXRgOJsbXpdN9HzU/A==" }, + "node_modules/lie": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", + "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", + "dependencies": { + "immediate": "~3.0.5" + } + }, "node_modules/lilconfig": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz", @@ -2525,6 +2666,14 @@ "node": ">=4.0.0" } }, + "node_modules/localforage": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz", + "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==", + "dependencies": { + "lie": "3.1.1" + } + }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -4601,6 +4750,11 @@ } } }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "node_modules/tty-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", @@ -5335,6 +5489,99 @@ "fastq": "^1.6.0" } }, + "@sentry/browser": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-6.12.0.tgz", + "integrity": "sha512-wsJi1NLOmfwtPNYxEC50dpDcVY7sdYckzwfqz1/zHrede1mtxpqSw+7iP4bHADOJXuF+ObYYTHND0v38GSXznQ==", + "requires": { + "@sentry/core": "6.12.0", + "@sentry/types": "6.12.0", + "@sentry/utils": "6.12.0", + "tslib": "^1.9.3" + } + }, + "@sentry/core": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-6.12.0.tgz", + "integrity": "sha512-mU/zdjlzFHzdXDZCPZm8OeCw7c9xsbL49Mq0TrY0KJjLt4CJBkiq5SDTGfRsenBLgTedYhe5Z/J8Z+xVVq+MfQ==", + "requires": { + "@sentry/hub": "6.12.0", + "@sentry/minimal": "6.12.0", + "@sentry/types": "6.12.0", + "@sentry/utils": "6.12.0", + "tslib": "^1.9.3" + } + }, + "@sentry/hub": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-6.12.0.tgz", + "integrity": "sha512-yR/UQVU+ukr42bSYpeqvb989SowIXlKBanU0cqLFDmv5LPCnaQB8PGeXwJAwWhQgx44PARhmB82S6Xor8gYNxg==", + "requires": { + "@sentry/types": "6.12.0", + "@sentry/utils": "6.12.0", + "tslib": "^1.9.3" + } + }, + "@sentry/integrations": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-6.12.0.tgz", + "integrity": "sha512-M9gsVdWZp5fAFFpTjK2IBuWzW4SBxGAI3tVbYZvVx16S/BY0GsPC1dYpjJx9OTBS/8CmCWdGxnUmjACo/8w1LA==", + "requires": { + "@sentry/types": "6.12.0", + "@sentry/utils": "6.12.0", + "localforage": "^1.8.1", + "tslib": "^1.9.3" + } + }, + "@sentry/minimal": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-6.12.0.tgz", + "integrity": "sha512-r3C54Q1KN+xIqUvcgX9DlcoWE7ezWvFk2pSu1Ojx9De81hVqR9u5T3sdSAP2Xma+um0zr6coOtDJG4WtYlOtsw==", + "requires": { + "@sentry/hub": "6.12.0", + "@sentry/types": "6.12.0", + "tslib": "^1.9.3" + } + }, + "@sentry/react": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@sentry/react/-/react-6.12.0.tgz", + "integrity": "sha512-E8Nw9PPzP/EyMy64ksr9xcyYYlBmUA5ROnkPQp7o5wF0xf5/J+nMS1tQdyPnLQe2KUgHlN4kVs2HHft1m7mSYQ==", + "requires": { + "@sentry/browser": "6.12.0", + "@sentry/minimal": "6.12.0", + "@sentry/types": "6.12.0", + "@sentry/utils": "6.12.0", + "hoist-non-react-statics": "^3.3.2", + "tslib": "^1.9.3" + } + }, + "@sentry/tracing": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-6.12.0.tgz", + "integrity": "sha512-u10QHNknPBzbWSUUNMkvuH53sQd5NaBo6YdNPj4p5b7sE7445Sh0PwBpRbY3ZiUUiwyxV59fx9UQ4yVnPGxZQA==", + "requires": { + "@sentry/hub": "6.12.0", + "@sentry/minimal": "6.12.0", + "@sentry/types": "6.12.0", + "@sentry/utils": "6.12.0", + "tslib": "^1.9.3" + } + }, + "@sentry/types": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-6.12.0.tgz", + "integrity": "sha512-urtgLzE4EDMAYQHYdkgC0Ei9QvLajodK1ntg71bGn0Pm84QUpaqpPDfHRU+i6jLeteyC7kWwa5O5W1m/jrjGXA==" + }, + "@sentry/utils": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-6.12.0.tgz", + "integrity": "sha512-oRHQ7TH5TSsJqoP9Gqq25Jvn9LKexXfAh/OoKwjMhYCGKGhqpDNUIZVgl9DWsGw5A5N5xnQyLOxDfyRV5RshdA==", + "requires": { + "@sentry/types": "6.12.0", + "tslib": "^1.9.3" + } + }, "@types/eslint": { "version": "7.2.13", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.13.tgz", @@ -6821,6 +7068,11 @@ "queue": "6.0.2" } }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" + }, "import-cwd": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz", @@ -7085,6 +7337,14 @@ "resolved": "https://registry.npmjs.org/jsqr/-/jsqr-1.4.0.tgz", "integrity": "sha512-dxLob7q65Xg2DvstYkRpkYtmKm2sPJ9oFhrhmudT1dZvNFFTlroai3AWSpLey/w5vMcLBXRgOJsbXpdN9HzU/A==" }, + "lie": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", + "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", + "requires": { + "immediate": "~3.0.5" + } + }, "lilconfig": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz", @@ -7112,6 +7372,14 @@ "json5": "^1.0.1" } }, + "localforage": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz", + "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==", + "requires": { + "lie": "3.1.1" + } + }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -8705,6 +8973,11 @@ "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==" }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "tty-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", diff --git a/package.json b/package.json index 64b9e8c..56c5626 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,11 @@ "dependencies": { "@headlessui/react": "^1.3.0", "@ninja-labs/verify-pdf": "^0.3.9", + "@sentry/browser": "^6.12.0", + "@sentry/integrations": "^6.12.0", + "@sentry/react": "^6.12.0", + "@sentry/tracing": "^6.12.0", + "@sentry/types": "^6.12.0", "@zxing/browser": "^0.0.9", "@zxing/library": "^0.18.6", "base45": "^3.0.0", diff --git a/pages/_app.tsx b/pages/_app.tsx index 9afe073..3d43130 100644 --- a/pages/_app.tsx +++ b/pages/_app.tsx @@ -5,6 +5,10 @@ import SEO from '../next-seo.config'; import type {AppProps} from 'next/app'; import {appWithTranslation} from 'next-i18next'; +import { initSentry } from '../src/sentry'; + +initSentry(); + function MyApp({Component, pageProps}: AppProps): JSX.Element { return ( <> diff --git a/src/process.ts b/src/process.ts index ff3c30e..e4cc988 100644 --- a/src/process.ts +++ b/src/process.ts @@ -2,6 +2,7 @@ import {PayloadBody, Receipt} from "./payload"; import * as PdfJS from 'pdfjs-dist' import {COLORS} from "./colors"; import { getCertificatesInfoFromPDF } from "@ninja-labs/verify-pdf"; // ES6 +import * as Sentry from '@sentry/react'; import { TextItem } from "pdfjs-dist/types/display/api"; @@ -61,8 +62,10 @@ async function loadPDF(signedPdfBuffer : ArrayBuffer): Promise { if (e.message.includes('Failed to locate ByteRange')) { e.message = 'Sorry. Selected PDF file is not digitally signed. Please download official copy from Step 1 and retry. Thanks.' } - if (e.message.includes('arrayBuffer')) { + else if (e.message.includes('arrayBuffer')) { e.message = 'Sorry. The tool currently requires iOS 14.2+. If possible, please upgrade. We are looking for workarounds, but it will take some time.' + } else { + Sentry.captureException(e); } return Promise.reject(e); diff --git a/src/sentry.ts b/src/sentry.ts new file mode 100644 index 0000000..827f904 --- /dev/null +++ b/src/sentry.ts @@ -0,0 +1,12 @@ +import * as SentryModule from '@sentry/react'; +import { Integrations } from '@sentry/tracing'; + +export const initSentry = () => { + SentryModule.init({ + dsn: 'https://eQQAQX2SsudxcM@o997324.ingest.sentry.io/5955697', + release: 'grassroots_covidpass@1.4.0', // App version. Needs to be manually updated as we go unless we make the build smarter + integrations: [ + new Integrations.BrowserTracing(), + ], + }); +;}; diff --git a/yarn.lock b/yarn.lock index 53cf431..cc0f21c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -145,6 +145,91 @@ "@nodelib/fs.scandir" "2.1.5" "fastq" "^1.6.0" +"@sentry/browser@^6.12.0", "@sentry/browser@6.12.0": + "integrity" "sha512-wsJi1NLOmfwtPNYxEC50dpDcVY7sdYckzwfqz1/zHrede1mtxpqSw+7iP4bHADOJXuF+ObYYTHND0v38GSXznQ==" + "resolved" "https://registry.npmjs.org/@sentry/browser/-/browser-6.12.0.tgz" + "version" "6.12.0" + dependencies: + "@sentry/core" "6.12.0" + "@sentry/types" "6.12.0" + "@sentry/utils" "6.12.0" + "tslib" "^1.9.3" + +"@sentry/core@6.12.0": + "integrity" "sha512-mU/zdjlzFHzdXDZCPZm8OeCw7c9xsbL49Mq0TrY0KJjLt4CJBkiq5SDTGfRsenBLgTedYhe5Z/J8Z+xVVq+MfQ==" + "resolved" "https://registry.npmjs.org/@sentry/core/-/core-6.12.0.tgz" + "version" "6.12.0" + dependencies: + "@sentry/hub" "6.12.0" + "@sentry/minimal" "6.12.0" + "@sentry/types" "6.12.0" + "@sentry/utils" "6.12.0" + "tslib" "^1.9.3" + +"@sentry/hub@6.12.0": + "integrity" "sha512-yR/UQVU+ukr42bSYpeqvb989SowIXlKBanU0cqLFDmv5LPCnaQB8PGeXwJAwWhQgx44PARhmB82S6Xor8gYNxg==" + "resolved" "https://registry.npmjs.org/@sentry/hub/-/hub-6.12.0.tgz" + "version" "6.12.0" + dependencies: + "@sentry/types" "6.12.0" + "@sentry/utils" "6.12.0" + "tslib" "^1.9.3" + +"@sentry/integrations@^6.12.0": + "integrity" "sha512-M9gsVdWZp5fAFFpTjK2IBuWzW4SBxGAI3tVbYZvVx16S/BY0GsPC1dYpjJx9OTBS/8CmCWdGxnUmjACo/8w1LA==" + "resolved" "https://registry.npmjs.org/@sentry/integrations/-/integrations-6.12.0.tgz" + "version" "6.12.0" + dependencies: + "@sentry/types" "6.12.0" + "@sentry/utils" "6.12.0" + "localforage" "^1.8.1" + "tslib" "^1.9.3" + +"@sentry/minimal@6.12.0": + "integrity" "sha512-r3C54Q1KN+xIqUvcgX9DlcoWE7ezWvFk2pSu1Ojx9De81hVqR9u5T3sdSAP2Xma+um0zr6coOtDJG4WtYlOtsw==" + "resolved" "https://registry.npmjs.org/@sentry/minimal/-/minimal-6.12.0.tgz" + "version" "6.12.0" + dependencies: + "@sentry/hub" "6.12.0" + "@sentry/types" "6.12.0" + "tslib" "^1.9.3" + +"@sentry/react@^6.12.0": + "integrity" "sha512-E8Nw9PPzP/EyMy64ksr9xcyYYlBmUA5ROnkPQp7o5wF0xf5/J+nMS1tQdyPnLQe2KUgHlN4kVs2HHft1m7mSYQ==" + "resolved" "https://registry.npmjs.org/@sentry/react/-/react-6.12.0.tgz" + "version" "6.12.0" + dependencies: + "@sentry/browser" "6.12.0" + "@sentry/minimal" "6.12.0" + "@sentry/types" "6.12.0" + "@sentry/utils" "6.12.0" + "hoist-non-react-statics" "^3.3.2" + "tslib" "^1.9.3" + +"@sentry/tracing@^6.12.0": + "integrity" "sha512-u10QHNknPBzbWSUUNMkvuH53sQd5NaBo6YdNPj4p5b7sE7445Sh0PwBpRbY3ZiUUiwyxV59fx9UQ4yVnPGxZQA==" + "resolved" "https://registry.npmjs.org/@sentry/tracing/-/tracing-6.12.0.tgz" + "version" "6.12.0" + dependencies: + "@sentry/hub" "6.12.0" + "@sentry/minimal" "6.12.0" + "@sentry/types" "6.12.0" + "@sentry/utils" "6.12.0" + "tslib" "^1.9.3" + +"@sentry/types@^6.12.0", "@sentry/types@6.12.0": + "integrity" "sha512-urtgLzE4EDMAYQHYdkgC0Ei9QvLajodK1ntg71bGn0Pm84QUpaqpPDfHRU+i6jLeteyC7kWwa5O5W1m/jrjGXA==" + "resolved" "https://registry.npmjs.org/@sentry/types/-/types-6.12.0.tgz" + "version" "6.12.0" + +"@sentry/utils@6.12.0": + "integrity" "sha512-oRHQ7TH5TSsJqoP9Gqq25Jvn9LKexXfAh/OoKwjMhYCGKGhqpDNUIZVgl9DWsGw5A5N5xnQyLOxDfyRV5RshdA==" + "resolved" "https://registry.npmjs.org/@sentry/utils/-/utils-6.12.0.tgz" + "version" "6.12.0" + dependencies: + "@sentry/types" "6.12.0" + "tslib" "^1.9.3" + "@types/eslint-scope@^3.7.0": "integrity" "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==" "resolved" "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz" @@ -1371,11 +1456,6 @@ "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" "version" "1.0.0" -"fsevents@~2.3.1", "fsevents@~2.3.2": - "integrity" "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==" - "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" - "version" "2.3.2" - "function-bind@^1.1.1": "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" @@ -1503,7 +1583,7 @@ "minimalistic-assert" "^1.0.0" "minimalistic-crypto-utils" "^1.0.1" -"hoist-non-react-statics@^3.2.0", "hoist-non-react-statics@^3.3.0": +"hoist-non-react-statics@^3.2.0", "hoist-non-react-statics@^3.3.0", "hoist-non-react-statics@^3.3.2": "integrity" "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==" "resolved" "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" "version" "3.3.2" @@ -1596,6 +1676,11 @@ dependencies: "queue" "6.0.2" +"immediate@~3.0.5": + "integrity" "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" + "resolved" "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz" + "version" "3.0.6" + "import-cwd@^3.0.0": "integrity" "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==" "resolved" "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz" @@ -1851,6 +1936,13 @@ "resolved" "https://registry.npmjs.org/jsqr/-/jsqr-1.4.0.tgz" "version" "1.4.0" +"lie@3.1.1": + "integrity" "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=" + "resolved" "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz" + "version" "3.1.1" + dependencies: + "immediate" "~3.0.5" + "lilconfig@^2.0.3": "integrity" "sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==" "resolved" "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz" @@ -1884,6 +1976,13 @@ "emojis-list" "^2.0.0" "json5" "^1.0.1" +"localforage@^1.8.1": + "integrity" "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==" + "resolved" "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz" + "version" "1.10.0" + dependencies: + "lie" "3.1.1" + "locate-path@^3.0.0": "integrity" "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==" "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" @@ -2629,7 +2728,7 @@ "resolved" "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz" "version" "0.8.3" -"react@^16 || ^17 || ^18", "react@^16.8.0 || ^17.0.0", "react@^17.0.2", "react@>= 0.14.0 < 18.0.0", "react@>= 16.8.0", "react@>=16.0.0", "react@15.x.x || 16.x.x || 17.x.x", "react@17.0.2": +"react@^16 || ^17 || ^18", "react@^16.8.0 || ^17.0.0", "react@^17.0.2", "react@>= 0.14.0 < 18.0.0", "react@>= 16.8.0", "react@>=16.0.0", "react@15.x || 16.x || 17.x", "react@15.x.x || 16.x.x || 17.x.x", "react@17.0.2": "integrity" "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==" "resolved" "https://registry.npmjs.org/react/-/react-17.0.2.tgz" "version" "17.0.2" @@ -3166,6 +3265,11 @@ "resolved" "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz" "version" "1.2.0" +"tslib@^1.9.3": + "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + "version" "1.14.1" + "tty-browserify@0.0.0": "integrity" "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" "resolved" "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz"