X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=package.json;h=90b3768ac8fd9cb815004d38b0638c2facb61094;hb=refs%2Fheads%2Fgitolite_local%2Fopen_instance;hp=a9e4a8b97a8b43a3658987bd04f9a5deb6a3c950;hpb=575fdcece562b914149f89f5a5b96ab206648f09;p=github%2FChocobozzz%2FPeerTube.git diff --git a/package.json b/package.json index a9e4a8b97..90b3768ac 100644 --- a/package.json +++ b/package.json @@ -1,99 +1,246 @@ { "name": "peertube", - "description": "Prototype of a decentralized video streaming platform using P2P (bittorent) directly in the web browser with WebTorrent and Angular 2.", - "version": "0.0.1", + "description": "Federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser with WebTorrent and Angular.", + "version": "3.0.1", "private": true, - "licence": "GPLv3", + "licence": "AGPL-3.0", "engines": { - "node": ">=4.2.0" + "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": { "type": "git", - "url": "git://github.com/Chocobozzz/PeerTube.git" + "url": "git+https://github.com/Chocobozzz/PeerTube.git" }, + "typings": "*.d.ts", "scripts": { - "build": "npm run build:client", - "build:client": "SCRIPTY_PARALLEL=true scripty", - "build:client:sass": "scripty", - "build:client:tsc": "scripty", - "clean": "npm run clean:client", - "clean:client": "SCRIPTY_PARALLEL=true scripty", - "clean:client:sass": "scripty", - "clean:client:tsc": "scripty", + "e2e": "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_PARALLEL=true scripty", - "watch:client:livereload": "scripty", - "watch:client:sass": "scripty", - "watch:client:tsc": "scripty", - "danger:clean:server": "scripty", + "danger:clean:dev": "scripty", + "danger:clean:prod": "scripty", "danger:clean:modules": "scripty", + "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", - "livereload": "livereload ./client", - "start": "node server", + "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", - "postinstall": "cd client && npm install" + "generate-cli-doc": "scripty", + "parse-log": "node ./dist/scripts/parse-log.js", + "prune-storage": "node ./dist/scripts/prune-storage.js", + "optimize-old-videos": "node ./dist/scripts/optimize-old-videos.js", + "postinstall": "test -n \"$NOCLIENT\" || (cd client && yarn install --pure-lockfile)", + "tsc": "tsc", + "commander": "commander", + "lint": "npm run ci -- lint", + "ng": "ng", + "nodemon": "nodemon", + "ts-node": "ts-node", + "eslint": "eslint", + "concurrently": "concurrently", + "sasslint": "sass-lint --verbose --no-exit", + "sasslint:fix": "sass-lint-auto-fix -c .sass-lint.yml --verbose", + "mocha": "mocha", + "ci": "scripty", + "release": "scripty", + "release-embed-api": "scripty", + "nightly": "scripty", + "openapi-clients": "scripty", + "client-report": "scripty", + "swagger-cli": "swagger-cli", + "sass-lint": "sass-lint" + }, + "resolutions": { + "oauth2-server": "3.1.0-beta.1", + "http-signature": "1.3.5" }, "dependencies": { - "async": "^1.2.1", - "bittorrent-tracker": "^8.0.0", + "apicache": "^1.4.0", + "async": "^3.0.1", + "async-lru": "^1.1.1", + "bcrypt": "5.0.0", + "bittorrent-tracker": "^9.0.0", + "bluebird": "^3.5.0", "body-parser": "^1.12.4", - "concurrently": "^2.0.0", - "config": "^1.14.0", - "debug": "^2.2.0", - "dezalgo": "^1.0.3", - "electron-spawn": "https://github.com/Chocobozzz/electron-spawn", + "bull": "^3.4.2", + "bytes": "^3.0.0", + "chokidar": "^3.4.2", + "commander": "^6.0.0", + "config": "^3.0.0", + "cookie-parser": "^1.4.3", + "cors": "^2.8.1", + "create-torrent": "^4.0.0", + "deep-object-diff": "^1.1.0", + "email-templates": "^7.0.4", "express": "^4.12.4", - "express-oauth-server": "https://github.com/Chocobozzz/express-oauth-server", - "express-validator": "^2.11.0", + "express-oauth-server": "^2.0.0", + "express-rate-limit": "^5.0.0", + "express-validator": "^6.4.0", + "flat": "^5.0.0", "fluent-ffmpeg": "^2.1.0", + "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", - "lodash": "^4.11.1", - "mkdirp": "^0.5.1", - "mongoose": "^4.0.5", + "jsonld": "~3.2.0", + "lodash": "^4.17.10", + "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", - "node-ipc": "^7.0.0", - "node-sass": "^3.4.2", - "openssl-wrapper": "^0.3.3", + "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", - "request": "^2.57.0", - "request-replay": "^1.0.2", - "scripty": "^1.5.0", - "segfault-handler": "^1.0.0", - "ursa": "^0.9.1", - "validator": "^5.0.0", - "webtorrent": "^0.93.2", - "winston": "^2.1.1", - "ws": "^1.0.1" + "pem": "^1.12.3", + "pfeed": "1.1.11", + "pg": "^8.2.1", + "prompt": "^1.0.0", + "pug": "^3.0.0", + "redis": "^3.0.2", + "reflect-metadata": "^0.1.12", + "request": "^2.81.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", + "tsconfig-paths": "^3.9.0", + "tslib": "^2.0.0", + "useragent": "^2.3.0", + "uuid": "^8.1.0", + "validator": "^13.0.0", + "webfinger.js": "^2.6.6", + "webtorrent": "^0.111.0", + "winston": "3.3.3", + "ws": "^7.0.0", + "youtube-dl": "^3.0.2" }, "devDependencies": { - "chai": "^3.3.0", - "livereload": "^0.4.1", - "mocha": "^2.3.3", - "standard": "^7.0.1", - "supertest": "^1.1.0" + "@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": "^3.0.0", + "@types/bluebird": "3.5.33", + "@types/body-parser": "^1.16.3", + "@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.36", + "@types/express": "^4.0.35", + "@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": "^1.0.0", + "@types/mocha": "^8.0.3", + "@types/morgan": "^1.7.32", + "@types/multer": "^1.3.3", + "@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/supertest": "^2.0.3", + "@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.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", + "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", + "supertest": "^6.0.1", + "swagger-cli": "^4.0.2", + "ts-node": "9.0.0", + "typescript": "^4.0.5" + }, + "scripty": { + "silent": true + }, + "sasslintConfig": "client/.sass-lint.yml", + "_moduleAliases": { + "@server": "dist/server" }, - "standard": { - "ignore": [ - "client/" - ], - "globals": [ - "alert", - "confirm", - "it", - "after", - "afterEach", - "before", - "beforeEach", - "describe", - "include" + "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" + } ] } }