diff --git a/.github/renovate.json b/.github/renovate.json index 7ff59ab2a..0942ac01d 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -6,7 +6,7 @@ "packageRules": [ { "matchPackagePatterns": [ - "^@alparr/" + "^@homarr/" ], "enabled": false } diff --git a/apps/nextjs/next.config.mjs b/apps/nextjs/next.config.mjs index ec4a715c9..95b601a66 100644 --- a/apps/nextjs/next.config.mjs +++ b/apps/nextjs/next.config.mjs @@ -1,23 +1,33 @@ // Importing env files here to validate on build import "./src/env.mjs"; -import "@alparr/auth/env.mjs"; +import "@homarr/auth/env.mjs"; /** @type {import("next").NextConfig} */ const config = { reactStrictMode: true, /** Enables hot reloading for local packages without a build step */ transpilePackages: [ - "@alparr/api", - "@alparr/auth", - "@alparr/db", - "@alparr/ui", - "@alparr/validation", + "@homarr/api", + "@homarr/auth", + "@homarr/db", + "@homarr/ui", + "@homarr/validation", + "@homarr/form", + "@homarr/notifications", + "@homarr/spotlight", ], /** We already do linting and typechecking as separate tasks in CI */ eslint: { ignoreDuringBuilds: true }, typescript: { ignoreBuildErrors: true }, experimental: { - optimizePackageImports: ["@mantine/core", "@mantine/hooks"], + optimizePackageImports: [ + "@mantine/core", + "@mantine/hooks", + "@mantine/dates", + "@mantine/notifications", + "@mantine/form", + "@mantine/spotlight", + ], }, }; diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json index 2751dd8ca..3f40e32f5 100644 --- a/apps/nextjs/package.json +++ b/apps/nextjs/package.json @@ -1,5 +1,5 @@ { - "name": "@alparr/nextjs", + "name": "@homarr/nextjs", "version": "0.1.0", "private": true, "scripts": { @@ -13,21 +13,18 @@ "with-env": "dotenv -e ../../.env --" }, "dependencies": { - "@alparr/api": "workspace:^0.1.0", - "@alparr/auth": "workspace:^0.1.0", - "@alparr/db": "workspace:^0.1.0", - "@alparr/translation": "workspace:^", - "@alparr/ui": "workspace:^0.1.0", - "@alparr/validation": "workspace:^0.1.0", - "@mantine/core": "^7.3.1", - "@mantine/dates": "^7.3.1", - "@mantine/form": "^7.3.1", + "@homarr/api": "workspace:^0.1.0", + "@homarr/auth": "workspace:^0.1.0", + "@homarr/db": "workspace:^0.1.0", + "@homarr/translation": "workspace:^0.1.0", + "@homarr/ui": "workspace:^0.1.0", + "@homarr/notifications": "workspace:^0.1.0", + "@homarr/validation": "workspace:^0.1.0", + "@homarr/spotlight": "workspace:^0.1.0", + "@homarr/form": "workspace:^0.1.0", "@mantine/hooks": "^7.3.1", - "@mantine/notifications": "^7.3.1", - "@mantine/spotlight": "^7.3.1", "@mantine/tiptap": "^7.3.1", "@t3-oss/env-nextjs": "^0.7.1", - "@tabler/icons-react": "^2.42.0", "@tanstack/react-query": "^5.8.7", "@tanstack/react-query-devtools": "^5.8.7", "@tanstack/react-query-next-experimental": "5.8.7", @@ -43,13 +40,12 @@ "postcss-preset-mantine": "^1.11.1", "react": "18.2.0", "react-dom": "18.2.0", - "superjson": "2.2.1", - "zod": "^3.22.2" + "superjson": "2.2.1" }, "devDependencies": { - "@alparr/eslint-config": "workspace:^0.2.0", - "@alparr/prettier-config": "workspace:^0.1.0", - "@alparr/tsconfig": "workspace:^0.1.0", + "@homarr/eslint-config": "workspace:^0.2.0", + "@homarr/prettier-config": "workspace:^0.1.0", + "@homarr/tsconfig": "workspace:^0.1.0", "@types/node": "^18.18.13", "@types/react": "^18.2.42", "@types/react-dom": "^18.2.17", @@ -61,10 +57,10 @@ "eslintConfig": { "root": true, "extends": [ - "@alparr/eslint-config/base", - "@alparr/eslint-config/nextjs", - "@alparr/eslint-config/react" + "@homarr/eslint-config/base", + "@homarr/eslint-config/nextjs", + "@homarr/eslint-config/react" ] }, - "prettier": "@alparr/prettier-config" + "prettier": "@homarr/prettier-config" } diff --git a/apps/nextjs/public/logo/alparr.png b/apps/nextjs/public/logo/homarr.png similarity index 100% rename from apps/nextjs/public/logo/alparr.png rename to apps/nextjs/public/logo/homarr.png diff --git a/apps/nextjs/src/app/[locale]/_client-providers/next-international.tsx b/apps/nextjs/src/app/[locale]/_client-providers/next-international.tsx index 27bfdea5e..626296d69 100644 --- a/apps/nextjs/src/app/[locale]/_client-providers/next-international.tsx +++ b/apps/nextjs/src/app/[locale]/_client-providers/next-international.tsx @@ -1,7 +1,7 @@ import type { PropsWithChildren } from "react"; -import { defaultLocale } from "@alparr/translation"; -import { I18nProviderClient } from "@alparr/translation/client"; +import { defaultLocale } from "@homarr/translation"; +import { I18nProviderClient } from "@homarr/translation/client"; export const NextInternationalProvider = ({ children, diff --git a/apps/nextjs/src/app/[locale]/auth/login/_components/login-form.tsx b/apps/nextjs/src/app/[locale]/auth/login/_components/login-form.tsx index a556848cc..d0a3f03de 100644 --- a/apps/nextjs/src/app/[locale]/auth/login/_components/login-form.tsx +++ b/apps/nextjs/src/app/[locale]/auth/login/_components/login-form.tsx @@ -2,21 +2,21 @@ import { useState } from "react"; import { useRouter } from "next/navigation"; + +import { signIn } from "@homarr/auth/client"; +import { useForm, zodResolver } from "@homarr/form"; +import { useScopedI18n } from "@homarr/translation/client"; import { Alert, Button, + IconAlertTriangle, PasswordInput, rem, Stack, TextInput, -} from "@mantine/core"; -import { useForm, zodResolver } from "@mantine/form"; -import { IconAlertTriangle } from "@tabler/icons-react"; -import type { z } from "zod"; - -import { signIn } from "@alparr/auth/client"; -import { useScopedI18n } from "@alparr/translation/client"; -import { signInSchema } from "@alparr/validation"; +} from "@homarr/ui"; +import type { z } from "@homarr/validation"; +import { validation } from "@homarr/validation"; export const LoginForm = () => { const t = useScopedI18n("user"); @@ -24,7 +24,7 @@ export const LoginForm = () => { const [isLoading, setIsLoading] = useState(false); const [error, setError] = useState(); const form = useForm({ - validate: zodResolver(signInSchema), + validate: zodResolver(validation.user.signIn), initialValues: { name: "", password: "", @@ -79,4 +79,4 @@ export const LoginForm = () => { ); }; -type FormType = z.infer; +type FormType = z.infer; diff --git a/apps/nextjs/src/app/[locale]/auth/login/page.tsx b/apps/nextjs/src/app/[locale]/auth/login/page.tsx index ec70bac1a..a585fc698 100644 --- a/apps/nextjs/src/app/[locale]/auth/login/page.tsx +++ b/apps/nextjs/src/app/[locale]/auth/login/page.tsx @@ -1,6 +1,5 @@ -import { Card, Center, Stack, Text, Title } from "@mantine/core"; - -import { getScopedI18n } from "@alparr/translation/server"; +import { getScopedI18n } from "@homarr/translation/server"; +import { Card, Center, Stack, Text, Title } from "@homarr/ui"; import { LogoWithTitle } from "~/components/layout/logo"; import { LoginForm } from "./_components/login-form"; diff --git a/apps/nextjs/src/app/[locale]/init/user/_components/init-user-form.tsx b/apps/nextjs/src/app/[locale]/init/user/_components/init-user-form.tsx index 9afd37a30..34732bdb9 100644 --- a/apps/nextjs/src/app/[locale]/init/user/_components/init-user-form.tsx +++ b/apps/nextjs/src/app/[locale]/init/user/_components/init-user-form.tsx @@ -1,14 +1,17 @@ "use client"; import { useRouter } from "next/navigation"; -import { Button, PasswordInput, Stack, TextInput } from "@mantine/core"; -import { useForm, zodResolver } from "@mantine/form"; -import type { z } from "zod"; -import { useScopedI18n } from "@alparr/translation/client"; -import { initUserSchema } from "@alparr/validation"; +import { useForm, zodResolver } from "@homarr/form"; +import { + showErrorNotification, + showSuccessNotification, +} from "@homarr/notifications"; +import { useScopedI18n } from "@homarr/translation/client"; +import { Button, PasswordInput, Stack, TextInput } from "@homarr/ui"; +import type { z } from "@homarr/validation"; +import { validation } from "@homarr/validation"; -import { showErrorNotification, showSuccessNotification } from "~/notification"; import { api } from "~/utils/api"; export const InitUserForm = () => { @@ -16,7 +19,7 @@ export const InitUserForm = () => { const t = useScopedI18n("user"); const { mutateAsync, error, isPending } = api.user.initUser.useMutation(); const form = useForm({ - validate: zodResolver(initUserSchema), + validate: zodResolver(validation.user.init), validateInputOnBlur: true, validateInputOnChange: true, initialValues: { @@ -75,4 +78,4 @@ export const InitUserForm = () => { ); }; -type FormType = z.infer; +type FormType = z.infer; diff --git a/apps/nextjs/src/app/[locale]/init/user/page.tsx b/apps/nextjs/src/app/[locale]/init/user/page.tsx index 594c8c2b8..fa27e29da 100644 --- a/apps/nextjs/src/app/[locale]/init/user/page.tsx +++ b/apps/nextjs/src/app/[locale]/init/user/page.tsx @@ -1,8 +1,8 @@ import { notFound } from "next/navigation"; -import { Card, Center, Stack, Text, Title } from "@mantine/core"; -import { db } from "@alparr/db"; -import { getScopedI18n } from "@alparr/translation/server"; +import { db } from "@homarr/db"; +import { getScopedI18n } from "@homarr/translation/server"; +import { Card, Center, Stack, Text, Title } from "@homarr/ui"; import { LogoWithTitle } from "~/components/layout/logo"; import { InitUserForm } from "./_components/init-user-form"; diff --git a/apps/nextjs/src/app/[locale]/layout.tsx b/apps/nextjs/src/app/[locale]/layout.tsx index 39182a7f5..26fc4a6f5 100644 --- a/apps/nextjs/src/app/[locale]/layout.tsx +++ b/apps/nextjs/src/app/[locale]/layout.tsx @@ -1,15 +1,17 @@ import type { Metadata } from "next"; import { Inter } from "next/font/google"; -import "@mantine/core/styles.css"; -import "@mantine/dates/styles.css"; -import "@mantine/notifications/styles.css"; +import "@homarr/ui/styles.css"; +import "@homarr/notifications/styles.css"; import { headers } from "next/headers"; -import { ColorSchemeScript, MantineProvider } from "@mantine/core"; -import { Notifications } from "@mantine/notifications"; -import { uiConfiguration } from "@alparr/ui"; +import { Notifications } from "@homarr/notifications"; +import { + ColorSchemeScript, + MantineProvider, + uiConfiguration, +} from "@homarr/ui"; import { NextInternationalProvider } from "./_client-providers/next-international"; import { TRPCReactProvider } from "./_client-providers/trpc"; diff --git a/apps/nextjs/src/app/[locale]/loading.tsx b/apps/nextjs/src/app/[locale]/loading.tsx index 201f429d0..219a9658c 100644 --- a/apps/nextjs/src/app/[locale]/loading.tsx +++ b/apps/nextjs/src/app/[locale]/loading.tsx @@ -1,4 +1,4 @@ -import { Center, Loader } from "@mantine/core"; +import { Center, Loader } from "@homarr/ui"; export default function CommonLoading() { return ( diff --git a/apps/nextjs/src/app/[locale]/not-found.tsx b/apps/nextjs/src/app/[locale]/not-found.tsx index 2bffa0ff0..c8544f231 100644 --- a/apps/nextjs/src/app/[locale]/not-found.tsx +++ b/apps/nextjs/src/app/[locale]/not-found.tsx @@ -1,4 +1,4 @@ -import { Center } from "@mantine/core"; +import { Center } from "@homarr/ui"; export default function CommonNotFound() { return
404
; diff --git a/apps/nextjs/src/app/[locale]/page.tsx b/apps/nextjs/src/app/[locale]/page.tsx index 6ad5c3edf..f818aa1a9 100644 --- a/apps/nextjs/src/app/[locale]/page.tsx +++ b/apps/nextjs/src/app/[locale]/page.tsx @@ -1,7 +1,6 @@ -import { Button, Stack, Title } from "@mantine/core"; - -import { auth } from "@alparr/auth"; -import { db } from "@alparr/db"; +import { auth } from "@homarr/auth"; +import { db } from "@homarr/db"; +import { Button, Stack, Title } from "@homarr/ui"; export default async function HomePage() { const currentSession = await auth(); diff --git a/apps/nextjs/src/app/api/auth/[...nextauth]/route.ts b/apps/nextjs/src/app/api/auth/[...nextauth]/route.ts index 8cdb50092..7b15a8cba 100644 --- a/apps/nextjs/src/app/api/auth/[...nextauth]/route.ts +++ b/apps/nextjs/src/app/api/auth/[...nextauth]/route.ts @@ -1,6 +1,6 @@ import type { NextRequest } from "next/server"; -import { createHandlers } from "@alparr/auth"; +import { createHandlers } from "@homarr/auth"; export const GET = async (req: NextRequest) => { return await createHandlers(isCredentialsRequest(req)).handlers.GET(req); diff --git a/apps/nextjs/src/app/api/trpc/[trpc]/route.ts b/apps/nextjs/src/app/api/trpc/[trpc]/route.ts index 5eed50a51..9cdd9ab92 100644 --- a/apps/nextjs/src/app/api/trpc/[trpc]/route.ts +++ b/apps/nextjs/src/app/api/trpc/[trpc]/route.ts @@ -1,7 +1,7 @@ import { fetchRequestHandler } from "@trpc/server/adapters/fetch"; -import { appRouter, createTRPCContext } from "@alparr/api"; -import { auth } from "@alparr/auth"; +import { appRouter, createTRPCContext } from "@homarr/api"; +import { auth } from "@homarr/auth"; /** * Configure basic CORS headers diff --git a/apps/nextjs/src/components/layout/logo.tsx b/apps/nextjs/src/components/layout/logo.tsx index 732841b8f..8b6010c99 100644 --- a/apps/nextjs/src/components/layout/logo.tsx +++ b/apps/nextjs/src/components/layout/logo.tsx @@ -1,12 +1,13 @@ import Image from "next/image"; -import { Group, Title } from "@mantine/core"; + +import { Group, Title } from "@homarr/ui"; interface LogoProps { size: number; } export const Logo = ({ size = 60 }: LogoProps) => ( - Alparr logo + homarr logo ); export const LogoWithTitle = () => ( diff --git a/apps/nextjs/src/middleware.ts b/apps/nextjs/src/middleware.ts index e5112f6ff..6b27019f1 100644 --- a/apps/nextjs/src/middleware.ts +++ b/apps/nextjs/src/middleware.ts @@ -1,6 +1,6 @@ import type { NextRequest } from "next/server"; -import { I18nMiddleware } from "@alparr/translation/middleware"; +import { I18nMiddleware } from "@homarr/translation/middleware"; export function middleware(request: NextRequest) { return I18nMiddleware(request); diff --git a/apps/nextjs/src/utils/api.ts b/apps/nextjs/src/utils/api.ts index 317101f8f..43339ff3c 100644 --- a/apps/nextjs/src/utils/api.ts +++ b/apps/nextjs/src/utils/api.ts @@ -1,7 +1,7 @@ import { createTRPCReact } from "@trpc/react-query"; -import type { AppRouter } from "@alparr/api"; +import type { AppRouter } from "@homarr/api"; export const api = createTRPCReact(); -export { type RouterInputs, type RouterOutputs } from "@alparr/api"; +export { type RouterInputs, type RouterOutputs } from "@homarr/api"; diff --git a/apps/nextjs/tsconfig.json b/apps/nextjs/tsconfig.json index 43b05b346..f95b3ebf2 100644 --- a/apps/nextjs/tsconfig.json +++ b/apps/nextjs/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@alparr/tsconfig/base.json", + "extends": "@homarr/tsconfig/base.json", "compilerOptions": { "baseUrl": ".", "paths": { diff --git a/package.json b/package.json index dad75860c..418c398e4 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "alparr", + "name": "homarr", "private": true, "engines": { "node": ">=18.18.2" @@ -21,7 +21,7 @@ "typecheck": "turbo typecheck" }, "devDependencies": { - "@alparr/prettier-config": "workspace:^0.1.0", + "@homarr/prettier-config": "workspace:^0.1.0", "@turbo/gen": "^1.10.16", "prettier": "^3.1.0", "turbo": "^1.10.16", @@ -32,5 +32,5 @@ "@auth/core": "0.18.0" } }, - "prettier": "@alparr/prettier-config" + "prettier": "@homarr/prettier-config" } \ No newline at end of file diff --git a/packages/api/package.json b/packages/api/package.json index d10914804..ba3f800b3 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -1,5 +1,5 @@ { - "name": "@alparr/api", + "name": "@homarr/api", "version": "0.1.0", "private": true, "main": "./index.ts", @@ -12,18 +12,17 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@alparr/auth": "workspace:^0.1.0", - "@alparr/db": "workspace:^0.1.0", - "@alparr/validation": "workspace:^0.1.0", + "@homarr/auth": "workspace:^0.1.0", + "@homarr/db": "workspace:^0.1.0", + "@homarr/validation": "workspace:^0.1.0", "@trpc/client": "next", "@trpc/server": "next", - "superjson": "2.2.1", - "zod": "^3.22.2" + "superjson": "2.2.1" }, "devDependencies": { - "@alparr/eslint-config": "workspace:^0.2.0", - "@alparr/prettier-config": "workspace:^0.1.0", - "@alparr/tsconfig": "workspace:^0.1.0", + "@homarr/eslint-config": "workspace:^0.2.0", + "@homarr/prettier-config": "workspace:^0.1.0", + "@homarr/tsconfig": "workspace:^0.1.0", "eslint": "^8.53.0", "prettier": "^3.1.0", "typescript": "^5.3.3" @@ -31,8 +30,8 @@ "eslintConfig": { "root": true, "extends": [ - "@alparr/eslint-config/base" + "@homarr/eslint-config/base" ] }, - "prettier": "@alparr/prettier-config" + "prettier": "@homarr/prettier-config" } diff --git a/packages/api/src/router/user.ts b/packages/api/src/router/user.ts index a1a3f3b7b..2c9ed3b3c 100644 --- a/packages/api/src/router/user.ts +++ b/packages/api/src/router/user.ts @@ -2,15 +2,15 @@ import "server-only"; import { TRPCError } from "@trpc/server"; -import { createSalt, hashPassword } from "@alparr/auth"; -import { createId, schema } from "@alparr/db"; -import { initUserSchema } from "@alparr/validation"; +import { createSalt, hashPassword } from "@homarr/auth"; +import { createId, schema } from "@homarr/db"; +import { validation } from "@homarr/validation"; import { createTRPCRouter, publicProcedure } from "../trpc"; export const userRouter = createTRPCRouter({ initUser: publicProcedure - .input(initUserSchema) + .input(validation.user.init) .mutation(async ({ ctx, input }) => { const firstUser = await ctx.db.query.users.findFirst({ columns: { diff --git a/packages/api/src/trpc.ts b/packages/api/src/trpc.ts index e51c8a288..4d64e1c35 100644 --- a/packages/api/src/trpc.ts +++ b/packages/api/src/trpc.ts @@ -8,11 +8,11 @@ */ import { initTRPC, TRPCError } from "@trpc/server"; import superjson from "superjson"; -import { ZodError } from "zod"; -import { auth } from "@alparr/auth"; -import type { Session } from "@alparr/auth"; -import { db } from "@alparr/db"; +import { auth } from "@homarr/auth"; +import type { Session } from "@homarr/auth"; +import { db } from "@homarr/db"; +import { ZodError } from "@homarr/validation"; /** * 1. CONTEXT diff --git a/packages/api/tsconfig.json b/packages/api/tsconfig.json index 24031a8db..35b272c7e 100644 --- a/packages/api/tsconfig.json +++ b/packages/api/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@alparr/tsconfig/base.json", + "extends": "@homarr/tsconfig/base.json", "compilerOptions": { "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json" }, diff --git a/packages/auth/configuration.ts b/packages/auth/configuration.ts index 04bd9e584..047f11491 100644 --- a/packages/auth/configuration.ts +++ b/packages/auth/configuration.ts @@ -3,7 +3,7 @@ import { DrizzleAdapter } from "@auth/drizzle-adapter"; import NextAuth from "next-auth"; import Credentials from "next-auth/providers/credentials"; -import { db } from "@alparr/db"; +import { db } from "@homarr/db"; import { credentialsConfiguration } from "./providers/credentials"; import { EmptyNextAuthProvider } from "./providers/empty"; diff --git a/packages/auth/package.json b/packages/auth/package.json index 58b36288a..96bca995c 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,5 +1,5 @@ { - "name": "@alparr/auth", + "name": "@homarr/auth", "version": "0.1.0", "private": true, "main": "./index.ts", @@ -12,7 +12,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@alparr/db": "workspace:^0.1.0", + "@homarr/db": "workspace:^0.1.0", "@auth/core": "^0.18.4", "@auth/drizzle-adapter": "^0.3.9", "@t3-oss/env-nextjs": "^0.7.1", @@ -21,14 +21,13 @@ "next": "^14.0.3", "next-auth": "5.0.0-beta.4", "react": "18.2.0", - "react-dom": "18.2.0", - "zod": "^3.22.2" + "react-dom": "18.2.0" }, "devDependencies": { - "@alparr/eslint-config": "workspace:^0.2.0", - "@alparr/prettier-config": "workspace:^0.1.0", - "@alparr/tsconfig": "workspace:^0.1.0", - "@alparr/validation": "workspace:^0.1.0", + "@homarr/eslint-config": "workspace:^0.2.0", + "@homarr/prettier-config": "workspace:^0.1.0", + "@homarr/tsconfig": "workspace:^0.1.0", + "@homarr/validation": "workspace:^0.1.0", "@types/bcrypt": "5.0.2", "@types/cookies": "0.7.10", "eslint": "^8.53.0", @@ -38,8 +37,8 @@ "eslintConfig": { "root": true, "extends": [ - "@alparr/eslint-config/base" + "@homarr/eslint-config/base" ] }, - "prettier": "@alparr/prettier-config" + "prettier": "@homarr/prettier-config" } diff --git a/packages/auth/providers/credentials.ts b/packages/auth/providers/credentials.ts index 3a27b952a..114c8ecba 100644 --- a/packages/auth/providers/credentials.ts +++ b/packages/auth/providers/credentials.ts @@ -1,9 +1,9 @@ import type Credentials from "@auth/core/providers/credentials"; import bcrypt from "bcrypt"; -import { db, eq } from "@alparr/db"; -import { users } from "@alparr/db/schema/sqlite"; -import { signInSchema } from "@alparr/validation"; +import { db, eq } from "@homarr/db"; +import { users } from "@homarr/db/schema/sqlite"; +import { validation } from "@homarr/validation"; type CredentialsConfiguration = Parameters[0]; @@ -21,7 +21,7 @@ export const credentialsConfiguration = { }, }, async authorize(credentials) { - const data = await signInSchema.parseAsync(credentials); + const data = await validation.user.signIn.parseAsync(credentials); const user = await db.query.users.findFirst({ where: eq(users.name, data.name), diff --git a/packages/auth/tsconfig.json b/packages/auth/tsconfig.json index 24031a8db..35b272c7e 100644 --- a/packages/auth/tsconfig.json +++ b/packages/auth/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@alparr/tsconfig/base.json", + "extends": "@homarr/tsconfig/base.json", "compilerOptions": { "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json" }, diff --git a/packages/db/package.json b/packages/db/package.json index 8737b3d0c..9fba6bd25 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -1,5 +1,5 @@ { - "name": "@alparr/db", + "name": "@homarr/db", "version": "0.1.0", "private": true, "main": "./index.ts", @@ -19,9 +19,9 @@ "drizzle-orm": "^0.29.1" }, "devDependencies": { - "@alparr/eslint-config": "workspace:^0.2.0", - "@alparr/prettier-config": "workspace:^0.1.0", - "@alparr/tsconfig": "workspace:^0.1.0", + "@homarr/eslint-config": "workspace:^0.2.0", + "@homarr/prettier-config": "workspace:^0.1.0", + "@homarr/tsconfig": "workspace:^0.1.0", "@types/better-sqlite3": "7.6.8", "dotenv-cli": "^7.3.0", "drizzle-kit": "^0.20.6", @@ -32,8 +32,8 @@ "eslintConfig": { "root": true, "extends": [ - "@alparr/eslint-config/base" + "@homarr/eslint-config/base" ] }, - "prettier": "@alparr/prettier-config" + "prettier": "@homarr/prettier-config" } diff --git a/packages/db/tsconfig.json b/packages/db/tsconfig.json index 24031a8db..35b272c7e 100644 --- a/packages/db/tsconfig.json +++ b/packages/db/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@alparr/tsconfig/base.json", + "extends": "@homarr/tsconfig/base.json", "compilerOptions": { "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json" }, diff --git a/packages/form/index.ts b/packages/form/index.ts new file mode 100644 index 000000000..6dd88463f --- /dev/null +++ b/packages/form/index.ts @@ -0,0 +1,2 @@ +export * from "./src"; +export * from "@mantine/form"; diff --git a/packages/form/package.json b/packages/form/package.json new file mode 100644 index 000000000..f924abdeb --- /dev/null +++ b/packages/form/package.json @@ -0,0 +1,38 @@ +{ + "name": "@homarr/form", + "private": true, + "version": "0.1.0", + "exports": { + ".": "./index.ts" + }, + "typesVersions": { + "*": { + "*": [ + "src/*" + ] + } + }, + "license": "MIT", + "scripts": { + "clean": "rm -rf .turbo node_modules", + "lint": "eslint .", + "format": "prettier --check . --ignore-path ../../.gitignore", + "typecheck": "tsc --noEmit" + }, + "devDependencies": { + "@homarr/eslint-config": "workspace:^0.2.0", + "@homarr/prettier-config": "workspace:^0.1.0", + "@homarr/tsconfig": "workspace:^0.1.0", + "eslint": "^8.53.0", + "typescript": "^5.3.3" + }, + "eslintConfig": { + "extends": [ + "@homarr/eslint-config/base" + ] + }, + "prettier": "@homarr/prettier-config", + "dependencies": { + "@mantine/form": "^7.3.2" + } +} diff --git a/packages/form/src/index.ts b/packages/form/src/index.ts new file mode 100644 index 000000000..7211e1b1e --- /dev/null +++ b/packages/form/src/index.ts @@ -0,0 +1 @@ +export const name = "form"; diff --git a/packages/form/tsconfig.json b/packages/form/tsconfig.json new file mode 100644 index 000000000..cbe8483d9 --- /dev/null +++ b/packages/form/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "@homarr/tsconfig/base.json", + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json" + }, + "include": ["*.ts", "src"], + "exclude": ["node_modules"] +} diff --git a/packages/notifications/index.ts b/packages/notifications/index.ts new file mode 100644 index 000000000..fc10b2989 --- /dev/null +++ b/packages/notifications/index.ts @@ -0,0 +1,2 @@ +export * from "./src"; +export { Notifications } from "@mantine/notifications"; diff --git a/packages/notifications/package.json b/packages/notifications/package.json new file mode 100644 index 000000000..6ce4fe2c4 --- /dev/null +++ b/packages/notifications/package.json @@ -0,0 +1,40 @@ +{ + "name": "@homarr/notifications", + "private": true, + "version": "0.1.0", + "exports": { + ".": "./index.ts", + "./styles.css": "./src/styles.css" + }, + "typesVersions": { + "*": { + "*": [ + "src/*" + ] + } + }, + "license": "MIT", + "scripts": { + "clean": "rm -rf .turbo node_modules", + "lint": "eslint .", + "format": "prettier --check . --ignore-path ../../.gitignore", + "typecheck": "tsc --noEmit" + }, + "devDependencies": { + "@homarr/eslint-config": "workspace:^0.2.0", + "@homarr/prettier-config": "workspace:^0.1.0", + "@homarr/tsconfig": "workspace:^0.1.0", + "eslint": "^8.53.0", + "typescript": "^5.3.3" + }, + "dependencies": { + "@mantine/notifications": "7.3.2", + "@homarr/ui": "workspace:^0.1.0" + }, + "eslintConfig": { + "extends": [ + "@homarr/eslint-config/base" + ] + }, + "prettier": "@homarr/prettier-config" +} diff --git a/apps/nextjs/src/notification.tsx b/packages/notifications/src/index.tsx similarity index 85% rename from apps/nextjs/src/notification.tsx rename to packages/notifications/src/index.tsx index b4925de63..1f274ae48 100644 --- a/apps/nextjs/src/notification.tsx +++ b/packages/notifications/src/index.tsx @@ -1,7 +1,7 @@ -import { rem } from "@mantine/core"; import type { NotificationData } from "@mantine/notifications"; import { notifications } from "@mantine/notifications"; -import { IconCheck, IconX } from "@tabler/icons-react"; + +import { IconCheck, IconX, rem } from "@homarr/ui"; type CommonNotificationProps = Pick; diff --git a/packages/notifications/src/styles.css b/packages/notifications/src/styles.css new file mode 100644 index 000000000..5c6f101ec --- /dev/null +++ b/packages/notifications/src/styles.css @@ -0,0 +1 @@ +@import "@mantine/notifications/styles.css"; diff --git a/packages/notifications/tsconfig.json b/packages/notifications/tsconfig.json new file mode 100644 index 000000000..cbe8483d9 --- /dev/null +++ b/packages/notifications/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "@homarr/tsconfig/base.json", + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json" + }, + "include": ["*.ts", "src"], + "exclude": ["node_modules"] +} diff --git a/packages/spotlight/index.ts b/packages/spotlight/index.ts new file mode 100644 index 000000000..3bd16e178 --- /dev/null +++ b/packages/spotlight/index.ts @@ -0,0 +1 @@ +export * from "./src"; diff --git a/packages/spotlight/package.json b/packages/spotlight/package.json new file mode 100644 index 000000000..555eac83e --- /dev/null +++ b/packages/spotlight/package.json @@ -0,0 +1,38 @@ +{ + "name": "@homarr/spotlight", + "private": true, + "version": "0.1.0", + "exports": { + ".": "./index.ts" + }, + "typesVersions": { + "*": { + "*": [ + "src/*" + ] + } + }, + "license": "MIT", + "scripts": { + "clean": "rm -rf .turbo node_modules", + "lint": "eslint .", + "format": "prettier --check . --ignore-path ../../.gitignore", + "typecheck": "tsc --noEmit" + }, + "devDependencies": { + "@homarr/eslint-config": "workspace:^0.2.0", + "@homarr/prettier-config": "workspace:^0.1.0", + "@homarr/tsconfig": "workspace:^0.1.0", + "eslint": "^8.53.0", + "typescript": "^5.3.3" + }, + "eslintConfig": { + "extends": [ + "@homarr/eslint-config/base" + ] + }, + "prettier": "@homarr/prettier-config", + "dependencies": { + "@mantine/spotlight": "^7.3.2" + } +} diff --git a/packages/spotlight/src/index.ts b/packages/spotlight/src/index.ts new file mode 100644 index 000000000..fcbc9a754 --- /dev/null +++ b/packages/spotlight/src/index.ts @@ -0,0 +1 @@ +export const name = "spotlight"; diff --git a/packages/spotlight/tsconfig.json b/packages/spotlight/tsconfig.json new file mode 100644 index 000000000..cbe8483d9 --- /dev/null +++ b/packages/spotlight/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "@homarr/tsconfig/base.json", + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json" + }, + "include": ["*.ts", "src"], + "exclude": ["node_modules"] +} diff --git a/packages/translation/package.json b/packages/translation/package.json index 3c97abdc9..e24160f7f 100644 --- a/packages/translation/package.json +++ b/packages/translation/package.json @@ -1,5 +1,5 @@ { - "name": "@alparr/translation", + "name": "@homarr/translation", "private": true, "version": "0.1.0", "exports": { @@ -23,18 +23,18 @@ "typecheck": "tsc --noEmit" }, "devDependencies": { - "@alparr/eslint-config": "workspace:^0.2.0", - "@alparr/prettier-config": "workspace:^0.1.0", - "@alparr/tsconfig": "workspace:^0.1.0", + "@homarr/eslint-config": "workspace:^0.2.0", + "@homarr/prettier-config": "workspace:^0.1.0", + "@homarr/tsconfig": "workspace:^0.1.0", "eslint": "^8.53.0", "typescript": "^5.3.3" }, "eslintConfig": { "extends": [ - "@alparr/eslint-config/base" + "@homarr/eslint-config/base" ] }, - "prettier": "@alparr/prettier-config", + "prettier": "@homarr/prettier-config", "dependencies": { "next-international": "^1.1.4" } diff --git a/packages/translation/src/lang/de.ts b/packages/translation/src/lang/de.ts index 7564746be..e85c056ce 100644 --- a/packages/translation/src/lang/de.ts +++ b/packages/translation/src/lang/de.ts @@ -6,7 +6,7 @@ export default { subtitle: "Willkommen zurück! Bitte gib deine Zugangsdaten ein", }, init: { - title: "Neue Alparr Installation", + title: "Neue Homarr Installation", subtitle: "Bitte erstelle den initialen Administrator Benutzer", }, }, diff --git a/packages/translation/src/lang/en.ts b/packages/translation/src/lang/en.ts index eb5b0bdd7..6a5b6c3c5 100644 --- a/packages/translation/src/lang/en.ts +++ b/packages/translation/src/lang/en.ts @@ -6,7 +6,7 @@ export default { subtitle: "Welcome back! Please enter your credentials", }, init: { - title: "New Alparr installation", + title: "New Homarr installation", subtitle: "Please create the initial administator user", }, }, diff --git a/packages/translation/tsconfig.json b/packages/translation/tsconfig.json index 5d2933359..cbe8483d9 100644 --- a/packages/translation/tsconfig.json +++ b/packages/translation/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@alparr/tsconfig/base.json", + "extends": "@homarr/tsconfig/base.json", "compilerOptions": { "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json" }, diff --git a/packages/ui/index.ts b/packages/ui/index.ts index 3bd16e178..bb61c9a4e 100644 --- a/packages/ui/index.ts +++ b/packages/ui/index.ts @@ -1 +1,4 @@ export * from "./src"; +export * from "@mantine/core"; +export * from "@mantine/dates"; +export * from "@tabler/icons-react"; diff --git a/packages/ui/package.json b/packages/ui/package.json index 38fdc2c1b..2dd0b65d7 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,9 +1,10 @@ { - "name": "@alparr/ui", + "name": "@homarr/ui", "private": true, "version": "0.1.0", "exports": { - ".": "./index.ts" + ".": "./index.ts", + "./styles.css": "./src/styles.css" }, "typesVersions": { "*": { @@ -20,19 +21,21 @@ "typecheck": "tsc --noEmit" }, "devDependencies": { - "@alparr/eslint-config": "workspace:^0.2.0", - "@alparr/prettier-config": "workspace:^0.1.0", - "@alparr/tsconfig": "workspace:^0.1.0", + "@homarr/eslint-config": "workspace:^0.2.0", + "@homarr/prettier-config": "workspace:^0.1.0", + "@homarr/tsconfig": "workspace:^0.1.0", "eslint": "^8.53.0", "typescript": "^5.3.3" }, "eslintConfig": { "extends": [ - "@alparr/eslint-config/base" + "@homarr/eslint-config/base" ] }, - "prettier": "@alparr/prettier-config", + "prettier": "@homarr/prettier-config", "dependencies": { - "@mantine/core": "^7.3.1" + "@mantine/core": "^7.3.2", + "@mantine/dates": "7.3.2", + "@tabler/icons-react": "^2.42.0" } } diff --git a/packages/ui/src/styles.css b/packages/ui/src/styles.css new file mode 100644 index 000000000..4a09a3d8b --- /dev/null +++ b/packages/ui/src/styles.css @@ -0,0 +1,2 @@ +@import "@mantine/core/styles.css"; +@import "@mantine/dates/styles.css"; diff --git a/packages/ui/tsconfig.json b/packages/ui/tsconfig.json index 5d2933359..cbe8483d9 100644 --- a/packages/ui/tsconfig.json +++ b/packages/ui/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@alparr/tsconfig/base.json", + "extends": "@homarr/tsconfig/base.json", "compilerOptions": { "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json" }, diff --git a/packages/validation/index.ts b/packages/validation/index.ts index 3bd16e178..8c3fd3ff7 100644 --- a/packages/validation/index.ts +++ b/packages/validation/index.ts @@ -1 +1,2 @@ export * from "./src"; +export * from "zod"; diff --git a/packages/validation/package.json b/packages/validation/package.json index 1af00d7a4..2815b7b2f 100644 --- a/packages/validation/package.json +++ b/packages/validation/package.json @@ -1,5 +1,5 @@ { - "name": "@alparr/validation", + "name": "@homarr/validation", "private": true, "version": "0.1.0", "exports": { @@ -20,18 +20,18 @@ "typecheck": "tsc --noEmit" }, "devDependencies": { - "@alparr/eslint-config": "workspace:^0.2.0", - "@alparr/prettier-config": "workspace:^0.1.0", - "@alparr/tsconfig": "workspace:^0.1.0", + "@homarr/eslint-config": "workspace:^0.2.0", + "@homarr/prettier-config": "workspace:^0.1.0", + "@homarr/tsconfig": "workspace:^0.1.0", "eslint": "^8.53.0", "typescript": "^5.3.3" }, "eslintConfig": { "extends": [ - "@alparr/eslint-config/base" + "@homarr/eslint-config/base" ] }, - "prettier": "@alparr/prettier-config", + "prettier": "@homarr/prettier-config", "dependencies": { "zod": "^3.22.2" } diff --git a/packages/validation/src/index.ts b/packages/validation/src/index.ts index 7616f9e53..5918fa94d 100644 --- a/packages/validation/src/index.ts +++ b/packages/validation/src/index.ts @@ -1 +1,5 @@ -export * from "./user"; +import { userSchemas } from "./user"; + +export const validation = { + user: userSchemas, +}; diff --git a/packages/validation/src/user.ts b/packages/validation/src/user.ts index e23f47bc5..7d02a2c2a 100644 --- a/packages/validation/src/user.ts +++ b/packages/validation/src/user.ts @@ -3,7 +3,7 @@ import { z } from "zod"; const usernameSchema = z.string().min(3).max(255); const passwordSchema = z.string().min(8).max(255); -export const initUserSchema = z +const initUserSchema = z .object({ username: usernameSchema, password: passwordSchema, @@ -14,7 +14,12 @@ export const initUserSchema = z message: "Passwords do not match", }); -export const signInSchema = z.object({ +const signInSchema = z.object({ name: z.string(), password: z.string(), }); + +export const userSchemas = { + signIn: signInSchema, + init: initUserSchema, +}; diff --git a/packages/validation/tsconfig.json b/packages/validation/tsconfig.json index 5d2933359..cbe8483d9 100644 --- a/packages/validation/tsconfig.json +++ b/packages/validation/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@alparr/tsconfig/base.json", + "extends": "@homarr/tsconfig/base.json", "compilerOptions": { "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7e9571b4f..c4a4a4d62 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,7 +11,7 @@ importers: .: devDependencies: - '@alparr/prettier-config': + '@homarr/prettier-config': specifier: workspace:^0.1.0 version: link:tooling/prettier '@turbo/gen': @@ -29,51 +29,42 @@ importers: apps/nextjs: dependencies: - '@alparr/api': + '@homarr/api': specifier: workspace:^0.1.0 version: link:../../packages/api - '@alparr/auth': + '@homarr/auth': specifier: workspace:^0.1.0 version: link:../../packages/auth - '@alparr/db': + '@homarr/db': specifier: workspace:^0.1.0 version: link:../../packages/db - '@alparr/translation': - specifier: workspace:^ + '@homarr/form': + specifier: workspace:^0.1.0 + version: link:../../packages/form + '@homarr/notifications': + specifier: workspace:^0.1.0 + version: link:../../packages/notifications + '@homarr/spotlight': + specifier: workspace:^0.1.0 + version: link:../../packages/spotlight + '@homarr/translation': + specifier: workspace:^0.1.0 version: link:../../packages/translation - '@alparr/ui': + '@homarr/ui': specifier: workspace:^0.1.0 version: link:../../packages/ui - '@alparr/validation': + '@homarr/validation': specifier: workspace:^0.1.0 version: link:../../packages/validation - '@mantine/core': - specifier: ^7.3.1 - version: 7.3.1(@mantine/hooks@7.3.1)(@types/react@18.2.42)(react-dom@18.2.0)(react@18.2.0) - '@mantine/dates': - specifier: ^7.3.1 - version: 7.3.1(@mantine/core@7.3.1)(@mantine/hooks@7.3.1)(dayjs@1.11.10)(react-dom@18.2.0)(react@18.2.0) - '@mantine/form': - specifier: ^7.3.1 - version: 7.3.1(react@18.2.0) '@mantine/hooks': specifier: ^7.3.1 version: 7.3.1(react@18.2.0) - '@mantine/notifications': - specifier: ^7.3.1 - version: 7.3.1(@mantine/core@7.3.1)(@mantine/hooks@7.3.1)(react-dom@18.2.0)(react@18.2.0) - '@mantine/spotlight': - specifier: ^7.3.1 - version: 7.3.1(@mantine/core@7.3.1)(@mantine/hooks@7.3.1)(react-dom@18.2.0)(react@18.2.0) '@mantine/tiptap': specifier: ^7.3.1 version: 7.3.1(@mantine/core@7.3.1)(@mantine/hooks@7.3.1)(@tabler/icons-react@2.42.0)(@tiptap/extension-link@2.1.13)(react-dom@18.2.0)(react@18.2.0) '@t3-oss/env-nextjs': specifier: ^0.7.1 - version: 0.7.1(typescript@5.3.3)(zod@3.22.2) - '@tabler/icons-react': - specifier: ^2.42.0 - version: 2.42.0(react@18.2.0) + version: 0.7.1(typescript@5.3.3)(zod@3.22.4) '@tanstack/react-query': specifier: ^5.8.7 version: 5.8.7(react-dom@18.2.0)(react@18.2.0) @@ -122,17 +113,14 @@ importers: superjson: specifier: 2.2.1 version: 2.2.1 - zod: - specifier: ^3.22.2 - version: 3.22.2 devDependencies: - '@alparr/eslint-config': + '@homarr/eslint-config': specifier: workspace:^0.2.0 version: link:../../tooling/eslint - '@alparr/prettier-config': + '@homarr/prettier-config': specifier: workspace:^0.1.0 version: link:../../tooling/prettier - '@alparr/tsconfig': + '@homarr/tsconfig': specifier: workspace:^0.1.0 version: link:../../tooling/typescript '@types/node': @@ -159,13 +147,13 @@ importers: packages/api: dependencies: - '@alparr/auth': + '@homarr/auth': specifier: workspace:^0.1.0 version: link:../auth - '@alparr/db': + '@homarr/db': specifier: workspace:^0.1.0 version: link:../db - '@alparr/validation': + '@homarr/validation': specifier: workspace:^0.1.0 version: link:../validation '@trpc/client': @@ -177,17 +165,14 @@ importers: superjson: specifier: 2.2.1 version: 2.2.1 - zod: - specifier: ^3.22.2 - version: 3.22.2 devDependencies: - '@alparr/eslint-config': + '@homarr/eslint-config': specifier: workspace:^0.2.0 version: link:../../tooling/eslint - '@alparr/prettier-config': + '@homarr/prettier-config': specifier: workspace:^0.1.0 version: link:../../tooling/prettier - '@alparr/tsconfig': + '@homarr/tsconfig': specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: @@ -202,18 +187,18 @@ importers: packages/auth: dependencies: - '@alparr/db': - specifier: workspace:^0.1.0 - version: link:../db '@auth/core': specifier: 0.18.0 version: 0.18.0 '@auth/drizzle-adapter': specifier: ^0.3.9 version: 0.3.9 + '@homarr/db': + specifier: workspace:^0.1.0 + version: link:../db '@t3-oss/env-nextjs': specifier: ^0.7.1 - version: 0.7.1(typescript@5.3.3)(zod@3.22.2) + version: 0.7.1(typescript@5.3.3)(zod@3.22.4) bcrypt: specifier: ^5.1.1 version: 5.1.1 @@ -232,20 +217,17 @@ importers: react-dom: specifier: 18.2.0 version: 18.2.0(react@18.2.0) - zod: - specifier: ^3.22.2 - version: 3.22.2 devDependencies: - '@alparr/eslint-config': + '@homarr/eslint-config': specifier: workspace:^0.2.0 version: link:../../tooling/eslint - '@alparr/prettier-config': + '@homarr/prettier-config': specifier: workspace:^0.1.0 version: link:../../tooling/prettier - '@alparr/tsconfig': + '@homarr/tsconfig': specifier: workspace:^0.1.0 version: link:../../tooling/typescript - '@alparr/validation': + '@homarr/validation': specifier: workspace:^0.1.0 version: link:../validation '@types/bcrypt': @@ -276,13 +258,13 @@ importers: specifier: ^0.29.1 version: 0.29.1(@types/better-sqlite3@7.6.8)(better-sqlite3@9.2.2) devDependencies: - '@alparr/eslint-config': + '@homarr/eslint-config': specifier: workspace:^0.2.0 version: link:../../tooling/eslint - '@alparr/prettier-config': + '@homarr/prettier-config': specifier: workspace:^0.1.0 version: link:../../tooling/prettier - '@alparr/tsconfig': + '@homarr/tsconfig': specifier: workspace:^0.1.0 version: link:../../tooling/typescript '@types/better-sqlite3': @@ -304,19 +286,88 @@ importers: specifier: ^5.3.3 version: 5.3.3 + packages/form: + dependencies: + '@mantine/form': + specifier: ^7.3.2 + version: 7.3.2(react@18.2.0) + devDependencies: + '@homarr/eslint-config': + specifier: workspace:^0.2.0 + version: link:../../tooling/eslint + '@homarr/prettier-config': + specifier: workspace:^0.1.0 + version: link:../../tooling/prettier + '@homarr/tsconfig': + specifier: workspace:^0.1.0 + version: link:../../tooling/typescript + eslint: + specifier: ^8.53.0 + version: 8.53.0 + typescript: + specifier: ^5.3.3 + version: 5.3.3 + + packages/notifications: + dependencies: + '@homarr/ui': + specifier: workspace:^0.1.0 + version: link:../ui + '@mantine/notifications': + specifier: 7.3.2 + version: 7.3.2(@mantine/core@7.3.2)(@mantine/hooks@7.3.2)(react-dom@18.2.0)(react@18.2.0) + devDependencies: + '@homarr/eslint-config': + specifier: workspace:^0.2.0 + version: link:../../tooling/eslint + '@homarr/prettier-config': + specifier: workspace:^0.1.0 + version: link:../../tooling/prettier + '@homarr/tsconfig': + specifier: workspace:^0.1.0 + version: link:../../tooling/typescript + eslint: + specifier: ^8.53.0 + version: 8.53.0 + typescript: + specifier: ^5.3.3 + version: 5.3.3 + + packages/spotlight: + dependencies: + '@mantine/spotlight': + specifier: ^7.3.2 + version: 7.3.2(@mantine/core@7.3.2)(@mantine/hooks@7.3.2)(react-dom@18.2.0)(react@18.2.0) + devDependencies: + '@homarr/eslint-config': + specifier: workspace:^0.2.0 + version: link:../../tooling/eslint + '@homarr/prettier-config': + specifier: workspace:^0.1.0 + version: link:../../tooling/prettier + '@homarr/tsconfig': + specifier: workspace:^0.1.0 + version: link:../../tooling/typescript + eslint: + specifier: ^8.53.0 + version: 8.53.0 + typescript: + specifier: ^5.3.3 + version: 5.3.3 + packages/translation: dependencies: next-international: specifier: ^1.1.4 version: 1.1.4 devDependencies: - '@alparr/eslint-config': + '@homarr/eslint-config': specifier: workspace:^0.2.0 version: link:../../tooling/eslint - '@alparr/prettier-config': + '@homarr/prettier-config': specifier: workspace:^0.1.0 version: link:../../tooling/prettier - '@alparr/tsconfig': + '@homarr/tsconfig': specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: @@ -329,16 +380,22 @@ importers: packages/ui: dependencies: '@mantine/core': - specifier: ^7.3.1 - version: 7.3.1(@mantine/hooks@7.3.1)(@types/react@18.2.42)(react-dom@18.2.0)(react@18.2.0) + specifier: ^7.3.2 + version: 7.3.2(@mantine/hooks@7.3.2)(react-dom@18.2.0)(react@18.2.0) + '@mantine/dates': + specifier: 7.3.2 + version: 7.3.2(@mantine/core@7.3.2)(@mantine/hooks@7.3.2)(dayjs@1.11.10)(react-dom@18.2.0)(react@18.2.0) + '@tabler/icons-react': + specifier: ^2.42.0 + version: 2.42.0(react@18.2.0) devDependencies: - '@alparr/eslint-config': + '@homarr/eslint-config': specifier: workspace:^0.2.0 version: link:../../tooling/eslint - '@alparr/prettier-config': + '@homarr/prettier-config': specifier: workspace:^0.1.0 version: link:../../tooling/prettier - '@alparr/tsconfig': + '@homarr/tsconfig': specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: @@ -354,13 +411,13 @@ importers: specifier: ^3.22.2 version: 3.22.2 devDependencies: - '@alparr/eslint-config': + '@homarr/eslint-config': specifier: workspace:^0.2.0 version: link:../../tooling/eslint - '@alparr/prettier-config': + '@homarr/prettier-config': specifier: workspace:^0.1.0 version: link:../../tooling/prettier - '@alparr/tsconfig': + '@homarr/tsconfig': specifier: workspace:^0.1.0 version: link:../../tooling/typescript eslint: @@ -400,10 +457,10 @@ importers: specifier: ^4.6.0 version: 4.6.0(eslint@8.53.0) devDependencies: - '@alparr/prettier-config': + '@homarr/prettier-config': specifier: workspace:^0.1.0 version: link:../prettier - '@alparr/tsconfig': + '@homarr/tsconfig': specifier: workspace:^0.1.0 version: link:../typescript '@types/eslint': @@ -427,7 +484,7 @@ importers: specifier: ^3.1.0 version: 3.1.0 devDependencies: - '@alparr/tsconfig': + '@homarr/tsconfig': specifier: workspace:^0.1.0 version: link:../typescript typescript: @@ -1346,25 +1403,45 @@ packages: - '@types/react' dev: false - /@mantine/dates@7.3.1(@mantine/core@7.3.1)(@mantine/hooks@7.3.1)(dayjs@1.11.10)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-OI2qs5MgdYkwI7n+KuQ1tj9OhHloO0ozVOTSYyF/bgEfawCrd4TM76IcvIbfcTpmTLly1FflqFTM45+KVoQtbQ==} + /@mantine/core@7.3.2(@mantine/hooks@7.3.2)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-CwAuQogVLcLR7O9e1eOgi3gtk4XX6cnaqevAxzJJpIOIyCnHiQ3cEGINVXyUUjUUipBlvK3sqz3NPGJ2ekLFDQ==} peerDependencies: - '@mantine/core': 7.3.1 - '@mantine/hooks': 7.3.1 + '@mantine/hooks': 7.3.2 + react: ^18.2.0 + react-dom: ^18.2.0 + dependencies: + '@floating-ui/react': 0.24.8(react-dom@18.2.0)(react@18.2.0) + '@mantine/hooks': 7.3.2(react@18.2.0) + clsx: 2.0.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-number-format: 5.3.1(react-dom@18.2.0)(react@18.2.0) + react-remove-scroll: 2.5.7(@types/react@18.2.42)(react@18.2.0) + react-textarea-autosize: 8.5.3(@types/react@18.2.42)(react@18.2.0) + type-fest: 3.13.1 + transitivePeerDependencies: + - '@types/react' + dev: false + + /@mantine/dates@7.3.2(@mantine/core@7.3.2)(@mantine/hooks@7.3.2)(dayjs@1.11.10)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-mmP0PYpM9GYTXRhEL4Ulb+170vgW8fpGwRdVNuCCE/cyzIKHPJzaI2pEGR/i+sboH+RC1InCy/JaiDkPY6Fzlg==} + peerDependencies: + '@mantine/core': 7.3.2 + '@mantine/hooks': 7.3.2 dayjs: '>=1.0.0' react: ^18.2.0 react-dom: ^18.2.0 dependencies: - '@mantine/core': 7.3.1(@mantine/hooks@7.3.1)(@types/react@18.2.42)(react-dom@18.2.0)(react@18.2.0) - '@mantine/hooks': 7.3.1(react@18.2.0) + '@mantine/core': 7.3.2(@mantine/hooks@7.3.2)(react-dom@18.2.0)(react@18.2.0) + '@mantine/hooks': 7.3.2(react@18.2.0) clsx: 2.0.0 dayjs: 1.11.10 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@mantine/form@7.3.1(react@18.2.0): - resolution: {integrity: sha512-Oo8f7MuexeLM9ylQP5sZu4ljM//8wncvv+N9ZbPsagIn0RMW+oqdEikJfaAgZafSJKngAJ0H4krJu9J83sraDw==} + /@mantine/form@7.3.2(react@18.2.0): + resolution: {integrity: sha512-/qa1KQKVC46XWgIU190r3XM3Xld8Lsvz4L/an//TO67RnAGEdC5OCvr2JCb+fprZZi3YdxaKOkVNvP20W23qkg==} peerDependencies: react: ^18.2.0 dependencies: @@ -1381,39 +1458,47 @@ packages: react: 18.2.0 dev: false - /@mantine/notifications@7.3.1(@mantine/core@7.3.1)(@mantine/hooks@7.3.1)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-9q/Kxzc18hx5PZW4uUSoYRKBlVZPojmbS6DFrua9T684MyDz2a4Hhj6d90i+MwDIu39p6C6i3pl8FLoPqeb0ww==} + /@mantine/hooks@7.3.2(react@18.2.0): + resolution: {integrity: sha512-xgumuuI3PBWXff5N02HCI7PEy25mDEdyXDQklUYK93J6FKwpcosyZnGVitoUrV1gLtYYa9ZudeAWdhHuh/CpOg==} peerDependencies: - '@mantine/core': 7.3.1 - '@mantine/hooks': 7.3.1 + react: ^18.2.0 + dependencies: + react: 18.2.0 + dev: false + + /@mantine/notifications@7.3.2(@mantine/core@7.3.2)(@mantine/hooks@7.3.2)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-XOzgm4pm4XszavVN0QUjN+IP0xiG2IochxJSz/FduTI0r3u1WxdpvDYlOvEJpHhtWvyqI8W8rx6cPJaD2HdAwQ==} + peerDependencies: + '@mantine/core': 7.3.2 + '@mantine/hooks': 7.3.2 react: ^18.2.0 react-dom: ^18.2.0 dependencies: - '@mantine/core': 7.3.1(@mantine/hooks@7.3.1)(@types/react@18.2.42)(react-dom@18.2.0)(react@18.2.0) - '@mantine/hooks': 7.3.1(react@18.2.0) - '@mantine/store': 7.3.1(react@18.2.0) + '@mantine/core': 7.3.2(@mantine/hooks@7.3.2)(react-dom@18.2.0)(react@18.2.0) + '@mantine/hooks': 7.3.2(react@18.2.0) + '@mantine/store': 7.3.2(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-transition-group: 4.4.5(react-dom@18.2.0)(react@18.2.0) dev: false - /@mantine/spotlight@7.3.1(@mantine/core@7.3.1)(@mantine/hooks@7.3.1)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-FgejHyrtwytwwErNwGab83qxrvNXe3TSCcWdJaOY4QSAbk9Awhja2ZpiDUKHV9MR5GKk3IiH6WVvEtYq5eOOhQ==} + /@mantine/spotlight@7.3.2(@mantine/core@7.3.2)(@mantine/hooks@7.3.2)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-wvrIj7ZZKoVwKFxgY+KvWilu1YYdkv8HDUzZzRxOlD9fjPyyMRgBxAdVkxA4sLbol4XoCpW83dNIiXDII4httw==} peerDependencies: - '@mantine/core': 7.3.1 - '@mantine/hooks': 7.3.1 + '@mantine/core': 7.3.2 + '@mantine/hooks': 7.3.2 react: ^18.2.0 react-dom: ^18.2.0 dependencies: - '@mantine/core': 7.3.1(@mantine/hooks@7.3.1)(@types/react@18.2.42)(react-dom@18.2.0)(react@18.2.0) - '@mantine/hooks': 7.3.1(react@18.2.0) - '@mantine/store': 7.3.1(react@18.2.0) + '@mantine/core': 7.3.2(@mantine/hooks@7.3.2)(react-dom@18.2.0)(react@18.2.0) + '@mantine/hooks': 7.3.2(react@18.2.0) + '@mantine/store': 7.3.2(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@mantine/store@7.3.1(react@18.2.0): - resolution: {integrity: sha512-B4kFI0ZhZTftlMvD5d8P0y1ATKFAMIA5MT4j0gNUgYEKMl1KkM/dT3kBPC2/32jz4GM9t2UL+D3CvkTwSX/BsA==} + /@mantine/store@7.3.2(react@18.2.0): + resolution: {integrity: sha512-M1eWHzTRCeCFvrpFhXKIM9zblrlIT5/XrMue/fP2HrkA43dpkgq+ArnZkN3LhG9lWR/EKbRwQWDhDIvdLtfD7w==} peerDependencies: react: ^18.2.0 dependencies: @@ -1618,7 +1703,7 @@ packages: tslib: 2.5.0 dev: false - /@t3-oss/env-core@0.7.1(typescript@5.3.3)(zod@3.22.2): + /@t3-oss/env-core@0.7.1(typescript@5.3.3)(zod@3.22.4): resolution: {integrity: sha512-3+SQt39OlmSaRLqYVFv8uRm1BpFepM5TIiMytRqO9cjH+wB77o6BIJdeyM5h5U4qLBMEzOJWCY4MBaU/rLwbYw==} peerDependencies: typescript: '>=4.7.2' @@ -1628,10 +1713,10 @@ packages: optional: true dependencies: typescript: 5.3.3 - zod: 3.22.2 + zod: 3.22.4 dev: false - /@t3-oss/env-nextjs@0.7.1(typescript@5.3.3)(zod@3.22.2): + /@t3-oss/env-nextjs@0.7.1(typescript@5.3.3)(zod@3.22.4): resolution: {integrity: sha512-tQDbNLGCOvKGi+JoGuJ/CJInJI7/kLWJqtgGppAKS7ZFLdVOqZYR/uRjxlXOWPnxmUKF8VswOAsq7fXUpNZDhA==} peerDependencies: typescript: '>=4.7.2' @@ -1640,9 +1725,9 @@ packages: typescript: optional: true dependencies: - '@t3-oss/env-core': 0.7.1(typescript@5.3.3)(zod@3.22.2) + '@t3-oss/env-core': 0.7.1(typescript@5.3.3)(zod@3.22.4) typescript: 5.3.3 - zod: 3.22.2 + zod: 3.22.4 dev: false /@tabler/icons-react@2.42.0(react@18.2.0): @@ -7059,4 +7144,3 @@ packages: /zod@3.22.4: resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} - dev: true diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json index 92cf3fcd1..33cf049b6 100644 --- a/tooling/eslint/package.json +++ b/tooling/eslint/package.json @@ -1,5 +1,5 @@ { - "name": "@alparr/eslint-config", + "name": "@homarr/eslint-config", "version": "0.2.0", "private": true, "license": "MIT", @@ -27,8 +27,8 @@ }, "devDependencies": { "@types/eslint": "^8.44.7", - "@alparr/prettier-config": "workspace:^0.1.0", - "@alparr/tsconfig": "workspace:^0.1.0", + "@homarr/prettier-config": "workspace:^0.1.0", + "@homarr/tsconfig": "workspace:^0.1.0", "eslint": "^8.53.0", "typescript": "^5.3.3" }, @@ -38,5 +38,5 @@ "./base.js" ] }, - "prettier": "@alparr/prettier-config" + "prettier": "@homarr/prettier-config" } diff --git a/tooling/eslint/tsconfig.json b/tooling/eslint/tsconfig.json index 24031a8db..35b272c7e 100644 --- a/tooling/eslint/tsconfig.json +++ b/tooling/eslint/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@alparr/tsconfig/base.json", + "extends": "@homarr/tsconfig/base.json", "compilerOptions": { "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json" }, diff --git a/tooling/github/package.json b/tooling/github/package.json index cfbb74af7..fa9349610 100644 --- a/tooling/github/package.json +++ b/tooling/github/package.json @@ -1,3 +1,3 @@ { - "name": "@alparr/github" + "name": "@homarr/github" } \ No newline at end of file diff --git a/tooling/prettier/index.mjs b/tooling/prettier/index.mjs index 2434e127a..252af72ad 100644 --- a/tooling/prettier/index.mjs +++ b/tooling/prettier/index.mjs @@ -9,7 +9,7 @@ const config = { "^(next/(.*)$)|^(next$)", "", "", - "^@alparr/(.*)$", + "^@homarr/(.*)$", "", "^~/", "^[../]", diff --git a/tooling/prettier/package.json b/tooling/prettier/package.json index 1263bb93f..219c882f0 100644 --- a/tooling/prettier/package.json +++ b/tooling/prettier/package.json @@ -1,5 +1,5 @@ { - "name": "@alparr/prettier-config", + "name": "@homarr/prettier-config", "private": true, "version": "0.1.0", "main": "index.mjs", @@ -13,8 +13,8 @@ "prettier": "^3.1.0" }, "devDependencies": { - "@alparr/tsconfig": "workspace:^0.1.0", + "@homarr/tsconfig": "workspace:^0.1.0", "typescript": "^5.3.3" }, - "prettier": "@alparr/prettier-config" + "prettier": "@homarr/prettier-config" } diff --git a/tooling/prettier/tsconfig.json b/tooling/prettier/tsconfig.json index 24031a8db..35b272c7e 100644 --- a/tooling/prettier/tsconfig.json +++ b/tooling/prettier/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@alparr/tsconfig/base.json", + "extends": "@homarr/tsconfig/base.json", "compilerOptions": { "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json" }, diff --git a/tooling/typescript/package.json b/tooling/typescript/package.json index 9bdcd6fdf..f8c4ac519 100644 --- a/tooling/typescript/package.json +++ b/tooling/typescript/package.json @@ -1,5 +1,5 @@ { - "name": "@alparr/tsconfig", + "name": "@homarr/tsconfig", "private": true, "version": "0.1.0", "files": [ diff --git a/turbo/generators/config.ts b/turbo/generators/config.ts index 99eaeebf4..1bf6d4896 100644 --- a/turbo/generators/config.ts +++ b/turbo/generators/config.ts @@ -10,13 +10,13 @@ interface PackageJson { export default function generator(plop: PlopTypes.NodePlopAPI): void { plop.setGenerator("init", { - description: "Generate a new package for the alparr Monorepo", + description: "Generate a new package for the homarr Monorepo", prompts: [ { type: "input", name: "name", message: - "What is the name of the package? (You can skip the `@alparr/` prefix)", + "What is the name of the package? (You can skip the `@homarr/` prefix)", }, { type: "input", @@ -28,8 +28,8 @@ export default function generator(plop: PlopTypes.NodePlopAPI): void { actions: [ (answers) => { if ("name" in answers && typeof answers.name === "string") { - if (answers.name.startsWith("@alparr/")) { - answers.name = answers.name.replace("@alparr/", ""); + if (answers.name.startsWith("@homarr/")) { + answers.name = answers.name.replace("@homarr/", ""); } } return "Config sanitized"; diff --git a/turbo/generators/templates/package.json.hbs b/turbo/generators/templates/package.json.hbs index c22178cfe..4296e2c76 100644 --- a/turbo/generators/templates/package.json.hbs +++ b/turbo/generators/templates/package.json.hbs @@ -1,35 +1,35 @@ { - "name": "@alparr/{{ name }}", - "private": true, - "version": "0.1.0", - "exports": { - ".": "./index.ts" - }, - "typesVersions": { - "*": { - "*": [ - "src/*" - ] - } - }, - "license": "MIT", - "scripts": { - "clean": "rm -rf .turbo node_modules", - "lint": "eslint .", - "format": "prettier --check . --ignore-path ../../.gitignore", - "typecheck": "tsc --noEmit" - }, - "devDependencies": { - "@alparr/eslint-config": "workspace:^0.2.0", - "@alparr/prettier-config": "workspace:^0.1.0", - "@alparr/tsconfig": "workspace:^0.1.0", - "eslint": "^8.53.0", - "typescript": "^5.3.3" - }, - "eslintConfig": { - "extends": [ - "@alparr/eslint-config/base" - ] - }, - "prettier": "@alparr/prettier-config" -} + "name": "@homarr/{{name}}", + "private": true, + "version": "0.1.0", + "exports": { + ".": "./index.ts" + }, + "typesVersions": { + "*": { + "*": [ + "src/*" + ] + } + }, + "license": "MIT", + "scripts": { + "clean": "rm -rf .turbo node_modules", + "lint": "eslint .", + "format": "prettier --check . --ignore-path ../../.gitignore", + "typecheck": "tsc --noEmit" + }, + "devDependencies": { + "@homarr/eslint-config": "workspace:^0.2.0", + "@homarr/prettier-config": "workspace:^0.1.0", + "@homarr/tsconfig": "workspace:^0.1.0", + "eslint": "^8.53.0", + "typescript": "^5.3.3" + }, + "eslintConfig": { + "extends": [ + "@homarr/eslint-config/base" + ] + }, + "prettier": "@homarr/prettier-config" +} \ No newline at end of file diff --git a/turbo/generators/templates/tsconfig.json.hbs b/turbo/generators/templates/tsconfig.json.hbs index 5d2933359..cbe8483d9 100644 --- a/turbo/generators/templates/tsconfig.json.hbs +++ b/turbo/generators/templates/tsconfig.json.hbs @@ -1,5 +1,5 @@ { - "extends": "@alparr/tsconfig/base.json", + "extends": "@homarr/tsconfig/base.json", "compilerOptions": { "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json" },