{ "name": "peertube", "description": "Federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser with WebTorrent and Angular.", "version": "2.4.0", "private": true, "licence": "AGPL-3.0", "engines": { "node": ">=10.x <13", "yarn": ">=1.x", "postgres": ">=9.6", "redis-server": ">=2.8.18", "ffmpeg": ">=4.1" }, "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": "scripty", "e2e:local": "scripty", "setup:cli": "scripty", "build": "scripty", "build:embed": "scripty", "build:server": "scripty", "build:client": "scripty", "clean:client": "scripty", "clean:server": "scripty", "clean:server:test": "scripty", "danger:clean:dev": "scripty", "danger:clean:prod": "scripty", "danger:clean:modules": "scripty", "i18n:update": "scripty", "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", "play": "scripty", "dev": "sh ./scripts/dev/index.sh", "dev:server": "sh ./scripts/dev/server.sh", "dev:embed": "scripty", "dev:client": "sh ./scripts/dev/client.sh", "dev:cli": "scripty", "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", "create-import-video-file-job": "node ./dist/scripts/create-import-video-file-job.js", "test": "scripty", "help": "scripty", "generate-cli-doc": "scripty", "parse-log": "node ./dist/scripts/parse-log.js", "prune-storage": "node ./dist/scripts/prune-storage.js", "optimize-old-videos": "node ./dist/scripts/optimize-old-videos.js", "postinstall": "test -n \"$NOCLIENT\" || (cd client && yarn install --pure-lockfile)", "tsc": "tsc", "commander": "commander", "lint": "npm run ci -- lint", "ng": "ng", "nodemon": "nodemon", "ts-node": "ts-node", "eslint": "eslint", "concurrently": "concurrently", "sasslint": "sass-lint --verbose --no-exit", "sasslint:fix": "sass-lint-auto-fix -c .sass-lint.yml --verbose", "mocha": "mocha", "ci": "scripty", "release": "scripty", "release-embed-api": "scripty", "nightly": "scripty", "openapi-clients": "scripty", "client-report": "scripty", "swagger-cli": "swagger-cli", "sass-lint": "sass-lint" }, "resolutions": { "oauth2-server": "3.1.0-beta.1", "http-signature": "1.3.4" }, "dependencies": { "apicache": "^1.4.0", "async": "^3.0.1", "async-lru": "^1.1.1", "bcrypt": "5.0.0", "bittorrent-tracker": "^9.0.0", "bluebird": "^3.5.0", "body-parser": "^1.12.4", "bull": "^3.4.2", "bytes": "^3.0.0", "chokidar": "^3.4.2", "commander": "^6.0.0", "config": "^3.0.0", "cookie-parser": "^1.4.3", "cors": "^2.8.1", "create-torrent": "^4.0.0", "deep-object-diff": "^1.1.0", "email-templates": "^7.0.4", "express": "^4.12.4", "express-oauth-server": "^2.0.0", "express-rate-limit": "^5.0.0", "express-validator": "^6.4.0", "flat": "^5.0.0", "fluent-ffmpeg": "^2.1.0", "fs-extra": "^9.0.0", "helmet": "^4.1.0", "http-signature": "1.3.4", "ip-anonymize": "^0.1.0", "ipaddr.js": "2.0.0", "is-cidr": "^4.0.0", "iso-639-3": "^2.0.0", "jimp": "^0.16.0", "js-yaml": "^3.5.4", "jsonld": "~3.1.1", "lodash": "^4.17.10", "lru-cache": "^6.0.0", "magnet-uri": "^5.1.4", "markdown-it": "11.x", "markdown-it-emoji": "^2.0.0", "memoizee": "^0.4.14", "morgan": "^1.5.3", "multer": "^1.1.0", "node-media-server": "^2.1.4", "nodemailer": "^6.0.0", "oauth2-server": "3.1.0-beta.1", "parse-torrent": "^7.0.0", "password-generator": "^2.0.2", "pem": "^1.12.3", "pfeed": "1.1.11", "pg": "^8.2.1", "prompt": "^1.0.0", "pug": "^3.0.0", "redis": "^3.0.2", "reflect-metadata": "^0.1.12", "request": "^2.81.0", "sanitize-html": "2.x", "scripty": "^2.0.0", "sequelize": "5.21.13", "sequelize-typescript": "^1.0.0-beta.4", "sitemap": "^6.1.0", "socket.io": "^2.2.0", "srt-to-vtt": "^1.1.2", "tsconfig-paths": "^3.9.0", "tslib": "^2.0.0", "useragent": "^2.3.0", "uuid": "^8.1.0", "validator": "^13.0.0", "webfinger.js": "^2.6.6", "webtorrent": "^0.108.6", "winston": "3.3.3", "ws": "^7.0.0", "youtube-dl": "^3.0.2" }, "devDependencies": { "@openapitools/openapi-generator-cli": "^1.0.15-4.3.1", "@types/apicache": "^1.2.0", "@types/async": "^3.0.0", "@types/async-lock": "^1.1.0", "@types/bcrypt": "^3.0.0", "@types/bluebird": "3.5.32", "@types/body-parser": "^1.16.3", "@types/bull": "3.14.2", "@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": "^0.0.36", "@types/express": "^4.0.35", "@types/express-rate-limit": "^5.0.0", "@types/fluent-ffmpeg": "^2.1.16", "@types/fs-extra": "^9.0.1", "@types/libxmljs": "^0.18.0", "@types/lodash": "^4.14.64", "@types/lru-cache": "^5.1.0", "@types/magnet-uri": "^5.1.1", "@types/maildev": "^0.0.1", "@types/memoizee": "^0.4.2", "@types/mkdirp": "^1.0.0", "@types/mocha": "^8.0.3", "@types/morgan": "^1.7.32", "@types/multer": "^1.3.3", "@types/node": "^14.0.13", "@types/nodemailer": "^6.2.0", "@types/oauth2-server": "^3.0.8", "@types/pem": "^1.9.3", "@types/redis": "^2.8.5", "@types/request": "^2.0.3", "@types/socket.io": "^2.1.2", "@types/socket.io-client": "^1.4.34", "@types/supertest": "^2.0.3", "@types/validator": "^13.0.0", "@types/webtorrent": "^0.107.0", "@types/ws": "^7.2.1", "@typescript-eslint/eslint-plugin": "^3.3.0", "chai": "^4.1.1", "chai-json-schema": "^1.5.0", "chai-xml": "^0.3.2", "concurrently": "^5.0.0", "eslint": "^7.2.0", "eslint-config-standard-with-typescript": "^18.0.2", "eslint-plugin-import": "^2.20.1", "eslint-plugin-node": "^11.0.0", "eslint-plugin-promise": "^4.2.1", "eslint-plugin-standard": "^4.0.1", "libxmljs": "0.19.7", "maildev": "^1.0.0-rc3", "marked": "^1.1.0", "marked-man": "^0.7.0", "mocha": "^8.0.1", "nodemon": "^2.0.1", "socket.io-client": "^2.3.1", "source-map-support": "^0.5.0", "supertest": "^4.0.2", "swagger-cli": "^4.0.2", "ts-node": "9.0.0", "typescript": "^3.7.2" }, "scripty": { "silent": true }, "sasslintConfig": "client/.sass-lint.yml", "_moduleAliases": { "@server": "dist/server" }, "bundlewatch": { "files": [ { "path": "client/dist/en-US/*-es2015.js", "maxSize": "1mb" }, { "path": "client/dist/standalone/videos/video-embed.bundle.js", "maxSize": "1mb" }, { "path": "client/dist/standalone/videos/video-embed.css", "maxSize": "1mb" } ] } }