Merge branch 'main' of github.com:makerkit/next-supabase-saas-kit-turbo
This commit is contained in:
170
AGENTS.md
Normal file
170
AGENTS.md
Normal file
@@ -0,0 +1,170 @@
|
|||||||
|
# Project Agents.md Guide for OpenAI Codex
|
||||||
|
|
||||||
|
This Agents.md file provides comprehensive guidance for OpenAI Codex and other AI agents working with this codebase.
|
||||||
|
|
||||||
|
## Project Overview
|
||||||
|
|
||||||
|
Makerkit - Supabase SaaS Starter Kit (Turbo Edition) is a multi-tenant SaaS application built with Next.js, Supabase, and Tailwind CSS. The project uses a Turborepo monorepo structure with distinct apps for the main web application, development tools, and e2e testing.
|
||||||
|
|
||||||
|
## Architecture
|
||||||
|
|
||||||
|
### Monorepo Structure
|
||||||
|
|
||||||
|
- `/apps/web` - Main Next.js SaaS application
|
||||||
|
- `/apps/dev-tool` - Development utilities (runs on port 3010)
|
||||||
|
- `/apps/e2e` - Playwright end-to-end tests
|
||||||
|
- `/packages/` - Shared packages and utilities
|
||||||
|
- `/tooling/` - Build tools, linting, and development scripts
|
||||||
|
|
||||||
|
### Core Technologies
|
||||||
|
|
||||||
|
- **Next.js 15** with App Router and Turbopack
|
||||||
|
- **Supabase** for database, auth, and storage
|
||||||
|
- **React 19** with React Compiler
|
||||||
|
- **TypeScript** with strict configuration
|
||||||
|
- **Tailwind CSS 4** for styling
|
||||||
|
- **Turborepo** for monorepo management
|
||||||
|
|
||||||
|
### Multi-Tenant Architecture
|
||||||
|
|
||||||
|
The application uses a dual account model:
|
||||||
|
|
||||||
|
- **Personal Accounts**: Individual user accounts (auth.users.id = accounts.id)
|
||||||
|
- **Team Accounts**: Shared workspaces with members, roles, and permissions
|
||||||
|
- Data is associated with accounts via foreign keys for proper access control
|
||||||
|
|
||||||
|
## Common Commands
|
||||||
|
|
||||||
|
### Development
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Start all apps in development
|
||||||
|
pnpm dev
|
||||||
|
|
||||||
|
# Start specific app
|
||||||
|
pnpm --filter web dev # Main app (port 3000)
|
||||||
|
pnpm --filter dev-tool dev # Dev tools (port 3010)
|
||||||
|
|
||||||
|
# Build all apps
|
||||||
|
pnpm build
|
||||||
|
|
||||||
|
# Run tests
|
||||||
|
pnpm test # All tests
|
||||||
|
pnpm --filter e2e test # E2E tests only
|
||||||
|
```
|
||||||
|
|
||||||
|
### Code Quality
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Lint all code
|
||||||
|
pnpm lint
|
||||||
|
pnpm lint:fix # Auto-fix issues
|
||||||
|
|
||||||
|
# Format code
|
||||||
|
pnpm format
|
||||||
|
pnpm format:fix # Auto-fix formatting
|
||||||
|
|
||||||
|
# Type checking
|
||||||
|
pnpm typecheck
|
||||||
|
```
|
||||||
|
|
||||||
|
### Database Operations
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Start Supabase locally
|
||||||
|
pnpm supabase:web:start
|
||||||
|
|
||||||
|
# Reset database with latest schema
|
||||||
|
pnpm supabase:web:reset
|
||||||
|
|
||||||
|
# Generate TypeScript types from database
|
||||||
|
pnpm supabase:web:typegen
|
||||||
|
|
||||||
|
# Run database tests
|
||||||
|
pnpm supabase:web:test
|
||||||
|
|
||||||
|
# Create migration from schema changes
|
||||||
|
pnpm --filter web supabase:db:diff
|
||||||
|
|
||||||
|
# Stop Supabase
|
||||||
|
pnpm supabase:web:stop
|
||||||
|
```
|
||||||
|
|
||||||
|
## Database Guidelines
|
||||||
|
|
||||||
|
### Schema Management
|
||||||
|
|
||||||
|
- Database schemas are in `apps/web/supabase/schemas/`
|
||||||
|
- Create new schemas as `<number>-<name>.sql`
|
||||||
|
- After schema changes: run `pnpm --filter web supabase:db:diff` then `pnpm supabase:web:reset`
|
||||||
|
|
||||||
|
### Security & RLS
|
||||||
|
|
||||||
|
- **Always enable RLS** on new tables unless explicitly instructed otherwise
|
||||||
|
- Use helper functions for access control:
|
||||||
|
- `public.has_role_on_account(account_id, role?)` - Check team membership
|
||||||
|
- `public.has_permission(user_id, account_id, permission)` - Check specific permissions
|
||||||
|
- `public.is_account_owner(account_id)` - Verify account ownership
|
||||||
|
- Associate data with accounts using foreign keys for proper access control
|
||||||
|
|
||||||
|
### Type Generation
|
||||||
|
|
||||||
|
Import auto-generated types from `@kit/supabase/database`:
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { Tables } from '@kit/supabase/database';
|
||||||
|
|
||||||
|
type Account = Tables<'accounts'>;
|
||||||
|
```
|
||||||
|
|
||||||
|
## Development Patterns
|
||||||
|
|
||||||
|
### Data Fetching
|
||||||
|
|
||||||
|
- **Server Components**: Use `getSupabaseServerClient()` directly
|
||||||
|
- **Client Components**: Use `useSupabase()` hook + React Query's `useQuery`
|
||||||
|
- Prefer Server Components and pass data down to Client Components when needed
|
||||||
|
|
||||||
|
### Server Actions
|
||||||
|
|
||||||
|
- Always use `enhanceAction` from `@kit/next/actions`
|
||||||
|
- Name files as `server-actions.ts` and functions with `Action` suffix
|
||||||
|
- Place Zod schemas in separate files for reuse with forms
|
||||||
|
- Use `'use server'` directive at top of file
|
||||||
|
|
||||||
|
### Error Handling & Logging
|
||||||
|
|
||||||
|
- Use `@kit/shared/logger` for logging
|
||||||
|
- Don't swallow errors - handle them appropriately
|
||||||
|
- Provide context without sensitive data
|
||||||
|
|
||||||
|
### Component Organization
|
||||||
|
|
||||||
|
- Route-specific components in `_components/` directories
|
||||||
|
- Route-specific utilities in `_lib/` directories
|
||||||
|
- Server-side utilities in `_lib/server/`
|
||||||
|
- Global components and utilities in root-level directories
|
||||||
|
|
||||||
|
### Permission Patterns
|
||||||
|
|
||||||
|
- Check permissions before data operations using helper functions
|
||||||
|
- Guard premium features with subscription checks (`public.has_active_subscription`)
|
||||||
|
- Use role hierarchy to control member management actions
|
||||||
|
- Primary account owners have special privileges that cannot be revoked
|
||||||
|
|
||||||
|
## Testing
|
||||||
|
|
||||||
|
### E2E Tests
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pnpm --filter e2e test # Run all E2E tests
|
||||||
|
```
|
||||||
|
|
||||||
|
Test files are in `apps/e2e/tests/` organized by feature area.
|
||||||
|
|
||||||
|
## Important Notes
|
||||||
|
|
||||||
|
- Uses pnpm as package manager
|
||||||
|
- Database types are auto-generated - don't write manually if shape matches DB
|
||||||
|
- Always use explicit schema references in SQL (`public.table_name`)
|
||||||
|
- Documentation available at: https://makerkit.dev/docs/next-supabase-turbo/introduction
|
||||||
170
CLAUDE.md
Normal file
170
CLAUDE.md
Normal file
@@ -0,0 +1,170 @@
|
|||||||
|
# CLAUDE.md
|
||||||
|
|
||||||
|
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||||
|
|
||||||
|
## Project Overview
|
||||||
|
|
||||||
|
Makerkit - Supabase SaaS Starter Kit (Turbo Edition) is a multi-tenant SaaS application built with Next.js, Supabase, and Tailwind CSS. The project uses a Turborepo monorepo structure with distinct apps for the main web application, development tools, and e2e testing.
|
||||||
|
|
||||||
|
## Architecture
|
||||||
|
|
||||||
|
### Monorepo Structure
|
||||||
|
|
||||||
|
- `/apps/web` - Main Next.js SaaS application
|
||||||
|
- `/apps/dev-tool` - Development utilities (runs on port 3010)
|
||||||
|
- `/apps/e2e` - Playwright end-to-end tests
|
||||||
|
- `/packages/` - Shared packages and utilities
|
||||||
|
- `/tooling/` - Build tools, linting, and development scripts
|
||||||
|
|
||||||
|
### Core Technologies
|
||||||
|
|
||||||
|
- **Next.js 15** with App Router and Turbopack
|
||||||
|
- **Supabase** for database, auth, and storage
|
||||||
|
- **React 19** with React Compiler
|
||||||
|
- **TypeScript** with strict configuration
|
||||||
|
- **Tailwind CSS 4** for styling
|
||||||
|
- **Turborepo** for monorepo management
|
||||||
|
|
||||||
|
### Multi-Tenant Architecture
|
||||||
|
|
||||||
|
The application uses a dual account model:
|
||||||
|
|
||||||
|
- **Personal Accounts**: Individual user accounts (auth.users.id = accounts.id)
|
||||||
|
- **Team Accounts**: Shared workspaces with members, roles, and permissions
|
||||||
|
- Data is associated with accounts via foreign keys for proper access control
|
||||||
|
|
||||||
|
## Common Commands
|
||||||
|
|
||||||
|
### Development
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Start all apps in development
|
||||||
|
pnpm dev
|
||||||
|
|
||||||
|
# Start specific app
|
||||||
|
pnpm --filter web dev # Main app (port 3000)
|
||||||
|
pnpm --filter dev-tool dev # Dev tools (port 3010)
|
||||||
|
|
||||||
|
# Build all apps
|
||||||
|
pnpm build
|
||||||
|
|
||||||
|
# Run tests
|
||||||
|
pnpm test # All tests
|
||||||
|
pnpm --filter e2e test # E2E tests only
|
||||||
|
```
|
||||||
|
|
||||||
|
### Code Quality
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Lint all code
|
||||||
|
pnpm lint
|
||||||
|
pnpm lint:fix # Auto-fix issues
|
||||||
|
|
||||||
|
# Format code
|
||||||
|
pnpm format
|
||||||
|
pnpm format:fix # Auto-fix formatting
|
||||||
|
|
||||||
|
# Type checking
|
||||||
|
pnpm typecheck
|
||||||
|
```
|
||||||
|
|
||||||
|
### Database Operations
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Start Supabase locally
|
||||||
|
pnpm supabase:web:start
|
||||||
|
|
||||||
|
# Reset database with latest schema
|
||||||
|
pnpm supabase:web:reset
|
||||||
|
|
||||||
|
# Generate TypeScript types from database
|
||||||
|
pnpm supabase:web:typegen
|
||||||
|
|
||||||
|
# Run database tests
|
||||||
|
pnpm supabase:web:test
|
||||||
|
|
||||||
|
# Create migration from schema changes
|
||||||
|
pnpm --filter web supabase:db:diff
|
||||||
|
|
||||||
|
# Stop Supabase
|
||||||
|
pnpm supabase:web:stop
|
||||||
|
```
|
||||||
|
|
||||||
|
## Database Guidelines
|
||||||
|
|
||||||
|
### Schema Management
|
||||||
|
|
||||||
|
- Database schemas are in `apps/web/supabase/schemas/`
|
||||||
|
- Create new schemas as `<number>-<name>.sql`
|
||||||
|
- After schema changes: run `pnpm --filter web supabase:db:diff` then `pnpm supabase:web:reset`
|
||||||
|
|
||||||
|
### Security & RLS
|
||||||
|
|
||||||
|
- **Always enable RLS** on new tables unless explicitly instructed otherwise
|
||||||
|
- Use helper functions for access control:
|
||||||
|
- `public.has_role_on_account(account_id, role?)` - Check team membership
|
||||||
|
- `public.has_permission(user_id, account_id, permission)` - Check specific permissions
|
||||||
|
- `public.is_account_owner(account_id)` - Verify account ownership
|
||||||
|
- Associate data with accounts using foreign keys for proper access control
|
||||||
|
|
||||||
|
### Type Generation
|
||||||
|
|
||||||
|
Import auto-generated types from `@kit/supabase/database`:
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { Tables } from '@kit/supabase/database';
|
||||||
|
|
||||||
|
type Account = Tables<'accounts'>;
|
||||||
|
```
|
||||||
|
|
||||||
|
## Development Patterns
|
||||||
|
|
||||||
|
### Data Fetching
|
||||||
|
|
||||||
|
- **Server Components**: Use `getSupabaseServerClient()` directly
|
||||||
|
- **Client Components**: Use `useSupabase()` hook + React Query's `useQuery`
|
||||||
|
- Prefer Server Components and pass data down to Client Components when needed
|
||||||
|
|
||||||
|
### Server Actions
|
||||||
|
|
||||||
|
- Always use `enhanceAction` from `@kit/next/actions`
|
||||||
|
- Name files as `server-actions.ts` and functions with `Action` suffix
|
||||||
|
- Place Zod schemas in separate files for reuse with forms
|
||||||
|
- Use `'use server'` directive at top of file
|
||||||
|
|
||||||
|
### Error Handling & Logging
|
||||||
|
|
||||||
|
- Use `@kit/shared/logger` for logging
|
||||||
|
- Don't swallow errors - handle them appropriately
|
||||||
|
- Provide context without sensitive data
|
||||||
|
|
||||||
|
### Component Organization
|
||||||
|
|
||||||
|
- Route-specific components in `_components/` directories
|
||||||
|
- Route-specific utilities in `_lib/` directories
|
||||||
|
- Server-side utilities in `_lib/server/`
|
||||||
|
- Global components and utilities in root-level directories
|
||||||
|
|
||||||
|
### Permission Patterns
|
||||||
|
|
||||||
|
- Check permissions before data operations using helper functions
|
||||||
|
- Guard premium features with subscription checks (`public.has_active_subscription`)
|
||||||
|
- Use role hierarchy to control member management actions
|
||||||
|
- Primary account owners have special privileges that cannot be revoked
|
||||||
|
|
||||||
|
## Testing
|
||||||
|
|
||||||
|
### E2E Tests
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pnpm --filter e2e test # Run all E2E tests
|
||||||
|
```
|
||||||
|
|
||||||
|
Test files are in `apps/e2e/tests/` organized by feature area.
|
||||||
|
|
||||||
|
## Important Notes
|
||||||
|
|
||||||
|
- Uses pnpm as package manager
|
||||||
|
- Database types are auto-generated - don't write manually if shape matches DB
|
||||||
|
- Always use explicit schema references in SQL (`public.table_name`)
|
||||||
|
- Documentation available at: https://makerkit.dev/docs/next-supabase-turbo/introduction
|
||||||
@@ -10,10 +10,10 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ai-sdk/openai": "^1.3.22",
|
"@ai-sdk/openai": "^1.3.22",
|
||||||
"@hookform/resolvers": "^5.0.1",
|
"@hookform/resolvers": "^5.0.1",
|
||||||
"@tanstack/react-query": "5.77.2",
|
"@tanstack/react-query": "5.80.6",
|
||||||
"ai": "4.3.16",
|
"ai": "4.3.16",
|
||||||
"lucide-react": "^0.511.0",
|
"lucide-react": "^0.513.0",
|
||||||
"next": "15.3.2",
|
"next": "15.3.3",
|
||||||
"nodemailer": "^7.0.3",
|
"nodemailer": "^7.0.3",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"react-dom": "19.1.0",
|
"react-dom": "19.1.0",
|
||||||
@@ -25,18 +25,18 @@
|
|||||||
"@kit/shared": "workspace:*",
|
"@kit/shared": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@kit/ui": "workspace:*",
|
"@kit/ui": "workspace:*",
|
||||||
"@tailwindcss/postcss": "^4.1.7",
|
"@tailwindcss/postcss": "^4.1.8",
|
||||||
"@types/node": "^22.15.23",
|
"@types/node": "^22.15.30",
|
||||||
"@types/nodemailer": "6.4.17",
|
"@types/nodemailer": "6.4.17",
|
||||||
"@types/react": "19.1.6",
|
"@types/react": "19.1.6",
|
||||||
"@types/react-dom": "19.1.5",
|
"@types/react-dom": "19.1.6",
|
||||||
"babel-plugin-react-compiler": "19.1.0-rc.2",
|
"babel-plugin-react-compiler": "19.1.0-rc.2",
|
||||||
"pino-pretty": "^13.0.0",
|
"pino-pretty": "^13.0.0",
|
||||||
"react-hook-form": "^7.56.4",
|
"react-hook-form": "^7.57.0",
|
||||||
"tailwindcss": "4.1.7",
|
"tailwindcss": "4.1.8",
|
||||||
"tailwindcss-animate": "^1.0.7",
|
"tailwindcss-animate": "^1.0.7",
|
||||||
"typescript": "^5.8.3",
|
"typescript": "^5.8.3",
|
||||||
"zod": "^3.25.31"
|
"zod": "^3.25.53"
|
||||||
},
|
},
|
||||||
"prettier": "@kit/prettier-config",
|
"prettier": "@kit/prettier-config",
|
||||||
"browserslist": [
|
"browserslist": [
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@playwright/test": "^1.52.0",
|
"@playwright/test": "^1.52.0",
|
||||||
"@types/node": "^22.15.23",
|
"@types/node": "^22.15.30",
|
||||||
"dotenv": "16.5.0",
|
"dotenv": "16.5.0",
|
||||||
"node-html-parser": "^7.0.1",
|
"node-html-parser": "^7.0.1",
|
||||||
"totp-generator": "^1.0.0"
|
"totp-generator": "^1.0.0"
|
||||||
|
|||||||
@@ -54,40 +54,40 @@
|
|||||||
"@makerkit/data-loader-supabase-core": "^0.0.10",
|
"@makerkit/data-loader-supabase-core": "^0.0.10",
|
||||||
"@makerkit/data-loader-supabase-nextjs": "^1.2.5",
|
"@makerkit/data-loader-supabase-nextjs": "^1.2.5",
|
||||||
"@marsidev/react-turnstile": "^1.1.0",
|
"@marsidev/react-turnstile": "^1.1.0",
|
||||||
"@nosecone/next": "1.0.0-beta.7",
|
"@nosecone/next": "1.0.0-beta.8",
|
||||||
"@radix-ui/react-icons": "^1.3.2",
|
"@radix-ui/react-icons": "^1.3.2",
|
||||||
"@supabase/supabase-js": "2.49.8",
|
"@supabase/supabase-js": "2.49.10",
|
||||||
"@tanstack/react-query": "5.77.2",
|
"@tanstack/react-query": "5.80.6",
|
||||||
"@tanstack/react-table": "^8.21.3",
|
"@tanstack/react-table": "^8.21.3",
|
||||||
"date-fns": "^4.1.0",
|
"date-fns": "^4.1.0",
|
||||||
"lucide-react": "^0.511.0",
|
"lucide-react": "^0.513.0",
|
||||||
"next": "15.3.2",
|
"next": "15.3.3",
|
||||||
"next-sitemap": "^4.2.3",
|
"next-sitemap": "^4.2.3",
|
||||||
"next-themes": "0.4.6",
|
"next-themes": "0.4.6",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"react-dom": "19.1.0",
|
"react-dom": "19.1.0",
|
||||||
"react-hook-form": "^7.56.4",
|
"react-hook-form": "^7.57.0",
|
||||||
"react-i18next": "^15.5.2",
|
"react-i18next": "^15.5.2",
|
||||||
"recharts": "2.15.3",
|
"recharts": "2.15.3",
|
||||||
"sonner": "^2.0.3",
|
"sonner": "^2.0.5",
|
||||||
"tailwind-merge": "^3.3.0",
|
"tailwind-merge": "^3.3.0",
|
||||||
"zod": "^3.25.31"
|
"zod": "^3.25.53"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@kit/eslint-config": "workspace:*",
|
"@kit/eslint-config": "workspace:*",
|
||||||
"@kit/prettier-config": "workspace:*",
|
"@kit/prettier-config": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@next/bundle-analyzer": "15.3.2",
|
"@next/bundle-analyzer": "15.3.3",
|
||||||
"@tailwindcss/postcss": "^4.1.7",
|
"@tailwindcss/postcss": "^4.1.8",
|
||||||
"@types/node": "^22.15.23",
|
"@types/node": "^22.15.30",
|
||||||
"@types/react": "19.1.6",
|
"@types/react": "19.1.6",
|
||||||
"@types/react-dom": "19.1.5",
|
"@types/react-dom": "19.1.6",
|
||||||
"babel-plugin-react-compiler": "19.1.0-rc.2",
|
"babel-plugin-react-compiler": "19.1.0-rc.2",
|
||||||
"cssnano": "^7.0.7",
|
"cssnano": "^7.0.7",
|
||||||
"pino-pretty": "^13.0.0",
|
"pino-pretty": "^13.0.0",
|
||||||
"prettier": "^3.5.3",
|
"prettier": "^3.5.3",
|
||||||
"supabase": "^2.23.4",
|
"supabase": "^2.24.3",
|
||||||
"tailwindcss": "4.1.7",
|
"tailwindcss": "4.1.8",
|
||||||
"tailwindcss-animate": "^1.0.7",
|
"tailwindcss-animate": "^1.0.7",
|
||||||
"typescript": "^5.8.3"
|
"typescript": "^5.8.3"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -46,10 +46,10 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@manypkg/cli": "^0.24.0",
|
"@manypkg/cli": "^0.24.0",
|
||||||
"@turbo/gen": "^2.5.3",
|
"@turbo/gen": "^2.5.4",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"prettier": "^3.5.3",
|
"prettier": "^3.5.3",
|
||||||
"turbo": "2.5.3",
|
"turbo": "2.5.4",
|
||||||
"typescript": "^5.8.3"
|
"typescript": "^5.8.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
"@kit/eslint-config": "workspace:*",
|
"@kit/eslint-config": "workspace:*",
|
||||||
"@kit/prettier-config": "workspace:*",
|
"@kit/prettier-config": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@types/node": "^22.15.23"
|
"@types/node": "^22.15.30"
|
||||||
},
|
},
|
||||||
"typesVersions": {
|
"typesVersions": {
|
||||||
"*": {
|
"*": {
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
"@kit/supabase": "workspace:*",
|
"@kit/supabase": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@kit/ui": "workspace:*",
|
"@kit/ui": "workspace:*",
|
||||||
"zod": "^3.25.31"
|
"zod": "^3.25.53"
|
||||||
},
|
},
|
||||||
"typesVersions": {
|
"typesVersions": {
|
||||||
"*": {
|
"*": {
|
||||||
|
|||||||
@@ -26,15 +26,15 @@
|
|||||||
"@kit/supabase": "workspace:*",
|
"@kit/supabase": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@kit/ui": "workspace:*",
|
"@kit/ui": "workspace:*",
|
||||||
"@supabase/supabase-js": "2.49.8",
|
"@supabase/supabase-js": "2.49.10",
|
||||||
"@types/react": "19.1.6",
|
"@types/react": "19.1.6",
|
||||||
"date-fns": "^4.1.0",
|
"date-fns": "^4.1.0",
|
||||||
"lucide-react": "^0.511.0",
|
"lucide-react": "^0.513.0",
|
||||||
"next": "15.3.2",
|
"next": "15.3.3",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"react-hook-form": "^7.56.4",
|
"react-hook-form": "^7.57.0",
|
||||||
"react-i18next": "^15.5.2",
|
"react-i18next": "^15.5.2",
|
||||||
"zod": "^3.25.31"
|
"zod": "^3.25.53"
|
||||||
},
|
},
|
||||||
"typesVersions": {
|
"typesVersions": {
|
||||||
"*": {
|
"*": {
|
||||||
|
|||||||
@@ -25,9 +25,9 @@
|
|||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@kit/ui": "workspace:*",
|
"@kit/ui": "workspace:*",
|
||||||
"@types/react": "19.1.6",
|
"@types/react": "19.1.6",
|
||||||
"next": "15.3.2",
|
"next": "15.3.3",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"zod": "^3.25.31"
|
"zod": "^3.25.53"
|
||||||
},
|
},
|
||||||
"typesVersions": {
|
"typesVersions": {
|
||||||
"*": {
|
"*": {
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@stripe/react-stripe-js": "^3.7.0",
|
"@stripe/react-stripe-js": "^3.7.0",
|
||||||
"@stripe/stripe-js": "^7.3.1",
|
"@stripe/stripe-js": "^7.3.1",
|
||||||
"stripe": "^18.1.1"
|
"stripe": "^18.2.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@kit/billing": "workspace:*",
|
"@kit/billing": "workspace:*",
|
||||||
@@ -29,9 +29,9 @@
|
|||||||
"@kit/ui": "workspace:*",
|
"@kit/ui": "workspace:*",
|
||||||
"@types/react": "19.1.6",
|
"@types/react": "19.1.6",
|
||||||
"date-fns": "^4.1.0",
|
"date-fns": "^4.1.0",
|
||||||
"next": "15.3.2",
|
"next": "15.3.3",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"zod": "^3.25.31"
|
"zod": "^3.25.53"
|
||||||
},
|
},
|
||||||
"typesVersions": {
|
"typesVersions": {
|
||||||
"*": {
|
"*": {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import 'server-only';
|
|||||||
|
|
||||||
import { StripeServerEnvSchema } from '../schema/stripe-server-env.schema';
|
import { StripeServerEnvSchema } from '../schema/stripe-server-env.schema';
|
||||||
|
|
||||||
const STRIPE_API_VERSION = '2025-04-30.basil';
|
const STRIPE_API_VERSION = '2025-05-28.basil';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description returns a Stripe instance
|
* @description returns a Stripe instance
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
"@kit/shared": "workspace:*",
|
"@kit/shared": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@kit/wordpress": "workspace:*",
|
"@kit/wordpress": "workspace:*",
|
||||||
"@types/node": "^22.15.23"
|
"@types/node": "^22.15.30"
|
||||||
},
|
},
|
||||||
"typesVersions": {
|
"typesVersions": {
|
||||||
"*": {
|
"*": {
|
||||||
|
|||||||
@@ -26,10 +26,10 @@
|
|||||||
"@kit/prettier-config": "workspace:*",
|
"@kit/prettier-config": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@kit/ui": "workspace:*",
|
"@kit/ui": "workspace:*",
|
||||||
"@types/node": "^22.15.23",
|
"@types/node": "^22.15.30",
|
||||||
"@types/react": "19.1.6",
|
"@types/react": "19.1.6",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"zod": "^3.25.31"
|
"zod": "^3.25.53"
|
||||||
},
|
},
|
||||||
"typesVersions": {
|
"typesVersions": {
|
||||||
"*": {
|
"*": {
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
"@kit/prettier-config": "workspace:*",
|
"@kit/prettier-config": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@kit/ui": "workspace:*",
|
"@kit/ui": "workspace:*",
|
||||||
"@types/node": "^22.15.23",
|
"@types/node": "^22.15.30",
|
||||||
"@types/react": "19.1.6",
|
"@types/react": "19.1.6",
|
||||||
"wp-types": "^4.68.0"
|
"wp-types": "^4.68.0"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -22,8 +22,8 @@
|
|||||||
"@kit/supabase": "workspace:*",
|
"@kit/supabase": "workspace:*",
|
||||||
"@kit/team-accounts": "workspace:*",
|
"@kit/team-accounts": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@supabase/supabase-js": "2.49.8",
|
"@supabase/supabase-js": "2.49.10",
|
||||||
"zod": "^3.25.31"
|
"zod": "^3.25.53"
|
||||||
},
|
},
|
||||||
"typesVersions": {
|
"typesVersions": {
|
||||||
"*": {
|
"*": {
|
||||||
|
|||||||
@@ -34,19 +34,19 @@
|
|||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@kit/ui": "workspace:*",
|
"@kit/ui": "workspace:*",
|
||||||
"@radix-ui/react-icons": "^1.3.2",
|
"@radix-ui/react-icons": "^1.3.2",
|
||||||
"@supabase/supabase-js": "2.49.8",
|
"@supabase/supabase-js": "2.49.10",
|
||||||
"@tanstack/react-query": "5.77.2",
|
"@tanstack/react-query": "5.80.6",
|
||||||
"@types/react": "19.1.6",
|
"@types/react": "19.1.6",
|
||||||
"@types/react-dom": "19.1.5",
|
"@types/react-dom": "19.1.6",
|
||||||
"lucide-react": "^0.511.0",
|
"lucide-react": "^0.513.0",
|
||||||
"next": "15.3.2",
|
"next": "15.3.3",
|
||||||
"next-themes": "0.4.6",
|
"next-themes": "0.4.6",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"react-dom": "19.1.0",
|
"react-dom": "19.1.0",
|
||||||
"react-hook-form": "^7.56.4",
|
"react-hook-form": "^7.57.0",
|
||||||
"react-i18next": "^15.5.2",
|
"react-i18next": "^15.5.2",
|
||||||
"sonner": "^2.0.3",
|
"sonner": "^2.0.5",
|
||||||
"zod": "^3.25.31"
|
"zod": "^3.25.53"
|
||||||
},
|
},
|
||||||
"prettier": "@kit/prettier-config",
|
"prettier": "@kit/prettier-config",
|
||||||
"typesVersions": {
|
"typesVersions": {
|
||||||
|
|||||||
@@ -20,16 +20,16 @@
|
|||||||
"@kit/ui": "workspace:*",
|
"@kit/ui": "workspace:*",
|
||||||
"@makerkit/data-loader-supabase-core": "^0.0.10",
|
"@makerkit/data-loader-supabase-core": "^0.0.10",
|
||||||
"@makerkit/data-loader-supabase-nextjs": "^1.2.5",
|
"@makerkit/data-loader-supabase-nextjs": "^1.2.5",
|
||||||
"@supabase/supabase-js": "2.49.8",
|
"@supabase/supabase-js": "2.49.10",
|
||||||
"@tanstack/react-query": "5.77.2",
|
"@tanstack/react-query": "5.80.6",
|
||||||
"@tanstack/react-table": "^8.21.3",
|
"@tanstack/react-table": "^8.21.3",
|
||||||
"@types/react": "19.1.6",
|
"@types/react": "19.1.6",
|
||||||
"lucide-react": "^0.511.0",
|
"lucide-react": "^0.513.0",
|
||||||
"next": "15.3.2",
|
"next": "15.3.3",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"react-dom": "19.1.0",
|
"react-dom": "19.1.0",
|
||||||
"react-hook-form": "^7.56.4",
|
"react-hook-form": "^7.57.0",
|
||||||
"zod": "^3.25.31"
|
"zod": "^3.25.53"
|
||||||
},
|
},
|
||||||
"exports": {
|
"exports": {
|
||||||
".": "./src/index.ts",
|
".": "./src/index.ts",
|
||||||
|
|||||||
@@ -28,15 +28,15 @@
|
|||||||
"@kit/ui": "workspace:*",
|
"@kit/ui": "workspace:*",
|
||||||
"@marsidev/react-turnstile": "^1.1.0",
|
"@marsidev/react-turnstile": "^1.1.0",
|
||||||
"@radix-ui/react-icons": "^1.3.2",
|
"@radix-ui/react-icons": "^1.3.2",
|
||||||
"@supabase/supabase-js": "2.49.8",
|
"@supabase/supabase-js": "2.49.10",
|
||||||
"@tanstack/react-query": "5.77.2",
|
"@tanstack/react-query": "5.80.6",
|
||||||
"@types/react": "19.1.6",
|
"@types/react": "19.1.6",
|
||||||
"lucide-react": "^0.511.0",
|
"lucide-react": "^0.513.0",
|
||||||
"next": "15.3.2",
|
"next": "15.3.3",
|
||||||
"react-hook-form": "^7.56.4",
|
"react-hook-form": "^7.57.0",
|
||||||
"react-i18next": "^15.5.2",
|
"react-i18next": "^15.5.2",
|
||||||
"sonner": "^2.0.3",
|
"sonner": "^2.0.5",
|
||||||
"zod": "^3.25.31"
|
"zod": "^3.25.53"
|
||||||
},
|
},
|
||||||
"prettier": "@kit/prettier-config",
|
"prettier": "@kit/prettier-config",
|
||||||
"typesVersions": {
|
"typesVersions": {
|
||||||
|
|||||||
@@ -19,10 +19,10 @@
|
|||||||
"@kit/supabase": "workspace:*",
|
"@kit/supabase": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@kit/ui": "workspace:*",
|
"@kit/ui": "workspace:*",
|
||||||
"@supabase/supabase-js": "2.49.8",
|
"@supabase/supabase-js": "2.49.10",
|
||||||
"@tanstack/react-query": "5.77.2",
|
"@tanstack/react-query": "5.80.6",
|
||||||
"@types/react": "19.1.6",
|
"@types/react": "19.1.6",
|
||||||
"lucide-react": "^0.511.0",
|
"lucide-react": "^0.513.0",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"react-dom": "19.1.0",
|
"react-dom": "19.1.0",
|
||||||
"react-i18next": "^15.5.2"
|
"react-i18next": "^15.5.2"
|
||||||
|
|||||||
@@ -32,21 +32,21 @@
|
|||||||
"@kit/supabase": "workspace:*",
|
"@kit/supabase": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@kit/ui": "workspace:*",
|
"@kit/ui": "workspace:*",
|
||||||
"@supabase/supabase-js": "2.49.8",
|
"@supabase/supabase-js": "2.49.10",
|
||||||
"@tanstack/react-query": "5.77.2",
|
"@tanstack/react-query": "5.80.6",
|
||||||
"@tanstack/react-table": "^8.21.3",
|
"@tanstack/react-table": "^8.21.3",
|
||||||
"@types/react": "19.1.6",
|
"@types/react": "19.1.6",
|
||||||
"@types/react-dom": "19.1.5",
|
"@types/react-dom": "19.1.6",
|
||||||
"class-variance-authority": "^0.7.1",
|
"class-variance-authority": "^0.7.1",
|
||||||
"date-fns": "^4.1.0",
|
"date-fns": "^4.1.0",
|
||||||
"lucide-react": "^0.511.0",
|
"lucide-react": "^0.513.0",
|
||||||
"next": "15.3.2",
|
"next": "15.3.3",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"react-dom": "19.1.0",
|
"react-dom": "19.1.0",
|
||||||
"react-hook-form": "^7.56.4",
|
"react-hook-form": "^7.57.0",
|
||||||
"react-i18next": "^15.5.2",
|
"react-i18next": "^15.5.2",
|
||||||
"sonner": "^2.0.3",
|
"sonner": "^2.0.5",
|
||||||
"zod": "^3.25.31"
|
"zod": "^3.25.53"
|
||||||
},
|
},
|
||||||
"prettier": "@kit/prettier-config",
|
"prettier": "@kit/prettier-config",
|
||||||
"typesVersions": {
|
"typesVersions": {
|
||||||
|
|||||||
@@ -20,8 +20,8 @@
|
|||||||
"@kit/prettier-config": "workspace:*",
|
"@kit/prettier-config": "workspace:*",
|
||||||
"@kit/shared": "workspace:*",
|
"@kit/shared": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@tanstack/react-query": "5.77.2",
|
"@tanstack/react-query": "5.80.6",
|
||||||
"next": "15.3.2",
|
"next": "15.3.3",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"react-dom": "19.1.0",
|
"react-dom": "19.1.0",
|
||||||
"react-i18next": "^15.5.2"
|
"react-i18next": "^15.5.2"
|
||||||
|
|||||||
@@ -20,8 +20,8 @@
|
|||||||
"@kit/resend": "workspace:*",
|
"@kit/resend": "workspace:*",
|
||||||
"@kit/shared": "workspace:*",
|
"@kit/shared": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@types/node": "^22.15.23",
|
"@types/node": "^22.15.30",
|
||||||
"zod": "^3.25.31"
|
"zod": "^3.25.53"
|
||||||
},
|
},
|
||||||
"typesVersions": {
|
"typesVersions": {
|
||||||
"*": {
|
"*": {
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
"@kit/prettier-config": "workspace:*",
|
"@kit/prettier-config": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@types/nodemailer": "6.4.17",
|
"@types/nodemailer": "6.4.17",
|
||||||
"zod": "^3.25.31"
|
"zod": "^3.25.53"
|
||||||
},
|
},
|
||||||
"typesVersions": {
|
"typesVersions": {
|
||||||
"*": {
|
"*": {
|
||||||
|
|||||||
@@ -17,8 +17,8 @@
|
|||||||
"@kit/mailers-shared": "workspace:*",
|
"@kit/mailers-shared": "workspace:*",
|
||||||
"@kit/prettier-config": "workspace:*",
|
"@kit/prettier-config": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@types/node": "^22.15.23",
|
"@types/node": "^22.15.30",
|
||||||
"zod": "^3.25.31"
|
"zod": "^3.25.53"
|
||||||
},
|
},
|
||||||
"typesVersions": {
|
"typesVersions": {
|
||||||
"*": {
|
"*": {
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
"@kit/eslint-config": "workspace:*",
|
"@kit/eslint-config": "workspace:*",
|
||||||
"@kit/prettier-config": "workspace:*",
|
"@kit/prettier-config": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"zod": "^3.25.31"
|
"zod": "^3.25.53"
|
||||||
},
|
},
|
||||||
"typesVersions": {
|
"typesVersions": {
|
||||||
"*": {
|
"*": {
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@types/react": "19.1.6",
|
"@types/react": "19.1.6",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"zod": "^3.25.31"
|
"zod": "^3.25.53"
|
||||||
},
|
},
|
||||||
"typesVersions": {
|
"typesVersions": {
|
||||||
"*": {
|
"*": {
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@types/react": "19.1.6",
|
"@types/react": "19.1.6",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"zod": "^3.25.31"
|
"zod": "^3.25.53"
|
||||||
},
|
},
|
||||||
"typesVersions": {
|
"typesVersions": {
|
||||||
"*": {
|
"*": {
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
"./config/server": "./src/sentry.client.server.ts"
|
"./config/server": "./src/sentry.client.server.ts"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@sentry/nextjs": "^9.22.0",
|
"@sentry/nextjs": "^9.27.0",
|
||||||
"import-in-the-middle": "1.14.0"
|
"import-in-the-middle": "1.14.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
@@ -20,9 +20,9 @@
|
|||||||
"@kit/prettier-config": "workspace:*",
|
"@kit/prettier-config": "workspace:*",
|
||||||
"@kit/supabase": "workspace:*",
|
"@kit/supabase": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@supabase/supabase-js": "2.49.8",
|
"@supabase/supabase-js": "2.49.10",
|
||||||
"next": "15.3.2",
|
"next": "15.3.3",
|
||||||
"zod": "^3.25.31"
|
"zod": "^3.25.53"
|
||||||
},
|
},
|
||||||
"typesVersions": {
|
"typesVersions": {
|
||||||
"*": {
|
"*": {
|
||||||
|
|||||||
@@ -25,13 +25,13 @@
|
|||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@kit/ui": "workspace:*",
|
"@kit/ui": "workspace:*",
|
||||||
"@radix-ui/react-icons": "^1.3.2",
|
"@radix-ui/react-icons": "^1.3.2",
|
||||||
"@supabase/supabase-js": "2.49.8",
|
"@supabase/supabase-js": "2.49.10",
|
||||||
"@types/react": "19.1.6",
|
"@types/react": "19.1.6",
|
||||||
"@types/react-dom": "19.1.5",
|
"@types/react-dom": "19.1.6",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"react-dom": "19.1.0",
|
"react-dom": "19.1.0",
|
||||||
"react-hook-form": "^7.56.4",
|
"react-hook-form": "^7.57.0",
|
||||||
"zod": "^3.25.31"
|
"zod": "^3.25.53"
|
||||||
},
|
},
|
||||||
"typesVersions": {
|
"typesVersions": {
|
||||||
"*": {
|
"*": {
|
||||||
|
|||||||
@@ -25,13 +25,13 @@
|
|||||||
"@kit/prettier-config": "workspace:*",
|
"@kit/prettier-config": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@supabase/ssr": "^0.6.1",
|
"@supabase/ssr": "^0.6.1",
|
||||||
"@supabase/supabase-js": "2.49.8",
|
"@supabase/supabase-js": "2.49.10",
|
||||||
"@tanstack/react-query": "5.77.2",
|
"@tanstack/react-query": "5.80.6",
|
||||||
"@types/react": "19.1.6",
|
"@types/react": "19.1.6",
|
||||||
"next": "15.3.2",
|
"next": "15.3.3",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"server-only": "^0.0.1",
|
"server-only": "^0.0.1",
|
||||||
"zod": "^3.25.31"
|
"zod": "^3.25.53"
|
||||||
},
|
},
|
||||||
"typesVersions": {
|
"typesVersions": {
|
||||||
"*": {
|
"*": {
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"cmdk": "1.1.1",
|
"cmdk": "1.1.1",
|
||||||
"input-otp": "1.4.2",
|
"input-otp": "1.4.2",
|
||||||
"lucide-react": "^0.511.0",
|
"lucide-react": "^0.513.0",
|
||||||
"react-top-loading-bar": "3.0.2",
|
"react-top-loading-bar": "3.0.2",
|
||||||
"recharts": "2.15.3",
|
"recharts": "2.15.3",
|
||||||
"tailwind-merge": "^3.3.0"
|
"tailwind-merge": "^3.3.0"
|
||||||
@@ -43,24 +43,24 @@
|
|||||||
"@kit/prettier-config": "workspace:*",
|
"@kit/prettier-config": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@radix-ui/react-icons": "^1.3.2",
|
"@radix-ui/react-icons": "^1.3.2",
|
||||||
"@tanstack/react-query": "5.77.2",
|
"@tanstack/react-query": "5.80.6",
|
||||||
"@tanstack/react-table": "^8.21.3",
|
"@tanstack/react-table": "^8.21.3",
|
||||||
"@types/react": "19.1.6",
|
"@types/react": "19.1.6",
|
||||||
"@types/react-dom": "19.1.5",
|
"@types/react-dom": "19.1.6",
|
||||||
"class-variance-authority": "^0.7.1",
|
"class-variance-authority": "^0.7.1",
|
||||||
"date-fns": "^4.1.0",
|
"date-fns": "^4.1.0",
|
||||||
"eslint": "^9.27.0",
|
"eslint": "^9.28.0",
|
||||||
"next": "15.3.2",
|
"next": "15.3.3",
|
||||||
"next-themes": "0.4.6",
|
"next-themes": "0.4.6",
|
||||||
"prettier": "^3.5.3",
|
"prettier": "^3.5.3",
|
||||||
"react-day-picker": "^8.10.1",
|
"react-day-picker": "^8.10.1",
|
||||||
"react-hook-form": "^7.56.4",
|
"react-hook-form": "^7.57.0",
|
||||||
"react-i18next": "^15.5.2",
|
"react-i18next": "^15.5.2",
|
||||||
"sonner": "^2.0.3",
|
"sonner": "^2.0.5",
|
||||||
"tailwindcss": "4.1.7",
|
"tailwindcss": "4.1.8",
|
||||||
"tailwindcss-animate": "^1.0.7",
|
"tailwindcss-animate": "^1.0.7",
|
||||||
"typescript": "^5.8.3",
|
"typescript": "^5.8.3",
|
||||||
"zod": "^3.25.31"
|
"zod": "^3.25.53"
|
||||||
},
|
},
|
||||||
"prettier": "@kit/prettier-config",
|
"prettier": "@kit/prettier-config",
|
||||||
"exports": {
|
"exports": {
|
||||||
|
|||||||
2812
pnpm-lock.yaml
generated
2812
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -13,16 +13,16 @@
|
|||||||
"format": "prettier --check \"**/*.{js,json}\""
|
"format": "prettier --check \"**/*.{js,json}\""
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@next/eslint-plugin-next": "15.3.2",
|
"@next/eslint-plugin-next": "15.3.3",
|
||||||
"@types/eslint": "9.6.1",
|
"@types/eslint": "9.6.1",
|
||||||
"eslint-config-next": "15.3.2",
|
"eslint-config-next": "15.3.3",
|
||||||
"eslint-config-turbo": "^2.5.3",
|
"eslint-config-turbo": "^2.5.4",
|
||||||
"typescript-eslint": "8.33.0"
|
"typescript-eslint": "8.33.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@kit/prettier-config": "workspace:*",
|
"@kit/prettier-config": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"eslint": "^9.27.0",
|
"eslint": "^9.28.0",
|
||||||
"typescript": "^5.8.3"
|
"typescript": "^5.8.3"
|
||||||
},
|
},
|
||||||
"prettier": "@kit/prettier-config"
|
"prettier": "@kit/prettier-config"
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@trivago/prettier-plugin-sort-imports": "5.2.2",
|
"@trivago/prettier-plugin-sort-imports": "5.2.2",
|
||||||
"prettier": "^3.5.3",
|
"prettier": "^3.5.3",
|
||||||
"prettier-plugin-tailwindcss": "^0.6.11"
|
"prettier-plugin-tailwindcss": "^0.6.12"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
|
|||||||
Reference in New Issue
Block a user