Removed shamefully-hoist and updated all packages to respect that
This commit is contained in:
1
.npmrc
1
.npmrc
@@ -1,4 +1,3 @@
|
|||||||
shamefully-hoist=true
|
|
||||||
peer-legacy-deps=true
|
peer-legacy-deps=true
|
||||||
dedupe-peer-dependencies=true
|
dedupe-peer-dependencies=true
|
||||||
use-lockfile-v6=true
|
use-lockfile-v6=true
|
||||||
@@ -10,10 +10,10 @@ import { createI18nServerInstance } from '~/lib/i18n/i18n.server';
|
|||||||
import { withI18n } from '~/lib/i18n/with-i18n';
|
import { withI18n } from '~/lib/i18n/with-i18n';
|
||||||
|
|
||||||
export const generateMetadata = async () => {
|
export const generateMetadata = async () => {
|
||||||
const i18n = await createI18nServerInstance();
|
const { t } = await createI18nServerInstance();
|
||||||
|
|
||||||
return {
|
return {
|
||||||
title: i18n.t('auth:passwordResetLabel'),
|
title: t('auth:passwordResetLabel'),
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import type { Provider } from '@supabase/gotrue-js';
|
import type { Provider } from '@supabase/supabase-js';
|
||||||
|
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
|
|
||||||
|
|||||||
@@ -38,26 +38,25 @@
|
|||||||
"@makerkit/data-loader-supabase-nextjs": "^0.0.9",
|
"@makerkit/data-loader-supabase-nextjs": "^0.0.9",
|
||||||
"@marsidev/react-turnstile": "^0.5.4",
|
"@marsidev/react-turnstile": "^0.5.4",
|
||||||
"@radix-ui/react-icons": "^1.3.0",
|
"@radix-ui/react-icons": "^1.3.0",
|
||||||
"@supabase/ssr": "^0.1.0",
|
"@supabase/ssr": "^0.3.0",
|
||||||
"@supabase/supabase-js": "^2.42.0",
|
"@supabase/supabase-js": "^2.42.0",
|
||||||
"@tanstack/react-query": "5.28.6",
|
"@tanstack/react-query": "5.28.6",
|
||||||
"@tanstack/react-query-next-experimental": "^5.28.14",
|
"@tanstack/react-query-next-experimental": "^5.29.0",
|
||||||
"@tanstack/react-table": "^8.15.3",
|
"@tanstack/react-table": "^8.15.3",
|
||||||
"date-fns": "^3.6.0",
|
"date-fns": "^3.6.0",
|
||||||
"edge-csrf": "^1.0.9",
|
"edge-csrf": "^1.0.9",
|
||||||
"i18next": "^23.10.1",
|
"i18next": "^23.11.0",
|
||||||
"i18next-resources-to-backend": "^1.2.0",
|
"i18next-resources-to-backend": "^1.2.0",
|
||||||
"lucide-react": "^0.363.0",
|
"lucide-react": "^0.363.0",
|
||||||
"next": "14.2.0-canary.62",
|
"next": "14.2.0-canary.63",
|
||||||
"next-sitemap": "^4.2.3",
|
"next-sitemap": "^4.2.3",
|
||||||
"next-themes": "0.3.0",
|
"next-themes": "0.3.0",
|
||||||
"react": "18.2.0",
|
"react": "18.2.0",
|
||||||
"react-dom": "18.2.0",
|
"react-dom": "18.2.0",
|
||||||
"react-hook-form": "^7.51.2",
|
"react-hook-form": "^7.51.2",
|
||||||
"react-i18next": "^14.1.0",
|
"react-i18next": "^14.1.0",
|
||||||
"recharts": "^2.12.3",
|
"recharts": "^2.12.4",
|
||||||
"sonner": "^1.4.41",
|
"sonner": "^1.4.41",
|
||||||
"tailwindcss-animate": "^1.0.7",
|
|
||||||
"zod": "^3.22.4"
|
"zod": "^3.22.4"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
@@ -68,7 +67,7 @@
|
|||||||
"@next/bundle-analyzer": "14.2.0-canary.54",
|
"@next/bundle-analyzer": "14.2.0-canary.54",
|
||||||
"@types/mdx": "^2.0.12",
|
"@types/mdx": "^2.0.12",
|
||||||
"@types/node": "^20.12.3",
|
"@types/node": "^20.12.3",
|
||||||
"@types/react": "^18.2.73",
|
"@types/react": "^18.2.75",
|
||||||
"@types/react-dom": "^18.2.22",
|
"@types/react-dom": "^18.2.22",
|
||||||
"autoprefixer": "^10.4.19",
|
"autoprefixer": "^10.4.19",
|
||||||
"dotenv-cli": "^7.4.1",
|
"dotenv-cli": "^7.4.1",
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
{}
|
|
||||||
@@ -37,6 +37,7 @@
|
|||||||
"pnpm": "^8.15.6",
|
"pnpm": "^8.15.6",
|
||||||
"prettier": "^3.2.5",
|
"prettier": "^3.2.5",
|
||||||
"turbo": "^1.13.2",
|
"turbo": "^1.13.2",
|
||||||
|
"typescript": "^5.4.3",
|
||||||
"yarn": "^1.22.22"
|
"yarn": "^1.22.22"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,12 @@
|
|||||||
"@kit/supabase": "^0.1.0",
|
"@kit/supabase": "^0.1.0",
|
||||||
"@kit/ui": "0.1.0",
|
"@kit/ui": "0.1.0",
|
||||||
"@supabase/supabase-js": "^2.42.0",
|
"@supabase/supabase-js": "^2.42.0",
|
||||||
|
"date-fns": "^3.6.0",
|
||||||
"lucide-react": "^0.363.0",
|
"lucide-react": "^0.363.0",
|
||||||
|
"next": "^14.1.4",
|
||||||
|
"react": "^18.2.0",
|
||||||
|
"react-hook-form": "^7.51.2",
|
||||||
|
"react-i18next": "^14.1.0",
|
||||||
"zod": "^3.22.4"
|
"zod": "^3.22.4"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
@@ -37,7 +42,13 @@
|
|||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@kit/ui": "workspace:^",
|
"@kit/ui": "workspace:^",
|
||||||
"@supabase/supabase-js": "^2.42.0",
|
"@supabase/supabase-js": "^2.42.0",
|
||||||
|
"@types/react": "^18.2.75",
|
||||||
|
"date-fns": "^3.6.0",
|
||||||
"lucide-react": "^0.363.0",
|
"lucide-react": "^0.363.0",
|
||||||
|
"next": "14.2.0-canary.63",
|
||||||
|
"react": "18.2.0",
|
||||||
|
"react-hook-form": "^7.51.2",
|
||||||
|
"react-i18next": "^14.1.0",
|
||||||
"zod": "^3.22.4"
|
"zod": "^3.22.4"
|
||||||
},
|
},
|
||||||
"eslintConfig": {
|
"eslintConfig": {
|
||||||
|
|||||||
@@ -17,7 +17,9 @@
|
|||||||
"@kit/billing": "0.1.0",
|
"@kit/billing": "0.1.0",
|
||||||
"@kit/shared": "0.1.0",
|
"@kit/shared": "0.1.0",
|
||||||
"@kit/supabase": "0.1.0",
|
"@kit/supabase": "0.1.0",
|
||||||
"@kit/ui": "0.1.0"
|
"@kit/ui": "0.1.0",
|
||||||
|
"react": "^18.2.0",
|
||||||
|
"zod": "^3.22.4"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@lemonsqueezy/lemonsqueezy.js": "2.2.0"
|
"@lemonsqueezy/lemonsqueezy.js": "2.2.0"
|
||||||
@@ -30,7 +32,10 @@
|
|||||||
"@kit/supabase": "workspace:^",
|
"@kit/supabase": "workspace:^",
|
||||||
"@kit/tailwind-config": "workspace:*",
|
"@kit/tailwind-config": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@kit/ui": "workspace:^"
|
"@kit/ui": "workspace:^",
|
||||||
|
"@types/react": "^18.2.75",
|
||||||
|
"react": "18.2.0",
|
||||||
|
"zod": "^3.22.4"
|
||||||
},
|
},
|
||||||
"eslintConfig": {
|
"eslintConfig": {
|
||||||
"root": true,
|
"root": true,
|
||||||
|
|||||||
@@ -18,7 +18,10 @@
|
|||||||
"@kit/billing": "0.1.0",
|
"@kit/billing": "0.1.0",
|
||||||
"@kit/shared": "0.1.0",
|
"@kit/shared": "0.1.0",
|
||||||
"@kit/supabase": "0.1.0",
|
"@kit/supabase": "0.1.0",
|
||||||
"@kit/ui": "0.1.0"
|
"@kit/ui": "0.1.0",
|
||||||
|
"date-fns": "^3.6.0",
|
||||||
|
"react": "^18.2.0",
|
||||||
|
"zod": "^3.22.4"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@stripe/react-stripe-js": "^2.6.2",
|
"@stripe/react-stripe-js": "^2.6.2",
|
||||||
@@ -33,7 +36,11 @@
|
|||||||
"@kit/supabase": "workspace:^",
|
"@kit/supabase": "workspace:^",
|
||||||
"@kit/tailwind-config": "workspace:*",
|
"@kit/tailwind-config": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@kit/ui": "workspace:^"
|
"@kit/ui": "workspace:^",
|
||||||
|
"@types/react": "^18.2.75",
|
||||||
|
"date-fns": "^3.6.0",
|
||||||
|
"react": "18.2.0",
|
||||||
|
"zod": "^3.22.4"
|
||||||
},
|
},
|
||||||
"eslintConfig": {
|
"eslintConfig": {
|
||||||
"root": true,
|
"root": true,
|
||||||
|
|||||||
@@ -28,7 +28,8 @@
|
|||||||
"@kit/eslint-config": "workspace:*",
|
"@kit/eslint-config": "workspace:*",
|
||||||
"@kit/prettier-config": "workspace:*",
|
"@kit/prettier-config": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@kit/ui": "*"
|
"@kit/ui": "*",
|
||||||
|
"mdx": "0.3.1"
|
||||||
},
|
},
|
||||||
"eslintConfig": {
|
"eslintConfig": {
|
||||||
"root": true,
|
"root": true,
|
||||||
|
|||||||
@@ -1,16 +1,7 @@
|
|||||||
import type { MDXComponents as MDXComponentsType } from 'mdx/types';
|
|
||||||
import { getMDXComponent } from 'next-contentlayer/hooks';
|
import { getMDXComponent } from 'next-contentlayer/hooks';
|
||||||
|
|
||||||
import { MDXComponents } from '@kit/ui/mdx-components';
|
export function Mdx({ code }: { code: string }) {
|
||||||
|
|
||||||
export function Mdx({
|
|
||||||
code,
|
|
||||||
}: React.PropsWithChildren<{
|
|
||||||
code: string;
|
|
||||||
}>) {
|
|
||||||
const Component = getMDXComponent(code);
|
const Component = getMDXComponent(code);
|
||||||
|
|
||||||
return (
|
return <Component />;
|
||||||
<Component components={MDXComponents as unknown as MDXComponentsType} />
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,34 +14,56 @@
|
|||||||
"./personal-account-settings": "./src/components/personal-account-settings/index.ts",
|
"./personal-account-settings": "./src/components/personal-account-settings/index.ts",
|
||||||
"./hooks/*": "./src/hooks/*.ts"
|
"./hooks/*": "./src/hooks/*.ts"
|
||||||
},
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"nanoid": "^5.0.7"
|
||||||
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@hookform/resolvers": "^3.3.4",
|
"@hookform/resolvers": "^3.3.4",
|
||||||
"@kit/billing-gateway": "workspace:^",
|
"@kit/billing-gateway": "*",
|
||||||
"@kit/email-templates": "workspace:^",
|
"@kit/email-templates": "*",
|
||||||
"@kit/eslint-config": "workspace:*",
|
"@kit/eslint-config": "workspace:*",
|
||||||
"@kit/mailers": "workspace:^",
|
"@kit/mailers": "*",
|
||||||
"@kit/prettier-config": "workspace:*",
|
"@kit/prettier-config": "workspace:*",
|
||||||
"@kit/shared": "workspace:^",
|
"@kit/shared": "*",
|
||||||
"@kit/supabase": "workspace:^",
|
"@kit/supabase": "*",
|
||||||
"@kit/tailwind-config": "workspace:*",
|
"@kit/tailwind-config": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@kit/ui": "workspace:^",
|
"@kit/ui": "*",
|
||||||
"@radix-ui/react-icons": "^1.3.0",
|
"@radix-ui/react-icons": "^1.3.0",
|
||||||
|
"@supabase/supabase-js": "^2.42.0",
|
||||||
"@tanstack/react-query": "5.28.6",
|
"@tanstack/react-query": "5.28.6",
|
||||||
|
"@types/react": "^18.2.75",
|
||||||
|
"@types/react-dom": "^18.2.22",
|
||||||
"lucide-react": "^0.363.0",
|
"lucide-react": "^0.363.0",
|
||||||
|
"next": "14.2.0-canary.63",
|
||||||
"next-themes": "0.3.0",
|
"next-themes": "0.3.0",
|
||||||
|
"react": "18.2.0",
|
||||||
|
"react-dom": "18.2.0",
|
||||||
"react-hook-form": "^7.51.2",
|
"react-hook-form": "^7.51.2",
|
||||||
"react-i18next": "^14.1.0",
|
"react-i18next": "^14.1.0",
|
||||||
"sonner": "^1.4.41",
|
"sonner": "^1.4.41",
|
||||||
"zod": "^3.22.4"
|
"zod": "^3.22.4"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
"@hookform/resolvers": "^3.3.4",
|
||||||
|
"@kit/billing-gateway": "workspace:^",
|
||||||
|
"@kit/email-templates": "workspace:^",
|
||||||
|
"@kit/mailers": "workspace:^",
|
||||||
"@kit/shared": "0.1.0",
|
"@kit/shared": "0.1.0",
|
||||||
"@kit/supabase": "0.1.0",
|
"@kit/supabase": "0.1.0",
|
||||||
"@kit/ui": "0.1.0",
|
"@kit/ui": "workspace:^",
|
||||||
"@radix-ui/react-icons": "^1.3.0",
|
"@radix-ui/react-icons": "^1.3.0",
|
||||||
|
"@supabase/supabase-js": "^2.42.0",
|
||||||
|
"@tanstack/react-query": "5.28.6",
|
||||||
"lucide-react": "^0.363.0",
|
"lucide-react": "^0.363.0",
|
||||||
"sonner": "^1.4.41"
|
"next": "^14.1.4",
|
||||||
|
"next-themes": "0.3.0",
|
||||||
|
"react": "^18.2.0",
|
||||||
|
"react-dom": "^18.2.0",
|
||||||
|
"react-hook-form": "^7.51.2",
|
||||||
|
"react-i18next": "^14.1.0",
|
||||||
|
"sonner": "^1.4.41",
|
||||||
|
"zod": "^3.22.4"
|
||||||
},
|
},
|
||||||
"prettier": "@kit/prettier-config",
|
"prettier": "@kit/prettier-config",
|
||||||
"eslintConfig": {
|
"eslintConfig": {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import type { User } from '@supabase/gotrue-js';
|
import type { User } from '@supabase/supabase-js';
|
||||||
|
|
||||||
import { zodResolver } from '@hookform/resolvers/zod';
|
import { zodResolver } from '@hookform/resolvers/zod';
|
||||||
import { useForm } from 'react-hook-form';
|
import { useForm } from 'react-hook-form';
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { useCallback, useState } from 'react';
|
import { useCallback, useState } from 'react';
|
||||||
|
|
||||||
import type { Factor } from '@supabase/gotrue-js';
|
import type { Factor } from '@supabase/supabase-js';
|
||||||
|
|
||||||
import { ExclamationTriangleIcon } from '@radix-ui/react-icons';
|
import { ExclamationTriangleIcon } from '@radix-ui/react-icons';
|
||||||
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
|
|
||||||
import type { User } from '@supabase/gotrue-js';
|
import type { User } from '@supabase/supabase-js';
|
||||||
|
|
||||||
import { zodResolver } from '@hookform/resolvers/zod';
|
import { zodResolver } from '@hookform/resolvers/zod';
|
||||||
import { ExclamationTriangleIcon } from '@radix-ui/react-icons';
|
import { ExclamationTriangleIcon } from '@radix-ui/react-icons';
|
||||||
|
|||||||
@@ -16,7 +16,11 @@
|
|||||||
"@kit/ui": "workspace:*",
|
"@kit/ui": "workspace:*",
|
||||||
"@makerkit/data-loader-supabase-core": "^0.0.7",
|
"@makerkit/data-loader-supabase-core": "^0.0.7",
|
||||||
"@makerkit/data-loader-supabase-nextjs": "^0.0.9",
|
"@makerkit/data-loader-supabase-nextjs": "^0.0.9",
|
||||||
|
"@tanstack/react-query": "^5.29.0",
|
||||||
|
"@tanstack/react-table": "^8.15.3",
|
||||||
"lucide-react": "^0.363.0",
|
"lucide-react": "^0.363.0",
|
||||||
|
"next": "^14.1.4",
|
||||||
|
"react": "^18.2.0",
|
||||||
"react-hook-form": "^7.51.2",
|
"react-hook-form": "^7.51.2",
|
||||||
"zod": "^3.22.4"
|
"zod": "^3.22.4"
|
||||||
},
|
},
|
||||||
@@ -32,7 +36,12 @@
|
|||||||
"@makerkit/data-loader-supabase-core": "^0.0.7",
|
"@makerkit/data-loader-supabase-core": "^0.0.7",
|
||||||
"@makerkit/data-loader-supabase-nextjs": "^0.0.9",
|
"@makerkit/data-loader-supabase-nextjs": "^0.0.9",
|
||||||
"@supabase/supabase-js": "^2.42.0",
|
"@supabase/supabase-js": "^2.42.0",
|
||||||
|
"@tanstack/react-query": "5.28.6",
|
||||||
|
"@tanstack/react-table": "^8.15.3",
|
||||||
|
"@types/react": "^18.2.75",
|
||||||
"lucide-react": "^0.363.0",
|
"lucide-react": "^0.363.0",
|
||||||
|
"next": "14.2.0-canary.63",
|
||||||
|
"react": "18.2.0",
|
||||||
"react-hook-form": "^7.51.2",
|
"react-hook-form": "^7.51.2",
|
||||||
"zod": "^3.22.4"
|
"zod": "^3.22.4"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -21,14 +21,35 @@
|
|||||||
"@hookform/resolvers": "^3.3.4",
|
"@hookform/resolvers": "^3.3.4",
|
||||||
"@kit/eslint-config": "workspace:*",
|
"@kit/eslint-config": "workspace:*",
|
||||||
"@kit/prettier-config": "workspace:*",
|
"@kit/prettier-config": "workspace:*",
|
||||||
"@kit/shared": "workspace:*",
|
"@kit/shared": "*",
|
||||||
"@kit/supabase": "workspace:*",
|
"@kit/supabase": "*",
|
||||||
"@kit/tailwind-config": "workspace:*",
|
"@kit/tailwind-config": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
|
"@kit/ui": "*",
|
||||||
|
"@marsidev/react-turnstile": "^0.5.4",
|
||||||
|
"@radix-ui/react-icons": "^1.3.0",
|
||||||
|
"@supabase/supabase-js": "^2.42.0",
|
||||||
|
"@tanstack/react-query": "5.28.6",
|
||||||
|
"@types/react": "^18.2.75",
|
||||||
|
"lucide-react": "^0.363.0",
|
||||||
|
"next": "14.2.0-canary.63",
|
||||||
|
"react-hook-form": "^7.51.2",
|
||||||
|
"react-i18next": "^14.1.0",
|
||||||
|
"sonner": "^1.4.41",
|
||||||
|
"zod": "^3.22.4"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"@hookform/resolvers": "^3.3.4",
|
||||||
|
"@kit/shared": "workspace:*",
|
||||||
|
"@kit/supabase": "workspace:*",
|
||||||
"@kit/ui": "workspace:*",
|
"@kit/ui": "workspace:*",
|
||||||
"@marsidev/react-turnstile": "^0.5.4",
|
"@marsidev/react-turnstile": "^0.5.4",
|
||||||
"@radix-ui/react-icons": "^1.3.0",
|
"@radix-ui/react-icons": "^1.3.0",
|
||||||
|
"@supabase/supabase-js": "^2.42.0",
|
||||||
"@tanstack/react-query": "5.28.6",
|
"@tanstack/react-query": "5.28.6",
|
||||||
|
"lucide-react": "^0.363.0",
|
||||||
|
"next": "^14.1.4",
|
||||||
|
"react-hook-form": "^7.51.2",
|
||||||
"react-i18next": "^14.1.0",
|
"react-i18next": "^14.1.0",
|
||||||
"sonner": "^1.4.41",
|
"sonner": "^1.4.41",
|
||||||
"zod": "^3.22.4"
|
"zod": "^3.22.4"
|
||||||
|
|||||||
@@ -12,33 +12,54 @@
|
|||||||
"./components": "./src/components/index.ts",
|
"./components": "./src/components/index.ts",
|
||||||
"./webhooks": "./src/server/services/webhooks/index.ts"
|
"./webhooks": "./src/server/services/webhooks/index.ts"
|
||||||
},
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"nanoid": "^5.0.7"
|
||||||
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@hookform/resolvers": "^3.3.4",
|
"@hookform/resolvers": "^3.3.4",
|
||||||
"@kit/accounts": "workspace:^",
|
"@kit/accounts": "*",
|
||||||
"@kit/billing-gateway": "workspace:*",
|
"@kit/billing-gateway": "workspace:*",
|
||||||
"@kit/email-templates": "workspace:^",
|
"@kit/email-templates": "*",
|
||||||
"@kit/eslint-config": "workspace:*",
|
"@kit/eslint-config": "workspace:*",
|
||||||
"@kit/mailers": "workspace:^",
|
"@kit/mailers": "*",
|
||||||
"@kit/prettier-config": "workspace:*",
|
"@kit/prettier-config": "workspace:*",
|
||||||
"@kit/shared": "workspace:^",
|
"@kit/shared": "*",
|
||||||
"@kit/supabase": "workspace:^",
|
"@kit/supabase": "*",
|
||||||
"@kit/tailwind-config": "workspace:*",
|
"@kit/tailwind-config": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@kit/ui": "workspace:^",
|
"@kit/ui": "*",
|
||||||
"@supabase/supabase-js": "^2.42.0",
|
"@supabase/supabase-js": "^2.42.0",
|
||||||
"@tanstack/react-query": "5.28.6",
|
"@tanstack/react-query": "5.28.6",
|
||||||
|
"@tanstack/react-table": "^8.15.3",
|
||||||
|
"@types/react": "^18.2.75",
|
||||||
|
"@types/react-dom": "^18.2.22",
|
||||||
|
"class-variance-authority": "^0.7.0",
|
||||||
|
"date-fns": "^3.6.0",
|
||||||
"lucide-react": "^0.363.0",
|
"lucide-react": "^0.363.0",
|
||||||
"react-i18next": "^14.1.0"
|
"next": "14.2.0-canary.63",
|
||||||
|
"react": "18.2.0",
|
||||||
|
"react-dom": "18.2.0",
|
||||||
|
"react-hook-form": "^7.51.2",
|
||||||
|
"react-i18next": "^14.1.0",
|
||||||
|
"sonner": "^1.4.41",
|
||||||
|
"zod": "^3.22.4"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
"@hookform/resolvers": "^3.3.4",
|
||||||
"@kit/accounts": "0.1.0",
|
"@kit/accounts": "0.1.0",
|
||||||
"@kit/email-templates": "0.1.0",
|
"@kit/email-templates": "0.1.0",
|
||||||
"@kit/mailers": "0.1.0",
|
"@kit/mailers": "0.1.0",
|
||||||
"@kit/shared": "0.1.0",
|
"@kit/shared": "0.1.0",
|
||||||
"@kit/supabase": "0.1.0",
|
"@kit/supabase": "0.1.0",
|
||||||
"@kit/ui": "0.1.0",
|
"@kit/ui": "workspace:^",
|
||||||
"@supabase/supabase-js": "^2.42.0",
|
"@supabase/supabase-js": "^2.42.0",
|
||||||
"lucide-react": "^0.363.0"
|
"@tanstack/react-query": "5.28.6",
|
||||||
|
"lucide-react": "^0.363.0",
|
||||||
|
"next": "^14.1.4",
|
||||||
|
"react": "^18.2.0",
|
||||||
|
"react-hook-form": "^7.51.2",
|
||||||
|
"react-i18next": "^14.1.0",
|
||||||
|
"zod": "^3.22.4"
|
||||||
},
|
},
|
||||||
"prettier": "@kit/prettier-config",
|
"prettier": "@kit/prettier-config",
|
||||||
"eslintConfig": {
|
"eslintConfig": {
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
"@kit/shared": "workspace:^",
|
"@kit/shared": "workspace:^",
|
||||||
"@kit/tailwind-config": "workspace:*",
|
"@kit/tailwind-config": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"i18next": "^23.10.1",
|
"i18next": "^23.11.0",
|
||||||
"i18next-browser-languagedetector": "7.2.0",
|
"i18next-browser-languagedetector": "7.2.0",
|
||||||
"i18next-resources-to-backend": "^1.2.0",
|
"i18next-resources-to-backend": "^1.2.0",
|
||||||
"react-i18next": "^14.1.0"
|
"react-i18next": "^14.1.0"
|
||||||
|
|||||||
@@ -26,16 +26,12 @@ export function I18nProvider({
|
|||||||
|
|
||||||
async function withI18nClient(lang: string, resolver: Resolver) {
|
async function withI18nClient(lang: string, resolver: Resolver) {
|
||||||
if (typeof window !== 'undefined') {
|
if (typeof window !== 'undefined') {
|
||||||
client = await loadClientI18n(lang, resolver);
|
const { initializeI18nClient } = await import('./i18n.client');
|
||||||
|
|
||||||
|
client = await initializeI18nClient(lang, resolver);
|
||||||
} else {
|
} else {
|
||||||
const { initializeServerI18n } = await import('./i18n.server');
|
const { initializeServerI18n } = await import('./i18n.server');
|
||||||
|
|
||||||
client = await initializeServerI18n(lang, resolver);
|
client = await initializeServerI18n(lang, resolver);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function loadClientI18n(lang: string | undefined, resolver: Resolver) {
|
|
||||||
const { initializeI18nClient } = await import('./i18n.client');
|
|
||||||
|
|
||||||
return initializeI18nClient(lang, resolver);
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -5,19 +5,17 @@ import { initReactI18next } from 'react-i18next';
|
|||||||
|
|
||||||
import { I18N_COOKIE_NAME, getI18nSettings } from './i18n.settings';
|
import { I18N_COOKIE_NAME, getI18nSettings } from './i18n.settings';
|
||||||
|
|
||||||
let promise: Promise<i18n>;
|
|
||||||
|
|
||||||
export function initializeI18nClient(
|
export function initializeI18nClient(
|
||||||
lng: string | undefined,
|
lng: string | undefined,
|
||||||
i18nResolver: (lang: string, namespace: string) => Promise<object>,
|
i18nResolver: (lang: string, namespace: string) => Promise<object>,
|
||||||
): Promise<i18n> {
|
): Promise<i18n> {
|
||||||
const settings = getI18nSettings(lng);
|
const settings = getI18nSettings(lng);
|
||||||
|
|
||||||
if (promise !== undefined) {
|
if (i18next.isInitialized) {
|
||||||
return promise;
|
return Promise.resolve(i18next);
|
||||||
}
|
}
|
||||||
|
|
||||||
promise = new Promise<i18n>((resolve, reject) => {
|
return new Promise<i18n>((resolve, reject) => {
|
||||||
void i18next
|
void i18next
|
||||||
.use(initReactI18next)
|
.use(initReactI18next)
|
||||||
.use(
|
.use(
|
||||||
@@ -49,6 +47,4 @@ export function initializeI18nClient(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
return promise;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,11 @@ export async function initializeServerI18n(
|
|||||||
i18nResolver: (language: string, namespace: string) => Promise<object>,
|
i18nResolver: (language: string, namespace: string) => Promise<object>,
|
||||||
) {
|
) {
|
||||||
const i18nInstance = createInstance();
|
const i18nInstance = createInstance();
|
||||||
|
|
||||||
|
if (i18nInstance.isInitialized) {
|
||||||
|
return i18nInstance;
|
||||||
|
}
|
||||||
|
|
||||||
const settings = getI18nSettings(lang);
|
const settings = getI18nSettings(lang);
|
||||||
|
|
||||||
await i18nInstance
|
await i18nInstance
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ export const defaultI18nNamespaces = [
|
|||||||
'teams',
|
'teams',
|
||||||
'billing',
|
'billing',
|
||||||
'marketing',
|
'marketing',
|
||||||
'admin',
|
|
||||||
];
|
];
|
||||||
|
|
||||||
export function getI18nSettings(
|
export function getI18nSettings(
|
||||||
|
|||||||
@@ -21,7 +21,8 @@
|
|||||||
"@kit/prettier-config": "workspace:*",
|
"@kit/prettier-config": "workspace:*",
|
||||||
"@kit/tailwind-config": "workspace:*",
|
"@kit/tailwind-config": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@types/nodemailer": "6.4.14"
|
"@types/nodemailer": "6.4.14",
|
||||||
|
"zod": "^3.22.4"
|
||||||
},
|
},
|
||||||
"eslintConfig": {
|
"eslintConfig": {
|
||||||
"root": true,
|
"root": true,
|
||||||
|
|||||||
@@ -16,6 +16,9 @@
|
|||||||
"./config/edge": "./src/config/sentry.server.edge.ts"
|
"./config/edge": "./src/config/sentry.server.edge.ts"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@opentelemetry/resources": "1.23.0",
|
||||||
|
"@opentelemetry/sdk-node": "0.50.0",
|
||||||
|
"@opentelemetry/semantic-conventions": "^1.23.0",
|
||||||
"@sentry/nextjs": "^7.109.0",
|
"@sentry/nextjs": "^7.109.0",
|
||||||
"@sentry/opentelemetry-node": "^7.109.0"
|
"@sentry/opentelemetry-node": "^7.109.0"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ export async function registerSentryInstrumentation() {
|
|||||||
resource: new Resource({
|
resource: new Resource({
|
||||||
[SEMRESATTRS_SERVICE_NAME]: INSTRUMENTATION_SERVICE_NAME,
|
[SEMRESATTRS_SERVICE_NAME]: INSTRUMENTATION_SERVICE_NAME,
|
||||||
}),
|
}),
|
||||||
// @ts-expect-error: an error in the lib
|
|
||||||
spanProcessor: new SentrySpanProcessor(),
|
spanProcessor: new SentrySpanProcessor(),
|
||||||
textMapPropagator: new SentryPropagator(),
|
textMapPropagator: new SentryPropagator(),
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -15,7 +15,10 @@
|
|||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@kit/auth": "workspace:*",
|
"@kit/auth": "workspace:*",
|
||||||
"@kit/supabase": "workspace:*"
|
"@kit/supabase": "workspace:*",
|
||||||
|
"@supabase/supabase-js": "^2.42.0",
|
||||||
|
"next": "^14.1.4",
|
||||||
|
"zod": "^3.22.4"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@kit/auth": "*",
|
"@kit/auth": "*",
|
||||||
@@ -23,7 +26,10 @@
|
|||||||
"@kit/prettier-config": "workspace:*",
|
"@kit/prettier-config": "workspace:*",
|
||||||
"@kit/supabase": "*",
|
"@kit/supabase": "*",
|
||||||
"@kit/tailwind-config": "workspace:*",
|
"@kit/tailwind-config": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*"
|
"@kit/tsconfig": "workspace:*",
|
||||||
|
"@supabase/supabase-js": "^2.42.0",
|
||||||
|
"next": "14.2.0-canary.63",
|
||||||
|
"zod": "^3.22.4"
|
||||||
},
|
},
|
||||||
"eslintConfig": {
|
"eslintConfig": {
|
||||||
"root": true,
|
"root": true,
|
||||||
|
|||||||
@@ -29,15 +29,22 @@
|
|||||||
"@kit/tailwind-config": "workspace:*",
|
"@kit/tailwind-config": "workspace:*",
|
||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@supabase/gotrue-js": "2.62.2",
|
"@supabase/gotrue-js": "2.62.2",
|
||||||
"@supabase/ssr": "^0.1.0",
|
"@supabase/ssr": "^0.3.0",
|
||||||
"@supabase/supabase-js": "^2.42.0",
|
"@supabase/supabase-js": "^2.42.0",
|
||||||
"@tanstack/react-query": "5.28.6"
|
"@tanstack/react-query": "5.28.6",
|
||||||
|
"@types/react": "^18.2.75",
|
||||||
|
"next": "14.2.0-canary.63",
|
||||||
|
"react": "18.2.0",
|
||||||
|
"zod": "^3.22.4"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@epic-web/invariant": "^1.0.0",
|
"@epic-web/invariant": "^1.0.0",
|
||||||
"@supabase/ssr": "^0.1.0",
|
"@supabase/ssr": "^0.1.0",
|
||||||
"@supabase/supabase-js": "^2.42.0",
|
"@supabase/supabase-js": "^2.42.0",
|
||||||
"@tanstack/react-query": "^5.28.6"
|
"@tanstack/react-query": "^5.28.6",
|
||||||
|
"next": "^14.1.4",
|
||||||
|
"react": "^18.2.0",
|
||||||
|
"zod": "^3.22.4"
|
||||||
},
|
},
|
||||||
"eslintConfig": {
|
"eslintConfig": {
|
||||||
"root": true,
|
"root": true,
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"class-variance-authority": "^0.7.0",
|
"class-variance-authority": "^0.7.0",
|
||||||
"date-fns": "^3.2.0",
|
"date-fns": "^3.2.0",
|
||||||
"lucide-react": "^0.366.0",
|
"lucide-react": "^0.366.0",
|
||||||
|
"next": "^14.1.4",
|
||||||
|
"next-themes": "^0.3.0",
|
||||||
"react-hook-form": "^7.51.2",
|
"react-hook-form": "^7.51.2",
|
||||||
"react-i18next": "^14.1.0",
|
"react-i18next": "^14.1.0",
|
||||||
"sonner": "^1.4.41",
|
"sonner": "^1.4.41",
|
||||||
@@ -51,12 +53,14 @@
|
|||||||
"@kit/tsconfig": "workspace:*",
|
"@kit/tsconfig": "workspace:*",
|
||||||
"@radix-ui/react-icons": "^1.3.0",
|
"@radix-ui/react-icons": "^1.3.0",
|
||||||
"@tanstack/react-table": "^8.15.3",
|
"@tanstack/react-table": "^8.15.3",
|
||||||
"@types/react": "^18.2.73",
|
"@types/react": "^18.2.75",
|
||||||
"@types/react-dom": "^18.2.22",
|
"@types/react-dom": "^18.2.22",
|
||||||
"class-variance-authority": "^0.7.0",
|
"class-variance-authority": "^0.7.0",
|
||||||
"date-fns": "^3.6.0",
|
"date-fns": "^3.6.0",
|
||||||
"eslint": "^8.57.0",
|
"eslint": "^8.57.0",
|
||||||
"lucide-react": "^0.363.0",
|
"lucide-react": "^0.363.0",
|
||||||
|
"next": "14.2.0-canary.63",
|
||||||
|
"next-themes": "0.3.0",
|
||||||
"prettier": "^3.2.5",
|
"prettier": "^3.2.5",
|
||||||
"react-day-picker": "^8.10.0",
|
"react-day-picker": "^8.10.0",
|
||||||
"react-hook-form": "^7.51.2",
|
"react-hook-form": "^7.51.2",
|
||||||
@@ -119,7 +123,6 @@
|
|||||||
"./auth-change-listener": "./src/makerkit/auth-change-listener.tsx",
|
"./auth-change-listener": "./src/makerkit/auth-change-listener.tsx",
|
||||||
"./loading-overlay": "./src/makerkit/loading-overlay.tsx",
|
"./loading-overlay": "./src/makerkit/loading-overlay.tsx",
|
||||||
"./profile-avatar": "./src/makerkit/profile-avatar.tsx",
|
"./profile-avatar": "./src/makerkit/profile-avatar.tsx",
|
||||||
"./mdx-components": "./src/makerkit/mdx-components.tsx",
|
|
||||||
"./mode-toggle": "./src/makerkit/mode-toggle.tsx",
|
"./mode-toggle": "./src/makerkit/mode-toggle.tsx",
|
||||||
"./enhanced-data-table": "./src/makerkit/data-table.tsx"
|
"./enhanced-data-table": "./src/makerkit/data-table.tsx"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,80 +0,0 @@
|
|||||||
import { forwardRef } from 'react';
|
|
||||||
|
|
||||||
import Image from 'next/image';
|
|
||||||
|
|
||||||
import { cn } from '../utils';
|
|
||||||
import { LazyRender } from './lazy-render';
|
|
||||||
|
|
||||||
const NextImage: React.FC<{
|
|
||||||
width: number;
|
|
||||||
height: number;
|
|
||||||
src: string;
|
|
||||||
alt: string;
|
|
||||||
class?: string;
|
|
||||||
}> = (props) => {
|
|
||||||
const className = cn(props.class, `object-cover`);
|
|
||||||
|
|
||||||
return <Image className={className} src={props.src} alt={props.alt} />;
|
|
||||||
};
|
|
||||||
|
|
||||||
const ExternalLink = forwardRef<
|
|
||||||
React.ElementRef<'a'>,
|
|
||||||
React.AnchorHTMLAttributes<unknown>
|
|
||||||
>(function ExternalLink(props, ref) {
|
|
||||||
const href = props.href ?? '';
|
|
||||||
const isRoot = href === '/';
|
|
||||||
|
|
||||||
const isInternalLink =
|
|
||||||
isRoot || href.startsWith(process.env.NEXT_PUBLIC_SITE_URL!);
|
|
||||||
|
|
||||||
if (isInternalLink) {
|
|
||||||
return (
|
|
||||||
<a {...props} ref={ref} href={href}>
|
|
||||||
{props.children}
|
|
||||||
</a>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<a
|
|
||||||
href={href}
|
|
||||||
ref={ref}
|
|
||||||
{...props}
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener noreferrer"
|
|
||||||
>
|
|
||||||
{props.children}
|
|
||||||
</a>
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
const Video: React.FC<{
|
|
||||||
src: string;
|
|
||||||
width?: string;
|
|
||||||
type?: string;
|
|
||||||
}> = ({ src, type, width }) => {
|
|
||||||
const useType = type ?? 'video/mp4';
|
|
||||||
|
|
||||||
return (
|
|
||||||
<LazyRender rootMargin={'-200px 0px'}>
|
|
||||||
<video
|
|
||||||
className="my-4"
|
|
||||||
width={width ?? `100%`}
|
|
||||||
height="auto"
|
|
||||||
playsInline
|
|
||||||
autoPlay
|
|
||||||
muted
|
|
||||||
loop
|
|
||||||
>
|
|
||||||
<source src={src} type={useType} />
|
|
||||||
</video>
|
|
||||||
</LazyRender>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export const MDXComponents = {
|
|
||||||
img: NextImage,
|
|
||||||
a: ExternalLink,
|
|
||||||
Video,
|
|
||||||
Image: NextImage,
|
|
||||||
};
|
|
||||||
2637
pnpm-lock.yaml
generated
2637
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,5 @@
|
|||||||
import type { Config } from 'tailwindcss';
|
import type { Config } from 'tailwindcss';
|
||||||
|
import tailwindCssAnimate from 'tailwindcss-animate';
|
||||||
import { fontFamily } from 'tailwindcss/defaultTheme';
|
import { fontFamily } from 'tailwindcss/defaultTheme';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -109,5 +110,5 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
plugins: [require('tailwindcss-animate')],
|
plugins: [tailwindCssAnimate],
|
||||||
} satisfies Config;
|
} satisfies Config;
|
||||||
|
|||||||
@@ -16,7 +16,8 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"autoprefixer": "^10.4.19",
|
"autoprefixer": "^10.4.19",
|
||||||
"postcss": "8.4.33",
|
"postcss": "8.4.33",
|
||||||
"tailwindcss": "3.4.1"
|
"tailwindcss": "3.4.1",
|
||||||
|
"tailwindcss-animate": "^1.0.7"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@kit/eslint-config": "workspace:^",
|
"@kit/eslint-config": "workspace:^",
|
||||||
|
|||||||
Reference in New Issue
Block a user