162 lines
5.9 KiB
JSON
162 lines
5.9 KiB
JSON
{
|
|
"name": "runtipi",
|
|
"version": "2.0.3",
|
|
"description": "A homeserver for everyone",
|
|
"scripts": {
|
|
"knip": "knip",
|
|
"prepare": "mkdir -p state && echo \"{}\" > state/system-info.json && echo \"random-seed\" > state/seed",
|
|
"test": "dotenv -e .env.test -- jest --colors",
|
|
"test:e2e": "NODE_ENV=test dotenv -e .env -e .env.e2e -- playwright test",
|
|
"test:e2e:ui": "NODE_ENV=test dotenv -e .env -e .env.e2e -- playwright test --ui",
|
|
"test:client": "jest --colors --selectProjects client --",
|
|
"test:server": "jest --colors --selectProjects server --",
|
|
"test:vite": "dotenv -e .env.test -- vitest run --coverage",
|
|
"dev": "npm run db:migrate && next dev",
|
|
"dev:watcher": "pnpm -r --filter cli dev",
|
|
"db:migrate": "NODE_ENV=development dotenv -e .env -- tsx ./src/server/run-migrations-dev.ts",
|
|
"lint": "next lint",
|
|
"lint:fix": "next lint --fix",
|
|
"build": "next build",
|
|
"start": "NODE_ENV=production node server.js",
|
|
"start:dev-container": "./.devcontainer/filewatcher.sh && npm run start:dev",
|
|
"start:rc": "docker compose -f docker-compose.rc.yml --env-file .env up --build",
|
|
"start:dev": "npm run prepare && docker compose -f docker-compose.dev.yml up --build",
|
|
"start:e2e": "./scripts/start-e2e.sh latest",
|
|
"start:pg": "docker run --name test-db -p 5433:5432 -d --rm -e POSTGRES_PASSWORD=postgres postgres:14",
|
|
"version": "echo $npm_package_version",
|
|
"release:rc": "./scripts/deploy/release-rc.sh",
|
|
"test:build": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t meienberger/runtipi:test .",
|
|
"test:build:arm64": "docker buildx build --platform linux/arm64 -t meienberger/runtipi:test .",
|
|
"test:build:arm7": "docker buildx build --platform linux/arm/v7 -t meienberger/runtipi:test .",
|
|
"test:build:amd64": "docker buildx build --platform linux/amd64 -t meienberger/runtipi:test .",
|
|
"tsc": "tsc"
|
|
},
|
|
"dependencies": {
|
|
"@hookform/resolvers": "^3.1.1",
|
|
"@otplib/core": "^12.0.1",
|
|
"@otplib/plugin-crypto": "^12.0.1",
|
|
"@otplib/plugin-thirty-two": "^12.0.1",
|
|
"@radix-ui/react-dialog": "^1.0.4",
|
|
"@radix-ui/react-dropdown-menu": "^2.0.5",
|
|
"@radix-ui/react-select": "^1.2.2",
|
|
"@radix-ui/react-switch": "^1.0.3",
|
|
"@radix-ui/react-tabs": "^1.0.4",
|
|
"@runtipi/postgres-migrations": "^5.3.0",
|
|
"@runtipi/shared": "workspace:^",
|
|
"@tabler/core": "1.0.0-beta19",
|
|
"@tabler/icons-react": "^2.23.0",
|
|
"@tanstack/react-query": "^4.29.7",
|
|
"@tanstack/react-query-devtools": "^4.29.7",
|
|
"@trpc/client": "^10.27.1",
|
|
"@trpc/next": "^10.27.1",
|
|
"@trpc/react-query": "^10.27.1",
|
|
"@trpc/server": "^10.27.1",
|
|
"argon2": "^0.30.3",
|
|
"bullmq": "^4.5.0",
|
|
"clsx": "^1.1.1",
|
|
"connect-redis": "^7.1.0",
|
|
"cookies-next": "^2.1.2",
|
|
"drizzle-orm": "^0.27.0",
|
|
"fs-extra": "^11.1.1",
|
|
"isomorphic-fetch": "^3.0.0",
|
|
"lodash.merge": "^4.6.2",
|
|
"next": "13.4.7",
|
|
"next-intl": "^2.15.1",
|
|
"pg": "^8.11.1",
|
|
"qrcode.react": "^3.1.0",
|
|
"react": "18.2.0",
|
|
"react-dom": "18.2.0",
|
|
"react-hook-form": "^7.45.1",
|
|
"react-hot-toast": "^2.4.1",
|
|
"react-markdown": "^8.0.7",
|
|
"react-select": "^5.7.3",
|
|
"react-tooltip": "^5.16.1",
|
|
"redaxios": "^0.5.1",
|
|
"redis": "^4.6.7",
|
|
"rehype-raw": "^7.0.0",
|
|
"remark-breaks": "^3.0.3",
|
|
"remark-gfm": "^3.0.1",
|
|
"sass": "^1.63.6",
|
|
"semver": "^7.5.3",
|
|
"sharp": "0.32.1",
|
|
"superjson": "^1.12.3",
|
|
"tslib": "^2.5.3",
|
|
"uuid": "^9.0.0",
|
|
"validator": "^13.7.0",
|
|
"winston": "^3.9.0",
|
|
"zod": "^3.21.4",
|
|
"zustand": "^4.3.8"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "^7.22.5",
|
|
"@faker-js/faker": "^8.0.2",
|
|
"@playwright/test": "^1.35.1",
|
|
"@testing-library/dom": "^9.3.1",
|
|
"@testing-library/jest-dom": "^5.16.5",
|
|
"@testing-library/react": "^14.0.0",
|
|
"@testing-library/user-event": "^14.4.3",
|
|
"@total-typescript/shoehorn": "^0.1.1",
|
|
"@total-typescript/ts-reset": "^0.4.2",
|
|
"@types/express": "^4.17.13",
|
|
"@types/express-session": "^1.17.7",
|
|
"@types/fs-extra": "^11.0.1",
|
|
"@types/isomorphic-fetch": "^0.0.36",
|
|
"@types/jest": "^29.5.2",
|
|
"@types/lodash.merge": "^4.6.7",
|
|
"@types/node": "20.3.2",
|
|
"@types/pg": "^8.10.2",
|
|
"@types/react": "18.2.14",
|
|
"@types/react-dom": "18.2.6",
|
|
"@types/semver": "^7.5.0",
|
|
"@types/supertest": "^2.0.12",
|
|
"@types/testing-library__jest-dom": "^5.14.6",
|
|
"@types/uuid": "^9.0.2",
|
|
"@types/validator": "^13.7.17",
|
|
"@typescript-eslint/eslint-plugin": "^5.60.1",
|
|
"@typescript-eslint/parser": "^5.60.1",
|
|
"@vitejs/plugin-react": "^4.0.1",
|
|
"@vitest/coverage-v8": "^0.32.2",
|
|
"dotenv-cli": "^7.2.1",
|
|
"eslint": "8.43.0",
|
|
"eslint-config-airbnb": "^19.0.4",
|
|
"eslint-config-airbnb-typescript": "^17.0.0",
|
|
"eslint-config-next": "13.4.7",
|
|
"eslint-config-prettier": "^8.8.0",
|
|
"eslint-import-resolver-typescript": "^3.5.5",
|
|
"eslint-plugin-import": "^2.27.5",
|
|
"eslint-plugin-jest": "^27.2.2",
|
|
"eslint-plugin-jest-dom": "^5.0.1",
|
|
"eslint-plugin-jsx-a11y": "^6.6.1",
|
|
"eslint-plugin-react": "^7.31.10",
|
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
"eslint-plugin-testing-library": "^5.11.0",
|
|
"jest": "^29.5.0",
|
|
"jest-environment-jsdom": "^29.5.0",
|
|
"knip": "^2.19.4",
|
|
"memfs": "^4.2.0",
|
|
"msw": "^1.2.2",
|
|
"next-router-mock": "^0.9.7",
|
|
"prettier": "^2.8.8",
|
|
"supertest": "^6.3.3",
|
|
"ts-jest": "^29.1.0",
|
|
"ts-node": "^10.9.1",
|
|
"tsx": "^3.12.7",
|
|
"typescript": "5.1.5",
|
|
"vite-tsconfig-paths": "^4.2.0",
|
|
"vitest": "^0.32.2",
|
|
"wait-for-expect": "^3.0.2"
|
|
},
|
|
"msw": {
|
|
"workerDirectory": "public"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/meienberger/runtipi.git"
|
|
},
|
|
"author": "",
|
|
"license": "GNU General Public License v3.0",
|
|
"bugs": {
|
|
"url": "https://github.com/meienberger/runtipi/issues"
|
|
},
|
|
"homepage": "https://github.com/meienberger/runtipi#readme"
|
|
}
|