mirror of
https://github.com/LukeHagar/better-auth.git
synced 2025-12-06 04:19:20 +00:00
chore: bump biome (#3784)
This commit is contained in:
39
biome.json
39
biome.json
@@ -1,12 +1,11 @@
|
||||
{
|
||||
"$schema": "https://biomejs.dev/schemas/1.8.3/schema.json",
|
||||
"root": true,
|
||||
"$schema": "https://biomejs.dev/schemas/2.1.3/schema.json",
|
||||
"formatter": {
|
||||
"enabled": true,
|
||||
"indentStyle": "tab"
|
||||
},
|
||||
"organizeImports": {
|
||||
"enabled": false
|
||||
},
|
||||
"assist": { "actions": { "source": { "organizeImports": "off" } } },
|
||||
"linter": {
|
||||
"enabled": true,
|
||||
"rules": {
|
||||
@@ -24,12 +23,15 @@
|
||||
},
|
||||
"correctness": {
|
||||
"noUnusedImports": "warn"
|
||||
},
|
||||
"nursery": {
|
||||
"noMisusedPromises": "error"
|
||||
}
|
||||
}
|
||||
},
|
||||
"overrides": [
|
||||
{
|
||||
"include": ["examples/svelte-kit-example/**"],
|
||||
"includes": ["**/examples/svelte-kit-example/**"],
|
||||
"linter": {
|
||||
"rules": {
|
||||
"correctness": {
|
||||
@@ -40,19 +42,20 @@
|
||||
}
|
||||
],
|
||||
"files": {
|
||||
"ignore": [
|
||||
"dist",
|
||||
"build",
|
||||
".next",
|
||||
".svelte-kit",
|
||||
"package.json",
|
||||
".contentlayer",
|
||||
".turbo",
|
||||
".nuxt",
|
||||
".source",
|
||||
".expo",
|
||||
".cache",
|
||||
"dev/cloudflare/drizzle"
|
||||
"includes": [
|
||||
"**",
|
||||
"!**/dist",
|
||||
"!**/build",
|
||||
"!**/.next",
|
||||
"!**/.svelte-kit",
|
||||
"!**/package.json",
|
||||
"!**/.contentlayer",
|
||||
"!**/.turbo",
|
||||
"!**/.nuxt",
|
||||
"!**/.source",
|
||||
"!**/.expo",
|
||||
"!**/.cache",
|
||||
"!**/dev/cloudflare/drizzle"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,10 +15,7 @@ import { ArrowUpFromLine, CreditCard, RefreshCcw } from "lucide-react";
|
||||
import { useId, useState } from "react";
|
||||
import { toast } from "sonner";
|
||||
|
||||
function Component(props: {
|
||||
currentPlan?: string;
|
||||
isTrial?: boolean;
|
||||
}) {
|
||||
function Component(props: { currentPlan?: string; isTrial?: boolean }) {
|
||||
const [selectedPlan, setSelectedPlan] = useState("plus");
|
||||
const id = useId();
|
||||
return (
|
||||
|
||||
@@ -20,11 +20,7 @@ import { Session } from "@/lib/auth-types";
|
||||
import { client, useSession } from "@/lib/auth-client";
|
||||
import { useRouter } from "next/navigation";
|
||||
|
||||
export default function AccountSwitcher({
|
||||
sessions,
|
||||
}: {
|
||||
sessions: Session[];
|
||||
}) {
|
||||
export default function AccountSwitcher({ sessions }: { sessions: Session[] }) {
|
||||
const { data: currentUser } = useSession();
|
||||
const [open, setOpen] = useState(false);
|
||||
const router = useRouter();
|
||||
|
||||
@@ -251,11 +251,10 @@ html {
|
||||
|
||||
@layer utilities {
|
||||
.no-scrollbar::-webkit-scrollbar {
|
||||
display: none;
|
||||
display: none;
|
||||
}
|
||||
.no-scrollbar {
|
||||
-ms-overflow-style: none;
|
||||
scrollbar-width: none;
|
||||
-ms-overflow-style: none;
|
||||
scrollbar-width: none;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -319,7 +319,10 @@ function getChildren(
|
||||
function TypeTable({
|
||||
props,
|
||||
isServer,
|
||||
}: { props: Property[]; isServer: boolean }) {
|
||||
}: {
|
||||
props: Property[];
|
||||
isServer: boolean;
|
||||
}) {
|
||||
if (!isServer && !props.filter((x) => !x.isServerOnly).length) return null;
|
||||
if (isServer && !props.filter((x) => !x.isClientOnly).length) return null;
|
||||
if (!props.length) return null;
|
||||
|
||||
@@ -9,11 +9,7 @@ type Tab = {
|
||||
content?: string | React.ReactNode | any;
|
||||
};
|
||||
|
||||
export const AuthTabs = ({
|
||||
tabs: propTabs,
|
||||
}: {
|
||||
tabs: Tab[];
|
||||
}) => {
|
||||
export const AuthTabs = ({ tabs: propTabs }: { tabs: Tab[] }) => {
|
||||
const [active, setActive] = useState<Tab>(propTabs[0]);
|
||||
const [tabs, setTabs] = useState<Tab[]>(propTabs);
|
||||
const isActive = (tab: Tab) => {
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
const SectionSvg = ({
|
||||
crossesOffset,
|
||||
}: {
|
||||
crossesOffset: string;
|
||||
}) => {
|
||||
const SectionSvg = ({ crossesOffset }: { crossesOffset: string }) => {
|
||||
return (
|
||||
<>
|
||||
<PlusSvg
|
||||
|
||||
@@ -211,7 +211,10 @@ const tabs = [
|
||||
function SidebarTab({
|
||||
group,
|
||||
setGroup,
|
||||
}: { group: string; setGroup: (group: string) => void }) {
|
||||
}: {
|
||||
group: string;
|
||||
setGroup: (group: string) => void;
|
||||
}) {
|
||||
const router = useRouter();
|
||||
const selected = tabs.find((tab) => tab.value === group);
|
||||
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
@import "tailwindcss";
|
||||
|
||||
:root {
|
||||
--background: #ffffff;
|
||||
--foreground: #171717;
|
||||
--background: #ffffff;
|
||||
--foreground: #171717;
|
||||
}
|
||||
|
||||
@theme inline {
|
||||
--color-background: var(--background);
|
||||
--color-foreground: var(--foreground);
|
||||
--font-sans: var(--font-geist-sans);
|
||||
--font-mono: var(--font-geist-mono);
|
||||
--color-background: var(--background);
|
||||
--color-foreground: var(--foreground);
|
||||
--font-sans: var(--font-geist-sans);
|
||||
--font-mono: var(--font-geist-mono);
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--background: #0a0a0a;
|
||||
--foreground: #ededed;
|
||||
}
|
||||
:root {
|
||||
--background: #0a0a0a;
|
||||
--foreground: #ededed;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
background: var(--background);
|
||||
color: var(--foreground);
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
background: var(--background);
|
||||
color: var(--foreground);
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
@@ -82,6 +82,7 @@ export function LoginForm() {
|
||||
height="1em"
|
||||
viewBox="0 0 24 24"
|
||||
>
|
||||
<title>Discord logo</title>
|
||||
<path
|
||||
fill="currentColor"
|
||||
d="M19.27 5.33C17.94 4.71 16.5 4.26 15 4a.1.1 0 0 0-.07.03c-.18.33-.39.76-.53 1.09a16.1 16.1 0 0 0-4.8 0c-.14-.34-.35-.76-.54-1.09c-.01-.02-.04-.03-.07-.03c-1.5.26-2.93.71-4.27 1.33c-.01 0-.02.01-.03.02c-2.72 4.07-3.47 8.03-3.1 11.95c0 .02.01.04.03.05c1.8 1.32 3.53 2.12 5.24 2.65c.03.01.06 0 .07-.02c.4-.55.76-1.13 1.07-1.74c.02-.04 0-.08-.04-.09c-.57-.22-1.11-.48-1.64-.78c-.04-.02-.04-.08-.01-.11c.11-.08.22-.17.33-.25c.02-.02.05-.02.07-.01c3.44 1.57 7.15 1.57 10.55 0c.02-.01.05-.01.07.01c.11.09.22.17.33.26c.04.03.04.09-.01.11c-.52.31-1.07.56-1.64.78c-.04.01-.05.06-.04.09c.32.61.68 1.19 1.07 1.74c.03.01.06.02.09.01c1.72-.53 3.45-1.33 5.25-2.65c.02-.01.03-.03.03-.05c.44-4.53-.73-8.46-3.1-11.95c-.01-.01-.02-.02-.04-.02M8.52 14.91c-1.03 0-1.89-.95-1.89-2.12s.84-2.12 1.89-2.12c1.06 0 1.9.96 1.89 2.12c0 1.17-.84 2.12-1.89 2.12m6.97 0c-1.03 0-1.89-.95-1.89-2.12s.84-2.12 1.89-2.12c1.06 0 1.9.96 1.89 2.12c0 1.17-.83 2.12-1.89 2.12"
|
||||
@@ -105,6 +106,7 @@ export function LoginForm() {
|
||||
height="1em"
|
||||
viewBox="0 0 24 24"
|
||||
>
|
||||
<title>GitHub logo</title>
|
||||
<path
|
||||
fill="currentColor"
|
||||
d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5c.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34c-.46-1.16-1.11-1.47-1.11-1.47c-.91-.62.07-.6.07-.6c1 .07 1.53 1.03 1.53 1.03c.87 1.52 2.34 1.07 2.91.83c.09-.65.35-1.09.63-1.34c-2.22-.25-4.55-1.11-4.55-4.92c0-1.11.38-2 1.03-2.71c-.1-.25-.45-1.29.1-2.64c0 0 .84-.27 2.75 1.02c.79-.22 1.65-.33 2.5-.33s1.71.11 2.5.33c1.91-1.29 2.75-1.02 2.75-1.02c.55 1.35.2 2.39.1 2.64c.65.71 1.03 1.6 1.03 2.71c0 3.82-2.34 4.66-4.57 4.91c.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"use client";
|
||||
|
||||
import * as React from "react";
|
||||
import * as AvatarPrimitive from "@radix-ui/react-avatar";
|
||||
import * as React from "react";
|
||||
|
||||
import { cn } from "~/lib/utils";
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"use client";
|
||||
|
||||
import { Slot } from "@radix-ui/react-slot";
|
||||
import { type VariantProps, cva } from "class-variance-authority";
|
||||
import { cva, type VariantProps } from "class-variance-authority";
|
||||
import * as React from "react";
|
||||
|
||||
import { cn } from "~/lib/utils";
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"use client";
|
||||
|
||||
import * as React from "react";
|
||||
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
||||
import { X } from "lucide-react";
|
||||
import * as React from "react";
|
||||
|
||||
import { cn } from "~/lib/utils";
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"use client";
|
||||
|
||||
import * as React from "react";
|
||||
import * as LabelPrimitive from "@radix-ui/react-label";
|
||||
import { cva, type VariantProps } from "class-variance-authority";
|
||||
import * as React from "react";
|
||||
|
||||
import { cn } from "~/lib/utils";
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { twoFactor } from "better-auth/plugins";
|
||||
import { betterAuth } from "better-auth";
|
||||
import { twoFactor } from "better-auth/plugins";
|
||||
import Database from "better-sqlite3";
|
||||
|
||||
export const auth = betterAuth({
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { X } from "lucide-react-native";
|
||||
import { iconWithClassName } from "./iconWithClassName";
|
||||
|
||||
iconWithClassName(X);
|
||||
export { X };
|
||||
|
||||
@@ -76,6 +76,8 @@
|
||||
}
|
||||
body {
|
||||
@apply bg-background text-foreground;
|
||||
font-feature-settings: "rlig" 1, "calt" 1;
|
||||
font-feature-settings:
|
||||
"rlig" 1,
|
||||
"calt" 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,10 +11,10 @@
|
||||
// Import Routes
|
||||
|
||||
import { Route as rootRoute } from "./routes/__root";
|
||||
import { Route as IndexImport } from "./routes/index";
|
||||
import { Route as AuthTwoFactorImport } from "./routes/auth/two-factor";
|
||||
import { Route as AuthSignupImport } from "./routes/auth/signup";
|
||||
import { Route as AuthSigninImport } from "./routes/auth/signin";
|
||||
import { Route as AuthSignupImport } from "./routes/auth/signup";
|
||||
import { Route as AuthTwoFactorImport } from "./routes/auth/two-factor";
|
||||
import { Route as IndexImport } from "./routes/index";
|
||||
|
||||
// Create/Update Routes
|
||||
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
import { Link, createRootRoute, useRouter } from "@tanstack/react-router";
|
||||
import { Outlet, ScrollRestoration } from "@tanstack/react-router";
|
||||
import {
|
||||
createRootRoute,
|
||||
Link,
|
||||
Outlet,
|
||||
ScrollRestoration,
|
||||
useRouter,
|
||||
} from "@tanstack/react-router";
|
||||
import { Body, Head, Html, Meta, Scripts } from "@tanstack/start";
|
||||
import type * as React from "react";
|
||||
import { useEffect, useState } from "react";
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { Laptop, Loader2, Phone, ShieldCheck, ShieldOff } from "lucide-react";
|
||||
import { useState } from "react";
|
||||
import QRCode from "react-qr-code";
|
||||
import { toast } from "sonner";
|
||||
import { UAParser } from "ua-parser-js";
|
||||
import { Button } from "~/components/ui/button";
|
||||
import {
|
||||
Card,
|
||||
CardContent,
|
||||
@@ -5,11 +12,6 @@ import {
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "~/components/ui/card";
|
||||
|
||||
import { twoFactor, useSession } from "~/lib/auth-client";
|
||||
import { UAParser } from "ua-parser-js";
|
||||
import { Laptop, Loader2, Phone, ShieldCheck, ShieldOff } from "lucide-react";
|
||||
import { useState } from "react";
|
||||
import {
|
||||
Dialog,
|
||||
DialogContent,
|
||||
@@ -19,12 +21,9 @@ import {
|
||||
DialogTitle,
|
||||
DialogTrigger,
|
||||
} from "~/components/ui/dialog";
|
||||
import { Button } from "~/components/ui/button";
|
||||
import { Label } from "~/components/ui/label";
|
||||
import { Input } from "~/components/ui/input";
|
||||
import { toast } from "sonner";
|
||||
import QRCode from "react-qr-code";
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { Label } from "~/components/ui/label";
|
||||
import { twoFactor, useSession } from "~/lib/auth-client";
|
||||
|
||||
export const Route = createFileRoute("/")({
|
||||
component: Home,
|
||||
|
||||
@@ -1,21 +1,33 @@
|
||||
{
|
||||
"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
|
||||
"root": false,
|
||||
"$schema": "https://biomejs.dev/schemas/2.1.3/schema.json",
|
||||
"vcs": {
|
||||
"enabled": false,
|
||||
"clientKind": "git",
|
||||
"useIgnoreFile": false
|
||||
},
|
||||
"files": {
|
||||
"ignoreUnknown": false,
|
||||
"ignore": []
|
||||
"includes": [
|
||||
"**",
|
||||
"!**/dist",
|
||||
"!**/build",
|
||||
"!**/.next",
|
||||
"!**/.svelte-kit",
|
||||
"!**/package.json",
|
||||
"!**/.contentlayer",
|
||||
"!**/.turbo",
|
||||
"!**/.nuxt",
|
||||
"!**/.source",
|
||||
"!**/.expo",
|
||||
"!**/.cache",
|
||||
"!**/dev/cloudflare/drizzle"
|
||||
]
|
||||
},
|
||||
"formatter": {
|
||||
"enabled": true,
|
||||
"indentStyle": "tab"
|
||||
},
|
||||
"organizeImports": {
|
||||
"enabled": true
|
||||
},
|
||||
"assist": { "actions": { "source": { "organizeImports": "on" } } },
|
||||
"linter": {
|
||||
"enabled": true,
|
||||
"rules": {
|
||||
|
||||
81
package.json
81
package.json
@@ -1,44 +1,43 @@
|
||||
{
|
||||
"name": "@better-auth/root",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"version": "0.0.2-beta.8",
|
||||
"packageManager": "pnpm@9.15.0",
|
||||
"scripts": {
|
||||
"build": "turbo --filter \"./packages/*\" build",
|
||||
"dev": "turbo --filter \"./packages/*\" dev",
|
||||
"dev:dts": "turbo --filter \"./packages/*\" dev:dts",
|
||||
"clean": "turbo --filter \"./packages/*\" clean && rm -rf node_modules",
|
||||
"format": "biome format . --write",
|
||||
"lint": "biome check .",
|
||||
"lint:fix": "biome check . --apply",
|
||||
"release": "turbo --filter \"./packages/*\" build && bumpp && pnpm -r publish --access public --no-git-checks",
|
||||
"release:no-build": "bumpp && pnpm -r publish --access public --no-git-checks --tag next",
|
||||
"release:canary": "turbo --filter \"./packages/*\" build && bumpp && pnpm -r publish --access public --tag canary --no-git-checks",
|
||||
"bump": "bumpp",
|
||||
"test": "turbo --filter \"./packages/*\" test",
|
||||
"typecheck": "turbo --filter \"./packages/*\" typecheck"
|
||||
},
|
||||
"dependencies": {
|
||||
"@biomejs/biome": "1.7.3",
|
||||
|
||||
"@types/node": "^20.17.9",
|
||||
"bumpp": "^9.8.1",
|
||||
"cross-env": "^7.0.3",
|
||||
"dotenv-cli": "^7.4.4",
|
||||
"simple-git-hooks": "^2.11.1",
|
||||
"taze": "^0.18.0",
|
||||
"tinyglobby": "^0.2.10",
|
||||
"turbo": "^2.3.3",
|
||||
"typescript": "catalog:"
|
||||
},
|
||||
"pnpm": {
|
||||
"overrides": {
|
||||
"mdast-util-frontmatter": "2.0.1",
|
||||
"remark-mdx": "3.0.0",
|
||||
"remark-parse": "11.0.0",
|
||||
"unified": "11.0.4",
|
||||
"whatwg-url": "^14.0.0"
|
||||
}
|
||||
"name": "@better-auth/root",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"version": "0.0.2-beta.8",
|
||||
"packageManager": "pnpm@9.15.0",
|
||||
"scripts": {
|
||||
"build": "turbo --filter \"./packages/*\" build",
|
||||
"dev": "turbo --filter \"./packages/*\" dev",
|
||||
"dev:dts": "turbo --filter \"./packages/*\" dev:dts",
|
||||
"clean": "turbo --filter \"./packages/*\" clean && rm -rf node_modules",
|
||||
"format": "biome format . --write",
|
||||
"lint": "biome check .",
|
||||
"lint:fix": "biome check . --fix",
|
||||
"release": "turbo --filter \"./packages/*\" build && bumpp && pnpm -r publish --access public --no-git-checks",
|
||||
"release:no-build": "bumpp && pnpm -r publish --access public --no-git-checks --tag next",
|
||||
"release:canary": "turbo --filter \"./packages/*\" build && bumpp && pnpm -r publish --access public --tag canary --no-git-checks",
|
||||
"bump": "bumpp",
|
||||
"test": "turbo --filter \"./packages/*\" test",
|
||||
"typecheck": "turbo --filter \"./packages/*\" typecheck"
|
||||
},
|
||||
"dependencies": {
|
||||
"@biomejs/biome": "2.1.3",
|
||||
"@types/node": "^20.17.9",
|
||||
"bumpp": "^9.8.1",
|
||||
"cross-env": "^7.0.3",
|
||||
"dotenv-cli": "^7.4.4",
|
||||
"simple-git-hooks": "^2.11.1",
|
||||
"taze": "^0.18.0",
|
||||
"tinyglobby": "^0.2.10",
|
||||
"turbo": "^2.3.3",
|
||||
"typescript": "catalog:"
|
||||
},
|
||||
"pnpm": {
|
||||
"overrides": {
|
||||
"mdast-util-frontmatter": "2.0.1",
|
||||
"remark-mdx": "3.0.0",
|
||||
"remark-parse": "11.0.0",
|
||||
"unified": "11.0.4",
|
||||
"whatwg-url": "^14.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -88,7 +88,10 @@ export const createAdapter =
|
||||
const getDefaultFieldName = ({
|
||||
field,
|
||||
model: unsafe_model,
|
||||
}: { model: string; field: string }) => {
|
||||
}: {
|
||||
model: string;
|
||||
field: string;
|
||||
}) => {
|
||||
// Plugin `schema`s can't define their own `id`. Better-auth auto provides `id` to every schema model.
|
||||
// Given this, we can't just check if the `field` (that being `id`) is within the schema's fields, since it is never defined.
|
||||
// So we check if the `field` is `id` and if so, we return `id` itself. Otherwise, we return the `field` from the schema.
|
||||
@@ -184,7 +187,10 @@ export const createAdapter =
|
||||
function getFieldName({
|
||||
model: model_name,
|
||||
field: field_name,
|
||||
}: { model: string; field: string }) {
|
||||
}: {
|
||||
model: string;
|
||||
field: string;
|
||||
}) {
|
||||
const model = getDefaultModelName(model_name);
|
||||
const field = getDefaultFieldName({ model, field: field_name });
|
||||
|
||||
@@ -251,7 +257,10 @@ export const createAdapter =
|
||||
const idField = ({
|
||||
customModelName,
|
||||
forceAllowId,
|
||||
}: { customModelName?: string; forceAllowId?: boolean }) => {
|
||||
}: {
|
||||
customModelName?: string;
|
||||
forceAllowId?: boolean;
|
||||
}) => {
|
||||
const shouldGenerateId =
|
||||
!config.disableIdGeneration &&
|
||||
!options.advanced?.database?.useNumberId &&
|
||||
@@ -291,7 +300,10 @@ export const createAdapter =
|
||||
const getFieldAttributes = ({
|
||||
model,
|
||||
field,
|
||||
}: { model: string; field: string }) => {
|
||||
}: {
|
||||
model: string;
|
||||
field: string;
|
||||
}) => {
|
||||
const defaultModelName = getDefaultModelName(model);
|
||||
const defaultFieldName = getDefaultFieldName({
|
||||
field: field,
|
||||
@@ -482,9 +494,10 @@ export const createAdapter =
|
||||
const transformWhereClause = <W extends Where[] | undefined>({
|
||||
model,
|
||||
where,
|
||||
}: { where: W; model: string }): W extends undefined
|
||||
? undefined
|
||||
: CleanedWhere[] => {
|
||||
}: {
|
||||
where: W;
|
||||
model: string;
|
||||
}): W extends undefined ? undefined : CleanedWhere[] => {
|
||||
if (!where) return undefined as any;
|
||||
const newMappedKeys = config.mapKeysTransformInput ?? {};
|
||||
|
||||
|
||||
@@ -222,9 +222,7 @@ export interface AdapterConfig {
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
customIdGenerator?: (props: {
|
||||
model: string;
|
||||
}) => string;
|
||||
customIdGenerator?: (props: { model: string }) => string;
|
||||
}
|
||||
|
||||
export type CreateCustomAdapter = ({
|
||||
@@ -280,7 +278,10 @@ export type CreateCustomAdapter = ({
|
||||
getDefaultFieldName: ({
|
||||
model,
|
||||
field,
|
||||
}: { model: string; field: string }) => string;
|
||||
}: {
|
||||
model: string;
|
||||
field: string;
|
||||
}) => string;
|
||||
/**
|
||||
* Get the field attributes for a given model and field.
|
||||
*
|
||||
@@ -289,7 +290,10 @@ export type CreateCustomAdapter = ({
|
||||
getFieldAttributes: ({
|
||||
model,
|
||||
field,
|
||||
}: { model: string; field: string }) => FieldAttribute;
|
||||
}: {
|
||||
model: string;
|
||||
field: string;
|
||||
}) => FieldAttribute;
|
||||
}) => CustomAdapter;
|
||||
|
||||
export interface CustomAdapter {
|
||||
|
||||
@@ -29,7 +29,10 @@ const mysqlKy = new Kysely({
|
||||
export const opts = ({
|
||||
database,
|
||||
isNumberIdTest,
|
||||
}: { database: BetterAuthOptions["database"]; isNumberIdTest: boolean }) =>
|
||||
}: {
|
||||
database: BetterAuthOptions["database"];
|
||||
isNumberIdTest: boolean;
|
||||
}) =>
|
||||
({
|
||||
database: database,
|
||||
user: {
|
||||
|
||||
@@ -15,7 +15,10 @@ import type { BetterAuthOptions } from "../../../../types";
|
||||
export const opts = ({
|
||||
database,
|
||||
isNumberIdTest,
|
||||
}: { database: BetterAuthOptions["database"]; isNumberIdTest: boolean }) =>
|
||||
}: {
|
||||
database: BetterAuthOptions["database"];
|
||||
isNumberIdTest: boolean;
|
||||
}) =>
|
||||
({
|
||||
database: database,
|
||||
user: {
|
||||
|
||||
@@ -96,7 +96,11 @@ export const mongodbAdapter = (db: Db, config?: MongoDBAdapterConfig) => {
|
||||
field,
|
||||
value,
|
||||
model,
|
||||
}: { field: string; value: any; model: string }) {
|
||||
}: {
|
||||
field: string;
|
||||
value: any;
|
||||
model: string;
|
||||
}) {
|
||||
if (customIdGen) {
|
||||
return value;
|
||||
}
|
||||
@@ -139,7 +143,10 @@ export const mongodbAdapter = (db: Db, config?: MongoDBAdapterConfig) => {
|
||||
function convertWhereClause({
|
||||
where,
|
||||
model,
|
||||
}: { where: Where[]; model: string }) {
|
||||
}: {
|
||||
where: Where[];
|
||||
model: string;
|
||||
}) {
|
||||
if (!where.length) return {};
|
||||
const conditions = where.map((w) => {
|
||||
const {
|
||||
|
||||
@@ -56,8 +56,8 @@ const numberIdAdapterTests = {
|
||||
SHOULD_INCREMENT_THE_ID_BY_1: "Should increment the id by 1",
|
||||
} as const;
|
||||
|
||||
// @ts-ignore
|
||||
// biome-ignore lint/performance/noDelete: <explanation>
|
||||
// @ts-expect-error
|
||||
// biome-ignore lint/performance/noDelete: testing propose
|
||||
delete numberIdAdapterTests.SHOULD_NOT_THROW_ON_DELETE_RECORD_NOT_FOUND;
|
||||
|
||||
async function adapterTest(
|
||||
|
||||
@@ -75,9 +75,7 @@ export function parseSetCookieHeader(
|
||||
}
|
||||
|
||||
export function setCookieToHeader(headers: Headers) {
|
||||
return (context: {
|
||||
response: Response;
|
||||
}) => {
|
||||
return (context: { response: Response }) => {
|
||||
const setCookieHeader = context.response.headers.get("set-cookie");
|
||||
if (!setCookieHeader) {
|
||||
return;
|
||||
|
||||
@@ -30,7 +30,10 @@ export const hashPassword = async (password: string) => {
|
||||
export const verifyPassword = async ({
|
||||
hash,
|
||||
password,
|
||||
}: { hash: string; password: string }) => {
|
||||
}: {
|
||||
hash: string;
|
||||
password: string;
|
||||
}) => {
|
||||
const [salt, key] = hash.split(":");
|
||||
const targetKey = await generateKey(password, salt!);
|
||||
return constantTimeEqual(targetKey, hexToBytes(key));
|
||||
|
||||
@@ -5,9 +5,7 @@ export function toSolidStartHandler(
|
||||
}
|
||||
| ((request: Request) => Promise<Response>),
|
||||
) {
|
||||
const handler = async (event: {
|
||||
request: Request;
|
||||
}) => {
|
||||
const handler = async (event: { request: Request }) => {
|
||||
return "handler" in auth
|
||||
? auth.handler(event.request)
|
||||
: auth(event.request);
|
||||
|
||||
@@ -15,9 +15,10 @@ export function createApiKey({
|
||||
schema,
|
||||
deleteAllExpiredApiKeys,
|
||||
}: {
|
||||
keyGenerator: (options: { length: number; prefix: string | undefined }) =>
|
||||
| Promise<string>
|
||||
| string;
|
||||
keyGenerator: (options: {
|
||||
length: number;
|
||||
prefix: string | undefined;
|
||||
}) => Promise<string> | string;
|
||||
opts: PredefinedApiKeyOptions;
|
||||
schema: ReturnType<typeof apiKeySchema>;
|
||||
deleteAllExpiredApiKeys(
|
||||
@@ -420,12 +421,12 @@ export function createApiKey({
|
||||
rateLimitTimeWindow:
|
||||
rateLimitTimeWindow ?? opts.rateLimit.timeWindow ?? null,
|
||||
remaining:
|
||||
remaining === null ? remaining : remaining ?? refillAmount ?? null,
|
||||
remaining === null ? remaining : (remaining ?? refillAmount ?? null),
|
||||
refillAmount: refillAmount ?? null,
|
||||
refillInterval: refillInterval ?? null,
|
||||
rateLimitEnabled:
|
||||
rateLimitEnabled === undefined
|
||||
? opts.rateLimit.enabled ?? true
|
||||
? (opts.rateLimit.enabled ?? true)
|
||||
: rateLimitEnabled,
|
||||
requestCount: 0,
|
||||
//@ts-ignore - we intentionally save the permissions as string on DB.
|
||||
|
||||
@@ -75,9 +75,10 @@ export function createApiKeyRoutes({
|
||||
opts,
|
||||
schema,
|
||||
}: {
|
||||
keyGenerator: (options: { length: number; prefix: string | undefined }) =>
|
||||
| Promise<string>
|
||||
| string;
|
||||
keyGenerator: (options: {
|
||||
length: number;
|
||||
prefix: string | undefined;
|
||||
}) => Promise<string> | string;
|
||||
opts: PredefinedApiKeyOptions;
|
||||
schema: ReturnType<typeof apiKeySchema>;
|
||||
}) {
|
||||
|
||||
@@ -4,7 +4,10 @@ import parseJSON from "../../client/parser";
|
||||
export const apiKeySchema = ({
|
||||
timeWindow,
|
||||
rateLimitMax,
|
||||
}: { timeWindow: number; rateLimitMax: number }) =>
|
||||
}: {
|
||||
timeWindow: number;
|
||||
rateLimitMax: number;
|
||||
}) =>
|
||||
({
|
||||
apikey: {
|
||||
fields: {
|
||||
|
||||
@@ -671,9 +671,7 @@ export const getOrgAdapter = <O extends OrganizationOptions>(
|
||||
return session as Session;
|
||||
},
|
||||
|
||||
listTeamMembers: async (data: {
|
||||
teamId: string;
|
||||
}) => {
|
||||
listTeamMembers: async (data: { teamId: string }) => {
|
||||
const members = await adapter.findMany<TeamMember>({
|
||||
model: "teamMember",
|
||||
where: [
|
||||
@@ -686,27 +684,21 @@ export const getOrgAdapter = <O extends OrganizationOptions>(
|
||||
|
||||
return members;
|
||||
},
|
||||
countTeamMembers: async (data: {
|
||||
teamId: string;
|
||||
}) => {
|
||||
countTeamMembers: async (data: { teamId: string }) => {
|
||||
const count = await adapter.count({
|
||||
model: "teamMember",
|
||||
where: [{ field: "teamId", value: data.teamId }],
|
||||
});
|
||||
return count;
|
||||
},
|
||||
countMembers: async (data: {
|
||||
organizationId: string;
|
||||
}) => {
|
||||
countMembers: async (data: { organizationId: string }) => {
|
||||
const count = await adapter.count({
|
||||
model: "member",
|
||||
where: [{ field: "organizationId", value: data.organizationId }],
|
||||
});
|
||||
return count;
|
||||
},
|
||||
listTeamsByUser: async (data: {
|
||||
userId: string;
|
||||
}) => {
|
||||
listTeamsByUser: async (data: { userId: string }) => {
|
||||
const members = await adapter.findMany<TeamMember>({
|
||||
model: "teamMember",
|
||||
where: [
|
||||
@@ -731,10 +723,7 @@ export const getOrgAdapter = <O extends OrganizationOptions>(
|
||||
return teams;
|
||||
},
|
||||
|
||||
findTeamMember: async (data: {
|
||||
teamId: string;
|
||||
userId: string;
|
||||
}) => {
|
||||
findTeamMember: async (data: { teamId: string; userId: string }) => {
|
||||
const member = await adapter.findOne<TeamMember>({
|
||||
model: "teamMember",
|
||||
where: [
|
||||
@@ -782,10 +771,7 @@ export const getOrgAdapter = <O extends OrganizationOptions>(
|
||||
});
|
||||
},
|
||||
|
||||
removeTeamMember: async (data: {
|
||||
teamId: string;
|
||||
userId: string;
|
||||
}) => {
|
||||
removeTeamMember: async (data: { teamId: string; userId: string }) => {
|
||||
await adapter.delete({
|
||||
model: "teamMember",
|
||||
where: [
|
||||
@@ -891,9 +877,7 @@ export const getOrgAdapter = <O extends OrganizationOptions>(
|
||||
(invite) => new Date(invite.expiresAt) > new Date(),
|
||||
);
|
||||
},
|
||||
findPendingInvitations: async (data: {
|
||||
organizationId: string;
|
||||
}) => {
|
||||
findPendingInvitations: async (data: { organizationId: string }) => {
|
||||
const invitations = await adapter.findMany<InferInvitation<O>>({
|
||||
model: "invitation",
|
||||
where: [
|
||||
@@ -911,9 +895,7 @@ export const getOrgAdapter = <O extends OrganizationOptions>(
|
||||
(invite) => new Date(invite.expiresAt) > new Date(),
|
||||
);
|
||||
},
|
||||
listInvitations: async (data: {
|
||||
organizationId: string;
|
||||
}) => {
|
||||
listInvitations: async (data: { organizationId: string }) => {
|
||||
const invitations = await adapter.findMany<InferInvitation<O>>({
|
||||
model: "invitation",
|
||||
where: [
|
||||
|
||||
@@ -256,7 +256,7 @@ export const createInvitation = <O extends OrganizationOptions>(option: O) => {
|
||||
},
|
||||
ctx.context,
|
||||
)
|
||||
: ctx.context.orgOptions.invitationLimit ?? 100;
|
||||
: (ctx.context.orgOptions.invitationLimit ?? 100);
|
||||
|
||||
const pendingInvitations = await adapter.findPendingInvitations({
|
||||
organizationId: organizationId,
|
||||
@@ -315,7 +315,7 @@ export const createInvitation = <O extends OrganizationOptions>(option: O) => {
|
||||
"teamId" in ctx.body
|
||||
? typeof ctx.body.teamId === "string"
|
||||
? [ctx.body.teamId as string]
|
||||
: (ctx.body.teamId as string[]) ?? []
|
||||
: ((ctx.body.teamId as string[]) ?? [])
|
||||
: [];
|
||||
|
||||
const {
|
||||
|
||||
@@ -51,10 +51,7 @@ export type Adapter = {
|
||||
};
|
||||
offset?: number;
|
||||
}) => Promise<T[]>;
|
||||
count: (data: {
|
||||
model: string;
|
||||
where?: Where[];
|
||||
}) => Promise<number>;
|
||||
count: (data: { model: string; where?: Where[] }) => Promise<number>;
|
||||
/**
|
||||
* ⚠︎ Update may not return the updated data
|
||||
* if multiple where clauses are provided
|
||||
|
||||
@@ -201,11 +201,7 @@ const defaultFormatOptions = {
|
||||
tabWidth: 4,
|
||||
};
|
||||
|
||||
const getDefaultAuthConfig = async ({
|
||||
appName,
|
||||
}: {
|
||||
appName?: string;
|
||||
}) =>
|
||||
const getDefaultAuthConfig = async ({ appName }: { appName?: string }) =>
|
||||
await prettierFormat(
|
||||
[
|
||||
"import { betterAuth } from 'better-auth';",
|
||||
|
||||
@@ -55,7 +55,11 @@ export const generatePrismaSchema: SchemaGenerator = async ({
|
||||
isBigint,
|
||||
isOptional,
|
||||
type,
|
||||
}: { type: FieldType; isOptional: boolean; isBigint: boolean }) {
|
||||
}: {
|
||||
type: FieldType;
|
||||
isOptional: boolean;
|
||||
isBigint: boolean;
|
||||
}) {
|
||||
if (type === "string") {
|
||||
return isOptional ? "String?" : "String";
|
||||
}
|
||||
|
||||
@@ -563,7 +563,7 @@ export const sso = (options?: SSOOptions) => {
|
||||
const limit =
|
||||
typeof options?.providersLimit === "function"
|
||||
? await options.providersLimit(user)
|
||||
: options?.providersLimit ?? 10;
|
||||
: (options?.providersLimit ?? 10);
|
||||
|
||||
if (!limit) {
|
||||
throw new APIError("FORBIDDEN", {
|
||||
|
||||
118
pnpm-lock.yaml
generated
118
pnpm-lock.yaml
generated
@@ -31,8 +31,8 @@ importers:
|
||||
.:
|
||||
dependencies:
|
||||
'@biomejs/biome':
|
||||
specifier: 1.7.3
|
||||
version: 1.7.3
|
||||
specifier: 2.1.3
|
||||
version: 2.1.3
|
||||
'@types/node':
|
||||
specifier: ^20.17.9
|
||||
version: 20.17.57
|
||||
@@ -979,7 +979,7 @@ importers:
|
||||
version: 8.6.0(vue@3.5.18(typescript@5.8.3))
|
||||
nuxt:
|
||||
specifier: ^3.14.1592
|
||||
version: 3.17.4(u7o2fm6xsvozcu3hqg2m2evhvi)
|
||||
version: 3.17.4(pmbbkaqntai4lvdcfdsxjvtgwi)
|
||||
radix-vue:
|
||||
specifier: ^1.9.11
|
||||
version: 1.9.17(vue@3.5.18(typescript@5.8.3))
|
||||
@@ -2703,21 +2703,15 @@ packages:
|
||||
'@better-fetch/fetch@1.1.18':
|
||||
resolution: {integrity: sha512-rEFOE1MYIsBmoMJtQbl32PGHHXuG2hDxvEd7rUHE0vCBoFQVSDqaVs9hkZEtHCxRoY+CljXKFCOuJ8uxqw1LcA==}
|
||||
|
||||
'@biomejs/biome@1.7.3':
|
||||
resolution: {integrity: sha512-ogFQI+fpXftr+tiahA6bIXwZ7CSikygASdqMtH07J2cUzrpjyTMVc9Y97v23c7/tL1xCZhM+W9k4hYIBm7Q6cQ==}
|
||||
engines: {node: '>=14.21.3'}
|
||||
hasBin: true
|
||||
|
||||
'@biomejs/biome@1.9.4':
|
||||
resolution: {integrity: sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog==}
|
||||
engines: {node: '>=14.21.3'}
|
||||
hasBin: true
|
||||
|
||||
'@biomejs/cli-darwin-arm64@1.7.3':
|
||||
resolution: {integrity: sha512-eDvLQWmGRqrPIRY7AIrkPHkQ3visEItJKkPYSHCscSDdGvKzYjmBJwG1Gu8+QC5ed6R7eiU63LEC0APFBobmfQ==}
|
||||
'@biomejs/biome@2.1.3':
|
||||
resolution: {integrity: sha512-KE/tegvJIxTkl7gJbGWSgun7G6X/n2M6C35COT6ctYrAy7SiPyNvi6JtoQERVK/VRbttZfgGq96j2bFmhmnH4w==}
|
||||
engines: {node: '>=14.21.3'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
hasBin: true
|
||||
|
||||
'@biomejs/cli-darwin-arm64@1.9.4':
|
||||
resolution: {integrity: sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==}
|
||||
@@ -2725,10 +2719,10 @@ packages:
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@biomejs/cli-darwin-x64@1.7.3':
|
||||
resolution: {integrity: sha512-JXCaIseKRER7dIURsVlAJacnm8SG5I0RpxZ4ya3dudASYUc68WGl4+FEN03ABY3KMIq7hcK1tzsJiWlmXyosZg==}
|
||||
'@biomejs/cli-darwin-arm64@2.1.3':
|
||||
resolution: {integrity: sha512-LFLkSWRoSGS1wVUD/BE6Nlt2dSn0ulH3XImzg2O/36BoToJHKXjSxzPEMAqT9QvwVtk7/9AQhZpTneERU9qaXA==}
|
||||
engines: {node: '>=14.21.3'}
|
||||
cpu: [x64]
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@biomejs/cli-darwin-x64@1.9.4':
|
||||
@@ -2737,11 +2731,11 @@ packages:
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@biomejs/cli-linux-arm64-musl@1.7.3':
|
||||
resolution: {integrity: sha512-c8AlO45PNFZ1BYcwaKzdt46kYbuP6xPGuGQ6h4j3XiEDpyseRRUy/h+6gxj07XovmyxKnSX9GSZ6nVbZvcVUAw==}
|
||||
'@biomejs/cli-darwin-x64@2.1.3':
|
||||
resolution: {integrity: sha512-Q/4OTw8P9No9QeowyxswcWdm0n2MsdCwWcc5NcKQQvzwPjwuPdf8dpPPf4r+x0RWKBtl1FLiAUtJvBlri6DnYw==}
|
||||
engines: {node: '>=14.21.3'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@biomejs/cli-linux-arm64-musl@1.9.4':
|
||||
resolution: {integrity: sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==}
|
||||
@@ -2749,8 +2743,8 @@ packages:
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@biomejs/cli-linux-arm64@1.7.3':
|
||||
resolution: {integrity: sha512-phNTBpo7joDFastnmZsFjYcDYobLTx4qR4oPvc9tJ486Bd1SfEVPHEvJdNJrMwUQK56T+TRClOQd/8X1nnjA9w==}
|
||||
'@biomejs/cli-linux-arm64-musl@2.1.3':
|
||||
resolution: {integrity: sha512-KXouFSBnoxAWZYDQrnNRzZBbt5s9UJkIm40hdvSL9mBxSSoxRFQJbtg1hP3aa8A2SnXyQHxQfpiVeJlczZt76w==}
|
||||
engines: {node: '>=14.21.3'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
@@ -2761,10 +2755,10 @@ packages:
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@biomejs/cli-linux-x64-musl@1.7.3':
|
||||
resolution: {integrity: sha512-UdEHKtYGWEX3eDmVWvQeT+z05T9/Sdt2+F/7zmMOFQ7boANeX8pcO6EkJPK3wxMudrApsNEKT26rzqK6sZRTRA==}
|
||||
'@biomejs/cli-linux-arm64@2.1.3':
|
||||
resolution: {integrity: sha512-2hS6LgylRqMFmAZCOFwYrf77QMdUwJp49oe8PX/O8+P2yKZMSpyQTf3Eo5ewnsMFUEmYbPOskafdV1ds1MZMJA==}
|
||||
engines: {node: '>=14.21.3'}
|
||||
cpu: [x64]
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@biomejs/cli-linux-x64-musl@1.9.4':
|
||||
@@ -2773,8 +2767,8 @@ packages:
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@biomejs/cli-linux-x64@1.7.3':
|
||||
resolution: {integrity: sha512-vnedYcd5p4keT3iD48oSKjOIRPYcjSNNbd8MO1bKo9ajg3GwQXZLAH+0Cvlr+eMsO67/HddWmscSQwTFrC/uPA==}
|
||||
'@biomejs/cli-linux-x64-musl@2.1.3':
|
||||
resolution: {integrity: sha512-KaLAxnROouzIWtl6a0Y88r/4hW5oDUJTIqQorOTVQITaKQsKjZX4XCUmHIhdEk8zMnaiLZzRTAwk1yIAl+mIew==}
|
||||
engines: {node: '>=14.21.3'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
@@ -2785,11 +2779,11 @@ packages:
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@biomejs/cli-win32-arm64@1.7.3':
|
||||
resolution: {integrity: sha512-unNCDqUKjujYkkSxs7gFIfdasttbDC4+z0kYmcqzRk6yWVoQBL4dNLcCbdnJS+qvVDNdI9rHp2NwpQ0WAdla4Q==}
|
||||
'@biomejs/cli-linux-x64@2.1.3':
|
||||
resolution: {integrity: sha512-NxlSCBhLvQtWGagEztfAZ4WcE1AkMTntZV65ZvR+J9jp06+EtOYEBPQndA70ZGhHbEDG57bR6uNvqkd1WrEYVA==}
|
||||
engines: {node: '>=14.21.3'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@biomejs/cli-win32-arm64@1.9.4':
|
||||
resolution: {integrity: sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==}
|
||||
@@ -2797,10 +2791,10 @@ packages:
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@biomejs/cli-win32-x64@1.7.3':
|
||||
resolution: {integrity: sha512-ZmByhbrnmz/UUFYB622CECwhKIPjJLLPr5zr3edhu04LzbfcOrz16VYeNq5dpO1ADG70FORhAJkaIGdaVBG00w==}
|
||||
'@biomejs/cli-win32-arm64@2.1.3':
|
||||
resolution: {integrity: sha512-V9CUZCtWH4u0YwyCYbQ3W5F4ZGPWp2C2TYcsiWFNNyRfmOW1j/TY/jAurl33SaRjgZPO5UUhGyr9m6BN9t84NQ==}
|
||||
engines: {node: '>=14.21.3'}
|
||||
cpu: [x64]
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@biomejs/cli-win32-x64@1.9.4':
|
||||
@@ -2809,6 +2803,12 @@ packages:
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@biomejs/cli-win32-x64@2.1.3':
|
||||
resolution: {integrity: sha512-dxy599q6lgp8ANPpR8sDMscwdp9oOumEsVXuVCVT9N2vAho8uYXlCz53JhxX6LtJOXaE73qzgkGQ7QqvFlMC0g==}
|
||||
engines: {node: '>=14.21.3'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@chevrotain/cst-dts-gen@10.5.0':
|
||||
resolution: {integrity: sha512-lhmC/FyqQ2o7pGK4Om+hzuDrm9rhFYIJ/AXoQBeongmn870Xeb0L6oGEiuR8nohFNL5sMaQEJWCxr1oIVIVXrw==}
|
||||
|
||||
@@ -21238,17 +21238,6 @@ snapshots:
|
||||
|
||||
'@better-fetch/fetch@1.1.18': {}
|
||||
|
||||
'@biomejs/biome@1.7.3':
|
||||
optionalDependencies:
|
||||
'@biomejs/cli-darwin-arm64': 1.7.3
|
||||
'@biomejs/cli-darwin-x64': 1.7.3
|
||||
'@biomejs/cli-linux-arm64': 1.7.3
|
||||
'@biomejs/cli-linux-arm64-musl': 1.7.3
|
||||
'@biomejs/cli-linux-x64': 1.7.3
|
||||
'@biomejs/cli-linux-x64-musl': 1.7.3
|
||||
'@biomejs/cli-win32-arm64': 1.7.3
|
||||
'@biomejs/cli-win32-x64': 1.7.3
|
||||
|
||||
'@biomejs/biome@1.9.4':
|
||||
optionalDependencies:
|
||||
'@biomejs/cli-darwin-arm64': 1.9.4
|
||||
@@ -21260,54 +21249,65 @@ snapshots:
|
||||
'@biomejs/cli-win32-arm64': 1.9.4
|
||||
'@biomejs/cli-win32-x64': 1.9.4
|
||||
|
||||
'@biomejs/cli-darwin-arm64@1.7.3':
|
||||
optional: true
|
||||
'@biomejs/biome@2.1.3':
|
||||
optionalDependencies:
|
||||
'@biomejs/cli-darwin-arm64': 2.1.3
|
||||
'@biomejs/cli-darwin-x64': 2.1.3
|
||||
'@biomejs/cli-linux-arm64': 2.1.3
|
||||
'@biomejs/cli-linux-arm64-musl': 2.1.3
|
||||
'@biomejs/cli-linux-x64': 2.1.3
|
||||
'@biomejs/cli-linux-x64-musl': 2.1.3
|
||||
'@biomejs/cli-win32-arm64': 2.1.3
|
||||
'@biomejs/cli-win32-x64': 2.1.3
|
||||
|
||||
'@biomejs/cli-darwin-arm64@1.9.4':
|
||||
optional: true
|
||||
|
||||
'@biomejs/cli-darwin-x64@1.7.3':
|
||||
'@biomejs/cli-darwin-arm64@2.1.3':
|
||||
optional: true
|
||||
|
||||
'@biomejs/cli-darwin-x64@1.9.4':
|
||||
optional: true
|
||||
|
||||
'@biomejs/cli-linux-arm64-musl@1.7.3':
|
||||
'@biomejs/cli-darwin-x64@2.1.3':
|
||||
optional: true
|
||||
|
||||
'@biomejs/cli-linux-arm64-musl@1.9.4':
|
||||
optional: true
|
||||
|
||||
'@biomejs/cli-linux-arm64@1.7.3':
|
||||
'@biomejs/cli-linux-arm64-musl@2.1.3':
|
||||
optional: true
|
||||
|
||||
'@biomejs/cli-linux-arm64@1.9.4':
|
||||
optional: true
|
||||
|
||||
'@biomejs/cli-linux-x64-musl@1.7.3':
|
||||
'@biomejs/cli-linux-arm64@2.1.3':
|
||||
optional: true
|
||||
|
||||
'@biomejs/cli-linux-x64-musl@1.9.4':
|
||||
optional: true
|
||||
|
||||
'@biomejs/cli-linux-x64@1.7.3':
|
||||
'@biomejs/cli-linux-x64-musl@2.1.3':
|
||||
optional: true
|
||||
|
||||
'@biomejs/cli-linux-x64@1.9.4':
|
||||
optional: true
|
||||
|
||||
'@biomejs/cli-win32-arm64@1.7.3':
|
||||
'@biomejs/cli-linux-x64@2.1.3':
|
||||
optional: true
|
||||
|
||||
'@biomejs/cli-win32-arm64@1.9.4':
|
||||
optional: true
|
||||
|
||||
'@biomejs/cli-win32-x64@1.7.3':
|
||||
'@biomejs/cli-win32-arm64@2.1.3':
|
||||
optional: true
|
||||
|
||||
'@biomejs/cli-win32-x64@1.9.4':
|
||||
optional: true
|
||||
|
||||
'@biomejs/cli-win32-x64@2.1.3':
|
||||
optional: true
|
||||
|
||||
'@chevrotain/cst-dts-gen@10.5.0':
|
||||
dependencies:
|
||||
'@chevrotain/gast': 10.5.0
|
||||
@@ -23658,7 +23658,7 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- magicast
|
||||
|
||||
'@nuxt/vite-builder@3.17.4(@biomejs/biome@1.9.4)(@types/node@22.13.8)(eslint@8.57.1)(less@4.3.0)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.41.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(typescript@5.8.3)(vue@3.5.18(typescript@5.8.3))(yaml@2.8.0)':
|
||||
'@nuxt/vite-builder@3.17.4(@biomejs/biome@2.1.3)(@types/node@22.13.8)(eslint@8.57.1)(less@4.3.0)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.41.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(typescript@5.8.3)(vue@3.5.18(typescript@5.8.3))(yaml@2.8.0)':
|
||||
dependencies:
|
||||
'@nuxt/kit': 3.17.4(magicast@0.3.5)
|
||||
'@rollup/plugin-replace': 6.0.2(rollup@4.41.1)
|
||||
@@ -23691,7 +23691,7 @@ snapshots:
|
||||
unplugin: 2.3.5
|
||||
vite: 6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)
|
||||
vite-node: 3.1.4(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)
|
||||
vite-plugin-checker: 0.9.3(@biomejs/biome@1.9.4)(eslint@8.57.1)(optionator@0.9.4)(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))
|
||||
vite-plugin-checker: 0.9.3(@biomejs/biome@2.1.3)(eslint@8.57.1)(optionator@0.9.4)(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))
|
||||
vue: 3.5.18(typescript@5.8.3)
|
||||
vue-bundle-renderer: 2.1.1
|
||||
transitivePeerDependencies:
|
||||
@@ -39047,7 +39047,7 @@ snapshots:
|
||||
dependencies:
|
||||
esm-env: 1.2.2
|
||||
|
||||
nuxt@3.17.4(u7o2fm6xsvozcu3hqg2m2evhvi):
|
||||
nuxt@3.17.4(pmbbkaqntai4lvdcfdsxjvtgwi):
|
||||
dependencies:
|
||||
'@nuxt/cli': 3.25.1(magicast@0.3.5)
|
||||
'@nuxt/devalue': 2.0.2
|
||||
@@ -39055,7 +39055,7 @@ snapshots:
|
||||
'@nuxt/kit': 3.17.4(magicast@0.3.5)
|
||||
'@nuxt/schema': 3.17.4
|
||||
'@nuxt/telemetry': 2.6.6(magicast@0.3.5)
|
||||
'@nuxt/vite-builder': 3.17.4(@biomejs/biome@1.9.4)(@types/node@22.13.8)(eslint@8.57.1)(less@4.3.0)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.41.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(typescript@5.8.3)(vue@3.5.18(typescript@5.8.3))(yaml@2.8.0)
|
||||
'@nuxt/vite-builder': 3.17.4(@biomejs/biome@2.1.3)(@types/node@22.13.8)(eslint@8.57.1)(less@4.3.0)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.41.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(typescript@5.8.3)(vue@3.5.18(typescript@5.8.3))(yaml@2.8.0)
|
||||
'@unhead/vue': 2.0.10(vue@3.5.18(typescript@5.8.3))
|
||||
'@vue/shared': 3.5.18
|
||||
c12: 3.0.4(magicast@0.3.5)
|
||||
@@ -44290,7 +44290,7 @@ snapshots:
|
||||
- tsx
|
||||
- yaml
|
||||
|
||||
vite-plugin-checker@0.9.3(@biomejs/biome@1.9.4)(eslint@8.57.1)(optionator@0.9.4)(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)):
|
||||
vite-plugin-checker@0.9.3(@biomejs/biome@2.1.3)(eslint@8.57.1)(optionator@0.9.4)(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)):
|
||||
dependencies:
|
||||
'@babel/code-frame': 7.27.1
|
||||
chokidar: 4.0.3
|
||||
@@ -44303,7 +44303,7 @@ snapshots:
|
||||
vite: 6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)
|
||||
vscode-uri: 3.1.0
|
||||
optionalDependencies:
|
||||
'@biomejs/biome': 1.9.4
|
||||
'@biomejs/biome': 2.1.3
|
||||
eslint: 8.57.1
|
||||
optionator: 0.9.4
|
||||
typescript: 5.8.3
|
||||
|
||||
Reference in New Issue
Block a user