3 "description": "Federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser with WebTorrent and Angular.",
11 "redis-server": ">=2.8.18",
15 "peertube": "dist/server/tools/peertube.js"
19 "email": "chocobozzz@framasoft.org",
20 "url": "http://github.com/Chocobozzz"
24 "url": "git+https://github.com/Chocobozzz/PeerTube.git"
29 "e2e:local": "scripty",
30 "setup:cli": "scripty",
32 "build:embed": "scripty",
33 "build:server": "scripty",
34 "build:client": "scripty",
35 "clean:client": "scripty",
36 "clean:server": "scripty",
37 "clean:server:test": "scripty",
38 "danger:clean:dev": "scripty",
39 "danger:clean:prod": "scripty",
40 "danger:clean:modules": "scripty",
41 "i18n:update": "scripty",
42 "plugin:install": "node ./dist/scripts/plugin/install.js",
43 "plugin:uninstall": "node ./dist/scripts/plugin/uninstall.js",
44 "i18n:create-custom-files": "node ./dist/scripts/i18n/create-custom-files.js",
45 "reset-password": "node ./dist/scripts/reset-password.js",
47 "dev": "sh ./scripts/dev/index.sh",
48 "dev:server": "sh ./scripts/dev/server.sh",
49 "dev:embed": "scripty",
50 "dev:client": "sh ./scripts/dev/client.sh",
52 "start": "node dist/server",
53 "start:server": "node dist/server --no-client",
54 "update-host": "node ./dist/scripts/update-host.js",
55 "create-transcoding-job": "node ./dist/scripts/create-transcoding-job.js",
56 "create-import-video-file-job": "node ./dist/scripts/create-import-video-file-job.js",
59 "generate-cli-doc": "scripty",
60 "parse-log": "node ./dist/scripts/parse-log.js",
61 "prune-storage": "node ./dist/scripts/prune-storage.js",
62 "optimize-old-videos": "node ./dist/scripts/optimize-old-videos.js",
63 "postinstall": "test -n \"$NOCLIENT\" || (cd client && yarn install --pure-lockfile)",
65 "commander": "commander",
66 "lint": "npm run ci -- lint",
71 "concurrently": "concurrently",
72 "sasslint": "sass-lint --verbose --no-exit",
73 "sasslint:fix": "sass-lint-auto-fix -c .sass-lint.yml --verbose",
77 "release-embed-api": "scripty",
79 "openapi-clients": "scripty",
80 "client-report": "scripty",
81 "swagger-cli": "swagger-cli",
82 "sass-lint": "sass-lint"
85 "oauth2-server": "3.1.0-beta.1",
86 "http-signature": "1.3.5"
91 "async-lru": "^1.1.1",
93 "bittorrent-tracker": "^9.0.0",
95 "body-parser": "^1.12.4",
99 "commander": "^6.0.0",
101 "cookie-parser": "^1.4.3",
103 "create-torrent": "^4.0.0",
104 "deep-object-diff": "^1.1.0",
105 "email-templates": "^7.0.4",
106 "express": "^4.12.4",
107 "express-oauth-server": "^2.0.0",
108 "express-rate-limit": "^5.0.0",
109 "express-validator": "^6.4.0",
111 "fluent-ffmpeg": "^2.1.0",
112 "fs-extra": "^9.0.0",
114 "http-signature": "1.3.5",
115 "ip-anonymize": "^0.1.0",
116 "ipaddr.js": "2.0.0",
118 "iso-639-3": "^2.0.0",
122 "lodash": "^4.17.10",
123 "lru-cache": "^6.0.0",
124 "magnet-uri": "^6.1.0",
125 "markdown-it": "12.0.2",
126 "markdown-it-emoji": "^2.0.0",
127 "memoizee": "^0.4.14",
130 "node-media-server": "^2.1.4",
131 "nodemailer": "^6.0.0",
132 "oauth2-server": "3.1.0-beta.1",
133 "parse-torrent": "^9.1.0",
134 "password-generator": "^2.0.2",
141 "reflect-metadata": "^0.1.12",
142 "request": "^2.81.0",
143 "sanitize-html": "2.x",
145 "sequelize": "5.21.13",
146 "sequelize-typescript": "^1.0.0-beta.4",
148 "socket.io": "^3.0.2",
149 "srt-to-vtt": "^1.1.2",
150 "tsconfig-paths": "^3.9.0",
152 "useragent": "^2.3.0",
154 "validator": "^13.0.0",
155 "webfinger.js": "^2.6.6",
156 "webtorrent": "^0.111.0",
159 "youtube-dl": "^3.0.2"
162 "@openapitools/openapi-generator-cli": "^2.1.4",
163 "@types/apicache": "^1.2.0",
164 "@types/async": "^3.0.0",
165 "@types/async-lock": "^1.1.0",
166 "@types/bcrypt": "^3.0.0",
167 "@types/bluebird": "3.5.33",
168 "@types/body-parser": "^1.16.3",
169 "@types/bull": "3.14.4",
170 "@types/bytes": "^3.0.0",
171 "@types/chai": "^4.0.4",
172 "@types/chai-json-schema": "^1.4.3",
173 "@types/chai-xml": "^0.3.1",
174 "@types/config": "^0.0.36",
175 "@types/express": "^4.0.35",
176 "@types/express-rate-limit": "^5.0.0",
177 "@types/fluent-ffmpeg": "^2.1.16",
178 "@types/fs-extra": "^9.0.1",
179 "@types/libxmljs": "^0.18.0",
180 "@types/lodash": "^4.14.64",
181 "@types/lru-cache": "^5.1.0",
182 "@types/magnet-uri": "^5.1.1",
183 "@types/maildev": "^0.0.1",
184 "@types/memoizee": "^0.4.2",
185 "@types/mkdirp": "^1.0.0",
186 "@types/mocha": "^8.0.3",
187 "@types/morgan": "^1.7.32",
188 "@types/multer": "^1.3.3",
189 "@types/node": "^14.0.13",
190 "@types/nodemailer": "^6.2.0",
191 "@types/oauth2-server": "^3.0.8",
192 "@types/pem": "^1.9.3",
193 "@types/redis": "^2.8.5",
194 "@types/request": "^2.0.3",
195 "@types/supertest": "^2.0.3",
196 "@types/validator": "^13.0.0",
197 "@types/webtorrent": "^0.109.0",
198 "@types/ws": "^7.2.1",
199 "@typescript-eslint/eslint-plugin": "^4.8.1",
201 "chai-json-schema": "^1.5.0",
202 "chai-xml": "^0.4.0",
203 "concurrently": "^5.0.0",
205 "eslint-config-standard-with-typescript": "^19.0.1",
206 "eslint-plugin-import": "^2.20.1",
207 "eslint-plugin-node": "^11.0.0",
208 "eslint-plugin-promise": "^4.2.1",
209 "eslint-plugin-standard": "^4.0.1",
210 "libxmljs": "0.19.7",
211 "maildev": "^1.0.0-rc3",
213 "marked-man": "^0.7.0",
216 "socket.io-client": "^3.0.2",
217 "source-map-support": "^0.5.0",
218 "supertest": "^6.0.1",
219 "swagger-cli": "^4.0.2",
221 "typescript": "^4.0.5"
226 "sasslintConfig": "client/.sass-lint.yml",
228 "@server": "dist/server"
233 "path": "client/dist/en-US/*-es2015.js",
237 "path": "client/dist/standalone/videos/video-embed.bundle.js",
241 "path": "client/dist/standalone/videos/video-embed.css",