Merge branch 'dev' into feat/appearance-updates

This commit is contained in:
Kyle authored and GitHub committed 2026-04-14 13:29:45 -06:00
commit 748f59f444
45 files changed
+2006 -2347

No files matched your search

+57 -56
View File
@@ -15,10 +15,10 @@
},
"prettier": "@homarr/prettier-config",
"dependencies": {
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/modifiers": "^9.0.0",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@dnd-kit/core": "catalog:",
"@dnd-kit/modifiers": "catalog:",
"@dnd-kit/sortable": "catalog:",
"@dnd-kit/utilities": "catalog:",
"@homarr/analytics": "workspace:^0.1.0",
"@homarr/api": "workspace:^0.1.0",
"@homarr/auth": "workspace:^0.1.0",
@@ -31,7 +31,7 @@
"@homarr/docker": "workspace:^0.1.0",
"@homarr/form": "workspace:^0.1.0",
"@homarr/forms-collection": "workspace:^0.1.0",
"@homarr/gridstack": "^1.12.0",
"@homarr/gridstack": "catalog:",
"@homarr/icons": "workspace:^0.1.0",
"@homarr/image-proxy": "workspace:^0.1.0",
"@homarr/integrations": "workspace:^0.1.0",
@@ -48,61 +48,62 @@
"@homarr/ui": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@homarr/widgets": "workspace:^0.1.0",
"@mantine/colors-generator": "^8.3.18",
"@mantine/core": "^8.3.18",
"@mantine/dropzone": "^8.3.18",
"@mantine/hooks": "^8.3.18",
"@mantine/modals": "^8.3.18",
"@mantine/tiptap": "^8.3.18",
"@million/lint": "1.0.14",
"@tabler/icons-react": "^3.41.1",
"@tanstack/react-query": "^5.96.2",
"@tanstack/react-query-devtools": "^5.96.2",
"@tanstack/react-query-next-experimental": "^5.96.2",
"@trpc/client": "^11.16.0",
"@trpc/next": "^11.16.0",
"@trpc/react-query": "^11.16.0",
"@trpc/server": "^11.16.0",
"@xterm/addon-canvas": "^0.7.0",
"@xterm/addon-fit": "0.11.0",
"@xterm/xterm": "^6.0.0",
"babel-plugin-react-compiler": "^1.0.0",
"chroma-js": "^3.2.0",
"clsx": "^2.1.1",
"dayjs": "^1.11.20",
"dotenv": "^17.4.1",
"flag-icons": "^7.5.0",
"glob": "^13.0.6",
"isomorphic-dompurify": "^3.8.0",
"jotai": "^2.19.1",
"mantine-react-table": "2.0.0-beta.9",
"next": "16.2.3",
"postcss-preset-mantine": "^1.18.0",
"prismjs": "^1.30.0",
"react": "19.2.5",
"react-dom": "19.2.5",
"react-error-boundary": "^6.1.1",
"react-simple-code-editor": "^0.14.1",
"sass": "^1.99.0",
"superjson": "2.2.6",
"swagger-ui-react": "^5.32.2",
"use-deep-compare-effect": "^1.8.1",
"zod": "^4.3.6"
"@mantine/colors-generator": "catalog:",
"@mantine/core": "catalog:",
"@mantine/dropzone": "catalog:",
"@mantine/hooks": "catalog:",
"@mantine/modals": "catalog:",
"@mantine/tiptap": "catalog:",
"@million/lint": "catalog:",
"@tabler/icons-react": "catalog:",
"@tanstack/react-query": "catalog:",
"@tanstack/react-query-devtools": "catalog:",
"@tanstack/react-query-next-experimental": "catalog:",
"@trpc/client": "catalog:",
"@trpc/next": "catalog:",
"@trpc/react-query": "catalog:",
"@trpc/server": "catalog:",
"@xterm/addon-canvas": "catalog:",
"@xterm/addon-fit": "catalog:",
"@xterm/xterm": "catalog:",
"babel-plugin-react-compiler": "catalog:",
"chroma-js": "catalog:",
"clsx": "catalog:",
"dayjs": "catalog:",
"dotenv": "catalog:",
"flag-icons": "catalog:",
"glob": "catalog:",
"isomorphic-dompurify": "catalog:",
"jotai": "catalog:",
"mantine-react-table": "catalog:",
"next": "catalog:",
"postcss-preset-mantine": "catalog:",
"prismjs": "catalog:",
"react": "catalog:",
"react-dom": "catalog:",
"react-error-boundary": "catalog:",
"react-simple-code-editor": "catalog:",
"sass": "catalog:",
"superjson": "catalog:",
"swagger-ui-react": "catalog:",
"use-deep-compare-effect": "catalog:",
"yaml": "catalog:",
"zod": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/chroma-js": "3.1.2",
"@types/node": "^24.12.2",
"@types/prismjs": "^1.26.6",
"@types/react": "19.2.14",
"@types/react-dom": "19.2.3",
"@types/swagger-ui-react": "^5.18.0",
"concurrently": "^9.2.1",
"eslint": "^9.39.4",
"node-loader": "^2.1.0",
"prettier": "^3.8.1",
"typescript": "^5.9.3"
"@types/chroma-js": "catalog:",
"@types/node": "catalog:",
"@types/prismjs": "catalog:",
"@types/react": "catalog:",
"@types/react-dom": "catalog:",
"@types/swagger-ui-react": "catalog:",
"concurrently": "catalog:",
"eslint": "catalog:",
"node-loader": "catalog:",
"prettier": "catalog:",
"typescript": "catalog:"
}
}
+28 -1
View File
@@ -1,5 +1,9 @@
import fsPromises from "fs/promises";
import path from "path";
import { fileURLToPath } from "url";
import { glob } from "glob";
import { parse as parseYaml } from "yaml";
import z from "zod";
import packageJson from "../../../../package.json";
@@ -15,13 +19,36 @@ export const getDependenciesAsync = async (): Promise<PackageJsonDependencies> =
.map((packageContent) => (JSON.parse(packageContent) as PackageJson).dependencies)
.filter((dependencies) => dependencies !== undefined);
const catalog = await parseDependencyCatalogsAsync();
let dependencies = {};
for (const dependenciesOfPackage of packageDependencies) {
dependencies = { ...dependencies, ...dependenciesOfPackage };
const resolvedDependencies = Object.entries(dependenciesOfPackage).map(([name, version]) => {
const catalogVersion = catalog.get(name);
return [name, catalogVersion ?? version] as const;
});
dependencies = { ...dependencies, ...Object.fromEntries(resolvedDependencies) };
}
return dependencies;
};
type DependencyCatalog = Map<string, string>;
const parseDependencyCatalogsAsync = async (): Promise<DependencyCatalog> => {
const currentDir = path.dirname(fileURLToPath(import.meta.url));
const workspaceConfigContent = await fsPromises.readFile(
path.join(currentDir, "..", "..", "..", "..", "pnpm-workspace.yaml"),
"utf-8",
);
const workspaceConfig: unknown = parseYaml(workspaceConfigContent);
const parseResult = workspaceConfigCatalogSchema.parse(workspaceConfig);
return new Map(Object.entries(parseResult.catalog ?? {}));
};
const workspaceConfigCatalogSchema = z.object({
catalog: z.record(z.string(), z.string()).optional(),
});
export type PackageJsonDependencies = Record<string, string>;
interface PackageJson {
dependencies: PackageJsonDependencies | undefined;
+12 -12
View File
@@ -37,22 +37,22 @@
"@homarr/server-settings": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@homarr/widgets": "workspace:^0.1.0",
"dayjs": "^1.11.20",
"dotenv": "^17.4.1",
"fastify": "^5.8.4",
"superjson": "2.2.6",
"undici": "7.24.6"
"dayjs": "catalog:",
"dotenv": "catalog:",
"fastify": "catalog:",
"superjson": "catalog:",
"undici": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/node": "^24.12.2",
"dotenv-cli": "^11.0.0",
"esbuild": "^0.28.0",
"eslint": "^9.39.4",
"prettier": "^3.8.1",
"tsx": "4.20.4",
"typescript": "^5.9.3"
"@types/node": "catalog:",
"dotenv-cli": "catalog:",
"esbuild": "catalog:",
"eslint": "catalog:",
"prettier": "catalog:",
"tsx": "catalog:",
"typescript": "catalog:"
}
}
+8 -8
View File
@@ -25,18 +25,18 @@
"@homarr/definitions": "workspace:^0.1.0",
"@homarr/redis": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"dotenv": "^17.4.1",
"tsx": "4.20.4",
"ws": "^8.20.0"
"dotenv": "catalog:",
"tsx": "catalog:",
"ws": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/ws": "^8.18.1",
"esbuild": "^0.28.0",
"eslint": "^9.39.4",
"prettier": "^3.8.1",
"typescript": "^5.9.3"
"@types/ws": "catalog:",
"esbuild": "catalog:",
"eslint": "catalog:",
"prettier": "catalog:",
"typescript": "catalog:"
}
}
+23 -23
View File
@@ -36,28 +36,28 @@
"prettier": "@homarr/prettier-config",
"devDependencies": {
"@homarr/prettier-config": "workspace:^0.1.0",
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/commit-analyzer": "^13.0.1",
"@semantic-release/git": "^10.0.1",
"@semantic-release/github": "^12.0.6",
"@semantic-release/npm": "^13.1.5",
"@semantic-release/release-notes-generator": "^14.1.0",
"@testcontainers/redis": "^11.14.0",
"@turbo/gen": "^2.9.5",
"@vitejs/plugin-react": "^5.2.0",
"@vitest/coverage-v8": "^4.1.3",
"@vitest/ui": "^4.1.3",
"conventional-changelog-conventionalcommits": "^9.3.1",
"cross-env": "^10.1.0",
"jsdom": "^29.0.2",
"json5": "^2.2.3",
"prettier": "^3.8.1",
"semantic-release": "^25.0.3",
"testcontainers": "^11.14.0",
"turbo": "^2.9.5",
"typescript": "^5.9.3",
"vite-tsconfig-paths": "^6.1.1",
"vitest": "^4.1.3"
"@semantic-release/changelog": "catalog:",
"@semantic-release/commit-analyzer": "catalog:",
"@semantic-release/git": "catalog:",
"@semantic-release/github": "catalog:",
"@semantic-release/npm": "catalog:",
"@semantic-release/release-notes-generator": "catalog:",
"@testcontainers/redis": "catalog:",
"@turbo/gen": "catalog:",
"@vitejs/plugin-react": "catalog:",
"@vitest/coverage-v8": "catalog:",
"@vitest/ui": "catalog:",
"conventional-changelog-conventionalcommits": "catalog:",
"cross-env": "catalog:",
"jsdom": "catalog:",
"json5": "catalog:",
"prettier": "catalog:",
"semantic-release": "catalog:",
"testcontainers": "catalog:",
"turbo": "catalog:",
"typescript": "catalog:",
"vite-tsconfig-paths": "catalog:",
"vitest": "catalog:"
},
"packageManager": "pnpm@10.33.0",
"engines": {
@@ -95,7 +95,7 @@
"tar-fs@>=3.0.0 <3.0.9": ">=3.1.2",
"tar-fs@>=2.0.0 <2.1.3": ">=3.1.2",
"tmp@<=0.2.3": ">=0.2.5",
"vite@>=5.0.0 <=5.4.18": ">=8.0.7"
"vite@>=5.0.0 <=5.4.18": ">=8.0.8"
},
"patchedDependencies": {
"@types/node-unifi": "patches/@types__node-unifi.patch",
+4 -4
View File
@@ -28,14 +28,14 @@
"@homarr/db": "workspace:^0.1.0",
"@homarr/docker": "workspace:^0.1.0",
"@homarr/server-settings": "workspace:^0.1.0",
"@umami/node": "^0.4.0",
"superjson": "2.2.6"
"@umami/node": "catalog:",
"superjson": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+16 -16
View File
@@ -40,26 +40,26 @@
"@homarr/server-settings": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@kubernetes/client-node": "^1.4.0",
"@tanstack/react-query": "^5.96.2",
"@trpc/client": "^11.16.0",
"@trpc/react-query": "^11.16.0",
"@trpc/server": "^11.16.0",
"@trpc/tanstack-react-query": "^11.16.0",
"lodash.clonedeep": "^4.5.0",
"next": "16.2.3",
"react": "19.2.5",
"react-dom": "19.2.5",
"superjson": "2.2.6",
"trpc-to-openapi": "^3.2.0",
"zod": "^4.3.6"
"@kubernetes/client-node": "catalog:",
"@tanstack/react-query": "catalog:",
"@trpc/client": "catalog:",
"@trpc/react-query": "catalog:",
"@trpc/server": "catalog:",
"@trpc/tanstack-react-query": "catalog:",
"lodash.clonedeep": "catalog:",
"next": "catalog:",
"react": "catalog:",
"react-dom": "catalog:",
"superjson": "catalog:",
"trpc-to-openapi": "catalog:",
"zod": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.39.4",
"prettier": "^3.8.1",
"typescript": "^5.9.3"
"eslint": "catalog:",
"prettier": "catalog:",
"typescript": "catalog:"
}
}
+15 -15
View File
@@ -24,30 +24,30 @@
},
"prettier": "@homarr/prettier-config",
"dependencies": {
"@auth/core": "^0.41.1",
"@auth/drizzle-adapter": "^1.11.1",
"@auth/core": "catalog:",
"@auth/drizzle-adapter": "catalog:",
"@homarr/common": "workspace:^0.1.0",
"@homarr/core": "workspace:^0.1.0",
"@homarr/db": "workspace:^0.1.0",
"@homarr/definitions": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"bcrypt": "^6.0.0",
"cookies": "^0.9.1",
"ldapts": "8.1.7",
"next": "16.2.3",
"next-auth": "5.0.0-beta.30",
"react": "19.2.5",
"react-dom": "19.2.5",
"zod": "^4.3.6"
"bcrypt": "catalog:",
"cookies": "catalog:",
"ldapts": "catalog:",
"next": "catalog:",
"next-auth": "catalog:",
"react": "catalog:",
"react-dom": "catalog:",
"zod": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/bcrypt": "6.0.0",
"@types/cookies": "0.9.2",
"eslint": "^9.39.4",
"prettier": "^3.8.1",
"typescript": "^5.9.3"
"@types/bcrypt": "catalog:",
"@types/cookies": "catalog:",
"eslint": "catalog:",
"prettier": "catalog:",
"typescript": "catalog:"
}
}
+4 -4
View File
@@ -25,14 +25,14 @@
"prettier": "@homarr/prettier-config",
"dependencies": {
"@homarr/api": "workspace:^0.1.0",
"react": "19.2.5",
"react-dom": "19.2.5"
"react": "catalog:",
"react-dom": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+5 -5
View File
@@ -25,19 +25,19 @@
},
"prettier": "@homarr/prettier-config",
"dependencies": {
"@drizzle-team/brocli": "^0.12.0",
"@drizzle-team/brocli": "catalog:",
"@homarr/auth": "workspace:^0.1.0",
"@homarr/common": "workspace:^0.1.0",
"@homarr/db": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"dotenv": "^17.4.1"
"dotenv": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"esbuild": "^0.28.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"esbuild": "catalog:",
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+12 -12
View File
@@ -27,22 +27,22 @@
"prettier": "@homarr/prettier-config",
"dependencies": {
"@homarr/core": "workspace:^0.1.0",
"@paralleldrive/cuid2": "^3.3.0",
"cookie": "1.1.1",
"dayjs": "^1.11.20",
"next": "16.2.3",
"octokit": "^5.0.5",
"react": "19.2.5",
"react-dom": "19.2.5",
"undici": "7.24.6",
"zod": "^4.3.6",
"zod-validation-error": "^5.0.0"
"@paralleldrive/cuid2": "catalog:",
"cookie": "catalog:",
"dayjs": "catalog:",
"next": "catalog:",
"octokit": "catalog:",
"react": "catalog:",
"react-dom": "catalog:",
"undici": "catalog:",
"zod": "catalog:",
"zod-validation-error": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+14 -14
View File
@@ -37,24 +37,24 @@
},
"prettier": "@homarr/prettier-config",
"dependencies": {
"@t3-oss/env-nextjs": "^0.13.11",
"better-sqlite3": "^12.8.0",
"dns-caching": "^0.2.9",
"drizzle-orm": "^0.45.2",
"ioredis": "5.10.1",
"mysql2": "3.20.0",
"pg": "^8.20.0",
"superjson": "2.2.6",
"winston": "3.19.0",
"zod": "^4.3.6"
"@t3-oss/env-nextjs": "catalog:",
"better-sqlite3": "catalog:",
"dns-caching": "catalog:",
"drizzle-orm": "catalog:",
"ioredis": "catalog:",
"mysql2": "catalog:",
"pg": "catalog:",
"superjson": "catalog:",
"winston": "catalog:",
"zod": "catalog:"
},
"devDependencies": {
"@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.13",
"@types/pg": "^8.20.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"@types/better-sqlite3": "catalog:",
"@types/pg": "catalog:",
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+11 -11
View File
@@ -28,21 +28,21 @@
"@homarr/common": "workspace:^0.1.0",
"@homarr/core": "workspace:^0.1.0",
"@homarr/cron-jobs": "workspace:^0.1.0",
"@tanstack/react-query": "^5.96.2",
"@trpc/client": "^11.16.0",
"@trpc/server": "^11.16.0",
"@trpc/tanstack-react-query": "^11.16.0",
"node-cron": "^4.2.1",
"react": "19.2.5",
"zod": "^4.3.6"
"@tanstack/react-query": "catalog:",
"@trpc/client": "catalog:",
"@trpc/server": "catalog:",
"@trpc/tanstack-react-query": "catalog:",
"node-cron": "catalog:",
"react": "catalog:",
"zod": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/node-cron": "^3.0.11",
"@types/react": "19.2.14",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"@types/node-cron": "catalog:",
"@types/react": "catalog:",
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+2 -2
View File
@@ -29,7 +29,7 @@
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+4 -4
View File
@@ -27,14 +27,14 @@
"@homarr/common": "workspace:^0.1.0",
"@homarr/core": "workspace:^",
"@homarr/db": "workspace:^0.1.0",
"node-cron": "^4.2.1"
"node-cron": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/node-cron": "^3.0.11",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"@types/node-cron": "catalog:",
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+3 -3
View File
@@ -38,13 +38,13 @@
"@homarr/server-settings": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"semver-parser": "^4.1.8"
"semver-parser": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+21 -21
View File
@@ -42,35 +42,35 @@
},
"prettier": "@homarr/prettier-config",
"dependencies": {
"@auth/core": "^0.41.1",
"@auth/core": "catalog:",
"@homarr/common": "workspace:^0.1.0",
"@homarr/core": "workspace:^0.1.0",
"@homarr/definitions": "workspace:^0.1.0",
"@homarr/server-settings": "workspace:^0.1.0",
"@mantine/core": "^8.3.18",
"@paralleldrive/cuid2": "^3.3.0",
"@testcontainers/mysql": "^11.14.0",
"@testcontainers/postgresql": "^11.14.0",
"better-sqlite3": "^12.8.0",
"dotenv": "^17.4.1",
"drizzle-kit": "^0.31.10",
"drizzle-orm": "^0.45.2",
"drizzle-zod": "^0.8.3",
"mysql2": "3.20.0",
"pg": "^8.20.0",
"superjson": "2.2.6"
"@mantine/core": "catalog:",
"@paralleldrive/cuid2": "catalog:",
"@testcontainers/mysql": "catalog:",
"@testcontainers/postgresql": "catalog:",
"better-sqlite3": "catalog:",
"dotenv": "catalog:",
"drizzle-kit": "catalog:",
"drizzle-orm": "catalog:",
"drizzle-zod": "catalog:",
"mysql2": "catalog:",
"pg": "catalog:",
"superjson": "catalog:"
},
"devDependencies": {
"@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.13",
"@types/pg": "^8.20.0",
"dotenv-cli": "^11.0.0",
"esbuild": "^0.28.0",
"eslint": "^9.39.4",
"prettier": "^3.8.1",
"tsx": "4.20.4",
"typescript": "^5.9.3"
"@types/better-sqlite3": "catalog:",
"@types/pg": "catalog:",
"dotenv-cli": "catalog:",
"esbuild": "catalog:",
"eslint": "catalog:",
"prettier": "catalog:",
"tsx": "catalog:",
"typescript": "catalog:"
}
}
+5 -5
View File
@@ -24,15 +24,15 @@
"prettier": "@homarr/prettier-config",
"dependencies": {
"@homarr/common": "workspace:^0.1.0",
"fast-xml-parser": "^5.5.11",
"zod": "^4.3.6"
"fast-xml-parser": "catalog:",
"zod": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.39.4",
"tsx": "4.20.4",
"typescript": "^5.9.3"
"eslint": "catalog:",
"tsx": "catalog:",
"typescript": "catalog:"
}
}
+4 -4
View File
@@ -26,14 +26,14 @@
"dependencies": {
"@homarr/common": "workspace:^0.1.0",
"@homarr/core": "workspace:^0.1.0",
"dockerode": "^4.0.10"
"dockerode": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/dockerode": "^4.0.1",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"@types/dockerode": "catalog:",
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+5 -5
View File
@@ -26,15 +26,15 @@
"@homarr/common": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@mantine/form": "^8.3.18",
"mantine-form-zod-resolver": "^1.3.0",
"zod": "^4.3.6"
"@mantine/form": "catalog:",
"mantine-form-zod-resolver": "catalog:",
"zod": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+5 -5
View File
@@ -30,15 +30,15 @@
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@mantine/core": "^8.3.18",
"react": "19.2.5",
"zod": "^4.3.6"
"@mantine/core": "catalog:",
"react": "catalog:",
"zod": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+2 -2
View File
@@ -31,7 +31,7 @@
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+4 -4
View File
@@ -25,14 +25,14 @@
"@homarr/common": "workspace:^0.1.0",
"@homarr/core": "workspace:^0.1.0",
"@homarr/redis": "workspace:^0.1.0",
"bcrypt": "^6.0.0"
"bcrypt": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/bcrypt": "6.0.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"@types/bcrypt": "catalog:",
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+21 -21
View File
@@ -25,39 +25,39 @@
},
"prettier": "@homarr/prettier-config",
"dependencies": {
"@ctrl/deluge": "^8.0.0",
"@ctrl/qbittorrent": "^9.11.2",
"@ctrl/transmission": "^7.4.0",
"@gitbeaker/rest": "^43.8.0",
"@ctrl/deluge": "catalog:",
"@ctrl/qbittorrent": "catalog:",
"@ctrl/transmission": "catalog:",
"@gitbeaker/rest": "catalog:",
"@homarr/common": "workspace:^0.1.0",
"@homarr/core": "workspace:^0.1.0",
"@homarr/db": "workspace:^0.1.0",
"@homarr/definitions": "workspace:^0.1.0",
"@homarr/image-proxy": "workspace:^0.1.0",
"@homarr/node-unifi": "^2.6.0",
"@homarr/node-unifi": "catalog:",
"@homarr/redis": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@immich/sdk": "^2.7.2",
"@jellyfin/sdk": "^0.13.0",
"@octokit/auth-app": "^8.2.0",
"ical.js": "^2.2.1",
"maria2": "^0.4.1",
"octokit": "^5.0.5",
"proxmox-api": "1.1.1",
"timezones-ical-library": "^2.1.3",
"tsdav": "^2.1.8",
"undici": "7.24.6",
"xml2js": "^0.6.2",
"zod": "^4.3.6"
"@immich/sdk": "catalog:",
"@jellyfin/sdk": "catalog:",
"@octokit/auth-app": "catalog:",
"ical.js": "catalog:",
"maria2": "catalog:",
"octokit": "catalog:",
"proxmox-api": "catalog:",
"timezones-ical-library": "catalog:",
"tsdav": "catalog:",
"undici": "catalog:",
"xml2js": "catalog:",
"zod": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/node-unifi": "^2.5.1",
"@types/xml2js": "^0.4.14",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"@types/node-unifi": "catalog:",
"@types/xml2js": "catalog:",
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+9 -9
View File
@@ -33,19 +33,19 @@
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@mantine/core": "^8.3.18",
"@tabler/icons-react": "^3.41.1",
"dayjs": "^1.11.20",
"next": "16.2.3",
"react": "19.2.5",
"react-dom": "19.2.5",
"zod": "^4.3.6"
"@mantine/core": "catalog:",
"@tabler/icons-react": "catalog:",
"dayjs": "catalog:",
"next": "catalog:",
"react": "catalog:",
"react-dom": "catalog:",
"zod": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+5 -5
View File
@@ -24,15 +24,15 @@
"dependencies": {
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
"@mantine/core": "^8.3.18",
"@mantine/hooks": "^8.3.18",
"react": "19.2.5"
"@mantine/core": "catalog:",
"@mantine/hooks": "catalog:",
"react": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+4 -4
View File
@@ -24,14 +24,14 @@
"prettier": "@homarr/prettier-config",
"dependencies": {
"@homarr/ui": "workspace:^0.1.0",
"@mantine/notifications": "^8.3.18",
"@tabler/icons-react": "^3.41.1"
"@mantine/notifications": "catalog:",
"@tabler/icons-react": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+12 -12
View File
@@ -37,22 +37,22 @@
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@mantine/core": "^8.3.18",
"@mantine/hooks": "^8.3.18",
"adm-zip": "0.5.17",
"next": "16.2.3",
"react": "19.2.5",
"react-dom": "19.2.5",
"superjson": "2.2.6",
"zod": "^4.3.6",
"zod-form-data": "^3.0.1"
"@mantine/core": "catalog:",
"@mantine/hooks": "catalog:",
"adm-zip": "catalog:",
"next": "catalog:",
"react": "catalog:",
"react-dom": "catalog:",
"superjson": "catalog:",
"zod": "catalog:",
"zod-form-data": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/adm-zip": "0.5.8",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"@types/adm-zip": "catalog:",
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+3 -3
View File
@@ -23,13 +23,13 @@
"prettier": "@homarr/prettier-config",
"dependencies": {
"@homarr/common": "workspace:^0.1.0",
"zod": "^4.3.6"
"zod": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+2 -2
View File
@@ -29,7 +29,7 @@
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+4 -4
View File
@@ -26,14 +26,14 @@
"@homarr/core": "workspace:^",
"@homarr/db": "workspace:^",
"@homarr/definitions": "workspace:^",
"ioredis": "5.10.1",
"superjson": "2.2.6"
"ioredis": "catalog:",
"superjson": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+8 -8
View File
@@ -22,7 +22,7 @@
},
"prettier": "@homarr/prettier-config",
"dependencies": {
"@extractus/feed-extractor": "7.1.7",
"@extractus/feed-extractor": "catalog:",
"@homarr/common": "workspace:^0.1.0",
"@homarr/core": "workspace:^0.1.0",
"@homarr/db": "workspace:^0.1.0",
@@ -30,17 +30,17 @@
"@homarr/docker": "workspace:^0.1.0",
"@homarr/integrations": "workspace:^0.1.0",
"@homarr/redis": "workspace:^0.1.0",
"dayjs": "^1.11.20",
"octokit": "^5.0.5",
"superjson": "2.2.6",
"undici": "7.24.6",
"zod": "^4.3.6"
"dayjs": "catalog:",
"octokit": "catalog:",
"superjson": "catalog:",
"undici": "catalog:",
"zod": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+2 -2
View File
@@ -29,7 +29,7 @@
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+6 -6
View File
@@ -25,16 +25,16 @@
"dependencies": {
"@homarr/db": "workspace:^0.1.0",
"@homarr/server-settings": "workspace:^0.1.0",
"@mantine/dates": "^8.3.18",
"next": "16.2.3",
"react": "19.2.5",
"react-dom": "19.2.5"
"@mantine/dates": "catalog:",
"next": "catalog:",
"react": "catalog:",
"react-dom": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+11 -11
View File
@@ -33,21 +33,21 @@
"@homarr/settings": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
"@mantine/core": "^8.3.18",
"@mantine/hooks": "^8.3.18",
"@mantine/spotlight": "^8.3.18",
"@tabler/icons-react": "^3.41.1",
"jotai": "^2.19.1",
"next": "16.2.3",
"react": "19.2.5",
"react-dom": "19.2.5",
"use-deep-compare-effect": "^1.8.1"
"@mantine/core": "catalog:",
"@mantine/hooks": "catalog:",
"@mantine/spotlight": "catalog:",
"@tabler/icons-react": "catalog:",
"jotai": "catalog:",
"next": "catalog:",
"react": "catalog:",
"react-dom": "catalog:",
"use-deep-compare-effect": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+9 -9
View File
@@ -29,19 +29,19 @@
"dependencies": {
"@homarr/common": "workspace:^0.1.0",
"@homarr/definitions": "workspace:^0.1.0",
"dayjs": "^1.11.20",
"deepmerge": "4.3.1",
"mantine-react-table": "2.0.0-beta.9",
"next": "16.2.3",
"next-intl": "4.9.1",
"react": "19.2.5",
"react-dom": "19.2.5"
"dayjs": "catalog:",
"deepmerge": "catalog:",
"mantine-react-table": "catalog:",
"next": "catalog:",
"next-intl": "catalog:",
"react": "catalog:",
"react-dom": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+185 -185
View File
@@ -785,70 +785,70 @@
"label": "Újrapróbál"
},
"trust": {
"label": ""
"label": "Bizalmi tanúsítvány"
},
"upload": {
"label": ""
"label": "Tanúsítvány feltöltése"
}
},
"hostnameMismatch": {
"confirm": {
"title": "",
"message": ""
"title": "Megbízható gépnév nem egyezik",
"message": "Biztosan megbízik a tanúsítványban, ha a gazdagépnév nem egyezik?"
},
"notification": {
"success": {
"title": "",
"message": ""
"title": "Megbízható tanúsítvány",
"message": "A gazdagépnevet felvettük a megbízható tanúsítványok listájára"
},
"error": {
"title": "",
"message": ""
"title": "A tanúsítvány hitelesítése sikertelen",
"message": "A gazdagépnév-eltérés miatt a tanúsítvány nem tekinthető megbízhatónak"
}
}
},
"selfSigned": {
"confirm": {
"title": "",
"message": ""
"title": "Önaláírt tanúsítvány megbízhatósága",
"message": "Biztosan megbízik ebben az önaláírt tanúsítványban?"
},
"notification": {
"success": {
"title": "",
"message": ""
"title": "Megbízható tanúsítvány",
"message": "A tanúsítványt felvettük a megbízható tanúsítványok listájára"
},
"error": {
"title": "",
"message": ""
"title": "Tanúsítvány hitelesítése sikertelen",
"message": "Nem sikerült hozzáadni a tanúsítványt a megbízható tanúsítványok listájához"
}
}
},
"details": {
"title": "",
"description": "",
"title": "Részletek",
"description": "Mielőtt megbízik a tanúsítványban, ellenőrizze annak adatait.",
"content": {
"action": "",
"title": ""
"action": "Tartalom megjelenítése",
"title": "PEM tanúsítvány"
}
}
},
"request": {
"title": "",
"title": "Kérelemhiba",
"description": {
"connection": {
"hostUnreachable": "",
"networkUnreachable": "",
"refused": "",
"reset": ""
"hostUnreachable": "A szerver nem érhető el. Ez általában azt jelenti, hogy a szerver nincs online, vagy a hálózatodról nem érhető el.",
"networkUnreachable": "A hálózat nem érhető el. Kérjük, ellenőrizze az internetkapcsolatát vagy a hálózati beállításokat.",
"refused": "A szerver elutasította a kapcsolatot. Lehet, hogy nem fut, vagy elutasítja a megadott porton érkező kéréseket.",
"reset": "A kapcsolatot a szerver váratlanul megszakította. Ez akkor fordulhat elő, ha a szerver instabil, vagy újraindult."
},
"dns": {
"notFound": "",
"timeout": "",
"noAnswer": ""
"notFound": "A szerver címe nem található. Kérjük, ellenőrizze, hogy az URL-címben nincs-e elírás vagy érvénytelen domainnév.",
"timeout": "A DNS-lekérdezés időtúllépése történt. Ez átmeneti probléma lehet – kérjük, próbálja meg újra néhány perc múlva.",
"noAnswer": "A DNS-kiszolgáló nem adott érvényes választ. Lehet, hogy a domain létezik, de nincsenek érvényes bejegyzései."
},
"timeout": {
"aborted": "",
"timeout": ""
"aborted": "A kérés még befejezése előtt megszakadt. Ennek oka lehet egy felhasználói művelet vagy a rendszer időtúllépése.",
"timeout": "A kérés feldolgozása túl sokáig tartott, ezért a rendszer időtúllépést jelezett. Ellenőrizze a hálózati kapcsolatot, vagy próbálja meg később újra."
}
}
}
@@ -987,12 +987,12 @@
"newLabel": "Új App Azonosító"
},
"githubInstallationId": {
"label": "",
"newLabel": ""
"label": "Telepítési azonosító",
"newLabel": "Új telepítési azonosító"
},
"privateKey": {
"label": "",
"newLabel": ""
"label": "Privát kulcs",
"newLabel": "Új privát kulcs"
}
}
},
@@ -1039,21 +1039,21 @@
"label": "URL másolása"
},
"open": {
"label": ""
"label": "Média megnyitása"
}
}
},
"common": {
"success": "",
"success": "Siker",
"beta": "Béta",
"error": "Hiba",
"action": {
"add": "Hozzáadás",
"apply": "Alkalmaz",
"backToOverview": "Vissza az áttekintéshez",
"change": "",
"change": "Módosít",
"create": "Létrehozás",
"createAnother": "",
"createAnother": "Újrakezdés",
"edit": "Szerkesztés",
"import": "Importálás",
"insert": "Beillesztés",
@@ -1063,7 +1063,7 @@
"cancel": "Mégse",
"delete": "Törlés",
"discard": "Elvetés",
"close": "",
"close": "Bezárás",
"confirm": "Megerősít",
"continue": "Folytatás",
"previous": "Előző",
@@ -1087,7 +1087,7 @@
"information": {
"min": "Legalább",
"max": "Legfeljebb",
"days": "",
"days": "Nap",
"hours": "Óra",
"minutes": "Perc"
},
@@ -1105,45 +1105,45 @@
"error": "Nem sikerült alkalmazni a változtatásokat"
},
"transfer": {
"success": "",
"error": ""
"success": "Sikeres átvitel",
"error": "Sikertelen átvitel"
}
},
"multiSelect": {
"placeholder": ""
"placeholder": "Válasszon ki egy vagy több értéket"
},
"multiText": {
"placeholder": "",
"addLabel": ""
"placeholder": "További értékek hozzáadása",
"addLabel": "Hozzáad {value}"
},
"select": {
"placeholder": "",
"placeholder": "Érték kiválasztása",
"badge": {
"recommended": ""
"recommended": "Ajánlott"
}
},
"userAvatar": {
"menu": {
"switchToDarkMode": "",
"switchToLightMode": "",
"management": "",
"switchToDarkMode": "Váltás sötét módba",
"switchToLightMode": "Váltás világos módra",
"management": "Kezelés",
"preferences": "Saját preferenciák",
"logout": "",
"logout": "Kijelentkezés",
"login": "Bejelentkezés",
"homeBoard": "",
"loggedOut": "",
"updateAvailable": ""
"homeBoard": "A saját kezdőlapod",
"loggedOut": "Kijelentkezett",
"updateAvailable": "{countUpdates} frissítés elérhető: {tag}"
}
},
"dangerZone": "Veszélyzóna",
"noResults": "Nincs eredmény",
"unsavedChanges": "",
"servers": "",
"applications": "",
"services": "",
"unsavedChanges": "Nem mentett módosításai vannak!",
"servers": "Szerverek",
"applications": "Alkalmazások",
"services": "Szolgáltatások",
"preview": {
"show": "",
"hide": ""
"show": "Előnézet megjelenítése",
"hide": "Előnézet elrejtése"
},
"zod": {
"errors": {
@@ -1153,7 +1153,7 @@
"startsWith": "Ennek a mezőnek a {startsWith} kell kezdődnie",
"endsWith": "Ennek a mezőnek a {endsWith} kell végződnie",
"includes": "Ennek a mezőnek tartalmaznia kell a {includes} értéket",
"invalidEmail": ""
"invalidEmail": "A mezőnek érvényes e-mail címet kell tartalmaznia"
},
"tooSmall": {
"string": "Ennek a mezőnek legalább {minimum} karakter hosszúságúnak kell lennie",
@@ -1164,44 +1164,44 @@
"number": "Ennek a mezőnek kisebbnek vagy egyenlőnek kell lennie a {maximum} értékkel"
},
"custom": {
"passwordsDoNotMatch": "",
"passwordRequirements": "",
"boardAlreadyExists": "",
"invalidFileType": "",
"invalidFileName": "",
"fileTooLarge": "",
"invalidConfiguration": "",
"groupNameTaken": ""
"passwordsDoNotMatch": "A jelszavak nem egyeznek",
"passwordRequirements": "A jelszó nem felel meg a követelményeknek",
"boardAlreadyExists": "Már létezik ilyen nevű oldal",
"invalidFileType": "Érvénytelen fájltípus, várt: {expected}",
"invalidFileName": "Érvénytelen fájlnév",
"fileTooLarge": "A fájl túl nagy, a maximális méret {maxSize}",
"invalidConfiguration": "Érvénytelen konfiguráció",
"groupNameTaken": "A felhasználónév már foglalt"
}
}
},
"unit": {
"speed": {
"kilometersPerHour": "",
"milesPerHour": ""
"kilometersPerHour": "km/óra",
"milesPerHour": "mph"
}
}
},
"section": {
"dynamic": {
"action": {
"create": "",
"remove": ""
"create": "Új dinamikus szakasz",
"remove": "A dinamikus szakasz eltávolítása"
},
"option": {
"title": {
"label": ""
"label": "Cím"
},
"customCssClasses": {
"label": ""
"label": "Egyéni css-osztályok"
},
"borderColor": {
"label": ""
"label": "Határszín"
}
},
"remove": {
"title": "",
"message": ""
"title": "Dinamikus szakasz eltávolítása",
"message": "Biztosan el akarja távolítani ezt a dinamikus részt? Az elemek a szülő rész ugyanazon helyére kerülnek át."
}
},
"category": {
@@ -1211,47 +1211,47 @@
}
},
"action": {
"create": "",
"edit": "",
"remove": "",
"create": "Új kategória",
"edit": "Kategória átnevezése",
"remove": "Kategória eltávolítása",
"moveUp": "Felfelé mozgatás",
"moveDown": "Mozgatás le",
"createAbove": "",
"createBelow": "",
"openAllInNewTabs": ""
"createAbove": "Új kategória fent",
"createBelow": "Új kategória alább",
"openAllInNewTabs": "Mindet lapokban megnyitni"
},
"create": {
"title": "",
"submit": ""
"title": "Új kategória",
"submit": "Kategória hozzáadása"
},
"remove": {
"title": "",
"message": ""
"title": "Kategória eltávolítása",
"message": "Biztosan el akarja távolítani a {name} kategóriát?"
},
"edit": {
"title": "",
"submit": ""
"title": "Kategória átnevezése",
"submit": "Kategória átnevezése"
},
"menu": {
"label": {
"create": "",
"create": "Új kategória",
"changePosition": "Pozíció módosítása"
}
},
"openAllInNewTabs": {
"title": "",
"text": ""
"title": "Mindet lapokban megnyitni",
"text": "Bizonyos böngészők biztonsági okokból megakadályozhatják a lapok tömeges megnyitását. A Homarr nem tudta megnyitni az összes ablakot, mert a böngészője letiltotta ezt a műveletet. Kérjük, engedélyezze a „Felugró ablakok megnyitása” opciót, majd próbálja meg újra."
}
}
},
"item": {
"action": {
"create": "",
"import": "",
"edit": "",
"moveResize": "",
"duplicate": "",
"remove": ""
"create": "Új elem",
"import": "Elemek importálása",
"edit": "Elem szerkesztése",
"moveResize": "Elem áthelyezése / átméretezése",
"duplicate": "Elem másolása",
"remove": "Elem eltávolítása"
},
"menu": {
"label": {
@@ -1260,11 +1260,11 @@
},
"create": {
"title": "Válassza ki a hozzáadni kívánt elemet",
"search": "",
"search": "Elemek szűrése",
"addToBoard": "Hozzáadás a táblához"
},
"moveResize": {
"title": "",
"title": "Elem áthelyezése / átméretezése",
"field": {
"width": {
"label": "Szélesség"
@@ -1281,7 +1281,7 @@
}
},
"edit": {
"title": "",
"title": "Elem szerkesztése",
"advancedOptions": {
"label": "Haladó beállítások",
"title": "Speciális tételbeállítások"
@@ -1291,18 +1291,18 @@
"label": "Integrációk"
},
"title": {
"label": ""
"label": "Cím"
},
"customCssClasses": {
"label": "Egyedi css osztályok"
},
"borderColor": {
"label": ""
"label": "Határszín"
}
}
},
"remove": {
"title": "",
"title": "Elem eltávolítása",
"message": "Biztosan eltávolítja ezt az elemet?"
}
},
@@ -1324,21 +1324,21 @@
"label": "Egyszerű ping engedélyezése"
},
"layout": {
"label": "",
"label": "Elrendezés",
"option": {
"row": "",
"row-reverse": "",
"column": "",
"column-reverse": ""
"row": "Vízszintes",
"row-reverse": "Vízszintes (fordított)",
"column": "Függőleges",
"column-reverse": "Függőleges (fordított)"
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"label": "Leírás megjelenítési mód",
"description": "Válassza ki, hogyan jelenjen meg az alkalmazás leírása",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
"normal": "A widgeten belül",
"tooltip": "Eszköztippként",
"hidden": "Rejtett"
}
}
},
@@ -1369,21 +1369,21 @@
"label": "Rács"
},
"gridHorizontal": {
"label": ""
"label": "Vízszintes rács"
}
}
},
"hideTitle": {
"label": ""
"label": "Cím elrejtése"
},
"hideIcon": {
"label": ""
"label": "Ikon elrejtése"
},
"hideHostname": {
"label": ""
"label": "A gazdagépnevek elrejtése"
},
"openNewTab": {
"label": ""
"label": "Megnyitás új lapon"
},
"items": {
"label": "Könyjelzők",
@@ -1423,7 +1423,7 @@
"dnsQueriesToday": "Mai lekérdezések",
"domainsBeingBlocked": "Domainek a tiltólistán"
},
"domainsTooltip": ""
"domainsTooltip": "A számos integráció miatt a Homarr nem tudja kiszámítani a blokkolt domainek pontos számát"
},
"dnsHoleControls": {
"name": "DNS blokkolók ellenőrzése",
@@ -1497,42 +1497,42 @@
"description": "Hogyan nézzen ki a dátum"
},
"customTimeFormat": {
"label": "",
"description": ""
"label": "Egyéni időformátum",
"description": "Az idő formázásához használja az ISO 8601 szabványt (ez felülírja az egyéb beállításokat)"
},
"customDateFormat": {
"label": "",
"description": ""
"label": "Egyedi dátumformátum",
"description": "A dátum formázásához használja az ISO 8601 szabványt (ez felülírja az egyéb beállításokat)"
}
}
},
"minecraftServerStatus": {
"name": "",
"description": "",
"name": "Minecraft szerver állapota",
"description": "Megjeleníti a Minecraft-szerver állapotát",
"option": {
"title": {
"label": ""
"label": "Cím"
},
"domain": {
"label": ""
"label": "Szerver cím"
},
"isBedrockServer": {
"label": ""
"label": "Bedrock szerver"
}
},
"status": {
"online": "",
"offline": ""
"online": "Elérhető",
"offline": "Nem elérhető"
}
},
"timetable": {
"name": "",
"description": "",
"title": "",
"noStation": "",
"name": "Órarend",
"description": "Megjeleníti az adott állomás indulási idejét",
"title": "Indulások {station}",
"noStation": "Nincs kiválasztott állomás",
"option": {
"station": {
"label": ""
"label": "Állomás"
}
}
},
@@ -1596,43 +1596,43 @@
"width": "Szélesség",
"height": "Magasság"
},
"placeholder": "",
"placeholder": "Kezdd el írni a jegyzeteidet",
"dismiss": {
"title": "",
"message": "",
"title": "Elveted a módosításokat?",
"message": "A jegyzetfüzetben vannak mentetlen módosítások. Biztosan el akarja vetni őket?",
"action": {
"discard": "",
"keepEditing": ""
"discard": "Változtatások elvetése",
"keepEditing": "Szerkesztés folytatása"
}
}
},
"anchorNote": {
"name": "",
"description": "",
"name": "Anchor Note",
"description": "Megjeleníti az Anchor alkalmazásból kiválasztott jegyzetet",
"option": {
"noteId": {
"label": ""
"label": "Jegyzet"
},
"showTitle": {
"label": ""
"label": "Cím megjelenítése"
},
"showUpdatedAt": {
"label": ""
"label": "Utolsó frissítés megjelenítése"
}
},
"empty": "",
"emptyContent": "",
"notFound": "",
"noNotes": "",
"integrationRequired": "",
"updatedAt": "",
"untitled": "",
"edit": "",
"save": "",
"cancel": "",
"readOnlyViewer": "",
"saveForbidden": "",
"saveFailed": ""
"empty": "Válasszon ki egy jegyzetet a megjelenítéshez",
"emptyContent": "Ez a jegyzet nem tartalmaz szöveget",
"notFound": "Jegyzet nem található",
"noNotes": "Nem található jegyzet",
"integrationRequired": "Először válasszon ki egy Anchor-integrációt",
"updatedAt": "Frissítve: {dátum}",
"untitled": "Névtelen",
"edit": "Szerkesztés",
"save": "Mentés",
"cancel": "Mégse",
"readOnlyViewer": "Ehhez a jegyzethez olvasói hozzáférésed van. A szerkesztés le van tiltva.",
"saveForbidden": "You do not have permission to edit this note.",
"saveFailed": "A jegyzet mentése nem sikerült. Kérjük, próbálja meg újra."
},
"iframe": {
"name": "Beágyazott keret (iFrame)",
@@ -1666,30 +1666,30 @@
"label": "Geolokáció engedélyezése"
},
"allowModals": {
"label": ""
"label": "Modálablakok engedélyezése"
}
},
"error": {
"noUrl": "Nincs megadva iFrame URL",
"unsupportedProtocol": "",
"unsupportedProtocol": "A megadott URL nem támogatott protokollt használ. Kérjük, válasszon egyet a ({supportedProtocols}) közül.",
"noBrowerSupport": "Az Ön böngészője nem támogatja a beágyazott kereteket. Kérjük, frissítse böngészőjét."
}
},
"smartHome-entityState": {
"name": "Egység állapota",
"description": "",
"description": "Egy elem állapotának megjelenítése és opcionális be- és kikapcsolása",
"option": {
"entityId": {
"label": "Egység azonosító"
},
"displayName": {
"label": ""
"label": "Megjelenítendő név"
},
"entityUnit": {
"label": ""
"label": "Entitás-egység"
},
"clickable": {
"label": ""
"label": "Kattintható"
}
}
},
@@ -4687,12 +4687,12 @@
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
"season": "Évszak",
"episodes": "Epizódok"
}
},
"button": {
"send": ""
"send": "Kérelem küldése"
}
}
}
@@ -4702,39 +4702,39 @@
"certificate": {
"field": {
"hostname": {
"label": ""
"label": "Gazdagépnév"
},
"subject": {
"label": ""
"label": "Tárgy"
},
"issuer": {
"label": ""
"label": "Kiállító"
},
"validFrom": {
"label": ""
"label": "Érvényesség kezdete"
},
"validTo": {
"label": ""
"label": "Érvényesség vége"
},
"serialNumber": {
"label": ""
"label": "Sorozatszám"
},
"fingerprint": {
"label": ""
"label": "Ujjlenyomat"
}
},
"page": {
"list": {
"title": "",
"description": "",
"title": "Megbízható tanúsítványok",
"description": "A Homarr ezt használja az integrációkból származó adatok lekérésére.",
"noResults": {
"title": ""
"title": "Még nincsenek tanúsítványok"
},
"invalid": {
"title": "",
"description": ""
"title": "Érvénytelen tanúsítvány",
"description": "A tanúsítvány értelmezése sikertelen"
},
"expires": "",
"expires": "Lejár {when}",
"toHostnames": ""
},
"hostnames": {
@@ -4784,7 +4784,7 @@
},
"error": {
"title": "",
"message": ""
"message": "A gazdagépnév nem távolítható el"
}
}
}
@@ -4793,10 +4793,10 @@
"log": {
"level": {
"option": {
"debug": "",
"info": "",
"warn": "",
"error": ""
"debug": "Hibakeresés",
"info": "Infó",
"warn": "Figyelmeztetés",
"error": "Hiba"
}
}
}
+69 -69
View File
@@ -1138,9 +1138,9 @@
"dangerZone": "Strefa zagrożenia",
"noResults": "Nie znaleziono żadnych wyników",
"unsavedChanges": "Masz niezapisane zmiany!",
"servers": "",
"applications": "",
"services": "",
"servers": "Serwery",
"applications": "Aplikacje",
"services": "Usługi",
"preview": {
"show": "Pokaż podgląd",
"hide": "Ukryj podgląd"
@@ -1526,13 +1526,13 @@
}
},
"timetable": {
"name": "",
"description": "",
"title": "",
"noStation": "",
"name": "Rozkład",
"description": "Wyświetla czas odjazdu dla stacji",
"title": "Odjazdy {station}",
"noStation": "Nie wybrano stacji",
"option": {
"station": {
"label": ""
"label": "Stacja"
}
}
},
@@ -1607,32 +1607,32 @@
}
},
"anchorNote": {
"name": "",
"description": "",
"name": "Notatka z Anchor",
"description": "Wyświetla wybraną notatkę z Anchor",
"option": {
"noteId": {
"label": ""
"label": "Notatka"
},
"showTitle": {
"label": ""
"label": "Pokaż tytuł"
},
"showUpdatedAt": {
"label": ""
"label": "Pokaż ostatnią aktualizację"
}
},
"empty": "",
"emptyContent": "",
"notFound": "",
"noNotes": "",
"integrationRequired": "",
"updatedAt": "",
"untitled": "",
"edit": "",
"save": "",
"cancel": "",
"readOnlyViewer": "",
"saveForbidden": "",
"saveFailed": ""
"empty": "Wybierz notatkę do wyświetlenia",
"emptyContent": "Ta notatka nie ma zawartości",
"notFound": "Nie znaleziono notatki",
"noNotes": "Nie znaleziono notatek",
"integrationRequired": "Najpierw wybierz integrację z Anchor",
"updatedAt": "Zaktualizowano {date}",
"untitled": "Bez tytułu",
"edit": "Edytuj",
"save": "Zapisz",
"cancel": "Anuluj",
"readOnlyViewer": "Masz dostęp tylko do odczytu tej notatki. Edycja jest wyłączona.",
"saveForbidden": "Nie masz uprawnień do edycji tej notatki.",
"saveFailed": "Nie udało się zapisać tej notatki. Spróbuj ponownie."
},
"iframe": {
"name": "iFrame",
@@ -1666,7 +1666,7 @@
"label": "Zezwalaj na geolokalizację"
},
"allowModals": {
"label": ""
"label": "Zezwól na okna modalne"
}
},
"error": {
@@ -1901,7 +1901,7 @@
"label": "Pokaż informacje o pamięci"
},
"gpu": {
"label": ""
"label": "Pokaż informacje o GPU"
},
"showUptime": {
"label": "Pokaż czas pracy"
@@ -1989,19 +1989,19 @@
"description": "Statystyki Twoich kontenerów (ten widżet można dodać tylko z uprawnieniami administratora)",
"option": {
"enableRowSorting": {
"label": ""
"label": "Włącz sortowanie elementów"
},
"defaultSort": {
"label": "",
"label": "👉 Kolumna używana domyślnie do sortowania",
"option": {
"name": "",
"state": "",
"cpuUsage": "",
"memoryUsage": ""
"name": "Nazwa",
"state": "Stan",
"cpuUsage": "Użycie CPU",
"memoryUsage": "Użycie pamięci"
}
},
"descendingDefaultSort": {
"label": ""
"label": "Odwróć sortowanie"
}
},
"error": {
@@ -2009,77 +2009,77 @@
}
},
"coolify": {
"name": "",
"description": "",
"name": "Coolify",
"description": "Przegląd instancji Coolify z serwerami i aplikacjami",
"option": {
"showServers": {
"label": ""
"label": "Pokaż serwery"
},
"showApplications": {
"label": ""
"label": "Pokaż aplikacje"
},
"showServices": {
"label": ""
"label": "Pokaż usługi"
}
},
"empty": {
"servers": "",
"applications": "",
"services": ""
"servers": "Nie znaleziono serwerów",
"applications": "Nie znaleziono aplikacji",
"services": "Nie znaleziono usług"
},
"footer": {
"updated": ""
"updated": "Zaktualizowano {when}"
},
"error": {
"noIntegration": "",
"internalServerError": ""
"noIntegration": "Brak skonfigurowanej integracji Coolify",
"internalServerError": "Nie udało się pobrać danych z Coolify"
},
"server": {
"buildServer": ""
"buildServer": "Build"
},
"instances": {
"title": ""
"title": "Instancje"
}
},
"tracearr": {
"name": "",
"description": "",
"name": "Tracearr",
"description": "Rozszerzone monitorowanie serwera multimediów z szczegółowymi danymi o strumieniach i transkodowaniu",
"option": {
"showStreams": {
"label": ""
"label": "Pokaż aktywne strumienie"
},
"showStats": {
"label": ""
"label": "Pokaż podsumowanie statystyk"
},
"showRecentActivity": {
"label": ""
"label": "Pokaż ostatnią aktywność"
},
"showViolations": {
"label": ""
"label": "Pokaż naruszenia"
}
},
"stats": {
"activeStreams": "",
"totalUsers": "",
"transcodes": "",
"bandwidth": ""
"activeStreams": "Aktywne strumienie",
"totalUsers": "Łączna liczba użytkowników",
"transcodes": "Transkodowanie",
"bandwidth": "Przepustowość"
},
"streams": {
"empty": "",
"user": "",
"media": "",
"state": "",
"quality": "",
"device": "",
"progress": "",
"empty": "Brak aktywnych strumieni",
"user": "Użytkownik",
"media": "Media",
"state": "Status",
"quality": "Jakość",
"device": "Urządzenie",
"progress": "Postęp",
"videoDecision": {
"directPlay": "",
"transcode": "",
"directStream": ""
"directPlay": "Direct Play",
"transcode": "Transkodowanie",
"directStream": "Direct Stream"
}
},
"recentActivity": {
"title": "",
"title": "Ostatnia aktywność",
"empty": "",
"watched": "",
"partial": ""
+14 -14
View File
@@ -30,24 +30,24 @@
"@homarr/settings": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@mantine/core": "^8.3.18",
"@mantine/dates": "^8.3.18",
"@mantine/hooks": "^8.3.18",
"@tabler/icons-react": "^3.41.1",
"crypto-js": "^4.2.0",
"mantine-react-table": "2.0.0-beta.9",
"next": "16.2.3",
"react": "19.2.5",
"react-dom": "19.2.5",
"svgson": "^5.3.1"
"@mantine/core": "catalog:",
"@mantine/dates": "catalog:",
"@mantine/hooks": "catalog:",
"@tabler/icons-react": "catalog:",
"crypto-js": "catalog:",
"mantine-react-table": "catalog:",
"next": "catalog:",
"react": "catalog:",
"react-dom": "catalog:",
"svgson": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/crypto-js": "^4.2.2",
"@types/css-modules": "^1.0.5",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"@types/crypto-js": "catalog:",
"@types/css-modules": "catalog:",
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+4 -4
View File
@@ -24,14 +24,14 @@
"dependencies": {
"@homarr/definitions": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"zod": "^4.3.6",
"zod-form-data": "^3.0.1"
"zod": "catalog:",
"zod-form-data": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+37 -37
View File
@@ -25,8 +25,8 @@
},
"prettier": "@homarr/prettier-config",
"dependencies": {
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/core": "catalog:",
"@dnd-kit/sortable": "catalog:",
"@homarr/api": "workspace:^0.1.0",
"@homarr/auth": "workspace:^0.1.0",
"@homarr/boards": "workspace:^0.1.0",
@@ -48,45 +48,45 @@
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@mantine/charts": "^8.3.18",
"@mantine/core": "^8.3.18",
"@mantine/hooks": "^8.3.18",
"@tabler/icons-react": "^3.41.1",
"@tiptap/extension-color": "3.22.3",
"@tiptap/extension-highlight": "3.22.3",
"@tiptap/extension-image": "3.22.3",
"@tiptap/extension-link": "^3.22.3",
"@tiptap/extension-placeholder": "^3.22.3",
"@tiptap/extension-table": "3.22.3",
"@tiptap/extension-table-cell": "3.22.3",
"@tiptap/extension-table-header": "3.22.3",
"@tiptap/extension-table-row": "3.22.3",
"@tiptap/extension-task-item": "3.22.3",
"@tiptap/extension-task-list": "3.22.3",
"@tiptap/extension-text-align": "3.22.3",
"@tiptap/extension-text-style": "3.22.3",
"@tiptap/extension-underline": "3.22.3",
"@tiptap/react": "^3.22.3",
"@tiptap/starter-kit": "^3.22.3",
"clsx": "^2.1.1",
"dayjs": "^1.11.20",
"mantine-form-zod-resolver": "^1.3.0",
"mantine-react-table": "2.0.0-beta.9",
"next": "16.2.3",
"react": "19.2.5",
"react-dom": "19.2.5",
"react-markdown": "^10.1.0",
"react-quill-new": "^3.8.3",
"recharts": "^2.15.4",
"video.js": "^8.23.7",
"zod": "^4.3.6"
"@mantine/charts": "catalog:",
"@mantine/core": "catalog:",
"@mantine/hooks": "catalog:",
"@tabler/icons-react": "catalog:",
"@tiptap/extension-color": "catalog:",
"@tiptap/extension-highlight": "catalog:",
"@tiptap/extension-image": "catalog:",
"@tiptap/extension-link": "catalog:",
"@tiptap/extension-placeholder": "catalog:",
"@tiptap/extension-table": "catalog:",
"@tiptap/extension-table-cell": "catalog:",
"@tiptap/extension-table-header": "catalog:",
"@tiptap/extension-table-row": "catalog:",
"@tiptap/extension-task-item": "catalog:",
"@tiptap/extension-task-list": "catalog:",
"@tiptap/extension-text-align": "catalog:",
"@tiptap/extension-text-style": "catalog:",
"@tiptap/extension-underline": "catalog:",
"@tiptap/react": "catalog:",
"@tiptap/starter-kit": "catalog:",
"clsx": "catalog:",
"dayjs": "catalog:",
"mantine-form-zod-resolver": "catalog:",
"mantine-react-table": "catalog:",
"next": "catalog:",
"react": "catalog:",
"react-dom": "catalog:",
"react-markdown": "catalog:",
"react-quill-new": "catalog:",
"recharts": "catalog:",
"video.js": "catalog:",
"zod": "catalog:"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/video.js": "^7.3.58",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"@types/video.js": "catalog:",
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+1135 -1691
View File
File diff suppressed because it is too large. Load diff
+188 -1
View File
@@ -2,7 +2,194 @@ packages:
- apps/*
- packages/*
- tooling/*
minimumReleaseAge: 4320 # Only download deps if they are at least 3 days old (in minutes)
minimumReleaseAge: 4320
minimumReleaseAgeExclude:
- next
- "@next/*"
catalogMode: strict
catalog:
"@auth/core": ^0.41.1
"@auth/drizzle-adapter": ^1.11.1
"@ctrl/deluge": ^8.0.0
"@ctrl/qbittorrent": ^9.11.2
"@ctrl/transmission": ^7.4.0
"@dnd-kit/core": ^6.3.1
"@dnd-kit/modifiers": ^9.0.0
"@dnd-kit/sortable": ^10.0.0
"@dnd-kit/utilities": ^3.2.2
"@drizzle-team/brocli": ^0.12.0
"@extractus/feed-extractor": 7.1.7
"@gitbeaker/rest": ^43.8.0
"@homarr/gridstack": ^1.12.0
"@homarr/node-unifi": ^2.6.0
"@ianvs/prettier-plugin-sort-imports": ^4.7.1
"@immich/sdk": ^2.7.3
"@jellyfin/sdk": ^0.13.0
"@kubernetes/client-node": ^1.4.0
"@mantine/charts": ^8.3.18
"@mantine/colors-generator": ^8.3.18
"@mantine/core": ^8.3.18
"@mantine/dates": ^8.3.18
"@mantine/dropzone": ^8.3.18
"@mantine/form": ^8.3.18
"@mantine/hooks": ^8.3.18
"@mantine/modals": ^8.3.18
"@mantine/notifications": ^8.3.18
"@mantine/spotlight": ^8.3.18
"@mantine/tiptap": ^8.3.18
"@million/lint": 1.0.14
"@next/eslint-plugin-next": 16.2.3
"@octokit/auth-app": ^8.2.0
"@paralleldrive/cuid2": ^3.3.0
"@semantic-release/changelog": ^6.0.3
"@semantic-release/commit-analyzer": ^13.0.1
"@semantic-release/git": ^10.0.1
"@semantic-release/github": ^12.0.6
"@semantic-release/npm": ^13.1.5
"@semantic-release/release-notes-generator": ^14.1.0
"@t3-oss/env-nextjs": ^0.13.11
"@tabler/icons-react": ^3.41.1
"@tanstack/react-query": ^5.97.0
"@tanstack/react-query-devtools": ^5.97.0
"@tanstack/react-query-next-experimental": ^5.97.0
"@testcontainers/mysql": ^11.14.0
"@testcontainers/postgresql": ^11.14.0
"@testcontainers/redis": ^11.14.0
"@tiptap/extension-color": 3.22.3
"@tiptap/extension-highlight": 3.22.3
"@tiptap/extension-image": 3.22.3
"@tiptap/extension-link": ^3.22.3
"@tiptap/extension-placeholder": ^3.22.3
"@tiptap/extension-table": 3.22.3
"@tiptap/extension-table-cell": 3.22.3
"@tiptap/extension-table-header": 3.22.3
"@tiptap/extension-table-row": 3.22.3
"@tiptap/extension-task-item": 3.22.3
"@tiptap/extension-task-list": 3.22.3
"@tiptap/extension-text-align": 3.22.3
"@tiptap/extension-text-style": 3.22.3
"@tiptap/extension-underline": 3.22.3
"@tiptap/react": ^3.22.3
"@tiptap/starter-kit": ^3.22.3
"@trpc/client": ^11.16.0
"@trpc/next": ^11.16.0
"@trpc/react-query": ^11.16.0
"@trpc/server": ^11.16.0
"@trpc/tanstack-react-query": ^11.16.0
"@turbo/gen": ^2.9.5
"@types/adm-zip": 0.5.8
"@types/bcrypt": 6.0.0
"@types/better-sqlite3": 7.6.13
"@types/chroma-js": 3.1.2
"@types/cookies": 0.9.2
"@types/crypto-js": ^4.2.2
"@types/css-modules": ^1.0.5
"@types/dockerode": ^4.0.1
"@types/node": ^24.12.2
"@types/node-cron": ^3.0.11
"@types/node-unifi": ^2.5.1
"@types/pg": ^8.20.0
"@types/prismjs": ^1.26.6
"@types/react": 19.2.14
"@types/react-dom": 19.2.3
"@types/swagger-ui-react": ^5.18.0
"@types/video.js": ^7.3.58
"@types/ws": ^8.18.1
"@types/xml2js": ^0.4.14
"@umami/node": ^0.4.0
"@vitejs/plugin-react": ^5.2.0
"@vitest/coverage-v8": ^4.1.4
"@vitest/ui": ^4.1.4
"@xterm/addon-canvas": ^0.7.0
"@xterm/addon-fit": 0.11.0
"@xterm/xterm": ^6.0.0
adm-zip: 0.5.17
babel-plugin-react-compiler: ^1.0.0
bcrypt: ^6.0.0
better-sqlite3: ^12.8.0
chroma-js: ^3.2.0
clsx: ^2.1.1
concurrently: ^9.2.1
conventional-changelog-conventionalcommits: ^9.3.1
cookie: 1.1.1
cookies: ^0.9.1
cross-env: ^10.1.0
crypto-js: ^4.2.0
dayjs: ^1.11.20
deepmerge: 4.3.1
dns-caching: ^0.2.9
dockerode: ^4.0.10
dotenv: ^17.4.1
dotenv-cli: ^11.0.0
drizzle-kit: ^0.31.10
drizzle-orm: ^0.45.2
drizzle-zod: ^0.8.3
esbuild: ^0.28.0
eslint: ^9.39.4
eslint-config-prettier: ^10.1.8
eslint-config-turbo: ^2.9.5
eslint-plugin-import: ^2.32.0
eslint-plugin-jsx-a11y: ^6.10.2
eslint-plugin-react: ^7.37.5
eslint-plugin-react-hooks: ^6.1.1
fast-xml-parser: ^5.5.11
fastify: ^5.8.4
flag-icons: ^7.5.0
glob: ^13.0.6
ical.js: ^2.2.1
ioredis: 5.10.1
isomorphic-dompurify: ^3.8.0
jotai: ^2.19.1
jsdom: ^29.0.2
json5: ^2.2.3
ldapts: 8.1.7
lodash.clonedeep: ^4.5.0
mantine-form-zod-resolver: ^1.3.0
mantine-react-table: 2.0.0-beta.9
maria2: ^0.4.1
mysql2: 3.21.0
next: 16.2.3
next-auth: 5.0.0-beta.30
next-intl: 4.9.1
node-cron: ^4.2.1
node-loader: ^2.1.0
octokit: ^5.0.5
pg: ^8.20.0
postcss-preset-mantine: ^1.18.0
prettier: ^3.8.1
prettier-plugin-packagejson: ^3.0.2
prismjs: ^1.30.0
proxmox-api: 1.1.1
react: 19.2.5
react-dom: 19.2.5
react-error-boundary: ^6.1.1
react-markdown: ^10.1.0
react-quill-new: ^3.8.3
react-simple-code-editor: ^0.14.1
recharts: ^2.15.4
sass: ^1.99.0
semantic-release: ^25.0.3
semver-parser: ^4.1.8
superjson: 2.2.6
svgson: ^5.3.1
swagger-ui-react: ^5.32.2
testcontainers: ^11.14.0
timezones-ical-library: ^2.1.3
trpc-to-openapi: ^3.2.0
tsdav: ^2.1.8
tsx: 4.20.4
turbo: ^2.9.5
typescript: ^5.9.3
typescript-eslint: ^8.58.1
undici: 7.24.6
use-deep-compare-effect: ^1.8.1
video.js: ^8.23.7
vite-tsconfig-paths: ^6.1.1
vitest: ^4.1.4
winston: 3.19.0
ws: ^8.20.0
xml2js: ^0.6.2
yaml: 2.8.3
zod: ^4.3.6
zod-form-data: ^3.0.1
zod-validation-error: ^5.0.0
+10 -10
View File
@@ -17,19 +17,19 @@
},
"prettier": "@homarr/prettier-config",
"dependencies": {
"@next/eslint-plugin-next": "16.2.2",
"eslint-config-prettier": "^10.1.8",
"eslint-config-turbo": "^2.9.5",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-jsx-a11y": "^6.10.2",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^6.1.1",
"typescript-eslint": "^8.58.1"
"@next/eslint-plugin-next": "catalog:",
"eslint-config-prettier": "catalog:",
"eslint-config-turbo": "catalog:",
"eslint-plugin-import": "catalog:",
"eslint-plugin-jsx-a11y": "catalog:",
"eslint-plugin-react": "catalog:",
"eslint-plugin-react-hooks": "catalog:",
"typescript-eslint": "catalog:"
},
"devDependencies": {
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.39.4",
"typescript": "^5.9.3"
"eslint": "catalog:",
"typescript": "catalog:"
}
}
+4 -4
View File
@@ -10,12 +10,12 @@
},
"prettier": "@homarr/prettier-config",
"dependencies": {
"@ianvs/prettier-plugin-sort-imports": "^4.7.1",
"prettier": "^3.8.1"
"@ianvs/prettier-plugin-sort-imports": "catalog:",
"prettier": "catalog:"
},
"devDependencies": {
"@homarr/tsconfig": "workspace:^0.1.0",
"prettier-plugin-packagejson": "^3.0.2",
"typescript": "^5.9.3"
"prettier-plugin-packagejson": "catalog:",
"typescript": "catalog:"
}
}