diff --git a/.eslintrc.json b/.eslintrc.json
deleted file mode 100644
index b351aa9..0000000
--- a/.eslintrc.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "extends": ["next/core-web-vitals", "plugin:jsx-a11y/recommended", "prettier"]
-}
diff --git a/app/lib/helpers.ts b/app/lib/helpers.ts
index a601cc2..163110b 100644
--- a/app/lib/helpers.ts
+++ b/app/lib/helpers.ts
@@ -189,7 +189,7 @@ export const copyToClipboard = async (
try {
await navigator.clipboard.writeText(content)
toast.success(successTitle)
- } catch (err) {
+ } catch {
toast.error(errorTitle)
}
}
diff --git a/app/manifest.ts b/app/manifest.ts
index 8b20e45..74aa9ac 100644
--- a/app/manifest.ts
+++ b/app/manifest.ts
@@ -56,7 +56,6 @@ export default function manifest(): MetadataRoute.Manifest {
src: '/images/screenshots/home.png',
sizes: SCREENSHOT_SIZE_DESKTOP,
type: SCREENSHOT_TYPE,
- // @ts-ignore
form_factor: SCREENSHOT_FORM_FACTOR_DESKTOP,
label: NAV_TITLE.HOME,
},
@@ -64,7 +63,6 @@ export default function manifest(): MetadataRoute.Manifest {
src: '/images/screenshots/monthly-report.png',
sizes: SCREENSHOT_SIZE_DESKTOP,
type: SCREENSHOT_TYPE,
- // @ts-ignore
form_factor: SCREENSHOT_FORM_FACTOR_DESKTOP,
label: NAV_TITLE.MONTHLY_REPORT,
},
@@ -72,7 +70,6 @@ export default function manifest(): MetadataRoute.Manifest {
src: '/images/screenshots/chart.png',
sizes: SCREENSHOT_SIZE_DESKTOP,
type: SCREENSHOT_TYPE,
- // @ts-ignore
form_factor: SCREENSHOT_FORM_FACTOR_DESKTOP,
label: NAV_TITLE.CHART,
},
@@ -80,7 +77,6 @@ export default function manifest(): MetadataRoute.Manifest {
src: '/images/screenshots/home-mobile.png',
sizes: SCREENSHOT_SIZE_MOBILE,
type: SCREENSHOT_TYPE,
- // @ts-ignore
form_factor: SCREENSHOT_FORM_FACTOR_MOBILE,
label: `${NAV_TITLE.HOME} ${SCREENSHOT_MOBILE_SUFFIX}`,
},
@@ -88,7 +84,6 @@ export default function manifest(): MetadataRoute.Manifest {
src: '/images/screenshots/monthly-report-mobile.png',
sizes: SCREENSHOT_SIZE_MOBILE,
type: SCREENSHOT_TYPE,
- // @ts-ignore
form_factor: SCREENSHOT_FORM_FACTOR_MOBILE,
label: `${NAV_TITLE.MONTHLY_REPORT} ${SCREENSHOT_MOBILE_SUFFIX}`,
},
@@ -96,7 +91,6 @@ export default function manifest(): MetadataRoute.Manifest {
src: '/images/screenshots/categories-mobile.png',
sizes: SCREENSHOT_SIZE_MOBILE,
type: SCREENSHOT_TYPE,
- // @ts-ignore
form_factor: SCREENSHOT_FORM_FACTOR_MOBILE,
label: `${NAV_TITLE.CATEGORIES} ${SCREENSHOT_MOBILE_SUFFIX}`,
},
diff --git a/app/ui/balance-card.tsx b/app/ui/balance-card.tsx
index 61bd374..34a23f3 100644
--- a/app/ui/balance-card.tsx
+++ b/app/ui/balance-card.tsx
@@ -99,7 +99,7 @@ function BalanceCard({ balance, currency, user }: TProps) {
<>
{!isLoading && isTotalLoaded ? (
Income:
{' '}
- {getFormattedCurrency(total.income)} {currency?.code}
+
+ {getFormattedCurrency(total.income)} {currency?.code}
+
Expense:{' '}
- {getFormattedCurrency(total.expense)} {currency?.code}
+
+ {getFormattedCurrency(total.expense)} {currency?.code}
+
) : (
diff --git a/app/ui/chart/custom-tooltip.tsx b/app/ui/chart/custom-tooltip.tsx
index cc30de8..7c97131 100644
--- a/app/ui/chart/custom-tooltip.tsx
+++ b/app/ui/chart/custom-tooltip.tsx
@@ -42,7 +42,7 @@ function CustomTooltip({ active, payload, label, currency }: TProps) {
{capitalizeFirstLetter(item.dataKey)}:{' '}
-
+
{getFormattedCurrency(item.value)} {currency?.code}
diff --git a/app/ui/monthly-report/month-picker.tsx b/app/ui/monthly-report/month-picker.tsx
index 8117669..7cda172 100644
--- a/app/ui/monthly-report/month-picker.tsx
+++ b/app/ui/monthly-report/month-picker.tsx
@@ -25,14 +25,18 @@ function MonthPicker({
)
const daysInMonth = getDaysInMonth(new Date())
- const maxTransactionDayOfMonth = toCalendarDate(
- maxTransaction?.createdAt!,
- ).day
+ const maxTransactionDayOfMonth = maxTransaction?.createdAt
+ ? toCalendarDate(maxTransaction.createdAt).day
+ : 1
- const minTransactionValue = toCalendarDate(minTransaction?.createdAt!)
- const maxTransactionValue = toCalendarDate(maxTransaction?.createdAt!).add({
- days: daysInMonth - maxTransactionDayOfMonth,
- })
+ const minTransactionValue = minTransaction
+ ? toCalendarDate(minTransaction.createdAt)
+ : null
+ const maxTransactionValue = maxTransaction
+ ? toCalendarDate(maxTransaction.createdAt).add({
+ days: daysInMonth - maxTransactionDayOfMonth,
+ })
+ : null
// Docs https://github.com/streamich/react-use/blob/master/docs/useDebounce.md
const [isReady, cancel] = useDebounce(
diff --git a/app/ui/monthly-report/monthly-report.tsx b/app/ui/monthly-report/monthly-report.tsx
index 619217c..333f02a 100644
--- a/app/ui/monthly-report/monthly-report.tsx
+++ b/app/ui/monthly-report/monthly-report.tsx
@@ -46,29 +46,38 @@ type TProps = {
function MonthlyReport({ transactions, currency }: TProps) {
const [tipsDataAI, setTipsDataAI] = useState(null)
const [isLoadingTips, setIsLoadingTips] = useState(false)
+
const { canAttempt, registerAttempt } = useAttemptTracker('expense-ai-tips')
const { minTransaction, maxTransaction } = useMemo(
() => getMinMaxTransactionsByDate(transactions),
[transactions],
)
- const minTransactionCalendarDate = toCalendarDate(minTransaction?.createdAt!)
+
+ const minTransactionCalendarDate = minTransaction
+ ? toCalendarDate(minTransaction.createdAt)
+ : null
const startOfMonthCalendarDate = toCalendarDate(startOfMonth(startOfToday()))
const endOfMonthCalendarDate = toCalendarDate(endOfMonth(endOfToday()))
+
const isMinTransactionAfterStartOfMonth =
+ minTransactionCalendarDate &&
minTransactionCalendarDate.day > 1 &&
minTransactionCalendarDate.month === startOfMonthCalendarDate.month
+
const [selectedDate, setSelectedDate] = useState>({
start: isMinTransactionAfterStartOfMonth
? minTransactionCalendarDate
: startOfMonthCalendarDate,
end: endOfMonthCalendarDate,
})
- const startDate = selectedDate?.start.toDate(getLocalTimeZone())
- const endDate = selectedDate?.end.toDate(getLocalTimeZone())
- const formattedDateRange = useMemo(
- () => `${format(startDate, 'MMMM d')} — ${format(endDate, 'MMMM d')}`,
- [startDate, endDate],
- )
+
+ const startDate = selectedDate.start?.toDate(getLocalTimeZone()) || null
+ const endDate = selectedDate.end?.toDate(getLocalTimeZone()) || null
+
+ const formattedDateRange = useMemo(() => {
+ if (!startDate || !endDate) return ''
+ return `${format(startDate, 'MMMM d')} — ${format(endDate, 'MMMM d')}`
+ }, [startDate, endDate])
const onDateSelection = useCallback((dateRange: RangeValue) => {
setSelectedDate(dateRange)
diff --git a/app/ui/settings/currency.tsx b/app/ui/settings/currency.tsx
index c024b94..7e52c55 100644
--- a/app/ui/settings/currency.tsx
+++ b/app/ui/settings/currency.tsx
@@ -37,7 +37,6 @@ const currencies: {
// ImgComponent={Image}
ImgComponent={'img'}
imgProps={{
- // @ts-ignore
// quality: 100,
width: DEFAULT_ICON_SIZE,
height: DEFAULT_ICON_SIZE,
diff --git a/app/ui/sidebar/user-profile-info.tsx b/app/ui/sidebar/user-profile-info.tsx
index 8dae7a5..cf77f44 100644
--- a/app/ui/sidebar/user-profile-info.tsx
+++ b/app/ui/sidebar/user-profile-info.tsx
@@ -17,7 +17,6 @@ function UserProfileInfo({ user }: TProps) {
// ImgComponent: Image,
ImgComponent: 'img',
imgProps: {
- // @ts-ignore
// priority: true,
// quality: 100,
width: 40,
diff --git a/app/ui/transaction-form-edit.tsx b/app/ui/transaction-form-edit.tsx
index d6e45ff..90bbd4e 100644
--- a/app/ui/transaction-form-edit.tsx
+++ b/app/ui/transaction-form-edit.tsx
@@ -59,7 +59,7 @@ function TransactionFormEdit({ transaction }: TProps) {
: [getCategoryWithoutEmoji(transaction.category)],
),
)
- // @ts-ignore
+ // @ts-expect-error - Property 'size' does not exist on type 'Selection', but it does.
const isCategorySelect = Boolean(category.size)
const categoryName = Array.from(category)[0]?.toString()
const userCategories = transaction.categories || DEFAULT_CATEGORIES
@@ -80,9 +80,8 @@ function TransactionFormEdit({ transaction }: TProps) {
newData: Partial,
oldData: TTransaction,
) => {
- const { amount, ...restOldData } = oldData
const modifiedOldData: TTransaction = {
- ...restOldData,
+ ...oldData,
amount: getFormattedCurrency(oldData.amount),
}
return Object.keys(newData).some((key) => {
diff --git a/eslint.config.mjs b/eslint.config.mjs
new file mode 100644
index 0000000..31ce247
--- /dev/null
+++ b/eslint.config.mjs
@@ -0,0 +1,83 @@
+import { FlatCompat } from '@eslint/eslintrc'
+import js from '@eslint/js'
+import typescriptEslintEslintPlugin from '@typescript-eslint/eslint-plugin'
+import tsParser from '@typescript-eslint/parser'
+import jsxA11y from 'eslint-plugin-jsx-a11y'
+import prettier from 'eslint-plugin-prettier'
+import path from 'node:path'
+import { fileURLToPath } from 'node:url'
+
+const __filename = fileURLToPath(import.meta.url)
+const __dirname = path.dirname(__filename)
+const compat = new FlatCompat({
+ baseDirectory: __dirname,
+ recommendedConfig: js.configs.recommended,
+ allConfig: js.configs.all,
+})
+
+export default [
+ ...compat.extends('next', 'next/core-web-vitals', 'prettier'),
+ {
+ plugins: {
+ prettier,
+ jsxA11y,
+ },
+
+ rules: {
+ 'prettier/prettier': 'error',
+ camelcase: 'off',
+ 'import/prefer-default-export': 'off',
+ 'react/jsx-filename-extension': 'off',
+ 'react/jsx-props-no-spreading': 'off',
+ 'react/no-unused-prop-types': 'off',
+ 'react/require-default-props': 'off',
+
+ 'import/extensions': [
+ 'error',
+ 'ignorePackages',
+ {
+ ts: 'never',
+ tsx: 'never',
+ js: 'never',
+ jsx: 'never',
+ },
+ ],
+
+ 'jsx-a11y/anchor-is-valid': [
+ 'error',
+ {
+ components: ['Link'],
+ specialLink: ['hrefLeft', 'hrefRight'],
+ aspects: ['invalidHref', 'preferButton'],
+ },
+ ],
+ },
+ },
+ ...compat
+ .extends('plugin:@typescript-eslint/recommended', 'prettier')
+ .map((config) => ({
+ ...config,
+ files: ['**/*.+(ts|tsx)'],
+ })),
+ {
+ files: ['**/*.+(ts|tsx)'],
+
+ plugins: {
+ '@typescript-eslint': typescriptEslintEslintPlugin,
+ },
+
+ languageOptions: {
+ parser: tsParser,
+ },
+
+ rules: {
+ '@typescript-eslint/explicit-function-return-type': 'off',
+ '@typescript-eslint/explicit-module-boundary-types': 'off',
+ 'no-use-before-define': [0],
+ '@typescript-eslint/no-use-before-define': [1],
+ '@typescript-eslint/no-explicit-any': 'off',
+ '@typescript-eslint/no-var-requires': 'off',
+ '@typescript-eslint/no-unused-vars': 'warn',
+ },
+ },
+]
diff --git a/package.json b/package.json
index eed6643..d0adc79 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,7 @@
"start": "next start",
"lint": "next lint",
"lint:fix": "next lint",
- "lint:all": "pnpm prettier && pnpm lint && pnpm typecheck && pnpm test && echo \"\\x1b[32m✔ All linters passed successfully!\\x1b[0m\"",
+ "lint:all": "pnpm prettier && pnpm lint && pnpm typecheck && pnpm test",
"typecheck": "tsc",
"test": "vitest run",
"test:dev": "vitest",
@@ -60,6 +60,8 @@
"devDependencies": {
"@commitlint/cli": "^19.6.1",
"@commitlint/config-conventional": "^19.6.0",
+ "@eslint/eslintrc": "^3.2.0",
+ "@eslint/js": "^9.17.0",
"@svgr/webpack": "^8.1.0",
"@testing-library/dom": "^10.4.0",
"@testing-library/react": "^16.1.0",
@@ -67,12 +69,15 @@
"@types/node": "^22.10.2",
"@types/react": "19.0.2",
"@types/react-dom": "19.0.2",
+ "@typescript-eslint/eslint-plugin": "^8.18.1",
+ "@typescript-eslint/parser": "^8.18.1",
"@vitejs/plugin-react": "^4.3.4",
"@vitest/coverage-v8": "^2.1.8",
- "eslint": "^8.57.1",
+ "eslint": "^9.17.0",
"eslint-config-next": "15.1.2",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-jsx-a11y": "^6.10.2",
+ "eslint-plugin-prettier": "^5.2.1",
"husky": "^9.1.7",
"jsdom": "^25.0.1",
"knip": "^5.41.1",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 24d6a8c..17cc004 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -17,7 +17,7 @@ importers:
version: 0.37.4
'@ducanh2912/next-pwa':
specifier: ^10.2.9
- version: 10.2.9(@types/babel__core@7.20.5)(next@15.1.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(webpack@5.97.1)
+ version: 10.2.9(@types/babel__core@7.20.5)(next@15.1.2(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(webpack@5.97.1)
'@google/generative-ai':
specifier: ^0.21.0
version: 0.21.0
@@ -26,19 +26,19 @@ importers:
version: 3.6.0
'@next/third-parties':
specifier: 15.1.2
- version: 15.1.2(next@15.1.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)
+ version: 15.1.2(next@15.1.2(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)
'@nextui-org/react':
specifier: ^2.6.8
version: 2.6.8(@types/react@19.0.1)(framer-motion@11.15.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@3.4.17)
'@sentry/nextjs':
specifier: ^8.47.0
- version: 8.47.0(@opentelemetry/core@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.0(@opentelemetry/api@1.9.0))(next@15.1.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1)
+ version: 8.47.0(@opentelemetry/core@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.0(@opentelemetry/api@1.9.0))(next@15.1.2(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1)
'@vercel/analytics':
specifier: ^1.4.1
- version: 1.4.1(next@15.1.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)
+ version: 1.4.1(next@15.1.2(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)
'@vercel/speed-insights':
specifier: ^1.1.0
- version: 1.1.0(next@15.1.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)
+ version: 1.1.0(next@15.1.2(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)
clsx:
specifier: ^2.1.1
version: 2.1.1
@@ -71,16 +71,16 @@ importers:
version: 1.2.1
next:
specifier: 15.1.2
- version: 15.1.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ version: 15.1.2(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
next-auth:
specifier: 5.0.0-beta.25
- version: 5.0.0-beta.25(next@15.1.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)
+ version: 5.0.0-beta.25(next@15.1.2(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)
next-themes:
specifier: ^0.4.4
version: 0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
next13-progressbar:
specifier: ^1.2.2
- version: 1.2.2(next@15.1.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)
+ version: 1.2.2(next@15.1.2(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)
react:
specifier: 19.0.0
version: 19.0.0
@@ -118,6 +118,12 @@ importers:
'@commitlint/config-conventional':
specifier: ^19.6.0
version: 19.6.0
+ '@eslint/eslintrc':
+ specifier: ^3.2.0
+ version: 3.2.0
+ '@eslint/js':
+ specifier: ^9.17.0
+ version: 9.17.0
'@svgr/webpack':
specifier: ^8.1.0
version: 8.1.0(typescript@5.7.2)
@@ -139,6 +145,12 @@ importers:
'@types/react-dom':
specifier: 19.0.2
version: 19.0.2(@types/react@19.0.1)
+ '@typescript-eslint/eslint-plugin':
+ specifier: ^8.18.1
+ version: 8.18.1(@typescript-eslint/parser@8.18.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)
+ '@typescript-eslint/parser':
+ specifier: ^8.18.1
+ version: 8.18.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)
'@vitejs/plugin-react':
specifier: ^4.3.4
version: 4.3.4(vite@5.4.9(@types/node@22.10.2)(terser@5.34.1))
@@ -146,17 +158,20 @@ importers:
specifier: ^2.1.8
version: 2.1.8(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(terser@5.34.1))
eslint:
- specifier: ^8.57.1
- version: 8.57.1
+ specifier: ^9.17.0
+ version: 9.17.0(jiti@2.4.2)
eslint-config-next:
specifier: 15.1.2
- version: 15.1.2(eslint@8.57.1)(typescript@5.7.2)
+ version: 15.1.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)
eslint-config-prettier:
specifier: ^9.1.0
- version: 9.1.0(eslint@8.57.1)
+ version: 9.1.0(eslint@9.17.0(jiti@2.4.2))
eslint-plugin-jsx-a11y:
specifier: ^6.10.2
- version: 6.10.2(eslint@8.57.1)
+ version: 6.10.2(eslint@9.17.0(jiti@2.4.2))
+ eslint-plugin-prettier:
+ specifier: ^5.2.1
+ version: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@9.17.0(jiti@2.4.2)))(eslint@9.17.0(jiti@2.4.2))(prettier@3.4.2)
husky:
specifier: ^9.1.7
version: 9.1.7
@@ -1189,33 +1204,39 @@ packages:
cpu: [x64]
os: [win32]
- '@eslint-community/eslint-utils@4.4.0':
- resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
-
'@eslint-community/eslint-utils@4.4.1':
resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
- '@eslint-community/regexpp@4.11.0':
- resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==}
- engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
-
'@eslint-community/regexpp@4.12.1':
resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- '@eslint/eslintrc@2.1.4':
- resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@eslint/config-array@0.19.1':
+ resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/js@8.57.1':
- resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@eslint/core@0.9.1':
+ resolution: {integrity: sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/eslintrc@3.2.0':
+ resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/js@9.17.0':
+ resolution: {integrity: sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/object-schema@2.1.5':
+ resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/plugin-kit@0.2.4':
+ resolution: {integrity: sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@formatjs/ecma402-abstract@2.0.0':
resolution: {integrity: sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g==}
@@ -1236,18 +1257,25 @@ packages:
resolution: {integrity: sha512-7XhUbtnlkSEZK15kN3t+tzIMxsbKm/dSkKBFalj+20NvPKe1kBY7mR2P7vuijEn+f06z5+A8bVGKO0v39cr6Wg==}
engines: {node: '>=18.0.0'}
- '@humanwhocodes/config-array@0.13.0':
- resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==}
- engines: {node: '>=10.10.0'}
- deprecated: Use @eslint/config-array instead
+ '@humanfs/core@0.19.1':
+ resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
+ engines: {node: '>=18.18.0'}
+
+ '@humanfs/node@0.16.6':
+ resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
+ engines: {node: '>=18.18.0'}
'@humanwhocodes/module-importer@1.0.1':
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
engines: {node: '>=12.22'}
- '@humanwhocodes/object-schema@2.0.3':
- resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
- deprecated: Use @eslint/object-schema instead
+ '@humanwhocodes/retry@0.3.1':
+ resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
+ engines: {node: '>=18.18'}
+
+ '@humanwhocodes/retry@0.4.1':
+ resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==}
+ engines: {node: '>=18.18'}
'@img/sharp-darwin-arm64@0.33.5':
resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==}
@@ -2228,6 +2256,10 @@ packages:
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
+ '@pkgr/core@0.1.1':
+ resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==}
+ engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+
'@prisma/instrumentation@5.22.0':
resolution: {integrity: sha512-LxccF392NN37ISGxIurUljZSh1YWnphO34V5a0+T7FVQG2u9bhAXRTJpgmQ3483woVhkraQZFF7cbRrpbw/F4Q==}
@@ -3221,9 +3253,6 @@ packages:
resolution: {integrity: sha512-Vj0WLm5/ZsD013YeUKn+K0y8p1M0jPpxOkKdbD1wB0ns53a5piVY02zjf072TblEweAbcYiFiPoSMF3kp+VhhQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@ungap/structured-clone@1.2.0':
- resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
-
'@vercel/analytics@1.4.1':
resolution: {integrity: sha512-ekpL4ReX2TH3LnrRZTUKjHHNpNy9S1I7QmS+g/RQXoSUQ8ienzosuX7T9djZ/s8zPhBx1mpHP/Rw5875N+zQIQ==}
peerDependencies:
@@ -3392,11 +3421,6 @@ packages:
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
- acorn@8.12.1:
- resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==}
- engines: {node: '>=0.4.0'}
- hasBin: true
-
acorn@8.14.0:
resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
engines: {node: '>=0.4.0'}
@@ -4083,10 +4107,6 @@ packages:
resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
engines: {node: '>=0.10.0'}
- doctrine@3.0.0:
- resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
- engines: {node: '>=6.0.0'}
-
dom-accessibility-api@0.5.16:
resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==}
@@ -4311,6 +4331,20 @@ packages:
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9
+ eslint-plugin-prettier@5.2.1:
+ resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ '@types/eslint': '>=8.0.0'
+ eslint: '>=8.0.0'
+ eslint-config-prettier: '*'
+ prettier: '>=3.0.0'
+ peerDependenciesMeta:
+ '@types/eslint':
+ optional: true
+ eslint-config-prettier:
+ optional: true
+
eslint-plugin-react-hooks@5.1.0:
resolution: {integrity: sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==}
engines: {node: '>=10'}
@@ -4327,9 +4361,9 @@ packages:
resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
engines: {node: '>=8.0.0'}
- eslint-scope@7.2.2:
- resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ eslint-scope@8.2.0:
+ resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
eslint-visitor-keys@3.4.3:
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
@@ -4339,15 +4373,19 @@ packages:
resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- eslint@8.57.1:
- resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
+ eslint@9.17.0:
+ resolution: {integrity: sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
+ peerDependencies:
+ jiti: '*'
+ peerDependenciesMeta:
+ jiti:
+ optional: true
- espree@9.6.1:
- resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ espree@10.3.0:
+ resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
esquery@1.6.0:
resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
@@ -4402,6 +4440,9 @@ packages:
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+ fast-diff@1.3.0:
+ resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
+
fast-equals@5.0.1:
resolution: {integrity: sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==}
engines: {node: '>=6.0.0'}
@@ -4440,9 +4481,9 @@ packages:
picomatch:
optional: true
- file-entry-cache@6.0.1:
- resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
- engines: {node: ^10.12.0 || >=12.0.0}
+ file-entry-cache@8.0.0:
+ resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
+ engines: {node: '>=16.0.0'}
filelist@1.0.4:
resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
@@ -4462,16 +4503,16 @@ packages:
flairup@1.0.0:
resolution: {integrity: sha512-IKlE+pNvL2R+kVL1kEhUYqRxVqeFnjiIvHWDMLFXNaqyUdFXQM2wte44EfMYJNHkW16X991t2Zg8apKkhv7OBA==}
- flat-cache@3.2.0:
- resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
- engines: {node: ^10.12.0 || >=12.0.0}
+ flat-cache@4.0.1:
+ resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
+ engines: {node: '>=16'}
flat@5.0.2:
resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==}
hasBin: true
- flatted@3.3.1:
- resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
+ flatted@3.3.2:
+ resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==}
for-each@0.3.3:
resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
@@ -4613,9 +4654,9 @@ packages:
resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
engines: {node: '>=4'}
- globals@13.24.0:
- resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
- engines: {node: '>=8'}
+ globals@14.0.0:
+ resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
+ engines: {node: '>=18'}
globalthis@1.0.4:
resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
@@ -4930,10 +4971,6 @@ packages:
resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
engines: {node: '>=8'}
- is-path-inside@3.0.3:
- resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
- engines: {node: '>=8'}
-
is-potential-custom-element-name@1.0.1:
resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
@@ -5890,6 +5927,10 @@ packages:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
+ prettier-linter-helpers@1.0.0:
+ resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==}
+ engines: {node: '>=6.0.0'}
+
prettier-plugin-tailwindcss@0.6.9:
resolution: {integrity: sha512-r0i3uhaZAXYP0At5xGfJH876W3HHGHDp+LCRUJrs57PBeQ6mYHMwr25KH8NPX44F2yGTvdnH7OqCshlQx183Eg==}
engines: {node: '>=14.21.3'}
@@ -6549,6 +6590,10 @@ packages:
symbol-tree@3.2.4:
resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
+ synckit@0.9.2:
+ resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+
tailwind-merge@1.14.0:
resolution: {integrity: sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==}
@@ -6616,9 +6661,6 @@ packages:
resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==}
engines: {node: '>=8'}
- text-table@0.2.0:
- resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
-
thenify-all@1.6.0:
resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
engines: {node: '>=0.8'}
@@ -6742,10 +6784,6 @@ packages:
resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==}
engines: {node: '>=10'}
- type-fest@0.20.2:
- resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
- engines: {node: '>=10'}
-
type-fest@0.7.1:
resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==}
engines: {node: '>=8'}
@@ -8779,7 +8817,7 @@ snapshots:
'@babel/parser': 7.25.6
'@babel/template': 7.25.0
'@babel/types': 7.25.6
- debug: 4.3.7
+ debug: 4.4.0
globals: 11.12.0
transitivePeerDependencies:
- supports-color
@@ -8925,10 +8963,10 @@ snapshots:
'@types/conventional-commits-parser': 5.0.0
chalk: 5.3.0
- '@ducanh2912/next-pwa@10.2.9(@types/babel__core@7.20.5)(next@15.1.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(webpack@5.97.1)':
+ '@ducanh2912/next-pwa@10.2.9(@types/babel__core@7.20.5)(next@15.1.2(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(webpack@5.97.1)':
dependencies:
fast-glob: 3.3.2
- next: 15.1.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ next: 15.1.2(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
semver: 7.6.3
webpack: 5.97.1
workbox-build: 7.1.1(@types/babel__core@7.20.5)
@@ -9013,26 +9051,31 @@ snapshots:
'@esbuild/win32-x64@0.21.5':
optional: true
- '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)':
+ '@eslint-community/eslint-utils@4.4.1(eslint@9.17.0(jiti@2.4.2))':
dependencies:
- eslint: 8.57.1
+ eslint: 9.17.0(jiti@2.4.2)
eslint-visitor-keys: 3.4.3
- '@eslint-community/eslint-utils@4.4.1(eslint@8.57.1)':
- dependencies:
- eslint: 8.57.1
- eslint-visitor-keys: 3.4.3
+ '@eslint-community/regexpp@4.12.1': {}
- '@eslint-community/regexpp@4.11.0': {}
+ '@eslint/config-array@0.19.1':
+ dependencies:
+ '@eslint/object-schema': 2.1.5
+ debug: 4.4.0
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
- '@eslint-community/regexpp@4.12.1': {}
+ '@eslint/core@0.9.1':
+ dependencies:
+ '@types/json-schema': 7.0.15
- '@eslint/eslintrc@2.1.4':
+ '@eslint/eslintrc@3.2.0':
dependencies:
ajv: 6.12.6
- debug: 4.3.7
- espree: 9.6.1
- globals: 13.24.0
+ debug: 4.4.0
+ espree: 10.3.0
+ globals: 14.0.0
ignore: 5.3.2
import-fresh: 3.3.0
js-yaml: 4.1.0
@@ -9041,7 +9084,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@eslint/js@8.57.1': {}
+ '@eslint/js@9.17.0': {}
+
+ '@eslint/object-schema@2.1.5': {}
+
+ '@eslint/plugin-kit@0.2.4':
+ dependencies:
+ levn: 0.4.1
'@formatjs/ecma402-abstract@2.0.0':
dependencies:
@@ -9069,17 +9118,18 @@ snapshots:
'@google/generative-ai@0.21.0': {}
- '@humanwhocodes/config-array@0.13.0':
+ '@humanfs/core@0.19.1': {}
+
+ '@humanfs/node@0.16.6':
dependencies:
- '@humanwhocodes/object-schema': 2.0.3
- debug: 4.3.7
- minimatch: 3.1.2
- transitivePeerDependencies:
- - supports-color
+ '@humanfs/core': 0.19.1
+ '@humanwhocodes/retry': 0.3.1
'@humanwhocodes/module-importer@1.0.1': {}
- '@humanwhocodes/object-schema@2.0.3': {}
+ '@humanwhocodes/retry@0.3.1': {}
+
+ '@humanwhocodes/retry@0.4.1': {}
'@img/sharp-darwin-arm64@0.33.5':
optionalDependencies:
@@ -9261,9 +9311,9 @@ snapshots:
'@next/swc-win32-x64-msvc@15.1.2':
optional: true
- '@next/third-parties@15.1.2(next@15.1.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)':
+ '@next/third-parties@15.1.2(next@15.1.2(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)':
dependencies:
- next: 15.1.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ next: 15.1.2(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
react: 19.0.0
third-party-capital: 1.0.20
@@ -10590,6 +10640,8 @@ snapshots:
'@pkgjs/parseargs@0.11.0':
optional: true
+ '@pkgr/core@0.1.1': {}
+
'@prisma/instrumentation@5.22.0':
dependencies:
'@opentelemetry/api': 1.9.0
@@ -11541,7 +11593,7 @@ snapshots:
'@sentry/core@8.47.0': {}
- '@sentry/nextjs@8.47.0(@opentelemetry/core@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.0(@opentelemetry/api@1.9.0))(next@15.1.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1)':
+ '@sentry/nextjs@8.47.0(@opentelemetry/core@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.0(@opentelemetry/api@1.9.0))(next@15.1.2(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/semantic-conventions': 1.28.0
@@ -11554,7 +11606,7 @@ snapshots:
'@sentry/vercel-edge': 8.47.0
'@sentry/webpack-plugin': 2.22.7(webpack@5.97.1)
chalk: 3.0.0
- next: 15.1.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ next: 15.1.2(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
resolve: 1.22.8
rollup: 3.29.5
stacktrace-parser: 0.1.10
@@ -11925,15 +11977,15 @@ snapshots:
'@types/node': 22.10.2
'@types/webidl-conversions': 7.0.3
- '@typescript-eslint/eslint-plugin@8.18.1(@typescript-eslint/parser@8.18.1(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2)':
+ '@typescript-eslint/eslint-plugin@8.18.1(@typescript-eslint/parser@8.18.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)':
dependencies:
'@eslint-community/regexpp': 4.12.1
- '@typescript-eslint/parser': 8.18.1(eslint@8.57.1)(typescript@5.7.2)
+ '@typescript-eslint/parser': 8.18.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)
'@typescript-eslint/scope-manager': 8.18.1
- '@typescript-eslint/type-utils': 8.18.1(eslint@8.57.1)(typescript@5.7.2)
- '@typescript-eslint/utils': 8.18.1(eslint@8.57.1)(typescript@5.7.2)
+ '@typescript-eslint/type-utils': 8.18.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)
+ '@typescript-eslint/utils': 8.18.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)
'@typescript-eslint/visitor-keys': 8.18.1
- eslint: 8.57.1
+ eslint: 9.17.0(jiti@2.4.2)
graphemer: 1.4.0
ignore: 5.3.2
natural-compare: 1.4.0
@@ -11942,14 +11994,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.18.1(eslint@8.57.1)(typescript@5.7.2)':
+ '@typescript-eslint/parser@8.18.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)':
dependencies:
'@typescript-eslint/scope-manager': 8.18.1
'@typescript-eslint/types': 8.18.1
'@typescript-eslint/typescript-estree': 8.18.1(typescript@5.7.2)
'@typescript-eslint/visitor-keys': 8.18.1
debug: 4.4.0
- eslint: 8.57.1
+ eslint: 9.17.0(jiti@2.4.2)
typescript: 5.7.2
transitivePeerDependencies:
- supports-color
@@ -11959,12 +12011,12 @@ snapshots:
'@typescript-eslint/types': 8.18.1
'@typescript-eslint/visitor-keys': 8.18.1
- '@typescript-eslint/type-utils@8.18.1(eslint@8.57.1)(typescript@5.7.2)':
+ '@typescript-eslint/type-utils@8.18.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)':
dependencies:
'@typescript-eslint/typescript-estree': 8.18.1(typescript@5.7.2)
- '@typescript-eslint/utils': 8.18.1(eslint@8.57.1)(typescript@5.7.2)
+ '@typescript-eslint/utils': 8.18.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)
debug: 4.4.0
- eslint: 8.57.1
+ eslint: 9.17.0(jiti@2.4.2)
ts-api-utils: 1.4.3(typescript@5.7.2)
typescript: 5.7.2
transitivePeerDependencies:
@@ -11986,13 +12038,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.18.1(eslint@8.57.1)(typescript@5.7.2)':
+ '@typescript-eslint/utils@8.18.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)':
dependencies:
- '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1)
+ '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0(jiti@2.4.2))
'@typescript-eslint/scope-manager': 8.18.1
'@typescript-eslint/types': 8.18.1
'@typescript-eslint/typescript-estree': 8.18.1(typescript@5.7.2)
- eslint: 8.57.1
+ eslint: 9.17.0(jiti@2.4.2)
typescript: 5.7.2
transitivePeerDependencies:
- supports-color
@@ -12002,16 +12054,14 @@ snapshots:
'@typescript-eslint/types': 8.18.1
eslint-visitor-keys: 4.2.0
- '@ungap/structured-clone@1.2.0': {}
-
- '@vercel/analytics@1.4.1(next@15.1.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)':
+ '@vercel/analytics@1.4.1(next@15.1.2(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)':
optionalDependencies:
- next: 15.1.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ next: 15.1.2(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
react: 19.0.0
- '@vercel/speed-insights@1.1.0(next@15.1.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)':
+ '@vercel/speed-insights@1.1.0(next@15.1.2(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)':
optionalDependencies:
- next: 15.1.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ next: 15.1.2(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
react: 19.0.0
'@vitejs/plugin-react@4.3.4(vite@5.4.9(@types/node@22.10.2)(terser@5.34.1))':
@@ -12178,11 +12228,9 @@ snapshots:
dependencies:
acorn: 8.14.0
- acorn-jsx@5.3.2(acorn@8.12.1):
+ acorn-jsx@5.3.2(acorn@8.14.0):
dependencies:
- acorn: 8.12.1
-
- acorn@8.12.1: {}
+ acorn: 8.14.0
acorn@8.14.0: {}
@@ -12900,10 +12948,6 @@ snapshots:
dependencies:
esutils: 2.0.3
- doctrine@3.0.0:
- dependencies:
- esutils: 2.0.3
-
dom-accessibility-api@0.5.16: {}
dom-helpers@5.2.1:
@@ -13185,19 +13229,19 @@ snapshots:
escape-string-regexp@4.0.0: {}
- eslint-config-next@15.1.2(eslint@8.57.1)(typescript@5.7.2):
+ eslint-config-next@15.1.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2):
dependencies:
'@next/eslint-plugin-next': 15.1.2
'@rushstack/eslint-patch': 1.10.4
- '@typescript-eslint/eslint-plugin': 8.18.1(@typescript-eslint/parser@8.18.1(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2)
- '@typescript-eslint/parser': 8.18.1(eslint@8.57.1)(typescript@5.7.2)
- eslint: 8.57.1
+ '@typescript-eslint/eslint-plugin': 8.18.1(@typescript-eslint/parser@8.18.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)
+ '@typescript-eslint/parser': 8.18.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)
+ eslint: 9.17.0(jiti@2.4.2)
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.1)
- eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.1(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1)
- eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1)
- eslint-plugin-react: 7.37.2(eslint@8.57.1)
- eslint-plugin-react-hooks: 5.1.0(eslint@8.57.1)
+ eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@9.17.0(jiti@2.4.2))
+ eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@9.17.0(jiti@2.4.2))
+ eslint-plugin-jsx-a11y: 6.10.2(eslint@9.17.0(jiti@2.4.2))
+ eslint-plugin-react: 7.37.2(eslint@9.17.0(jiti@2.4.2))
+ eslint-plugin-react-hooks: 5.1.0(eslint@9.17.0(jiti@2.4.2))
optionalDependencies:
typescript: 5.7.2
transitivePeerDependencies:
@@ -13205,9 +13249,9 @@ snapshots:
- eslint-plugin-import-x
- supports-color
- eslint-config-prettier@9.1.0(eslint@8.57.1):
+ eslint-config-prettier@9.1.0(eslint@9.17.0(jiti@2.4.2)):
dependencies:
- eslint: 8.57.1
+ eslint: 9.17.0(jiti@2.4.2)
eslint-import-resolver-node@0.3.9:
dependencies:
@@ -13217,34 +13261,34 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.1):
+ eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@9.17.0(jiti@2.4.2)):
dependencies:
'@nolyfill/is-core-module': 1.0.39
debug: 4.4.0
enhanced-resolve: 5.17.1
- eslint: 8.57.1
+ eslint: 9.17.0(jiti@2.4.2)
fast-glob: 3.3.2
get-tsconfig: 4.8.1
is-bun-module: 1.3.0
is-glob: 4.0.3
stable-hash: 0.0.4
optionalDependencies:
- eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.1(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1)
+ eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@9.17.0(jiti@2.4.2))
transitivePeerDependencies:
- supports-color
- eslint-module-utils@2.12.0(@typescript-eslint/parser@8.18.1(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1):
+ eslint-module-utils@2.12.0(@typescript-eslint/parser@8.18.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.17.0(jiti@2.4.2)):
dependencies:
debug: 3.2.7
optionalDependencies:
- '@typescript-eslint/parser': 8.18.1(eslint@8.57.1)(typescript@5.7.2)
- eslint: 8.57.1
+ '@typescript-eslint/parser': 8.18.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)
+ eslint: 9.17.0(jiti@2.4.2)
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.1)
+ eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@9.17.0(jiti@2.4.2))
transitivePeerDependencies:
- supports-color
- eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.18.1(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1):
+ eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.18.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@9.17.0(jiti@2.4.2)):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.8
@@ -13253,9 +13297,9 @@ snapshots:
array.prototype.flatmap: 1.3.3
debug: 3.2.7
doctrine: 2.1.0
- eslint: 8.57.1
+ eslint: 9.17.0(jiti@2.4.2)
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.18.1(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1)
+ eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.18.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.17.0(jiti@2.4.2))
hasown: 2.0.2
is-core-module: 2.16.0
is-glob: 4.0.3
@@ -13267,13 +13311,13 @@ snapshots:
string.prototype.trimend: 1.0.9
tsconfig-paths: 3.15.0
optionalDependencies:
- '@typescript-eslint/parser': 8.18.1(eslint@8.57.1)(typescript@5.7.2)
+ '@typescript-eslint/parser': 8.18.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
- eslint-plugin-jsx-a11y@6.10.2(eslint@8.57.1):
+ eslint-plugin-jsx-a11y@6.10.2(eslint@9.17.0(jiti@2.4.2)):
dependencies:
aria-query: 5.3.2
array-includes: 3.1.8
@@ -13283,7 +13327,7 @@ snapshots:
axobject-query: 4.1.0
damerau-levenshtein: 1.0.8
emoji-regex: 9.2.2
- eslint: 8.57.1
+ eslint: 9.17.0(jiti@2.4.2)
hasown: 2.0.2
jsx-ast-utils: 3.3.5
language-tags: 1.0.9
@@ -13292,11 +13336,21 @@ snapshots:
safe-regex-test: 1.0.3
string.prototype.includes: 2.0.1
- eslint-plugin-react-hooks@5.1.0(eslint@8.57.1):
+ eslint-plugin-prettier@5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@9.17.0(jiti@2.4.2)))(eslint@9.17.0(jiti@2.4.2))(prettier@3.4.2):
dependencies:
- eslint: 8.57.1
+ eslint: 9.17.0(jiti@2.4.2)
+ prettier: 3.4.2
+ prettier-linter-helpers: 1.0.0
+ synckit: 0.9.2
+ optionalDependencies:
+ '@types/eslint': 9.6.1
+ eslint-config-prettier: 9.1.0(eslint@9.17.0(jiti@2.4.2))
+
+ eslint-plugin-react-hooks@5.1.0(eslint@9.17.0(jiti@2.4.2)):
+ dependencies:
+ eslint: 9.17.0(jiti@2.4.2)
- eslint-plugin-react@7.37.2(eslint@8.57.1):
+ eslint-plugin-react@7.37.2(eslint@9.17.0(jiti@2.4.2)):
dependencies:
array-includes: 3.1.8
array.prototype.findlast: 1.2.5
@@ -13304,7 +13358,7 @@ snapshots:
array.prototype.tosorted: 1.1.4
doctrine: 2.1.0
es-iterator-helpers: 1.2.0
- eslint: 8.57.1
+ eslint: 9.17.0(jiti@2.4.2)
estraverse: 5.3.0
hasown: 2.0.2
jsx-ast-utils: 3.3.5
@@ -13323,7 +13377,7 @@ snapshots:
esrecurse: 4.3.0
estraverse: 4.3.0
- eslint-scope@7.2.2:
+ eslint-scope@8.2.0:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
@@ -13332,54 +13386,52 @@ snapshots:
eslint-visitor-keys@4.2.0: {}
- eslint@8.57.1:
+ eslint@9.17.0(jiti@2.4.2):
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1)
- '@eslint-community/regexpp': 4.11.0
- '@eslint/eslintrc': 2.1.4
- '@eslint/js': 8.57.1
- '@humanwhocodes/config-array': 0.13.0
+ '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0(jiti@2.4.2))
+ '@eslint-community/regexpp': 4.12.1
+ '@eslint/config-array': 0.19.1
+ '@eslint/core': 0.9.1
+ '@eslint/eslintrc': 3.2.0
+ '@eslint/js': 9.17.0
+ '@eslint/plugin-kit': 0.2.4
+ '@humanfs/node': 0.16.6
'@humanwhocodes/module-importer': 1.0.1
- '@nodelib/fs.walk': 1.2.8
- '@ungap/structured-clone': 1.2.0
+ '@humanwhocodes/retry': 0.4.1
+ '@types/estree': 1.0.6
+ '@types/json-schema': 7.0.15
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.6
- debug: 4.3.7
- doctrine: 3.0.0
+ debug: 4.4.0
escape-string-regexp: 4.0.0
- eslint-scope: 7.2.2
- eslint-visitor-keys: 3.4.3
- espree: 9.6.1
+ eslint-scope: 8.2.0
+ eslint-visitor-keys: 4.2.0
+ espree: 10.3.0
esquery: 1.6.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
- file-entry-cache: 6.0.1
+ file-entry-cache: 8.0.0
find-up: 5.0.0
glob-parent: 6.0.2
- globals: 13.24.0
- graphemer: 1.4.0
ignore: 5.3.2
imurmurhash: 0.1.4
is-glob: 4.0.3
- is-path-inside: 3.0.3
- js-yaml: 4.1.0
json-stable-stringify-without-jsonify: 1.0.1
- levn: 0.4.1
lodash.merge: 4.6.2
minimatch: 3.1.2
natural-compare: 1.4.0
optionator: 0.9.4
- strip-ansi: 6.0.1
- text-table: 0.2.0
+ optionalDependencies:
+ jiti: 2.4.2
transitivePeerDependencies:
- supports-color
- espree@9.6.1:
+ espree@10.3.0:
dependencies:
- acorn: 8.12.1
- acorn-jsx: 5.3.2(acorn@8.12.1)
- eslint-visitor-keys: 3.4.3
+ acorn: 8.14.0
+ acorn-jsx: 5.3.2(acorn@8.14.0)
+ eslint-visitor-keys: 4.2.0
esquery@1.6.0:
dependencies:
@@ -13427,6 +13479,8 @@ snapshots:
fast-deep-equal@3.1.3: {}
+ fast-diff@1.3.0: {}
+
fast-equals@5.0.1: {}
fast-glob@3.3.1:
@@ -13463,9 +13517,9 @@ snapshots:
optionalDependencies:
picomatch: 4.0.2
- file-entry-cache@6.0.1:
+ file-entry-cache@8.0.0:
dependencies:
- flat-cache: 3.2.0
+ flat-cache: 4.0.1
filelist@1.0.4:
dependencies:
@@ -13488,15 +13542,14 @@ snapshots:
flairup@1.0.0: {}
- flat-cache@3.2.0:
+ flat-cache@4.0.1:
dependencies:
- flatted: 3.3.1
+ flatted: 3.3.2
keyv: 4.5.4
- rimraf: 3.0.2
flat@5.0.2: {}
- flatted@3.3.1: {}
+ flatted@3.3.2: {}
for-each@0.3.3:
dependencies:
@@ -13670,9 +13723,7 @@ snapshots:
globals@11.12.0: {}
- globals@13.24.0:
- dependencies:
- type-fest: 0.20.2
+ globals@14.0.0: {}
globalthis@1.0.4:
dependencies:
@@ -13755,7 +13806,7 @@ snapshots:
http-proxy-agent@7.0.2:
dependencies:
agent-base: 7.1.1
- debug: 4.3.7
+ debug: 4.4.0
transitivePeerDependencies:
- supports-color
@@ -13769,7 +13820,7 @@ snapshots:
https-proxy-agent@7.0.5:
dependencies:
agent-base: 7.1.1
- debug: 4.3.7
+ debug: 4.4.0
transitivePeerDependencies:
- supports-color
@@ -13972,8 +14023,6 @@ snapshots:
is-obj@2.0.0: {}
- is-path-inside@3.0.3: {}
-
is-potential-custom-element-name@1.0.1: {}
is-reference@1.2.1:
@@ -14563,10 +14612,10 @@ snapshots:
neo-async@2.6.2: {}
- next-auth@5.0.0-beta.25(next@15.1.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0):
+ next-auth@5.0.0-beta.25(next@15.1.2(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0):
dependencies:
'@auth/core': 0.37.2
- next: 15.1.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ next: 15.1.2(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
react: 19.0.0
next-themes@0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
@@ -14574,15 +14623,15 @@ snapshots:
react: 19.0.0
react-dom: 19.0.0(react@19.0.0)
- next13-progressbar@1.2.2(next@15.1.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0):
+ next13-progressbar@1.2.2(next@15.1.2(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0):
dependencies:
'@types/nprogress': 0.2.3
- next: 15.1.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ next: 15.1.2(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
nprogress: 0.2.0
prop-types: 15.8.1
react: 19.0.0
- next@15.1.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
+ next@15.1.2(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
dependencies:
'@next/env': 15.1.2
'@swc/counter': 0.1.3
@@ -14592,7 +14641,7 @@ snapshots:
postcss: 8.4.31
react: 19.0.0
react-dom: 19.0.0(react@19.0.0)
- styled-jsx: 5.1.6(@babel/core@7.26.0)(react@19.0.0)
+ styled-jsx: 5.1.6(@babel/core@7.25.2)(react@19.0.0)
optionalDependencies:
'@next/swc-darwin-arm64': 15.1.2
'@next/swc-darwin-x64': 15.1.2
@@ -14900,6 +14949,10 @@ snapshots:
prelude-ls@1.2.1: {}
+ prettier-linter-helpers@1.0.0:
+ dependencies:
+ fast-diff: 1.3.0
+
prettier-plugin-tailwindcss@0.6.9(@trivago/prettier-plugin-sort-imports@5.2.0(prettier@3.4.2))(prettier@3.4.2):
dependencies:
prettier: 3.4.2
@@ -15580,12 +15633,12 @@ snapshots:
strip-json-comments@5.0.1: {}
- styled-jsx@5.1.6(@babel/core@7.26.0)(react@19.0.0):
+ styled-jsx@5.1.6(@babel/core@7.25.2)(react@19.0.0):
dependencies:
client-only: 0.0.1
react: 19.0.0
optionalDependencies:
- '@babel/core': 7.26.0
+ '@babel/core': 7.25.2
stylis@4.3.4: {}
@@ -15629,6 +15682,11 @@ snapshots:
symbol-tree@3.2.4: {}
+ synckit@0.9.2:
+ dependencies:
+ '@pkgr/core': 0.1.1
+ tslib: 2.8.1
+
tailwind-merge@1.14.0: {}
tailwind-merge@2.5.5: {}
@@ -15717,8 +15775,6 @@ snapshots:
text-extensions@2.4.0: {}
- text-table@0.2.0: {}
-
thenify-all@1.6.0:
dependencies:
thenify: 3.3.1
@@ -15814,8 +15870,6 @@ snapshots:
type-fest@0.16.0: {}
- type-fest@0.20.2: {}
-
type-fest@0.7.1: {}
typed-array-buffer@1.0.2:
@@ -15986,7 +16040,7 @@ snapshots:
vite-node@2.1.8(@types/node@22.10.2)(terser@5.34.1):
dependencies:
cac: 6.7.14
- debug: 4.3.7
+ debug: 4.4.0
es-module-lexer: 1.5.4
pathe: 1.1.2
vite: 5.4.9(@types/node@22.10.2)(terser@5.34.1)