package.json 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  1. {
  2. "name": "peertube",
  3. "description": "PeerTube, an ActivityPub-federated video streaming platform using P2P directly in your web browser.",
  4. "version": "7.0.0",
  5. "private": true,
  6. "licence": "AGPL-3.0",
  7. "engines": {
  8. "node": ">=18.x",
  9. "yarn": ">=1.x"
  10. },
  11. "type": "module",
  12. "author": {
  13. "name": "Chocobozzz",
  14. "email": "chocobozzz@framasoft.org",
  15. "url": "http://github.com/Chocobozzz"
  16. },
  17. "repository": {
  18. "type": "git",
  19. "url": "git+https://github.com/Chocobozzz/PeerTube.git"
  20. },
  21. "typings": "*.d.ts",
  22. "workspaces": [
  23. "packages/*",
  24. "server"
  25. ],
  26. "scripts": {
  27. "install-node-dependencies": "yarn install --pure-lockfile",
  28. "benchmark-server": "tsx --conditions=peertube:tsx ./scripts/benchmark.ts",
  29. "benchmark-transcription": "tsx --conditions=peertube:tsx --tsconfig ./packages/transcription/tsconfig.json ./packages/transcription/src/benchmark.ts",
  30. "build:client": "bash ./scripts/build/client.sh",
  31. "build:embed": "bash ./scripts/build/embed.sh",
  32. "build:peertube-cli": "bash ./scripts/build/peertube-cli.sh",
  33. "build:peertube-runner": "bash ./scripts/build/peertube-runner.sh",
  34. "build:server": "bash ./scripts/build/server.sh",
  35. "build:tests": "bash ./scripts/build/tests.sh",
  36. "build": "bash ./scripts/build/index.sh",
  37. "ci": "bash ./scripts/ci.sh",
  38. "clean:client": "bash ./scripts/clean/client/index.sh",
  39. "clean:server:test": "bash ./scripts/clean/server/test.sh",
  40. "client-report": "bash ./scripts/client-report.sh",
  41. "client:build-stats": "tsx --conditions=peertube:tsx ./scripts/client-build-stats.ts",
  42. "commander": "commander",
  43. "concurrently": "concurrently",
  44. "create-generate-storyboard-job": "node ./dist/scripts/create-generate-storyboard-job.js",
  45. "create-import-video-file-job": "node ./dist/scripts/create-import-video-file-job.js",
  46. "create-move-video-storage-job": "node ./dist/scripts/create-move-video-storage-job.js",
  47. "dev:client": "bash ./scripts/dev/client.sh",
  48. "dev:embed": "bash ./scripts/dev/embed.sh",
  49. "dev:peertube-cli": "bash ./scripts/dev/peertube-cli.sh",
  50. "dev:peertube-runner": "bash ./scripts/dev/peertube-runner.sh",
  51. "dev:server": "bash ./scripts/dev/server.sh",
  52. "dev": "bash ./scripts/dev/index.sh",
  53. "e2e:browserstack": "bash ./scripts/e2e/browserstack.sh",
  54. "e2e:local": "bash ./scripts/e2e/local.sh",
  55. "eslint": "eslint",
  56. "generate-cli-doc": "bash ./scripts/generate-cli-doc.sh",
  57. "generate-code-contributors": "tsx --conditions=peertube:tsx ./scripts/generate-code-contributors.ts",
  58. "generate-types-package": "tsx --conditions=peertube:tsx ./packages/types-generator/generate-package.ts",
  59. "house-keeping": "LOGGER_LEVEL=warn node ./dist/scripts/house-keeping.js",
  60. "i18n:create-custom-files": "tsx --tsconfig ./scripts/tsconfig.json --conditions=peertube:tsx ./scripts/i18n/create-custom-files.ts",
  61. "i18n:update": "bash ./scripts/i18n/update.sh",
  62. "lint": "npm run ci -- lint",
  63. "mocha": "mocha",
  64. "ng": "ng",
  65. "nightly": "bash ./scripts/nightly.sh",
  66. "openapi-clients": "bash ./scripts/openapi-clients.sh",
  67. "parse-log": "node ./dist/scripts/parse-log.js",
  68. "plugin:install": "node ./dist/scripts/plugin/install.js",
  69. "plugin:uninstall": "node ./dist/scripts/plugin/uninstall.js",
  70. "postinstall": "test -n \"$NOCLIENT\" || (cd client && yarn install --pure-lockfile)",
  71. "prune-storage": "LOGGER_LEVEL=warn node ./dist/scripts/prune-storage.js",
  72. "regenerate-thumbnails": "node ./dist/scripts/regenerate-thumbnails.js",
  73. "release-embed-api": "bash ./scripts/release-embed-api.sh",
  74. "release": "bash ./scripts/release.sh",
  75. "reset-password": "node ./dist/scripts/reset-password.js",
  76. "resolve-tspaths:server-lib": "npm run resolve-tspaths -- --project server/tsconfig.lib.json --src server --out server/dist",
  77. "resolve-tspaths:server": "npm run resolve-tspaths -- --project server/tsconfig.json --src server --out dist",
  78. "resolve-tspaths:tests": "npm run resolve-tspaths -- --project packages/tests/tsconfig.json --src packages/tests/src --out packages/tests/dist",
  79. "resolve-tspaths": "resolve-tspaths",
  80. "simulate-many-viewers": "tsx --conditions=peertube:tsx ./scripts/simulate-many-viewers.ts",
  81. "start:server": "node dist/server --no-client",
  82. "start": "node dist/server",
  83. "swagger-cli": "swagger-cli",
  84. "test": "bash ./scripts/test.sh",
  85. "tsc": "tsc",
  86. "tsx": "tsx",
  87. "update-host": "node ./dist/scripts/update-host.js",
  88. "update-object-storage-url": "LOGGER_LEVEL=warn node ./dist/scripts/update-object-storage-url.js"
  89. },
  90. "resolutions": {
  91. "@types/express": "4.17.9",
  92. "@types/express-serve-static-core": "4.19.5"
  93. },
  94. "dependencies": {
  95. "@aws-sdk/client-s3": "^3.190.0",
  96. "@aws-sdk/lib-storage": "^3.190.0",
  97. "@aws-sdk/s3-request-presigner": "^3.345.0",
  98. "@commander-js/extra-typings": "^12.0.0",
  99. "@node-oauth/oauth2-server": "^5.1.0",
  100. "@opentelemetry/api": "^1.1.0",
  101. "@opentelemetry/exporter-jaeger": "^1.15.1",
  102. "@opentelemetry/exporter-prometheus": "~0.55.0",
  103. "@opentelemetry/instrumentation": "^0.52.1",
  104. "@opentelemetry/instrumentation-dns": "^0.38.0",
  105. "@opentelemetry/instrumentation-express": "^0.41.1",
  106. "@opentelemetry/instrumentation-fs": "^0.14.0",
  107. "@opentelemetry/instrumentation-http": "^0.52.1",
  108. "@opentelemetry/instrumentation-ioredis": "^0.42.0",
  109. "@opentelemetry/instrumentation-pg": "^0.43.0",
  110. "@opentelemetry/resources": "^1.15.1",
  111. "@opentelemetry/sdk-metrics": "^1.15.1",
  112. "@opentelemetry/sdk-trace-base": "^1.15.1",
  113. "@opentelemetry/sdk-trace-node": "^1.15.1",
  114. "@opentelemetry/semantic-conventions": "^1.15.1",
  115. "@peertube/bittorrent-tracker-server": "^11.1.2",
  116. "@peertube/feed": "^5.1.3",
  117. "@peertube/http-signature": "^1.7.0",
  118. "@smithy/node-http-handler": "^3.1.0",
  119. "@uploadx/core": "^6.0.0",
  120. "archiver": "^7.0.1",
  121. "async-mutex": "^0.5.0",
  122. "bcrypt": "5.1.1",
  123. "bencode": "^4.0.0",
  124. "bluebird": "^3.5.0",
  125. "bullmq": "^5.29.1",
  126. "bytes": "^3.0.0",
  127. "chokidar": "^3.4.2",
  128. "commander": "^12.0.0",
  129. "config": "^3.0.0",
  130. "cookie-parser": "^1.4.3",
  131. "cors": "^2.8.1",
  132. "create-torrent": "^6.0.15",
  133. "deep-object-diff": "^1.1.0",
  134. "email-templates": "^12.0.1",
  135. "execa": "^9.3.0",
  136. "express": "^4.18.1",
  137. "express-rate-limit": "^7.1.1",
  138. "express-validator": "^7.0.1",
  139. "flat": "^6.0.1",
  140. "fluent-ffmpeg": "^2.1.0",
  141. "fs-extra": "^11.1.0",
  142. "got": "^13.0.0",
  143. "got-ssrf": "^3.0.0",
  144. "helmet": "^7.0.0",
  145. "http-problem-details": "^0.1.5",
  146. "ioredis": "^5.2.3",
  147. "ip-anonymize": "^0.1.0",
  148. "ipaddr.js": "2.2.0",
  149. "iso-639-3": "3.0.1",
  150. "jimp": "^0.22.4",
  151. "js-yaml": "^4.0.0",
  152. "jsonld": "~8.3.1",
  153. "jsonwebtoken": "^9.0.2",
  154. "linkify-it": "^5.0.0",
  155. "lodash-es": "^4.17.21",
  156. "lru-cache": "^10.0.1",
  157. "magnet-uri": "^7.0.5",
  158. "markdown-it": "^14.0.0",
  159. "markdown-it-emoji": "^3.0.0",
  160. "maxmind": "^4.3.6",
  161. "memoizee": "^0.4.14",
  162. "morgan": "^1.5.3",
  163. "multer": "^1.4.5-lts.1",
  164. "node-media-server": "^2.1.4",
  165. "nodemailer": "^6.0.0",
  166. "opentelemetry-instrumentation-sequelize": "^0.41.0",
  167. "otpauth": "^9.0.2",
  168. "p-queue": "^8.0.1",
  169. "parse-torrent": "^11.0.14",
  170. "password-generator": "^2.0.2",
  171. "pg": "^8.2.1",
  172. "piscina": "^4.1.0",
  173. "prompt": "^1.0.0",
  174. "proxy-addr": "^2.0.7",
  175. "pug": "^3.0.0",
  176. "reflect-metadata": "^0.2.1",
  177. "sanitize-html": "2.x",
  178. "sequelize": "6.37.3",
  179. "sequelize-typescript": "^2.0.0-beta.1",
  180. "short-uuid": "^5.2.0",
  181. "sitemap": "^8.0.0",
  182. "socket.io": "^4.5.4",
  183. "sql-formatter": "^15.2.0",
  184. "srt-to-vtt": "^1.1.2",
  185. "tslib": "^2.0.0",
  186. "useragent": "^2.3.0",
  187. "validator": "^13.0.0",
  188. "webfinger.js": "^2.6.6",
  189. "webtorrent": "2.1.27",
  190. "winston": "3.14.2",
  191. "ws": "^8.0.0",
  192. "yauzl": "^3.1.0"
  193. },
  194. "devDependencies": {
  195. "@peertube/maildev": "^1.2.0",
  196. "@peertube/resolve-tspaths": "^0.8.14",
  197. "@types/archiver": "^6.0.2",
  198. "@types/bcrypt": "^5.0.0",
  199. "@types/bencode": "^2.0.0",
  200. "@types/bluebird": "^3.5.33",
  201. "@types/body-parser": "^1.16.3",
  202. "@types/bytes": "^3.0.0",
  203. "@types/chai": "^4.0.4",
  204. "@types/chai-json-schema": "^1.4.3",
  205. "@types/chai-xml": "^0.3.1",
  206. "@types/config": "^3.3.0",
  207. "@types/create-torrent": "^5.0.0",
  208. "@types/express": "4.17.9",
  209. "@types/fluent-ffmpeg": "^2.1.16",
  210. "@types/fs-extra": "^11.0.1",
  211. "@types/jsonld": "^1.5.9",
  212. "@types/jsonwebtoken": "^9.0.5",
  213. "@types/linkify-it": "^5.0.0",
  214. "@types/lodash-es": "^4.17.8",
  215. "@types/magnet-uri": "^5.1.1",
  216. "@types/maildev": "^0.0.7",
  217. "@types/memoizee": "^0.4.2",
  218. "@types/mocha": "^10.0.0",
  219. "@types/morgan": "^1.7.32",
  220. "@types/multer": "^1.3.3",
  221. "@types/node": "^18.13.0",
  222. "@types/nodemailer": "^6.2.0",
  223. "@types/supertest": "^6.0.2",
  224. "@types/validator": "^13.9.0",
  225. "@types/webtorrent": "^0.109.0",
  226. "@types/ws": "^8.2.0",
  227. "@types/yauzl": "^2.10.3",
  228. "@typescript-eslint/eslint-plugin": "^7.0.2",
  229. "autocannon": "^7.0.4",
  230. "chai": "^5.1.0",
  231. "chai-json-schema": "^1.5.0",
  232. "chai-xml": "^0.4.0",
  233. "concurrently": "^8.0.1",
  234. "depcheck": "^1.4.2",
  235. "esbuild": "^0.23.0",
  236. "eslint": "8.56.0",
  237. "eslint-config-standard-with-typescript": "43.0.1",
  238. "eslint-plugin-import": "^2.20.1",
  239. "eslint-plugin-n": "^16.0.0",
  240. "eslint-plugin-promise": "^6.0.0",
  241. "fast-xml-parser": "^4.0.0-beta.8",
  242. "jpeg-js": "^0.4.4",
  243. "jszip": "^3.10.1",
  244. "mocha": "^10.0.0",
  245. "pixelmatch": "^6.0.0",
  246. "pngjs": "^7.0.0",
  247. "proxy": "^2.1.1",
  248. "rollup": "^4.20.0",
  249. "rollup-plugin-dts": "^6.1.1",
  250. "socket.io-client": "^4.5.4",
  251. "supertest": "^7.0.0",
  252. "swagger-cli": "^4.0.2",
  253. "tsc-watch": "^6.0.0",
  254. "tsx": "^4.7.1",
  255. "typescript": "~5.5.2"
  256. }
  257. }