91 lines
3.8 KiB
TypeScript
91 lines
3.8 KiB
TypeScript
import react from "@vitejs/plugin-react";
|
|
import { defineConfig } from "vite";
|
|
import dts from "vite-plugin-dts";
|
|
|
|
export default defineConfig({
|
|
root: __dirname,
|
|
cacheDir: "../../../node_modules/.vite/packages/react-auth",
|
|
plugins: [
|
|
react(),
|
|
dts({
|
|
entryRoot: "src",
|
|
tsconfigPath: "./tsconfig.lib.json",
|
|
insertTypesEntry: true,
|
|
}),
|
|
],
|
|
build: {
|
|
outDir: "./dist",
|
|
emptyOutDir: true,
|
|
reportCompressedSize: true,
|
|
sourcemap: true,
|
|
lib: {
|
|
entry: {
|
|
index: "src/index.ts",
|
|
"client/auth-client": "src/client/auth-client.ts",
|
|
"lib/better-auth-adapter": "src/lib/better-auth-adapter.ts",
|
|
"context/auth-context": "src/context/auth-context.tsx",
|
|
"hooks/use-auth-guard": "src/hooks/use-auth-guard.ts",
|
|
"hooks/use-permission": "src/hooks/use-permission.ts",
|
|
"components/auth-guard/auth-guard":
|
|
"src/components/auth-guard/auth-guard.tsx",
|
|
"components/auth-provider/auth-provider":
|
|
"src/components/auth-provider/auth-provider.tsx",
|
|
"components/login-form/login-form":
|
|
"src/components/login-form/login-form.tsx",
|
|
"components/register-form/register-form":
|
|
"src/components/register-form/register-form.tsx",
|
|
"components/forgot-password-form/forgot-password-form":
|
|
"src/components/forgot-password-form/forgot-password-form.tsx",
|
|
"components/reset-password-form/reset-password-form":
|
|
"src/components/reset-password-form/reset-password-form.tsx",
|
|
"components/email-verification-view/email-verification-view":
|
|
"src/components/email-verification-view/email-verification-view.tsx",
|
|
"components/permission-gate/permission-gate":
|
|
"src/components/permission-gate/permission-gate.tsx",
|
|
"pages/login/login": "src/pages/login/login.tsx",
|
|
"pages/register/register": "src/pages/register/register.tsx",
|
|
"pages/forgot-password/forgot-password":
|
|
"src/pages/forgot-password/forgot-password.tsx",
|
|
"pages/reset-password/reset-password":
|
|
"src/pages/reset-password/reset-password.tsx",
|
|
"pages/email-verification/email-verification":
|
|
"src/pages/email-verification/email-verification.tsx",
|
|
"pages/profile/profile": "src/pages/profile/profile.tsx",
|
|
"types/index": "src/types/index.ts",
|
|
"translations/index": "src/translations/index.ts",
|
|
"error-codes/error-codes": "src/error-codes/error-codes.ts",
|
|
"observability/react-auth-metrics":
|
|
"src/observability/react-auth-metrics.ts",
|
|
},
|
|
formats: ["es"],
|
|
},
|
|
rollupOptions: {
|
|
treeshake: true,
|
|
output: {
|
|
preserveModules: true,
|
|
preserveModulesRoot: "src",
|
|
entryFileNames: "[name].js",
|
|
},
|
|
external: [
|
|
"@hookform/resolvers",
|
|
"@hookform/resolvers/zod",
|
|
"@opentelemetry/api",
|
|
"@suaveplan/error",
|
|
"@suaveplan/react-ui",
|
|
"@suaveplan/types",
|
|
"better-auth",
|
|
"better-auth/client",
|
|
"lucide-react",
|
|
"react",
|
|
"react-dom",
|
|
"react/jsx-runtime",
|
|
"react-hook-form",
|
|
"react-router-dom",
|
|
"tslib",
|
|
"zod",
|
|
/^node:/,
|
|
],
|
|
},
|
|
},
|
|
});
|