154 lines
5.6 KiB
JSON
154 lines
5.6 KiB
JSON
{
|
|
"name": "runtipi",
|
|
"version": "2.1.0",
|
|
"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.local -- 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:prod": "npm run prepare && docker compose --env-file ./.env -f docker-compose.prod.yml up --build",
|
|
"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.3.2",
|
|
"@otplib/core": "^12.0.1",
|
|
"@otplib/plugin-crypto": "^12.0.1",
|
|
"@otplib/plugin-thirty-two": "^12.0.1",
|
|
"@radix-ui/react-dialog": "^1.0.5",
|
|
"@radix-ui/react-dropdown-menu": "^2.0.6",
|
|
"@radix-ui/react-scroll-area": "^1.0.5",
|
|
"@radix-ui/react-select": "^2.0.0",
|
|
"@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-beta20",
|
|
"@tabler/icons-react": "^2.40.0",
|
|
"argon2": "^0.31.1",
|
|
"bullmq": "^4.12.7",
|
|
"clsx": "^2.0.0",
|
|
"connect-redis": "^7.1.0",
|
|
"drizzle-orm": "^0.28.6",
|
|
"fs-extra": "^11.1.1",
|
|
"lodash.merge": "^4.6.2",
|
|
"next": "14.0.1",
|
|
"next-client-cookies": "^1.0.6",
|
|
"next-intl": "^2.21.0",
|
|
"next-safe-action": "^5.0.2",
|
|
"pg": "^8.11.3",
|
|
"qrcode.react": "^3.1.0",
|
|
"react": "18.2.0",
|
|
"react-dom": "18.2.0",
|
|
"react-hook-form": "^7.47.0",
|
|
"react-hot-toast": "^2.4.1",
|
|
"react-markdown": "^9.0.0",
|
|
"react-select": "^5.7.7",
|
|
"react-tooltip": "^5.21.6",
|
|
"redaxios": "^0.5.1",
|
|
"redis": "^4.6.10",
|
|
"rehype-raw": "^7.0.0",
|
|
"remark-breaks": "^4.0.0",
|
|
"remark-gfm": "^4.0.0",
|
|
"sass": "^1.69.5",
|
|
"semver": "^7.5.4",
|
|
"sharp": "0.32.6",
|
|
"swr": "^2.2.4",
|
|
"tslib": "^2.6.2",
|
|
"uuid": "^9.0.1",
|
|
"validator": "^13.11.0",
|
|
"winston": "^3.11.0",
|
|
"zod": "^3.22.4",
|
|
"zustand": "^4.4.4"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "^7.23.2",
|
|
"@faker-js/faker": "^8.2.0",
|
|
"@playwright/test": "^1.39.0",
|
|
"@testing-library/dom": "^9.3.3",
|
|
"@testing-library/jest-dom": "^6.1.4",
|
|
"@testing-library/react": "^14.0.0",
|
|
"@testing-library/user-event": "^14.5.1",
|
|
"@total-typescript/shoehorn": "^0.1.1",
|
|
"@total-typescript/ts-reset": "^0.5.1",
|
|
"@types/fs-extra": "^11.0.3",
|
|
"@types/jest": "^29.5.7",
|
|
"@types/lodash.merge": "^4.6.8",
|
|
"@types/node": "20.8.10",
|
|
"@types/pg": "^8.10.7",
|
|
"@types/react": "18.2.33",
|
|
"@types/react-dom": "18.2.14",
|
|
"@types/semver": "^7.5.4",
|
|
"@types/uuid": "^9.0.6",
|
|
"@types/validator": "^13.11.5",
|
|
"@typescript-eslint/eslint-plugin": "^6.9.1",
|
|
"@typescript-eslint/parser": "^6.9.1",
|
|
"@vitejs/plugin-react": "^4.1.0",
|
|
"@vitest/coverage-v8": "^0.34.6",
|
|
"dotenv-cli": "^7.3.0",
|
|
"eslint": "8.52.0",
|
|
"eslint-config-airbnb": "^19.0.4",
|
|
"eslint-config-airbnb-typescript": "^17.1.0",
|
|
"eslint-config-next": "14.0.0",
|
|
"eslint-config-prettier": "^9.0.0",
|
|
"eslint-import-resolver-typescript": "^3.6.1",
|
|
"eslint-plugin-import": "^2.29.0",
|
|
"eslint-plugin-jest": "^27.6.0",
|
|
"eslint-plugin-jest-dom": "^5.1.0",
|
|
"eslint-plugin-jsx-a11y": "^6.7.1",
|
|
"eslint-plugin-react": "^7.33.2",
|
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
"eslint-plugin-testing-library": "^6.1.0",
|
|
"jest": "^29.7.0",
|
|
"jest-environment-jsdom": "^29.7.0",
|
|
"knip": "^2.38.4",
|
|
"memfs": "^4.6.0",
|
|
"msw": "^1.3.2",
|
|
"next-router-mock": "^0.9.10",
|
|
"prettier": "^3.0.3",
|
|
"ts-jest": "^29.1.1",
|
|
"ts-node": "^10.9.1",
|
|
"tsx": "^3.14.0",
|
|
"typescript": "5.2.2",
|
|
"vite-tsconfig-paths": "^4.2.1",
|
|
"vitest": "^0.34.6",
|
|
"wait-for-expect": "^3.0.2"
|
|
},
|
|
"msw": {
|
|
"workerDirectory": "public"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/runtipi/runtipi.git"
|
|
},
|
|
"author": "",
|
|
"license": "GNU General Public License v3.0",
|
|
"bugs": {
|
|
"url": "https://github.com/runtipi/runtipi/issues"
|
|
},
|
|
"homepage": "https://github.com/runtipi/runtipi#readme",
|
|
"pnpm": {
|
|
"patchedDependencies": {}
|
|
}
|
|
}
|