Federated video streaming platform using ActivityPub and P2P in the web browser with Angular. https://joinpeertube.org/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

235 lines
7.8 KiB

  1. {
  2. "name": "peertube",
  3. "description": "PeerTube, an ActivityPub-federated video streaming platform using P2P directly in your web browser.",
  4. "version": "4.0.0",
  5. "private": true,
  6. "licence": "AGPL-3.0",
  7. "engines": {
  8. "node": ">=12.x",
  9. "yarn": ">=1.x"
  10. },
  11. "bin": {
  12. "peertube": "dist/server/tools/peertube.js"
  13. },
  14. "author": {
  15. "name": "Chocobozzz",
  16. "email": "chocobozzz@framasoft.org",
  17. "url": "http://github.com/Chocobozzz"
  18. },
  19. "repository": {
  20. "type": "git",
  21. "url": "git+https://github.com/Chocobozzz/PeerTube.git"
  22. },
  23. "typings": "*.d.ts",
  24. "scripts": {
  25. "e2e:browserstack": "bash ./scripts/e2e/browserstack.sh",
  26. "e2e:local": "bash ./scripts/e2e/local.sh",
  27. "setup:cli": "bash ./scripts/setup/cli.sh",
  28. "build": "bash ./scripts/build/index.sh",
  29. "build:embed": "bash ./scripts/build/embed.sh",
  30. "build:server": "bash ./scripts/build/server.sh",
  31. "build:client": "bash ./scripts/build/client.sh",
  32. "clean:client": "bash ./scripts/clean/client/index.sh",
  33. "clean:server:test": "bash ./scripts/clean/server/test.sh",
  34. "i18n:update": "bash ./scripts/i18n/update.sh",
  35. "plugin:install": "node ./dist/scripts/plugin/install.js",
  36. "plugin:uninstall": "node ./dist/scripts/plugin/uninstall.js",
  37. "i18n:create-custom-files": "node ./dist/scripts/i18n/create-custom-files.js",
  38. "reset-password": "node ./dist/scripts/reset-password.js",
  39. "dev": "bash ./scripts/dev/index.sh",
  40. "dev:server": "bash ./scripts/dev/server.sh",
  41. "dev:embed": "bash ./scripts/dev/embed.sh",
  42. "dev:client": "bash ./scripts/dev/client.sh",
  43. "dev:cli": "bash ./scripts/dev/cli.sh",
  44. "start": "node dist/server",
  45. "start:server": "node dist/server --no-client",
  46. "update-host": "node ./dist/scripts/update-host.js",
  47. "create-transcoding-job": "node ./dist/scripts/create-transcoding-job.js",
  48. "regenerate-thumbnails": "node ./dist/scripts/regenerate-thumbnails.js",
  49. "create-import-video-file-job": "node ./dist/scripts/create-import-video-file-job.js",
  50. "create-move-video-storage-job": "node ./dist/scripts/create-move-video-storage-job.js",
  51. "print-transcode-command": "node ./dist/scripts/print-transcode-command.js",
  52. "test": "bash ./scripts/test.sh",
  53. "help": "bash ./scripts/help.sh",
  54. "generate-cli-doc": "bash ./scripts/generate-cli-doc.sh",
  55. "generate-types-package": "ts-node ./packages/types/generate-package.ts",
  56. "parse-log": "node ./dist/scripts/parse-log.js",
  57. "prune-storage": "node ./dist/scripts/prune-storage.js",
  58. "postinstall": "test -n \"$NOCLIENT\" || (cd client && yarn install --pure-lockfile)",
  59. "tsc": "tsc",
  60. "commander": "commander",
  61. "lint": "npm run ci -- lint",
  62. "ng": "ng",
  63. "ts-node": "ts-node",
  64. "eslint": "eslint",
  65. "resolve-tspaths": "resolve-tspaths",
  66. "resolve-tspaths:all": "npm run resolve-tspaths:server && npm run resolve-tspaths:cli",
  67. "resolve-tspaths:server": "npm run resolve-tspaths -- --project tsconfig.json --src . --out dist",
  68. "resolve-tspaths:cli": "npm run resolve-tspaths -- --project ./server/tools/tsconfig.json --src ./server/tools --out ./dist/server/tools",
  69. "concurrently": "concurrently",
  70. "mocha": "mocha",
  71. "ci": "bash ./scripts/ci.sh",
  72. "release": "bash ./scripts/release.sh",
  73. "release-embed-api": "bash ./scripts/release-embed-api.sh",
  74. "nightly": "bash ./scripts/nightly.sh",
  75. "openapi-clients": "bash ./scripts/openapi-clients.sh",
  76. "client-report": "bash ./scripts/client-report.sh",
  77. "swagger-cli": "swagger-cli"
  78. },
  79. "dependencies": {
  80. "@aws-sdk/client-s3": "^3.23.0",
  81. "@peertube/http-signature": "^1.4.0",
  82. "@uploadx/core": "^4.4.0",
  83. "async": "^3.0.1",
  84. "async-lru": "^1.1.1",
  85. "bcrypt": "5.0.1",
  86. "bencode": "^2.0.2",
  87. "bittorrent-tracker": "^9.0.0",
  88. "bluebird": "^3.5.0",
  89. "bull": "^4.1.0",
  90. "bytes": "^3.0.0",
  91. "chokidar": "^3.4.2",
  92. "commander": "^8.0.0",
  93. "config": "^3.0.0",
  94. "cookie-parser": "^1.4.3",
  95. "cors": "^2.8.1",
  96. "create-torrent": "^5.0.0",
  97. "deep-object-diff": "^1.1.0",
  98. "email-templates": "^8.0.3",
  99. "execa": "^5.1.1",
  100. "express": "^4.12.4",
  101. "express-rate-limit": "^5.0.0",
  102. "express-validator": "^6.4.0",
  103. "flat": "^5.0.0",
  104. "fluent-ffmpeg": "^2.1.0",
  105. "fs-extra": "^10.0.0",
  106. "got": "^11.8.2",
  107. "helmet": "^4.1.0",
  108. "hpagent": "^0.1.2",
  109. "http-problem-details": "^0.1.5",
  110. "ip-anonymize": "^0.1.0",
  111. "ipaddr.js": "2.0.1",
  112. "is-cidr": "^4.0.0",
  113. "iso-639-3": "2.2.0",
  114. "jimp": "^0.16.0",
  115. "js-yaml": "^4.0.0",
  116. "jsonld": "~5.2.0",
  117. "lodash": "^4.17.10",
  118. "lru-cache": "^6.0.0",
  119. "magnet-uri": "^6.1.0",
  120. "markdown-it": "^12.0.4",
  121. "markdown-it-emoji": "^2.0.0",
  122. "memoizee": "^0.4.14",
  123. "morgan": "^1.5.3",
  124. "multer": "^1.4.4",
  125. "node-media-server": "^2.1.4",
  126. "nodemailer": "^6.0.0",
  127. "oauth2-server": "3.1.1",
  128. "parse-torrent": "^9.1.0",
  129. "password-generator": "^2.0.2",
  130. "pem": "^1.12.3",
  131. "pfeed": "1.1.11",
  132. "pg": "^8.2.1",
  133. "prompt": "^1.0.0",
  134. "proxy-addr": "^2.0.7",
  135. "pug": "^3.0.0",
  136. "redis": "^4.0.1",
  137. "reflect-metadata": "^0.1.12",
  138. "sanitize-html": "2.x",
  139. "sequelize": "6.9.0",
  140. "sequelize-typescript": "^2.0.0-beta.1",
  141. "short-uuid": "^4.2.0",
  142. "sitemap": "^7.0.0",
  143. "socket.io": "^4.0.1",
  144. "sql-formatter": "^4.0.0-beta.0",
  145. "srt-to-vtt": "^1.1.2",
  146. "tsconfig-paths": "^3.9.0",
  147. "tslib": "^2.0.0",
  148. "useragent": "^2.3.0",
  149. "validator": "^13.0.0",
  150. "webfinger.js": "^2.6.6",
  151. "webtorrent": "^1.0.0",
  152. "winston": "3.3.3",
  153. "ws": "^8.0.0"
  154. },
  155. "devDependencies": {
  156. "@peertube/maildev": "^1.2.0",
  157. "@types/async": "^3.0.0",
  158. "@types/async-lock": "^1.1.0",
  159. "@types/bcrypt": "^5.0.0",
  160. "@types/bencode": "^2.0.0",
  161. "@types/bluebird": "^3.5.33",
  162. "@types/body-parser": "^1.16.3",
  163. "@types/bull": "^3.15.0",
  164. "@types/bytes": "^3.0.0",
  165. "@types/chai": "^4.0.4",
  166. "@types/chai-json-schema": "^1.4.3",
  167. "@types/chai-xml": "^0.3.1",
  168. "@types/config": "^0.0.40",
  169. "@types/create-torrent": "^5.0.0",
  170. "@types/express": "4.17.9",
  171. "@types/express-rate-limit": "^5.0.0",
  172. "@types/fluent-ffmpeg": "^2.1.16",
  173. "@types/fs-extra": "^9.0.1",
  174. "@types/lodash": "^4.14.64",
  175. "@types/lru-cache": "^5.1.0",
  176. "@types/magnet-uri": "^5.1.1",
  177. "@types/maildev": "^0.0.3",
  178. "@types/memoizee": "^0.4.2",
  179. "@types/mkdirp": "^1.0.0",
  180. "@types/mocha": "^9.0.0",
  181. "@types/morgan": "^1.7.32",
  182. "@types/multer": "^1.3.3",
  183. "@types/node": "^14.14.31",
  184. "@types/nodemailer": "^6.2.0",
  185. "@types/oauth2-server": "^3.0.8",
  186. "@types/pem": "^1.9.3",
  187. "@types/request": "^2.0.3",
  188. "@types/supertest": "^2.0.3",
  189. "@types/validator": "^13.0.0",
  190. "@types/webtorrent": "^0.109.0",
  191. "@types/ws": "^8.2.0",
  192. "@typescript-eslint/eslint-plugin": "^5.0.0",
  193. "autocannon": "^7.0.4",
  194. "chai": "^4.1.1",
  195. "chai-json-schema": "^1.5.0",
  196. "chai-xml": "^0.4.0",
  197. "concurrently": "^6.0.0",
  198. "depcheck": "^1.4.2",
  199. "eslint": "^8.0.0",
  200. "eslint-config-standard-with-typescript": "^21.0.1",
  201. "eslint-plugin-import": "^2.20.1",
  202. "eslint-plugin-node": "^11.0.0",
  203. "eslint-plugin-promise": "^6.0.0",
  204. "fast-xml-parser": "^4.0.0-beta.8",
  205. "mocha": "^9.0.0",
  206. "proxy": "^1.0.2",
  207. "resolve-tspaths": "^0.2.1",
  208. "socket.io-client": "^4.0.1",
  209. "supertest": "^6.0.1",
  210. "swagger-cli": "^4.0.2",
  211. "ts-node": "10.4.0",
  212. "tsc-watch": "^4.6.0",
  213. "typescript": "^4.0.5"
  214. },
  215. "resolutions": {
  216. "depcheck/@babel/parser": "7.16.4"
  217. },
  218. "bundlewatch": {
  219. "files": [
  220. {
  221. "path": "client/dist/en-US/*.js",
  222. "maxSize": "1mb"
  223. },
  224. {
  225. "path": "client/dist/standalone/videos/video-embed.bundle.js",
  226. "maxSize": "1mb"
  227. },
  228. {
  229. "path": "client/dist/standalone/videos/video-embed.css",
  230. "maxSize": "1mb"
  231. }
  232. ]
  233. }
  234. }