Files
Pulsarr/package.json
T
Jayman McAllister c9a62ca41a 0.8.2
2025-12-16 01:00:45 -08:00

176 lines
5.9 KiB
JSON

{
"name": "pulsarr",
"version": "0.8.2",
"description": "Plex watchlist tracker and notification center that integrates with the Arr stack",
"main": "build/server.js",
"type": "module",
"engines": {
"node": "24.11.1"
},
"scripts": {
"clean:client": "rimraf dist/client",
"clean:server": "rimraf dist",
"build": "npm run build:server && npm run clean:client && vite build",
"build:server": "tsc && tsc-alias",
"dev:server": "tsx watch src/server.ts",
"dev": "npm run build:server && node dist/server.js --dev",
"start:prod": "node dist/server.js",
"test": "vitest",
"test:run": "vitest run",
"test:ui": "vitest --ui",
"test:coverage": "vitest run --coverage",
"fix": "biome format --write . && biome lint --write .",
"fix:unsafe": "biome check --write --unsafe .",
"typecheck": "tsc --noEmit && tsc --noEmit -p src/client/tsconfig.json",
"typecheck:server": "tsc --noEmit",
"typecheck:client": "tsc --noEmit -p src/client/tsconfig.json",
"typecheck:tests": "tsc --noEmit -p test/tsconfig.json",
"migrate": "tsx migrations/migrate.ts",
"migrate:make": "knex migrate:make -x ts",
"migrate:rollback": "tsx migrations/rollback.ts",
"migrate:sqlite-to-postgres": "tsx migrations/scripts/sqlite-to-postgresql.ts",
"migrate:postgres-setup": "tsx migrations/migrate.ts",
"release:beta:develop": "git checkout develop && git pull origin develop && npm version prerelease --preid=beta && git push origin develop && git push origin --tags",
"release:beta": "npm version prerelease --preid=beta && git push && git push --tags",
"release:patch": "npm version patch && git push && git push --tags",
"release:minor": "npm version minor && git push && git push --tags",
"release:major": "npm version major && git push && git push --tags",
"prepare": "husky",
"openapi:generate": "tsx scripts/generate-openapi.ts",
"docs:build": "./scripts/build-docs.sh",
"docs:start": "npm --prefix docs run start"
},
"repository": {
"type": "git",
"url": "git+https://github.com/jamcalli/Pulsarr.git"
},
"homepage": "https://github.com/jamcalli/Pulsarr#readme",
"bugs": {
"url": "https://github.com/jamcalli/Pulsarr/issues"
},
"keywords": [
"plex",
"watchlist",
"sonarr",
"radarr",
"media-server",
"media-automation",
"arr-stack",
"discord",
"content-management",
"plex-pass",
"rss-monitoring",
"self-hosted"
],
"author": "jamcalli",
"license": "AGPL-3.0",
"dependencies": {
"@epic-web/invariant": "^1.0.0",
"@fastify/auth": "^5.0.2",
"@fastify/autoload": "^6.3.0",
"@fastify/compress": "^8.0.1",
"@fastify/cookie": "^11.0.2",
"@fastify/cors": "^11.0.1",
"@fastify/env": "^5.0.2",
"@fastify/formbody": "^8.0.2",
"@fastify/helmet": "^13.0.1",
"@fastify/rate-limit": "^10.2.2",
"@fastify/react": "^1.0.2",
"@fastify/sensible": "^6.0.3",
"@fastify/session": "^11.1.0",
"@fastify/swagger": "^9.5.1",
"@fastify/vite": "^8.1.1",
"@hookform/resolvers": "^5.2.1",
"@radix-ui/react-accordion": "^1.2.8",
"@radix-ui/react-alert-dialog": "^1.1.11",
"@radix-ui/react-aspect-ratio": "^1.1.4",
"@radix-ui/react-avatar": "^1.1.10",
"@radix-ui/react-checkbox": "^1.2.3",
"@radix-ui/react-collapsible": "^1.1.11",
"@radix-ui/react-dialog": "^1.1.14",
"@radix-ui/react-dropdown-menu": "^2.1.12",
"@radix-ui/react-hover-card": "^1.1.11",
"@radix-ui/react-label": "^2.1.4",
"@radix-ui/react-popover": "^1.1.11",
"@radix-ui/react-progress": "^1.1.4",
"@radix-ui/react-radio-group": "^1.3.4",
"@radix-ui/react-scroll-area": "^1.2.6",
"@radix-ui/react-select": "^2.2.2",
"@radix-ui/react-separator": "^1.1.4",
"@radix-ui/react-slider": "^1.3.2",
"@radix-ui/react-slot": "^1.2.3",
"@radix-ui/react-switch": "^1.2.2",
"@radix-ui/react-tabs": "^1.1.9",
"@radix-ui/react-toast": "^1.2.11",
"@radix-ui/react-tooltip": "^1.2.7",
"@scalar/fastify-api-reference": "^1.34.2",
"@tanstack/react-table": "^8.21.3",
"@vitejs/plugin-react": "^5.0.0",
"better-sqlite3": "^12.0.0",
"class-variance-authority": "^0.7.1",
"close-with-grace": "^2.2.0",
"clsx": "^2.1.1",
"cmdk": "^1.1.1",
"cron-parser": "^5.3.1",
"date-fns": "^4.1.0",
"discord.js": "^14.19.2",
"dotenv": "^17.2.1",
"embla-carousel-react": "^8.6.0",
"fast-xml-parser": "^5.2.2",
"fastify": "^5.6.1",
"fastify-sse-v2": "^4.2.1",
"fastify-zod-openapi": "^5.5.0",
"knex": "^3.1.0",
"lucide-react": "^0.556.0",
"next-themes": "^0.4.6",
"p-limit": "^7.1.0",
"pg": "^8.16.0",
"pino": "^10.1.0",
"pino-pretty": "^13.1.1",
"react": "^19.1.1",
"react-dom": "^19.1.1",
"react-hook-form": "^7.62.0",
"react-router-dom": "^7.8.0",
"recharts": "^2.15.3",
"rotating-file-stream": "^3.2.6",
"safe-regex2": "^5.0.0",
"semver": "^7.7.1",
"sonner": "^2.0.5",
"tailwind-merge": "^3.3.1",
"toad-scheduler": "^3.0.1",
"tsx": "^4.19.4",
"turndown": "^7.2.0",
"tw-animate-css": "^1.3.6",
"vaul": "^1.1.2",
"vite": "^7.0.0",
"zod": "^4.0.17",
"zustand": "^5.0.3"
},
"devDependencies": {
"@biomejs/biome": "^2.3.2",
"@commitlint/cli": "^20.0.0",
"@commitlint/config-conventional": "^20.0.0",
"@tailwindcss/postcss": "^4.1.10",
"@types/better-sqlite3": "^7.6.13",
"@types/node": "^24.9.2",
"@types/pg": "^8.15.4",
"@types/react": "^19.1.10",
"@types/react-dom": "^19.1.7",
"@types/semver": "^7.7.0",
"@types/turndown": "^5.0.5",
"@vitest/coverage-v8": "^4.0.0",
"@vitest/ui": "^4.0.0",
"autoprefixer": "^10.4.20",
"fastify-cli": "^7.4.0",
"fastify-tsconfig": "^3.0.0",
"husky": "^9.1.7",
"msw": "^2.11.5",
"postcss": "^8.5.2",
"rimraf": "^6.1.0",
"tailwindcss": "^4.1.10",
"tsc-alias": "^1.8.15",
"typescript": "^5.9.0",
"vitest": "^4.0.0"
}
}