{ "name": "filepizza", "version": "2.0.0", "description": "Free peer-to-peer file transfers in your browser.", "author": "Alex Kern (http://kern.io)", "license": "BSD-3-Clause", "homepage": "https://github.com/kern/filepizza", "scripts": { "dev": "next", "dev:full": "docker compose up redis coturn -d && COTURN_ENABLED=true REDIS_URL=redis://localhost:6379 next", "build": "next build && cp -r public .next/standalone/ && cp -r .next/static .next/standalone/.next/", "start": "next start", "start:peerjs": "./bin/peerjs.js", "lint:check": "eslint 'src/**/*.ts[x]'", "lint:fix": "eslint 'src/**/*.ts[x]' --fix", "docker:build": "docker compose build", "docker:up": "docker compose up -d", "docker:down": "docker compose down", "docker:logs": "docker compose logs -f", "docker:ps": "docker compose ps", "docker:restart": "docker compose restart", "docker:clean": "docker compose down -v --rmi all", "format": "prettier --write \"src/**/*.{ts,tsx}\"", "format:check": "prettier --check \"src/**/*.{ts,tsx}\"", "type:check": "tsc --noEmit", "test": "vitest run", "test:watch": "vitest", "test:e2e": "playwright test", "ci": "pnpm lint:check && pnpm format:check && pnpm type:check && pnpm test && pnpm build && pnpm test:e2e && pnpm docker:build" }, "repository": { "type": "git", "url": "git@github.com:kern/filepizza.git" }, "bugs": { "url": "https://github.com/kern/filepizza/issues" }, "dependencies": { "@tailwindcss/postcss": "^4.1.18", "@tanstack/react-query": "^5.90.19", "autoprefixer": "^10.4.23", "debug": "^4.4.3", "express": "^5.2.1", "ioredis": "^5.9.2", "next": "~16.1.3", "next-themes": "^0.4.6", "next-view-transitions": "^0.3.5", "nodemon": "^3.1.11", "peer": "^1.0.2", "peerjs": "^1.5.5", "postcss": "^8.5.6", "react": "~19.2.3", "react-device-detect": "^2.2.3", "react-dom": "~19.2.3", "react-qr-code": "^2.0.18", "streamsaver": "^2.0.6", "tailwindcss": "^4.1.18", "web-streams-polyfill": "^4.2.0", "webrtcsupport": "^2.2.0", "zod": "^4.3.5" }, "devDependencies": { "@eslint/js": "^9.39.2", "@playwright/test": "^1.57.0", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.1", "@types/debug": "^4.1.12", "@types/node": "^25.0.9", "@types/react": "^19.2.8", "@typescript-eslint/eslint-plugin": "^8.53.1", "@typescript-eslint/parser": "^8.53.1", "@vitejs/plugin-react": "^5.1.2", "@vitest/coverage-v8": "^4.0.17", "eslint": "^9.39.2", "eslint-config-next": "~16.1.3", "eslint-plugin-import": "^2.32.0", "eslint-plugin-react": "^7.37.5", "husky": "^9.1.7", "jsdom": "^27.4.0", "lint-staged": "^16.2.7", "playwright": "^1.57.0", "prettier": "^3.8.0", "typescript": "^5.9.3", "typescript-eslint": "^8.53.1", "vitest": "^4.0.17" }, "husky": { "hooks": { "pre-commit": "lint-staged" } }, "lint-staged": { "*.{ts,tsx}": [ "eslint --fix", "prettier --write", "git add" ] } }