diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 819b9a8f5..3d90b70b9 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -33,7 +33,7 @@ Some hints: ## Develop -Don't hesitate to talk about features you want to develop by creating an issue +Don't hesitate to talk about features you want to develop by creating/commenting an issue before you start working on them :). ### Prerequisites diff --git a/client/.angular-cli.json b/client/.angular-cli.json index 739a4c5a5..3bdc50492 100644 --- a/client/.angular-cli.json +++ b/client/.angular-cli.json @@ -7,11 +7,21 @@ { "root": "src", "outDir": "dist", - "deployUrl": "client/", "assets": [ - { "glob": "**/*", "input": "./assets/images", "output": "./client/assets/images" }, - { "input": "./manifest.json", "output": "./client/manifest.json" } + { + "glob": "**/*", + "input": "./assets/images", + "output": "./client/assets/images", + "allowOutsideOutDir": false + }, + { + "glob": "", + "input": "./manifest.json", + "output": "./manifest.json", + "allowOutsideOutDir": false + } ], + "deployUrl": "client/", "index": "index.html", "main": "main.ts", "polyfills": "polyfills.ts", @@ -19,6 +29,7 @@ "tsconfig": "tsconfig.app.json", "testTsconfig": "tsconfig.spec.json", "prefix": "app", + "serviceWorker": true, "styles": [ "sass/application.scss" ], @@ -32,8 +43,7 @@ "environments": { "dev": "environments/environment.ts", "prod": "environments/environment.prod.ts" - }, - "serviceWorker": true + } } ], "e2e": { diff --git a/client/package.json b/client/package.json index 39cd209e6..bddf2ce73 100644 --- a/client/package.json +++ b/client/package.json @@ -20,10 +20,12 @@ "webpack-bundle-analyzer": "webpack-bundle-analyzer" }, "license": "GPLv3", - "dependencies": {}, + "resolutions": { + "copy-webpack-plugin": "4.3.0" + }, "devDependencies": { "@angular/animations": "~5.2.2", - "@angular/cli": "^1.6.0", + "@angular/cli": "1.6.7", "@angular/common": "~5.2.2", "@angular/compiler": "~5.2.2", "@angular/compiler-cli": "~5.2.2", @@ -75,7 +77,7 @@ "standard": "^10.0.0", "tslint": "^5.7.0", "tslint-config-standard": "^7.0.0", - "typescript": "^2.6.2", + "typescript": "2.6", "uglifyjs-webpack-plugin": "^1.1.2", "video.js": "^6.2.0", "videojs-dock": "^2.0.2", diff --git a/client/src/app/app.module.ts b/client/src/app/app.module.ts index 1134d061b..34114b60b 100644 --- a/client/src/app/app.module.ts +++ b/client/src/app/app.module.ts @@ -1,9 +1,11 @@ import { NgModule } from '@angular/core' import { BrowserModule } from '@angular/platform-browser' +import { ServiceWorkerModule } from '@angular/service-worker' import { AboutModule } from '@app/about' import { ResetPasswordModule } from '@app/reset-password' import { MetaLoader, MetaModule, MetaStaticLoader, PageTitlePositioning } from '@ngx-meta/core' +import { environment } from '../environments/environment' import { AccountModule } from './account' @@ -24,7 +26,8 @@ export function metaFactory (): MetaLoader { applicationName: 'PeerTube', defaults: { title: 'PeerTube', - description: 'PeerTube, a decentralized video streaming platform using P2P (BitTorrent) directly in the web browser' + description: 'PeerTube, a federated (ActivityPub) video streaming platform ' + + 'using P2P (BitTorrent) directly in the web browser with WebTorrent and Angular. ' } }) } @@ -57,7 +60,9 @@ export function metaFactory (): MetaLoader { MetaModule.forRoot({ provide: MetaLoader, useFactory: (metaFactory) - }) + }), + + ServiceWorkerModule.register('/ngsw-worker.js', { enabled: environment.production }) ], providers: [ ] }) diff --git a/client/src/app/shared/video/abstract-video-list.scss b/client/src/app/shared/video/abstract-video-list.scss index 52797bc6c..0f0ff20f0 100644 --- a/client/src/app/shared/video/abstract-video-list.scss +++ b/client/src/app/shared/video/abstract-video-list.scss @@ -5,3 +5,27 @@ text-align: left; } } + +@media screen and (max-width: 400px) and (min-resolution: 1.5dppx) { + .videos { + text-align: center; + + /deep/ .video-miniature { + padding-right: 0; + height: 215px; + width: 100%; + + .video-miniature-information { + width: 100%; + } + + /deep/ .video-thumbnail { + width: 100%; + + img { + width: 100%; + } + } + } + } +} diff --git a/client/src/index.html b/client/src/index.html index 61a8d2ed1..8ff89f6a4 100644 --- a/client/src/index.html +++ b/client/src/index.html @@ -8,7 +8,7 @@ - + diff --git a/client/src/manifest.json b/client/src/manifest.json index ac5eac647..a9e885739 100644 --- a/client/src/manifest.json +++ b/client/src/manifest.json @@ -42,5 +42,5 @@ ], "name": "PeerTube", "short_name": "PeerTube", - "start_url": "/videos/recently-added" + "start_url": "." } diff --git a/client/src/ngsw-config.json b/client/src/ngsw-config.json new file mode 100644 index 000000000..47a116bb7 --- /dev/null +++ b/client/src/ngsw-config.json @@ -0,0 +1,30 @@ +{ + "index": "/index.html", + "assetGroups": [ + { + "name": "app", + "installMode": "prefetch", + "resources": { + "files": [ + "/index.html", + "/client/assets/images/favicon.png" + ], + "versionedFiles": [ + "/client/*.bundle.css", + "/client/*.bundle.js", + "/client/*.chunk.js" + ] + } + }, + { + "name": "assets", + "installMode": "lazy", + "updateMode": "prefetch", + "resources": { + "files": [ + "/client/assets/**" + ] + } + } + ] +} diff --git a/client/yarn.lock b/client/yarn.lock index 289a38502..cd4492150 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -2,7 +2,7 @@ # yarn lockfile v1 -"@angular-devkit/build-optimizer@~0.0.42": +"@angular-devkit/build-optimizer@0.0.42": version "0.0.42" resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.0.42.tgz#402b0dda4883db91e2381c3ddc55888408a7894e" dependencies: @@ -11,7 +11,7 @@ typescript "~2.6.2" webpack-sources "^1.0.1" -"@angular-devkit/core@~0.0.29": +"@angular-devkit/core@0.0.29": version "0.0.29" resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-0.0.29.tgz#6fb319b45a62eff172318cbe256fdb24ef20af2b" dependencies: @@ -20,7 +20,7 @@ rxjs "^5.5.6" source-map "^0.5.6" -"@angular-devkit/schematics@~0.0.52": +"@angular-devkit/schematics@0.0.52": version "0.0.52" resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-0.0.52.tgz#cbd2f42778b50d6422a254ffaec05ad4ef3cb6c0" dependencies: @@ -28,21 +28,21 @@ rxjs "^5.5.6" "@angular/animations@~5.2.2": - version "5.2.2" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-5.2.2.tgz#3364a0c4f355d3313dda9bde526e376c137fa169" + version "5.2.4" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-5.2.4.tgz#c5ec749d84a0434733a28a82c6cb6a4e15246201" dependencies: tslib "^1.7.1" -"@angular/cli@^1.6.0": - version "1.6.6" - resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-1.6.6.tgz#002119ab2ed804bbdc86075e0095eadda2a0baa0" +"@angular/cli@1.6.7": + version "1.6.7" + resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-1.6.7.tgz#e2323753c144b5de6c699bbebee688105a394641" dependencies: - "@angular-devkit/build-optimizer" "~0.0.42" - "@angular-devkit/core" "~0.0.29" - "@angular-devkit/schematics" "~0.0.52" + "@angular-devkit/build-optimizer" "0.0.42" + "@angular-devkit/core" "0.0.29" + "@angular-devkit/schematics" "0.0.52" "@ngtools/json-schema" "1.1.0" - "@ngtools/webpack" "1.9.6" - "@schematics/angular" "~0.1.17" + "@ngtools/webpack" "1.9.7" + "@schematics/angular" "0.1.17" autoprefixer "^7.2.3" chalk "~2.2.0" circular-dependency-plugin "^4.2.1" @@ -81,7 +81,6 @@ sass-loader "^6.0.6" semver "^5.1.0" silent-error "^1.0.0" - source-map-loader "^0.2.0" source-map-support "^0.4.1" style-loader "^0.13.1" stylus "^0.54.5" @@ -98,14 +97,14 @@ node-sass "^4.7.2" "@angular/common@~5.2.2": - version "5.2.2" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-5.2.2.tgz#24f0f21dbc29a8b2dbfe93d19ec5a18defca9edf" + version "5.2.4" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-5.2.4.tgz#a0ee6ef65f731196d3037bce515f7bbec90740d2" dependencies: tslib "^1.7.1" "@angular/compiler-cli@~5.2.2": - version "5.2.2" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-5.2.2.tgz#0929463252adcf3f8094b1689cc5cbdcb6f8ceaa" + version "5.2.4" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-5.2.4.tgz#6d236f8433abe6752441e20884e599e8aa13c567" dependencies: chokidar "^1.4.2" minimist "^1.2.0" @@ -113,48 +112,48 @@ tsickle "^0.26.0" "@angular/compiler@~5.2.2": - version "5.2.2" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-5.2.2.tgz#cf6ef310c5ca2fdae9551af62d10ab24d4feb51a" + version "5.2.4" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-5.2.4.tgz#f653176bf6c4e253b2c445a1e50941ffba009fb2" dependencies: tslib "^1.7.1" "@angular/core@~5.2.2": - version "5.2.2" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-5.2.2.tgz#54950023b971d9e01f6f6fdbc30d2b68e4d05eb2" + version "5.2.4" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-5.2.4.tgz#44a59bcea87b3aac9ce8ff2ff674fe9cb60e2041" dependencies: tslib "^1.7.1" "@angular/forms@~5.2.2": - version "5.2.2" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-5.2.2.tgz#eca24f15d96de285cd0726601db4bffec39c01f3" + version "5.2.4" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-5.2.4.tgz#a731087e147ca61f5051cbe22597a24d937c4852" dependencies: tslib "^1.7.1" "@angular/http@~5.2.2": - version "5.2.2" - resolved "https://registry.yarnpkg.com/@angular/http/-/http-5.2.2.tgz#d33c128d5737f8d701bbac3e7e23d831deec3457" + version "5.2.4" + resolved "https://registry.yarnpkg.com/@angular/http/-/http-5.2.4.tgz#da2764875196c3a2c8412457714057e56a6545e2" dependencies: tslib "^1.7.1" "@angular/language-service@^5.1.0": - version "5.2.2" - resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-5.2.2.tgz#2829214885096c4168566a9f74364a8fed641a49" + version "5.2.4" + resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-5.2.4.tgz#281631793671844ae8f6f9c0ec80b91d064db2d8" "@angular/platform-browser-dynamic@~5.2.2": - version "5.2.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.2.2.tgz#2ddd7fa28bb34ae9e181e6f286dfe4c96bde95a6" + version "5.2.4" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.2.4.tgz#708457c9aafb1b812187c95d10365685521314d4" dependencies: tslib "^1.7.1" "@angular/platform-browser@~5.2.2": - version "5.2.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-5.2.2.tgz#3eedcbbcc8c0e6c91eba7ed2b32de7c6679d9b62" + version "5.2.4" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-5.2.4.tgz#dcb2dc6083774dcf2e17c9e9d0653d87057bf732" dependencies: tslib "^1.7.1" "@angular/router@~5.2.2": - version "5.2.2" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-5.2.2.tgz#b0ffd7121290e8c01f20862b4a2638ebcebc61cf" + version "5.2.4" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-5.2.4.tgz#21b81958aaf8335454a55ba28ea37166edbcb042" dependencies: tslib "^1.7.1" @@ -172,9 +171,9 @@ version "1.1.0" resolved "https://registry.yarnpkg.com/@ngtools/json-schema/-/json-schema-1.1.0.tgz#c3a0c544d62392acc2813a42c8a0dc6f58f86922" -"@ngtools/webpack@1.9.6": - version "1.9.6" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-1.9.6.tgz#102c60ee4b8a84a26ddc1e2b334f327e91821a4d" +"@ngtools/webpack@1.9.7": + version "1.9.7" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-1.9.7.tgz#ef15b90142ddf2a2c9072fe3d58c6bf500163fe5" dependencies: chalk "~2.2.0" enhanced-resolve "^3.1.0" @@ -185,17 +184,17 @@ tree-kill "^1.0.0" webpack-sources "^1.1.0" -"@ngx-loading-bar/core@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@ngx-loading-bar/core/-/core-1.1.0.tgz#1a3b8df4ae8345192a5d9cc362268e4dbf46e686" +"@ngx-loading-bar/core@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@ngx-loading-bar/core/-/core-1.1.1.tgz#bcfc8e968f121ca431b4926dfd3465739f7076cd" dependencies: tslib "^1.7.1" "@ngx-loading-bar/http-client@^1.0.0-rc.1": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@ngx-loading-bar/http-client/-/http-client-1.1.0.tgz#362f14027a92a407a247abd0236c62f0136652ea" + version "1.1.1" + resolved "https://registry.yarnpkg.com/@ngx-loading-bar/http-client/-/http-client-1.1.1.tgz#22d4b3b674425087e2c764c4cba110d74593f498" dependencies: - "@ngx-loading-bar/core" "1.1.0" + "@ngx-loading-bar/core" "1.1.1" tslib "^1.7.1" "@ngx-meta/core@^5.0.0": @@ -204,7 +203,7 @@ dependencies: tslib "~1.8.1" -"@schematics/angular@~0.1.17": +"@schematics/angular@0.1.17": version "0.1.17" resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-0.1.17.tgz#084a7cbe2de6f94a856bd08d95c9d35ef8905e2b" dependencies: @@ -227,8 +226,8 @@ "@types/lodash" "*" "@types/lodash@*": - version "4.14.98" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.98.tgz#aaf012ae443e657e7885e605a4c1b340db160609" + version "4.14.102" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.102.tgz#586a3e22385fc79b07cef9c5a1c8a5387986fbc8" "@types/magnet-uri@*": version "5.1.1" @@ -241,8 +240,8 @@ resolved "https://registry.yarnpkg.com/@types/markdown-it/-/markdown-it-0.0.4.tgz#c5f67365916044b342dae8d702724788ba0b5b74" "@types/node@*", "@types/node@^9.3.0": - version "9.4.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-9.4.0.tgz#b85a0bcf1e1cc84eb4901b7e96966aedc6f078d1" + version "9.4.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-9.4.2.tgz#b109a6c4f64147ccf9476d9e1a6fbf69a10faeb8" "@types/parse-torrent-file@*": version "4.0.1" @@ -251,8 +250,8 @@ "@types/node" "*" "@types/parse-torrent@*": - version "5.8.1" - resolved "https://registry.yarnpkg.com/@types/parse-torrent/-/parse-torrent-5.8.1.tgz#012fe6f50d12ed23d86f10ea831a4f0e1b0aacb6" + version "5.8.2" + resolved "https://registry.yarnpkg.com/@types/parse-torrent/-/parse-torrent-5.8.2.tgz#53ab880e38ced2005a79948f0df0c8762539323e" dependencies: "@types/magnet-uri" "*" "@types/node" "*" @@ -312,9 +311,9 @@ acorn@^4.0.3: version "4.0.13" resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" -acorn@^5.0.0, acorn@^5.1.1, acorn@^5.2.1: - version "5.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.3.0.tgz#7446d39459c54fb49a80e6ee6478149b940ec822" +acorn@^5.0.0, acorn@^5.3.0, acorn@^5.4.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.4.1.tgz#fdc58d9d17f4a4e98d102ded826a9b9759125102" addr-to-ip-port@^1.0.1, addr-to-ip-port@^1.4.2: version "1.4.2" @@ -553,7 +552,7 @@ async@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" -async@^2.1.2, async@^2.1.4, async@^2.1.5, async@^2.4.1, async@^2.5.0: +async@^2.1.2, async@^2.1.4, async@^2.1.5, async@^2.4.1: version "2.6.0" resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4" dependencies: @@ -627,8 +626,8 @@ babel-code-frame@^6.16.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: js-tokens "^3.0.2" babel-generator@^6.18.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" + version "6.26.1" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" dependencies: babel-messages "^6.23.0" babel-runtime "^6.26.0" @@ -636,7 +635,7 @@ babel-generator@^6.18.0: detect-indent "^4.0.0" jsesc "^1.3.0" lodash "^4.17.4" - source-map "^0.5.6" + source-map "^0.5.7" trim-right "^1.0.1" babel-messages@^6.23.0: @@ -729,6 +728,14 @@ bencode@^1.0.0: dependencies: safe-buffer "^5.1.1" +bfj-node4@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/bfj-node4/-/bfj-node4-5.2.0.tgz#bd08350353f81d808d6a8352a15f5d9fb74ddec6" + dependencies: + bluebird "^3.5.1" + check-types "^7.3.0" + tryer "^1.0.0" + big.js@^3.1.3: version "3.2.0" resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" @@ -784,8 +791,8 @@ bittorrent-protocol@^2.1.5: xtend "^4.0.0" bittorrent-tracker@^9.0.0: - version "9.2.4" - resolved "https://registry.yarnpkg.com/bittorrent-tracker/-/bittorrent-tracker-9.2.4.tgz#737d585e8a6d7f3c5f8786a0855d51abae97d27b" + version "9.3.0" + resolved "https://registry.yarnpkg.com/bittorrent-tracker/-/bittorrent-tracker-9.3.0.tgz#356915265de4202e54069947e884f10e1942c6d3" dependencies: bencode "^1.0.0" bittorrent-peerid "^1.0.2" @@ -803,12 +810,12 @@ bittorrent-tracker@^9.0.0: run-series "^1.0.2" safe-buffer "^5.0.0" simple-get "^2.0.0" - simple-peer "^8.0.0" - simple-websocket "^5.0.0" + simple-peer "^8.3.0" + simple-websocket "^6.0.0" string2compact "^1.1.1" uniq "^1.0.1" unordered-array-remove "^1.0.2" - ws "^3.3.1" + ws "^4.0.0" xtend "^4.0.0" optionalDependencies: bufferutil "^3.0.0" @@ -837,7 +844,7 @@ block-stream@*: dependencies: inherits "~2.0.0" -bluebird@^3.4.7, bluebird@^3.5.0: +bluebird@^3.4.7, bluebird@^3.5.0, bluebird@^3.5.1: version "3.5.1" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" @@ -1128,12 +1135,12 @@ caniuse-api@^1.5.2: lodash.uniq "^4.5.0" caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: - version "1.0.30000800" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000800.tgz#a86e6bc23bd9a707d5df42f33e64d0495cfda218" + version "1.0.30000804" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000804.tgz#84feb42018fc64cf6aff6371e43115f292c00179" caniuse-lite@^1.0.30000791, caniuse-lite@^1.0.30000792: - version "1.0.30000792" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000792.tgz#d0cea981f8118f3961471afbb43c9a1e5bbf0332" + version "1.0.30000804" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000804.tgz#8729a143d65378e8936adbb161f550e9c49fc09d" caseless@~0.11.0: version "0.11.0" @@ -1176,6 +1183,10 @@ chalk@~2.2.0: escape-string-regexp "^1.0.5" supports-color "^4.0.0" +check-types@^7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/check-types/-/check-types-7.3.0.tgz#468f571a4435c24248f5fd0cb0e8d87c3c341e7d" + chokidar@^1.4.2, chokidar@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" @@ -1381,7 +1392,11 @@ commander@2.12.x: version "2.12.2" resolved "https://registry.yarnpkg.com/commander/-/commander-2.12.2.tgz#0f5946c427ed9ec0d91a46bb9def53e54650e555" -commander@^2.12.1, commander@^2.9.0, commander@~2.13.0: +commander@^2.12.1, commander@^2.13.0, commander@^2.9.0: + version "2.14.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.14.1.tgz#2235123e37af8ca3c65df45b026dbd357b01b9aa" + +commander@~2.13.0: version "2.13.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" @@ -1496,9 +1511,9 @@ copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" -copy-webpack-plugin@^4.1.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.3.1.tgz#19ba6370bf6f8e263cbd66185a2b79f2321a9302" +copy-webpack-plugin@4.3.0, copy-webpack-plugin@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.3.0.tgz#cfdf4d131c78d66917a1bb863f86630497aacf42" dependencies: cacache "^10.0.1" find-cache-dir "^1.0.0" @@ -2022,8 +2037,8 @@ domutils@1.5.1: domelementtype "1" domutils@^1.5.1: - version "1.6.2" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.6.2.tgz#1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff" + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" dependencies: dom-serializer "0" domelementtype "1" @@ -2051,13 +2066,13 @@ ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" -ejs@^2.5.6, ejs@^2.5.7: +ejs@^2.5.7: version "2.5.7" resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.7.tgz#cc872c168880ae3c7189762fd5ffc00896c9518a" electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.30: - version "1.3.31" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.31.tgz#00d832cba9fe2358652b0c48a8816c8e3a037e9f" + version "1.3.33" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.33.tgz#bf00703d62a7c65238136578c352d6c5c042a545" elliptic@^6.0.0: version "6.4.0" @@ -2321,10 +2336,10 @@ eslint@~3.19.0: user-home "^2.0.0" espree@^3.4.0: - version "3.5.2" - resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.2.tgz#756ada8b979e9dcfcdb30aad8d1a9304a905e1ca" + version "3.5.3" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.3.tgz#931e0af64e7fbbed26b050a29daad1fc64799fa6" dependencies: - acorn "^5.2.1" + acorn "^5.4.0" acorn-jsx "^3.0.0" esprima@^2.6.0: @@ -2443,7 +2458,7 @@ exports-loader@^0.6.3: loader-utils "^1.0.2" source-map "0.5.x" -express@^4.15.2, express@^4.16.2: +express@^4.16.2: version "4.16.2" resolved "https://registry.yarnpkg.com/express/-/express-4.16.2.tgz#e35c6dfe2d64b7dca0a5cd4f21781be3299e076c" dependencies: @@ -2584,9 +2599,9 @@ filename-regex@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" -filesize@^3.5.9: - version "3.5.11" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.11.tgz#1919326749433bb3cf77368bd158caabcc19e9ee" +filesize@^3.5.11: + version "3.6.0" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.0.tgz#22d079615624bb6fd3c04026120628a41b3f4efa" filestream@^4.0.0: version "4.1.3" @@ -2981,11 +2996,12 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" -gzip-size@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520" +gzip-size@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-4.1.0.tgz#8ae096257eabe7d69c45be2b67c448124ffb517c" dependencies: duplexer "^0.1.1" + pify "^3.0.0" handle-thing@^1.2.5: version "1.2.5" @@ -3214,8 +3230,8 @@ http-errors@1.6.2, http-errors@~1.6.2: statuses ">= 1.3.1 < 2" http-parser-js@>=0.4.0: - version "0.4.9" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.9.tgz#ea1a04fb64adff0242e9974f297dd4c3cad271e1" + version "0.4.10" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" http-proxy-middleware@~0.17.4: version "0.17.4" @@ -3392,8 +3408,8 @@ ipaddr.js@1.5.2: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.5.2.tgz#d4b505bde9946987ccf0fc58d9010ff9607e3fa0" "ipaddr.js@>= 0.1.5", ipaddr.js@^1.0.1: - version "1.5.4" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.5.4.tgz#962263d9d26132956fc5c630b638a30d3cdffc14" + version "1.6.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.6.0.tgz#e3fa357b773da619f26e95f049d055c72796f86b" is-absolute-url@^2.0.0: version "2.1.0" @@ -3968,7 +3984,7 @@ loader-utils@1.1.0, loader-utils@^1.0.0, loader-utils@^1.0.1, loader-utils@^1.0. emojis-list "^2.0.0" json5 "^0.5.0" -loader-utils@^0.2.15, loader-utils@^0.2.16, loader-utils@~0.2.2: +loader-utils@^0.2.15, loader-utils@^0.2.16: version "0.2.17" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" dependencies: @@ -3985,8 +4001,8 @@ locate-path@^2.0.0: path-exists "^3.0.0" lodash-es@^4.17.4: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.4.tgz#dcc1d7552e150a0640073ba9cb31d70f032950e7" + version "4.17.5" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.5.tgz#9fc6e737b1c4d151d8f9cae2247305d552ce748f" lodash._baseassign@^3.0.0: version "3.2.0" @@ -4079,8 +4095,8 @@ lodash.memoize@^4.1.2: resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" lodash.mergewith@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz#150cf0a16791f5903b8891eab154609274bdea55" + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927" lodash.restparam@^3.0.0: version "3.6.1" @@ -4095,8 +4111,8 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" lodash@^4.0.0, lodash@^4.11.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.3.0, lodash@~4.17.4: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" + version "4.17.5" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" loglevel@^1.4.1: version "1.6.1" @@ -4322,8 +4338,8 @@ mime@^2.2.0: resolved "https://registry.yarnpkg.com/mime/-/mime-2.2.0.tgz#161e541965551d3b549fa1114391e3a3d55b923b" mimic-fn@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" mimic-response@^1.0.0: version "1.0.0" @@ -4373,8 +4389,8 @@ mississippi@^1.3.0: through2 "^2.0.0" mixin-deep@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.0.tgz#47a8732ba97799457c8c1eca28f95132d7e8150a" + version "1.3.1" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" dependencies: for-in "^1.0.2" is-extendable "^1.0.1" @@ -5204,13 +5220,13 @@ postcss-load-plugins@^2.3.0: object-assign "^4.1.0" postcss-loader@^2.0.10: - version "2.0.10" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-2.0.10.tgz#090db0540140bd56a7a7f717c41bc29aeef4c674" + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-2.1.0.tgz#038c2d6d59753fef4667827fd3ae03f5dc5e6a7a" dependencies: loader-utils "^1.1.0" postcss "^6.0.0" postcss-load-config "^1.2.0" - schema-utils "^0.3.0" + schema-utils "^0.4.0" postcss-merge-idents@^2.1.5: version "2.1.7" @@ -5400,8 +5416,8 @@ postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0 supports-color "^3.2.3" postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.14, postcss@^6.0.16: - version "6.0.16" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.16.tgz#112e2fe2a6d2109be0957687243170ea5589e146" + version "6.0.17" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.17.tgz#e259a051ca513f81e9afd0c21f7f82eda50c65c5" dependencies: chalk "^2.3.0" source-map "^0.6.1" @@ -5446,8 +5462,8 @@ pretty-error@^2.0.2: utila "~0.4" primeng@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/primeng/-/primeng-5.0.2.tgz#05c4a4502efd4c3bc5d506aa01ae8eb30f9764db" + version "5.2.0" + resolved "https://registry.yarnpkg.com/primeng/-/primeng-5.2.0.tgz#f74c062f1c4eeaebf5b724b92395d71fe6954e19" process-nextick-args@~1.0.6: version "1.0.7" @@ -6128,7 +6144,7 @@ schema-utils@^0.3.0: dependencies: ajv "^5.0.0" -schema-utils@^0.4.2: +schema-utils@^0.4.0, schema-utils@^0.4.2: version "0.4.3" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.3.tgz#e2a594d3395834d5e15da22b48be13517859458e" dependencies: @@ -6317,7 +6333,7 @@ simple-get@^2.0.0, simple-get@^2.2.1: once "^1.3.1" simple-concat "^1.0.0" -simple-peer@^8.0.0: +simple-peer@^8.0.0, simple-peer@^8.3.0: version "8.3.0" resolved "https://registry.yarnpkg.com/simple-peer/-/simple-peer-8.3.0.tgz#b0820dbdddbf89257de34071fe9f0bafa5bea44f" dependencies: @@ -6333,16 +6349,16 @@ simple-sha1@^2.0.0, simple-sha1@^2.0.8, simple-sha1@^2.1.0: dependencies: rusha "^0.8.1" -simple-websocket@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/simple-websocket/-/simple-websocket-5.1.1.tgz#ad46492f95b80405b95dfe2a43d4586e8a571646" +simple-websocket@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/simple-websocket/-/simple-websocket-6.0.0.tgz#68db98e2bb7aa939428a31b02f9b6cab26f8ec81" dependencies: debug "^3.1.0" inherits "^2.0.1" randombytes "^2.0.3" readable-stream "^2.0.5" safe-buffer "^5.0.1" - ws "^3.3.1" + ws "^4.0.0" slash@^1.0.0: version "1.0.0" @@ -6423,14 +6439,6 @@ source-list-map@~0.1.7: version "0.1.8" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" -source-map-loader@^0.2.0: - version "0.2.3" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-0.2.3.tgz#d4b0c8cd47d54edce3e6bfa0f523f452b5b0e521" - dependencies: - async "^2.5.0" - loader-utils "~0.2.2" - source-map "~0.6.1" - source-map-resolve@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.3.1.tgz#610f6122a445b8dd51535a2a71b783dfc1248761" @@ -6470,7 +6478,7 @@ source-map@0.1.x, source-map@^0.1.38: dependencies: amdefine ">=0.0.4" -source-map@0.5.x, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3: +source-map@0.5.x, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1, source-map@~0.5.3: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" @@ -6567,10 +6575,10 @@ sshpk@^1.7.0: tweetnacl "~0.14.0" ssri@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.1.0.tgz#2cbf1df36b74d0fc91fcf89640a4b3e1d10b1899" + version "5.2.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.2.1.tgz#8b6eb873688759bd3c75a88dee74593d179bb73c" dependencies: - safe-buffer "^5.1.0" + safe-buffer "^5.1.1" standard-engine@~7.0.0: version "7.0.0" @@ -6964,6 +6972,10 @@ trim@0.0.1: dependencies: glob "^6.0.4" +tryer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.0.tgz#027b69fa823225e551cace3ef03b11f6ab37c1d7" + tsickle@^0.26.0: version "0.26.0" resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.26.0.tgz#40b30a2dd6abcb33b182e37596674bd1cfe4039c" @@ -7021,8 +7033,8 @@ tsutils@^1.4.0: resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-1.9.1.tgz#b9f9ab44e55af9681831d5f28d0aeeaf5c750cb0" tsutils@^2.12.1: - version "2.19.1" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.19.1.tgz#76d7ebdea9d7a7bf4a05f50ead3701b0168708d7" + version "2.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.21.0.tgz#43466a2283a0abce64e2209bc732ad72f8a04fab" dependencies: tslib "^1.8.1" @@ -7067,7 +7079,7 @@ typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" -typescript@^2.6.2, typescript@~2.6.2: +typescript@2.6, typescript@~2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.2.tgz#3c5b6fd7f6de0914269027f03c0946758f7673a4" @@ -7413,16 +7425,17 @@ wbuf@^1.1.0, wbuf@^1.7.2: minimalistic-assert "^1.0.0" webpack-bundle-analyzer@^2.9.1: - version "2.9.2" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.9.2.tgz#63ed86eb71cc4cda86f68e685a84530ba0126449" + version "2.10.0" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.10.0.tgz#d0646cda342939f6f05eb632a090abbd90317446" dependencies: - acorn "^5.1.1" - chalk "^1.1.3" - commander "^2.9.0" - ejs "^2.5.6" - express "^4.15.2" - filesize "^3.5.9" - gzip-size "^3.0.0" + acorn "^5.3.0" + bfj-node4 "^5.2.0" + chalk "^2.3.0" + commander "^2.13.0" + ejs "^2.5.7" + express "^4.16.2" + filesize "^3.5.11" + gzip-size "^4.1.0" lodash "^4.17.4" mkdirp "^0.5.1" opener "^1.4.3" @@ -7652,14 +7665,6 @@ write@^0.2.1: dependencies: mkdirp "^0.5.1" -ws@^3.3.1: - version "3.3.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" - dependencies: - async-limiter "~1.0.0" - safe-buffer "~5.1.0" - ultron "~1.1.0" - ws@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/ws/-/ws-4.0.0.tgz#bfe1da4c08eeb9780b986e0e4d10eccd7345999f" diff --git a/server/controllers/client.ts b/server/controllers/client.ts index 28b42911a..f07e421b4 100644 --- a/server/controllers/client.ts +++ b/server/controllers/client.ts @@ -11,7 +11,7 @@ const clientsRouter = express.Router() const distPath = join(root(), 'client', 'dist') const assetsImagesPath = join(root(), 'client', 'dist', 'client', 'assets', 'images') -const manifestPath = join(root(), 'client', 'dist', 'client', 'manifest.json') +const manifestPath = join(root(), 'client', 'dist', 'manifest.json') const embedPath = join(distPath, 'standalone', 'videos', 'embed.html') const indexPath = join(distPath, 'index.html') @@ -26,8 +26,8 @@ clientsRouter.use('/videos/embed', (req: express.Request, res: express.Response, }) // Static HTML/CSS/JS client files +clientsRouter.use('/manifest.json', express.static(manifestPath, { maxAge: STATIC_MAX_AGE })) clientsRouter.use('/client', express.static(distPath, { maxAge: STATIC_MAX_AGE })) -clientsRouter.use('/client/manifest.json', express.static(manifestPath, { maxAge: STATIC_MAX_AGE })) clientsRouter.use('/client/assets/images', express.static(assetsImagesPath, { maxAge: STATIC_MAX_AGE })) // 404 for static files not found