{ "name": "seerr", "version": "0.1.0", "private": true, "packageManager": "pnpm@10.25.0", "scripts": { "preinstall": "npx only-allow pnpm", "postinstall": "node postinstall-win.js", "dev": "nodemon -e ts --watch server --watch seerr-api.yml -e .json,.ts,.yml -x ts-node -r tsconfig-paths/register --files --project server/tsconfig.json server/index.ts", "build:server": "tsc --project server/tsconfig.json && copyfiles -u 2 server/templates/**/*.{html,pug} dist/templates && tsc-alias -p server/tsconfig.json", "build:next": "next build", "build": "pnpm build:next && pnpm build:server", "lint": "eslint \"./server/**/*.{ts,tsx}\" \"./src/**/*.{ts,tsx}\" --cache", "lintfix": "eslint \"./server/**/*.{ts,tsx}\" \"./src/**/*.{ts,tsx}\" --fix", "start": "NODE_ENV=production node dist/index.js", "i18n:extract": "ts-node --project server/tsconfig.json src/i18n/extractMessages.ts", "migration:generate": "ts-node -r tsconfig-paths/register --project server/tsconfig.json ./node_modules/typeorm/cli.js migration:generate -d server/datasource.ts", "migration:create": "ts-node -r tsconfig-paths/register --project server/tsconfig.json ./node_modules/typeorm/cli.js migration:create -d server/datasource.ts", "migration:run": "ts-node -r tsconfig-paths/register --project server/tsconfig.json ./node_modules/typeorm/cli.js migration:run -d server/datasource.ts", "format": "prettier --loglevel warn --write --cache .", "format:check": "prettier --check --cache .", "typecheck": "pnpm typecheck:server && pnpm typecheck:client", "typecheck:server": "tsc --project server/tsconfig.json --noEmit", "typecheck:client": "tsc --noEmit", "prepare": "node bin/prepare.js", "cypress:open": "cypress open", "cypress:prepare": "ts-node -r tsconfig-paths/register --files --project server/tsconfig.json server/scripts/prepareTestDb.ts", "cypress:build": "pnpm build && pnpm cypress:prepare" }, "repository": { "type": "git", "url": "https://github.com/seerr-team/seerr.git" }, "license": "MIT", "dependencies": { "@dr.pogodin/csurf": "^1.16.6", "@formatjs/intl-displaynames": "6.8.13", "@formatjs/intl-locale": "3.4.6", "@formatjs/intl-pluralrules": "5.4.6", "@formatjs/intl-utils": "3.8.4", "@formatjs/swc-plugin-experimental": "^0.6.0", "@headlessui/react": "1.7.19", "@heroicons/react": "2.2.0", "@supercharge/request-ip": "1.2.0", "@svgr/webpack": "6.5.1", "@tanem/react-nprogress": "5.0.56", "@types/ua-parser-js": "^0.7.36", "@types/wink-jaro-distance": "^2.0.2", "ace-builds": "1.43.5", "axios": "1.13.2", "axios-rate-limit": "1.4.0", "bcrypt": "5.1.1", "bowser": "2.13.1", "connect-typeorm": "1.1.4", "cookie-parser": "1.4.7", "copy-to-clipboard": "3.3.3", "country-flag-icons": "1.6.4", "cronstrue": "2.59.0", "date-fns": "2.30.0", "dayjs": "1.11.19", "dns-caching": "^0.2.7", "email-templates": "12.0.3", "express": "4.22.1", "express-openapi-validator": "4.13.9", "express-rate-limit": "6.11.2", "express-session": "1.18.2", "formik": "^2.4.9", "gravatar-url": "3.1.0", "http-proxy-agent": "^7.0.2", "https-proxy-agent": "^7.0.6", "lodash": "4.17.21", "mime": "3", "next": "^14.2.25", "node-cache": "5.1.2", "node-gyp": "9.4.1", "node-schedule": "2.1.1", "nodemailer": "6.10.1", "openpgp": "5.11.3", "pg": "8.16.3", "plex-api": "5.3.2", "pug": "3.0.3", "react": "^18.3.1", "react-ace": "10.1.0", "react-animate-height": "2.1.2", "react-aria": "3.44.0", "react-dom": "^18.3.1", "react-intersection-observer": "9.16.0", "react-intl": "^6.6.8", "react-markdown": "8.0.7", "react-popper-tooltip": "4.4.2", "react-select": "5.10.2", "react-spring": "9.7.5", "react-tailwindcss-datepicker-sct": "1.3.4", "react-toast-notifications": "2.5.1", "react-transition-group": "^4.4.5", "react-truncate-markup": "5.1.2", "react-use-clipboard": "1.0.9", "reflect-metadata": "0.2.2", "secure-random-password": "0.2.3", "semver": "7.7.3", "sharp": "^0.34.0", "sqlite3": "5.1.7", "swagger-ui-express": "4.6.3", "swr": "2.3.7", "tailwind-merge": "^2.6.0", "typeorm": "0.3.12", "ua-parser-js": "^1.0.35", "undici": "^7.16.0", "validator": "^13.15.23", "web-push": "3.6.7", "wink-jaro-distance": "^2.0.0", "winston": "3.19.0", "winston-daily-rotate-file": "4.7.1", "xml2js": "0.6.2", "yamljs": "0.3.0", "yup": "0.32.11", "zod": "3.25.76" }, "devDependencies": { "@commitlint/cli": "17.8.1", "@commitlint/config-conventional": "17.8.1", "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/forms": "0.5.10", "@tailwindcss/typography": "0.5.19", "@types/bcrypt": "5.0.2", "@types/cookie-parser": "1.4.10", "@types/country-flag-icons": "1.2.2", "@types/csurf": "1.11.5", "@types/email-templates": "8.0.4", "@types/express": "4.17.25", "@types/express-session": "1.18.2", "@types/lodash": "4.17.21", "@types/mime": "3", "@types/node": "22.19.2", "@types/node-schedule": "2.1.8", "@types/nodemailer": "6.4.21", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "@types/react-transition-group": "4.4.12", "@types/secure-random-password": "0.2.3", "@types/semver": "7.7.1", "@types/swagger-ui-express": "4.1.8", "@types/validator": "^13.15.10", "@types/web-push": "3.6.4", "@types/xml2js": "0.4.14", "@types/yamljs": "0.2.34", "@types/yup": "0.32.0", "@typescript-eslint/eslint-plugin": "5.54.0", "@typescript-eslint/parser": "5.54.0", "autoprefixer": "10.4.22", "baseline-browser-mapping": "^2.8.32", "commitizen": "4.3.1", "copyfiles": "2.4.1", "cy-mobile-commands": "0.3.0", "cypress": "14.5.4", "cz-conventional-changelog": "3.3.0", "eslint": "8.57.1", "eslint-config-next": "^14.2.4", "eslint-config-prettier": "8.10.2", "eslint-plugin-formatjs": "4.13.3", "eslint-plugin-jsx-a11y": "6.10.2", "eslint-plugin-no-relative-import-paths": "1.6.1", "eslint-plugin-prettier": "4.2.5", "eslint-plugin-react": "7.37.5", "eslint-plugin-react-hooks": "4.6.0", "husky": "8.0.3", "lint-staged": "13.3.0", "nodemon": "3.1.11", "postcss": "8.5.6", "prettier": "2.8.8", "prettier-plugin-organize-imports": "3.2.4", "prettier-plugin-tailwindcss": "0.7.2", "tailwindcss": "3.2.7", "ts-node": "10.9.2", "tsc-alias": "1.8.16", "tsconfig-paths": "4.2.0", "typescript": "4.9.5" }, "engines": { "node": "^22.0.0", "pnpm": "^10.0.0" }, "overrides": { "sqlite3/node-gyp": "8.4.1", "@types/express-session": "1.18.2" }, "config": { "commitizen": { "path": "./node_modules/cz-conventional-changelog" } }, "lint-staged": { "**/*.{ts,tsx,js}": [ "prettier --write", "eslint" ], "**/*.{json,md,css}": [ "prettier --write" ] }, "commitlint": { "extends": [ "@commitlint/config-conventional" ] }, "pnpm": { "onlyBuiltDependencies": [ "@swc/core", "bcrypt", "cypress", "sharp", "sqlite3" ] } }