From be441f7d597c24edef21045ef72d53eff7e15ec0 Mon Sep 17 00:00:00 2001 From: aristides Date: Wed, 11 Sep 2024 14:09:42 -0600 Subject: [PATCH] Release/1.4.7 (#148) * upgrade blockaid/client and return full blockaid results (#145) * upgrade blockaid/client and return full blockaid results * fix tests * add route to bulk scan assets (#146) * adds runbook and updates readme * Bump the minor-and-patch group across 1 directory with 11 updates Bumps the minor-and-patch group with 11 updates in the / directory: | Package | From | To | | --- | --- | --- | | [@blockaid/client](https://github.com/blockaid-official/blockaid-client-node) | `0.21.0` | `0.25.0` | | [@sentry/node](https://github.com/getsentry/sentry-javascript) | `8.23.0` | `8.28.0` | | [@urql/core](https://github.com/urql-graphql/urql/tree/HEAD/packages/core) | `5.0.5` | `5.0.6` | | [axios](https://github.com/axios/axios) | `1.7.3` | `1.7.7` | | [pino](https://github.com/pinojs/pino) | `9.3.2` | `9.4.0` | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.1.0` | `22.5.4` | | [@types/yargs](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/yargs) | `17.0.32` | `17.0.33` | | [husky](https://github.com/typicode/husky) | `9.1.4` | `9.1.5` | | [lint-staged](https://github.com/lint-staged/lint-staged) | `15.2.8` | `15.2.10` | | [ts-jest](https://github.com/kulshekhar/ts-jest) | `29.2.4` | `29.2.5` | | [webpack](https://github.com/webpack/webpack) | `5.93.0` | `5.94.0` | Updates `@blockaid/client` from 0.21.0 to 0.25.0 - [Release notes](https://github.com/blockaid-official/blockaid-client-node/releases) - [Changelog](https://github.com/blockaid-official/blockaid-client-node/blob/main/CHANGELOG.md) - [Commits](https://github.com/blockaid-official/blockaid-client-node/compare/v0.21.0...v0.25.0) Updates `@sentry/node` from 8.23.0 to 8.28.0 - [Release notes](https://github.com/getsentry/sentry-javascript/releases) - [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md) - [Commits](https://github.com/getsentry/sentry-javascript/compare/8.23.0...8.28.0) Updates `@urql/core` from 5.0.5 to 5.0.6 - [Release notes](https://github.com/urql-graphql/urql/releases) - [Changelog](https://github.com/urql-graphql/urql/blob/main/packages/core/CHANGELOG.md) - [Commits](https://github.com/urql-graphql/urql/commits/@urql/core@5.0.6/packages/core) Updates `axios` from 1.7.3 to 1.7.7 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v1.7.3...v1.7.7) Updates `pino` from 9.3.2 to 9.4.0 - [Release notes](https://github.com/pinojs/pino/releases) - [Commits](https://github.com/pinojs/pino/compare/v9.3.2...v9.4.0) Updates `@types/node` from 22.1.0 to 22.5.4 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `@types/yargs` from 17.0.32 to 17.0.33 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/yargs) Updates `husky` from 9.1.4 to 9.1.5 - [Release notes](https://github.com/typicode/husky/releases) - [Commits](https://github.com/typicode/husky/compare/v9.1.4...v9.1.5) Updates `lint-staged` from 15.2.8 to 15.2.10 - [Release notes](https://github.com/lint-staged/lint-staged/releases) - [Changelog](https://github.com/lint-staged/lint-staged/blob/master/CHANGELOG.md) - [Commits](https://github.com/lint-staged/lint-staged/compare/v15.2.8...v15.2.10) Updates `ts-jest` from 29.2.4 to 29.2.5 - [Release notes](https://github.com/kulshekhar/ts-jest/releases) - [Changelog](https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md) - [Commits](https://github.com/kulshekhar/ts-jest/compare/v29.2.4...v29.2.5) Updates `webpack` from 5.93.0 to 5.94.0 - [Release notes](https://github.com/webpack/webpack/releases) - [Commits](https://github.com/webpack/webpack/compare/v5.93.0...v5.94.0) --- updated-dependencies: - dependency-name: "@blockaid/client" dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@sentry/node" dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@urql/core" dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: axios dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: pino dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@types/yargs" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: husky dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: lint-staged dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: ts-jest dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: webpack dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch ... Signed-off-by: dependabot[bot] --------- Signed-off-by: dependabot[bot] Co-authored-by: Piyal Basu Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- README.md | 4 +- docs/runbook.md | 57 +++++ package.json | 22 +- src/route/index.test.ts | 58 ++++- src/route/index.ts | 37 +++ .../blockaid/helpers/addScanResults.ts | 25 +- yarn.lock | 226 +++++++++--------- 7 files changed, 287 insertions(+), 142 deletions(-) create mode 100644 docs/runbook.md diff --git a/README.md b/README.md index b4e5b03..7602e5d 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Freighter's indexer integration layer and general backend You will need -- Node (>=18.0): https://nodejs.org/en/download/ +- Node (>=20.0): https://nodejs.org/en/download/ - Yarn (>=v1.22.5): https://classic.yarnpkg.com/en/docs/install ## Development @@ -16,6 +16,8 @@ This application relies on a Redis instance when `MODE=production`, you can eith To start the server in development mode, run: `yarn i && yarn start` +For full runbook details, please reference [the runbook.](./docs/runbook.md) + ## Production build `yarn build:prod` diff --git a/docs/runbook.md b/docs/runbook.md new file mode 100644 index 0000000..d59400d --- /dev/null +++ b/docs/runbook.md @@ -0,0 +1,57 @@ +## Prerequisites + +- Node (>=20.0): https://nodejs.org/en/download/ +- Yarn (>=v1.22.5): https://classic.yarnpkg.com/en/docs/install +- Docker: (optional) https://docs.docker.com/engine/install/ + +## Environment + +| Variable Name | Description | +| ------------------------------------- | -------------------------------------------------------- | ----------- | +| AUTH_EMAIL | Email address used to log in to Mercury(pubnet) | +| AUTH_PASS | Password used to log in to Mercury(pubnet) | +| AUTH_EMAIL_TESTNET | Email address used to log in to Mercury(testnet) | +| AUTH_PASS_TESTNET | Password used to log in to Mercury(testnet) | +| MERCURY_INTEGRITY_CHECK_ACCOUNT_EMAIL | Email address used to log in to Mercury(integrity check) | +| MERCURY_INTEGRITY_CHECK_ACCOUNT_PASS | Password used to log in to Mercury(integrity check) | +| REDIS_CONNECTION_NAME | Redis connection name | +| REDIS_PORT | port for Redis | +| HOSTNAME | hostname Redis is running at | +| MODE | app run move(development | production) | +| USE_MERCURY | flag to toggle use of Mercury | +| SENTRY_KEY | key to configure Sentry instance | +| BLOCKAID_KEY | key to configure Blockaid instance | + +Relies on a Redis instance when `MODE=production`, you can either run `docker compose up` to use docker to stand up a Redis or you can start one on the configured port manually. If you're running in development mode, it uses a memory store instead. + +## Setup + +To install dependencies, run `yarn i` + +## Development + +Start development server - +`yarn start` + +CLI arguments +-e | --env: (optional) Overrides the environment variable set for `MODE`, should be set to `development|production` +-p | --port: (optional) Sets the application port adn defaults to `3002` + +## Production Build + +`yarn build:prod` + +## Testing + +Run unit tests with `yarn test`. + +## Mercury Integrity Test + +In order to test Mercury for data integrity against Horizon, you can configure your env to `USE_MERCURY=true && MODE=production`. +This will result in a worker that continously processes new blocks, queries both Mercury and Horizon for the same transaction, transforms both responses into a common schema, and finally checks for correctness of the results. + +In case of an integrity failure, the `USE_MERCURY` redis flag will be flipped to false and the application will fallback to serving requests from Horizon/Rpc. + +## Metrics + +Metrics are gathered using [Prometheus](https://prometheus.io/docs/introduction/overview/), and a standalone metrics server runs on the standard Prometheus port and exposes a `/metrics` route for collection. diff --git a/package.json b/package.json index 87a119b..630b52c 100644 --- a/package.json +++ b/package.json @@ -29,19 +29,19 @@ "node": ">=18.12.0" }, "dependencies": { - "@blockaid/client": "^0.21.0", + "@blockaid/client": "^0.25.0", "@fastify/cors": "^9.0.1", "@fastify/helmet": "^11.1.1", "@fastify/rate-limit": "^9.1.0", - "@sentry/node": "^8.22.0", + "@sentry/node": "^8.28.0", "@stellar/js-xdr": "^3.1.2", - "@urql/core": "^5.0.5", + "@urql/core": "^5.0.6", "ajv": "^8.17.0", - "axios": "^1.7.4", + "axios": "^1.7.7", "dotenv-expand": "^11.0.6", "fastify": "^4.28.1", "ioredis": "^5.4.1", - "pino": "^9.3.2", + "pino": "^9.4.0", "pino-pretty": "^11.2.2", "prom-client": "^15.1.3", "stellar-sdk": "yarn:stellar-sdk@^12.1.0", @@ -52,19 +52,19 @@ "@babel/preset-typescript": "^7.24.7", "@stellar/tsconfig": "^1.0.2", "@types/jest": "^29.5.12", - "@types/node": "^22.1.0", - "@types/yargs": "^17.0.32", + "@types/node": "^22.5.4", + "@types/yargs": "^17.0.33", "babel-jest": "^29.7.0", "dotenv": "^16.4.5", - "husky": "^9.1.4", + "husky": "^9.1.5", "jest": "^29.7.0", - "lint-staged": "^15.2.8", + "lint-staged": "^15.2.10", "prettier": "^3.3.3", "pretty-quick": "^4.0.0", - "ts-jest": "^29.2.4", + "ts-jest": "^29.2.5", "ts-loader": "^9.5.1", "typescript": "^5.5.4", - "webpack": "^5.93.0", + "webpack": "^5.94.0", "webpack-cli": "^5.1.4", "webpack-node-externals": "^3.0.0" } diff --git a/src/route/index.test.ts b/src/route/index.test.ts index 81ac77a..7db2520 100644 --- a/src/route/index.test.ts +++ b/src/route/index.test.ts @@ -26,12 +26,14 @@ jest.mock("@blockaid/client", () => { "BLND-GATALTGTWIOT6BUDBCZM3Q4OQ4BO2COLOAZ7IYSKPLC2PMSOPPGF5V56" ) { res[address] = { + result_type: "Malicious", malicious_score: 1, }; return; } res[address] = { + result_type: "Benign", malicious_score: 0, }; }); @@ -181,13 +183,13 @@ describe("API routes", () => { expect( data.balances[ "BLND:GATALTGTWIOT6BUDBCZM3Q4OQ4BO2COLOAZ7IYSKPLC2PMSOPPGF5V56" - ].isMalicious, - ).toEqual(true); + ].blockaidData.result_type, + ).toEqual("Malicious"); expect( data.balances[ "TST:CCWAMYJME4H5CKG7OLXGC2T4M6FL52XCZ3OQOAV6LL3GLA4RO4WH3ASP" - ].isMalicious, - ).toEqual(false); + ].blockaidData.result_type, + ).toEqual("Benign"); register.clear(); await server.close(); }); @@ -213,8 +215,8 @@ describe("API routes", () => { expect( data.balances[ "BLND:GATALTGTWIOT6BUDBCZM3Q4OQ4BO2COLOAZ7IYSKPLC2PMSOPPGF5V56" - ].isMalicious, - ).toEqual(false); + ].blockaidData.result_type, + ).toEqual("Benign"); register.clear(); await server.close(); }); @@ -241,8 +243,48 @@ describe("API routes", () => { expect( data.balances[ "TST:CDP3XWJ4ZN222LKYBMWIY3GYXZYX3KA6WVNDS6V7WKXSYWLAEMYW7DTZ" - ].isMalicious, - ).toEqual(false); + ].blockaidData.result_type, + ).toEqual("Benign"); + register.clear(); + await server.close(); + }); + }); + describe("/scan-asset-bulk", () => { + it("can scan assets in bulk", async () => { + const asset_ids = [ + "BLND-GATALTGTWIOT6BUDBCZM3Q4OQ4BO2COLOAZ7IYSKPLC2PMSOPPGF5V56", + "FOO-CDP3XWJ4ZN222LKYBMWIY3GYXZYX3KA6WVNDS6V7WKXSYWLAEMYW7DTZ", + ]; + const server = await getDevServer(); + const url = new URL( + `http://localhost:${ + (server?.server?.address() as any).port + }/api/v1/scan-asset-bulk`, + ); + url.searchParams.append("network", "PUBLIC"); + for (const id of asset_ids) { + url.searchParams.append("asset_ids", id); + } + const response = await fetch(url.href); + const data = await response.json(); + + expect(response.status).toEqual(200); + expect( + data.data.results[ + "BLND-GATALTGTWIOT6BUDBCZM3Q4OQ4BO2COLOAZ7IYSKPLC2PMSOPPGF5V56" + ], + ).toEqual({ + result_type: "Malicious", + malicious_score: 1, + }); + expect( + data.data.results[ + "FOO-CDP3XWJ4ZN222LKYBMWIY3GYXZYX3KA6WVNDS6V7WKXSYWLAEMYW7DTZ" + ], + ).toEqual({ + result_type: "Benign", + malicious_score: 0, + }); register.clear(); await server.close(); }); diff --git a/src/route/index.ts b/src/route/index.ts index d4cd5f7..9d46088 100644 --- a/src/route/index.ts +++ b/src/route/index.ts @@ -663,6 +663,43 @@ export async function initApiServer( }, }); + instance.route({ + method: "GET", + url: "/scan-asset-bulk", + schema: { + querystring: { + type: "object", + required: ["asset_ids"], + properties: { + ["asset_ids"]: { + type: "array", + validator: (qStr: Array) => + qStr + .map((q) => String(q).split("-")[1]) + .every((k) => isContractId(k) || isPubKey(k)), + }, + }, + }, + }, + handler: async ( + request: FastifyRequest<{ + Querystring: { + ["asset_ids"]: string[]; + }; + }>, + reply, + ) => { + const { asset_ids } = request.query; + try { + const { data, error } = + await blockAidService.scanAssetBulk(asset_ids); + return reply.code(error ? 400 : 200).send({ data, error }); + } catch (error) { + return reply.code(500).send(ERROR.SERVER_ERROR); + } + }, + }); + instance.route({ method: "POST", url: "/subscription/token", diff --git a/src/service/blockaid/helpers/addScanResults.ts b/src/service/blockaid/helpers/addScanResults.ts index 603d2f5..28d6429 100644 --- a/src/service/blockaid/helpers/addScanResults.ts +++ b/src/service/blockaid/helpers/addScanResults.ts @@ -1,3 +1,4 @@ +import Blockaid from "@blockaid/client"; import { Logger } from "pino"; import { BlockAidService } from ".."; import { NetworkNames } from "../../../helper/validate"; @@ -8,7 +9,9 @@ export const addScannedStatus = async ( network: NetworkNames, logger: Logger, ) => { - const scannedBalances = {} as { [key: string]: { isMalicious: boolean } }; + const scannedBalances = {} as { + [key: string]: { blockaidData: Blockaid.Token.TokenScanResponse }; + }; const entries = Object.entries(balances); const keyList: string[] = []; @@ -26,10 +29,23 @@ export const addScannedStatus = async ( } } - // we set a default for isMalicious that, if we do scan with Blockaid, we will overwrite. Otherwise, we're done + // set a default as Benign. If we do scan with Blockaid, we will overwrite. Otherwise, we're done scannedBalances[key] = { ...balanceInfo, - isMalicious: false, + blockaidData: { + result_type: "Benign", + malicious_score: "0.0", + attack_types: {}, + chain: "stellar", + address: "", + metadata: { + type: "", + }, + fees: {}, + features: [], + trading_limits: {}, + financial_stats: {}, + }, }; } @@ -44,8 +60,7 @@ export const addScannedStatus = async ( const balKey = `${splitKey[0]}:${splitKey[1]}`; // overwrite the isMalicious default with the Blockaid scan result - scannedBalances[balKey].isMalicious = - Boolean(Number(val?.malicious_score)) || false; + scannedBalances[balKey].blockaidData = val; } catch (e) { logger.error(e); logger.error(`Failed to process Blockaid scan result: ${key}:${val}`); diff --git a/yarn.lock b/yarn.lock index fb1de4e..2fdc80f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -358,10 +358,10 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@blockaid/client@^0.21.0": - version "0.21.0" - resolved "https://registry.yarnpkg.com/@blockaid/client/-/client-0.21.0.tgz#9c31f1eb79a07b7b37c7926c03b9ec085129c263" - integrity sha512-y0NNUDZoAwC+CZTfUpJbBqyVxcrgptUkvqhy+krWTg8qlMkpsoNZuTWdFzoJxXeYuj6wVYtGPHIgXoBvY1bntg== +"@blockaid/client@^0.25.0": + version "0.25.0" + resolved "https://registry.yarnpkg.com/@blockaid/client/-/client-0.25.0.tgz#047edad9b4a2400b316041aa0932f53120b14448" + integrity sha512-QcFuurS6sAOFY8/d8rmWpmJAUJbYojSQlOAJ97eWSAW9WI9D1tjAC1JpEBvGUlfwLjO4/+kOqk4KvDXxEleIgA== dependencies: "@types/node" "^18.11.18" "@types/node-fetch" "^2.6.4" @@ -739,6 +739,14 @@ "@opentelemetry/instrumentation" "^0.52.0" "@opentelemetry/semantic-conventions" "^1.22.0" +"@opentelemetry/instrumentation-fs@0.14.0": + version "0.14.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-fs/-/instrumentation-fs-0.14.0.tgz#19f1cb38a8c2d05f3b96af67f1c8d43f0af2829b" + integrity sha512-pVc8P5AgliC1DphyyBUgsxXlm2XaPH4BpYvt7rAZDMIqUpRk8gs19SioABtKqqxvFzg5jPtgJfJsdxq0Y+maLw== + dependencies: + "@opentelemetry/core" "^1.8.0" + "@opentelemetry/instrumentation" "^0.52.0" + "@opentelemetry/instrumentation-graphql@0.42.0": version "0.42.0" resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-graphql/-/instrumentation-graphql-0.42.0.tgz#588a18c39e3b3f655bc09243566172ab0b638d35" @@ -913,27 +921,27 @@ dependencies: "@opentelemetry/core" "^1.1.0" -"@prisma/instrumentation@5.17.0": - version "5.17.0" - resolved "https://registry.yarnpkg.com/@prisma/instrumentation/-/instrumentation-5.17.0.tgz#f741ff517f54b1a896fb8605e0d702f29855c6cb" - integrity sha512-c1Sle4ji8aasMcYfBBHFM56We4ljfenVtRmS8aY06BllS7SoU6SmJBwG7vil+GHiR0Yrh+t9iBwt4AY0Jr4KNQ== +"@prisma/instrumentation@5.18.0": + version "5.18.0" + resolved "https://registry.yarnpkg.com/@prisma/instrumentation/-/instrumentation-5.18.0.tgz#8b49e25bf3f8f756eb0c4c199b4cf8b6631db891" + integrity sha512-r074avGkpPXItk+josQPhufZEmGhUCb16PQx4ITPS40vWTpTPET4VsgCBZB2alIN6SS7pRFod2vz2M2HHEEylQ== dependencies: "@opentelemetry/api" "^1.8" "@opentelemetry/instrumentation" "^0.49 || ^0.50 || ^0.51 || ^0.52.0" "@opentelemetry/sdk-trace-base" "^1.22" -"@sentry/core@8.23.0": - version "8.23.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-8.23.0.tgz#76a46f5295857eebd8ec7d9be9341df31e0b66e3" - integrity sha512-o0tHpxwi5WxjaQPtY+BPkG8FliM4QB91QKoi2QclWvR9t9jUgMWZ4ikziybNiKICZRXtN9B6wSBWlPVWfsiN6A== +"@sentry/core@8.28.0": + version "8.28.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-8.28.0.tgz#dd28fa913c296b443d4070f147c63e81edf429c8" + integrity sha512-+If9uubvpZpvaQQw4HLiKPhrSS9/KcoA/AcdQkNm+5CVwAoOmDPtyYfkPBgfo2hLZnZQqR1bwkz/PrNoOm+gqA== dependencies: - "@sentry/types" "8.23.0" - "@sentry/utils" "8.23.0" + "@sentry/types" "8.28.0" + "@sentry/utils" "8.28.0" -"@sentry/node@^8.22.0": - version "8.23.0" - resolved "https://registry.yarnpkg.com/@sentry/node/-/node-8.23.0.tgz#d3e62a19a755b3dc32bf02d5363b5fd3e703eeb5" - integrity sha512-Ys1A5XII74TWG07q/Y2K+fQoatX2sEiTPHLzLyKjsr1nOL6ANnyz+xnWAuYpF5RNa5R39vgJSwvJTR3S0+DnKw== +"@sentry/node@^8.28.0": + version "8.28.0" + resolved "https://registry.yarnpkg.com/@sentry/node/-/node-8.28.0.tgz#fef8cccd2c75345cb3e8840dba8b748a07376060" + integrity sha512-444hx0S7EAYDdq3g2U37qHFC/WFErgf8ZvXqhWfoCI4RweHHntdFbz3azexYnO61iUsmSAnFAX6htJtAG2zNdA== dependencies: "@opentelemetry/api" "^1.9.0" "@opentelemetry/context-async-hooks" "^1.25.1" @@ -942,6 +950,7 @@ "@opentelemetry/instrumentation-connect" "0.38.0" "@opentelemetry/instrumentation-express" "0.41.1" "@opentelemetry/instrumentation-fastify" "0.38.0" + "@opentelemetry/instrumentation-fs" "0.14.0" "@opentelemetry/instrumentation-graphql" "0.42.0" "@opentelemetry/instrumentation-hapi" "0.40.0" "@opentelemetry/instrumentation-http" "0.52.1" @@ -957,35 +966,35 @@ "@opentelemetry/resources" "^1.25.1" "@opentelemetry/sdk-trace-base" "^1.25.1" "@opentelemetry/semantic-conventions" "^1.25.1" - "@prisma/instrumentation" "5.17.0" - "@sentry/core" "8.23.0" - "@sentry/opentelemetry" "8.23.0" - "@sentry/types" "8.23.0" - "@sentry/utils" "8.23.0" + "@prisma/instrumentation" "5.18.0" + "@sentry/core" "8.28.0" + "@sentry/opentelemetry" "8.28.0" + "@sentry/types" "8.28.0" + "@sentry/utils" "8.28.0" import-in-the-middle "^1.11.0" optionalDependencies: opentelemetry-instrumentation-fetch-node "1.2.3" -"@sentry/opentelemetry@8.23.0": - version "8.23.0" - resolved "https://registry.yarnpkg.com/@sentry/opentelemetry/-/opentelemetry-8.23.0.tgz#75dd763ae70e749573f775efb1307f1cdce6190d" - integrity sha512-qBDCVHpFAhyV7iZDz4cLpx7U1SBb/MynCwEuLWfK4yojpIihPcxhbJENxjJvsoc/I9img4wx8nJ34G9xpBlOag== +"@sentry/opentelemetry@8.28.0": + version "8.28.0" + resolved "https://registry.yarnpkg.com/@sentry/opentelemetry/-/opentelemetry-8.28.0.tgz#402465eb5f2cf015f389321361953b9637e24e5e" + integrity sha512-xClK/fa2Y9AMoaV6f7sWfoHAz56actn2RN3UuYAfxlgmNEfZEa0tc78x4XygCT+2b83QbUb+qf1q4+1ft+HEsQ== dependencies: - "@sentry/core" "8.23.0" - "@sentry/types" "8.23.0" - "@sentry/utils" "8.23.0" + "@sentry/core" "8.28.0" + "@sentry/types" "8.28.0" + "@sentry/utils" "8.28.0" -"@sentry/types@8.23.0": - version "8.23.0" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-8.23.0.tgz#02912ee3be3bc79a40d2d5313d035b524de27d7e" - integrity sha512-oJbZ04chsz3Gqro3GJuAAcEsJ7RVjk3k4TvAMxmhN5tQUqwvKFtvWjfskcF75ECzY+8Qge6PI7eXoibkhjx8sg== +"@sentry/types@8.28.0": + version "8.28.0" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-8.28.0.tgz#a1cfc004d5714679cb3fed06c27298b0275d13b5" + integrity sha512-hOfqfd92/AzBrEdMgmmV1VfOXJbIfleFTnerRl0mg/+CcNgP/6+Fdonp354TD56ouWNF2WkOM6sEKSXMWp6SEQ== -"@sentry/utils@8.23.0": - version "8.23.0" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-8.23.0.tgz#532fb96a645345e2492eb1338b823b95f1078ac7" - integrity sha512-g+rkk+vFQnAz7xHGUTHXybA9qFdp1mtv3JGXtFKlLxPm8bKpzbBlJA3FiX4E7ai/Ksbv0N+K7c5fDth3LX3wAA== +"@sentry/utils@8.28.0": + version "8.28.0" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-8.28.0.tgz#0feb46015033879b2a3cee4c0661386610025f47" + integrity sha512-smhk7PJpvDMQ2DB5p2qn9UeoUHdU41IgjMmS2xklZpa8tjzBTxDeWpGvrX2fuH67D9bAJuLC/XyZjJCHLoEW5g== dependencies: - "@sentry/types" "8.23.0" + "@sentry/types" "8.28.0" "@sinclair/typebox@^0.27.8": version "0.27.8" @@ -1070,23 +1079,7 @@ dependencies: "@types/node" "*" -"@types/eslint-scope@^3.7.3": - version "3.7.7" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" - integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "9.6.0" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.0.tgz#51d4fe4d0316da9e9f2c80884f2c20ed5fb022ff" - integrity sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@^1.0.5": +"@types/estree@^1.0.5": version "1.0.5" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== @@ -1125,7 +1118,7 @@ expect "^29.0.0" pretty-format "^29.0.0" -"@types/json-schema@*", "@types/json-schema@^7.0.8": +"@types/json-schema@^7.0.8": version "7.0.15" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== @@ -1145,12 +1138,12 @@ "@types/node" "*" form-data "^4.0.0" -"@types/node@*", "@types/node@^22.1.0": - version "22.1.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.1.0.tgz#6d6adc648b5e03f0e83c78dc788c2b037d0ad94b" - integrity sha512-AOmuRF0R2/5j1knA3c6G3HOk523Ga+l+ZXltX8SF1+5oqcXijjfTd8fY3XRZqSihEu9XhtQnKYLmkFaoxgsJHw== +"@types/node@*", "@types/node@^22.5.4": + version "22.5.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.5.4.tgz#83f7d1f65bc2ed223bdbf57c7884f1d5a4fa84e8" + integrity sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg== dependencies: - undici-types "~6.13.0" + undici-types "~6.19.2" "@types/node@^18.11.18": version "18.19.43" @@ -1199,17 +1192,17 @@ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== -"@types/yargs@^17.0.32", "@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== +"@types/yargs@^17.0.33", "@types/yargs@^17.0.8": + version "17.0.33" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" + integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== dependencies: "@types/yargs-parser" "*" -"@urql/core@^5.0.5": - version "5.0.5" - resolved "https://registry.yarnpkg.com/@urql/core/-/core-5.0.5.tgz#8b7d864c40ca30c3ad29bbda93ad718f78a3d055" - integrity sha512-KmWRlN8dJz+XU21wmhcHcTV11n1K7zxaMtVwOhkH7b8H5Z5nuFKY5EkUsWqPlZl53YPiKwTtOMpptz5hamVVNQ== +"@urql/core@^5.0.6": + version "5.0.6" + resolved "https://registry.yarnpkg.com/@urql/core/-/core-5.0.6.tgz#0d6624e30084f9137f78dc6c5bb8a599cba7f9dc" + integrity sha512-38rgSDqVNihFDauw1Pm9V7XLWIKuK8V9CKgrUF7/xEKinze8ENKP1ZeBhkG+dxWzJan7CHK+SLl46kAdvZwIlA== dependencies: "@0no-co/graphql.web" "^1.0.5" wonka "^6.3.2" @@ -1519,10 +1512,10 @@ avvio@^8.3.0: "@fastify/error" "^3.3.0" fastq "^1.17.1" -axios@^1.7.2, axios@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.4.tgz#4c8ded1b43683c8dd362973c393f3ede24052aa2" - integrity sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw== +axios@^1.7.2, axios@^1.7.7: + version "1.7.7" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f" + integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q== dependencies: follow-redirects "^1.15.6" form-data "^4.0.0" @@ -1645,7 +1638,7 @@ browserslist@^4.21.10, browserslist@^4.23.1: node-releases "^2.0.18" update-browserslist-db "^1.1.0" -bs-logger@0.x: +bs-logger@^0.2.6: version "0.2.6" resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== @@ -1958,7 +1951,7 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^5.0.0, enhanced-resolve@^5.17.0: +enhanced-resolve@^5.0.0, enhanced-resolve@^5.17.1: version "5.17.1" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== @@ -2407,10 +2400,10 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" -husky@^9.1.4: - version "9.1.4" - resolved "https://registry.yarnpkg.com/husky/-/husky-9.1.4.tgz#926fd19c18d345add5eab0a42b2b6d9a80259b34" - integrity sha512-bho94YyReb4JV7LYWRWxZ/xr6TtOTt8cMfmQ39MQYJ7f/YE268s3GdghGwi+y4zAeqewE5zYLvuhV0M0ijsDEA== +husky@^9.1.5: + version "9.1.5" + resolved "https://registry.yarnpkg.com/husky/-/husky-9.1.5.tgz#2b6edede53ee1adbbd3a3da490628a23f5243b83" + integrity sha512-rowAVRUBfI0b4+niA4SJMhfQwc107VLkBUgEYYAOQAbqDCnra1nYh83hF/MDmhYs9t9n1E3DuKOrs2LYNC+0Ag== ieee754@^1.2.1: version "1.2.1" @@ -3073,10 +3066,10 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -lint-staged@^15.2.8: - version "15.2.8" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.2.8.tgz#5e19eb7b4dbb922f56fafb4635b44ee3c92f7322" - integrity sha512-PUWFf2zQzsd9EFU+kM1d7UP+AZDbKFKuj+9JNVTBkhUFhbg4MAt6WfyMMwBfM4lYqd4D2Jwac5iuTu9rVj4zCQ== +lint-staged@^15.2.10: + version "15.2.10" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.2.10.tgz#92ac222f802ba911897dcf23671da5bb80643cd2" + integrity sha512-5dY5t743e1byO19P9I4b3x8HJwalIznL5E1FWYnU6OWw33KxNBSLAc6Cy7F2PsFEO8FKnLwjwm5hx7aMF0jzZg== dependencies: chalk "~5.3.0" commander "~12.1.0" @@ -3084,7 +3077,7 @@ lint-staged@^15.2.8: execa "~8.0.1" lilconfig "~3.1.2" listr2 "~8.2.4" - micromatch "~4.0.7" + micromatch "~4.0.8" pidtree "~0.6.0" string-argv "~0.3.2" yaml "~2.5.0" @@ -3130,7 +3123,7 @@ lodash.isarguments@^3.1.0: resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" integrity sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg== -lodash.memoize@4.x: +lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== @@ -3165,7 +3158,7 @@ make-dir@^4.0.0: dependencies: semver "^7.5.3" -make-error@1.x: +make-error@^1.3.6: version "1.3.6" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== @@ -3182,10 +3175,10 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -micromatch@^4.0.0, micromatch@^4.0.4, micromatch@~4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" - integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== +micromatch@^4.0.0, micromatch@^4.0.4, micromatch@~4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== dependencies: braces "^3.0.3" picomatch "^2.3.1" @@ -3530,10 +3523,10 @@ pino-std-serializers@^7.0.0: resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-7.0.0.tgz#7c625038b13718dbbd84ab446bd673dc52259e3b" integrity sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA== -pino@^9.0.0, pino@^9.3.2: - version "9.3.2" - resolved "https://registry.yarnpkg.com/pino/-/pino-9.3.2.tgz#a530d6d28f1d954b6f54416a218cbb616f52f901" - integrity sha512-WtARBjgZ7LNEkrGWxMBN/jvlFiE17LTbBoH0konmBU684Kd0uIiDwBXlcTCW7iJnA6HfIKwUssS/2AC6cDEanw== +pino@^9.0.0, pino@^9.4.0: + version "9.4.0" + resolved "https://registry.yarnpkg.com/pino/-/pino-9.4.0.tgz#e4600ff199efc744856a5b3b71c53e38998eae5a" + integrity sha512-nbkQb5+9YPhQRz/BeQmrWpEknAaqjpAqRK8NwJpmrX/JHu7JuZC5G1CeAwJDJfGes4h+YihC6in3Q2nGb+Y09w== dependencies: atomic-sleep "^1.0.0" fast-redact "^3.1.1" @@ -3853,7 +3846,7 @@ semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.4, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4: +semver@^7.3.4, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.3: version "7.6.3" resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== @@ -4205,20 +4198,20 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== -ts-jest@^29.2.4: - version "29.2.4" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.2.4.tgz#38ccf487407d7a63054a72689f6f99b075e296e5" - integrity sha512-3d6tgDyhCI29HlpwIq87sNuI+3Q6GLTTCeYRHCs7vDz+/3GCMwEtV9jezLyl4ZtnBgx00I7hm8PCP8cTksMGrw== +ts-jest@^29.2.5: + version "29.2.5" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.2.5.tgz#591a3c108e1f5ebd013d3152142cb5472b399d63" + integrity sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA== dependencies: - bs-logger "0.x" + bs-logger "^0.2.6" ejs "^3.1.10" - fast-json-stable-stringify "2.x" + fast-json-stable-stringify "^2.1.0" jest-util "^29.0.0" json5 "^2.2.3" - lodash.memoize "4.x" - make-error "1.x" - semver "^7.5.3" - yargs-parser "^21.0.1" + lodash.memoize "^4.1.2" + make-error "^1.3.6" + semver "^7.6.3" + yargs-parser "^21.1.1" ts-loader@^9.5.1: version "9.5.1" @@ -4261,10 +4254,10 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== -undici-types@~6.13.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.13.0.tgz#e3e79220ab8c81ed1496b5812471afd7cf075ea5" - integrity sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg== +undici-types@~6.19.2: + version "6.19.8" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== update-browserslist-db@^1.1.0: version "1.1.0" @@ -4358,12 +4351,11 @@ webpack-sources@^3.2.3: resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@^5.93.0: - version "5.93.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.93.0.tgz#2e89ec7035579bdfba9760d26c63ac5c3462a5e5" - integrity sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA== +webpack@^5.94.0: + version "5.94.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.94.0.tgz#77a6089c716e7ab90c1c67574a28da518a20970f" + integrity sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg== dependencies: - "@types/eslint-scope" "^3.7.3" "@types/estree" "^1.0.5" "@webassemblyjs/ast" "^1.12.1" "@webassemblyjs/wasm-edit" "^1.12.1" @@ -4372,7 +4364,7 @@ webpack@^5.93.0: acorn-import-attributes "^1.9.5" browserslist "^4.21.10" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.17.0" + enhanced-resolve "^5.17.1" es-module-lexer "^1.2.1" eslint-scope "5.1.1" events "^3.2.0" @@ -4464,7 +4456,7 @@ yaml@~2.5.0: resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.5.0.tgz#c6165a721cf8000e91c36490a41d7be25176cf5d" integrity sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw== -yargs-parser@^21.0.1, yargs-parser@^21.1.1: +yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==