diff --git a/.changeset/rotten-seals-suffer.md b/.changeset/rotten-seals-suffer.md new file mode 100644 index 000000000..285b4c502 --- /dev/null +++ b/.changeset/rotten-seals-suffer.md @@ -0,0 +1,10 @@ +--- +"products-feed": patch +"klaviyo": patch +"app-avatax": patch +"cms-v2": patch +"search": patch +"smtp": patch +--- + +Escape ALLOWED_DOMAIN_PATTERN regex. It ensures that regex constructed from env variable is sanitized and can't be used to Denial of Service attack. diff --git a/apps/avatax/package.json b/apps/avatax/package.json index 3406ce1fd..04205d648 100644 --- a/apps/avatax/package.json +++ b/apps/avatax/package.json @@ -60,6 +60,7 @@ "decimal.js-light": "2.5.1", "dotenv": "16.3.1", "dynamodb-toolbox": "1.8.2", + "escape-string-regexp": "5.0.0", "graphql": "16.7.1", "graphql-tag": "2.12.6", "jotai": "^2.4.2", diff --git a/apps/avatax/src/pages/api/register.ts b/apps/avatax/src/pages/api/register.ts index b39f77648..aa8161555 100644 --- a/apps/avatax/src/pages/api/register.ts +++ b/apps/avatax/src/pages/api/register.ts @@ -1,6 +1,7 @@ import { createAppRegisterHandler } from "@saleor/app-sdk/handlers/next"; import { wrapWithLoggerContext } from "@saleor/apps-logger/node"; import { withOtel } from "@saleor/apps-otel"; +import escapeStringRegexp from "escape-string-regexp"; import { env } from "@/env"; import { createLogger } from "@/logger"; @@ -27,7 +28,7 @@ export default wrapWithLoggerContext( allowedSaleorUrls: [ (url) => { if (allowedUrlsPattern) { - const regex = new RegExp(allowedUrlsPattern); + const regex = new RegExp(escapeStringRegexp(allowedUrlsPattern)); return regex.test(url); } diff --git a/apps/cms-v2/package.json b/apps/cms-v2/package.json index df1e85d3a..a4567fda3 100644 --- a/apps/cms-v2/package.json +++ b/apps/cms-v2/package.json @@ -49,6 +49,7 @@ "@vitejs/plugin-react": "4.3.1", "contentful-management": "10.46.4", "dotenv": "16.3.1", + "escape-string-regexp": "5.0.0", "graphql": "16.7.1", "graphql-tag": "2.12.6", "jsdom": "^20.0.3", diff --git a/apps/cms-v2/src/pages/api/register.ts b/apps/cms-v2/src/pages/api/register.ts index c33f123d2..55737b36b 100644 --- a/apps/cms-v2/src/pages/api/register.ts +++ b/apps/cms-v2/src/pages/api/register.ts @@ -1,6 +1,7 @@ import { createAppRegisterHandler } from "@saleor/app-sdk/handlers/next"; import { wrapWithLoggerContext } from "@saleor/apps-logger/node"; import { withOtel } from "@saleor/apps-otel"; +import escapeStringRegexp from "escape-string-regexp"; import { saleorApp } from "@/saleor-app"; @@ -17,7 +18,7 @@ const handler = createAppRegisterHandler({ allowedSaleorUrls: [ (url) => { if (allowedUrlsPattern) { - const regex = new RegExp(allowedUrlsPattern); + const regex = new RegExp(escapeStringRegexp(allowedUrlsPattern)); return regex.test(url); } diff --git a/apps/klaviyo/package.json b/apps/klaviyo/package.json index b71d4b10f..dd2476e26 100644 --- a/apps/klaviyo/package.json +++ b/apps/klaviyo/package.json @@ -37,6 +37,7 @@ "@sentry/nextjs": "../../node_modules/@sentry/nextjs", "@urql/exchange-auth": "2.1.4", "dotenv": "16.3.1", + "escape-string-regexp": "5.0.0", "graphql": "16.7.1", "graphql-tag": "2.12.6", "next": "14.2.3", diff --git a/apps/klaviyo/src/pages/api/register.ts b/apps/klaviyo/src/pages/api/register.ts index 5d9fdf9a8..bac0f83ac 100644 --- a/apps/klaviyo/src/pages/api/register.ts +++ b/apps/klaviyo/src/pages/api/register.ts @@ -1,6 +1,7 @@ import { createAppRegisterHandler } from "@saleor/app-sdk/handlers/next"; import { wrapWithLoggerContext } from "@saleor/apps-logger/node"; import { withOtel } from "@saleor/apps-otel"; +import escapeStringRegexp from "escape-string-regexp"; import { saleorApp } from "../../../saleor-app"; import { loggerContext } from "../../logger-context"; @@ -16,7 +17,7 @@ const handler = createAppRegisterHandler({ allowedSaleorUrls: [ (url) => { if (allowedUrlsPattern) { - const regex = new RegExp(allowedUrlsPattern); + const regex = new RegExp(escapeStringRegexp(allowedUrlsPattern)); return regex.test(url); } diff --git a/apps/products-feed/package.json b/apps/products-feed/package.json index ba831cfb6..1b190b4e1 100644 --- a/apps/products-feed/package.json +++ b/apps/products-feed/package.json @@ -48,6 +48,7 @@ "@urql/exchange-auth": "2.1.4", "@vitejs/plugin-react": "4.3.1", "dotenv": "16.3.1", + "escape-string-regexp": "5.0.0", "fast-xml-parser": "^4.0.15", "graphql": "16.7.1", "graphql-tag": "2.12.6", diff --git a/apps/products-feed/src/pages/api/register.ts b/apps/products-feed/src/pages/api/register.ts index 679df77a6..7f82494e3 100644 --- a/apps/products-feed/src/pages/api/register.ts +++ b/apps/products-feed/src/pages/api/register.ts @@ -1,8 +1,8 @@ import { createAppRegisterHandler } from "@saleor/app-sdk/handlers/next"; import { wrapWithLoggerContext } from "@saleor/apps-logger/node"; import { withOtel } from "@saleor/apps-otel"; +import escapeStringRegexp from "escape-string-regexp"; -import { createLogger } from "../../logger"; import { loggerContext } from "../../logger-context"; import { saleorApp } from "../../saleor-app"; @@ -19,7 +19,7 @@ export default wrapWithLoggerContext( allowedSaleorUrls: [ (url) => { if (allowedUrlsPattern) { - const regex = new RegExp(allowedUrlsPattern); + const regex = new RegExp(escapeStringRegexp(allowedUrlsPattern)); return regex.test(url); } diff --git a/apps/search/package.json b/apps/search/package.json index 01c246ac1..1b7ae8021 100644 --- a/apps/search/package.json +++ b/apps/search/package.json @@ -50,6 +50,7 @@ "clsx": "^1.2.1", "debug": "^4.3.4", "dotenv": "16.3.1", + "escape-string-regexp": "5.0.0", "graphql": "16.7.1", "graphql-tag": "2.12.6", "next": "14.2.3", diff --git a/apps/search/src/pages/api/register.ts b/apps/search/src/pages/api/register.ts index 5576e3023..f8bfb94bd 100644 --- a/apps/search/src/pages/api/register.ts +++ b/apps/search/src/pages/api/register.ts @@ -1,6 +1,7 @@ import { createAppRegisterHandler } from "@saleor/app-sdk/handlers/next"; import { wrapWithLoggerContext } from "@saleor/apps-logger/node"; import { withOtel } from "@saleor/apps-otel"; +import escapeStringRegexp from "escape-string-regexp"; import { saleorApp } from "../../../saleor-app"; import { loggerContext } from "../../lib/logger-context"; @@ -14,7 +15,7 @@ export default wrapWithLoggerContext( allowedSaleorUrls: [ (url) => { if (allowedUrlsPattern) { - const regex = new RegExp(allowedUrlsPattern); + const regex = new RegExp(escapeStringRegexp(allowedUrlsPattern)); return regex.test(url); } diff --git a/apps/smtp/package.json b/apps/smtp/package.json index 839cf07db..0c7cc1a3d 100644 --- a/apps/smtp/package.json +++ b/apps/smtp/package.json @@ -47,6 +47,7 @@ "@urql/exchange-auth": "2.1.4", "@vitejs/plugin-react": "4.3.1", "dotenv": "16.3.1", + "escape-string-regexp": "5.0.0", "graphql": "16.7.1", "graphql-tag": "2.12.6", "handlebars": "^4.7.7", diff --git a/apps/smtp/src/pages/api/register.ts b/apps/smtp/src/pages/api/register.ts index e76954e9a..af28784f1 100644 --- a/apps/smtp/src/pages/api/register.ts +++ b/apps/smtp/src/pages/api/register.ts @@ -2,6 +2,7 @@ import { createAppRegisterHandler } from "@saleor/app-sdk/handlers/next"; import { wrapWithLoggerContext } from "@saleor/apps-logger/node"; import { withOtel } from "@saleor/apps-otel"; import { SaleorVersionCompatibilityValidator } from "@saleor/apps-shared"; +import escapeStringRegexp from "escape-string-regexp"; import { createInstrumentedGraphqlClient } from "../../lib/create-instrumented-graphql-client"; import { createLogger } from "../../logger"; @@ -22,7 +23,7 @@ export default wrapWithLoggerContext( allowedSaleorUrls: [ (url) => { if (allowedUrlsPattern) { - const regex = new RegExp(allowedUrlsPattern); + const regex = new RegExp(escapeStringRegexp(allowedUrlsPattern)); return regex.test(url); } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 81dd180b8..9d0495c42 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -229,6 +229,9 @@ importers: dynamodb-toolbox: specifier: 1.8.2 version: 1.8.2(@aws-sdk/client-dynamodb@3.651.1)(@aws-sdk/lib-dynamodb@3.651.1(@aws-sdk/client-dynamodb@3.651.1)) + escape-string-regexp: + specifier: 5.0.0 + version: 5.0.0 graphql: specifier: 16.7.1 version: 16.7.1 @@ -252,7 +255,7 @@ importers: version: 6.2.1 next: specifier: 14.2.3 - version: 14.2.3(@babel/core@7.24.7)(@opentelemetry/api@node_modules+@opentelemetry+api)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 14.2.3(@opentelemetry/api@node_modules+@opentelemetry+api)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: specifier: 18.2.0 version: 18.2.0 @@ -445,7 +448,7 @@ importers: version: 10.43.1(@trpc/server@10.43.1) '@trpc/next': specifier: 10.43.1 - version: 10.43.1(@tanstack/react-query@4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.43.1(@trpc/server@10.43.1))(@trpc/react-query@10.43.1(@tanstack/react-query@4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.43.1(@trpc/server@10.43.1))(@trpc/server@10.43.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/server@10.43.1)(next@14.2.3(@babel/core@7.24.7)(@opentelemetry/api@node_modules+@opentelemetry+api)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 10.43.1(@tanstack/react-query@4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.43.1(@trpc/server@10.43.1))(@trpc/react-query@10.43.1(@tanstack/react-query@4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.43.1(@trpc/server@10.43.1))(@trpc/server@10.43.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/server@10.43.1)(next@14.2.3(@opentelemetry/api@node_modules+@opentelemetry+api)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@trpc/react-query': specifier: 10.43.1 version: 10.43.1(@tanstack/react-query@4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.43.1(@trpc/server@10.43.1))(@trpc/server@10.43.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -464,6 +467,9 @@ importers: dotenv: specifier: 16.3.1 version: 16.3.1 + escape-string-regexp: + specifier: 5.0.0 + version: 5.0.0 graphql: specifier: 16.7.1 version: 16.7.1 @@ -475,7 +481,7 @@ importers: version: 20.0.3 next: specifier: 14.2.3 - version: 14.2.3(@babel/core@7.24.7)(@opentelemetry/api@node_modules+@opentelemetry+api)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 14.2.3(@opentelemetry/api@node_modules+@opentelemetry+api)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) p-ratelimit: specifier: 1.0.1 version: 1.0.1 @@ -639,6 +645,9 @@ importers: dotenv: specifier: 16.3.1 version: 16.3.1 + escape-string-regexp: + specifier: 5.0.0 + version: 5.0.0 graphql: specifier: 16.7.1 version: 16.7.1 @@ -647,7 +656,7 @@ importers: version: 2.12.6(graphql@16.7.1) next: specifier: 14.2.3 - version: 14.2.3(@babel/core@7.24.7)(@opentelemetry/api@node_modules+@opentelemetry+api)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 14.2.3(@opentelemetry/api@node_modules+@opentelemetry+api)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) node-fetch: specifier: ^3.2.6 version: 3.2.6 @@ -738,7 +747,7 @@ importers: version: 3.3.1(react-hook-form@7.44.3(react@18.2.0)) '@opentelemetry/api': specifier: ../../node_modules/@opentelemetry/api - version: link:../../node_modules/@opentelemetry/api + version: 1.9.0 '@opentelemetry/api-logs': specifier: ../../node_modules/@opentelemetry/api-logs version: link:../../node_modules/@opentelemetry/api-logs @@ -816,7 +825,7 @@ importers: version: 10.43.1(@trpc/server@10.43.1) '@trpc/next': specifier: 10.43.1 - version: 10.43.1(@tanstack/react-query@4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.43.1(@trpc/server@10.43.1))(@trpc/react-query@10.43.1(@tanstack/react-query@4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.43.1(@trpc/server@10.43.1))(@trpc/server@10.43.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/server@10.43.1)(next@14.2.3(@opentelemetry/api@node_modules+@opentelemetry+api)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 10.43.1(@tanstack/react-query@4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.43.1(@trpc/server@10.43.1))(@trpc/react-query@10.43.1(@tanstack/react-query@4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.43.1(@trpc/server@10.43.1))(@trpc/server@10.43.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/server@10.43.1)(next@14.2.3(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@trpc/react-query': specifier: 10.43.1 version: 10.43.1(@tanstack/react-query@4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.43.1(@trpc/server@10.43.1))(@trpc/server@10.43.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -832,6 +841,9 @@ importers: dotenv: specifier: 16.3.1 version: 16.3.1 + escape-string-regexp: + specifier: 5.0.0 + version: 5.0.0 fast-xml-parser: specifier: ^4.0.15 version: 4.0.15 @@ -849,7 +861,7 @@ importers: version: 20.0.3 next: specifier: 14.2.3 - version: 14.2.3(@babel/core@7.24.7)(@opentelemetry/api@node_modules+@opentelemetry+api)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 14.2.3(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: specifier: 18.2.0 version: 18.2.0 @@ -1034,6 +1046,9 @@ importers: dotenv: specifier: 16.3.1 version: 16.3.1 + escape-string-regexp: + specifier: 5.0.0 + version: 5.0.0 graphql: specifier: 16.7.1 version: 16.7.1 @@ -1042,7 +1057,7 @@ importers: version: 2.12.6(graphql@16.7.1) next: specifier: 14.2.3 - version: 14.2.3(@babel/core@7.24.7)(@opentelemetry/api@node_modules+@opentelemetry+api)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 14.2.3(@opentelemetry/api@node_modules+@opentelemetry+api)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: specifier: 18.2.0 version: 18.2.0 @@ -1130,7 +1145,7 @@ importers: version: 3.3.1(react-hook-form@7.44.3(react@18.2.0)) '@opentelemetry/api': specifier: ../../node_modules/@opentelemetry/api - version: 1.9.0 + version: link:../../node_modules/@opentelemetry/api '@opentelemetry/api-logs': specifier: ../../node_modules/@opentelemetry/api-logs version: link:../../node_modules/@opentelemetry/api-logs @@ -1214,7 +1229,7 @@ importers: version: 10.43.1(@trpc/server@10.43.1) '@trpc/next': specifier: 10.43.1 - version: 10.43.1(@tanstack/react-query@4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.43.1(@trpc/server@10.43.1))(@trpc/react-query@10.43.1(@tanstack/react-query@4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.43.1(@trpc/server@10.43.1))(@trpc/server@10.43.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/server@10.43.1)(next@14.2.3(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 10.43.1(@tanstack/react-query@4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.43.1(@trpc/server@10.43.1))(@trpc/react-query@10.43.1(@tanstack/react-query@4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.43.1(@trpc/server@10.43.1))(@trpc/server@10.43.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/server@10.43.1)(next@14.2.3(@opentelemetry/api@node_modules+@opentelemetry+api)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@trpc/server': specifier: 10.43.1 version: 10.43.1 @@ -1247,7 +1262,7 @@ importers: version: 6.2.1 next: specifier: 14.2.3 - version: 14.2.3(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 14.2.3(@opentelemetry/api@node_modules+@opentelemetry+api)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: specifier: 18.2.0 version: 18.2.0 @@ -1450,6 +1465,9 @@ importers: dotenv: specifier: 16.3.1 version: 16.3.1 + escape-string-regexp: + specifier: 5.0.0 + version: 5.0.0 graphql: specifier: 16.7.1 version: 16.7.1 @@ -1482,7 +1500,7 @@ importers: version: 6.2.1 next: specifier: 14.2.3 - version: 14.2.3(@babel/core@7.24.7)(@opentelemetry/api@node_modules+@opentelemetry+api)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 14.2.3(@opentelemetry/api@node_modules+@opentelemetry+api)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) nodemailer: specifier: ^6.9.1 version: 6.9.1 @@ -1633,7 +1651,7 @@ importers: version: 12.1.1(eslint@node_modules+eslint) next: specifier: 14.2.3 - version: 14.2.3(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 14.2.3(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) typescript: specifier: 5.5.4 version: 5.5.4 @@ -1841,7 +1859,7 @@ importers: version: link:../eslint-config-saleor next: specifier: 14.2.3 - version: 14.2.3(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 14.2.3(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: specifier: 18.2.0 version: 18.2.0 @@ -1902,7 +1920,7 @@ importers: version: link:../eslint-config-saleor next: specifier: 14.2.3 - version: 14.2.3(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 14.2.3(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) typescript: specifier: 5.5.4 version: 5.5.4 @@ -1933,7 +1951,7 @@ importers: version: link:../eslint-config-saleor next: specifier: 14.2.3 - version: 14.2.3(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 14.2.3(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: specifier: 18.2.0 version: 18.2.0 @@ -1966,7 +1984,7 @@ importers: version: 6.1.0(modern-errors@7.0.1) next: specifier: 14.2.3 - version: 14.2.3(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 14.2.3(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) semver: specifier: 7.5.1 version: 7.5.1 @@ -20669,24 +20687,13 @@ snapshots: react-dom: 18.2.0(react@18.2.0) react-ssr-prepass: 1.5.0(react@18.2.0) - '@trpc/next@10.43.1(@tanstack/react-query@4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.43.1(@trpc/server@10.43.1))(@trpc/react-query@10.43.1(@tanstack/react-query@4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.43.1(@trpc/server@10.43.1))(@trpc/server@10.43.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/server@10.43.1)(next@14.2.3(@babel/core@7.24.7)(@opentelemetry/api@node_modules+@opentelemetry+api)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@tanstack/react-query': 4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@trpc/client': 10.43.1(@trpc/server@10.43.1) - '@trpc/react-query': 10.43.1(@tanstack/react-query@4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.43.1(@trpc/server@10.43.1))(@trpc/server@10.43.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@trpc/server': 10.43.1 - next: 14.2.3(@babel/core@7.24.7)(@opentelemetry/api@node_modules+@opentelemetry+api)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-ssr-prepass: 1.5.0(react@18.2.0) - - '@trpc/next@10.43.1(@tanstack/react-query@4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.43.1(@trpc/server@10.43.1))(@trpc/react-query@10.43.1(@tanstack/react-query@4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.43.1(@trpc/server@10.43.1))(@trpc/server@10.43.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/server@10.43.1)(next@14.2.3(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@trpc/next@10.43.1(@tanstack/react-query@4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.43.1(@trpc/server@10.43.1))(@trpc/react-query@10.43.1(@tanstack/react-query@4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.43.1(@trpc/server@10.43.1))(@trpc/server@10.43.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/server@10.43.1)(next@14.2.3(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@tanstack/react-query': 4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@trpc/client': 10.43.1(@trpc/server@10.43.1) '@trpc/react-query': 10.43.1(@tanstack/react-query@4.29.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.43.1(@trpc/server@10.43.1))(@trpc/server@10.43.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@trpc/server': 10.43.1 - next: 14.2.3(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + next: 14.2.3(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-ssr-prepass: 1.5.0(react@18.2.0) @@ -26170,7 +26177,7 @@ snapshots: neverthrow@6.2.1: {} - next@14.2.3(@babel/core@7.24.7)(@opentelemetry/api@node_modules+@opentelemetry+api)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + next@14.2.3(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: '@next/env': 14.2.3 '@swc/helpers': 0.5.5 @@ -26191,7 +26198,7 @@ snapshots: '@next/swc-win32-arm64-msvc': 14.2.3 '@next/swc-win32-ia32-msvc': 14.2.3 '@next/swc-win32-x64-msvc': 14.2.3 - '@opentelemetry/api': link:node_modules/@opentelemetry/api + '@opentelemetry/api': 1.9.0 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros