From dfcfdf213857995811f5e71088c1c70d07de6cfc Mon Sep 17 00:00:00 2001 From: Baptiste Arnaud Date: Thu, 31 Aug 2023 09:57:54 +0200 Subject: [PATCH] :children_crossing: Skip validation if __ENV.js file does not exist --- apps/builder/package.json | 2 +- apps/builder/sentry.client.config.js | 12 -- .../ImageUploadContent/IconPicker.tsx | 1 + apps/viewer/package.json | 2 +- apps/viewer/sentry.client.config.js | 12 -- .../blocks/logic/script/executeScript.ts | 2 +- packages/env/env.ts | 18 +-- packages/env/getRuntimeVariable.ts | 5 +- pnpm-lock.yaml | 106 +++++++++--------- 9 files changed, 61 insertions(+), 99 deletions(-) diff --git a/apps/builder/package.json b/apps/builder/package.json index 28ed44127a1..d05b3147155 100644 --- a/apps/builder/package.json +++ b/apps/builder/package.json @@ -26,7 +26,7 @@ "@giphy/react-components": "7.1.0", "@googleapis/drive": "8.0.0", "@paralleldrive/cuid2": "2.2.1", - "@sentry/nextjs": "7.58.1", + "@sentry/nextjs": "7.66.0", "@stripe/stripe-js": "1.54.1", "@t3-oss/env-nextjs": "^0.6.0", "@tanstack/react-query": "^4.29.19", diff --git a/apps/builder/sentry.client.config.js b/apps/builder/sentry.client.config.js index fad585c2a4f..96c8e4c9dfd 100644 --- a/apps/builder/sentry.client.config.js +++ b/apps/builder/sentry.client.config.js @@ -9,16 +9,4 @@ Sentry.init({ "Can't find variable: ResizeObserver", ], release: process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA + '-builder', - beforeBreadcrumb(breadcrumb, hint) { - try { - if (breadcrumb.category.startsWith('ui')) { - breadcrumb.message = `${hint.event.target.tagName.toLowerCase()}: ${ - hint.event.target.innerText - }` - } - } catch (e) { - /* empty */ - } - return breadcrumb - }, }) diff --git a/apps/builder/src/components/ImageUploadContent/IconPicker.tsx b/apps/builder/src/components/ImageUploadContent/IconPicker.tsx index 5ba84c801f1..23b67cc2157 100644 --- a/apps/builder/src/components/ImageUploadContent/IconPicker.tsx +++ b/apps/builder/src/components/ImageUploadContent/IconPicker.tsx @@ -108,6 +108,7 @@ export const IconPicker = ({ onIconSelected }: Props) => { placeholder="Search..." onChange={searchIcon} withVariableButton={false} + debounceTimeout={300} /> diff --git a/apps/viewer/package.json b/apps/viewer/package.json index 8bf698b190e..2a10f75baf2 100644 --- a/apps/viewer/package.json +++ b/apps/viewer/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@planetscale/database": "^1.8.0", - "@sentry/nextjs": "7.58.1", + "@sentry/nextjs": "7.66.0", "@trpc/server": "10.34.0", "@typebot.io/nextjs": "workspace:*", "@typebot.io/prisma": "workspace:*", diff --git a/apps/viewer/sentry.client.config.js b/apps/viewer/sentry.client.config.js index ced7122b496..e75baac9db5 100644 --- a/apps/viewer/sentry.client.config.js +++ b/apps/viewer/sentry.client.config.js @@ -9,16 +9,4 @@ Sentry.init({ "Can't find variable: ResizeObserver", ], release: process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA + '-viewer', - beforeBreadcrumb(breadcrumb, hint) { - try { - if (breadcrumb.category.startsWith('ui')) { - breadcrumb.message = `${hint.event.target.tagName.toLowerCase()}: ${ - hint.event.target.innerText - }` - } - } catch (e) { - /* empty */ - } - return breadcrumb - }, }) diff --git a/packages/embeds/js/src/features/blocks/logic/script/executeScript.ts b/packages/embeds/js/src/features/blocks/logic/script/executeScript.ts index ed6abd1be9a..c84e3ca222a 100644 --- a/packages/embeds/js/src/features/blocks/logic/script/executeScript.ts +++ b/packages/embeds/js/src/features/blocks/logic/script/executeScript.ts @@ -11,7 +11,7 @@ export const executeScript = async ({ content, args }: ScriptToExecute) => { ) await func(...args.map((arg) => arg.value)) } catch (err) { - console.error(err) + console.warn('Script threw an error:', err) } } diff --git a/packages/env/env.ts b/packages/env/env.ts index 3881ba72b44..b06ecf02682 100644 --- a/packages/env/env.ts +++ b/packages/env/env.ts @@ -1,5 +1,5 @@ import { createEnv } from '@t3-oss/env-nextjs' -import { ZodError, z } from 'zod' +import { z } from 'zod' import { getRuntimeVariable } from './getRuntimeVariable' declare const window: { @@ -317,21 +317,7 @@ export const env = createEnv({ ...sentryEnv.runtimeEnv, ...posthogEnv.runtimeEnv, }, - onValidationError: (error: ZodError) => { - console.log( - '[DEBUG]', - "typeof window !== 'undefined'", - typeof window !== 'undefined' - ) - if (typeof window !== 'undefined') { - console.log('[DEBUG]', 'window.__ENV', window.__ENV) - } - console.error( - '❌ Invalid environment variables:', - error.flatten().fieldErrors - ) - throw new Error('Invalid environment variables') - }, + skipValidation: typeof window !== 'undefined' && window.__ENV === undefined, onInvalidAccess: (variable: string) => { throw new Error( `❌ Attempted to access a server-side environment variable on the client: ${variable}` diff --git a/packages/env/getRuntimeVariable.ts b/packages/env/getRuntimeVariable.ts index 621913cba6b..4503cf141d8 100644 --- a/packages/env/getRuntimeVariable.ts +++ b/packages/env/getRuntimeVariable.ts @@ -2,10 +2,9 @@ declare const window: { __ENV?: any } -const isBrowser = () => Boolean(typeof window !== 'undefined' && window.__ENV) - export const getRuntimeVariable = (key: string) => { - if (isBrowser()) return window.__ENV[key] + if (typeof window !== 'undefined') + return window.__ENV ? window.__ENV[key] : undefined if (typeof process === 'undefined') return undefined return process.env[key] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7436dda13e3..366f0f72bc2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -72,8 +72,8 @@ importers: specifier: 2.2.1 version: 2.2.1 '@sentry/nextjs': - specifier: 7.58.1 - version: 7.58.1(next@13.4.3)(react@18.2.0) + specifier: 7.66.0 + version: 7.66.0(next@13.4.3)(react@18.2.0) '@stripe/stripe-js': specifier: 1.54.1 version: 1.54.1 @@ -519,8 +519,8 @@ importers: specifier: ^1.8.0 version: 1.8.0 '@sentry/nextjs': - specifier: 7.58.1 - version: 7.58.1(next@13.4.3)(react@18.2.0) + specifier: 7.66.0 + version: 7.66.0(next@13.4.3)(react@18.2.0) '@trpc/server': specifier: 10.34.0 version: 10.34.0 @@ -7822,25 +7822,25 @@ packages: resolution: {integrity: sha512-0xd7qez0AQ+MbHatZTlI1gu5vkG8r7MYRUJAHPAHJBmGLs16zpkrpAVLvjQKQOqaXPDUBwOiJzNc00znHSCVBw==} dev: false - /@sentry-internal/tracing@7.58.1: - resolution: {integrity: sha512-kOWKqyjYdDgvO6CacXneE9UrFQHT3BXF1UpCAlnHchW/TqRFmg89sJAEUjEPGzN7y6IaX1G4j2dBPDE0OFQi3w==} + /@sentry-internal/tracing@7.66.0: + resolution: {integrity: sha512-3vCgC2hC3T45pn53yTDVcRpHoJTBxelDPPZVsipAbZnoOVPkj7n6dNfDhj3I3kwWCBPahPkXmE+R4xViR8VqJg==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.58.1 - '@sentry/types': 7.58.1 - '@sentry/utils': 7.58.1 + '@sentry/core': 7.66.0 + '@sentry/types': 7.66.0 + '@sentry/utils': 7.66.0 tslib: 2.6.0 dev: false - /@sentry/browser@7.58.1: - resolution: {integrity: sha512-7+6Z/T7m0A/2/ImMCakpMOaWTPxmENzTdaojhkyVQKuYUZr7mCe4nco0jsongwY634zSUziuVsibi0jxMMTdBA==} + /@sentry/browser@7.66.0: + resolution: {integrity: sha512-rW037rf8jkhyykG38+HUdwkRCKHJEMM5NkCqPIO5zuuxfLKukKdI2rbvgJ93s3/9UfsTuDFcKFL1u43mCn6sDw==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.58.1 - '@sentry/core': 7.58.1 - '@sentry/replay': 7.58.1 - '@sentry/types': 7.58.1 - '@sentry/utils': 7.58.1 + '@sentry-internal/tracing': 7.66.0 + '@sentry/core': 7.66.0 + '@sentry/replay': 7.66.0 + '@sentry/types': 7.66.0 + '@sentry/utils': 7.66.0 tslib: 2.6.0 dev: false @@ -7861,27 +7861,27 @@ packages: - supports-color dev: false - /@sentry/core@7.58.1: - resolution: {integrity: sha512-hpeB5fZ5T6Jg1CBqz486jHgWuJ5R/HD0wyYX+S3LDDsHCJo6V3TxNuoxYDlTTerRRfZdTwr9GYJXskehpU26IA==} + /@sentry/core@7.66.0: + resolution: {integrity: sha512-WMAEPN86NeCJ1IT48Lqiz4MS5gdDjBwP4M63XP4msZn9aujSf2Qb6My5uT87AJr9zBtgk8MyJsuHr35F0P3q1w==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.58.1 - '@sentry/utils': 7.58.1 + '@sentry/types': 7.66.0 + '@sentry/utils': 7.66.0 tslib: 2.6.0 dev: false - /@sentry/integrations@7.58.1: - resolution: {integrity: sha512-fKZV/QDPM7rIZhaJpFwgxD4rzWLtRuag7cOWfvHCsezJnhXEF8u45sBak/VWmSr8SbcvJAIJSZbWYi0N91hNHQ==} + /@sentry/integrations@7.66.0: + resolution: {integrity: sha512-2PNEnihG9e9Rjbz205+A4BYtFcS2XdgwsN6obAU6Yir7VIbskwZXxx87lKZuz6S53sOWPHleC7uvUBjL+Q6vYg==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.58.1 - '@sentry/utils': 7.58.1 + '@sentry/types': 7.66.0 + '@sentry/utils': 7.66.0 localforage: 1.10.0 tslib: 2.6.0 dev: false - /@sentry/nextjs@7.58.1(next@13.4.3)(react@18.2.0): - resolution: {integrity: sha512-/wNVWNJ4vdVHBAvbnjbrRfAX3YhGvdC/CR9IAN5h0tTNjD/LFaHUN97/MUn9oZ7FpFgOOveM5bqK/5b6QRCBCg==} + /@sentry/nextjs@7.66.0(next@13.4.3)(react@18.2.0): + resolution: {integrity: sha512-CJwl3/rIJRR1isqWjGEE8CYiNUndvRksp7l0/75tfe4JoKTk+XS3tXcXVZyyXh34GU5San1c46ctiyodaGGIeg==} engines: {node: '>=8'} peerDependencies: next: ^10.0.8 || ^11.0 || ^12.0 || ^13.0 @@ -7892,12 +7892,12 @@ packages: optional: true dependencies: '@rollup/plugin-commonjs': 24.0.0(rollup@2.78.0) - '@sentry/core': 7.58.1 - '@sentry/integrations': 7.58.1 - '@sentry/node': 7.58.1 - '@sentry/react': 7.58.1(react@18.2.0) - '@sentry/types': 7.58.1 - '@sentry/utils': 7.58.1 + '@sentry/core': 7.66.0 + '@sentry/integrations': 7.66.0 + '@sentry/node': 7.66.0 + '@sentry/react': 7.66.0(react@18.2.0) + '@sentry/types': 7.66.0 + '@sentry/utils': 7.66.0 '@sentry/webpack-plugin': 1.20.0 chalk: 3.0.0 next: 13.4.3(@babel/core@7.22.9)(react-dom@18.2.0)(react@18.2.0) @@ -7910,14 +7910,14 @@ packages: - supports-color dev: false - /@sentry/node@7.58.1: - resolution: {integrity: sha512-XsSu0xg5SYcltMbatnRBcIZw9pXwGJoGbYDLuPhhuqBz2mnQ0mQ9Try9dn/agDU7KZzT0IyA1qkPXk0NkMe3rw==} + /@sentry/node@7.66.0: + resolution: {integrity: sha512-PxqIqLr4Sh5xcDfECiBQ4PuZ7v8yTgLhaRkruWrZPYxQrcJFPkwbFkw/IskzVnhT2VwXUmeWEIlRMQKBJ0t83A==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.58.1 - '@sentry/core': 7.58.1 - '@sentry/types': 7.58.1 - '@sentry/utils': 7.58.1 + '@sentry-internal/tracing': 7.66.0 + '@sentry/core': 7.66.0 + '@sentry/types': 7.66.0 + '@sentry/utils': 7.66.0 cookie: 0.4.2 https-proxy-agent: 5.0.1 lru_map: 0.3.3 @@ -7926,39 +7926,39 @@ packages: - supports-color dev: false - /@sentry/react@7.58.1(react@18.2.0): - resolution: {integrity: sha512-0fh2JfKBxPU6Pm11PBt/5DgDg+l0cKcOf1WGhCWsBcFmRE2gAax+Q09+1fWm6+dqtg3piVR8AEEU6ZCBk3l4OQ==} + /@sentry/react@7.66.0(react@18.2.0): + resolution: {integrity: sha512-TC7kCkLoo+Klp9uywdV6tg8DDyn1CrTdndJghO6PoGz6sCa9k+t7K+z4E7MlgDoh3wiZwS2G2zhkT/xVeDRvJA==} engines: {node: '>=8'} peerDependencies: react: 15.x || 16.x || 17.x || 18.x dependencies: - '@sentry/browser': 7.58.1 - '@sentry/types': 7.58.1 - '@sentry/utils': 7.58.1 + '@sentry/browser': 7.66.0 + '@sentry/types': 7.66.0 + '@sentry/utils': 7.66.0 hoist-non-react-statics: 3.3.2 react: 18.2.0 tslib: 2.6.0 dev: false - /@sentry/replay@7.58.1: - resolution: {integrity: sha512-KKlpIxGrH1deTr/R3BErX8y16MnOzEylBVVn2I31BglLoZETFS9JAle6JNOgGxS5apFjwdQmD+69vX/mlVhMow==} + /@sentry/replay@7.66.0: + resolution: {integrity: sha512-5Y2SlVTOFTo3uIycv0mRneBakQtLgWkOnsJaC5LB0Ip0TqVKiMCbQ578vvXp+yvRj4LcS1gNd98xTTNojBoQNg==} engines: {node: '>=12'} dependencies: - '@sentry/core': 7.58.1 - '@sentry/types': 7.58.1 - '@sentry/utils': 7.58.1 + '@sentry/core': 7.66.0 + '@sentry/types': 7.66.0 + '@sentry/utils': 7.66.0 dev: false - /@sentry/types@7.58.1: - resolution: {integrity: sha512-OnKG+yrilPBeVNQK3biF0u/4IDjwH+boJU1XzJOnYdMRO8uzTWxvaRqpt0C8sVE9VAetRi2eutkzOgCXZISRrw==} + /@sentry/types@7.66.0: + resolution: {integrity: sha512-uUMSoSiar6JhuD8p7ON/Ddp4JYvrVd2RpwXJRPH1A4H4Bd4DVt1mKJy1OLG6HdeQv39XyhB1lPZckKJg4tATPw==} engines: {node: '>=8'} dev: false - /@sentry/utils@7.58.1: - resolution: {integrity: sha512-iC9xZJBHp4+MDrZjKwcmMUhI5sTmpUcttwmsJL9HA6ACW+L1XX2eGSDky5pSlhhVFR7q7jJnQ7YUlMQ/jcd8eQ==} + /@sentry/utils@7.66.0: + resolution: {integrity: sha512-9GYUVgXjK66uXXcLXVMXVzlptqMtq1eJENCuDeezQiEFrNA71KkLDg00wESp+LL+bl3wpVTBApArpbF6UEG5hQ==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.58.1 + '@sentry/types': 7.66.0 tslib: 2.6.0 dev: false