{
"name": "peertube",
"description": "Federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser with WebTorrent and Angular.",
- "version": "1.3.1",
+ "version": "2.2.0",
"private": true,
- "licence": "AGPLv3",
+ "licence": "AGPL-3.0",
"engines": {
- "node": ">=8.x"
+ "node": ">=10.x"
},
"bin": {
"peertube": "dist/server/tools/peertube.js"
"e2e": "scripty",
"e2e:local": "scripty",
"setup:cli": "scripty",
- "build": "SCRIPTY_PARALLEL=true scripty",
+ "build": "scripty",
+ "build:embed": "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": "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",
"postinstall": "test -n \"$NOCLIENT\" || (cd client && yarn install --pure-lockfile)",
"tsc": "tsc",
"commander": "commander",
- "lint": "npm run travis -- lint",
+ "lint": "npm run ci -- lint",
"ng": "ng",
"nodemon": "nodemon",
"ts-node": "ts-node",
- "tslint": "tslint",
+ "eslint": "eslint",
"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",
- "travis": "scripty",
+ "ci": "scripty",
"release": "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"
- ]
+ "release-embed-api": "scripty",
+ "nightly": "scripty",
+ "openapi-clients": "scripty",
+ "client-report": "scripty",
+ "swagger-cli": "swagger-cli",
+ "sass-lint": "sass-lint"
},
"resolutions": {
- "@types/bluebird": "3.5.21"
+ "oauth2-server": "^3.1.0-beta.1",
+ "http-signature": "1.3.2"
},
"dependencies": {
"apicache": "^1.4.0",
"async": "^3.0.1",
"async-lru": "^1.1.1",
- "bcrypt": "3.0.6",
+ "bcrypt": "4.0.1",
"bittorrent-tracker": "^9.0.0",
"bluebird": "^3.5.0",
"body-parser": "^1.12.4",
"bull": "^3.4.2",
"bytes": "^3.0.0",
- "commander": "^2.13.0",
+ "commander": "^5.0.0",
"config": "^3.0.0",
"cookie-parser": "^1.4.3",
"cors": "^2.8.1",
- "create-torrent": "^3.24.5",
+ "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": "^4.0.4",
- "express-validator": "^5.0.0",
- "flat": "^4.1.0",
+ "express-rate-limit": "^5.0.0",
+ "express-validator": "^6.4.0",
+ "flat": "^5.0.0",
"fluent-ffmpeg": "^2.1.0",
- "fs-extra": "^8.0.1",
+ "fs-extra": "^9.0.0",
"helmet": "^3.12.1",
- "http-signature": "^1.2.0",
+ "http-signature": "1.3.2",
"ip-anonymize": "^0.1.0",
- "ipaddr.js": "1.9.0",
+ "ipaddr.js": "1.9.1",
"is-cidr": "^3.0.0",
- "iso-639-3": "^1.0.1",
+ "iso-639-3": "^2.0.0",
+ "jimp": "^0.12.1",
"js-yaml": "^3.5.4",
- "jsonld": "~1.1.0",
- "jsonld-signatures": "https://github.com/Chocobozzz/jsonld-signatures#rsa2017",
+ "jsonld": "~3.0.1",
"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": "^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.6",
+ "pfeed": "1.1.11",
"pg": "^7.4.1",
"prompt": "^1.0.0",
- "redis": "^2.8.0",
+ "pug": "^2.0.4",
+ "redis": "^3.0.2",
"reflect-metadata": "^0.1.12",
"request": "^2.81.0",
- "scripty": "^1.5.0",
- "sequelize": "5.8.7",
- "sequelize-typescript": "1.0.0-beta.2",
- "sharp": "^0.22.0",
- "sitemap": "^2.1.0",
+ "scripty": "^2.0.0",
+ "sequelize": "5.21.5",
+ "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": "^3.1.0",
- "validator": "^11.0.0",
+ "uuid": "^7.0.1",
+ "validator": "^13.0.0",
"webfinger.js": "^2.6.6",
- "webtorrent": "^0.103.0",
+ "webtorrent": "^0.107.16",
"winston": "3.2.1",
"ws": "^7.0.0",
- "youtube-dl": "^2.0.0"
+ "youtube-dl": "^3.0.2"
},
"devDependencies": {
+ "@openapitools/openapi-generator-cli": "^1.0.12-4.3.0",
"@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/bluebird": "3.5.30",
"@types/body-parser": "^1.16.3",
- "@types/bull": "3.4.0",
+ "@types/bull": "3.12.1",
"@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/config": "^0.0.36",
"@types/express": "^4.0.35",
- "@types/express-rate-limit": "^3.3.0",
+ "@types/express-rate-limit": "^5.0.0",
"@types/fluent-ffmpeg": "^2.1.8",
- "@types/fs-extra": "^7.0.0",
+ "@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/mkdirp": "^1.0.0",
+ "@types/mocha": "^7.0.1",
"@types/morgan": "^1.7.32",
"@types/multer": "^1.3.3",
"@types/node": "^10.0.8",
"@types/pem": "^1.9.3",
"@types/redis": "^2.8.5",
"@types/request": "^2.0.3",
- "@types/sharp": "^0.22.1",
"@types/socket.io": "^2.1.2",
"@types/supertest": "^2.0.3",
- "@types/validator": "^10.9.0",
- "@types/webtorrent": "^0.98.4",
- "@types/ws": "^6.0.0",
+ "@types/validator": "^12.0.1",
+ "@types/webtorrent": "^0.107.0",
+ "@types/ws": "^7.2.1",
+ "@typescript-eslint/eslint-plugin": "^2.18.0",
"chai": "^4.1.1",
"chai-json-schema": "^1.5.0",
"chai-xml": "^0.3.2",
- "concurrently": "^4.1.0",
- "husky": "^2.4.0",
- "libxmljs": "0.19.5",
- "lint-staged": "^8.0.4",
+ "concurrently": "^5.0.0",
+ "eslint": "^6.8.0",
+ "eslint-config-standard-with-typescript": "^15.0.1",
+ "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-man": "^0.6.0",
- "mocha": "^6.0.0",
- "mocha-parallel-tests": "^2.1.0",
- "nodemon": "^1.18.6",
- "sass-lint": "^1.12.1",
+ "marked": "^0.8.0",
+ "marked-man": "^0.7.0",
+ "mocha": "^7.0.0",
+ "mocha-parallel-tests": "^2.2.1",
+ "nodemon": "^2.0.1",
"source-map-support": "^0.5.0",
"supertest": "^4.0.2",
- "swagger-cli": "^2.2.0",
- "ts-node": "8.2.0",
- "tslint": "^5.7.0",
- "tslint-config-standard": "^8.0.1",
- "typescript": "^3.4.3",
- "xliff": "^4.0.0"
+ "swagger-cli": "^4.0.2",
+ "ts-node": "8.8.1",
+ "typescript": "^3.7.2"
},
"scripty": {
"silent": true
},
- "sasslintConfig": "client/.sass-lint.yml"
+ "sasslintConfig": "client/.sass-lint.yml",
+ "_moduleAliases": {
+ "@server": "dist/server"
+ }
}