You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
filepizza/package.json

101 lines
3.1 KiB
JSON

{
"name": "filepizza",
"version": "2.0.0",
"description": "Free peer-to-peer file transfers in your browser.",
"author": "Alex Kern <alex@kern.io> (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"
]
}
}