chore: bump version to 2.21.9 and update dependencies across multiple packages (#420)

- Updated application version from 2.21.8 to 2.21.9 in package.json.
- Upgraded dependencies including prettier to version 3.7.4, @supabase/supabase-js to version 2.86.0, and @tanstack/react-query to version 5.90.11.
- Adjusted various package.json files to reflect updated versions for lucide-react, react-hook-form, and nodemailer.
- Enhanced pnpm-lock.yaml and pnpm-workspace.yaml for consistency in package versions.
- Refactored import statements in several components for improved readability.
This commit is contained in:
Giancarlo Buomprisco
2025-12-03 14:04:54 +08:00
committed by GitHub
parent 57d7b0f02f
commit c77c380c9c
42 changed files with 1490 additions and 1695 deletions

3
.npmrc
View File

@@ -7,4 +7,5 @@ public-hoist-pattern[]=*i18next*
public-hoist-pattern[]=*eslint*
public-hoist-pattern[]=*prettier*
public-hoist-pattern[]=*require-in-the-middle*
public-hoist-pattern[]=*import-in-the-middle*
public-hoist-pattern[]=*import-in-the-middle*
public-hoist-pattern[]=*pino*

View File

@@ -8,14 +8,14 @@
"format": "prettier --check --write \"**/*.{ts,tsx}\" --ignore-path=\"../../.prettierignore\""
},
"dependencies": {
"@ai-sdk/openai": "^2.0.67",
"@ai-sdk/openai": "^2.0.76",
"@faker-js/faker": "^10.1.0",
"@hookform/resolvers": "^5.2.2",
"@tanstack/react-query": "catalog:",
"ai": "5.0.100",
"lucide-react": "^0.554.0",
"ai": "5.0.106",
"lucide-react": "^0.555.0",
"next": "catalog:",
"nodemailer": "^7.0.10",
"nodemailer": "^7.0.11",
"react": "catalog:",
"react-dom": "19.2.0",
"rxjs": "^7.8.2"
@@ -36,7 +36,7 @@
"@types/react-dom": "catalog:",
"babel-plugin-react-compiler": "1.0.0",
"pino-pretty": "13.0.0",
"react-hook-form": "^7.66.1",
"react-hook-form": "^7.67.0",
"recharts": "2.15.3",
"tailwindcss": "catalog:",
"tailwindcss-animate": "^1.0.7",

View File

@@ -11,7 +11,7 @@
},
"author": "Makerkit",
"devDependencies": {
"@playwright/test": "^1.56.1",
"@playwright/test": "^1.57.0",
"@supabase/supabase-js": "catalog:",
"@types/node": "catalog:",
"dotenv": "17.2.3",

View File

@@ -5,9 +5,8 @@
import { type Instrumentation } from 'next';
export async function register() {
const { registerMonitoringInstrumentation } = await import(
'@kit/monitoring/instrumentation'
);
const { registerMonitoringInstrumentation } =
await import('@kit/monitoring/instrumentation');
// Register monitoring instrumentation
// based on the MONITORING_PROVIDER environment variable.

View File

@@ -34,7 +34,7 @@ const config = {
fullUrl: true,
},
},
serverExternalPackages: [],
serverExternalPackages: ['pino', 'thread-stream'],
// needed for supporting dynamic imports for local content
outputFileTracingIncludes: {
'/*': ['./content/**/*'],

View File

@@ -60,13 +60,13 @@
"@tanstack/react-query": "catalog:",
"@tanstack/react-table": "^8.21.3",
"date-fns": "^4.1.0",
"lucide-react": "^0.554.0",
"lucide-react": "^0.555.0",
"next": "catalog:",
"next-sitemap": "^4.2.3",
"next-themes": "0.4.6",
"react": "catalog:",
"react-dom": "19.2.0",
"react-hook-form": "^7.66.1",
"react-hook-form": "^7.67.0",
"react-i18next": "^16.3.5",
"recharts": "2.15.3",
"tailwind-merge": "^3.4.0",
@@ -86,7 +86,7 @@
"babel-plugin-react-compiler": "1.0.0",
"cssnano": "^7.1.2",
"pino-pretty": "13.0.0",
"prettier": "^3.6.2",
"prettier": "^3.7.4",
"supabase": "catalog:",
"tailwindcss": "catalog:",
"typescript": "^5.9.3"

View File

@@ -1,6 +1,6 @@
{
"name": "next-supabase-saas-kit-turbo",
"version": "2.21.8",
"version": "2.21.9",
"private": true,
"sideEffects": false,
"engines": {
@@ -42,7 +42,7 @@
"@manypkg/cli": "^0.25.1",
"@turbo/gen": "^2.6.0",
"cross-env": "^10.0.0",
"prettier": "^3.6.2",
"prettier": "^3.7.4",
"turbo": "2.6.1",
"typescript": "^5.9.3"
}

View File

@@ -35,7 +35,4 @@ export interface CreateAnalyticsManagerOptions<
}
export interface AnalyticsManager
extends TrackPageView,
TrackEvent,
Identify,
ProviderManager {}
extends TrackPageView, TrackEvent, Identify, ProviderManager {}

View File

@@ -29,10 +29,10 @@
"@supabase/supabase-js": "catalog:",
"@types/react": "catalog:",
"date-fns": "^4.1.0",
"lucide-react": "^0.554.0",
"lucide-react": "^0.555.0",
"next": "catalog:",
"react": "catalog:",
"react-hook-form": "^7.66.1",
"react-hook-form": "^7.67.0",
"react-i18next": "^16.3.5",
"zod": "catalog:"
},

View File

@@ -12,9 +12,8 @@ const StripeCheckoutLazy = lazy(async () => {
});
const LemonSqueezyCheckoutLazy = lazy(async () => {
const { LemonSqueezyEmbeddedCheckout } = await import(
'@kit/lemon-squeezy/components'
);
const { LemonSqueezyEmbeddedCheckout } =
await import('@kit/lemon-squeezy/components');
return { default: LemonSqueezyEmbeddedCheckout };
});

View File

@@ -32,9 +32,8 @@ export function createBillingEventHandlerFactoryService(
// Register the Lemon Squeezy webhook handler
billingWebhookHandlerRegistry.register('lemon-squeezy', async () => {
const { LemonSqueezyWebhookHandlerService } = await import(
'@kit/lemon-squeezy'
);
const { LemonSqueezyWebhookHandlerService } =
await import('@kit/lemon-squeezy');
return new LemonSqueezyWebhookHandlerService(planTypesMap);
});

View File

@@ -22,9 +22,8 @@ billingStrategyRegistry.register('stripe', async () => {
// Register the Lemon Squeezy billing strategy
billingStrategyRegistry.register('lemon-squeezy', async () => {
const { LemonSqueezyBillingStrategyService } = await import(
'@kit/lemon-squeezy'
);
const { LemonSqueezyBillingStrategyService } =
await import('@kit/lemon-squeezy');
return new LemonSqueezyBillingStrategyService();
});

View File

@@ -31,9 +31,7 @@ import { createLemonSqueezySubscriptionPayloadBuilderService } from './lemon-squ
* @name LemonSqueezyBillingStrategyService
* @description This class is used to create a billing strategy for Lemon Squeezy
*/
export class LemonSqueezyBillingStrategyService
implements BillingStrategyProviderService
{
export class LemonSqueezyBillingStrategyService implements BillingStrategyProviderService {
private readonly namespace = 'billing.lemon-squeezy';
/**

View File

@@ -41,9 +41,7 @@ interface LineItem {
type OrderStatus = 'pending' | 'failed' | 'paid' | 'refunded';
export class LemonSqueezyWebhookHandlerService
implements BillingWebhookHandlerService
{
export class LemonSqueezyWebhookHandlerService implements BillingWebhookHandlerService {
private readonly provider: BillingProvider = 'lemon-squeezy';
private readonly namespace = 'billing.lemon-squeezy';

View File

@@ -15,8 +15,8 @@
"./components": "./src/components/index.ts"
},
"dependencies": {
"@stripe/react-stripe-js": "^5.4.0",
"@stripe/stripe-js": "^8.5.2",
"@stripe/react-stripe-js": "^5.4.1",
"@stripe/stripe-js": "^8.5.3",
"stripe": "^20.0.0"
},
"devDependencies": {

View File

@@ -26,9 +26,7 @@ import { createStripeSubscriptionPayloadBuilderService } from './stripe-subscrip
* @class StripeBillingStrategyService
* @implements {BillingStrategyProviderService}
*/
export class StripeBillingStrategyService
implements BillingStrategyProviderService
{
export class StripeBillingStrategyService implements BillingStrategyProviderService {
private readonly namespace = 'billing.stripe';
/**

View File

@@ -31,9 +31,7 @@ type UpsertOrderParams =
type BillingProvider = Enums<'billing_provider'>;
export class StripeWebhookHandlerService
implements BillingWebhookHandlerService
{
export class StripeWebhookHandlerService implements BillingWebhookHandlerService {
private stripe: Stripe | undefined;
constructor(private readonly planTypesMap: PlanTypeMap) {}

View File

@@ -8,9 +8,8 @@ export async function createKeystaticClient() {
process.env.NEXT_RUNTIME === 'nodejs' ||
process.env.KEYSTATIC_STORAGE_KIND !== 'local'
) {
const { createKeystaticClient: createClient } = await import(
'./keystatic-client'
);
const { createKeystaticClient: createClient } =
await import('./keystatic-client');
return createClient();
}

View File

@@ -24,9 +24,8 @@ export async function createKeystaticReader() {
case 'github':
case 'cloud': {
const { createGitHubReader } = await import(
'@keystatic/core/reader/github'
);
const { createGitHubReader } =
await import('@keystatic/core/reader/github');
return createGitHubReader(
keyStaticConfig,

View File

@@ -36,9 +36,8 @@ class DatabaseWebhookRouterService {
body: RecordChange<'subscriptions'>,
) {
if (body.type === 'DELETE' && body.old_record) {
const { createBillingWebhooksService } = await import(
'@kit/billing-gateway'
);
const { createBillingWebhooksService } =
await import('@kit/billing-gateway');
const service = createBillingWebhooksService();

View File

@@ -4,9 +4,8 @@ const WEBHOOK_SENDER_PROVIDER =
export async function getDatabaseWebhookVerifier() {
switch (WEBHOOK_SENDER_PROVIDER) {
case 'postgres': {
const { createDatabaseWebhookVerifierService } = await import(
'./postgres-database-webhook-verifier.service'
);
const { createDatabaseWebhookVerifierService } =
await import('./postgres-database-webhook-verifier.service');
return createDatabaseWebhookVerifierService();
}

View File

@@ -14,9 +14,7 @@ export function createDatabaseWebhookVerifierService() {
return new PostgresDatabaseWebhookVerifierService();
}
class PostgresDatabaseWebhookVerifierService
implements DatabaseWebhookVerifierService
{
class PostgresDatabaseWebhookVerifierService implements DatabaseWebhookVerifierService {
verifySignatureOrThrow(header: string) {
if (header !== webhooksSecret) {
throw new Error('Invalid signature');

View File

@@ -38,12 +38,12 @@
"@tanstack/react-query": "catalog:",
"@types/react": "catalog:",
"@types/react-dom": "catalog:",
"lucide-react": "^0.554.0",
"lucide-react": "^0.555.0",
"next": "catalog:",
"next-themes": "0.4.6",
"react": "catalog:",
"react-dom": "19.2.0",
"react-hook-form": "^7.66.1",
"react-hook-form": "^7.67.0",
"react-i18next": "^16.3.5",
"zod": "catalog:"
},

View File

@@ -24,11 +24,11 @@
"@tanstack/react-query": "catalog:",
"@tanstack/react-table": "^8.21.3",
"@types/react": "catalog:",
"lucide-react": "^0.554.0",
"lucide-react": "^0.555.0",
"next": "catalog:",
"react": "catalog:",
"react-dom": "19.2.0",
"react-hook-form": "^7.66.1",
"react-hook-form": "^7.67.0",
"zod": "catalog:"
},
"exports": {

View File

@@ -32,9 +32,9 @@
"@supabase/supabase-js": "catalog:",
"@tanstack/react-query": "catalog:",
"@types/react": "catalog:",
"lucide-react": "^0.554.0",
"lucide-react": "^0.555.0",
"next": "catalog:",
"react-hook-form": "^7.66.1",
"react-hook-form": "^7.67.0",
"react-i18next": "^16.3.5",
"sonner": "^2.0.7",
"zod": "catalog:"

View File

@@ -22,7 +22,7 @@
"@supabase/supabase-js": "catalog:",
"@tanstack/react-query": "catalog:",
"@types/react": "catalog:",
"lucide-react": "^0.554.0",
"lucide-react": "^0.555.0",
"react": "catalog:",
"react-dom": "19.2.0",
"react-i18next": "^16.3.5"

View File

@@ -43,11 +43,11 @@
"@types/react-dom": "catalog:",
"class-variance-authority": "^0.7.1",
"date-fns": "^4.1.0",
"lucide-react": "^0.554.0",
"lucide-react": "^0.555.0",
"next": "catalog:",
"react": "catalog:",
"react-dom": "19.2.0",
"react-hook-form": "^7.66.1",
"react-hook-form": "^7.67.0",
"react-i18next": "^16.3.5",
"zod": "catalog:"
},

View File

@@ -27,7 +27,7 @@
"react-i18next": "^16.3.5"
},
"dependencies": {
"i18next": "25.6.3",
"i18next": "25.7.1",
"i18next-browser-languagedetector": "8.2.0",
"i18next-resources-to-backend": "^1.2.1"
},

View File

@@ -13,7 +13,7 @@
".": "./src/index.ts"
},
"dependencies": {
"nodemailer": "^7.0.10"
"nodemailer": "^7.0.11"
},
"devDependencies": {
"@kit/eslint-config": "workspace:*",

View File

@@ -24,7 +24,7 @@
"devDependencies": {
"@kit/prettier-config": "workspace:*",
"@kit/tsconfig": "workspace:*",
"@modelcontextprotocol/sdk": "1.22.0",
"@modelcontextprotocol/sdk": "1.24.1",
"@types/node": "catalog:",
"postgres": "3.4.7",
"zod": "catalog:"

View File

@@ -16,7 +16,7 @@
"./config/server": "./src/sentry.client.server.ts"
},
"dependencies": {
"@sentry/nextjs": "^10.26.0"
"@sentry/nextjs": "^10.28.0"
},
"devDependencies": {
"@kit/eslint-config": "workspace:*",

View File

@@ -49,17 +49,15 @@ export class SentryMonitoringService implements MonitoringService {
process.env.NEXT_PUBLIC_SENTRY_ENVIRONMENT ?? process.env.VERCEL_ENV;
if (typeof document !== 'undefined') {
const { initializeSentryBrowserClient } = await import(
'../sentry.client.config'
);
const { initializeSentryBrowserClient } =
await import('../sentry.client.config');
initializeSentryBrowserClient({
environment,
});
} else {
const { initializeSentryServerClient } = await import(
'../sentry.server.config'
);
const { initializeSentryServerClient } =
await import('../sentry.server.config');
initializeSentryServerClient({
environment,

View File

@@ -30,7 +30,7 @@
"@types/react-dom": "catalog:",
"react": "catalog:",
"react-dom": "19.2.0",
"react-hook-form": "^7.66.1",
"react-hook-form": "^7.67.0",
"zod": "catalog:"
},
"typesVersions": {

View File

@@ -25,7 +25,7 @@
"@kit/eslint-config": "workspace:*",
"@kit/prettier-config": "workspace:*",
"@kit/tsconfig": "workspace:*",
"@supabase/ssr": "^0.7.0",
"@supabase/ssr": "^0.8.0",
"@supabase/supabase-js": "catalog:",
"@tanstack/react-query": "catalog:",
"@types/node": "catalog:",

View File

@@ -14,7 +14,7 @@
"clsx": "^2.1.1",
"cmdk": "1.1.1",
"input-otp": "1.4.2",
"lucide-react": "^0.554.0",
"lucide-react": "^0.555.0",
"radix-ui": "1.4.3",
"react-dropzone": "^14.3.8",
"react-top-loading-bar": "3.0.2",
@@ -35,9 +35,9 @@
"eslint": "^9.39.1",
"next": "catalog:",
"next-themes": "0.4.6",
"prettier": "^3.6.2",
"react-day-picker": "^9.11.2",
"react-hook-form": "^7.66.1",
"prettier": "^3.7.4",
"react-day-picker": "^9.11.3",
"react-hook-form": "^7.67.0",
"react-i18next": "^16.3.5",
"sonner": "^2.0.7",
"tailwindcss": "catalog:",

View File

@@ -8,8 +8,7 @@ import { Heading } from '../../shadcn/heading';
import { Spinner } from '../spinner';
import { NewsletterSignup } from './newsletter-signup';
interface NewsletterSignupContainerProps
extends React.HTMLAttributes<HTMLDivElement> {
interface NewsletterSignupContainerProps extends React.HTMLAttributes<HTMLDivElement> {
onSignup: (email: string) => Promise<void>;
heading?: string;
description?: string;

View File

@@ -25,7 +25,8 @@ const badgeVariants = cva(
);
export interface BadgeProps
extends React.HTMLAttributes<HTMLDivElement>,
extends
React.HTMLAttributes<HTMLDivElement>,
VariantProps<typeof badgeVariants> {}
function Badge({ className, variant, ...props }: BadgeProps) {

View File

@@ -37,7 +37,8 @@ const buttonVariants = cva(
);
export interface ButtonProps
extends React.ComponentPropsWithRef<'button'>,
extends
React.ComponentPropsWithRef<'button'>,
VariantProps<typeof buttonVariants> {
asChild?: boolean;
}

View File

@@ -49,7 +49,8 @@ const sheetVariants = cva(
);
interface SheetContentProps
extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,
extends
React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,
VariantProps<typeof sheetVariants> {}
const SheetContent: React.FC<SheetContentProps> = ({

3005
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -4,18 +4,18 @@ packages:
- tooling/*
catalog:
'@next/bundle-analyzer': 16.0.2
'@next/eslint-plugin-next': 16.0.2
'@supabase/supabase-js': 2.84.0
'@next/bundle-analyzer': 16.0.6
'@next/eslint-plugin-next': 16.0.6
'@supabase/supabase-js': 2.86.0
'@tailwindcss/postcss': 4.1.17
'@tanstack/react-query': 5.90.10
'@tanstack/react-query': 5.90.11
'@types/node': 24.10.1
'@types/react': 19.2.6
'@types/react': 19.2.7
'@types/react-dom': 19.2.3
eslint-config-next: 16.0.3
next: 16.0.2
eslint-config-next: 16.0.6
next: 16.0.6
react: 19.2.0
supabase: 2.58.5
supabase: 2.65.2
tailwindcss: 4.1.17
tw-animate-css: 1.4.0
zod: 3.25.74

View File

@@ -10,8 +10,8 @@
},
"dependencies": {
"@trivago/prettier-plugin-sort-imports": "6.0.0",
"prettier": "^3.6.2",
"prettier-plugin-tailwindcss": "^0.7.1"
"prettier": "^3.7.4",
"prettier-plugin-tailwindcss": "^0.7.2"
},
"devDependencies": {
"@kit/tsconfig": "workspace:*",