From 54e77d495ed0a72aef187c5375e6ab57035ca6dc Mon Sep 17 00:00:00 2001 From: Lukasz Ostrowski Date: Fri, 20 Jan 2023 17:48:53 +0100 Subject: [PATCH] add shared lib --- apps/invoice-hub/next.config.js | 3 +- apps/invoice-hub/package.json | 5 +- .../src/lib/theme-synchronizer.tsx | 33 -- apps/invoice-hub/src/pages/_app.tsx | 2 +- apps/slack/next.config.js | 1 + apps/slack/package.json | 3 +- apps/slack/src/pages/_app.tsx | 2 +- packages/shared/index.ts | 1 + .../shared/lib}/theme-synchronizer.tsx | 0 packages/shared/package.json | 15 + pnpm-lock.yaml | 466 ++++++------------ 11 files changed, 188 insertions(+), 343 deletions(-) delete mode 100644 apps/invoice-hub/src/lib/theme-synchronizer.tsx create mode 100644 packages/shared/index.ts rename {apps/slack/src/hooks => packages/shared/lib}/theme-synchronizer.tsx (100%) create mode 100644 packages/shared/package.json diff --git a/apps/invoice-hub/next.config.js b/apps/invoice-hub/next.config.js index c0d0469..ee5b3e4 100644 --- a/apps/invoice-hub/next.config.js +++ b/apps/invoice-hub/next.config.js @@ -9,9 +9,10 @@ const isSentryPropertiesInEnvironment = process.env.SENTRY_AUTH_TOKEN && process.env.SENTRY_PROJECT && process.env.SENTRY_ORG; /** - * @type import("@sentry/nextjs").ExportedNextConfig + * @type import("next").NextConfig */ const moduleExports = { + transpilePackages: ["@saleor/shared"], sentry: { // Use `hidden-source-map` rather than `source-map` as the Webpack `devtool` // for client-side builds. (This will be the default starting in diff --git a/apps/invoice-hub/package.json b/apps/invoice-hub/package.json index a119616..9b5023b 100644 --- a/apps/invoice-hub/package.json +++ b/apps/invoice-hub/package.json @@ -16,6 +16,7 @@ "schemaVersion": "3.10" }, "dependencies": { + "@saleor/shared": "workspace:*", "@material-ui/core": "^4.12.4", "@material-ui/icons": "^4.11.3", "@material-ui/lab": "4.0.0-alpha.61", @@ -34,7 +35,7 @@ "graphql": "^16.6.0", "graphql-tag": "^2.12.6", "microinvoice": "^1.0.6", - "next": "13.0.6", + "next": "13.1.3", "pino": "^8.8.0", "pino-pretty": "^9.1.1", "puppeteer": "^19.4.0", @@ -62,7 +63,7 @@ "@vitejs/plugin-react": "^3.0.0", "@vitest/coverage-c8": "^0.25.7", "eslint": "8.25.0", - "eslint-config-next": "13.0.6", + "eslint-config-next": "13.1.3", "eslint-config-prettier": "^8.5.0", "jsdom": "^20.0.3", "prettier": "^2.7.1", diff --git a/apps/invoice-hub/src/lib/theme-synchronizer.tsx b/apps/invoice-hub/src/lib/theme-synchronizer.tsx deleted file mode 100644 index 7e5ce17..0000000 --- a/apps/invoice-hub/src/lib/theme-synchronizer.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { useAppBridge } from "@saleor/app-sdk/app-bridge"; -import { useTheme } from "@saleor/macaw-ui"; -import { memo, useEffect } from "react"; - -/** - * Macaw-ui stores its theme mode in memory and local storage. To synchronize App with Dashboard, - * Macaw must be informed about this change from AppBridge. - * - * If you are not using Macaw, you can remove this. - */ -function _ThemeSynchronizer() { - const { appBridgeState } = useAppBridge(); - const { setTheme, themeType } = useTheme(); - - useEffect(() => { - if (!setTheme || !appBridgeState?.theme) { - return; - } - - if (themeType !== appBridgeState?.theme) { - setTheme(appBridgeState.theme); - /** - * Hack to fix macaw, which is going into infinite loop on light mode (probably de-sync local storage with react state) - * TODO Fix me when Macaw 2.0 is shipped - */ - window.localStorage.setItem("macaw-ui-theme", appBridgeState.theme); - } - }, [appBridgeState?.theme, setTheme, themeType]); - - return null; -} - -export const ThemeSynchronizer = memo(_ThemeSynchronizer); diff --git a/apps/invoice-hub/src/pages/_app.tsx b/apps/invoice-hub/src/pages/_app.tsx index 5bc1c78..d30cf43 100644 --- a/apps/invoice-hub/src/pages/_app.tsx +++ b/apps/invoice-hub/src/pages/_app.tsx @@ -8,7 +8,7 @@ import React, { PropsWithChildren, useEffect } from "react"; import { AppProps } from "next/app"; import GraphQLProvider from "../providers/GraphQLProvider"; -import { ThemeSynchronizer } from "../lib/theme-synchronizer"; +import { ThemeSynchronizer } from "@saleor/shared"; import { NoSSRWrapper } from "../lib/no-ssr-wrapper"; import { trpcClient } from "../modules/trpc/trpc-client"; diff --git a/apps/slack/next.config.js b/apps/slack/next.config.js index 2bd27a2..58be1d0 100644 --- a/apps/slack/next.config.js +++ b/apps/slack/next.config.js @@ -9,6 +9,7 @@ const isSentryPropertiesInEnvironment = process.env.SENTRY_AUTH_TOKEN && process.env.SENTRY_PROJECT && process.env.SENTRY_ORG; const moduleExports = { + transpilePackages: ["@saleor/shared"], eslint: { ignoreDuringBuilds: true, }, diff --git a/apps/slack/package.json b/apps/slack/package.json index 6ed6c99..7209d1c 100644 --- a/apps/slack/package.json +++ b/apps/slack/package.json @@ -14,6 +14,7 @@ "schemaVersion": "3.4" }, "dependencies": { + "@saleor/shared": "workspace:*", "@material-ui/core": "^4.12.4", "@material-ui/icons": "^4.11.3", "@material-ui/lab": "4.0.0-alpha.61", @@ -25,7 +26,7 @@ "graphql": "^16.5.0", "graphql-tag": "^2.12.6", "jose": "^4.11.2", - "next": "12.3.0", + "next": "13.1.3", "react": "18.2.0", "react-dom": "18.2.0", "react-helmet": "^6.1.0", diff --git a/apps/slack/src/pages/_app.tsx b/apps/slack/src/pages/_app.tsx index 17f445d..695900a 100644 --- a/apps/slack/src/pages/_app.tsx +++ b/apps/slack/src/pages/_app.tsx @@ -7,7 +7,7 @@ import { ThemeProvider as MacawUIThemeProvider } from "@saleor/macaw-ui"; import React, { PropsWithChildren, useEffect } from "react"; import { AppLayoutProps } from "../../types"; -import { ThemeSynchronizer } from "../hooks/theme-synchronizer"; +import { ThemeSynchronizer } from "@saleor/shared"; const themeOverrides: Partial = { overrides: { diff --git a/packages/shared/index.ts b/packages/shared/index.ts new file mode 100644 index 0000000..59cb9f9 --- /dev/null +++ b/packages/shared/index.ts @@ -0,0 +1 @@ +export * from './lib/theme-synchronizer' \ No newline at end of file diff --git a/apps/slack/src/hooks/theme-synchronizer.tsx b/packages/shared/lib/theme-synchronizer.tsx similarity index 100% rename from apps/slack/src/hooks/theme-synchronizer.tsx rename to packages/shared/lib/theme-synchronizer.tsx diff --git a/packages/shared/package.json b/packages/shared/package.json new file mode 100644 index 0000000..9ad33cf --- /dev/null +++ b/packages/shared/package.json @@ -0,0 +1,15 @@ +{ + "name": "@saleor/shared", + "version": "1.0.0", + "dependencies": { + "@saleor/macaw-ui": "^0.7.2", + "typescript": "^4.9.4", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "@saleor/app-sdk": "^0.26.1" + }, + "devDependencies": { + "@types/react": "^18.0.27", + "@types/react-dom": "^18.0.10" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a7cd2d7..196d03e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,6 +29,7 @@ importers: '@material-ui/lab': 4.0.0-alpha.61 '@saleor/app-sdk': 0.26.0 '@saleor/macaw-ui': ^0.7.2 + '@saleor/shared': workspace:* '@sentry/nextjs': ^7.31.1 '@tanstack/react-query': ^4.19.1 '@trpc/client': ^10.4.3 @@ -46,13 +47,13 @@ importers: '@web-std/file': ^3.0.2 clsx: ^1.2.1 eslint: 8.25.0 - eslint-config-next: 13.0.6 + eslint-config-next: 13.1.3 eslint-config-prettier: ^8.5.0 graphql: ^16.6.0 graphql-tag: ^2.12.6 jsdom: ^20.0.3 microinvoice: ^1.0.6 - next: 13.0.6 + next: 13.1.3 pino: ^8.8.0 pino-pretty: ^9.1.1 prettier: ^2.7.1 @@ -72,12 +73,13 @@ importers: '@material-ui/core': 4.12.4_5ndqzdd6t4rivxsukjv3i3ak2q '@material-ui/icons': 4.11.3_x54wk6dsnsxe7g7vvfmytp77te '@material-ui/lab': 4.0.0-alpha.61_x54wk6dsnsxe7g7vvfmytp77te - '@saleor/app-sdk': 0.26.0_6jx7hpii6hgsrmhxgqrmo3277u + '@saleor/app-sdk': 0.26.0_xehvwk7kia3kss3yh76fk44sqm '@saleor/macaw-ui': 0.7.2_2dwar4pp5qoelfawvjffoi6dne - '@sentry/nextjs': 7.31.1_next@13.0.6+react@18.2.0 + '@saleor/shared': link:../../packages/shared + '@sentry/nextjs': 7.31.1_next@13.1.3+react@18.2.0 '@tanstack/react-query': 4.22.0_biqbaboplfbrettd7655fr4n2y '@trpc/client': 10.9.0_@trpc+server@10.9.0 - '@trpc/next': 10.9.0_boycm4yp33b2f3lgy6o2xtyfcm + '@trpc/next': 10.9.0_u663hlrgg6eh3xuz2qmu3gt7wq '@trpc/react-query': 10.9.0_qw4miir7nnxijwjta54q3esyeq '@trpc/server': 10.9.0 '@urql/exchange-auth': 1.0.0_graphql@16.6.0 @@ -87,7 +89,7 @@ importers: graphql: 16.6.0 graphql-tag: 2.12.6_graphql@16.6.0 microinvoice: 1.0.6 - next: 13.0.6_pjwopsidmaokadturxaafygjp4 + next: 13.1.3_pjwopsidmaokadturxaafygjp4 pino: 8.8.0 pino-pretty: 9.1.1 puppeteer: 19.5.2 @@ -114,7 +116,7 @@ importers: '@vitejs/plugin-react': 3.0.1_vite@4.0.4 '@vitest/coverage-c8': 0.25.8_jsdom@20.0.3 eslint: 8.25.0 - eslint-config-next: 13.0.6_grqhnqpocakf5dew66i47isfme + eslint-config-next: 13.1.3_grqhnqpocakf5dew66i47isfme eslint-config-prettier: 8.6.0_eslint@8.25.0 jsdom: 20.0.3 prettier: 2.8.3 @@ -138,6 +140,7 @@ importers: '@material-ui/lab': 4.0.0-alpha.61 '@saleor/app-sdk': 0.26.0 '@saleor/macaw-ui': ^0.6.3 + '@saleor/shared': workspace:* '@sentry/nextjs': ^7.30.0 '@types/node': ^18.7.16 '@types/react': ^18.0.19 @@ -161,7 +164,7 @@ importers: graphql-tag: ^2.12.6 husky: ^8.0.1 jose: ^4.11.2 - next: 12.3.0 + next: 13.1.3 postcss: ^8.4.14 prettier: ^2.7.1 pretty-quick: ^3.1.3 @@ -174,15 +177,16 @@ importers: '@material-ui/core': 4.12.4_5ndqzdd6t4rivxsukjv3i3ak2q '@material-ui/icons': 4.11.3_x54wk6dsnsxe7g7vvfmytp77te '@material-ui/lab': 4.0.0-alpha.61_x54wk6dsnsxe7g7vvfmytp77te - '@saleor/app-sdk': 0.26.0_c3hne4hwj64hb7tofigd3bvkji + '@saleor/app-sdk': 0.26.0_xehvwk7kia3kss3yh76fk44sqm '@saleor/macaw-ui': 0.6.7_2dwar4pp5qoelfawvjffoi6dne - '@sentry/nextjs': 7.31.1_next@12.3.0+react@18.2.0 + '@saleor/shared': link:../../packages/shared + '@sentry/nextjs': 7.31.1_next@13.1.3+react@18.2.0 '@urql/exchange-auth': 1.0.0_graphql@16.6.0 eslint-config-next: 12.3.4_jmpkdi7ay2vsezmdyqr4vb7mqm graphql: 16.6.0 graphql-tag: 2.12.6_graphql@16.6.0 jose: 4.11.2 - next: 12.3.0_pjwopsidmaokadturxaafygjp4 + next: 13.1.3_pjwopsidmaokadturxaafygjp4 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 react-helmet: 6.1.0_react@18.2.0 @@ -230,6 +234,25 @@ importers: eslint-config-turbo: 0.0.7_eslint@8.32.0 eslint-plugin-react: 7.32.1_eslint@8.32.0 + packages/shared: + specifiers: + '@saleor/app-sdk': ^0.26.1 + '@saleor/macaw-ui': ^0.7.2 + '@types/react': ^18.0.27 + '@types/react-dom': ^18.0.10 + react: ^18.2.0 + react-dom: ^18.2.0 + typescript: ^4.9.4 + dependencies: + '@saleor/app-sdk': 0.26.1_xehvwk7kia3kss3yh76fk44sqm + '@saleor/macaw-ui': 0.7.2_2dwar4pp5qoelfawvjffoi6dne + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + typescript: 4.9.4 + devDependencies: + '@types/react': 18.0.27 + '@types/react-dom': 18.0.10 + packages: /@ampproject/remapping/2.2.0: @@ -2163,12 +2186,8 @@ packages: react-is: 17.0.2 dev: false - /@next/env/12.3.0: - resolution: {integrity: sha512-PTJpjAFVbzBQ9xXpzMTroShvD5YDIIy46jQ7d4LrWpY+/5a8H90Tm8hE3Hvkc5RBRspVo7kvEOnqQms0A+2Q6w==} - dev: false - - /@next/env/13.0.6: - resolution: {integrity: sha512-yceT6DCHKqPRS1cAm8DHvDvK74DLIkDQdm5iV+GnIts8h0QbdHvkUIkdOvQoOODgpr6018skbmSQp12z5OWIQQ==} + /@next/env/13.1.3: + resolution: {integrity: sha512-ye0yvGmlzQQJnzNC7tC/ZhgRMd0s54msgrDOft1SjEG1Fbb+RBxGsalPqG3tUGuchA25z3npAtkFoAP8d2wPnw==} dev: false /@next/eslint-plugin-next/12.3.4: @@ -2177,20 +2196,13 @@ packages: glob: 7.1.7 dev: false - /@next/eslint-plugin-next/13.0.6: - resolution: {integrity: sha512-JUANdYNCddhmQBjQQPxEJYL7GMCqYtbfrdmtX7c013srig7waNCG69Aoql7CgAgjdy8jn1ovHVdcF/NB46XN3Q==} - dependencies: - glob: 7.1.7 - dev: true - /@next/eslint-plugin-next/13.1.3: resolution: {integrity: sha512-9IF2euUtOdXoQMHB9x1Afsw19si71oIj8Oqp40I7vcoG758LMZJZePG8sjhGh1dMJv+JtkIjiLu+ENVMGKAMJQ==} dependencies: glob: 7.1.7 - dev: false - /@next/swc-android-arm-eabi/12.3.0: - resolution: {integrity: sha512-/PuirPnAKsYBw93w/7Q9hqy+KGOU9mjYprZ/faxMUJh/dc6v3rYLxkZKNG9nFPIW4QKNTCnhP40xF9hLnxO+xg==} + /@next/swc-android-arm-eabi/13.1.3: + resolution: {integrity: sha512-kXL0z7uVUHdUkXY997oZcoz4PXWXRJq3R9x2UYz0uW8OHsZinxTW/BgyzH8nfTB/4/a0nox4fgzQRurjem3nGQ==} engines: {node: '>= 10'} cpu: [arm] os: [android] @@ -2198,17 +2210,8 @@ packages: dev: false optional: true - /@next/swc-android-arm-eabi/13.0.6: - resolution: {integrity: sha512-FGFSj3v2Bluw8fD/X+1eXIEB0PhoJE0zfutsAauRhmNpjjZshLDgoXMWm1jTRL/04K/o9gwwO2+A8+sPVCH1uw==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@next/swc-android-arm64/12.3.0: - resolution: {integrity: sha512-OaI+FhAM6P9B6Ybwbn0Zl8YwWido0lLwhDBi9WiYCh4RQmIXAyVIoIJPHo4fP05+mXaJ/k1trvDvuURvHOq2qw==} + /@next/swc-android-arm64/13.1.3: + resolution: {integrity: sha512-ZHYC5Ze+syk9mex/T5XILHox5xjJotQ5GmPqHrJpXh9AOuIZnfhNP/zeLYaOXWaJmrE55Ni56VxHgckJfpGeBw==} engines: {node: '>= 10'} cpu: [arm64] os: [android] @@ -2216,17 +2219,8 @@ packages: dev: false optional: true - /@next/swc-android-arm64/13.0.6: - resolution: {integrity: sha512-7MgbtU7kimxuovVsd7jSJWMkIHBDBUsNLmmlkrBRHTvgzx5nDBXogP0hzZm7EImdOPwVMPpUHRQMBP9mbsiJYQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@next/swc-darwin-arm64/12.3.0: - resolution: {integrity: sha512-9s4d3Mhii+WFce8o8Jok7WC3Bawkr9wEUU++SJRptjU1L5tsfYJMrSYCACHLhZujziNDLyExe4Hwwsccps1sfg==} + /@next/swc-darwin-arm64/13.1.3: + resolution: {integrity: sha512-B8Gyx/XhoxiiD4kHjnNVPCdgvLvIeQQGE2Nq6P7gsG0t17mMcPS4Y8fh/kVJSZAu5B5bAACwYIsI5bKMFzM+Ug==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -2234,17 +2228,8 @@ packages: dev: false optional: true - /@next/swc-darwin-arm64/13.0.6: - resolution: {integrity: sha512-AUVEpVTxbP/fxdFsjVI9d5a0CFn6NVV7A/RXOb0Y+pXKIIZ1V5rFjPwpYfIfyOo2lrqgehMNQcyMRoTrhq04xg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@next/swc-darwin-x64/12.3.0: - resolution: {integrity: sha512-2scC4MqUTwGwok+wpVxP+zWp7WcCAVOtutki2E1n99rBOTnUOX6qXkgxSy083yBN6GqwuC/dzHeN7hIKjavfRA==} + /@next/swc-darwin-x64/13.1.3: + resolution: {integrity: sha512-SCXf0JA3tR9FcsFA53a3LWDaxoIWFoLSbN3m88cYQYQMluObxwo6SBeUD9E3F4pM0bXEeIGOh8Y6u8w0GmmGoQ==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -2252,17 +2237,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64/13.0.6: - resolution: {integrity: sha512-SasCDJlshglsPnbzhWaIF6VEGkQy2NECcAOxPwaPr0cwbbt4aUlZ7QmskNzgolr5eAjFS/xTr7CEeKJtZpAAtQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@next/swc-freebsd-x64/12.3.0: - resolution: {integrity: sha512-xAlruUREij/bFa+qsE1tmsP28t7vz02N4ZDHt2lh3uJUniE0Ne9idyIDLc1Ed0IF2RjfgOp4ZVunuS3OM0sngw==} + /@next/swc-freebsd-x64/13.1.3: + resolution: {integrity: sha512-bUf1HYF3znES0Kd75fRnVp7LXlwF3MiuTk/qh32t1VH8CHSGsJmPPtHw4ag5GgwCbIn3AwWJQgqS+jyVYj40CA==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] @@ -2270,17 +2246,8 @@ packages: dev: false optional: true - /@next/swc-freebsd-x64/13.0.6: - resolution: {integrity: sha512-6Lbxd9gAdXneTkwHyYW/qtX1Tdw7ND9UbiGsGz/SP43ZInNWnW6q0au4hEVPZ9bOWWRKzcVoeTBdoMpQk9Hx9w==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm-gnueabihf/12.3.0: - resolution: {integrity: sha512-jin2S4VT/cugc2dSZEUIabhYDJNgrUh7fufbdsaAezgcQzqfdfJqfxl4E9GuafzB4cbRPTaqA0V5uqbp0IyGkQ==} + /@next/swc-linux-arm-gnueabihf/13.1.3: + resolution: {integrity: sha512-ibl6YbAoOVH5whhHcC3s4auSKLIzWyhRdv9M8373m8xaTWkAGtFNgbJysaTBm4M9RlePPX0G81oul9wmpkP48w==} engines: {node: '>= 10'} cpu: [arm] os: [linux] @@ -2288,17 +2255,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm-gnueabihf/13.0.6: - resolution: {integrity: sha512-wNdi5A519e1P+ozEuYOhWPzzE6m1y7mkO6NFwn6watUwO0X9nZs7fT9THmnekvmFQpaZ6U+xf2MQ9poQoCh6jQ==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm64-gnu/12.3.0: - resolution: {integrity: sha512-RqJHDKe0WImeUrdR0kayTkRWgp4vD/MS7g0r6Xuf8+ellOFH7JAAJffDW3ayuVZeMYOa7RvgNFcOoWnrTUl9Nw==} + /@next/swc-linux-arm64-gnu/13.1.3: + resolution: {integrity: sha512-ChsZxyNgAu1JHLQWZq4L6lJ4VQ4Rj30qA8VCGkr1AFiqwWabri9dc5y32zJSmqa6Ex6NVDyYCNBKUGlcUOmDtw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -2306,8 +2264,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-gnu/13.0.6: - resolution: {integrity: sha512-e8KTRnleQY1KLk5PwGV5hrmvKksCc74QRpHl5ffWnEEAtL2FE0ave5aIkXqErsPdXkiKuA/owp3LjQrP+/AH7Q==} + /@next/swc-linux-arm64-musl/13.1.3: + resolution: {integrity: sha512-WoYE9I/1iEW9wldxFxhu+OZmU4IbwQQl/w5nFrgbSIyGz3g3JeaQxJOdyMggX3WOjWF9khdJ4r4ANa0TsF28DA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -2315,26 +2273,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl/12.3.0: - resolution: {integrity: sha512-nvNWoUieMjvDjpYJ/4SQe9lQs2xMj6ZRs8N+bmTrVu9leY2Fg3WD6W9p/1uU9hGO8u+OdF13wc4iRShu/WYIHg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-arm64-musl/13.0.6: - resolution: {integrity: sha512-/7RF03C3mhjYpHN+pqOolgME3guiHU5T3TsejuyteqyEyzdEyLHod+jcYH6ft7UZ71a6TdOewvmbLOtzHW2O8A==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-x64-gnu/12.3.0: - resolution: {integrity: sha512-4ajhIuVU9PeQCMMhdDgZTLrHmjbOUFuIyg6J19hZqwEwDTSqQyrSLkbJs2Nd7IRiM6Ul/XyrtEFCpk4k+xD2+w==} + /@next/swc-linux-x64-gnu/13.1.3: + resolution: {integrity: sha512-fz5j+p1MsD0Kb+vMUkHzKxzFDteqzAqtdC41NyRvyKYhAffyDsfjGB542nmtt+EdxtlpDWfH204gN6nNXDDI7w==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -2342,8 +2282,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu/13.0.6: - resolution: {integrity: sha512-kxyEXnYHpOEkFnmrlwB1QlzJtjC6sAJytKcceIyFUHbCaD3W/Qb5tnclcnHKTaFccizZRePXvV25Ok/eUSpKTw==} + /@next/swc-linux-x64-musl/13.1.3: + resolution: {integrity: sha512-kw98zZnIAGyElE8GqsY5oH/n/vLYWqhEHlhHlY9ZzPIhsKwybWqLTq6ZPA60fEgRm9+UoU6u7lGD9pjZhTBRvA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -2351,26 +2291,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl/12.3.0: - resolution: {integrity: sha512-U092RBYbaGxoMAwpauePJEu2PuZSEoUCGJBvsptQr2/2XIMwAJDYM4c/M5NfYEsBr+yjvsYNsOpYfeQ88D82Yg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-linux-x64-musl/13.0.6: - resolution: {integrity: sha512-N0c6gubS3WW1oYYgo02xzZnNatfVQP/CiJq2ax+DJ55ePV62IACbRCU99TZNXXg+Kos6vNW4k+/qgvkvpGDeyA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@next/swc-win32-arm64-msvc/12.3.0: - resolution: {integrity: sha512-pzSzaxjDEJe67bUok9Nxf9rykbJfHXW0owICFsPBsqHyc+cr8vpF7g9e2APTCddtVhvjkga9ILoZJ9NxWS7Yiw==} + /@next/swc-win32-arm64-msvc/13.1.3: + resolution: {integrity: sha512-bfulLL1SkaECHnv1Oz1nLdwpMu/B/TQEzA3+XoJYoiZaKHuTrufDIr+fTUasK5l7KQmB1y8LXSMKEKVeZomeGg==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -2378,17 +2300,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc/13.0.6: - resolution: {integrity: sha512-QjeMB2EBqBFPb/ac0CYr7GytbhUkrG4EwFWbcE0vsRp4H8grt25kYpFQckL4Jak3SUrp7vKfDwZ/SwO7QdO8vw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@next/swc-win32-ia32-msvc/12.3.0: - resolution: {integrity: sha512-MQGUpMbYhQmTZ06a9e0hPQJnxFMwETo2WtyAotY3GEzbNCQVbCGhsvqEKcl+ZEHgShlHXUWvSffq1ZscY6gK7A==} + /@next/swc-win32-ia32-msvc/13.1.3: + resolution: {integrity: sha512-5UwjzQWgUdKAinZgLSYB8BG5jtTUuUGBh//7EwDXf+nqfTEZ7VOaDuHWeO6MQLkuSgQOIpwL5uMJQFJY1rX69A==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -2396,26 +2309,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc/13.0.6: - resolution: {integrity: sha512-EQzXtdqRTcmhT/tCq81rIwE36Y3fNHPInaCuJzM/kftdXfa0F+64y7FAoMO13npX8EG1+SamXgp/emSusKrCXg==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@next/swc-win32-x64-msvc/12.3.0: - resolution: {integrity: sha512-C/nw6OgQpEULWqs+wgMHXGvlJLguPRFFGqR2TAqWBerQ8J+Sg3z1ZTqwelkSi4FoqStGuZ2UdFHIDN1ySmR1xA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@next/swc-win32-x64-msvc/13.0.6: - resolution: {integrity: sha512-pSkqZ//UP/f2sS9T7IvHLfEWDPTX0vRyXJnAUNisKvO3eF3e1xdhDX7dix/X3Z3lnN4UjSwOzclAI87JFbOwmQ==} + /@next/swc-win32-x64-msvc/13.1.3: + resolution: {integrity: sha512-P9fSi+/FZKGQXV4kCJg2td2jkIvDryDFZr/mn+0xfWiC/rcSov9CHK0W3qh+ZXyItLEe6dOtAdGxlTYOijHthw==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -2518,7 +2413,7 @@ packages: /@rushstack/eslint-patch/1.2.0: resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==} - /@saleor/app-sdk/0.26.0_6jx7hpii6hgsrmhxgqrmo3277u: + /@saleor/app-sdk/0.26.0_xehvwk7kia3kss3yh76fk44sqm: resolution: {integrity: sha512-OdaWKpvgMBYY/O0RJdHqgyurZXsVJDe1De1n6rU+6Au8C7VusMLQWbjS0VVbV3UJsEKJmbKSgBUSXSD283a01g==} peerDependencies: next: '>=12' @@ -2529,7 +2424,7 @@ packages: fast-glob: 3.2.12 graphql: 16.6.0 jose: 4.11.2 - next: 13.0.6_pjwopsidmaokadturxaafygjp4 + next: 13.1.3_pjwopsidmaokadturxaafygjp4 raw-body: 2.5.1 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -2539,8 +2434,8 @@ packages: - supports-color dev: false - /@saleor/app-sdk/0.26.0_c3hne4hwj64hb7tofigd3bvkji: - resolution: {integrity: sha512-OdaWKpvgMBYY/O0RJdHqgyurZXsVJDe1De1n6rU+6Au8C7VusMLQWbjS0VVbV3UJsEKJmbKSgBUSXSD283a01g==} + /@saleor/app-sdk/0.26.1_xehvwk7kia3kss3yh76fk44sqm: + resolution: {integrity: sha512-gkNQusr8XrfLR7EcB5OKt2MV7og7g1TmdeGBTsdJwkRK18lhYz4fpTGqzoQ+3UrNq98TNuoM3dznr7oPi1QFUA==} peerDependencies: next: '>=12' react: '>=17' @@ -2550,7 +2445,7 @@ packages: fast-glob: 3.2.12 graphql: 16.6.0 jose: 4.11.2 - next: 12.3.0_pjwopsidmaokadturxaafygjp4 + next: 13.1.3_biqbaboplfbrettd7655fr4n2y raw-body: 2.5.1 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -2680,7 +2575,7 @@ packages: tslib: 1.14.1 dev: false - /@sentry/nextjs/7.31.1_next@12.3.0+react@18.2.0: + /@sentry/nextjs/7.31.1_next@13.1.3+react@18.2.0: resolution: {integrity: sha512-Azqa2YwVH4LZjq/U1gsSwqoLBcbNhxxaMIDOocHm7ACbk0Dl3u3cZKDnRUJZ591+DTlDSfgE/WXjs/hWuNohSQ==} engines: {node: '>=8'} peerDependencies: @@ -2701,37 +2596,7 @@ packages: '@sentry/utils': 7.31.1 '@sentry/webpack-plugin': 1.20.0 chalk: 3.0.0 - next: 12.3.0_pjwopsidmaokadturxaafygjp4 - react: 18.2.0 - rollup: 2.78.0 - tslib: 1.14.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: false - - /@sentry/nextjs/7.31.1_next@13.0.6+react@18.2.0: - resolution: {integrity: sha512-Azqa2YwVH4LZjq/U1gsSwqoLBcbNhxxaMIDOocHm7ACbk0Dl3u3cZKDnRUJZ591+DTlDSfgE/WXjs/hWuNohSQ==} - engines: {node: '>=8'} - peerDependencies: - next: ^10.0.8 || ^11.0 || ^12.0 || ^13.0 - react: 15.x || 16.x || 17.x || 18.x - webpack: '>= 4.0.0' - peerDependenciesMeta: - webpack: - optional: true - dependencies: - '@rollup/plugin-commonjs': 24.0.0_rollup@2.78.0 - '@sentry/core': 7.31.1 - '@sentry/integrations': 7.31.1 - '@sentry/node': 7.31.1 - '@sentry/react': 7.31.1_react@18.2.0 - '@sentry/tracing': 7.31.1 - '@sentry/types': 7.31.1 - '@sentry/utils': 7.31.1 - '@sentry/webpack-plugin': 1.20.0 - chalk: 3.0.0 - next: 13.0.6_pjwopsidmaokadturxaafygjp4 + next: 13.1.3_pjwopsidmaokadturxaafygjp4 react: 18.2.0 rollup: 2.78.0 tslib: 1.14.1 @@ -2930,12 +2795,6 @@ packages: tslib: 2.4.1 dev: false - /@swc/helpers/0.4.11: - resolution: {integrity: sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==} - dependencies: - tslib: 2.4.1 - dev: false - /@swc/helpers/0.4.14: resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} dependencies: @@ -2984,7 +2843,7 @@ packages: '@trpc/server': 10.9.0 dev: false - /@trpc/next/10.9.0_boycm4yp33b2f3lgy6o2xtyfcm: + /@trpc/next/10.9.0_u663hlrgg6eh3xuz2qmu3gt7wq: resolution: {integrity: sha512-h/W8VHMki/fw7vHNMs1Ku7bLqccjpiKCE1wkqbvHfBOO1ARDmarRbuK6dLqJilip/f7jkFXcrxwB+eNgK4+6Wg==} peerDependencies: '@tanstack/react-query': ^4.3.8 @@ -2999,7 +2858,7 @@ packages: '@trpc/client': 10.9.0_@trpc+server@10.9.0 '@trpc/react-query': 10.9.0_qw4miir7nnxijwjta54q3esyeq '@trpc/server': 10.9.0 - next: 13.0.6_pjwopsidmaokadturxaafygjp4 + next: 13.1.3_pjwopsidmaokadturxaafygjp4 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 react-ssr-prepass: 1.5.0_react@18.2.0 @@ -4862,31 +4721,6 @@ packages: - supports-color dev: false - /eslint-config-next/13.0.6_grqhnqpocakf5dew66i47isfme: - resolution: {integrity: sha512-Tfn/0lirhkEuoGxKMtDQNtQuC7P3eHcyUyhIJY/OHtjU9ExHFtcge/Fe8Ou/Jd7DIC71vN3CT72oszVwia71cg==} - peerDependencies: - eslint: ^7.23.0 || ^8.0.0 - typescript: '>=3.3.1' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@next/eslint-plugin-next': 13.0.6 - '@rushstack/eslint-patch': 1.2.0 - '@typescript-eslint/parser': 5.48.2_grqhnqpocakf5dew66i47isfme - eslint: 8.25.0 - eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.3_3lib6nmmgp4j5sexb6i7ikvyau - eslint-plugin-import: 2.27.5_eslint@8.25.0 - eslint-plugin-jsx-a11y: 6.7.1_eslint@8.25.0 - eslint-plugin-react: 7.32.1_eslint@8.25.0 - eslint-plugin-react-hooks: 4.6.0_eslint@8.25.0 - typescript: 4.9.4 - transitivePeerDependencies: - - eslint-import-resolver-webpack - - supports-color - dev: true - /eslint-config-next/13.1.3_7uibuqfxkfaozanbtbziikiqje: resolution: {integrity: sha512-KaQA3D/rHBlGg3wGMSLl7lg3O0RNibeaS6SY85zLmQFIgk1OLXs6JOSRV8Y2euVvb90oLyR87+kP151gNTvKNw==} peerDependencies: @@ -4912,6 +4746,31 @@ packages: - supports-color dev: false + /eslint-config-next/13.1.3_grqhnqpocakf5dew66i47isfme: + resolution: {integrity: sha512-KaQA3D/rHBlGg3wGMSLl7lg3O0RNibeaS6SY85zLmQFIgk1OLXs6JOSRV8Y2euVvb90oLyR87+kP151gNTvKNw==} + peerDependencies: + eslint: ^7.23.0 || ^8.0.0 + typescript: '>=3.3.1' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@next/eslint-plugin-next': 13.1.3 + '@rushstack/eslint-patch': 1.2.0 + '@typescript-eslint/parser': 5.48.2_grqhnqpocakf5dew66i47isfme + eslint: 8.25.0 + eslint-import-resolver-node: 0.3.7 + eslint-import-resolver-typescript: 3.5.3_3lib6nmmgp4j5sexb6i7ikvyau + eslint-plugin-import: 2.27.5_eslint@8.25.0 + eslint-plugin-jsx-a11y: 6.7.1_eslint@8.25.0 + eslint-plugin-react: 7.32.1_eslint@8.25.0 + eslint-plugin-react-hooks: 4.6.0_eslint@8.25.0 + typescript: 4.9.4 + transitivePeerDependencies: + - eslint-import-resolver-webpack + - supports-color + dev: true + /eslint-config-prettier/8.6.0_eslint@8.25.0: resolution: {integrity: sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==} hasBin: true @@ -7304,53 +7163,8 @@ packages: /natural-compare/1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - /next/12.3.0_pjwopsidmaokadturxaafygjp4: - resolution: {integrity: sha512-GpzI6me9V1+XYtfK0Ae9WD0mKqHyzQlGq1xH1rzNIYMASo4Tkl4rTe9jSqtBpXFhOS33KohXs9ZY38Akkhdciw==} - engines: {node: '>=12.22.0'} - hasBin: true - peerDependencies: - fibers: '>= 3.1.0' - node-sass: ^6.0.0 || ^7.0.0 - react: ^17.0.2 || ^18.0.0-0 - react-dom: ^17.0.2 || ^18.0.0-0 - sass: ^1.3.0 - peerDependenciesMeta: - fibers: - optional: true - node-sass: - optional: true - sass: - optional: true - dependencies: - '@next/env': 12.3.0 - '@swc/helpers': 0.4.11 - caniuse-lite: 1.0.30001446 - postcss: 8.4.14 - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - styled-jsx: 5.0.6_2exiyaescjxorpwwmy4ejghgte - use-sync-external-store: 1.2.0_react@18.2.0 - optionalDependencies: - '@next/swc-android-arm-eabi': 12.3.0 - '@next/swc-android-arm64': 12.3.0 - '@next/swc-darwin-arm64': 12.3.0 - '@next/swc-darwin-x64': 12.3.0 - '@next/swc-freebsd-x64': 12.3.0 - '@next/swc-linux-arm-gnueabihf': 12.3.0 - '@next/swc-linux-arm64-gnu': 12.3.0 - '@next/swc-linux-arm64-musl': 12.3.0 - '@next/swc-linux-x64-gnu': 12.3.0 - '@next/swc-linux-x64-musl': 12.3.0 - '@next/swc-win32-arm64-msvc': 12.3.0 - '@next/swc-win32-ia32-msvc': 12.3.0 - '@next/swc-win32-x64-msvc': 12.3.0 - transitivePeerDependencies: - - '@babel/core' - - babel-plugin-macros - dev: false - - /next/13.0.6_pjwopsidmaokadturxaafygjp4: - resolution: {integrity: sha512-COvigvms2LRt1rrzfBQcMQ2GZd86Mvk1z+LOLY5pniFtL4VrTmhZ9salrbKfSiXbhsD01TrDdD68ec3ABDyscA==} + /next/13.1.3_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-ig7m7Po/F+Wp0xl+9RKYZq+PYfgVmONH6hBPVT2+jrdUmZkrqsN5ioSe4oQbCAb9tMtVr07agVdK2HFjD15Yug==} engines: {node: '>=14.6.0'} hasBin: true peerDependencies: @@ -7367,27 +7181,71 @@ packages: sass: optional: true dependencies: - '@next/env': 13.0.6 + '@next/env': 13.1.3 '@swc/helpers': 0.4.14 caniuse-lite: 1.0.30001446 postcss: 8.4.14 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - styled-jsx: 5.1.0_2exiyaescjxorpwwmy4ejghgte + styled-jsx: 5.1.1_react@18.2.0 optionalDependencies: - '@next/swc-android-arm-eabi': 13.0.6 - '@next/swc-android-arm64': 13.0.6 - '@next/swc-darwin-arm64': 13.0.6 - '@next/swc-darwin-x64': 13.0.6 - '@next/swc-freebsd-x64': 13.0.6 - '@next/swc-linux-arm-gnueabihf': 13.0.6 - '@next/swc-linux-arm64-gnu': 13.0.6 - '@next/swc-linux-arm64-musl': 13.0.6 - '@next/swc-linux-x64-gnu': 13.0.6 - '@next/swc-linux-x64-musl': 13.0.6 - '@next/swc-win32-arm64-msvc': 13.0.6 - '@next/swc-win32-ia32-msvc': 13.0.6 - '@next/swc-win32-x64-msvc': 13.0.6 + '@next/swc-android-arm-eabi': 13.1.3 + '@next/swc-android-arm64': 13.1.3 + '@next/swc-darwin-arm64': 13.1.3 + '@next/swc-darwin-x64': 13.1.3 + '@next/swc-freebsd-x64': 13.1.3 + '@next/swc-linux-arm-gnueabihf': 13.1.3 + '@next/swc-linux-arm64-gnu': 13.1.3 + '@next/swc-linux-arm64-musl': 13.1.3 + '@next/swc-linux-x64-gnu': 13.1.3 + '@next/swc-linux-x64-musl': 13.1.3 + '@next/swc-win32-arm64-msvc': 13.1.3 + '@next/swc-win32-ia32-msvc': 13.1.3 + '@next/swc-win32-x64-msvc': 13.1.3 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + dev: false + + /next/13.1.3_pjwopsidmaokadturxaafygjp4: + resolution: {integrity: sha512-ig7m7Po/F+Wp0xl+9RKYZq+PYfgVmONH6hBPVT2+jrdUmZkrqsN5ioSe4oQbCAb9tMtVr07agVdK2HFjD15Yug==} + engines: {node: '>=14.6.0'} + hasBin: true + peerDependencies: + fibers: '>= 3.1.0' + node-sass: ^6.0.0 || ^7.0.0 + react: ^18.2.0 + react-dom: ^18.2.0 + sass: ^1.3.0 + peerDependenciesMeta: + fibers: + optional: true + node-sass: + optional: true + sass: + optional: true + dependencies: + '@next/env': 13.1.3 + '@swc/helpers': 0.4.14 + caniuse-lite: 1.0.30001446 + postcss: 8.4.14 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + styled-jsx: 5.1.1_2exiyaescjxorpwwmy4ejghgte + optionalDependencies: + '@next/swc-android-arm-eabi': 13.1.3 + '@next/swc-android-arm64': 13.1.3 + '@next/swc-darwin-arm64': 13.1.3 + '@next/swc-darwin-x64': 13.1.3 + '@next/swc-freebsd-x64': 13.1.3 + '@next/swc-linux-arm-gnueabihf': 13.1.3 + '@next/swc-linux-arm64-gnu': 13.1.3 + '@next/swc-linux-arm64-musl': 13.1.3 + '@next/swc-linux-x64-gnu': 13.1.3 + '@next/swc-linux-x64-musl': 13.1.3 + '@next/swc-win32-arm64-msvc': 13.1.3 + '@next/swc-win32-ia32-msvc': 13.1.3 + '@next/swc-win32-x64-msvc': 13.1.3 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -8646,8 +8504,8 @@ packages: acorn: 8.8.1 dev: true - /styled-jsx/5.0.6_2exiyaescjxorpwwmy4ejghgte: - resolution: {integrity: sha512-xOeROtkK5MGMDimBQ3J6iPId8q0t/BDoG5XN6oKkZClVz9ISF/hihN8OCn2LggMU6N32aXnrXBdn3auSqNS9fA==} + /styled-jsx/5.1.1_2exiyaescjxorpwwmy4ejghgte: + resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: '@babel/core': '*' @@ -8660,11 +8518,12 @@ packages: optional: true dependencies: '@babel/core': 7.20.12 + client-only: 0.0.1 react: 18.2.0 dev: false - /styled-jsx/5.1.0_2exiyaescjxorpwwmy4ejghgte: - resolution: {integrity: sha512-/iHaRJt9U7T+5tp6TRelLnqBqiaIT0HsO0+vgyj8hK2KUk7aejFqRrumqPUlAqDwAj8IbS/1hk3IhBAAK/FCUQ==} + /styled-jsx/5.1.1_react@18.2.0: + resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: '@babel/core': '*' @@ -8676,7 +8535,6 @@ packages: babel-plugin-macros: optional: true dependencies: - '@babel/core': 7.20.12 client-only: 0.0.1 react: 18.2.0 dev: false