Deps Update, CSSNano, Sentry env (#210)
1. Update dependencies 2. Use cssnano for production 3. Assign an environment variable to Sentry's environment settings 4. `Pill` now accepts React Nodes so we can pass translations using Trans component 5. Switch to mailpit API during tests 6. Do not require Email Sender to be of type email and add proper error messages
This commit is contained in:
committed by
GitHub
parent
bd723dccce
commit
a45fda44cf
@@ -29,8 +29,8 @@
|
||||
"@supabase/supabase-js": "2.49.1",
|
||||
"@types/react": "19.0.10",
|
||||
"date-fns": "^4.1.0",
|
||||
"lucide-react": "^0.477.0",
|
||||
"next": "15.2.1",
|
||||
"lucide-react": "^0.479.0",
|
||||
"next": "15.2.2",
|
||||
"react": "19.0.0",
|
||||
"react-hook-form": "^7.54.2",
|
||||
"react-i18next": "^15.4.1",
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
"@kit/tsconfig": "workspace:*",
|
||||
"@kit/ui": "workspace:*",
|
||||
"@types/react": "19.0.10",
|
||||
"next": "15.2.1",
|
||||
"next": "15.2.2",
|
||||
"react": "19.0.0",
|
||||
"zod": "^3.24.2"
|
||||
},
|
||||
|
||||
@@ -15,8 +15,8 @@
|
||||
"./components": "./src/components/index.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@stripe/react-stripe-js": "^3.3.0",
|
||||
"@stripe/stripe-js": "^5.8.0",
|
||||
"@stripe/react-stripe-js": "^3.4.0",
|
||||
"@stripe/stripe-js": "^6.0.0",
|
||||
"stripe": "^17.7.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -29,7 +29,7 @@
|
||||
"@kit/ui": "workspace:*",
|
||||
"@types/react": "19.0.10",
|
||||
"date-fns": "^4.1.0",
|
||||
"next": "15.2.1",
|
||||
"next": "15.2.2",
|
||||
"react": "19.0.0",
|
||||
"zod": "^3.24.2"
|
||||
},
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
"./api": "./src/server/api.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"nanoid": "^5.1.2"
|
||||
"nanoid": "^5.1.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@hookform/resolvers": "^4.1.3",
|
||||
@@ -35,12 +35,12 @@
|
||||
"@kit/ui": "workspace:*",
|
||||
"@radix-ui/react-icons": "^1.3.2",
|
||||
"@supabase/supabase-js": "2.49.1",
|
||||
"@tanstack/react-query": "5.67.1",
|
||||
"@tanstack/react-query": "5.67.3",
|
||||
"@types/react": "19.0.10",
|
||||
"@types/react-dom": "19.0.4",
|
||||
"lucide-react": "^0.477.0",
|
||||
"next": "15.2.1",
|
||||
"next-themes": "0.4.4",
|
||||
"lucide-react": "^0.479.0",
|
||||
"next": "15.2.2",
|
||||
"next-themes": "0.4.6",
|
||||
"react": "19.0.0",
|
||||
"react-dom": "19.0.0",
|
||||
"react-hook-form": "^7.54.2",
|
||||
|
||||
@@ -21,11 +21,11 @@
|
||||
"@makerkit/data-loader-supabase-core": "^0.0.8",
|
||||
"@makerkit/data-loader-supabase-nextjs": "^1.2.3",
|
||||
"@supabase/supabase-js": "2.49.1",
|
||||
"@tanstack/react-query": "5.67.1",
|
||||
"@tanstack/react-query": "5.67.3",
|
||||
"@tanstack/react-table": "^8.21.2",
|
||||
"@types/react": "19.0.10",
|
||||
"lucide-react": "^0.477.0",
|
||||
"next": "15.2.1",
|
||||
"lucide-react": "^0.479.0",
|
||||
"next": "15.2.2",
|
||||
"react": "19.0.0",
|
||||
"react-dom": "19.0.0",
|
||||
"react-hook-form": "^7.54.2",
|
||||
|
||||
@@ -29,10 +29,10 @@
|
||||
"@marsidev/react-turnstile": "^1.1.0",
|
||||
"@radix-ui/react-icons": "^1.3.2",
|
||||
"@supabase/supabase-js": "2.49.1",
|
||||
"@tanstack/react-query": "5.67.1",
|
||||
"@tanstack/react-query": "5.67.3",
|
||||
"@types/react": "19.0.10",
|
||||
"lucide-react": "^0.477.0",
|
||||
"next": "15.2.1",
|
||||
"lucide-react": "^0.479.0",
|
||||
"next": "15.2.2",
|
||||
"react-hook-form": "^7.54.2",
|
||||
"react-i18next": "^15.4.1",
|
||||
"sonner": "^2.0.1",
|
||||
|
||||
@@ -20,9 +20,9 @@
|
||||
"@kit/tsconfig": "workspace:*",
|
||||
"@kit/ui": "workspace:*",
|
||||
"@supabase/supabase-js": "2.49.1",
|
||||
"@tanstack/react-query": "5.67.1",
|
||||
"@tanstack/react-query": "5.67.3",
|
||||
"@types/react": "19.0.10",
|
||||
"lucide-react": "^0.477.0",
|
||||
"lucide-react": "^0.479.0",
|
||||
"react": "19.0.0",
|
||||
"react-dom": "19.0.0",
|
||||
"react-i18next": "^15.4.1"
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"./webhooks": "./src/server/services/webhooks/index.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"nanoid": "^5.1.2"
|
||||
"nanoid": "^5.1.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@hookform/resolvers": "^4.1.3",
|
||||
@@ -33,14 +33,14 @@
|
||||
"@kit/tsconfig": "workspace:*",
|
||||
"@kit/ui": "workspace:*",
|
||||
"@supabase/supabase-js": "2.49.1",
|
||||
"@tanstack/react-query": "5.67.1",
|
||||
"@tanstack/react-query": "5.67.3",
|
||||
"@tanstack/react-table": "^8.21.2",
|
||||
"@types/react": "19.0.10",
|
||||
"@types/react-dom": "19.0.4",
|
||||
"class-variance-authority": "^0.7.1",
|
||||
"date-fns": "^4.1.0",
|
||||
"lucide-react": "^0.477.0",
|
||||
"next": "15.2.1",
|
||||
"lucide-react": "^0.479.0",
|
||||
"next": "15.2.2",
|
||||
"react": "19.0.0",
|
||||
"react-dom": "19.0.0",
|
||||
"react-hook-form": "^7.54.2",
|
||||
|
||||
@@ -8,16 +8,33 @@ import { Database } from '@kit/supabase/database';
|
||||
type Invitation = Database['public']['Tables']['invitations']['Row'];
|
||||
|
||||
const invitePath = '/join';
|
||||
|
||||
const siteURL = process.env.NEXT_PUBLIC_SITE_URL;
|
||||
const productName = process.env.NEXT_PUBLIC_PRODUCT_NAME ?? '';
|
||||
const emailSender = process.env.EMAIL_SENDER;
|
||||
|
||||
const env = z
|
||||
.object({
|
||||
invitePath: z.string().min(1),
|
||||
siteURL: z.string().min(1),
|
||||
productName: z.string(),
|
||||
emailSender: z.string().email(),
|
||||
invitePath: z
|
||||
.string({
|
||||
required_error: 'The property invitePath is required',
|
||||
})
|
||||
.min(1),
|
||||
siteURL: z
|
||||
.string({
|
||||
required_error: 'NEXT_PUBLIC_SITE_URL is required',
|
||||
})
|
||||
.min(1),
|
||||
productName: z
|
||||
.string({
|
||||
required_error: 'NEXT_PUBLIC_PRODUCT_NAME is required',
|
||||
})
|
||||
.min(1),
|
||||
emailSender: z
|
||||
.string({
|
||||
required_error: 'EMAIL_SENDER is required',
|
||||
})
|
||||
.min(1),
|
||||
})
|
||||
.parse({
|
||||
invitePath,
|
||||
|
||||
@@ -76,7 +76,9 @@ class AccountWebhooksService {
|
||||
return z
|
||||
.object({
|
||||
productName: z.string(),
|
||||
fromEmail: z.string().email(),
|
||||
fromEmail: z.string({
|
||||
required_error: 'EMAIL_SENDER is required',
|
||||
}).min(1),
|
||||
})
|
||||
.parse({
|
||||
productName,
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
"@kit/prettier-config": "workspace:*",
|
||||
"@kit/shared": "workspace:*",
|
||||
"@kit/tsconfig": "workspace:*",
|
||||
"@tanstack/react-query": "5.67.1",
|
||||
"next": "15.2.1",
|
||||
"@tanstack/react-query": "5.67.3",
|
||||
"next": "15.2.2",
|
||||
"react": "19.0.0",
|
||||
"react-dom": "19.0.0",
|
||||
"react-i18next": "^15.4.1"
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
"./config/server": "./src/sentry.client.server.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@sentry/nextjs": "^9.3.0",
|
||||
"@sentry/nextjs": "^9.5.0",
|
||||
"import-in-the-middle": "1.13.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -39,18 +39,25 @@ export class SentryMonitoringService implements MonitoringService {
|
||||
}
|
||||
|
||||
private async initialize() {
|
||||
const environment =
|
||||
process.env.NEXT_PUBLIC_SENTRY_ENVIRONMENT ?? process.env.VERCEL_ENV;
|
||||
|
||||
if (typeof document !== 'undefined') {
|
||||
const { initializeSentryBrowserClient } = await import(
|
||||
'../sentry.client.config'
|
||||
);
|
||||
|
||||
initializeSentryBrowserClient();
|
||||
initializeSentryBrowserClient({
|
||||
environment,
|
||||
});
|
||||
} else {
|
||||
const { initializeSentryServerClient } = await import(
|
||||
'../sentry.server.config'
|
||||
);
|
||||
|
||||
initializeSentryServerClient();
|
||||
initializeSentryServerClient({
|
||||
environment,
|
||||
});
|
||||
}
|
||||
|
||||
this.readyResolver?.();
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
"@kit/supabase": "workspace:*",
|
||||
"@kit/tsconfig": "workspace:*",
|
||||
"@supabase/supabase-js": "2.49.1",
|
||||
"next": "15.2.1",
|
||||
"next": "15.2.2",
|
||||
"zod": "^3.24.2"
|
||||
},
|
||||
"typesVersions": {
|
||||
|
||||
@@ -29,9 +29,9 @@
|
||||
"@kit/tsconfig": "workspace:*",
|
||||
"@supabase/ssr": "^0.5.2",
|
||||
"@supabase/supabase-js": "2.49.1",
|
||||
"@tanstack/react-query": "5.67.1",
|
||||
"@tanstack/react-query": "5.67.3",
|
||||
"@types/react": "19.0.10",
|
||||
"next": "15.2.1",
|
||||
"next": "15.2.2",
|
||||
"react": "19.0.0",
|
||||
"server-only": "^0.0.1",
|
||||
"zod": "^3.24.2"
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
"clsx": "^2.1.1",
|
||||
"cmdk": "1.0.4",
|
||||
"input-otp": "1.4.2",
|
||||
"lucide-react": "^0.477.0",
|
||||
"lucide-react": "^0.479.0",
|
||||
"react-top-loading-bar": "3.0.2",
|
||||
"recharts": "2.15.1",
|
||||
"tailwind-merge": "^3.0.2"
|
||||
@@ -43,21 +43,21 @@
|
||||
"@kit/prettier-config": "workspace:*",
|
||||
"@kit/tsconfig": "workspace:*",
|
||||
"@radix-ui/react-icons": "^1.3.2",
|
||||
"@tanstack/react-query": "5.67.1",
|
||||
"@tanstack/react-query": "5.67.3",
|
||||
"@tanstack/react-table": "^8.21.2",
|
||||
"@types/react": "19.0.10",
|
||||
"@types/react-dom": "19.0.4",
|
||||
"class-variance-authority": "^0.7.1",
|
||||
"date-fns": "^4.1.0",
|
||||
"eslint": "^9.21.0",
|
||||
"next": "15.2.1",
|
||||
"next-themes": "0.4.4",
|
||||
"eslint": "^9.22.0",
|
||||
"next": "15.2.2",
|
||||
"next-themes": "0.4.6",
|
||||
"prettier": "^3.5.3",
|
||||
"react-day-picker": "^8.10.1",
|
||||
"react-hook-form": "^7.54.2",
|
||||
"react-i18next": "^15.4.1",
|
||||
"sonner": "^2.0.1",
|
||||
"tailwindcss": "4.0.9",
|
||||
"tailwindcss": "4.0.13",
|
||||
"tailwindcss-animate": "^1.0.7",
|
||||
"typescript": "^5.8.2",
|
||||
"zod": "^3.24.2"
|
||||
|
||||
@@ -5,7 +5,7 @@ import { GradientSecondaryText } from './gradient-secondary-text';
|
||||
|
||||
export const Pill: React.FC<
|
||||
React.HTMLAttributes<HTMLHeadingElement> & {
|
||||
label?: string;
|
||||
label?: React.ReactNode;
|
||||
asChild?: boolean;
|
||||
}
|
||||
> = function PillComponent({ className, asChild, ...props }) {
|
||||
|
||||
Reference in New Issue
Block a user