{ "name": "peertube", "description": "Federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser with WebTorrent and Angular.", "version": "2.0.0", "private": true, "licence": "AGPLv3", "engines": { "node": ">=8.x" }, "bin": { "peertube": "dist/server/tools/peertube.js" }, "author": { "name": "Chocobozzz", "email": "chocobozzz@cpy.re", "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_PARALLEL=true scripty", "build:server": "scripty", "build:client": "scripty", "clean:client": "scripty", "clean:server": "scripty", "clean:server:test": "scripty", "watch:client": "scripty", "watch:server": "scripty", "danger:clean:dev": "scripty", "danger:clean:prod": "scripty", "danger:clean:modules": "scripty", "i18n:generate": "scripty", "plugin:install": "node ./dist/scripts/plugin/install.js", "plugin:uninstall": "node ./dist/scripts/plugin/uninstall.js", "i18n:xliff2json": "node ./dist/scripts/i18n/xliff2json.js", "i18n:create-custom-files": "node ./dist/scripts/i18n/create-custom-files.js", "reset-password": "node ./dist/scripts/reset-password.js", "play": "scripty", "dev": "scripty", "dev:server": "scripty", "dev:client": "scripty", "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", "tslint": "tslint", "concurrently": "concurrently", "mocha-parallel-tests": "mocha-parallel-tests", "sasslint": "sass-lint --verbose --no-exit", "sasslint:fix": "sass-lint-auto-fix -c .sass-lint.yml --verbose", "mocha": "mocha", "ci": "scripty", "release": "scripty", "nightly": "scripty", "client-report": "scripty" }, "husky": { "hooks": { "pre-commit": "lint-staged" } }, "lint-staged": { "*.scss": [ "sass-lint -c client/.sass-lint.yml", "git add" ], "support/doc/api/*.yaml": [ "node ./node_modules/swagger-cli/bin/swagger-cli.js validate support/doc/api/openapi.yaml", "git add" ], "server/tools/README.md": [ "npm run generate-cli-doc", "git add" ] }, "resolutions": { "@types/bluebird": "3.5.27" }, "dependencies": { "apicache": "^1.4.0", "async": "^3.0.1", "async-lru": "^1.1.1", "bcrypt": "3.0.6", "bittorrent-tracker": "^9.0.0", "bluebird": "^3.5.0", "body-parser": "^1.12.4", "bull": "^3.4.2", "bytes": "^3.0.0", "commander": "^3.0.2", "config": "^3.0.0", "cookie-parser": "^1.4.3", "cors": "^2.8.1", "create-torrent": "^4.0.0", "deep-object-diff": "^1.1.0", "express": "^4.12.4", "express-oauth-server": "^2.0.0", "express-rate-limit": "^4.0.4", "express-validator": "^6.1.1", "flat": "^4.1.0", "fluent-ffmpeg": "^2.1.0", "fs-extra": "^8.0.1", "helmet": "^3.12.1", "http-signature": "^1.2.0", "ip-anonymize": "^0.1.0", "ipaddr.js": "1.9.1", "is-cidr": "^3.0.0", "iso-639-3": "^1.0.1", "js-yaml": "^3.5.4", "jsonld": "~1.8.0", "lodash": "^4.17.10", "lru-cache": "^5.1.1", "magnet-uri": "^5.1.4", "memoizee": "^0.4.14", "morgan": "^1.5.3", "multer": "^1.1.0", "nodemailer": "^6.0.0", "parse-torrent": "^7.0.0", "password-generator": "^2.0.2", "pem": "^1.12.3", "pfeed": "^1.1.6", "pg": "^7.4.1", "prompt": "^1.0.0", "redis": "^2.8.0", "reflect-metadata": "^0.1.12", "request": "^2.81.0", "scripty": "^1.5.0", "sequelize": "5.21.1", "sequelize-typescript": "^1.0.0-beta.4", "sharp": "^0.23.1", "sitemap": "^5.0.0", "socket.io": "^2.2.0", "srt-to-vtt": "^1.1.2", "tsconfig-paths": "^3.9.0", "useragent": "^2.3.0", "uuid": "^3.1.0", "validator": "^11.0.0", "webfinger.js": "^2.6.6", "webtorrent": "^0.107.16", "winston": "3.2.1", "ws": "^7.0.0", "youtube-dl": "^2.0.0" }, "devDependencies": { "@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.21", "@types/body-parser": "^1.16.3", "@types/bull": "3.4.0", "@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.34", "@types/express": "^4.0.35", "@types/express-rate-limit": "^3.3.0", "@types/fluent-ffmpeg": "^2.1.8", "@types/fs-extra": "^8.0.0", "@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": "^0.5.1", "@types/mocha": "^5.0.0", "@types/morgan": "^1.7.32", "@types/multer": "^1.3.3", "@types/node": "^10.0.8", "@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/sharp": "^0.23.0", "@types/socket.io": "^2.1.2", "@types/supertest": "^2.0.3", "@types/validator": "^10.9.0", "@types/webtorrent": "^0.107.0", "@types/ws": "^6.0.0", "chai": "^4.1.1", "chai-json-schema": "^1.5.0", "chai-xml": "^0.3.2", "concurrently": "^5.0.0", "husky": "^3.0.1", "libxmljs": "0.19.7", "lint-staged": "^9.2.0", "maildev": "^1.0.0-rc3", "marked-man": "^0.7.0", "mocha": "^6.0.0", "mocha-parallel-tests": "^2.2.1", "nodemon": "^1.18.6", "sass-lint": "^1.12.1", "source-map-support": "^0.5.0", "supertest": "^4.0.2", "swagger-cli": "^2.2.0", "ts-node": "8.4.1", "tslint": "^5.7.0", "tslint-config-standard": "^8.0.1", "typescript": "^3.7.2", "xliff": "^4.0.0" }, "scripty": { "silent": true }, "sasslintConfig": "client/.sass-lint.yml", "_moduleAliases": { "@server": "dist/server" } }