mirror of
https://github.com/ajnart/homarr.git
synced 2025-10-26 08:06:12 +01:00
224 lines
6.1 KiB
JSON
224 lines
6.1 KiB
JSON
{
|
|
"name": "homarr",
|
|
"version": "0.13.0",
|
|
"description": "Homarr - A homepage for your server.",
|
|
"license": "MIT",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/ajnart/homarr"
|
|
},
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"build": "next build",
|
|
"analyze": "ANALYZE=true next build",
|
|
"turbo": "turbo run build",
|
|
"start": "next start",
|
|
"typecheck": "tsc --noEmit",
|
|
"export": "next build && next export",
|
|
"lint": "next lint",
|
|
"prettier:check": "prettier --check \"**/*.{ts,tsx}\"",
|
|
"prettier:write": "prettier --write \"**/*.{ts,tsx}\"",
|
|
"test": "vitest",
|
|
"test:ui": "vitest --ui",
|
|
"test:run": "vitest run",
|
|
"test:coverage": "vitest run --coverage"
|
|
},
|
|
"dependencies": {
|
|
"@ctrl/deluge": "^4.1.0",
|
|
"@ctrl/qbittorrent": "^6.0.0",
|
|
"@ctrl/shared-torrent": "^4.1.1",
|
|
"@ctrl/transmission": "^4.1.1",
|
|
"@emotion/react": "^11.10.6",
|
|
"@emotion/server": "^11.10.0",
|
|
"@jellyfin/sdk": "^0.8.0",
|
|
"@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",
|
|
"@nivo/core": "^0.83.0",
|
|
"@nivo/line": "^0.83.0",
|
|
"@react-native-async-storage/async-storage": "^1.18.1",
|
|
"@t3-oss/env-nextjs": "^0.6.0",
|
|
"@tabler/icons-react": "^2.18.0",
|
|
"@tanstack/query-async-storage-persister": "^4.27.1",
|
|
"@tanstack/query-sync-storage-persister": "^4.27.1",
|
|
"@tanstack/react-query": "^4.2.1",
|
|
"@tanstack/react-query-devtools": "^4.24.4",
|
|
"@tanstack/react-query-persist-client": "^4.28.0",
|
|
"@trpc/client": "^10.29.1",
|
|
"@trpc/next": "^10.29.1",
|
|
"@trpc/react-query": "^10.29.1",
|
|
"@trpc/server": "^10.29.1",
|
|
"@vitejs/plugin-react": "^4.0.0",
|
|
"axios": "^1.0.0",
|
|
"consola": "^3.0.0",
|
|
"cookies-next": "^2.1.1",
|
|
"dayjs": "^1.11.7",
|
|
"dockerode": "^3.3.2",
|
|
"fily-publish-gridstack": "^0.0.13",
|
|
"framer-motion": "^10.0.0",
|
|
"html-entities": "^2.3.3",
|
|
"i18next": "^22.5.1",
|
|
"js-file-download": "^0.4.12",
|
|
"next": "13.4.10",
|
|
"next-i18next": "^13.0.0",
|
|
"nzbget-api": "^0.0.3",
|
|
"prismjs": "^1.29.0",
|
|
"react": "^18.2.0",
|
|
"react-dom": "^18.2.0",
|
|
"react-i18next": "^12.3.1",
|
|
"react-simple-code-editor": "^0.13.1",
|
|
"rss-parser": "^3.12.0",
|
|
"sabnzbd-api": "^1.5.0",
|
|
"uuid": "^9.0.0",
|
|
"xml-js": "^1.6.11",
|
|
"xss": "^1.0.14",
|
|
"zod": "^3.21.4",
|
|
"zustand": "^4.3.7"
|
|
},
|
|
"devDependencies": {
|
|
"@next/bundle-analyzer": "^13.0.0",
|
|
"@next/eslint-plugin-next": "^13.4.5",
|
|
"@testing-library/jest-dom": "^5.16.5",
|
|
"@testing-library/react": "^14.0.0",
|
|
"@trivago/prettier-plugin-sort-imports": "^4.2.0",
|
|
"@types/dockerode": "^3.3.9",
|
|
"@types/node": "18.16.19",
|
|
"@types/prismjs": "^1.26.0",
|
|
"@types/react": "^18.2.11",
|
|
"@types/uuid": "^9.0.0",
|
|
"@types/video.js": "^7.3.51",
|
|
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
|
"@typescript-eslint/parser": "^6.0.0",
|
|
"@vitest/coverage-c8": "^0.33.0",
|
|
"@vitest/ui": "^0.33.0",
|
|
"eslint": "^8.0.1",
|
|
"eslint-config-next": "^13.4.5",
|
|
"eslint-plugin-promise": "^6.0.0",
|
|
"eslint-plugin-react": "latest",
|
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
"eslint-plugin-testing-library": "^5.5.1",
|
|
"eslint-plugin-unused-imports": "^3.0.0",
|
|
"eslint-plugin-vitest": "^0.2.0",
|
|
"happy-dom": "^10.0.0",
|
|
"node-mocks-http": "^1.12.2",
|
|
"prettier": "^3.0.0",
|
|
"sass": "^1.56.1",
|
|
"ts-node": "latest",
|
|
"turbo": "latest",
|
|
"typescript": "^5.1.0",
|
|
"video.js": "^8.0.3",
|
|
"vite-tsconfig-paths": "^4.2.0",
|
|
"vitest": "^0.33.0",
|
|
"vitest-fetch-mock": "^0.2.2"
|
|
},
|
|
"nextBundleAnalysis": {
|
|
"budget": null,
|
|
"budgetPercentIncreaseRed": 20,
|
|
"minimumChangeThreshold": 0,
|
|
"showDetails": true
|
|
},
|
|
"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
|
|
}
|
|
},
|
|
"prettier": {
|
|
"printWidth": 100,
|
|
"tabWidth": 2,
|
|
"parser": "typescript",
|
|
"singleQuote": true,
|
|
"trailingComma": "es5",
|
|
"useTabs": false,
|
|
"endOfLine": "lf",
|
|
"importOrder": [
|
|
"^@core/(.*)$",
|
|
"^@server/(.*)$",
|
|
"^@ui/(.*)$",
|
|
"^[./]"
|
|
],
|
|
"importOrderSeparation": true,
|
|
"plugins": [
|
|
"@trivago/prettier-plugin-sort-imports"
|
|
],
|
|
"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
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|