]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - package.json
Allow only admin to download a video
[github/Chocobozzz/PeerTube.git] / package.json
index d5cf95b83c3350ebdfc766b520e9df0fea3aae8e..90b3768ac8fd9cb815004d38b0638c2facb61094 100644 (file)
@@ -1,18 +1,22 @@
 {
   "name": "peertube",
   "description": "Federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser with WebTorrent and Angular.",
-  "version": "1.0.0-beta.13",
+  "version": "3.0.1",
   "private": true,
-  "licence": "AGPLv3",
+  "licence": "AGPL-3.0",
   "engines": {
-    "node": ">=8.x"
+    "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": "Florian Bigard",
-    "email": "florian.bigard@gmail.com",
+    "name": "Chocobozzz",
+    "email": "chocobozzz@framasoft.org",
     "url": "http://github.com/Chocobozzz"
   },
   "repository": {
   "typings": "*.d.ts",
   "scripts": {
     "e2e": "scripty",
-    "build": "SCRIPTY_PARALLEL=true 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",
-    "watch:client": "scripty",
-    "watch:server": "scripty",
     "danger:clean:dev": "scripty",
     "danger:clean:prod": "scripty",
     "danger:clean:modules": "scripty",
-    "i18n:generate": "scripty",
-    "i18n:xliff2json": "node ./dist/scripts/i18n/xliff2json.js",
+    "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": "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",
     "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-api-doc": "scripty",
+    "generate-cli-doc": "scripty",
     "parse-log": "node ./dist/scripts/parse-log.js",
     "prune-storage": "node ./dist/scripts/prune-storage.js",
-    "postinstall": "cd client && yarn install --pure-lockfile",
+    "optimize-old-videos": "node ./dist/scripts/optimize-old-videos.js",
+    "postinstall": "test -n \"$NOCLIENT\" || (cd client && yarn install --pure-lockfile)",
     "tsc": "tsc",
-    "spectacle-docs": "node_modules/spectacle-docs/bin/spectacle.js",
     "commander": "commander",
+    "lint": "npm run ci -- lint",
     "ng": "ng",
     "nodemon": "nodemon",
     "ts-node": "ts-node",
-    "tslint": "tslint",
+    "eslint": "eslint",
     "concurrently": "concurrently",
     "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"
-    ]
+    "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.5"
   },
   "dependencies": {
-    "application-config": "^1.0.1",
-    "async": "^2.0.0",
-    "async-lock": "^1.1.2",
+    "apicache": "^1.4.0",
+    "async": "^3.0.1",
     "async-lru": "^1.1.1",
-    "bcrypt": "2",
+    "bcrypt": "5.0.0",
     "bittorrent-tracker": "^9.0.0",
     "bluebird": "^3.5.0",
     "body-parser": "^1.12.4",
     "bull": "^3.4.2",
-    "cli-table": "^0.3.1",
     "bytes": "^3.0.0",
-    "commander": "^2.13.0",
-    "concurrently": "^4.0.1",
-    "config": "^2.0.1",
+    "chokidar": "^3.4.2",
+    "commander": "^6.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": "^3.1.0",
-    "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": "^7.0.0",
-    "helmet": "^3.12.1",
-    "ip-anonymize": "^0.0.6",
-    "ipaddr.js": "1.8.1",
-    "is-cidr": "^2.0.5",
-    "iso-639-3": "^1.0.1",
+    "fs-extra": "^9.0.0",
+    "helmet": "^4.1.0",
+    "http-signature": "1.3.5",
+    "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": "^1.0.1",
-    "jsonld-signatures": "https://github.com/Chocobozzz/jsonld-signatures#rsa2017",
+    "jsonld": "~3.2.0",
     "lodash": "^4.17.10",
-    "magnet-uri": "^5.1.4",
+    "lru-cache": "^6.0.0",
+    "magnet-uri": "^6.1.0",
+    "markdown-it": "12.0.2",
+    "markdown-it-emoji": "^2.0.0",
     "memoizee": "^0.4.14",
     "morgan": "^1.5.3",
     "multer": "^1.1.0",
-    "netrc-parser": "^3.1.6",
-    "nodemailer": "^4.4.2",
-    "parse-torrent": "^6.0.0",
+    "node-media-server": "^2.1.4",
+    "nodemailer": "^6.0.0",
+    "oauth2-server": "3.1.0-beta.1",
+    "parse-torrent": "^9.1.0",
     "password-generator": "^2.0.2",
     "pem": "^1.12.3",
-    "pfeed": "^1.1.6",
-    "pg": "^7.4.1",
-    "pg-hstore": "^2.3.2",
+    "pfeed": "1.1.11",
+    "pg": "^8.2.1",
     "prompt": "^1.0.0",
-    "redis": "^2.8.0",
-    "reflect-metadata": "^0.1.10",
+    "pug": "^3.0.0",
+    "redis": "^3.0.2",
+    "reflect-metadata": "^0.1.12",
     "request": "^2.81.0",
-    "safe-buffer": "^5.0.1",
-    "scripty": "^1.5.0",
-    "sequelize": "4.38.0",
-    "sequelize-typescript": "0.6.6",
-    "sharp": "^0.20.0",
+    "sanitize-html": "2.x",
+    "scripty": "^2.0.0",
+    "sequelize": "6.3.5",
+    "sequelize-typescript": "^2.0.0-beta.1",
+    "sitemap": "^6.1.0",
+    "socket.io": "^3.0.2",
     "srt-to-vtt": "^1.1.2",
-    "summon-install": "^0.4.3",
+    "tsconfig-paths": "^3.9.0",
+    "tslib": "^2.0.0",
     "useragent": "^2.3.0",
-    "uuid": "^3.1.0",
-    "validator": "^10.2.0",
+    "uuid": "^8.1.0",
+    "validator": "^13.0.0",
     "webfinger.js": "^2.6.6",
-    "webtorrent": "^0.102.1",
-    "winston": "3.0.0",
-    "ws": "^6.0.0",
-    "youtube-dl": "^1.12.2"
+    "webtorrent": "^0.111.0",
+    "winston": "3.3.3",
+    "ws": "^7.0.0",
+    "youtube-dl": "^3.0.2"
   },
   "devDependencies": {
-    "@types/async": "^2.0.40",
+    "@openapitools/openapi-generator-cli": "^2.1.4",
+    "@types/apicache": "^1.2.0",
+    "@types/async": "^3.0.0",
     "@types/async-lock": "^1.1.0",
-    "@types/bcrypt": "^2.0.0",
-    "@types/bluebird": "3.5.21",
+    "@types/bcrypt": "^3.0.0",
+    "@types/bluebird": "3.5.33",
     "@types/body-parser": "^1.16.3",
-    "@types/bull": "^3.3.12",
+    "@types/bull": "3.14.4",
     "@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": "^2.9.3",
-    "@types/fs-extra": "^5.0.4",
+    "@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": "^0.5.1",
-    "@types/mocha": "^5.0.0",
+    "@types/mkdirp": "^1.0.0",
+    "@types/mocha": "^8.0.3",
     "@types/morgan": "^1.7.32",
     "@types/multer": "^1.3.3",
-    "@types/node": "^10.0.8",
-    "@types/nodemailer": "^4.3.1",
+    "@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/sharp": "^0.17.6",
     "@types/supertest": "^2.0.3",
-    "@types/validator": "^9.4.0",
-    "@types/webtorrent": "^0.98.4",
-    "@types/ws": "^6.0.0",
+    "@types/validator": "^13.0.0",
+    "@types/webtorrent": "^0.109.0",
+    "@types/ws": "^7.2.1",
+    "@typescript-eslint/eslint-plugin": "^4.8.1",
     "chai": "^4.1.1",
     "chai-json-schema": "^1.5.0",
-    "chai-xml": "^0.3.2",
-    "husky": "^1.0.0-rc.4",
-    "libxmljs": "0.19.3",
-    "lint-staged": "^7.1.0",
+    "chai-xml": "^0.4.0",
+    "concurrently": "^5.0.0",
+    "eslint": "^7.2.0",
+    "eslint-config-standard-with-typescript": "^19.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",
-    "mocha": "^5.0.0",
-    "nodemon": "^1.11.0",
-    "prettier": "1.14.2",
-    "sass-lint": "^1.12.1",
+    "marked": "^1.1.0",
+    "marked-man": "^0.7.0",
+    "mocha": "^8.0.1",
+    "nodemon": "^2.0.1",
+    "socket.io-client": "^3.0.2",
     "source-map-support": "^0.5.0",
-    "spectacle-docs": "^1.0.2",
-    "supertest": "^3.0.0",
-    "ts-node": "7.0.1",
-    "tslint": "^5.7.0",
-    "tslint-config-standard": "^7.0.0",
-    "typescript": "^2.5.2",
-    "xliff": "^4.0.0"
+    "supertest": "^6.0.1",
+    "swagger-cli": "^4.0.2",
+    "ts-node": "9.0.0",
+    "typescript": "^4.0.5"
   },
   "scripty": {
     "silent": true
   },
-  "summon": {
-    "silent": true
+  "sasslintConfig": "client/.sass-lint.yml",
+  "_moduleAliases": {
+    "@server": "dist/server"
   },
-  "sasslintConfig": "client/.sass-lint.yml"
+  "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"
+      }
+    ]
+  }
 }