115 lines
3.5 KiB
JSON
115 lines
3.5 KiB
JSON
{
|
|
"name": "futureporn",
|
|
"private": true,
|
|
"version": "2.5.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "concurrently npm:dev:serve npm:dev:build:server npm:dev:build:client npm:dev:worker npm:dev:compose npm:dev:sftp",
|
|
"dev:serve": "npx @dotenvx/dotenvx run -f ../../.env.development.local -- tsx watch ./src/index.ts",
|
|
"dev:compose": "docker compose -f compose.development.yaml up",
|
|
"dev:worker": "npx @dotenvx/dotenvx run -e GRAPHILE_LOGGER_DEBUG=1 -f ../../.env.development.local -- tsx watch ./src/worker.ts",
|
|
"dev:build": "echo please use either dev:build:server or dev:build:client",
|
|
"dev:build:server": "chokidar 'src/**/*.{js,ts}' --ignore 'src/client/**' -c tsup --clean",
|
|
"dev:build:client": "chokidar 'src/client/**/*.{js,css}' -c 'node build.mjs'",
|
|
"dev:sftp": "docker run -p 2222:22 --rm atmoz/sftp user:pass:::watch",
|
|
"start": "echo please use either start:server or start:worker; exit 1",
|
|
"start:server": "tsx ./src/index.ts",
|
|
"start:worker": "tsx ./src/worker.ts",
|
|
"preview": "vite preview",
|
|
"build": "tsup --clean",
|
|
"lint": "eslint .",
|
|
"clean": "rm -rf node_modules && rm -rf pnpm-lock.yaml",
|
|
"deploy": "npx prisma migrate deploy",
|
|
"test:watch": "npx vitest --watch",
|
|
"test": "npx vitest"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/compat": "^1.3.1",
|
|
"@eslint/js": "^9.31.0",
|
|
"buttplug": "^3.2.2",
|
|
"chokidar": "^4.0.3",
|
|
"esbuild": "^0.25.9",
|
|
"esbuild-copy-static-files": "^0.1.0",
|
|
"eslint": "^9.31.0",
|
|
"eslint-plugin-svelte": "^3.10.1",
|
|
"globals": "^16.3.0",
|
|
"nodemon": "^3.1.10",
|
|
"prisma": "6.8.2",
|
|
"typescript": "^5.8.3",
|
|
"typescript-eslint": "^8.36.0",
|
|
"video.js": "^8.23.4",
|
|
"videojs-contrib-quality-levels": "^4.1.0",
|
|
"videojs-hls-quality-selector": "^2.0.0",
|
|
"vitest": "^3.2.4",
|
|
"yargs": "^18.0.0"
|
|
},
|
|
"pnpm": {
|
|
"onlyBuiltDependencies": [
|
|
"esbuild"
|
|
]
|
|
},
|
|
"dependencies": {
|
|
"@aws-sdk/client-s3": "3.726.1",
|
|
"@aws-sdk/s3-request-presigner": "^3.844.0",
|
|
"@dotenvx/dotenvx": "^1.47.5",
|
|
"@fastify/caching": "^9.0.3",
|
|
"@fastify/flash": "^6.0.3",
|
|
"@fastify/formbody": "^8.0.2",
|
|
"@fastify/multipart": "^9.0.3",
|
|
"@fastify/oauth2": "^8.1.2",
|
|
"@fastify/secure-session": "^8.2.0",
|
|
"@fastify/static": "^8.2.0",
|
|
"@fastify/swagger": "^9.5.1",
|
|
"@fastify/swagger-ui": "^5.2.3",
|
|
"@fastify/view": "^11.1.0",
|
|
"@imgly/background-removal-node": "^1.4.5",
|
|
"@imqueue/pg-pubsub": "^1.10.0",
|
|
"@keyv/postgres": "^1.4.11",
|
|
"@paralleldrive/cuid2": "^2.2.2",
|
|
"@prisma/client": "6.8.2",
|
|
"@prisma/extension-accelerate": "^1.3.0",
|
|
"@types/fs-extra": "^11.0.4",
|
|
"@types/node": "^22.16.3",
|
|
"@types/node-fetch": "^2.6.12",
|
|
"cache-manager": "^7.0.1",
|
|
"canvas": "^3.1.2",
|
|
"chokidar-cli": "^3.0.0",
|
|
"concurrently": "^9.2.0",
|
|
"create-torrent": "^6.1.0",
|
|
"date-fns": "^4.1.0",
|
|
"fastify": "^5.4.0",
|
|
"fastify-favicon": "^5.0.0",
|
|
"fastify-plugin": "^5.0.1",
|
|
"fastify-sse-v2": "^4.2.1",
|
|
"form-data": "^4.0.3",
|
|
"fs-extra": "^11.3.1",
|
|
"graphile-worker": "^0.16.6",
|
|
"handlebars": "4.7.8",
|
|
"jdenticon": "^3.3.0",
|
|
"js-yaml": "^4.1.0",
|
|
"keyv": "^4.5.4",
|
|
"lodash-es": "^4.17.21",
|
|
"mime-types": "^3.0.1",
|
|
"nano-spawn": "^1.0.2",
|
|
"nanoid": "^5.1.5",
|
|
"node-fetch": "^3.3.2",
|
|
"onnxruntime-node": "1.22.0-rev",
|
|
"pino": "^9.7.0",
|
|
"pino-pretty": "^13.0.0",
|
|
"rate-limiter-flexible": "^7.1.1",
|
|
"rimraf": "6.0.1",
|
|
"sharp": "^0.34.3",
|
|
"slugify": "^1.6.6",
|
|
"slvtt": "^0.3.4",
|
|
"ssh2-sftp-client": "^12.0.1",
|
|
"ts-node": "^10.9.2",
|
|
"tsup": "^8.5.0",
|
|
"tsx": "^4.20.3",
|
|
"which": "^5.0.0",
|
|
"zod": "^3.25.76"
|
|
},
|
|
"prisma": {
|
|
"seed": "tsx prisma/seed.ts"
|
|
}
|
|
}
|