2022-04-24 22:36:47 +02:00
|
|
|
{
|
2022-08-25 21:07:41 +02:00
|
|
|
"name": "homarr",
|
2023-08-12 22:43:47 +02:00
|
|
|
"version": "0.13.2",
|
2022-08-25 21:07:41 +02:00
|
|
|
"description": "Homarr - A homepage for your server.",
|
|
|
|
|
"license": "MIT",
|
|
|
|
|
"repository": {
|
|
|
|
|
"type": "git",
|
|
|
|
|
"url": "https://github.com/ajnart/homarr"
|
|
|
|
|
},
|
|
|
|
|
"scripts": {
|
|
|
|
|
"dev": "next dev",
|
2023-03-29 13:00:36 +02:00
|
|
|
"build": "next build",
|
|
|
|
|
"analyze": "ANALYZE=true next build",
|
2023-03-22 21:40:38 +01:00
|
|
|
"turbo": "turbo run build",
|
2022-08-25 21:07:41 +02:00
|
|
|
"start": "next start",
|
|
|
|
|
"typecheck": "tsc --noEmit",
|
2023-03-29 13:00:36 +02:00
|
|
|
"export": "next build && next export",
|
2022-08-25 21:07:41 +02:00
|
|
|
"lint": "next lint",
|
|
|
|
|
"prettier:check": "prettier --check \"**/*.{ts,tsx}\"",
|
|
|
|
|
"prettier:write": "prettier --write \"**/*.{ts,tsx}\"",
|
2023-03-17 22:10:00 +01:00
|
|
|
"test": "vitest",
|
|
|
|
|
"test:ui": "vitest --ui",
|
2023-03-17 23:17:58 +01:00
|
|
|
"test:run": "vitest run",
|
2023-07-26 13:03:08 +09:00
|
|
|
"test:coverage": "vitest run --coverage",
|
2023-07-26 13:16:37 +09:00
|
|
|
"docker:build": "turbo build && docker build . -t homarr:dev",
|
2023-07-26 13:03:08 +09:00
|
|
|
"docker:start": "docker run --env-file ./.env -p 7575:7575 homarr:dev "
|
2022-08-25 21:07:41 +02:00
|
|
|
},
|
|
|
|
|
"dependencies": {
|
|
|
|
|
"@ctrl/deluge": "^4.1.0",
|
2023-05-15 08:16:32 +00:00
|
|
|
"@ctrl/qbittorrent": "^6.0.0",
|
2022-08-25 21:07:41 +02:00
|
|
|
"@ctrl/shared-torrent": "^4.1.1",
|
|
|
|
|
"@ctrl/transmission": "^4.1.1",
|
2023-03-03 00:37:22 +09:00
|
|
|
"@emotion/react": "^11.10.6",
|
2022-08-25 21:07:41 +02:00
|
|
|
"@emotion/server": "^11.10.0",
|
2023-06-02 06:02:16 +00:00
|
|
|
"@jellyfin/sdk": "^0.8.0",
|
2023-03-03 00:37:22 +09:00
|
|
|
"@mantine/core": "^6.0.0",
|
|
|
|
|
"@mantine/dates": "^6.0.0",
|
|
|
|
|
"@mantine/dropzone": "^6.0.0",
|
|
|
|
|
"@mantine/form": "^6.0.0",
|
|
|
|
|
"@mantine/hooks": "^6.0.0",
|
|
|
|
|
"@mantine/modals": "^6.0.0",
|
|
|
|
|
"@mantine/next": "^6.0.0",
|
|
|
|
|
"@mantine/notifications": "^6.0.0",
|
2023-08-02 03:48:10 +02:00
|
|
|
"@mantine/tiptap": "^6.0.17",
|
2023-05-20 15:06:10 +02:00
|
|
|
"@nivo/core": "^0.83.0",
|
|
|
|
|
"@nivo/line": "^0.83.0",
|
2023-04-05 15:23:37 +09:00
|
|
|
"@react-native-async-storage/async-storage": "^1.18.1",
|
2023-08-12 21:17:12 +02:00
|
|
|
"@tabler/icons-react": "^2.20.0",
|
2023-04-05 15:23:37 +09:00
|
|
|
"@tanstack/query-async-storage-persister": "^4.27.1",
|
|
|
|
|
"@tanstack/query-sync-storage-persister": "^4.27.1",
|
2022-08-25 21:07:41 +02:00
|
|
|
"@tanstack/react-query": "^4.2.1",
|
2023-01-31 10:10:02 +09:00
|
|
|
"@tanstack/react-query-devtools": "^4.24.4",
|
2023-04-05 15:23:37 +09:00
|
|
|
"@tanstack/react-query-persist-client": "^4.28.0",
|
2023-08-02 03:48:10 +02:00
|
|
|
"@tiptap/extension-link": "^2.0.4",
|
|
|
|
|
"@tiptap/pm": "^2.0.4",
|
|
|
|
|
"@tiptap/react": "^2.0.4",
|
|
|
|
|
"@tiptap/starter-kit": "^2.0.4",
|
2023-06-10 09:57:20 +02:00
|
|
|
"@trpc/client": "^10.29.1",
|
|
|
|
|
"@trpc/next": "^10.29.1",
|
|
|
|
|
"@trpc/react-query": "^10.29.1",
|
|
|
|
|
"@trpc/server": "^10.29.1",
|
2023-05-29 00:28:58 +02:00
|
|
|
"@vitejs/plugin-react": "^4.0.0",
|
2023-05-15 08:16:49 +00:00
|
|
|
"axios": "^1.0.0",
|
2023-05-16 04:52:10 +00:00
|
|
|
"consola": "^3.0.0",
|
2022-08-25 21:07:41 +02:00
|
|
|
"cookies-next": "^2.1.1",
|
2023-01-23 01:34:36 +09:00
|
|
|
"dayjs": "^1.11.7",
|
2022-08-25 21:07:41 +02:00
|
|
|
"dockerode": "^3.3.2",
|
2022-12-04 17:36:30 +01:00
|
|
|
"fily-publish-gridstack": "^0.0.13",
|
2023-05-29 00:26:54 +02:00
|
|
|
"framer-motion": "^10.0.0",
|
2023-08-09 20:33:17 +02:00
|
|
|
"geo-tz": "^7.0.7",
|
2023-02-15 22:00:06 +01:00
|
|
|
"html-entities": "^2.3.3",
|
2023-06-09 23:14:49 +02:00
|
|
|
"i18next": "^22.5.1",
|
2023-08-12 21:17:12 +02:00
|
|
|
"immer": "^10.0.2",
|
2022-08-25 21:07:41 +02:00
|
|
|
"js-file-download": "^0.4.12",
|
2023-07-14 12:31:03 +00:00
|
|
|
"next": "13.4.10",
|
2023-06-09 23:14:49 +02:00
|
|
|
"next-i18next": "^13.0.0",
|
2022-11-12 09:05:19 +09:00
|
|
|
"nzbget-api": "^0.0.3",
|
2023-02-10 12:44:48 +09:00
|
|
|
"prismjs": "^1.29.0",
|
2022-08-25 21:07:41 +02:00
|
|
|
"react": "^18.2.0",
|
|
|
|
|
"react-dom": "^18.2.0",
|
2023-06-09 23:14:49 +02:00
|
|
|
"react-i18next": "^12.3.1",
|
2023-02-10 12:44:48 +09:00
|
|
|
"react-simple-code-editor": "^0.13.1",
|
2023-02-15 22:00:06 +01:00
|
|
|
"rss-parser": "^3.12.0",
|
2022-08-25 21:07:41 +02:00
|
|
|
"sabnzbd-api": "^1.5.0",
|
2023-05-21 14:34:44 +00:00
|
|
|
"uuid": "^9.0.0",
|
2023-02-15 22:12:49 +01:00
|
|
|
"xml-js": "^1.6.11",
|
2023-05-24 21:22:31 +02:00
|
|
|
"xss": "^1.0.14",
|
2023-03-30 23:15:08 +02:00
|
|
|
"zod": "^3.21.4",
|
2023-04-24 21:40:20 +02:00
|
|
|
"zustand": "^4.3.7"
|
2022-08-25 21:07:41 +02:00
|
|
|
},
|
|
|
|
|
"devDependencies": {
|
2023-05-15 11:15:00 +00:00
|
|
|
"@next/bundle-analyzer": "^13.0.0",
|
2023-06-11 17:51:29 +09:00
|
|
|
"@next/eslint-plugin-next": "^13.4.5",
|
2023-03-29 12:42:47 +02:00
|
|
|
"@testing-library/jest-dom": "^5.16.5",
|
2023-03-17 22:10:00 +01:00
|
|
|
"@testing-library/react": "^14.0.0",
|
2023-07-21 18:08:40 +09:00
|
|
|
"@trivago/prettier-plugin-sort-imports": "^4.2.0",
|
2022-08-25 21:07:41 +02:00
|
|
|
"@types/dockerode": "^3.3.9",
|
2023-07-01 11:44:38 +00:00
|
|
|
"@types/node": "18.16.19",
|
2023-02-10 12:44:48 +09:00
|
|
|
"@types/prismjs": "^1.26.0",
|
2023-06-11 17:51:29 +09:00
|
|
|
"@types/react": "^18.2.11",
|
2023-05-21 14:34:44 +00:00
|
|
|
"@types/uuid": "^9.0.0",
|
2023-02-08 23:23:53 +02:00
|
|
|
"@types/video.js": "^7.3.51",
|
2023-07-10 22:53:43 +00:00
|
|
|
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
|
|
|
|
"@typescript-eslint/parser": "^6.0.0",
|
2023-07-07 03:43:52 +00:00
|
|
|
"@vitest/coverage-c8": "^0.33.0",
|
|
|
|
|
"@vitest/ui": "^0.33.0",
|
2023-06-11 17:51:29 +09:00
|
|
|
"eslint": "^8.0.1",
|
|
|
|
|
"eslint-config-next": "^13.4.5",
|
|
|
|
|
"eslint-plugin-promise": "^6.0.0",
|
|
|
|
|
"eslint-plugin-react": "latest",
|
2022-08-25 21:07:41 +02:00
|
|
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
|
|
|
"eslint-plugin-testing-library": "^5.5.1",
|
2023-07-11 21:55:15 +00:00
|
|
|
"eslint-plugin-unused-imports": "^3.0.0",
|
2023-05-20 15:03:31 +02:00
|
|
|
"eslint-plugin-vitest": "^0.2.0",
|
2023-07-05 21:46:36 +00:00
|
|
|
"happy-dom": "^10.0.0",
|
2023-04-11 17:38:10 +02:00
|
|
|
"node-mocks-http": "^1.12.2",
|
2023-07-05 13:33:25 +00:00
|
|
|
"prettier": "^3.0.0",
|
2022-12-10 22:14:31 +01:00
|
|
|
"sass": "^1.56.1",
|
2023-05-16 15:46:14 +09:00
|
|
|
"ts-node": "latest",
|
2023-04-12 23:57:05 +09:00
|
|
|
"turbo": "latest",
|
2023-06-11 17:51:29 +09:00
|
|
|
"typescript": "^5.1.0",
|
2023-03-17 22:10:00 +01:00
|
|
|
"video.js": "^8.0.3",
|
2023-06-10 20:30:52 +02:00
|
|
|
"vite-tsconfig-paths": "^4.2.0",
|
2023-07-07 03:43:52 +00:00
|
|
|
"vitest": "^0.33.0",
|
2023-05-16 15:46:14 +09:00
|
|
|
"vitest-fetch-mock": "^0.2.2"
|
2022-08-25 21:07:41 +02:00
|
|
|
},
|
2023-05-15 17:23:11 +09:00
|
|
|
"nextBundleAnalysis": {
|
|
|
|
|
"budget": null,
|
|
|
|
|
"budgetPercentIncreaseRed": 20,
|
|
|
|
|
"minimumChangeThreshold": 0,
|
|
|
|
|
"showDetails": true
|
2023-06-02 14:19:28 +09:00
|
|
|
},
|
|
|
|
|
"renovate": {
|
|
|
|
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
|
|
|
|
"extends": [
|
|
|
|
|
"config:base"
|
|
|
|
|
],
|
|
|
|
|
"commitMessagePrefix": "⬆️",
|
|
|
|
|
"lockFileMaintenance": {
|
|
|
|
|
"automerge": true
|
|
|
|
|
},
|
|
|
|
|
"minor": {
|
|
|
|
|
"automerge": true
|
|
|
|
|
},
|
|
|
|
|
"patch": {
|
|
|
|
|
"automerge": true
|
|
|
|
|
},
|
|
|
|
|
"pin": {
|
|
|
|
|
"automerge": true
|
|
|
|
|
}
|
2023-06-11 17:51:29 +09:00
|
|
|
},
|
|
|
|
|
"prettier": {
|
|
|
|
|
"printWidth": 100,
|
|
|
|
|
"tabWidth": 2,
|
|
|
|
|
"parser": "typescript",
|
|
|
|
|
"singleQuote": true,
|
|
|
|
|
"trailingComma": "es5",
|
|
|
|
|
"useTabs": false,
|
|
|
|
|
"endOfLine": "lf",
|
|
|
|
|
"importOrder": [
|
|
|
|
|
"^@core/(.*)$",
|
|
|
|
|
"^@server/(.*)$",
|
|
|
|
|
"^@ui/(.*)$",
|
|
|
|
|
"^[./]"
|
|
|
|
|
],
|
|
|
|
|
"importOrderSeparation": true,
|
2023-07-26 13:03:08 +09:00
|
|
|
"plugins": [
|
|
|
|
|
"@trivago/prettier-plugin-sort-imports"
|
|
|
|
|
],
|
2023-06-11 17:51:29 +09:00
|
|
|
"importOrderSortSpecifiers": true
|
|
|
|
|
},
|
|
|
|
|
"eslintConfig": {
|
|
|
|
|
"ignoreDuringBuilds": true,
|
|
|
|
|
"extends": [
|
|
|
|
|
"next",
|
|
|
|
|
"eslint:recommended",
|
|
|
|
|
"plugin:@next/next/recommended",
|
|
|
|
|
"plugin:react-hooks/recommended",
|
|
|
|
|
"plugin:react/recommended",
|
|
|
|
|
"plugin:@typescript-eslint/recommended",
|
|
|
|
|
"plugin:vitest/recommended"
|
|
|
|
|
],
|
|
|
|
|
"plugins": [
|
|
|
|
|
"testing-library",
|
|
|
|
|
"unused-imports",
|
|
|
|
|
"react",
|
|
|
|
|
"vitest"
|
|
|
|
|
],
|
|
|
|
|
"overrides": [
|
|
|
|
|
{
|
|
|
|
|
"files": [
|
|
|
|
|
"**/?(*.)+(spec|test).[jt]s?(x)"
|
|
|
|
|
],
|
|
|
|
|
"extends": [
|
|
|
|
|
"plugin:testing-library/react"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parser": "@typescript-eslint/parser",
|
|
|
|
|
"parserOptions": {
|
|
|
|
|
"project": "./tsconfig.json"
|
|
|
|
|
},
|
|
|
|
|
"rules": {
|
|
|
|
|
"import/no-cycle": "off",
|
|
|
|
|
"react/react-in-jsx-scope": "off",
|
|
|
|
|
"react/no-children-prop": "off",
|
|
|
|
|
"@typescript-eslint/no-unused-vars": "off",
|
|
|
|
|
"@typescript-eslint/no-unused-imports": "off",
|
|
|
|
|
"@typescript-eslint/no-unused-expressions": "off",
|
|
|
|
|
"@typescript-eslint/no-explicit-any": "off",
|
|
|
|
|
"@typescript-eslint/no-shadow": "off",
|
|
|
|
|
"@typescript-eslint/no-use-before-define": "off",
|
|
|
|
|
"@typescript-eslint/no-non-null-assertion": "off",
|
|
|
|
|
"no-continue": "off",
|
|
|
|
|
"linebreak-style": 0,
|
|
|
|
|
"import/extensions": "off",
|
|
|
|
|
"vitest/max-nested-describe": [
|
|
|
|
|
"error",
|
|
|
|
|
{
|
|
|
|
|
"max": 3
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"testing-library/no-node-access": [
|
|
|
|
|
"error",
|
|
|
|
|
{
|
|
|
|
|
"allowContainerFirstChild": true
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
2023-05-15 17:23:11 +09:00
|
|
|
}
|
2023-08-13 21:47:50 +02:00
|
|
|
}
|