mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-02-20 11:48:31 -06:00
* WIP: resumable video uploads relates to #324 * fix review comments * video upload: error handling * fix audio upload * fixes after self review * Update server/controllers/api/videos/index.ts Co-authored-by: Rigel Kent <par@rigelk.eu> * Update server/middlewares/validators/videos/videos.ts Co-authored-by: Rigel Kent <par@rigelk.eu> * Update server/controllers/api/videos/index.ts Co-authored-by: Rigel Kent <par@rigelk.eu> * update after code review * refactor upload route - restore multipart upload route - move resumable to dedicated upload-resumable route - move checks to middleware - do not leak internal fs structure in response * fix yarn.lock upon rebase * factorize addVideo for reuse in both endpoints * add resumable upload API to openapi spec * add initial test and test helper for resumable upload * typings for videoAddResumable middleware * avoid including aws and google packages via node-uploadx, by only including uploadx/core * rename ex-isAudioBg to more explicit name mentioning it is a preview file for audio * add video-upload-tmp-folder-cleaner job * stronger typing of video upload middleware * reduce dependency to @uploadx/core * add audio upload test * refactor resumable uploads cleanup from job to scheduler * refactor resumable uploads scheduler to compare to last execution time * make resumable upload validator to always cleanup on failure * move legacy upload request building outside of uploadVideo test helper * filter upload-resumable middlewares down to POST, PUT, DELETE also begin to type metadata * merge add duration functions * stronger typings and documentation for uploadx behaviour, move init validator up * refactor(client/video-edit): options > uploadxOptions * refactor(client/video-edit): remove obsolete else * scheduler/remove-dangling-resum: rename tag * refactor(server/video): add UploadVideoFiles type * refactor(mw/validators): restructure eslint disable * refactor(mw/validators/videos): rename import * refactor(client/vid-upload): rename html elem id * refactor(sched/remove-dangl): move fn to method * refactor(mw/async): add method typing * refactor(mw/vali/video): double quote > single * refactor(server/upload-resum): express use > all * proper http methud enum server/middlewares/async.ts * properly type http methods * factorize common video upload validation steps * add check for maximum partially uploaded file size * fix audioBg use * fix extname(filename) in addVideo * document parameters for uploadx's resumable protocol * clear META files in scheduler * last audio refactor before cramming preview in the initial POST form data * refactor as mulitpart/form-data initial post request this allows preview/thumbnail uploads alongside the initial request, and cleans up the upload form * Add more tests for resumable uploads * Refactor remove dangling resumable uploads * Prepare changelog * Add more resumable upload tests * Remove user quota check for resumable uploads * Fix upload error handler * Update nginx template for upload-resumable * Cleanup comment * Remove unused express methods * Prefer to use got instead of raw http * Don't retry on error 500 Co-authored-by: Rigel Kent <par@rigelk.eu> Co-authored-by: Rigel Kent <sendmemail@rigelk.eu> Co-authored-by: Chocobozzz <me@florianbigard.com>
138 lines
4.3 KiB
JSON
138 lines
4.3 KiB
JSON
{
|
|
"name": "peertube-client",
|
|
"version": "3.1.0",
|
|
"private": true,
|
|
"license": "AGPL-3.0",
|
|
"author": {
|
|
"name": "Chocobozzz",
|
|
"email": "chocobozzz@framasoft.org",
|
|
"url": "http://github.com/Chocobozzz"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/Chocobozzz/PeerTube.git"
|
|
},
|
|
"scripts": {
|
|
"lint": "npm run lint-ts && npm run lint-scss",
|
|
"lint-ts": "tslint --project ./tsconfig.app.json -c ./tslint.json 'src/app/**/*.ts' 'src/standalone/**/*.ts'",
|
|
"lint-scss": "stylelint 'src/**/*.scss'",
|
|
"webpack": "webpack",
|
|
"tslint": "tslint",
|
|
"ng": "ng",
|
|
"webpack-bundle-analyzer": "webpack-bundle-analyzer",
|
|
"webdriver-manager": "webdriver-manager",
|
|
"ngx-extractor": "ngx-extractor",
|
|
"stylelint": "stylelint"
|
|
},
|
|
"typings": "*.d.ts",
|
|
"resolutions": {
|
|
"@types/mousetrap": "1.6.3"
|
|
},
|
|
"devDependencies": {
|
|
"@angular-devkit/build-angular": "^0.1102.2",
|
|
"@angular/animations": "^11.1.1",
|
|
"@angular/cdk": "^11.0.0",
|
|
"@angular/cli": "^11.1.2",
|
|
"@angular/common": "^11.1.1",
|
|
"@angular/compiler": "^11.1.1",
|
|
"@angular/compiler-cli": "^11.1.1",
|
|
"@angular/core": "^11.1.1",
|
|
"@angular/forms": "^11.1.1",
|
|
"@angular/localize": "^11.1.1",
|
|
"@angular/platform-browser": "^11.1.1",
|
|
"@angular/platform-browser-dynamic": "^11.1.1",
|
|
"@angular/router": "^11.1.1",
|
|
"@angular/service-worker": "^11.1.1",
|
|
"@neos21/bootstrap3-glyphicons": "^1.0.1",
|
|
"@ng-bootstrap/ng-bootstrap": "^9.0.2",
|
|
"@ng-select/ng-select": "^6.0.0",
|
|
"@ngx-i18nsupport/ngx-i18nsupport": "^1.1.6",
|
|
"@ngx-i18nsupport/tooling": "^8.0.3",
|
|
"@ngx-loading-bar/core": "^5.0.0",
|
|
"@ngx-loading-bar/http-client": "^5.0.0",
|
|
"@ngx-loading-bar/router": "^5.0.0",
|
|
"@ngx-meta/core": "^9.0.0",
|
|
"@types/chart.js": "^2.9.16",
|
|
"@types/core-js": "^2.5.2",
|
|
"@types/debug": "^4.1.5",
|
|
"@types/hls.js": "^0.13.0",
|
|
"@types/jasmine": "^3.3.15",
|
|
"@types/jasminewd2": "^2.0.3",
|
|
"@types/jschannel": "^1.0.0",
|
|
"@types/linkifyjs": "^2.1.2",
|
|
"@types/lodash-es": "^4.17.0",
|
|
"@types/markdown-it": "^12.0.1",
|
|
"@types/node": "^14.0.14",
|
|
"@types/sanitize-html": "1.27.1",
|
|
"@types/sha.js": "^2.4.0",
|
|
"@types/video.js": "^7.3.8",
|
|
"@types/webtorrent": "^0.109.0",
|
|
"angular2-hotkeys": "^2.1.2",
|
|
"angularx-qrcode": "11.0.0",
|
|
"bootstrap": "^4.1.3",
|
|
"buffer": "^6.0.2",
|
|
"cache-chunk-store": "^3.0.0",
|
|
"chart.js": "^2.9.3",
|
|
"codelyzer": "^6.0.0",
|
|
"core-js": "^3.1.4",
|
|
"css-loader": "^5.0.1",
|
|
"debug": "^4.3.1",
|
|
"dexie": "^3.0.0",
|
|
"file-loader": "^6.0.0",
|
|
"focus-visible": "^5.0.2",
|
|
"hls.js": "^0.14.16",
|
|
"html-loader": "^1.0.0",
|
|
"html-webpack-plugin": "^4.0.3",
|
|
"https-browserify": "^1.0.0",
|
|
"jasmine-core": "~3.7.1",
|
|
"jasmine-spec-reporter": "~7.0.0",
|
|
"jschannel": "^1.0.2",
|
|
"karma": "~6.3.2",
|
|
"karma-chrome-launcher": "~3.1.0",
|
|
"karma-coverage-istanbul-reporter": "~3.0.2",
|
|
"karma-jasmine": "~4.0.1",
|
|
"karma-jasmine-html-reporter": "^1.5.0",
|
|
"linkifyjs": "^2.1.5",
|
|
"lodash-es": "^4.17.4",
|
|
"markdown-it": "12.0.4",
|
|
"mini-css-extract-plugin": "^1.3.1",
|
|
"ngx-uploadx": "^4.1.0",
|
|
"p2p-media-loader-hlsjs": "^0.6.2",
|
|
"path-browserify": "^1.0.0",
|
|
"primeng": "^11.0.0-rc.1",
|
|
"process": "^0.11.10",
|
|
"protractor": "~7.0.0",
|
|
"purify-css": "^1.2.5",
|
|
"raw-loader": "^4.0.0",
|
|
"rxjs": "^6.5.2",
|
|
"sanitize-html": "^2.1.2",
|
|
"sass": "^1.29.0",
|
|
"sass-loader": "^10",
|
|
"sass-resources-loader": "^2.0.0",
|
|
"sha.js": "^2.4.11",
|
|
"socket.io-client": "^4.0.1",
|
|
"stream-browserify": "^3.0.0",
|
|
"stream-http": "^3.0.0",
|
|
"stylelint": "^13.13.0",
|
|
"stylelint-config-sass-guidelines": "^8.0.0",
|
|
"terser-webpack-plugin": "^4",
|
|
"ts-loader": "^8.0.14",
|
|
"tslib": "^2.0.0",
|
|
"tslint": "~6.1.0",
|
|
"tslint-angular": "^3.0.2",
|
|
"tslint-config-standard": "^9.0.0",
|
|
"typescript": "~4.1",
|
|
"video.js": "^7",
|
|
"videojs-contextmenu-pt": "^5.4.1",
|
|
"videojs-contrib-quality-levels": "^2.0.9",
|
|
"videojs-dock": "^2.0.2",
|
|
"videojs-hotkeys": "^0.2.27",
|
|
"videostream": "~3.2.1",
|
|
"webpack-bundle-analyzer": "^4.1.0",
|
|
"webpack-cli": "^4.2.0",
|
|
"webtorrent": "^0.116.1",
|
|
"whatwg-fetch": "^3.0.0",
|
|
"zone.js": "~0.11.3"
|
|
}
|
|
}
|