{ "name": "peertube", "description": "PeerTube, an ActivityPub-federated video streaming platform using P2P directly in your web browser.", "version": "4.3.0", "private": true, "licence": "AGPL-3.0", "engines": { "node": ">=12.x", "yarn": ">=1.x" }, "bin": { "peertube": "dist/server/tools/peertube.js" }, "author": { "name": "Chocobozzz", "email": "chocobozzz@framasoft.org", "url": "http://github.com/Chocobozzz" }, "repository": { "type": "git", "url": "git+https://github.com/Chocobozzz/PeerTube.git" }, "typings": "*.d.ts", "scripts": { "e2e:browserstack": "bash ./scripts/e2e/browserstack.sh", "e2e:local": "bash ./scripts/e2e/local.sh", "setup:cli": "bash ./scripts/setup/cli.sh", "build": "bash ./scripts/build/index.sh", "build:embed": "bash ./scripts/build/embed.sh", "build:server": "bash ./scripts/build/server.sh", "build:client": "bash ./scripts/build/client.sh", "clean:client": "bash ./scripts/clean/client/index.sh", "clean:server:test": "bash ./scripts/clean/server/test.sh", "i18n:update": "bash ./scripts/i18n/update.sh", "plugin:install": "node ./dist/scripts/plugin/install.js", "plugin:uninstall": "node ./dist/scripts/plugin/uninstall.js", "i18n:create-custom-files": "node ./dist/scripts/i18n/create-custom-files.js", "reset-password": "node ./dist/scripts/reset-password.js", "dev": "bash ./scripts/dev/index.sh", "dev:server": "bash ./scripts/dev/server.sh", "dev:embed": "bash ./scripts/dev/embed.sh", "dev:client": "bash ./scripts/dev/client.sh", "dev:cli": "bash ./scripts/dev/cli.sh", "start": "node dist/server", "start:server": "node dist/server --no-client", "update-host": "node ./dist/scripts/update-host.js", "create-transcoding-job": "node ./dist/scripts/create-transcoding-job.js", "regenerate-thumbnails": "node ./dist/scripts/regenerate-thumbnails.js", "create-import-video-file-job": "node ./dist/scripts/create-import-video-file-job.js", "create-move-video-storage-job": "node ./dist/scripts/create-move-video-storage-job.js", "print-transcode-command": "node ./dist/scripts/print-transcode-command.js", "test": "bash ./scripts/test.sh", "help": "bash ./scripts/help.sh", "generate-cli-doc": "bash ./scripts/generate-cli-doc.sh", "generate-types-package": "ts-node ./packages/types/generate-package.ts", "parse-log": "node ./dist/scripts/parse-log.js", "prune-storage": "node ./dist/scripts/prune-storage.js", "postinstall": "test -n \"$NOCLIENT\" || (cd client && yarn install --pure-lockfile)", "tsc": "tsc", "commander": "commander", "lint": "npm run ci -- lint", "ng": "ng", "ts-node": "ts-node", "eslint": "eslint", "resolve-tspaths": "resolve-tspaths", "resolve-tspaths:server": "npm run resolve-tspaths -- --project tsconfig.json --src . --out dist", "concurrently": "concurrently", "mocha": "mocha", "ci": "bash ./scripts/ci.sh", "release": "bash ./scripts/release.sh", "release-embed-api": "bash ./scripts/release-embed-api.sh", "nightly": "bash ./scripts/nightly.sh", "openapi-clients": "bash ./scripts/openapi-clients.sh", "client-report": "bash ./scripts/client-report.sh", "swagger-cli": "swagger-cli" }, "resolutions": { "jpeg-js": "0.4.4" }, "dependencies": { "@aws-sdk/client-s3": "^3.190.0", "@aws-sdk/lib-storage": "^3.190.0", "@aws-sdk/node-http-handler": "^3.190.0", "@babel/parser": "^7.17.8", "@node-oauth/oauth2-server": "^4.2.0", "@opentelemetry/api": "^1.1.0", "@opentelemetry/api-metrics": "^0.32.0", "@opentelemetry/exporter-jaeger": "^1.3.1", "@opentelemetry/exporter-prometheus": "~0.32.0", "@opentelemetry/instrumentation": "^0.32.0", "@opentelemetry/instrumentation-dns": "^0.30.0", "@opentelemetry/instrumentation-express": "^0.31.0", "@opentelemetry/instrumentation-fs": "^0.5.0", "@opentelemetry/instrumentation-http": "^0.32.0", "@opentelemetry/instrumentation-pg": "^0.31.0", "@opentelemetry/instrumentation-redis-4": "^0.32.0", "@opentelemetry/resources": "^1.3.1", "@opentelemetry/sdk-metrics": "^0.32.0", "@opentelemetry/sdk-trace-base": "^1.3.1", "@opentelemetry/sdk-trace-node": "^1.3.1", "@opentelemetry/semantic-conventions": "^1.3.1", "@peertube/feed": "^5.0.1", "@peertube/http-signature": "^1.7.0", "@uploadx/core": "^6.0.0", "async-lru": "^1.1.1", "async-mutex": "^0.4.0", "bcrypt": "5.0.1", "bencode": "^2.0.2", "bittorrent-tracker": "^9.0.0", "bluebird": "^3.5.0", "bullmq": "^1.87.0", "bytes": "^3.0.0", "chokidar": "^3.4.2", "commander": "^9.0.0", "config": "^3.0.0", "cookie-parser": "^1.4.3", "cors": "^2.8.1", "create-torrent": "^5.0.0", "deep-object-diff": "^1.1.0", "email-templates": "^10.0.0", "execa": "^5.1.1", "express": "^4.18.1", "express-rate-limit": "^6.1.0", "express-validator": "^6.4.0", "flat": "^5.0.0", "fluent-ffmpeg": "^2.1.0", "fs-extra": "^10.0.0", "got": "^11.8.2", "helmet": "^6.0.0", "hpagent": "^1.0.0", "http-problem-details": "^0.1.5", "ioredis": "^5.2.3", "ip-anonymize": "^0.1.0", "ipaddr.js": "2.0.1", "is-cidr": "^4.0.0", "iso-639-3": "2.2.0", "jimp": "^0.16.0", "js-yaml": "^4.0.0", "jsonld": "~8.1.0", "lodash": "^4.17.10", "lru-cache": "^7.13.0", "magnet-uri": "^6.1.0", "markdown-it": "^13.0.1", "markdown-it-emoji": "^2.0.0", "maxmind": "^4.3.6", "memoizee": "^0.4.14", "morgan": "^1.5.3", "multer": "^1.4.5-lts.1", "node-media-server": "^2.1.4", "nodemailer": "^6.0.0", "opentelemetry-instrumentation-sequelize": "^0.29.0", "otpauth": "^8.0.3", "p-queue": "^6", "parse-torrent": "^9.1.0", "password-generator": "^2.0.2", "pg": "^8.2.1", "piscina": "^3.2.0", "prompt": "^1.0.0", "proxy-addr": "^2.0.7", "pug": "^3.0.0", "reflect-metadata": "^0.1.12", "sanitize-html": "2.x", "sequelize": "6.21.6", "sequelize-typescript": "^2.0.0-beta.1", "short-uuid": "^4.2.0", "sitemap": "^7.0.0", "socket.io": "^4.0.1", "sql-formatter": "^10.6.0", "srt-to-vtt": "^1.1.2", "tsconfig-paths": "^4.0.0", "tslib": "^2.0.0", "useragent": "^2.3.0", "validator": "^13.0.0", "webfinger.js": "^2.6.6", "webtorrent": "^1.0.0", "winston": "3.8.2", "ws": "^8.0.0" }, "devDependencies": { "@peertube/maildev": "^1.2.0", "@types/bcrypt": "^5.0.0", "@types/bencode": "^2.0.0", "@types/bluebird": "^3.5.33", "@types/body-parser": "^1.16.3", "@types/bytes": "^3.0.0", "@types/chai": "^4.0.4", "@types/chai-json-schema": "^1.4.3", "@types/chai-xml": "^0.3.1", "@types/config": "^3.3.0", "@types/create-torrent": "^5.0.0", "@types/express": "4.17.9", "@types/fluent-ffmpeg": "^2.1.16", "@types/fs-extra": "^9.0.1", "@types/lodash": "^4.14.64", "@types/magnet-uri": "^5.1.1", "@types/maildev": "^0.0.3", "@types/memoizee": "^0.4.2", "@types/mkdirp": "^1.0.0", "@types/mocha": "^9.0.0", "@types/morgan": "^1.7.32", "@types/multer": "^1.3.3", "@types/node": "^14.14.31", "@types/nodemailer": "^6.2.0", "@types/oauth2-server": "^3.0.8", "@types/request": "^2.0.3", "@types/supertest": "^2.0.3", "@types/validator": "^13.0.0", "@types/webtorrent": "^0.109.0", "@types/ws": "^8.2.0", "@typescript-eslint/eslint-plugin": "^5.0.0", "autocannon": "^7.0.4", "chai": "^4.1.1", "chai-json-schema": "^1.5.0", "chai-xml": "^0.4.0", "concurrently": "^7.0.0", "depcheck": "^1.4.2", "eslint": "^8.0.0", "eslint-config-standard-with-typescript": "^22.0.0", "eslint-plugin-import": "^2.20.1", "eslint-plugin-n": "^15.2.4", "eslint-plugin-node": "^11.0.0", "eslint-plugin-promise": "^6.0.0", "fast-xml-parser": "^4.0.0-beta.8", "mocha": "^10.0.0", "proxy": "^1.0.2", "resolve-tspaths": "^0.7.0", "socket.io-client": "^4.0.1", "supertest": "^6.0.1", "swagger-cli": "^4.0.2", "ts-node": "^10.8.1", "tsc-watch": "^5.0.3", "typescript": "^4.0.5" }, "bundlewatch": { "files": [ { "path": "client/dist/en-US/*.js", "maxSize": "1mb" }, { "path": "client/dist/standalone/videos/video-embed.bundle.js", "maxSize": "1mb" }, { "path": "client/dist/standalone/videos/video-embed.css", "maxSize": "1mb" } ] } }