diff --git a/.changeset/hungry-frogs-collect.md b/.changeset/hungry-frogs-collect.md new file mode 100644 index 00000000..be0aa83e --- /dev/null +++ b/.changeset/hungry-frogs-collect.md @@ -0,0 +1,5 @@ +--- +'@hono/sentry': major +--- + +feat: bump up `toucan-js` to v3 diff --git a/packages/sentry/README.md b/packages/sentry/README.md index a6806de0..43a5df47 100644 --- a/packages/sentry/README.md +++ b/packages/sentry/README.md @@ -1,9 +1,30 @@ -# Sentry middleware for Hono +# Sentry Middleware for Hono -Sentry middleware for [Hono](https://github.com/honojs/hono). -This middleware sends captured exceptions to the specified Sentry data source name via [toucan-js](https://github.com/robertcepa/toucan-js). +This middleware integrates [Hono](https://github.com/honojs/hono) with Sentry. It captures exceptions and sends them to the specified Sentry data source name (DSN) using [toucan-js](https://github.com/robertcepa/toucan-js). -## Usage +## Installation + +```plain +npm i hono @hono/sentry +``` + +## Configuration + +If you're running your application on Cloudflare Workers, set a binding value named `SENTRY_DSN`, which will be used as the DSN. For instance, during development, you can specify this in `.dev.vars`: + +```plain +SENTRY_DSN= +``` + +On other platforms, you can directly provide the DSN by passing it as an option: + +```ts +sentry({ + dsn: ``, +}) +``` + +## How to Use ```ts import { Hono } from 'hono' @@ -17,7 +38,14 @@ app.get('/', (c) => c.text('foo')) export default app ``` -## Deno +Options: + +```ts +import type { Options as ToucanOptions } from 'toucan-js' +type Options = Omit +``` + +### For Deno Users ```ts import { serve } from 'https://deno.land/std/http/server.ts' @@ -32,9 +60,26 @@ app.get('/', (c) => c.text('foo')) serve(app.fetch) ``` -## Author +### Accessing an instance of `Sentry` + +You can retrieve an instance of `Sentry` using `c.get('sentry')`. + +```ts +app.onError((e, c) => { + c.get('sentry').setContext('character', { + name: 'Mighty Fighter', + age: 19, + attack_type: 'melee', + }) + c.get('sentry').captureException(e) + return c.text('Internal Server Error', 500) +}) +``` + +## Authors -Samuel Lippert +- Samuel Lippert - +- Yusuke Wada - ## License diff --git a/packages/sentry/deno_dist/index.ts b/packages/sentry/deno_dist/index.ts index 2b10fa8d..b3f05e21 100644 --- a/packages/sentry/deno_dist/index.ts +++ b/packages/sentry/deno_dist/index.ts @@ -1,6 +1,5 @@ import type { Context, MiddlewareHandler } from 'https://deno.land/x/hono/mod.ts' -import Toucan from 'https://cdn.skypack.dev/toucan-js@2.7.0' -import type { Options as ToucanOptions } from 'https://cdn.skypack.dev/toucan-js@2.7.0' +import { Toucan, type Options as ToucanOptions } from 'https://esm.sh/toucan-js@3.2.2' declare module 'https://deno.land/x/hono/mod.ts' { interface ContextVariableMap { @@ -33,8 +32,10 @@ export const sentry = ( } const sentry = new Toucan({ dsn: c.env?.SENTRY_DSN ?? c.env?.NEXT_PUBLIC_SENTRY_DSN, - allowedHeaders: ['user-agent'], - allowedSearchParams: /(.*)/, + requestDataOptions: { + allowedHeaders: ['user-agent'], + allowedSearchParams: /(.*)/, + }, request: c.req.raw, context: hasExecutionContext ? c.executionCtx : new MockContext(), ...options, diff --git a/packages/sentry/deno_test/deps.ts b/packages/sentry/deno_test/deps.ts index 1c02a418..0679053c 100644 --- a/packages/sentry/deno_test/deps.ts +++ b/packages/sentry/deno_test/deps.ts @@ -1,2 +1,2 @@ export { assert, assertEquals } from 'https://deno.land/std@0.148.0/testing/asserts.ts' -export { Hono } from 'https://deno.land/x/hono@v3.2.3/mod.ts' +export { Hono } from 'https://deno.land/x/hono/mod.ts' diff --git a/packages/sentry/package.json b/packages/sentry/package.json index 978015dc..b26dbad3 100644 --- a/packages/sentry/package.json +++ b/packages/sentry/package.json @@ -33,10 +33,10 @@ "access": "public" }, "peerDependencies": { - "hono": "^3.2.3" + "hono": "3.*" }, "dependencies": { - "toucan-js": "^2.6.1" + "toucan-js": "^3.2.2" }, "devDependencies": { "@cloudflare/workers-types": "^3.14.0", @@ -52,7 +52,7 @@ "eslint-plugin-flowtype": "^8.0.3", "eslint-plugin-import": "^2.26.0", "eslint-plugin-node": "^11.1.0", - "hono": "^3.0.2", + "hono": "^3.5.1", "jest": "^28.1.2", "jest-environment-miniflare": "^2.6.0", "np": "^7.6.2", diff --git a/packages/sentry/src/index.ts b/packages/sentry/src/index.ts index dfa91f63..186fb635 100644 --- a/packages/sentry/src/index.ts +++ b/packages/sentry/src/index.ts @@ -1,5 +1,5 @@ import type { Context, MiddlewareHandler } from 'hono' -import Toucan from 'toucan-js' +import { Toucan } from 'toucan-js' import type { Options as ToucanOptions } from 'toucan-js' declare module 'hono' { @@ -33,8 +33,10 @@ export const sentry = ( } const sentry = new Toucan({ dsn: c.env?.SENTRY_DSN ?? c.env?.NEXT_PUBLIC_SENTRY_DSN, - allowedHeaders: ['user-agent'], - allowedSearchParams: /(.*)/, + requestDataOptions: { + allowedHeaders: ['user-agent'], + allowedSearchParams: /(.*)/, + }, request: c.req.raw, context: hasExecutionContext ? c.executionCtx : new MockContext(), ...options, diff --git a/packages/sentry/src/replacer.ts b/packages/sentry/src/replacer.ts index 765feabe..68ceb46a 100644 --- a/packages/sentry/src/replacer.ts +++ b/packages/sentry/src/replacer.ts @@ -7,7 +7,7 @@ makeThisModuleAnExecutableReplacer(async ({ parsedImportExportStatement, version ...parsedImportExportStatement, parsedArgument: { type: 'URL', - url: `https://cdn.skypack.dev/toucan-js@${version}`, + url: `https://esm.sh/toucan-js@${version}`, }, }) } diff --git a/packages/sentry/test/index.test.ts b/packages/sentry/test/index.test.ts index 861dbfb7..1ea77446 100644 --- a/packages/sentry/test/index.test.ts +++ b/packages/sentry/test/index.test.ts @@ -14,7 +14,11 @@ class Context implements ExecutionContext { const captureException = jest.fn() const log = jest.fn() -jest.mock('toucan-js', () => jest.fn().mockImplementation(() => ({ captureException, log }))) + +jest.mock('toucan-js', () => ({ + Toucan: jest.fn().mockImplementation(() => ({ captureException, log })), +})) + const callback = jest.fn() describe('Sentry middleware', () => { @@ -23,7 +27,7 @@ describe('Sentry middleware', () => { app.use('/sentry/*', sentry(undefined, callback)) app.get('/sentry/foo', (c) => c.text('foo')) // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore + // @ts-expect-error app.get('/sentry/bar', (c) => getSentry(c).log('bar') || c.text('bar')) app.get('/sentry/error', () => { throw new Error('a catastrophic error') diff --git a/yarn.lock b/yarn.lock index 220f6f11..df370973 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1728,47 +1728,37 @@ dependencies: any-observable "^0.3.0" -"@sentry/core@6.19.6": - version "6.19.6" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.19.6.tgz#7d4649d0148b5d0be1358ab02e2f869bf7363e9a" - integrity sha512-biEotGRr44/vBCOegkTfC9rwqaqRKIpFljKGyYU6/NtzMRooktqOhjmjmItNCMRknArdeaQwA8lk2jcZDXX3Og== - dependencies: - "@sentry/hub" "6.19.6" - "@sentry/minimal" "6.19.6" - "@sentry/types" "6.19.6" - "@sentry/utils" "6.19.6" - tslib "^1.9.3" - -"@sentry/hub@6.19.6": - version "6.19.6" - resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.19.6.tgz#ada83ceca0827c49534edfaba018221bc1eb75e1" - integrity sha512-PuEOBZxvx3bjxcXmWWZfWXG+orojQiWzv9LQXjIgroVMKM/GG4QtZbnWl1hOckUj7WtKNl4hEGO2g/6PyCV/vA== - dependencies: - "@sentry/types" "6.19.6" - "@sentry/utils" "6.19.6" - tslib "^1.9.3" - -"@sentry/minimal@6.19.6": - version "6.19.6" - resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.19.6.tgz#b6cced3708e25d322039e68ebdf8fadfa445bf7d" - integrity sha512-T1NKcv+HTlmd8EbzUgnGPl4ySQGHWMCyZ8a8kXVMZOPDzphN3fVIzkYzWmSftCWp0rpabXPt9aRF2mfBKU+mAQ== - dependencies: - "@sentry/hub" "6.19.6" - "@sentry/types" "6.19.6" - tslib "^1.9.3" - -"@sentry/types@6.19.6": - version "6.19.6" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.19.6.tgz#70513f9dca05d23d7ab9c2a6cb08d4db6763ca67" - integrity sha512-QH34LMJidEUPZK78l+Frt3AaVFJhEmIi05Zf8WHd9/iTt+OqvCHBgq49DDr1FWFqyYWm/QgW/3bIoikFpfsXyQ== - -"@sentry/utils@6.19.6": - version "6.19.6" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.19.6.tgz#2ddc9ef036c3847084c43d0e5a55e4646bdf9021" - integrity sha512-fAMWcsguL0632eWrROp/vhPgI7sBj/JROWVPzpabwVkm9z3m1rQm6iLFn4qfkZL8Ozy6NVZPXOQ7EXmeU24byg== - dependencies: - "@sentry/types" "6.19.6" - tslib "^1.9.3" +"@sentry/core@7.64.0": + version "7.64.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.64.0.tgz#9d61cdc29ba299dedbdcbe01cfadf94bd0b7df48" + integrity sha512-IzmEyl5sNG7NyEFiyFHEHC+sizsZp9MEw1+RJRLX6U5RITvcsEgcajSkHQFafaBPzRrcxZMdm47Cwhl212LXcw== + dependencies: + "@sentry/types" "7.64.0" + "@sentry/utils" "7.64.0" + tslib "^2.4.1 || ^1.9.3" + +"@sentry/integrations@7.64.0": + version "7.64.0" + resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-7.64.0.tgz#a392ddeebeec0c08ae5ca1f544c80ab15977fe10" + integrity sha512-6gbSGiruOifAmLtXw//Za19GWiL5qugDMEFxSvc5WrBWb+A8UK+foPn3K495OcivLS68AmqAQCUGb+6nlVowwA== + dependencies: + "@sentry/types" "7.64.0" + "@sentry/utils" "7.64.0" + localforage "^1.8.1" + tslib "^2.4.1 || ^1.9.3" + +"@sentry/types@7.64.0": + version "7.64.0" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.64.0.tgz#21fc545ea05c3c8c4c3e518583eca1a8c5429506" + integrity sha512-LqjQprWXjUFRmzIlUjyA+KL+38elgIYmAeoDrdyNVh8MK5IC1W2Lh1Q87b4yOiZeMiIhIVNBd7Ecoh2rodGrGA== + +"@sentry/utils@7.64.0": + version "7.64.0" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.64.0.tgz#6fe3ce9a56d3433ed32119f914907361a54cc184" + integrity sha512-HRlM1INzK66Gt+F4vCItiwGKAng4gqzCR4C5marsL3qv6SrKH98dQnCGYgXluSWaaa56h97FRQu7TxCk6jkSvQ== + dependencies: + "@sentry/types" "7.64.0" + tslib "^2.4.1 || ^1.9.3" "@sinclair/typebox@^0.24.1": version "0.24.51" @@ -1931,11 +1921,6 @@ resolved "https://registry.yarnpkg.com/@types/comment-json/-/comment-json-1.1.1.tgz#b4ae889912a93e64619f97989aecaff8ce889dca" integrity sha512-U70oEqvnkeSSp8BIJwJclERtT13rd9ejK7XkIzMCQQePZe3VW1b7iQggXyW4ZvfGtGeXD0pZw24q5iWNe++HqQ== -"@types/cookie@0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.5.0.tgz#14ebcd209f2555e341548c31128d4deb34dfb2b0" - integrity sha512-CJWHVHHupxBYfIlMM+qzXx4dRKIV1VzOm0cP3Wpqten8MDx1tK+y92YDXUshN1ONAfwodvKxDNkw35/pNs+izg== - "@types/debug@^4.0.0": version "4.1.8" resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.8.tgz#cef723a5d0a90990313faec2d1e22aee5eecb317" @@ -4271,13 +4256,6 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -error-stack-parser@^2.0.6: - version "2.1.4" - resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" - integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== - dependencies: - stackframe "^1.3.4" - es-abstract@^1.19.0, es-abstract@^1.20.4: version "1.21.2" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff" @@ -5840,7 +5818,7 @@ hono@^2.7.2: resolved "https://registry.yarnpkg.com/hono/-/hono-2.7.8.tgz#5f6916c7f6838fe1f909f6046b30e6a0900f3128" integrity sha512-LXLXw6LilE16QO0siFBDiNzmaRP6ca5ZyF0gDWcaiUqJJtE/d4lV/Hpst2O33AmJB5n0DQa5w53gZLUVf7uXNg== -hono@^3.0.0, hono@^3.0.2, hono@^3.0.3, hono@^3.1.0, hono@^3.1.2, hono@^3.2.6: +hono@^3.0.0, hono@^3.0.3, hono@^3.1.0, hono@^3.1.2, hono@^3.2.6: version "3.2.6" resolved "https://registry.yarnpkg.com/hono/-/hono-3.2.6.tgz#b4927ed20b2edf165277f3e2b787a4e4948223f6" integrity sha512-jUf9SgkTW/H3Pd9oPwFgf3j05RXUbILWm96WlHll56t2Jkv8tVXyfLeBzYwdTzB7JE/hx+DWMXrVJ06UdfcKng== @@ -5850,6 +5828,11 @@ hono@^3.1.5, hono@^3.4.3: resolved "https://registry.yarnpkg.com/hono/-/hono-3.4.3.tgz#ab1db8777fa80341daf389979b7888da0786e3db" integrity sha512-HbVxZh9yC3hV25+mFjUaM65t7g8ia2mXbhAGmVHA0r8+guizTJq1Cg4f2SmB5+JrviG0vaqOnWJ9U3O05aikbA== +hono@^3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/hono/-/hono-3.5.1.tgz#eea7ba4b071507146e73efc29037e4da4cc96a81" + integrity sha512-L31KJg1Qu1ZHYKlpHYymqyDPR9U5SOy+X6c6+HQxBOGMGrJFawd5BvfcP+0rrGcw1bN5xk61+k3oKW4jFWyUkw== + hosted-git-info@^2.1.4: version "2.8.9" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" @@ -6002,6 +5985,11 @@ imagetools-core@^4.0.5: dependencies: sharp "^0.32.4" +immediate@~3.0.5: + version "3.0.6" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" + integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== + import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" @@ -7684,6 +7672,13 @@ libsodium@^0.7.11: resolved "https://registry.yarnpkg.com/libsodium/-/libsodium-0.7.11.tgz#cd10aae7bcc34a300cc6ad0ac88fcca674cfbc2e" integrity sha512-WPfJ7sS53I2s4iM58QxY3Inb83/6mjlYgcmZs7DJsvDlnmVUwNinBCi5vBT43P6bHRy01O4zsMU2CoVR6xJ40A== +lie@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e" + integrity sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw== + dependencies: + immediate "~3.0.5" + lilconfig@^2.0.5: version "2.1.0" resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" @@ -7785,6 +7780,13 @@ local-pkg@^0.4.3: resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.4.3.tgz#0ff361ab3ae7f1c19113d9bb97b98b905dbc4963" integrity sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g== +localforage@^1.8.1: + version "1.10.0" + resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.10.0.tgz#5c465dc5f62b2807c3a84c0c6a1b1b3212781dd4" + integrity sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg== + dependencies: + lie "3.1.1" + locate-path@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" @@ -10690,11 +10692,6 @@ source-map-support@0.5.13: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@0.5.6: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" - integrity sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA== - source-map@0.7.4, source-map@^0.7.0: version "0.7.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" @@ -10785,13 +10782,6 @@ ssri@^10.0.0: dependencies: minipass "^5.0.0" -stack-generator@^2.0.5: - version "2.0.10" - resolved "https://registry.yarnpkg.com/stack-generator/-/stack-generator-2.0.10.tgz#8ae171e985ed62287d4f1ed55a1633b3fb53bb4d" - integrity sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ== - dependencies: - stackframe "^1.3.4" - stack-trace@0.0.x: version "0.0.10" resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" @@ -10809,28 +10799,6 @@ stackback@0.0.2: resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b" integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== -stackframe@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" - integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== - -stacktrace-gps@^3.0.4: - version "3.1.2" - resolved "https://registry.yarnpkg.com/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz#0c40b24a9b119b20da4525c398795338966a2fb0" - integrity sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ== - dependencies: - source-map "0.5.6" - stackframe "^1.3.4" - -stacktrace-js@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stacktrace-js/-/stacktrace-js-2.0.2.tgz#4ca93ea9f494752d55709a081d400fdaebee897b" - integrity sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg== - dependencies: - error-stack-parser "^2.0.6" - stack-generator "^2.0.5" - stacktrace-gps "^3.0.4" - statuses@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" @@ -11369,18 +11337,15 @@ toidentifier@1.0.1: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== -toucan-js@^2.6.1: - version "2.7.0" - resolved "https://registry.yarnpkg.com/toucan-js/-/toucan-js-2.7.0.tgz#3d7e39294ed4fff1c9aaddd71ce0fdcd537040a0" - integrity sha512-vbvRbFfMLN2Jf9lOkwL1KwIwuCcS/ko0MVACZTYTnbdVlVjsIviwCU0inH0CRcMXCvFAS+uL8z/gSV3y7FpZUQ== - dependencies: - "@sentry/core" "6.19.6" - "@sentry/hub" "6.19.6" - "@sentry/types" "6.19.6" - "@sentry/utils" "6.19.6" - "@types/cookie" "0.5.0" - cookie "0.5.0" - stacktrace-js "2.0.2" +toucan-js@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/toucan-js/-/toucan-js-3.2.2.tgz#df3e11617e70ee032f8ab32997a5ad0f628e3823" + integrity sha512-FnUvHOS2bv/mimVCzJYyKo9nRFcz8zaPS4FKZ5XZVykRId3rKqP6+VeEjHgxkPM0WG+MoNUZSCfLbMmyoBfhKA== + dependencies: + "@sentry/core" "7.64.0" + "@sentry/integrations" "7.64.0" + "@sentry/types" "7.64.0" + "@sentry/utils" "7.64.0" tough-cookie@~2.5.0: version "2.5.0" @@ -11482,7 +11447,7 @@ tsconfig-paths@^3.14.1: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: +tslib@^1.8.1, tslib@^1.9.0: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== @@ -11492,6 +11457,11 @@ tslib@^2.0.1, tslib@^2.1.0, tslib@^2.5.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.3.tgz#24944ba2d990940e6e982c4bea147aba80209913" integrity sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w== +"tslib@^2.4.1 || ^1.9.3": + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + tsup@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/tsup/-/tsup-7.2.0.tgz#bb24c0d5e436477900c712e42adc67200607303c"