aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorChocobozzz <florian.bigard@gmail.com>2017-12-11 17:36:46 +0100
committerChocobozzz <me@florianbigard.com>2017-12-12 10:58:16 +0100
commit63c4db6d71b98523753c51747e308682d9a2e8a0 (patch)
treed26c0d092ce016f2afe56bf71b08ca4698fe673f
parent908f6e5e38e85cc0debab0051b7fa34b13025f96 (diff)
downloadPeerTube-63c4db6d71b98523753c51747e308682d9a2e8a0.tar.gz
PeerTube-63c4db6d71b98523753c51747e308682d9a2e8a0.tar.zst
PeerTube-63c4db6d71b98523753c51747e308682d9a2e8a0.zip
Move to angular cli
-rw-r--r--client/.angular-cli.json66
-rw-r--r--client/.bootstraprc125
-rw-r--r--client/package.json12
-rw-r--r--client/src/app/+admin/follows/following-add/following-add.component.scss4
-rw-r--r--client/src/app/+admin/follows/shared/follow.service.ts13
-rw-r--r--client/src/app/+admin/index.ts1
-rw-r--r--client/src/app/+admin/jobs/job.routes.ts5
-rw-r--r--client/src/app/+admin/jobs/shared/job.service.ts4
-rw-r--r--client/src/app/+admin/users/shared/user.service.ts3
-rw-r--r--client/src/app/+admin/users/user-edit/user-edit.component.scss3
-rw-r--r--client/src/app/+admin/users/user-list/user-list.component.scss19
-rw-r--r--client/src/app/account/account-settings/account-change-password/account-change-password.component.scss3
-rw-r--r--client/src/app/account/account-settings/account-details/account-details.component.scss3
-rw-r--r--client/src/app/account/account-settings/account-settings.component.scss3
-rw-r--r--client/src/app/account/account-videos/account-videos.component.scss3
-rw-r--r--client/src/app/account/account.module.ts1
-rw-r--r--client/src/app/app-routing.module.ts2
-rw-r--r--client/src/app/app.component.scss3
-rw-r--r--client/src/app/app.module.ts84
-rw-r--r--client/src/app/app.resolver.ts20
-rw-r--r--client/src/app/app.service.ts48
-rw-r--r--client/src/app/core/auth/auth.service.ts10
-rw-r--r--client/src/app/core/core.module.ts1
-rw-r--r--client/src/app/core/server/server.service.ts6
-rw-r--r--client/src/app/environment.ts77
-rw-r--r--client/src/app/header/header.component.scss3
-rw-r--r--client/src/app/login/login.component.scss3
-rw-r--r--client/src/app/menu/menu.component.scss3
-rw-r--r--client/src/app/shared/account/account.model.ts3
-rw-r--r--client/src/app/shared/forms/form-validators/host.ts (renamed from client/src/app/shared/forms/form-validators/host.validator.ts)0
-rw-r--r--client/src/app/shared/forms/form-validators/index.ts2
-rw-r--r--client/src/app/shared/forms/form-validators/validator-message.ts5
-rw-r--r--client/src/app/shared/forms/form-validators/video.ts6
-rw-r--r--client/src/app/shared/misc/button.component.scss3
-rw-r--r--client/src/app/shared/users/user.service.ts8
-rw-r--r--client/src/app/shared/video-abuse/video-abuse.service.ts12
-rw-r--r--client/src/app/shared/video-blacklist/video-blacklist.service.ts13
-rw-r--r--client/src/app/shared/video/video-miniature.component.scss3
-rw-r--r--client/src/app/shared/video/video-thumbnail.component.scss3
-rw-r--r--client/src/app/shared/video/video.model.ts5
-rw-r--r--client/src/app/shared/video/video.service.ts6
-rw-r--r--client/src/app/signup/signup.component.scss3
-rw-r--r--client/src/app/videos/+video-edit/index.ts2
-rw-r--r--client/src/app/videos/+video-edit/shared/video-description.component.scss3
-rw-r--r--client/src/app/videos/+video-edit/shared/video-edit.component.scss3
-rw-r--r--client/src/app/videos/+video-edit/shared/video-edit.component.ts9
-rw-r--r--client/src/app/videos/+video-edit/video-add.component.scss3
-rw-r--r--client/src/app/videos/+video-edit/video-add.component.ts5
-rw-r--r--client/src/app/videos/+video-edit/video-update.component.ts6
-rw-r--r--client/src/app/videos/+video-watch/index.ts1
-rw-r--r--client/src/app/videos/+video-watch/video-download.component.scss3
-rw-r--r--client/src/app/videos/+video-watch/video-watch.component.scss3
-rw-r--r--client/src/app/videos/+video-watch/video-watch.component.ts4
-rw-r--r--client/src/app/videos/videos-routing.module.ts6
-rw-r--r--client/src/assets/player/peertube-videojs-plugin.ts4
-rw-r--r--client/src/custom-typings.d.ts134
-rw-r--r--client/src/environments/environment.prod.ts4
-rw-r--r--client/src/environments/environment.ts9
-rw-r--r--client/src/index.html6
-rw-r--r--client/src/main.browser.aot.ts35
-rw-r--r--client/src/main.browser.ts45
-rw-r--r--client/src/main.ts12
-rw-r--r--client/src/polyfills.browser.ts38
-rw-r--r--client/src/polyfills.ts66
-rw-r--r--client/src/sass/application.scss11
-rw-r--r--client/src/sass/include/_mixins.scss (renamed from client/src/sass/_mixins.scss)2
-rw-r--r--client/src/sass/include/_variables.scss (renamed from client/src/sass/_variables.scss)0
-rw-r--r--client/src/sass/pre-customizations.scss877
-rw-r--r--client/src/standalone/videos/embed.ts2
-rw-r--r--client/src/tsconfig.app.json13
-rw-r--r--client/src/typings.d.ts5
-rw-r--r--client/tsconfig.json33
-rw-r--r--client/tsconfig.webpack.json37
-rw-r--r--client/yarn.lock759
74 files changed, 1028 insertions, 1712 deletions
diff --git a/client/.angular-cli.json b/client/.angular-cli.json
new file mode 100644
index 000000000..3f94909e1
--- /dev/null
+++ b/client/.angular-cli.json
@@ -0,0 +1,66 @@
1{
2 "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3 "project": {
4 "name": "PeerTube"
5 },
6 "apps": [
7 {
8 "root": "src",
9 "outDir": "dist",
10 "deployUrl": "client/",
11 "assets": [
12 "assets"
13 ],
14 "index": "index.html",
15 "main": "main.ts",
16 "polyfills": "polyfills.ts",
17 "test": "test.ts",
18 "tsconfig": "tsconfig.app.json",
19 "testTsconfig": "tsconfig.spec.json",
20 "prefix": "app",
21 "styles": [
22 "sass/application.scss"
23 ],
24 "stylePreprocessorOptions": {
25 "includePaths": [
26 "sass/include"
27 ]
28 },
29 "scripts": [],
30 "environmentSource": "environments/environment.ts",
31 "environments": {
32 "dev": "environments/environment.ts",
33 "prod": "environments/environment.prod.ts"
34 }
35 }
36 ],
37 "e2e": {
38 "protractor": {
39 "config": "./protractor.conf.js"
40 }
41 },
42 "lint": [
43 {
44 "project": "src/tsconfig.app.json",
45 "exclude": "**/node_modules/**"
46 },
47 {
48 "project": "src/tsconfig.spec.json",
49 "exclude": "**/node_modules/**"
50 },
51 {
52 "project": "e2e/tsconfig.e2e.json",
53 "exclude": "**/node_modules/**"
54 }
55 ],
56 "test": {
57 "karma": {
58 "config": "./karma.conf.js"
59 }
60 },
61 "defaults": {
62 "styleExt": "scss",
63 "component": {
64 }
65 }
66}
diff --git a/client/.bootstraprc b/client/.bootstraprc
deleted file mode 100644
index cc6768d43..000000000
--- a/client/.bootstraprc
+++ /dev/null
@@ -1,125 +0,0 @@
1---
2# Output debugging info
3# loglevel: debug
4
5# Major version of Bootstrap: 3 or 4
6bootstrapVersion: 3
7
8# If Bootstrap version 3 is used - turn on/off custom icon font path
9useCustomIconFontPath: true
10
11# Webpack loaders, order matters
12styleLoaders:
13 - style-loader
14 - css-loader
15 - sass-loader
16
17# Extract styles to stand-alone css file
18# Different settings for different environments can be used,
19# It depends on value of NODE_ENV environment variable
20# This param can also be set in webpack config:
21# entry: 'bootstrap-loader/extractStyles'
22# extractStyles: false
23env:
24 development:
25 extractStyles: false
26 production:
27 extractStyles: true
28
29# Customize Bootstrap variables that get imported before the original Bootstrap variables.
30# Thus original Bootstrap variables can depend on values from here. All the bootstrap
31# variables are configured with !default, and thus, if you define the variable here, then
32# that value is used, rather than the default. However, many bootstrap variables are derived
33# from other bootstrap variables, and thus, you want to set this up before we load the
34# official bootstrap versions.
35# For example, _variables.scss contains:
36# $input-color: $gray !default;
37# This means you can define $input-color before we load _variables.scss
38preBootstrapCustomizations: ./src/sass/pre-customizations.scss
39
40# This gets loaded after bootstrap/variables is loaded and before bootstrap is loaded.
41# A good example of this is when you want to override a bootstrap variable to be based
42# on the default value of bootstrap. This is pretty specialized case. Thus, you normally
43# just override bootrap variables in preBootstrapCustomizations so that derived
44# variables will use your definition.
45#
46# For example, in _variables.scss:
47# $input-height: (($font-size-base * $line-height) + ($input-padding-y * 2) + ($border-width * 2)) !default;
48# This means that you could define this yourself in preBootstrapCustomizations. Or you can do
49# this in bootstrapCustomizations to make the input height 10% bigger than the default calculation.
50# Thus you can leverage the default calculations.
51# $input-height: $input-height * 1.10;
52# bootstrapCustomizations: ./app/styles/bootstrap/customizations.scss
53
54# Import your custom styles here. You have access to all the bootstrap variables. If you require
55# your sass files separately, you will not have access to the bootstrap variables, mixins, clases, etc.
56# Usually this endpoint-file contains list of @imports of your application styles.
57appStyles: ./src/sass/application.scss
58
59### Bootstrap styles
60styles:
61
62 # Mixins
63 mixins: true
64
65 # Reset and dependencies
66 normalize: true
67 print: true
68 glyphicons: true
69
70 # Core CSS
71 scaffolding: true
72 type: true
73 code: false
74 grid: true
75 tables: true
76 forms: true
77 buttons: true
78
79 # Components
80 component-animations: false
81 dropdowns: true
82 button-groups: true
83 input-groups: true
84 navs: true
85 navbar: false
86 breadcrumbs: false
87 pagination: false
88 pager: false
89 labels: false
90 badges: false
91 jumbotron: false
92 thumbnails: false
93 alerts: true
94 progress-bars: false
95 media: true
96 list-group: false
97 panels: true
98 wells: false
99 responsive-embed: false
100 close: true
101
102 # Components w/ JavaScript
103 modals: true
104 tooltip: false
105 popovers: false
106 carousel: false
107
108 # Utility classes
109 utilities: true
110 responsive-utilities: true
111
112### Bootstrap scripts
113scripts:
114 transition: false
115 alert: false
116 button: false
117 carousel: false
118 collapse: false
119 dropdown: false
120 modal: false
121 tooltip: false
122 popover: false
123 scrollspy: false
124 tab: false
125 affix: false
diff --git a/client/package.json b/client/package.json
index 7441d15ec..aa754a593 100644
--- a/client/package.json
+++ b/client/package.json
@@ -5,7 +5,7 @@
5 "licence": "GPLv3", 5 "licence": "GPLv3",
6 "author": { 6 "author": {
7 "name": "Florian Bigard", 7 "name": "Florian Bigard",
8 "email": "florian.bigard@gmail.com", 8 "email": "me@florianbigard.com",
9 "url": "http://github.com/Chocobozzz" 9 "url": "http://github.com/Chocobozzz"
10 }, 10 },
11 "repository": { 11 "repository": {
@@ -15,19 +15,21 @@
15 "scripts": { 15 "scripts": {
16 "lint": "standard && tslint --type-check --project ./tsconfig.json -c ./tslint.json 'src/app/**/*.ts'", 16 "lint": "standard && tslint --type-check --project ./tsconfig.json -c ./tslint.json 'src/app/**/*.ts'",
17 "webpack": "webpack", 17 "webpack": "webpack",
18 "webpack-dev-server": "webpack-dev-server", 18 "webpack-dev-server<": "webpack-dev-server",
19 "postinstall": "npm rebuild node-sass" 19 "postinstall": "npm rebuild node-sass"
20 }, 20 },
21 "license": "GPLv3", 21 "license": "GPLv3",
22 "dependencies": {}, 22 "dependencies": {},
23 "devDependencies": { 23 "devDependencies": {
24 "@angular/animations": "~4.4.0", 24 "@angular/animations": "~4.4.0",
25 "@angular/cli": "^1.6.0",
25 "@angular/common": "~4.4.0", 26 "@angular/common": "~4.4.0",
26 "@angular/compiler": "~4.4.0", 27 "@angular/compiler": "~4.4.0",
27 "@angular/compiler-cli": "~4.4.0", 28 "@angular/compiler-cli": "~4.4.0",
28 "@angular/core": "~4.4.0", 29 "@angular/core": "~4.4.0",
29 "@angular/forms": "~4.4.0", 30 "@angular/forms": "~4.4.0",
30 "@angular/http": "~4.4.0", 31 "@angular/http": "~4.4.0",
32 "@angular/language-service": "^5.1.0",
31 "@angular/platform-browser": "~4.4.0", 33 "@angular/platform-browser": "~4.4.0",
32 "@angular/platform-browser-dynamic": "~4.4.0", 34 "@angular/platform-browser-dynamic": "~4.4.0",
33 "@angular/router": "~4.4.0", 35 "@angular/router": "~4.4.0",
@@ -50,9 +52,7 @@
50 "babel-core": "^6.25.0", 52 "babel-core": "^6.25.0",
51 "babel-loader": "^7.1.0", 53 "babel-loader": "^7.1.0",
52 "babel-preset-env": "^1.5.2", 54 "babel-preset-env": "^1.5.2",
53 "bootstrap": "^3.3.6", 55 "bootstrap-sass": "^3.3.7",
54 "bootstrap-loader": "2.2.0",
55 "bootstrap-sass": "^3.3.6",
56 "codelyzer": "^3.0.0-beta.4", 56 "codelyzer": "^3.0.0-beta.4",
57 "copy-webpack-plugin": "^4.0.0", 57 "copy-webpack-plugin": "^4.0.0",
58 "core-js": "^2.4.1", 58 "core-js": "^2.4.1",
@@ -76,6 +76,7 @@
76 "ngx-pipes": "^2.0.5", 76 "ngx-pipes": "^2.0.5",
77 "node-sass": "^4.1.1", 77 "node-sass": "^4.1.1",
78 "normalize.css": "^7.0.0", 78 "normalize.css": "^7.0.0",
79 "npm-font-source-sans-pro": "^1.0.2",
79 "optimize-js-plugin": "0.0.4", 80 "optimize-js-plugin": "0.0.4",
80 "primeng": "^4.2.0", 81 "primeng": "^4.2.0",
81 "purify-css": "^1.2.5", 82 "purify-css": "^1.2.5",
@@ -88,7 +89,6 @@
88 "sass-resources-loader": "^1.2.1", 89 "sass-resources-loader": "^1.2.1",
89 "script-ext-html-webpack-plugin": "^1.3.2", 90 "script-ext-html-webpack-plugin": "^1.3.2",
90 "source-map-loader": "^0.2.1", 91 "source-map-loader": "^0.2.1",
91 "source-sans-pro": "^2.0.10",
92 "standard": "^10.0.0", 92 "standard": "^10.0.0",
93 "string-replace-loader": "^1.0.3", 93 "string-replace-loader": "^1.0.3",
94 "style-loader": "^0.19.0", 94 "style-loader": "^0.19.0",
diff --git a/client/src/app/+admin/follows/following-add/following-add.component.scss b/client/src/app/+admin/follows/following-add/following-add.component.scss
index 2cb3efe28..7594b502c 100644
--- a/client/src/app/+admin/follows/following-add/following-add.component.scss
+++ b/client/src/app/+admin/follows/following-add/following-add.component.scss
@@ -1,3 +1,6 @@
1@import '_variables';
2@import '_mixins';
3
1textarea { 4textarea {
2 height: 250px; 5 height: 250px;
3} 6}
@@ -6,4 +9,3 @@ input[type=submit] {
6 @include peertube-button; 9 @include peertube-button;
7 @include orange-button; 10 @include orange-button;
8} 11}
9
diff --git a/client/src/app/+admin/follows/shared/follow.service.ts b/client/src/app/+admin/follows/shared/follow.service.ts
index 0bfbe8eb6..3a430ff64 100644
--- a/client/src/app/+admin/follows/shared/follow.service.ts
+++ b/client/src/app/+admin/follows/shared/follow.service.ts
@@ -1,17 +1,16 @@
1import { Injectable } from '@angular/core'
2import { HttpClient, HttpParams } from '@angular/common/http' 1import { HttpClient, HttpParams } from '@angular/common/http'
3import { Observable } from 'rxjs/Observable' 2import { Injectable } from '@angular/core'
3import { SortMeta } from 'primeng/primeng'
4import 'rxjs/add/operator/catch' 4import 'rxjs/add/operator/catch'
5import 'rxjs/add/operator/map' 5import 'rxjs/add/operator/map'
6 6import { Observable } from 'rxjs/Observable'
7import { SortMeta } from 'primeng/primeng'
8
9import { RestExtractor, RestPagination, RestService } from '../../../shared'
10import { AccountFollow, ResultList } from '../../../../../../shared' 7import { AccountFollow, ResultList } from '../../../../../../shared'
8import { environment } from '../../../../environments/environment'
9import { RestExtractor, RestPagination, RestService } from '../../../shared'
11 10
12@Injectable() 11@Injectable()
13export class FollowService { 12export class FollowService {
14 private static BASE_APPLICATION_URL = API_URL + '/api/v1/server' 13 private static BASE_APPLICATION_URL = environment.apiUrl + '/api/v1/server'
15 14
16 constructor ( 15 constructor (
17 private authHttp: HttpClient, 16 private authHttp: HttpClient,
diff --git a/client/src/app/+admin/index.ts b/client/src/app/+admin/index.ts
deleted file mode 100644
index b628a3662..000000000
--- a/client/src/app/+admin/index.ts
+++ /dev/null
@@ -1 +0,0 @@
1export * from './admin.module'
diff --git a/client/src/app/+admin/jobs/job.routes.ts b/client/src/app/+admin/jobs/job.routes.ts
index a7bf2b221..331dc2af2 100644
--- a/client/src/app/+admin/jobs/job.routes.ts
+++ b/client/src/app/+admin/jobs/job.routes.ts
@@ -1,9 +1,6 @@
1import { Routes } from '@angular/router' 1import { Routes } from '@angular/router'
2
3import { UserRightGuard } from '../../core'
4import { FollowingAddComponent } from './following-add'
5import { UserRight } from '../../../../../shared' 2import { UserRight } from '../../../../../shared'
6import { FollowingListComponent } from './following-list/following-list.component' 3import { UserRightGuard } from '../../core'
7import { JobsComponent } from './job.component' 4import { JobsComponent } from './job.component'
8import { JobsListComponent } from './jobs-list/jobs-list.component' 5import { JobsListComponent } from './jobs-list/jobs-list.component'
9 6
diff --git a/client/src/app/+admin/jobs/shared/job.service.ts b/client/src/app/+admin/jobs/shared/job.service.ts
index 0cfbdbbea..61ee16077 100644
--- a/client/src/app/+admin/jobs/shared/job.service.ts
+++ b/client/src/app/+admin/jobs/shared/job.service.ts
@@ -6,12 +6,12 @@ import 'rxjs/add/operator/map'
6import { Observable } from 'rxjs/Observable' 6import { Observable } from 'rxjs/Observable'
7import { ResultList } from '../../../../../../shared' 7import { ResultList } from '../../../../../../shared'
8import { Job } from '../../../../../../shared/models/job.model' 8import { Job } from '../../../../../../shared/models/job.model'
9 9import { environment } from '../../../../environments/environment'
10import { RestExtractor, RestPagination, RestService } from '../../../shared' 10import { RestExtractor, RestPagination, RestService } from '../../../shared'
11 11
12@Injectable() 12@Injectable()
13export class JobService { 13export class JobService {
14 private static BASE_JOB_URL = API_URL + '/api/v1/jobs' 14 private static BASE_JOB_URL = environment.apiUrl + '/api/v1/jobs'
15 15
16 constructor ( 16 constructor (
17 private authHttp: HttpClient, 17 private authHttp: HttpClient,
diff --git a/client/src/app/+admin/users/shared/user.service.ts b/client/src/app/+admin/users/shared/user.service.ts
index dc77cc1d8..6536546fb 100644
--- a/client/src/app/+admin/users/shared/user.service.ts
+++ b/client/src/app/+admin/users/shared/user.service.ts
@@ -6,11 +6,12 @@ import 'rxjs/add/operator/catch'
6import 'rxjs/add/operator/map' 6import 'rxjs/add/operator/map'
7import { Observable } from 'rxjs/Observable' 7import { Observable } from 'rxjs/Observable'
8import { ResultList, UserCreate, UserUpdate } from '../../../../../../shared' 8import { ResultList, UserCreate, UserUpdate } from '../../../../../../shared'
9import { environment } from '../../../../environments/environment'
9import { RestExtractor, RestPagination, RestService, User } from '../../../shared' 10import { RestExtractor, RestPagination, RestService, User } from '../../../shared'
10 11
11@Injectable() 12@Injectable()
12export class UserService { 13export class UserService {
13 private static BASE_USERS_URL = API_URL + '/api/v1/users/' 14 private static BASE_USERS_URL = environment.apiUrl + '/api/v1/users/'
14 private bytesPipe = new BytesPipe() 15 private bytesPipe = new BytesPipe()
15 16
16 constructor ( 17 constructor (
diff --git a/client/src/app/+admin/users/user-edit/user-edit.component.scss b/client/src/app/+admin/users/user-edit/user-edit.component.scss
index 68d270c19..1bb1c5f0f 100644
--- a/client/src/app/+admin/users/user-edit/user-edit.component.scss
+++ b/client/src/app/+admin/users/user-edit/user-edit.component.scss
@@ -1,3 +1,6 @@
1@import '_variables';
2@import '_mixins';
3
1.admin-sub-title { 4.admin-sub-title {
2 margin-bottom: 30px; 5 margin-bottom: 30px;
3} 6}
diff --git a/client/src/app/+admin/users/user-list/user-list.component.scss b/client/src/app/+admin/users/user-list/user-list.component.scss
index 8b22f67ff..72d31a0cc 100644
--- a/client/src/app/+admin/users/user-list/user-list.component.scss
+++ b/client/src/app/+admin/users/user-list/user-list.component.scss
@@ -1,11 +1,14 @@
1 .add-button { 1@import '_variables';
2 @include peertube-button-link; 2@import '_mixins';
3 @include orange-button;
4 3
5 .icon.icon-add { 4.add-button {
6 @include icon(22px); 5 @include peertube-button-link;
6 @include orange-button;
7 7
8 margin-right: 3px; 8 .icon.icon-add {
9 background-image: url('../../../../assets/images/admin/add.svg'); 9 @include icon(22px);
10 } 10
11 margin-right: 3px;
12 background-image: url('../../../../assets/images/admin/add.svg');
11 } 13 }
14}
diff --git a/client/src/app/account/account-settings/account-change-password/account-change-password.component.scss b/client/src/app/account/account-settings/account-change-password/account-change-password.component.scss
index 7a4fdb34d..f8279ffd3 100644
--- a/client/src/app/account/account-settings/account-change-password/account-change-password.component.scss
+++ b/client/src/app/account/account-settings/account-change-password/account-change-password.component.scss
@@ -1,3 +1,6 @@
1@import '_variables';
2@import '_mixins';
3
1input[type=password] { 4input[type=password] {
2 @include peertube-input-text(340px); 5 @include peertube-input-text(340px);
3 display: block; 6 display: block;
diff --git a/client/src/app/account/account-settings/account-details/account-details.component.scss b/client/src/app/account/account-settings/account-details/account-details.component.scss
index 5c369f968..1bdb19a38 100644
--- a/client/src/app/account/account-settings/account-details/account-details.component.scss
+++ b/client/src/app/account/account-settings/account-details/account-details.component.scss
@@ -1,3 +1,6 @@
1@import '_variables';
2@import '_mixins';
3
1label { 4label {
2 font-size: 15px; 5 font-size: 15px;
3 font-weight: $font-regular; 6 font-weight: $font-regular;
diff --git a/client/src/app/account/account-settings/account-settings.component.scss b/client/src/app/account/account-settings/account-settings.component.scss
index f514809b0..7f1ade377 100644
--- a/client/src/app/account/account-settings/account-settings.component.scss
+++ b/client/src/app/account/account-settings/account-settings.component.scss
@@ -1,3 +1,6 @@
1@import '_variables';
2@import '_mixins';
3
1.user { 4.user {
2 display: flex; 5 display: flex;
3 6
diff --git a/client/src/app/account/account-videos/account-videos.component.scss b/client/src/app/account/account-videos/account-videos.component.scss
index 5459014a6..28b298c3d 100644
--- a/client/src/app/account/account-videos/account-videos.component.scss
+++ b/client/src/app/account/account-videos/account-videos.component.scss
@@ -1,3 +1,6 @@
1@import '_variables';
2@import '_mixins';
3
1.action-selection-mode { 4.action-selection-mode {
2 width: 174px; 5 width: 174px;
3 display: flex; 6 display: flex;
diff --git a/client/src/app/account/account.module.ts b/client/src/app/account/account.module.ts
index 020199e23..2299c1919 100644
--- a/client/src/app/account/account.module.ts
+++ b/client/src/app/account/account.module.ts
@@ -5,7 +5,6 @@ import { AccountChangePasswordComponent } from './account-settings/account-chang
5import { AccountDetailsComponent } from './account-settings/account-details/account-details.component' 5import { AccountDetailsComponent } from './account-settings/account-details/account-details.component'
6import { AccountSettingsComponent } from './account-settings/account-settings.component' 6import { AccountSettingsComponent } from './account-settings/account-settings.component'
7import { AccountComponent } from './account.component' 7import { AccountComponent } from './account.component'
8import { AccountService } from './account.service'
9import { AccountVideosComponent } from './account-videos/account-videos.component' 8import { AccountVideosComponent } from './account-videos/account-videos.component'
10 9
11@NgModule({ 10@NgModule({
diff --git a/client/src/app/app-routing.module.ts b/client/src/app/app-routing.module.ts
index fe72c9181..f31b51e23 100644
--- a/client/src/app/app-routing.module.ts
+++ b/client/src/app/app-routing.module.ts
@@ -11,7 +11,7 @@ const routes: Routes = [
11 }, 11 },
12 { 12 {
13 path: 'admin', 13 path: 'admin',
14 loadChildren: './+admin#AdminModule' 14 loadChildren: './+admin/admin.module#AdminModule'
15 } 15 }
16] 16]
17 17
diff --git a/client/src/app/app.component.scss b/client/src/app/app.component.scss
index c0ec2025d..2aadb1c97 100644
--- a/client/src/app/app.component.scss
+++ b/client/src/app/app.component.scss
@@ -1,3 +1,6 @@
1@import '_variables';
2@import '_mixins';
3
1.main-row { 4.main-row {
2 min-height: calc(100vh - #{$header-height} - #{$footer-height} - #{$footer-margin}); 5 min-height: calc(100vh - #{$header-height} - #{$footer-height} - #{$footer-margin});
3} 6}
diff --git a/client/src/app/app.module.ts b/client/src/app/app.module.ts
index 1326e3411..e69edbc4b 100644
--- a/client/src/app/app.module.ts
+++ b/client/src/app/app.module.ts
@@ -1,18 +1,10 @@
1import { ApplicationRef, NgModule } from '@angular/core' 1import { NgModule } from '@angular/core'
2import { BrowserModule } from '@angular/platform-browser' 2import { BrowserModule } from '@angular/platform-browser'
3import {
4 removeNgStyles,
5 createNewHosts,
6 createInputTransfer
7} from '@angularclass/hmr'
8 3
9import { MetaModule, MetaLoader, MetaStaticLoader, PageTitlePositioning } from '@ngx-meta/core' 4import { MetaModule, MetaLoader, MetaStaticLoader, PageTitlePositioning } from '@ngx-meta/core'
10import 'bootstrap-loader'
11 5
12import { ENV_PROVIDERS } from './environment'
13import { AppRoutingModule } from './app-routing.module' 6import { AppRoutingModule } from './app-routing.module'
14import { AppComponent } from './app.component' 7import { AppComponent } from './app.component'
15import { AppState, InternalStateType } from './app.service'
16 8
17import { AccountModule } from './account' 9import { AccountModule } from './account'
18import { CoreModule } from './core' 10import { CoreModule } from './core'
@@ -35,17 +27,6 @@ export function metaFactory (): MetaLoader {
35 }) 27 })
36} 28}
37 29
38type StoreType = {
39 state: InternalStateType,
40 restoreInputValues: () => void,
41 disposeOldHosts: () => void
42}
43
44// Application wide providers
45const APP_PROVIDERS = [
46 AppState
47]
48
49@NgModule({ 30@NgModule({
50 bootstrap: [ AppComponent ], 31 bootstrap: [ AppComponent ],
51 declarations: [ 32 declarations: [
@@ -74,65 +55,6 @@ const APP_PROVIDERS = [
74 useFactory: (metaFactory) 55 useFactory: (metaFactory)
75 }) 56 })
76 ], 57 ],
77 providers: [ // expose our Services and Providers into Angular's dependency injection 58 providers: [ ]
78 ENV_PROVIDERS,
79 APP_PROVIDERS
80 ]
81}) 59})
82export class AppModule { 60export class AppModule {}
83 constructor (
84 public appRef: ApplicationRef,
85 public appState: AppState
86 ) {}
87
88 public hmrOnInit (store: StoreType) {
89 if (!store || !store.state) {
90 return
91 }
92 console.log('HMR store', JSON.stringify(store, null, 2))
93 /**
94 * Set state
95 */
96 this.appState._state = store.state
97 /**
98 * Set input values
99 */
100 if ('restoreInputValues' in store) {
101 let restoreInputValues = store.restoreInputValues
102 setTimeout(restoreInputValues)
103 }
104
105 this.appRef.tick()
106 delete store.state
107 delete store.restoreInputValues
108 }
109
110 public hmrOnDestroy (store: StoreType) {
111 const cmpLocation = this.appRef.components.map((cmp) => cmp.location.nativeElement)
112 /**
113 * Save state
114 */
115 const state = this.appState._state
116 store.state = state
117 /**
118 * Recreate root elements
119 */
120 store.disposeOldHosts = createNewHosts(cmpLocation)
121 /**
122 * Save input values
123 */
124 store.restoreInputValues = createInputTransfer()
125 /**
126 * Remove styles
127 */
128 removeNgStyles()
129 }
130
131 public hmrAfterDestroy (store: StoreType) {
132 /**
133 * Display new elements
134 */
135 store.disposeOldHosts()
136 delete store.disposeOldHosts
137 }
138}
diff --git a/client/src/app/app.resolver.ts b/client/src/app/app.resolver.ts
deleted file mode 100644
index bc054e90b..000000000
--- a/client/src/app/app.resolver.ts
+++ /dev/null
@@ -1,20 +0,0 @@
1/* tslint:disable */
2
3import { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'
4import { Injectable } from '@angular/core'
5import { Observable } from 'rxjs/Observable'
6import 'rxjs/add/observable/of'
7
8@Injectable()
9export class DataResolver implements Resolve<any> {
10 public resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
11 return Observable.of({ res: 'I am data'})
12 }
13}
14
15/**
16 * An array of services to resolve routes with data.
17 */
18export const APP_RESOLVER_PROVIDERS = [
19 DataResolver
20]
diff --git a/client/src/app/app.service.ts b/client/src/app/app.service.ts
deleted file mode 100644
index abffc87f1..000000000
--- a/client/src/app/app.service.ts
+++ /dev/null
@@ -1,48 +0,0 @@
1/* tslint:disable */
2
3import { Injectable } from '@angular/core'
4
5export type InternalStateType = {
6 [key: string]: any
7}
8
9@Injectable()
10export class AppState {
11
12 public _state: InternalStateType = { }
13
14 /**
15 * Already return a clone of the current state.
16 */
17 public get state() {
18 return this._state = this._clone(this._state)
19 }
20 /**
21 * Never allow mutation
22 */
23 public set state(value) {
24 throw new Error('do not mutate the `.state` directly')
25 }
26
27 public get(prop?: any) {
28 /**
29 * Use our state getter for the clone.
30 */
31 const state = this.state
32 return state.hasOwnProperty(prop) ? state[prop] : state
33 }
34
35 public set(prop: string, value: any) {
36 /**
37 * Internally mutate our state.
38 */
39 return this._state[prop] = value
40 }
41
42 private _clone(object: InternalStateType) {
43 /**
44 * Simple object clone.
45 */
46 return JSON.parse(JSON.stringify( object ))
47 }
48}
diff --git a/client/src/app/core/auth/auth.service.ts b/client/src/app/core/auth/auth.service.ts
index e887dde1f..e2b8b6ba5 100644
--- a/client/src/app/core/auth/auth.service.ts
+++ b/client/src/app/core/auth/auth.service.ts
@@ -1,7 +1,6 @@
1import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http' 1import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http'
2import { Injectable } from '@angular/core' 2import { Injectable } from '@angular/core'
3import { Router } from '@angular/router' 3import { Router } from '@angular/router'
4
5import { NotificationsService } from 'angular2-notifications' 4import { NotificationsService } from 'angular2-notifications'
6import 'rxjs/add/observable/throw' 5import 'rxjs/add/observable/throw'
7import 'rxjs/add/operator/do' 6import 'rxjs/add/operator/do'
@@ -13,10 +12,9 @@ import { Subject } from 'rxjs/Subject'
13import { OAuthClientLocal, User as UserServerModel, UserRefreshToken, UserRole, VideoChannel } from '../../../../../shared' 12import { OAuthClientLocal, User as UserServerModel, UserRefreshToken, UserRole, VideoChannel } from '../../../../../shared'
14import { Account } from '../../../../../shared/models/accounts' 13import { Account } from '../../../../../shared/models/accounts'
15import { UserLogin } from '../../../../../shared/models/users/user-login.model' 14import { UserLogin } from '../../../../../shared/models/users/user-login.model'
16// Do not use the barrel (dependency loop) 15import { environment } from '../../../environments/environment'
17import { RestExtractor } from '../../shared/rest' 16import { RestExtractor } from '../../shared/rest'
18import { UserConstructorHash } from '../../shared/users/user.model' 17import { UserConstructorHash } from '../../shared/users/user.model'
19
20import { AuthStatus } from './auth-status.model' 18import { AuthStatus } from './auth-status.model'
21import { AuthUser } from './auth-user.model' 19import { AuthUser } from './auth-user.model'
22 20
@@ -43,9 +41,9 @@ interface UserLoginWithUserInformation extends UserLogin {
43 41
44@Injectable() 42@Injectable()
45export class AuthService { 43export class AuthService {
46 private static BASE_CLIENT_URL = API_URL + '/api/v1/oauth-clients/local' 44 private static BASE_CLIENT_URL = environment.apiUrl + '/api/v1/oauth-clients/local'
47 private static BASE_TOKEN_URL = API_URL + '/api/v1/users/token' 45 private static BASE_TOKEN_URL = environment.apiUrl + '/api/v1/users/token'
48 private static BASE_USER_INFORMATION_URL = API_URL + '/api/v1/users/me' 46 private static BASE_USER_INFORMATION_URL = environment.apiUrl + '/api/v1/users/me'
49 47
50 loginChangedSource: Observable<AuthStatus> 48 loginChangedSource: Observable<AuthStatus>
51 userInformationLoaded = new ReplaySubject<boolean>(1) 49 userInformationLoaded = new ReplaySubject<boolean>(1)
diff --git a/client/src/app/core/core.module.ts b/client/src/app/core/core.module.ts
index 75262e6cf..a58fe6ebe 100644
--- a/client/src/app/core/core.module.ts
+++ b/client/src/app/core/core.module.ts
@@ -11,7 +11,6 @@ import { AuthService } from './auth'
11import { LoginGuard, UserRightGuard } from './routing' 11import { LoginGuard, UserRightGuard } from './routing'
12import { ServerService } from './server' 12import { ServerService } from './server'
13import { ConfirmComponent, ConfirmService } from './confirm' 13import { ConfirmComponent, ConfirmService } from './confirm'
14import { MenuComponent, MenuAdminComponent } from './menu'
15import { throwIfAlreadyLoaded } from './module-import-guard' 14import { throwIfAlreadyLoaded } from './module-import-guard'
16 15
17@NgModule({ 16@NgModule({
diff --git a/client/src/app/core/server/server.service.ts b/client/src/app/core/server/server.service.ts
index 16e0595b6..a5be9e199 100644
--- a/client/src/app/core/server/server.service.ts
+++ b/client/src/app/core/server/server.service.ts
@@ -2,13 +2,13 @@ import { HttpClient } from '@angular/common/http'
2import { Injectable } from '@angular/core' 2import { Injectable } from '@angular/core'
3import 'rxjs/add/operator/do' 3import 'rxjs/add/operator/do'
4import { ReplaySubject } from 'rxjs/ReplaySubject' 4import { ReplaySubject } from 'rxjs/ReplaySubject'
5
6import { ServerConfig } from '../../../../../shared' 5import { ServerConfig } from '../../../../../shared'
6import { environment } from '../../../environments/environment'
7 7
8@Injectable() 8@Injectable()
9export class ServerService { 9export class ServerService {
10 private static BASE_CONFIG_URL = API_URL + '/api/v1/config/' 10 private static BASE_CONFIG_URL = environment.apiUrl + '/api/v1/config/'
11 private static BASE_VIDEO_URL = API_URL + '/api/v1/videos/' 11 private static BASE_VIDEO_URL = environment.apiUrl + '/api/v1/videos/'
12 12
13 videoPrivaciesLoaded = new ReplaySubject<boolean>(1) 13 videoPrivaciesLoaded = new ReplaySubject<boolean>(1)
14 videoCategoriesLoaded = new ReplaySubject<boolean>(1) 14 videoCategoriesLoaded = new ReplaySubject<boolean>(1)
diff --git a/client/src/app/environment.ts b/client/src/app/environment.ts
deleted file mode 100644
index dd327a62e..000000000
--- a/client/src/app/environment.ts
+++ /dev/null
@@ -1,77 +0,0 @@
1/* tslint:disable */
2
3/**
4 * Angular 2
5 */
6import {
7 enableDebugTools,
8 disableDebugTools
9} from '@angular/platform-browser';
10import {
11 ApplicationRef,
12 enableProdMode
13} from '@angular/core';
14/**
15 * Environment Providers
16 */
17let PROVIDERS: any[] = [
18 /**
19 * Common env directives
20 */
21];
22
23/**
24 * Angular debug tools in the dev console
25 * https://github.com/angular/angular/blob/86405345b781a9dc2438c0fbe3e9409245647019/TOOLS_JS.md
26 */
27let _decorateModuleRef = <T>(value: T): T => { return value; };
28
29if ('production' === ENV) {
30 enableProdMode();
31
32 /**
33 * Production
34 */
35 _decorateModuleRef = (modRef: any) => {
36 disableDebugTools();
37
38 return modRef;
39 };
40
41 PROVIDERS = [
42 ...PROVIDERS,
43 /**
44 * Custom providers in production.
45 */
46 ];
47
48} else {
49
50 _decorateModuleRef = (modRef: any) => {
51 const appRef = modRef.injector.get(ApplicationRef);
52 const cmpRef = appRef.components[0];
53
54 let _ng = (<any> window).ng;
55 enableDebugTools(cmpRef);
56 (<any> window).ng.probe = _ng.probe;
57 (<any> window).ng.coreTokens = _ng.coreTokens;
58 return modRef;
59 };
60
61 /**
62 * Development
63 */
64 PROVIDERS = [
65 ...PROVIDERS,
66 /**
67 * Custom providers in development.
68 */
69 ];
70
71}
72
73export const decorateModuleRef = _decorateModuleRef;
74
75export const ENV_PROVIDERS = [
76 ...PROVIDERS
77];
diff --git a/client/src/app/header/header.component.scss b/client/src/app/header/header.component.scss
index fba70dd2f..1b67042fc 100644
--- a/client/src/app/header/header.component.scss
+++ b/client/src/app/header/header.component.scss
@@ -1,3 +1,6 @@
1@import '_variables';
2@import '_mixins';
3
1#search-video { 4#search-video {
2 @include peertube-input-text($search-input-width); 5 @include peertube-input-text($search-input-width);
3 margin-right: 15px; 6 margin-right: 15px;
diff --git a/client/src/app/login/login.component.scss b/client/src/app/login/login.component.scss
index 3b4326de4..efec6b706 100644
--- a/client/src/app/login/login.component.scss
+++ b/client/src/app/login/login.component.scss
@@ -1,3 +1,6 @@
1@import '_variables';
2@import '_mixins';
3
1input:not([type=submit]) { 4input:not([type=submit]) {
2 @include peertube-input-text(340px); 5 @include peertube-input-text(340px);
3 display: block; 6 display: block;
diff --git a/client/src/app/menu/menu.component.scss b/client/src/app/menu/menu.component.scss
index 97ceadde3..8cb94b3dd 100644
--- a/client/src/app/menu/menu.component.scss
+++ b/client/src/app/menu/menu.component.scss
@@ -1,3 +1,6 @@
1@import '_variables';
2@import '_mixins';
3
1menu { 4menu {
2 background-color: $black-background; 5 background-color: $black-background;
3 margin: 0; 6 margin: 0;
diff --git a/client/src/app/shared/account/account.model.ts b/client/src/app/shared/account/account.model.ts
index 0b008188a..9d1fd3e1d 100644
--- a/client/src/app/shared/account/account.model.ts
+++ b/client/src/app/shared/account/account.model.ts
@@ -1,5 +1,6 @@
1import { Account as ServerAccount } from '../../../../../shared/models/accounts/account.model' 1import { Account as ServerAccount } from '../../../../../shared/models/accounts/account.model'
2import { Avatar } from '../../../../../shared/models/avatars/avatar.model' 2import { Avatar } from '../../../../../shared/models/avatars/avatar.model'
3import { environment } from '../../../environments/environment'
3 4
4export class Account implements ServerAccount { 5export class Account implements ServerAccount {
5 id: number 6 id: number
@@ -15,6 +16,6 @@ export class Account implements ServerAccount {
15 static GET_ACCOUNT_AVATAR_PATH (account: Account) { 16 static GET_ACCOUNT_AVATAR_PATH (account: Account) {
16 if (account && account.avatar) return account.avatar.path 17 if (account && account.avatar) return account.avatar.path
17 18
18 return API_URL + '/client/assets/images/default-avatar.png' 19 return environment.apiUrl + '/client/assets/images/default-avatar.png'
19 } 20 }
20} 21}
diff --git a/client/src/app/shared/forms/form-validators/host.validator.ts b/client/src/app/shared/forms/form-validators/host.ts
index c18a35f9b..c18a35f9b 100644
--- a/client/src/app/shared/forms/form-validators/host.validator.ts
+++ b/client/src/app/shared/forms/form-validators/host.ts
diff --git a/client/src/app/shared/forms/form-validators/index.ts b/client/src/app/shared/forms/form-validators/index.ts
index efe77d4ae..09ae86f8a 100644
--- a/client/src/app/shared/forms/form-validators/index.ts
+++ b/client/src/app/shared/forms/form-validators/index.ts
@@ -1,4 +1,4 @@
1export * from './host.validator' 1export * from './host'
2export * from './user' 2export * from './user'
3export * from './video-abuse' 3export * from './video-abuse'
4export * from './video' 4export * from './video'
diff --git a/client/src/app/shared/forms/form-validators/validator-message.ts b/client/src/app/shared/forms/form-validators/validator-message.ts
new file mode 100644
index 000000000..5ce45833b
--- /dev/null
+++ b/client/src/app/shared/forms/form-validators/validator-message.ts
@@ -0,0 +1,5 @@
1export type ValidatorMessage = {
2 [ id: string ]: {
3 [ error: string ]: string
4 }
5}
diff --git a/client/src/app/shared/forms/form-validators/video.ts b/client/src/app/shared/forms/form-validators/video.ts
index 45da7df4a..500b5bc5f 100644
--- a/client/src/app/shared/forms/form-validators/video.ts
+++ b/client/src/app/shared/forms/form-validators/video.ts
@@ -1,11 +1,5 @@
1import { Validators } from '@angular/forms' 1import { Validators } from '@angular/forms'
2 2
3export type ValidatorMessage = {
4 [ id: string ]: {
5 [ error: string ]: string
6 }
7}
8
9export const VIDEO_NAME = { 3export const VIDEO_NAME = {
10 VALIDATORS: [ Validators.required, Validators.minLength(3), Validators.maxLength(120) ], 4 VALIDATORS: [ Validators.required, Validators.minLength(3), Validators.maxLength(120) ],
11 MESSAGES: { 5 MESSAGES: {
diff --git a/client/src/app/shared/misc/button.component.scss b/client/src/app/shared/misc/button.component.scss
index 5fcae4f10..c380c7ae1 100644
--- a/client/src/app/shared/misc/button.component.scss
+++ b/client/src/app/shared/misc/button.component.scss
@@ -1,3 +1,6 @@
1@import '_variables';
2@import '_mixins';
3
1.action-button { 4.action-button {
2 @include peertube-button-link; 5 @include peertube-button-link;
3 6
diff --git a/client/src/app/shared/users/user.service.ts b/client/src/app/shared/users/user.service.ts
index 6d1017fc9..d97edbcbe 100644
--- a/client/src/app/shared/users/user.service.ts
+++ b/client/src/app/shared/users/user.service.ts
@@ -1,14 +1,14 @@
1import { Injectable } from '@angular/core'
2import { HttpClient } from '@angular/common/http' 1import { HttpClient } from '@angular/common/http'
2import { Injectable } from '@angular/core'
3import 'rxjs/add/operator/catch' 3import 'rxjs/add/operator/catch'
4import 'rxjs/add/operator/map' 4import 'rxjs/add/operator/map'
5
6import { RestExtractor } from '../rest'
7import { UserCreate, UserUpdateMe } from '../../../../../shared' 5import { UserCreate, UserUpdateMe } from '../../../../../shared'
6import { environment } from '../../../environments/environment'
7import { RestExtractor } from '../rest'
8 8
9@Injectable() 9@Injectable()
10export class UserService { 10export class UserService {
11 static BASE_USERS_URL = API_URL + '/api/v1/users/' 11 static BASE_USERS_URL = environment.apiUrl + '/api/v1/users/'
12 12
13 constructor ( 13 constructor (
14 private authHttp: HttpClient, 14 private authHttp: HttpClient,
diff --git a/client/src/app/shared/video-abuse/video-abuse.service.ts b/client/src/app/shared/video-abuse/video-abuse.service.ts
index 8d979de31..96a1f1fd2 100644
--- a/client/src/app/shared/video-abuse/video-abuse.service.ts
+++ b/client/src/app/shared/video-abuse/video-abuse.service.ts
@@ -1,19 +1,17 @@
1import { Injectable } from '@angular/core'
2import { HttpClient, HttpParams } from '@angular/common/http' 1import { HttpClient, HttpParams } from '@angular/common/http'
2import { Injectable } from '@angular/core'
3import { SortMeta } from 'primeng/components/common/sortmeta'
3import 'rxjs/add/operator/catch' 4import 'rxjs/add/operator/catch'
4import 'rxjs/add/operator/map' 5import 'rxjs/add/operator/map'
5import { Observable } from 'rxjs/Observable' 6import { Observable } from 'rxjs/Observable'
6 7import { ResultList, VideoAbuse } from '../../../../../shared'
7import { SortMeta } from 'primeng/components/common/sortmeta'
8
9import { AuthService } from '../core'
10import { RestExtractor, RestPagination, RestService } from '../rest' 8import { RestExtractor, RestPagination, RestService } from '../rest'
11import { Utils } from '../utils' 9import { Utils } from '../utils'
12import { ResultList, VideoAbuse } from '../../../../../shared' 10import { environment } from '../../../environments/environment'
13 11
14@Injectable() 12@Injectable()
15export class VideoAbuseService { 13export class VideoAbuseService {
16 private static BASE_VIDEO_ABUSE_URL = API_URL + '/api/v1/videos/' 14 private static BASE_VIDEO_ABUSE_URL = environment.apiUrl + '/api/v1/videos/'
17 15
18 constructor ( 16 constructor (
19 private authHttp: HttpClient, 17 private authHttp: HttpClient,
diff --git a/client/src/app/shared/video-blacklist/video-blacklist.service.ts b/client/src/app/shared/video-blacklist/video-blacklist.service.ts
index 17373d52e..1231690aa 100644
--- a/client/src/app/shared/video-blacklist/video-blacklist.service.ts
+++ b/client/src/app/shared/video-blacklist/video-blacklist.service.ts
@@ -1,18 +1,17 @@
1import { Injectable } from '@angular/core'
2import { HttpClient, HttpParams } from '@angular/common/http' 1import { HttpClient, HttpParams } from '@angular/common/http'
3import { Observable } from 'rxjs/Observable' 2import { Injectable } from '@angular/core'
3import { SortMeta } from 'primeng/components/common/sortmeta'
4import 'rxjs/add/operator/catch' 4import 'rxjs/add/operator/catch'
5import 'rxjs/add/operator/map' 5import 'rxjs/add/operator/map'
6 6import { Observable } from 'rxjs/Observable'
7import { SortMeta } from 'primeng/components/common/sortmeta' 7import { BlacklistedVideo, ResultList } from '../../../../../shared'
8 8import { environment } from '../../../environments/environment'
9import { RestExtractor, RestPagination, RestService } from '../rest' 9import { RestExtractor, RestPagination, RestService } from '../rest'
10import { Utils } from '../utils' 10import { Utils } from '../utils'
11import { BlacklistedVideo, ResultList } from '../../../../../shared'
12 11
13@Injectable() 12@Injectable()
14export class VideoBlacklistService { 13export class VideoBlacklistService {
15 private static BASE_VIDEOS_URL = API_URL + '/api/v1/videos/' 14 private static BASE_VIDEOS_URL = environment.apiUrl + '/api/v1/videos/'
16 15
17 constructor ( 16 constructor (
18 private authHttp: HttpClient, 17 private authHttp: HttpClient,
diff --git a/client/src/app/shared/video/video-miniature.component.scss b/client/src/app/shared/video/video-miniature.component.scss
index 37e84897b..49ba1e51c 100644
--- a/client/src/app/shared/video/video-miniature.component.scss
+++ b/client/src/app/shared/video/video-miniature.component.scss
@@ -1,3 +1,6 @@
1@import '_variables';
2@import '_mixins';
3
1.video-miniature { 4.video-miniature {
2 display: inline-block; 5 display: inline-block;
3 padding-right: 15px; 6 padding-right: 15px;
diff --git a/client/src/app/shared/video/video-thumbnail.component.scss b/client/src/app/shared/video/video-thumbnail.component.scss
index ab4f9bcb1..0fc2df220 100644
--- a/client/src/app/shared/video/video-thumbnail.component.scss
+++ b/client/src/app/shared/video/video-thumbnail.component.scss
@@ -1,3 +1,6 @@
1@import '_variables';
2@import '_mixins';
3
1.video-thumbnail { 4.video-thumbnail {
2 display: inline-block; 5 display: inline-block;
3 position: relative; 6 position: relative;
diff --git a/client/src/app/shared/video/video.model.ts b/client/src/app/shared/video/video.model.ts
index d86ef8f92..32c33829d 100644
--- a/client/src/app/shared/video/video.model.ts
+++ b/client/src/app/shared/video/video.model.ts
@@ -1,6 +1,7 @@
1import { Video as VideoServerModel } from '../../../../../shared'
2import { User } from '../' 1import { User } from '../'
2import { Video as VideoServerModel } from '../../../../../shared'
3import { Account } from '../../../../../shared/models/accounts' 3import { Account } from '../../../../../shared/models/accounts'
4import { environment } from '../../../environments/environment'
4 5
5export class Video implements VideoServerModel { 6export class Video implements VideoServerModel {
6 accountName: string 7 accountName: string
@@ -48,7 +49,7 @@ export class Video implements VideoServerModel {
48 } 49 }
49 50
50 constructor (hash: VideoServerModel) { 51 constructor (hash: VideoServerModel) {
51 let absoluteAPIUrl = API_URL 52 let absoluteAPIUrl = environment.apiUrl
52 if (!absoluteAPIUrl) { 53 if (!absoluteAPIUrl) {
53 // The API is on the same domain 54 // The API is on the same domain
54 absoluteAPIUrl = window.location.origin 55 absoluteAPIUrl = window.location.origin
diff --git a/client/src/app/shared/video/video.service.ts b/client/src/app/shared/video/video.service.ts
index 1a0644c3d..91dd3977a 100644
--- a/client/src/app/shared/video/video.service.ts
+++ b/client/src/app/shared/video/video.service.ts
@@ -9,9 +9,9 @@ import { UserVideoRateUpdate } from '../../../../../shared/models/videos/user-vi
9import { UserVideoRate } from '../../../../../shared/models/videos/user-video-rate.model' 9import { UserVideoRate } from '../../../../../shared/models/videos/user-video-rate.model'
10import { VideoRateType } from '../../../../../shared/models/videos/video-rate.type' 10import { VideoRateType } from '../../../../../shared/models/videos/video-rate.type'
11import { VideoUpdate } from '../../../../../shared/models/videos/video-update.model' 11import { VideoUpdate } from '../../../../../shared/models/videos/video-update.model'
12import { environment } from '../../../environments/environment'
12import { RestExtractor } from '../rest/rest-extractor.service' 13import { RestExtractor } from '../rest/rest-extractor.service'
13import { RestService } from '../rest/rest.service' 14import { RestService } from '../rest/rest.service'
14import { Search } from '../header/search.model'
15import { UserService } from '../users/user.service' 15import { UserService } from '../users/user.service'
16import { SortField } from './sort-field.type' 16import { SortField } from './sort-field.type'
17import { VideoDetails } from './video-details.model' 17import { VideoDetails } from './video-details.model'
@@ -21,7 +21,7 @@ import { Video } from './video.model'
21 21
22@Injectable() 22@Injectable()
23export class VideoService { 23export class VideoService {
24 private static BASE_VIDEO_URL = API_URL + '/api/v1/videos/' 24 private static BASE_VIDEO_URL = environment.apiUrl + '/api/v1/videos/'
25 25
26 constructor ( 26 constructor (
27 private authHttp: HttpClient, 27 private authHttp: HttpClient,
@@ -118,7 +118,7 @@ export class VideoService {
118 118
119 loadCompleteDescription (descriptionPath: string) { 119 loadCompleteDescription (descriptionPath: string) {
120 return this.authHttp 120 return this.authHttp
121 .get(API_URL + descriptionPath) 121 .get(environment.apiUrl + descriptionPath)
122 .map(res => res['description']) 122 .map(res => res['description'])
123 .catch((res) => this.restExtractor.handleError(res)) 123 .catch((res) => this.restExtractor.handleError(res))
124 } 124 }
diff --git a/client/src/app/signup/signup.component.scss b/client/src/app/signup/signup.component.scss
index 3b4326de4..efec6b706 100644
--- a/client/src/app/signup/signup.component.scss
+++ b/client/src/app/signup/signup.component.scss
@@ -1,3 +1,6 @@
1@import '_variables';
2@import '_mixins';
3
1input:not([type=submit]) { 4input:not([type=submit]) {
2 @include peertube-input-text(340px); 5 @include peertube-input-text(340px);
3 display: block; 6 display: block;
diff --git a/client/src/app/videos/+video-edit/index.ts b/client/src/app/videos/+video-edit/index.ts
deleted file mode 100644
index 63e0414dd..000000000
--- a/client/src/app/videos/+video-edit/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
1export * from './video-add.module'
2export * from './video-update.module'
diff --git a/client/src/app/videos/+video-edit/shared/video-description.component.scss b/client/src/app/videos/+video-edit/shared/video-description.component.scss
index 2a4c8d189..d6a5190c5 100644
--- a/client/src/app/videos/+video-edit/shared/video-description.component.scss
+++ b/client/src/app/videos/+video-edit/shared/video-description.component.scss
@@ -1,3 +1,6 @@
1@import '_variables';
2@import '_mixins';
3
1textarea { 4textarea {
2 @include peertube-input-text(100%); 5 @include peertube-input-text(100%);
3 6
diff --git a/client/src/app/videos/+video-edit/shared/video-edit.component.scss b/client/src/app/videos/+video-edit/shared/video-edit.component.scss
index d363499ce..f4466bdde 100644
--- a/client/src/app/videos/+video-edit/shared/video-edit.component.scss
+++ b/client/src/app/videos/+video-edit/shared/video-edit.component.scss
@@ -1,3 +1,6 @@
1@import '_variables';
2@import '_mixins';
3
1.video-edit { 4.video-edit {
2 height: 100%; 5 height: 100%;
3 6
diff --git a/client/src/app/videos/+video-edit/shared/video-edit.component.ts b/client/src/app/videos/+video-edit/shared/video-edit.component.ts
index 5b1cc3f9c..28c9134a7 100644
--- a/client/src/app/videos/+video-edit/shared/video-edit.component.ts
+++ b/client/src/app/videos/+video-edit/shared/video-edit.component.ts
@@ -2,12 +2,10 @@ import { Component, Input, OnInit } from '@angular/core'
2import { FormBuilder, FormControl, FormGroup } from '@angular/forms' 2import { FormBuilder, FormControl, FormGroup } from '@angular/forms'
3import { ActivatedRoute, Router } from '@angular/router' 3import { ActivatedRoute, Router } from '@angular/router'
4import { NotificationsService } from 'angular2-notifications' 4import { NotificationsService } from 'angular2-notifications'
5import { ServerService } from 'app/core'
6import { VideoEdit } from 'app/shared/video/video-edit.model'
7import 'rxjs/add/observable/forkJoin' 5import 'rxjs/add/observable/forkJoin'
8import { VideoPrivacy } from '../../../../../shared/models/videos/video-privacy.enum' 6import { ServerService } from '../../../core/server'
7import { ValidatorMessage } from '../../../shared/forms/form-validators/validator-message'
9import { 8import {
10 ValidatorMessage,
11 VIDEO_CATEGORY, 9 VIDEO_CATEGORY,
12 VIDEO_DESCRIPTION, 10 VIDEO_DESCRIPTION,
13 VIDEO_LANGUAGE, 11 VIDEO_LANGUAGE,
@@ -15,7 +13,8 @@ import {
15 VIDEO_NAME, 13 VIDEO_NAME,
16 VIDEO_PRIVACY, 14 VIDEO_PRIVACY,
17 VIDEO_TAGS 15 VIDEO_TAGS
18} from '../../../shared/forms/form-validators' 16} from '../../../shared/forms/form-validators/video'
17import { VideoEdit } from '../../../shared/video/video-edit.model'
19 18
20@Component({ 19@Component({
21 selector: 'my-video-edit', 20 selector: 'my-video-edit',
diff --git a/client/src/app/videos/+video-edit/video-add.component.scss b/client/src/app/videos/+video-edit/video-add.component.scss
index 39673b4b7..78140e0e9 100644
--- a/client/src/app/videos/+video-edit/video-add.component.scss
+++ b/client/src/app/videos/+video-edit/video-add.component.scss
@@ -1,3 +1,6 @@
1@import '_variables';
2@import '_mixins';
3
1.upload-video-container { 4.upload-video-container {
2 border-radius: 3px; 5 border-radius: 3px;
3 background-color: #F7F7F7; 6 background-color: #F7F7F7;
diff --git a/client/src/app/videos/+video-edit/video-add.component.ts b/client/src/app/videos/+video-edit/video-add.component.ts
index 2bbc3de17..503f705db 100644
--- a/client/src/app/videos/+video-edit/video-add.component.ts
+++ b/client/src/app/videos/+video-edit/video-add.component.ts
@@ -3,13 +3,12 @@ import { Component, OnInit, ViewChild } from '@angular/core'
3import { FormBuilder, FormGroup } from '@angular/forms' 3import { FormBuilder, FormGroup } from '@angular/forms'
4import { Router } from '@angular/router' 4import { Router } from '@angular/router'
5import { NotificationsService } from 'angular2-notifications' 5import { NotificationsService } from 'angular2-notifications'
6import { VideoService } from 'app/shared/video/video.service'
7import { VideoCreate } from '../../../../../shared'
8import { VideoPrivacy } from '../../../../../shared/models/videos' 6import { VideoPrivacy } from '../../../../../shared/models/videos'
9import { AuthService, ServerService } from '../../core' 7import { AuthService, ServerService } from '../../core'
10import { FormReactive } from '../../shared' 8import { FormReactive } from '../../shared'
11import { ValidatorMessage } from '../../shared/forms/form-validators' 9import { ValidatorMessage } from '../../shared/forms/form-validators/validator-message'
12import { VideoEdit } from '../../shared/video/video-edit.model' 10import { VideoEdit } from '../../shared/video/video-edit.model'
11import { VideoService } from '../../shared/video/video.service'
13 12
14@Component({ 13@Component({
15 selector: 'my-videos-add', 14 selector: 'my-videos-add',
diff --git a/client/src/app/videos/+video-edit/video-update.component.ts b/client/src/app/videos/+video-edit/video-update.component.ts
index d1da8b6d8..08b74f4c3 100644
--- a/client/src/app/videos/+video-edit/video-update.component.ts
+++ b/client/src/app/videos/+video-edit/video-update.component.ts
@@ -3,10 +3,10 @@ import { FormBuilder, FormGroup } from '@angular/forms'
3import { ActivatedRoute, Router } from '@angular/router' 3import { ActivatedRoute, Router } from '@angular/router'
4import { NotificationsService } from 'angular2-notifications' 4import { NotificationsService } from 'angular2-notifications'
5import 'rxjs/add/observable/forkJoin' 5import 'rxjs/add/observable/forkJoin'
6import { VideoPrivacy } from '../../../../../shared/models/videos/video-privacy.enum' 6import { VideoPrivacy } from '../../../../../shared/models/videos'
7import { ServerService } from '../../core' 7import { ServerService } from '../../core'
8import { FormReactive } from '../../shared' 8import { FormReactive } from '../../shared'
9import { ValidatorMessage } from '../../shared/forms/form-validators' 9import { ValidatorMessage } from '../../shared/forms/form-validators/validator-message'
10import { VideoEdit } from '../../shared/video/video-edit.model' 10import { VideoEdit } from '../../shared/video/video-edit.model'
11import { VideoService } from '../../shared/video/video.service' 11import { VideoService } from '../../shared/video/video.service'
12 12
@@ -25,8 +25,6 @@ export class VideoUpdateComponent extends FormReactive implements OnInit {
25 validationMessages: ValidatorMessage = {} 25 validationMessages: ValidatorMessage = {}
26 videoPrivacies = [] 26 videoPrivacies = []
27 27
28 fileError = ''
29
30 constructor ( 28 constructor (
31 private formBuilder: FormBuilder, 29 private formBuilder: FormBuilder,
32 private route: ActivatedRoute, 30 private route: ActivatedRoute,
diff --git a/client/src/app/videos/+video-watch/index.ts b/client/src/app/videos/+video-watch/index.ts
deleted file mode 100644
index b19bfdb1e..000000000
--- a/client/src/app/videos/+video-watch/index.ts
+++ /dev/null
@@ -1 +0,0 @@
1export * from './video-watch.module'
diff --git a/client/src/app/videos/+video-watch/video-download.component.scss b/client/src/app/videos/+video-watch/video-download.component.scss
index c9d5af9c1..7eac3d1c9 100644
--- a/client/src/app/videos/+video-watch/video-download.component.scss
+++ b/client/src/app/videos/+video-watch/video-download.component.scss
@@ -1,3 +1,6 @@
1@import '_variables';
2@import '_mixins';
3
1.resolution-block:not(:first-child) { 4.resolution-block:not(:first-child) {
2 margin-top: 30px; 5 margin-top: 30px;
3} 6}
diff --git a/client/src/app/videos/+video-watch/video-watch.component.scss b/client/src/app/videos/+video-watch/video-watch.component.scss
index 9daa757b4..52082944a 100644
--- a/client/src/app/videos/+video-watch/video-watch.component.scss
+++ b/client/src/app/videos/+video-watch/video-watch.component.scss
@@ -1,3 +1,6 @@
1@import '_variables';
2@import '_mixins';
3
1#video-container { 4#video-container {
2 background-color: #000; 5 background-color: #000;
3 display: flex; 6 display: flex;
diff --git a/client/src/app/videos/+video-watch/video-watch.component.ts b/client/src/app/videos/+video-watch/video-watch.component.ts
index bec6932ae..3825e8449 100644
--- a/client/src/app/videos/+video-watch/video-watch.component.ts
+++ b/client/src/app/videos/+video-watch/video-watch.component.ts
@@ -2,10 +2,9 @@ import { Component, ElementRef, OnDestroy, OnInit, ViewChild } from '@angular/co
2import { ActivatedRoute, Router } from '@angular/router' 2import { ActivatedRoute, Router } from '@angular/router'
3import { MetaService } from '@ngx-meta/core' 3import { MetaService } from '@ngx-meta/core'
4import { NotificationsService } from 'angular2-notifications' 4import { NotificationsService } from 'angular2-notifications'
5import { VideoService } from 'app/shared/video/video.service'
6import { Observable } from 'rxjs/Observable' 5import { Observable } from 'rxjs/Observable'
7import { Subscription } from 'rxjs/Subscription' 6import { Subscription } from 'rxjs/Subscription'
8import videojs from 'video.js' 7import * as videojs from 'video.js'
9import { UserVideoRateType, VideoRateType } from '../../../../../shared' 8import { UserVideoRateType, VideoRateType } from '../../../../../shared'
10import '../../../assets/player/peertube-videojs-plugin' 9import '../../../assets/player/peertube-videojs-plugin'
11import { AuthService, ConfirmService } from '../../core' 10import { AuthService, ConfirmService } from '../../core'
@@ -13,6 +12,7 @@ import { VideoBlacklistService } from '../../shared'
13import { Account } from '../../shared/account/account.model' 12import { Account } from '../../shared/account/account.model'
14import { VideoDetails } from '../../shared/video/video-details.model' 13import { VideoDetails } from '../../shared/video/video-details.model'
15import { Video } from '../../shared/video/video.model' 14import { Video } from '../../shared/video/video.model'
15import { VideoService } from '../../shared/video/video.service'
16import { MarkdownService } from '../shared' 16import { MarkdownService } from '../shared'
17import { VideoDownloadComponent } from './video-download.component' 17import { VideoDownloadComponent } from './video-download.component'
18import { VideoReportComponent } from './video-report.component' 18import { VideoReportComponent } from './video-report.component'
diff --git a/client/src/app/videos/videos-routing.module.ts b/client/src/app/videos/videos-routing.module.ts
index 6910421b7..29ec5fd4f 100644
--- a/client/src/app/videos/videos-routing.module.ts
+++ b/client/src/app/videos/videos-routing.module.ts
@@ -46,7 +46,7 @@ const videosRoutes: Routes = [
46 }, 46 },
47 { 47 {
48 path: 'upload', 48 path: 'upload',
49 loadChildren: 'app/videos/+video-edit#VideoAddModule', 49 loadChildren: 'app/videos/+video-edit/video-add.module#VideoAddModule',
50 data: { 50 data: {
51 meta: { 51 meta: {
52 title: 'Upload a video' 52 title: 'Upload a video'
@@ -55,7 +55,7 @@ const videosRoutes: Routes = [
55 }, 55 },
56 { 56 {
57 path: 'edit/:uuid', 57 path: 'edit/:uuid',
58 loadChildren: 'app/videos/+video-edit#VideoUpdateModule', 58 loadChildren: 'app/videos/+video-edit/video-update.module#VideoUpdateModule',
59 data: { 59 data: {
60 meta: { 60 meta: {
61 title: 'Edit a video' 61 title: 'Edit a video'
@@ -69,7 +69,7 @@ const videosRoutes: Routes = [
69 }, 69 },
70 { 70 {
71 path: 'watch/:uuid', 71 path: 'watch/:uuid',
72 loadChildren: 'app/videos/+video-watch#VideoWatchModule', 72 loadChildren: 'app/videos/+video-watch/video-watch.module#VideoWatchModule',
73 data: { 73 data: {
74 preload: 3000 74 preload: 3000
75 } 75 }
diff --git a/client/src/assets/player/peertube-videojs-plugin.ts b/client/src/assets/player/peertube-videojs-plugin.ts
index 4898c1efe..8b50e323e 100644
--- a/client/src/assets/player/peertube-videojs-plugin.ts
+++ b/client/src/assets/player/peertube-videojs-plugin.ts
@@ -1,6 +1,6 @@
1// Big thanks to: https://github.com/kmoskwiak/videojs-resolution-switcher 1// Big thanks to: https://github.com/kmoskwiak/videojs-resolution-switcher
2 2
3import videojs, { Player } from 'video.js' 3import * as videojs from 'video.js'
4import * as WebTorrent from 'webtorrent' 4import * as WebTorrent from 'webtorrent'
5import { VideoFile } from '../../../../shared' 5import { VideoFile } from '../../../../shared'
6 6
@@ -27,7 +27,7 @@ const webtorrent = new WebTorrent({ dht: false })
27 27
28const MenuItem = videojsUntyped.getComponent('MenuItem') 28const MenuItem = videojsUntyped.getComponent('MenuItem')
29const ResolutionMenuItem = videojsUntyped.extend(MenuItem, { 29const ResolutionMenuItem = videojsUntyped.extend(MenuItem, {
30 constructor: function (player: Player, options) { 30 constructor: function (player: videojs.Player, options) {
31 options.selectable = true 31 options.selectable = true
32 MenuItem.call(this, player, options) 32 MenuItem.call(this, player, options)
33 33
diff --git a/client/src/custom-typings.d.ts b/client/src/custom-typings.d.ts
deleted file mode 100644
index 882d15d54..000000000
--- a/client/src/custom-typings.d.ts
+++ /dev/null
@@ -1,134 +0,0 @@
1/* tslint: disable */
2
3/*
4 * Custom Type Definitions
5 * When including 3rd party modules you also need to include the type definition for the module
6 * if they don't provide one within the module. You can try to install it with @types
7
8npm install @types/node
9npm install @types/lodash
10
11 * If you can't find the type definition in the registry we can make an ambient/global definition in
12 * this file for now. For example
13
14declare module 'my-module' {
15 export function doesSomething(value: string): string;
16}
17
18 * If you are using a CommonJS module that is using module.exports then you will have to write your
19 * types using export = yourObjectOrFunction with a namespace above it
20 * notice how we have to create a namespace that is equal to the function we're
21 * assigning the export to
22
23declare module 'jwt-decode' {
24 function jwtDecode(token: string): any;
25 namespace jwtDecode {}
26 export = jwtDecode;
27}
28
29 *
30 * If you're prototying and you will fix the types later you can also declare it as type any
31 *
32
33declare var assert: any;
34declare var _: any;
35declare var $: any;
36
37 *
38 * If you're importing a module that uses Node.js modules which are CommonJS you need to import as
39 * in the files such as main.browser.ts or any file within app/
40 *
41
42import * as _ from 'lodash'
43
44 * You can include your type definitions in this file until you create one for the @types
45 *
46 */
47
48// support NodeJS modules without type definitions
49declare module '*';
50
51/*
52// for legacy tslint etc to understand rename 'modern-lru' with your package
53// then comment out `declare module '*';`. For each new module copy/paste
54// this method of creating an `any` module type definition
55declare module 'modern-lru' {
56 let x: any;
57 export = x;
58}
59*/
60
61// Extra variables that live on Global that will be replaced by webpack DefinePlugin
62declare var ENV: string;
63declare var API_URL: string;
64declare var HMR: boolean;
65declare var System: SystemJS;
66
67interface SystemJS {
68 import: (path?: string) => Promise<any>;
69}
70
71interface GlobalEnvironment {
72 ENV: string;
73 API_URL: string;
74 HMR: boolean;
75 SystemJS: SystemJS;
76 System: SystemJS;
77}
78
79interface Es6PromiseLoader {
80 (id: string): (exportName?: string) => Promise<any>;
81}
82
83type FactoryEs6PromiseLoader = () => Es6PromiseLoader;
84type FactoryPromise = () => Promise<any>;
85
86type AsyncRoutes = {
87 [component: string]: Es6PromiseLoader |
88 Function |
89 FactoryEs6PromiseLoader |
90 FactoryPromise ;
91};
92
93type IdleCallbacks = Es6PromiseLoader |
94 Function |
95 FactoryEs6PromiseLoader |
96 FactoryPromise ;
97
98interface WebpackModule {
99 hot: {
100 data?: any,
101 idle: any,
102 accept(dependencies?: string | string[], callback?: (updatedDependencies?: any) => void): void;
103 decline(deps?: any | string | string[]): void;
104 dispose(callback?: (data?: any) => void): void;
105 addDisposeHandler(callback?: (data?: any) => void): void;
106 removeDisposeHandler(callback?: (data?: any) => void): void;
107 check(autoApply?: any, callback?: (err?: Error, outdatedModules?: any[]) => void): void;
108 apply(options?: any, callback?: (err?: Error, outdatedModules?: any[]) => void): void;
109 status(callback?: (status?: string) => void): void | string;
110 removeStatusHandler(callback?: (status?: string) => void): void;
111 };
112}
113
114interface WebpackRequire {
115 (id: string): any;
116 (paths: string[], callback: (...modules: any[]) => void): void;
117 ensure(ids: string[], callback: (req: WebpackRequire) => void, chunkName?: string): void;
118 context(directory: string, useSubDirectories?: boolean, regExp?: RegExp): WebpackContext;
119}
120
121interface WebpackContext extends WebpackRequire {
122 keys(): string[];
123}
124
125interface ErrorStackTraceLimit {
126 stackTraceLimit: number;
127}
128
129// Extend typings
130interface NodeRequire extends WebpackRequire {}
131interface ErrorConstructor extends ErrorStackTraceLimit {}
132interface NodeRequireFunction extends Es6PromiseLoader {}
133interface NodeModule extends WebpackModule {}
134interface Global extends GlobalEnvironment {}
diff --git a/client/src/environments/environment.prod.ts b/client/src/environments/environment.prod.ts
new file mode 100644
index 000000000..c9f5a3b63
--- /dev/null
+++ b/client/src/environments/environment.prod.ts
@@ -0,0 +1,4 @@
1export const environment = {
2 production: true,
3 apiUrl: ''
4}
diff --git a/client/src/environments/environment.ts b/client/src/environments/environment.ts
new file mode 100644
index 000000000..43d788541
--- /dev/null
+++ b/client/src/environments/environment.ts
@@ -0,0 +1,9 @@
1// The file contents for the current environment will overwrite these during build.
2// The build system defaults to the dev environment which uses `environment.ts`, but if you do
3// `ng build --env=prod` then `environment.prod.ts` will be used instead.
4// The list of which env maps to which file can be found in `.angular-cli.json`.
5
6export const environment = {
7 production: false,
8 apiUrl: 'http://localhost:9000'
9}
diff --git a/client/src/index.html b/client/src/index.html
index 4af6b12f6..f14323521 100644
--- a/client/src/index.html
+++ b/client/src/index.html
@@ -1,7 +1,7 @@
1<!DOCTYPE html> 1<!DOCTYPE html>
2<html> 2<html>
3 <head> 3 <head>
4 <title><%= htmlWebpackPlugin.options.title %></title> 4 <title>PeerTube</title>
5 5
6 <meta charset="UTF-8"> 6 <meta charset="UTF-8">
7 <meta name="viewport" content="width=device-width, initial-scale=1"> 7 <meta name="viewport" content="width=device-width, initial-scale=1">
@@ -14,9 +14,7 @@
14 <link rel="icon" type="image/png" href="/client/assets/images/favicon.png" /> 14 <link rel="icon" type="image/png" href="/client/assets/images/favicon.png" />
15 15
16 <!-- base url --> 16 <!-- base url -->
17 <base href="<%= htmlWebpackPlugin.options.metadata.baseUrl %>"> 17 <base href="/">
18
19 <%= htmlWebpackPlugin.files.webpackManifest %>
20 </head> 18 </head>
21 19
22 <!-- 3. Display the application --> 20 <!-- 3. Display the application -->
diff --git a/client/src/main.browser.aot.ts b/client/src/main.browser.aot.ts
deleted file mode 100644
index 9635d615b..000000000
--- a/client/src/main.browser.aot.ts
+++ /dev/null
@@ -1,35 +0,0 @@
1/* tslint: disable */
2
3import { platformBrowser } from '@angular/platform-browser';
4import { decorateModuleRef } from './app/environment';
5
6/**
7 * App Module
8 * our top level module that holds all of our components.
9 */
10import { AppModuleNgFactory } from '../compiled/src/app/app.module.ngfactory';
11
12/**
13 * Bootstrap our Angular app with a top level NgModule.
14 */
15export function main(): Promise<any> {
16 return platformBrowser()
17 .bootstrapModuleFactory(AppModuleNgFactory)
18 .then(decorateModuleRef)
19 .catch((err) => console.error(err));
20}
21
22switch (document.readyState) {
23 case 'loading':
24 document.addEventListener('DOMContentLoaded', _domReadyHandler, false);
25 break;
26 case 'interactive':
27 case 'complete':
28 default:
29 main();
30}
31
32function _domReadyHandler() {
33 document.removeEventListener('DOMContentLoaded', _domReadyHandler, false);
34 main();
35}
diff --git a/client/src/main.browser.ts b/client/src/main.browser.ts
deleted file mode 100644
index 28f0d5781..000000000
--- a/client/src/main.browser.ts
+++ /dev/null
@@ -1,45 +0,0 @@
1/* tslint: disable */
2
3import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'
4import { decorateModuleRef } from './app/environment'
5import { hmrModule } from '@angularclass/hmr'
6
7/**
8 * App Module
9 * our top level module that holds all of our components
10 */
11import { AppModule } from './app'
12
13/**
14 * Bootstrap our Angular app with a top level NgModule
15 */
16export function main (): Promise<any> {
17 return platformBrowserDynamic()
18 .bootstrapModule(AppModule)
19 .then(decorateModuleRef)
20 .then((ngModuleRef: any) => {
21 // `module` global ref for webpackhmr
22 // Don't run this in Prod
23 return hmrModule(ngModuleRef, module)
24 })
25 .catch((err) => console.error(err))
26}
27
28/**
29 * Needed for hmr
30 * in prod this is replace for document ready
31 */
32switch (document.readyState) {
33 case 'loading':
34 document.addEventListener('DOMContentLoaded', _domReadyHandler, false)
35 break
36 case 'interactive':
37 case 'complete':
38 default:
39 main()
40}
41
42function _domReadyHandler () {
43 document.removeEventListener('DOMContentLoaded', _domReadyHandler, false)
44 main()
45}
diff --git a/client/src/main.ts b/client/src/main.ts
new file mode 100644
index 000000000..91ec6da5f
--- /dev/null
+++ b/client/src/main.ts
@@ -0,0 +1,12 @@
1import { enableProdMode } from '@angular/core';
2import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
3
4import { AppModule } from './app/app.module';
5import { environment } from './environments/environment';
6
7if (environment.production) {
8 enableProdMode();
9}
10
11platformBrowserDynamic().bootstrapModule(AppModule)
12 .catch(err => console.log(err));
diff --git a/client/src/polyfills.browser.ts b/client/src/polyfills.browser.ts
deleted file mode 100644
index b1a631655..000000000
--- a/client/src/polyfills.browser.ts
+++ /dev/null
@@ -1,38 +0,0 @@
1/* tslint: disable */
2
3// Polyfills
4// (these modules are what are in 'angular2/bundles/angular2-polyfills' so don't use that here)
5
6require('intl');
7require('intl/locale-data/jsonp/en.js');
8import 'ie-shim'; // Internet Explorer
9
10// Prefer CoreJS over the polyfills above
11import 'core-js/es6/symbol';
12import 'core-js/es6/object';
13import 'core-js/es6/function';
14import 'core-js/es6/parse-int';
15import 'core-js/es6/parse-float';
16import 'core-js/es6/number';
17import 'core-js/es6/math';
18import 'core-js/es6/string';
19import 'core-js/es6/date';
20import 'core-js/es6/array';
21import 'core-js/es6/regexp';
22import 'core-js/es6/map';
23import 'core-js/es6/set';
24import 'core-js/es6/weak-map';
25import 'core-js/es6/weak-set';
26import 'core-js/es6/typed';
27import 'core-js/es6/reflect';
28// see issue https://github.com/AngularClass/angular2-webpack-starter/issues/709
29// import 'core-js/es6/promise';
30
31import 'core-js/es7/reflect';
32import 'zone.js/dist/zone';
33
34if ('production' !== ENV) {
35 Error.stackTraceLimit = Infinity;
36
37 require('zone.js/dist/long-stack-trace-zone');
38}
diff --git a/client/src/polyfills.ts b/client/src/polyfills.ts
new file mode 100644
index 000000000..d68672ffe
--- /dev/null
+++ b/client/src/polyfills.ts
@@ -0,0 +1,66 @@
1/**
2 * This file includes polyfills needed by Angular and is loaded before the app.
3 * You can add your own extra polyfills to this file.
4 *
5 * This file is divided into 2 sections:
6 * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
7 * 2. Application imports. Files imported after ZoneJS that should be loaded before your main
8 * file.
9 *
10 * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
11 * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
12 * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
13 *
14 * Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html
15 */
16
17/***************************************************************************************************
18 * BROWSER POLYFILLS
19 */
20
21/** IE9, IE10 and IE11 requires all of the following polyfills. **/
22// import 'core-js/es6/symbol';
23// import 'core-js/es6/object';
24// import 'core-js/es6/function';
25// import 'core-js/es6/parse-int';
26// import 'core-js/es6/parse-float';
27// import 'core-js/es6/number';
28// import 'core-js/es6/math';
29// import 'core-js/es6/string';
30// import 'core-js/es6/date';
31// import 'core-js/es6/array';
32// import 'core-js/es6/regexp';
33// import 'core-js/es6/map';
34// import 'core-js/es6/weak-map';
35// import 'core-js/es6/set';
36
37/** IE10 and IE11 requires the following for NgClass support on SVG elements */
38// import 'classlist.js'; // Run `npm install --save classlist.js`.
39
40/** IE10 and IE11 requires the following for the Reflect API. */
41// import 'core-js/es6/reflect';
42
43
44/** Evergreen browsers require these. **/
45// Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove.
46import 'core-js/es7/reflect';
47
48
49/**
50 * Required to support Web Animations `@angular/platform-browser/animations`.
51 * Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation
52 **/
53// import 'web-animations-js'; // Run `npm install --save web-animations-js`.
54
55
56
57/***************************************************************************************************
58 * Zone JS is required by default for Angular itself.
59 */
60import 'zone.js/dist/zone'; // Included with Angular CLI.
61
62
63
64/***************************************************************************************************
65 * APPLICATION IMPORTS
66 */
diff --git a/client/src/sass/application.scss b/client/src/sass/application.scss
index 9d347d566..08131406a 100644
--- a/client/src/sass/application.scss
+++ b/client/src/sass/application.scss
@@ -1,5 +1,12 @@
1$FontPathSourceSansPro: "../fonts/source-sans-pro"; 1@import '_variables';
2@import '~source-sans-pro/source-sans-pro'; 2@import '_mixins';
3
4$icon-font-path: '../../node_modules/bootstrap-sass/assets/fonts/bootstrap/';
5@import '~bootstrap-sass/assets/stylesheets/_bootstrap';
6
7$FontPathSourceSansPro: '../../node_modules/npm-font-source-sans-pro/fonts';
8@import '~npm-font-source-sans-pro/source-sans-pro';
9
3@import '~primeng/resources/themes/bootstrap/theme.css'; 10@import '~primeng/resources/themes/bootstrap/theme.css';
4@import '~primeng/resources/primeng.css'; 11@import '~primeng/resources/primeng.css';
5@import '~video.js/dist/video-js.css'; 12@import '~video.js/dist/video-js.css';
diff --git a/client/src/sass/_mixins.scss b/client/src/sass/include/_mixins.scss
index 2a7192fb2..f6f17846e 100644
--- a/client/src/sass/_mixins.scss
+++ b/client/src/sass/include/_mixins.scss
@@ -1,3 +1,5 @@
1@import '_variables';
2
1@mixin disable-default-a-behaviour { 3@mixin disable-default-a-behaviour {
2 &:hover, &:focus, &:active { 4 &:hover, &:focus, &:active {
3 text-decoration: none !important; 5 text-decoration: none !important;
diff --git a/client/src/sass/_variables.scss b/client/src/sass/include/_variables.scss
index 0d310409b..0d310409b 100644
--- a/client/src/sass/_variables.scss
+++ b/client/src/sass/include/_variables.scss
diff --git a/client/src/sass/pre-customizations.scss b/client/src/sass/pre-customizations.scss
deleted file mode 100644
index 52eef50f2..000000000
--- a/client/src/sass/pre-customizations.scss
+++ /dev/null
@@ -1,877 +0,0 @@
1@import '_variables.scss';
2@import '_mixins.scss';
3
4$bootstrap-sass-asset-helper: false !default;
5//
6// Variables
7// --------------------------------------------------
8
9
10//== Colors
11//
12//## Gray and brand colors for use across Bootstrap.
13
14$gray-base: #000 !default;
15$gray-darker: lighten($gray-base, 13.5%) !default; // #222
16$gray-dark: lighten($gray-base, 20%) !default; // #333
17$gray: lighten($gray-base, 33.5%) !default; // #555
18$gray-light: lighten($gray-base, 46.7%) !default; // #777
19$gray-lighter: lighten($gray-base, 93.5%) !default; // #eee
20
21$brand-primary: darken(#428bca, 6.5%) !default; // #337ab7
22$brand-success: #5cb85c !default;
23$brand-info: #5bc0de !default;
24$brand-warning: #f0ad4e !default;
25$brand-danger: #d9534f !default;
26
27
28//== Scaffolding
29//
30//## Settings for some of the most global styles.
31
32//** Background color for `<body>`.
33$body-bg: #fff !default;
34//** Global text color on `<body>`.
35$text-color: $gray-dark !default;
36
37//** Global textual link color.
38$link-color: $brand-primary !default;
39//** Link hover color set via `darken()` function.
40$link-hover-color: darken($link-color, 15%) !default;
41//** Link hover decoration.
42$link-hover-decoration: underline !default;
43
44
45//== Typography
46//
47//## Font, line-height, and color for body text, headings, and more.
48
49$font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif !default;
50$font-family-serif: Georgia, "Times New Roman", Times, serif !default;
51//** Default monospace fonts for `<code>`, `<kbd>`, and `<pre>`.
52$font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace !default;
53$font-family-base: $font-family-sans-serif !default;
54
55$font-size-base: 14px !default;
56$font-size-large: ceil(($font-size-base * 1.25)) !default; // ~18px
57$font-size-small: ceil(($font-size-base * 0.85)) !default; // ~12px
58
59$font-size-h1: floor(($font-size-base * 2.6)) !default; // ~36px
60$font-size-h2: floor(($font-size-base * 2.15)) !default; // ~30px
61$font-size-h3: ceil(($font-size-base * 1.7)) !default; // ~24px
62$font-size-h4: ceil(($font-size-base * 1.25)) !default; // ~18px
63$font-size-h5: $font-size-base !default;
64$font-size-h6: ceil(($font-size-base * 0.85)) !default; // ~12px
65
66//** Unit-less `line-height` for use in components like buttons.
67$line-height-base: 1.428571429 !default; // 20/14
68//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
69$line-height-computed: floor(($font-size-base * $line-height-base)) !default; // ~20px
70
71//** By default, this inherits from the `<body>`.
72$headings-font-family: inherit !default;
73$headings-font-weight: 500 !default;
74$headings-line-height: 1.1 !default;
75$headings-color: inherit !default;
76
77
78//== Iconography
79//
80//## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via Bower.
81
82//** Load fonts from this directory.
83
84// [converter] If $bootstrap-sass-asset-helper if used, provide path relative to the assets load path.
85// [converter] This is because some asset helpers, such as Sprockets, do not work with file-relative paths.
86$icon-font-path: if($bootstrap-sass-asset-helper, "bootstrap/", "../fonts/bootstrap/") !default;
87
88//** File name for all font files.
89$icon-font-name: "glyphicons-halflings-regular" !default;
90//** Element ID within SVG icon file.
91$icon-font-svg-id: "glyphicons_halflingsregular" !default;
92
93
94//== Components
95//
96//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
97
98$padding-base-vertical: 6px !default;
99$padding-base-horizontal: 12px !default;
100
101$padding-large-vertical: 10px !default;
102$padding-large-horizontal: 16px !default;
103
104$padding-small-vertical: 5px !default;
105$padding-small-horizontal: 10px !default;
106
107$padding-xs-vertical: 1px !default;
108$padding-xs-horizontal: 5px !default;
109
110$line-height-large: 1.3333333 !default; // extra decimals for Win 8.1 Chrome
111$line-height-small: 1.5 !default;
112
113$border-radius-base: 4px !default;
114$border-radius-large: 6px !default;
115$border-radius-small: 3px !default;
116
117//** Global color for active items (e.g., navs or dropdowns).
118$component-active-color: #fff !default;
119//** Global background color for active items (e.g., navs or dropdowns).
120$component-active-bg: $brand-primary !default;
121
122//** Width of the `border` for generating carets that indicator dropdowns.
123$caret-width-base: 4px !default;
124//** Carets increase slightly in size for larger components.
125$caret-width-large: 5px !default;
126
127
128//== Tables
129//
130//## Customizes the `.table` component with basic values, each used across all table variations.
131
132//** Padding for `<th>`s and `<td>`s.
133$table-cell-padding: 8px !default;
134//** Padding for cells in `.table-condensed`.
135$table-condensed-cell-padding: 5px !default;
136
137//** Default background color used for all tables.
138$table-bg: transparent !default;
139//** Background color used for `.table-striped`.
140$table-bg-accent: #f9f9f9 !default;
141//** Background color used for `.table-hover`.
142$table-bg-hover: #f5f5f5 !default;
143$table-bg-active: $table-bg-hover !default;
144
145//** Border color for table and cell borders.
146$table-border-color: #ddd !default;
147
148
149//== Buttons
150//
151//## For each of Bootstrap's buttons, define text, background and border color.
152
153$btn-font-weight: normal !default;
154
155$btn-default-color: #333 !default;
156$btn-default-bg: #fff !default;
157$btn-default-border: #ccc !default;
158
159$btn-primary-color: #fff !default;
160$btn-primary-bg: $brand-primary !default;
161$btn-primary-border: darken($btn-primary-bg, 5%) !default;
162
163$btn-success-color: #fff !default;
164$btn-success-bg: $brand-success !default;
165$btn-success-border: darken($btn-success-bg, 5%) !default;
166
167$btn-info-color: #fff !default;
168$btn-info-bg: $brand-info !default;
169$btn-info-border: darken($btn-info-bg, 5%) !default;
170
171$btn-warning-color: #fff !default;
172$btn-warning-bg: $brand-warning !default;
173$btn-warning-border: darken($btn-warning-bg, 5%) !default;
174
175$btn-danger-color: #fff !default;
176$btn-danger-bg: $brand-danger !default;
177$btn-danger-border: darken($btn-danger-bg, 5%) !default;
178
179$btn-link-disabled-color: $gray-light !default;
180
181// Allows for customizing button radius independently from global border radius
182$btn-border-radius-base: $border-radius-base !default;
183$btn-border-radius-large: $border-radius-large !default;
184$btn-border-radius-small: $border-radius-small !default;
185
186
187//== Forms
188//
189//##
190
191//** `<input>` background color
192$input-bg: #fff !default;
193//** `<input disabled>` background color
194$input-bg-disabled: $gray-lighter !default;
195
196//** Text color for `<input>`s
197$input-color: $gray !default;
198//** `<input>` border color
199$input-border: #ccc !default;
200
201// TODO: Rename `$input-border-radius` to `$input-border-radius-base` in v4
202//** Default `.form-control` border radius
203// This has no effect on `<select>`s in some browsers, due to the limited stylability of `<select>`s in CSS.
204$input-border-radius: $border-radius-base !default;
205//** Large `.form-control` border radius
206$input-border-radius-large: $border-radius-large !default;
207//** Small `.form-control` border radius
208$input-border-radius-small: $border-radius-small !default;
209
210//** Border color for inputs on focus
211$input-border-focus: #66afe9 !default;
212
213//** Placeholder text color
214$input-color-placeholder: #999 !default;
215
216//** Default `.form-control` height
217$input-height-base: ($line-height-computed + ($padding-base-vertical * 2) + 2) !default;
218//** Large `.form-control` height
219$input-height-large: (ceil($font-size-large * $line-height-large) + ($padding-large-vertical * 2) + 2) !default;
220//** Small `.form-control` height
221$input-height-small: (floor($font-size-small * $line-height-small) + ($padding-small-vertical * 2) + 2) !default;
222
223//** `.form-group` margin
224$form-group-margin-bottom: 15px !default;
225
226$legend-color: $gray-dark !default;
227$legend-border-color: #e5e5e5 !default;
228
229//** Background color for textual input addons
230$input-group-addon-bg: $gray-lighter !default;
231//** Border color for textual input addons
232$input-group-addon-border-color: $input-border !default;
233
234//** Disabled cursor for form controls and buttons.
235$cursor-disabled: not-allowed !default;
236
237
238//== Dropdowns
239//
240//## Dropdown menu container and contents.
241
242//** Background for the dropdown menu.
243$dropdown-bg: #fff !default;
244//** Dropdown menu `border-color`.
245$dropdown-border: rgba(0,0,0,.15) !default;
246//** Dropdown menu `border-color` **for IE8**.
247$dropdown-fallback-border: #ccc !default;
248//** Divider color for between dropdown items.
249$dropdown-divider-bg: #e5e5e5 !default;
250
251//** Dropdown link text color.
252$dropdown-link-color: $gray-dark !default;
253//** Hover color for dropdown links.
254$dropdown-link-hover-color: darken($gray-dark, 5%) !default;
255//** Hover background for dropdown links.
256$dropdown-link-hover-bg: #f5f5f5 !default;
257
258//** Active dropdown menu item text color.
259$dropdown-link-active-color: $component-active-color !default;
260//** Active dropdown menu item background color.
261$dropdown-link-active-bg: $component-active-bg !default;
262
263//** Disabled dropdown menu item background color.
264$dropdown-link-disabled-color: $gray-light !default;
265
266//** Text color for headers within dropdown menus.
267$dropdown-header-color: $gray-light !default;
268
269//** Deprecated `$dropdown-caret-color` as of v3.1.0
270$dropdown-caret-color: #000 !default;
271
272
273//-- Z-index master list
274//
275// Warning: Avoid customizing these values. They're used for a bird's eye view
276// of components dependent on the z-axis and are designed to all work together.
277//
278// Note: These variables are not generated into the Customizer.
279
280$zindex-navbar: 1000 !default;
281$zindex-dropdown: 1000 !default;
282$zindex-popover: 1060 !default;
283$zindex-tooltip: 1070 !default;
284$zindex-navbar-fixed: 1030 !default;
285$zindex-modal-background: 1040 !default;
286$zindex-modal: 1050 !default;
287
288
289//== Media queries breakpoints
290//
291//## Define the breakpoints at which your layout will change, adapting to different screen sizes.
292
293// Extra small screen / phone
294//** Deprecated `$screen-xs` as of v3.0.1
295$screen-xs: 480px !default;
296//** Deprecated `$screen-xs-min` as of v3.2.0
297$screen-xs-min: $screen-xs !default;
298//** Deprecated `$screen-phone` as of v3.0.1
299$screen-phone: $screen-xs-min !default;
300
301// Small screen / tablet
302//** Deprecated `$screen-sm` as of v3.0.1
303$screen-sm: 768px !default;
304$screen-sm-min: $screen-sm !default;
305//** Deprecated `$screen-tablet` as of v3.0.1
306$screen-tablet: $screen-sm-min !default;
307
308// Medium screen / desktop
309//** Deprecated `$screen-md` as of v3.0.1
310$screen-md: 992px !default;
311$screen-md-min: $screen-md !default;
312//** Deprecated `$screen-desktop` as of v3.0.1
313$screen-desktop: $screen-md-min !default;
314
315// Large screen / wide desktop
316//** Deprecated `$screen-lg` as of v3.0.1
317$screen-lg: 1200px !default;
318$screen-lg-min: $screen-lg !default;
319//** Deprecated `$screen-lg-desktop` as of v3.0.1
320$screen-lg-desktop: $screen-lg-min !default;
321
322// So media queries don't overlap when required, provide a maximum
323$screen-xs-max: ($screen-sm-min - 1) !default;
324$screen-sm-max: ($screen-md-min - 1) !default;
325$screen-md-max: ($screen-lg-min - 1) !default;
326
327
328//== Grid system
329//
330//## Define your custom responsive grid.
331
332//** Number of columns in the grid.
333$grid-columns: 12 !default;
334//** Padding between columns. Gets divided in half for the left and right.
335$grid-gutter-width: 30px !default;
336// Navbar collapse
337//** Point at which the navbar becomes uncollapsed.
338$grid-float-breakpoint: $screen-sm-min !default;
339//** Point at which the navbar begins collapsing.
340$grid-float-breakpoint-max: ($grid-float-breakpoint - 1) !default;
341
342
343//== Container sizes
344//
345//## Define the maximum width of `.container` for different screen sizes.
346
347// Small screen / tablet
348$container-tablet: (720px + $grid-gutter-width) !default;
349//** For `$screen-sm-min` and up.
350$container-sm: $container-tablet !default;
351
352// Medium screen / desktop
353$container-desktop: (940px + $grid-gutter-width) !default;
354//** For `$screen-md-min` and up.
355$container-md: $container-desktop !default;
356
357// Large screen / wide desktop
358$container-large-desktop: (1140px + $grid-gutter-width) !default;
359//** For `$screen-lg-min` and up.
360$container-lg: $container-large-desktop !default;
361
362
363//== Navbar
364//
365//##
366
367// Basics of a navbar
368$navbar-height: 50px !default;
369$navbar-margin-bottom: $line-height-computed !default;
370$navbar-border-radius: $border-radius-base !default;
371$navbar-padding-horizontal: floor(($grid-gutter-width / 2)) !default;
372$navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2) !default;
373$navbar-collapse-max-height: 340px !default;
374
375$navbar-default-color: #777 !default;
376$navbar-default-bg: #f8f8f8 !default;
377$navbar-default-border: darken($navbar-default-bg, 6.5%) !default;
378
379// Navbar links
380$navbar-default-link-color: #777 !default;
381$navbar-default-link-hover-color: #333 !default;
382$navbar-default-link-hover-bg: transparent !default;
383$navbar-default-link-active-color: #555 !default;
384$navbar-default-link-active-bg: darken($navbar-default-bg, 6.5%) !default;
385$navbar-default-link-disabled-color: #ccc !default;
386$navbar-default-link-disabled-bg: transparent !default;
387
388// Navbar brand label
389$navbar-default-brand-color: $navbar-default-link-color !default;
390$navbar-default-brand-hover-color: darken($navbar-default-brand-color, 10%) !default;
391$navbar-default-brand-hover-bg: transparent !default;
392
393// Navbar toggle
394$navbar-default-toggle-hover-bg: #ddd !default;
395$navbar-default-toggle-icon-bar-bg: #888 !default;
396$navbar-default-toggle-border-color: #ddd !default;
397
398
399//=== Inverted navbar
400// Reset inverted navbar basics
401$navbar-inverse-color: lighten($gray-light, 15%) !default;
402$navbar-inverse-bg: #222 !default;
403$navbar-inverse-border: darken($navbar-inverse-bg, 10%) !default;
404
405// Inverted navbar links
406$navbar-inverse-link-color: lighten($gray-light, 15%) !default;
407$navbar-inverse-link-hover-color: #fff !default;
408$navbar-inverse-link-hover-bg: transparent !default;
409$navbar-inverse-link-active-color: $navbar-inverse-link-hover-color !default;
410$navbar-inverse-link-active-bg: darken($navbar-inverse-bg, 10%) !default;
411$navbar-inverse-link-disabled-color: #444 !default;
412$navbar-inverse-link-disabled-bg: transparent !default;
413
414// Inverted navbar brand label
415$navbar-inverse-brand-color: $navbar-inverse-link-color !default;
416$navbar-inverse-brand-hover-color: #fff !default;
417$navbar-inverse-brand-hover-bg: transparent !default;
418
419// Inverted navbar toggle
420$navbar-inverse-toggle-hover-bg: #333 !default;
421$navbar-inverse-toggle-icon-bar-bg: #fff !default;
422$navbar-inverse-toggle-border-color: #333 !default;
423
424
425//== Navs
426//
427//##
428
429//=== Shared nav styles
430$nav-link-padding: 10px 15px !default;
431$nav-link-hover-bg: $gray-lighter !default;
432
433$nav-disabled-link-color: $gray-light !default;
434$nav-disabled-link-hover-color: $gray-light !default;
435
436//== Tabs
437$nav-tabs-border-color: #ddd !default;
438
439$nav-tabs-link-hover-border-color: $gray-lighter !default;
440
441$nav-tabs-active-link-hover-bg: $body-bg !default;
442$nav-tabs-active-link-hover-color: $gray !default;
443$nav-tabs-active-link-hover-border-color: #ddd !default;
444
445$nav-tabs-justified-link-border-color: #ddd !default;
446$nav-tabs-justified-active-link-border-color: $body-bg !default;
447
448//== Pills
449$nav-pills-border-radius: $border-radius-base !default;
450$nav-pills-active-link-hover-bg: $component-active-bg !default;
451$nav-pills-active-link-hover-color: $component-active-color !default;
452
453
454//== Pagination
455//
456//##
457
458$pagination-color: $link-color !default;
459$pagination-bg: #fff !default;
460$pagination-border: #ddd !default;
461
462$pagination-hover-color: $link-hover-color !default;
463$pagination-hover-bg: $gray-lighter !default;
464$pagination-hover-border: #ddd !default;
465
466$pagination-active-color: #fff !default;
467$pagination-active-bg: $brand-primary !default;
468$pagination-active-border: $brand-primary !default;
469
470$pagination-disabled-color: $gray-light !default;
471$pagination-disabled-bg: #fff !default;
472$pagination-disabled-border: #ddd !default;
473
474
475//== Pager
476//
477//##
478
479$pager-bg: $pagination-bg !default;
480$pager-border: $pagination-border !default;
481$pager-border-radius: 15px !default;
482
483$pager-hover-bg: $pagination-hover-bg !default;
484
485$pager-active-bg: $pagination-active-bg !default;
486$pager-active-color: $pagination-active-color !default;
487
488$pager-disabled-color: $pagination-disabled-color !default;
489
490
491//== Jumbotron
492//
493//##
494
495$jumbotron-padding: 30px !default;
496$jumbotron-color: inherit !default;
497$jumbotron-bg: $gray-lighter !default;
498$jumbotron-heading-color: inherit !default;
499$jumbotron-font-size: ceil(($font-size-base * 1.5)) !default;
500$jumbotron-heading-font-size: ceil(($font-size-base * 4.5)) !default;
501
502
503//== Form states and alerts
504//
505//## Define colors for form feedback states and, by default, alerts.
506
507$state-success-text: #3c763d !default;
508$state-success-bg: #dff0d8 !default;
509$state-success-border: darken(adjust-hue($state-success-bg, -10), 5%) !default;
510
511$state-info-text: #31708f !default;
512$state-info-bg: #d9edf7 !default;
513$state-info-border: darken(adjust-hue($state-info-bg, -10), 7%) !default;
514
515$state-warning-text: #8a6d3b !default;
516$state-warning-bg: #fcf8e3 !default;
517$state-warning-border: darken(adjust-hue($state-warning-bg, -10), 5%) !default;
518
519$state-danger-text: #a94442 !default;
520$state-danger-bg: #f2dede !default;
521$state-danger-border: darken(adjust-hue($state-danger-bg, -10), 5%) !default;
522
523
524//== Tooltips
525//
526//##
527
528//** Tooltip max width
529$tooltip-max-width: 200px !default;
530//** Tooltip text color
531$tooltip-color: #fff !default;
532//** Tooltip background color
533$tooltip-bg: #000 !default;
534$tooltip-opacity: .9 !default;
535
536//** Tooltip arrow width
537$tooltip-arrow-width: 5px !default;
538//** Tooltip arrow color
539$tooltip-arrow-color: $tooltip-bg !default;
540
541
542//== Popovers
543//
544//##
545
546//** Popover body background color
547$popover-bg: #fff !default;
548//** Popover maximum width
549$popover-max-width: 276px !default;
550//** Popover border color
551$popover-border-color: rgba(0,0,0,.2) !default;
552//** Popover fallback border color
553$popover-fallback-border-color: #ccc !default;
554
555//** Popover title background color
556$popover-title-bg: darken($popover-bg, 3%) !default;
557
558//** Popover arrow width
559$popover-arrow-width: 10px !default;
560//** Popover arrow color
561$popover-arrow-color: $popover-bg !default;
562
563//** Popover outer arrow width
564$popover-arrow-outer-width: ($popover-arrow-width + 1) !default;
565//** Popover outer arrow color
566$popover-arrow-outer-color: fade_in($popover-border-color, 0.05) !default;
567//** Popover outer arrow fallback color
568$popover-arrow-outer-fallback-color: darken($popover-fallback-border-color, 20%) !default;
569
570
571//== Labels
572//
573//##
574
575//** Default label background color
576$label-default-bg: $gray-light !default;
577//** Primary label background color
578$label-primary-bg: $brand-primary !default;
579//** Success label background color
580$label-success-bg: $brand-success !default;
581//** Info label background color
582$label-info-bg: $brand-info !default;
583//** Warning label background color
584$label-warning-bg: $brand-warning !default;
585//** Danger label background color
586$label-danger-bg: $brand-danger !default;
587
588//** Default label text color
589$label-color: #fff !default;
590//** Default text color of a linked label
591$label-link-hover-color: #fff !default;
592
593
594//== Modals
595//
596//##
597
598//** Padding applied to the modal body
599$modal-inner-padding: 15px !default;
600
601//** Padding applied to the modal title
602$modal-title-padding: 15px !default;
603//** Modal title line-height
604$modal-title-line-height: $line-height-base !default;
605
606//** Background color of modal content area
607$modal-content-bg: #fff !default;
608//** Modal content border color
609$modal-content-border-color: rgba(0,0,0,.2) !default;
610//** Modal content border color **for IE8**
611$modal-content-fallback-border-color: #999 !default;
612
613//** Modal backdrop background color
614$modal-backdrop-bg: #000 !default;
615//** Modal backdrop opacity
616$modal-backdrop-opacity: .5 !default;
617//** Modal header border color
618$modal-header-border-color: #e5e5e5 !default;
619//** Modal footer border color
620$modal-footer-border-color: $modal-header-border-color !default;
621
622$modal-lg: 900px !default;
623$modal-md: 600px !default;
624$modal-sm: 300px !default;
625
626
627//== Alerts
628//
629//## Define alert colors, border radius, and padding.
630
631$alert-padding: 15px !default;
632$alert-border-radius: $border-radius-base !default;
633$alert-link-font-weight: bold !default;
634
635$alert-success-bg: $state-success-bg !default;
636$alert-success-text: $state-success-text !default;
637$alert-success-border: $state-success-border !default;
638
639$alert-info-bg: $state-info-bg !default;
640$alert-info-text: $state-info-text !default;
641$alert-info-border: $state-info-border !default;
642
643$alert-warning-bg: $state-warning-bg !default;
644$alert-warning-text: $state-warning-text !default;
645$alert-warning-border: $state-warning-border !default;
646
647$alert-danger-bg: $state-danger-bg !default;
648$alert-danger-text: $state-danger-text !default;
649$alert-danger-border: $state-danger-border !default;
650
651
652//== Progress bars
653//
654//##
655
656//** Background color of the whole progress component
657$progress-bg: #f5f5f5 !default;
658//** Progress bar text color
659$progress-bar-color: #fff !default;
660//** Variable for setting rounded corners on progress bar.
661$progress-border-radius: $border-radius-base !default;
662
663//** Default progress bar color
664$progress-bar-bg: $brand-primary !default;
665//** Success progress bar color
666$progress-bar-success-bg: $brand-success !default;
667//** Warning progress bar color
668$progress-bar-warning-bg: $brand-warning !default;
669//** Danger progress bar color
670$progress-bar-danger-bg: $brand-danger !default;
671//** Info progress bar color
672$progress-bar-info-bg: $brand-info !default;
673
674
675//== List group
676//
677//##
678
679//** Background color on `.list-group-item`
680$list-group-bg: #fff !default;
681//** `.list-group-item` border color
682$list-group-border: #ddd !default;
683//** List group border radius
684$list-group-border-radius: $border-radius-base !default;
685
686//** Background color of single list items on hover
687$list-group-hover-bg: #f5f5f5 !default;
688//** Text color of active list items
689$list-group-active-color: $component-active-color !default;
690//** Background color of active list items
691$list-group-active-bg: $component-active-bg !default;
692//** Border color of active list elements
693$list-group-active-border: $list-group-active-bg !default;
694//** Text color for content within active list items
695$list-group-active-text-color: lighten($list-group-active-bg, 40%) !default;
696
697//** Text color of disabled list items
698$list-group-disabled-color: $gray-light !default;
699//** Background color of disabled list items
700$list-group-disabled-bg: $gray-lighter !default;
701//** Text color for content within disabled list items
702$list-group-disabled-text-color: $list-group-disabled-color !default;
703
704$list-group-link-color: #555 !default;
705$list-group-link-hover-color: $list-group-link-color !default;
706$list-group-link-heading-color: #333 !default;
707
708
709//== Panels
710//
711//##
712
713$panel-bg: #fff !default;
714$panel-body-padding: 15px !default;
715$panel-heading-padding: 10px 15px !default;
716$panel-footer-padding: $panel-heading-padding !default;
717$panel-border-radius: $border-radius-base !default;
718
719//** Border color for elements within panels
720$panel-inner-border: #ddd !default;
721$panel-footer-bg: #f5f5f5 !default;
722
723$panel-default-text: $gray-dark !default;
724$panel-default-border: #ddd !default;
725$panel-default-heading-bg: #f5f5f5 !default;
726
727$panel-primary-text: #fff !default;
728$panel-primary-border: $brand-primary !default;
729$panel-primary-heading-bg: $brand-primary !default;
730
731$panel-success-text: $state-success-text !default;
732$panel-success-border: $state-success-border !default;
733$panel-success-heading-bg: $state-success-bg !default;
734
735$panel-info-text: $state-info-text !default;
736$panel-info-border: $state-info-border !default;
737$panel-info-heading-bg: $state-info-bg !default;
738
739$panel-warning-text: $state-warning-text !default;
740$panel-warning-border: $state-warning-border !default;
741$panel-warning-heading-bg: $state-warning-bg !default;
742
743$panel-danger-text: $state-danger-text !default;
744$panel-danger-border: $state-danger-border !default;
745$panel-danger-heading-bg: $state-danger-bg !default;
746
747
748//== Thumbnails
749//
750//##
751
752//** Padding around the thumbnail image
753$thumbnail-padding: 4px !default;
754//** Thumbnail background color
755$thumbnail-bg: $body-bg !default;
756//** Thumbnail border color
757$thumbnail-border: #ddd !default;
758//** Thumbnail border radius
759$thumbnail-border-radius: $border-radius-base !default;
760
761//** Custom text color for thumbnail captions
762$thumbnail-caption-color: $text-color !default;
763//** Padding around the thumbnail caption
764$thumbnail-caption-padding: 9px !default;
765
766
767//== Wells
768//
769//##
770
771$well-bg: #f5f5f5 !default;
772$well-border: darken($well-bg, 7%) !default;
773
774
775//== Badges
776//
777//##
778
779$badge-color: #fff !default;
780//** Linked badge text color on hover
781$badge-link-hover-color: #fff !default;
782$badge-bg: $gray-light !default;
783
784//** Badge text color in active nav link
785$badge-active-color: $link-color !default;
786//** Badge background color in active nav link
787$badge-active-bg: #fff !default;
788
789$badge-font-weight: bold !default;
790$badge-line-height: 1 !default;
791$badge-border-radius: 10px !default;
792
793
794//== Breadcrumbs
795//
796//##
797
798$breadcrumb-padding-vertical: 8px !default;
799$breadcrumb-padding-horizontal: 15px !default;
800//** Breadcrumb background color
801$breadcrumb-bg: #f5f5f5 !default;
802//** Breadcrumb text color
803$breadcrumb-color: #ccc !default;
804//** Text color of current page in the breadcrumb
805$breadcrumb-active-color: $gray-light !default;
806//** Textual separator for between breadcrumb elements
807$breadcrumb-separator: "/" !default;
808
809
810//== Carousel
811//
812//##
813
814$carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6) !default;
815
816$carousel-control-color: #fff !default;
817$carousel-control-width: 15% !default;
818$carousel-control-opacity: .5 !default;
819$carousel-control-font-size: 20px !default;
820
821$carousel-indicator-active-bg: #fff !default;
822$carousel-indicator-border-color: #fff !default;
823
824$carousel-caption-color: #fff !default;
825
826
827//== Close
828//
829//##
830
831$close-font-weight: bold !default;
832$close-color: #000 !default;
833$close-text-shadow: 0 1px 0 #fff !default;
834
835
836//== Code
837//
838//##
839
840$code-color: #c7254e !default;
841$code-bg: #f9f2f4 !default;
842
843$kbd-color: #fff !default;
844$kbd-bg: #333 !default;
845
846$pre-bg: #f5f5f5 !default;
847$pre-color: $gray-dark !default;
848$pre-border-color: #ccc !default;
849$pre-scrollable-max-height: 340px !default;
850
851
852//== Type
853//
854//##
855
856//** Horizontal offset for forms and lists.
857$component-offset-horizontal: 180px !default;
858//** Text muted color
859$text-muted: $gray-light !default;
860//** Abbreviations and acronyms border color
861$abbr-border-color: $gray-light !default;
862//** Headings small color
863$headings-small-color: $gray-light !default;
864//** Blockquote small color
865$blockquote-small-color: $gray-light !default;
866//** Blockquote font size
867$blockquote-font-size: ($font-size-base * 1.25) !default;
868//** Blockquote border color
869$blockquote-border-color: $gray-lighter !default;
870//** Page header border color
871$page-header-border-color: $gray-lighter !default;
872//** Width of horizontal description list titles
873$dl-horizontal-offset: $component-offset-horizontal !default;
874//** Point at which .dl-horizontal becomes horizontal
875$dl-horizontal-breakpoint: $grid-float-breakpoint !default;
876//** Horizontal line color.
877$hr-border: $gray-lighter !default;
diff --git a/client/src/standalone/videos/embed.ts b/client/src/standalone/videos/embed.ts
index f696df968..40153a51b 100644
--- a/client/src/standalone/videos/embed.ts
+++ b/client/src/standalone/videos/embed.ts
@@ -1,6 +1,6 @@
1import './embed.scss' 1import './embed.scss'
2 2
3import videojs from 'video.js' 3import * as videojs from 'video.js'
4import '../../assets/player/peertube-videojs-plugin' 4import '../../assets/player/peertube-videojs-plugin'
5import 'videojs-dock/dist/videojs-dock.es.js' 5import 'videojs-dock/dist/videojs-dock.es.js'
6import { VideoDetails } from '../../../../shared' 6import { VideoDetails } from '../../../../shared'
diff --git a/client/src/tsconfig.app.json b/client/src/tsconfig.app.json
new file mode 100644
index 000000000..39ba8dbac
--- /dev/null
+++ b/client/src/tsconfig.app.json
@@ -0,0 +1,13 @@
1{
2 "extends": "../tsconfig.json",
3 "compilerOptions": {
4 "outDir": "../out-tsc/app",
5 "baseUrl": "./",
6 "module": "es2015",
7 "types": []
8 },
9 "exclude": [
10 "test.ts",
11 "**/*.spec.ts"
12 ]
13}
diff --git a/client/src/typings.d.ts b/client/src/typings.d.ts
new file mode 100644
index 000000000..ef5c7bd62
--- /dev/null
+++ b/client/src/typings.d.ts
@@ -0,0 +1,5 @@
1/* SystemJS module definition */
2declare var module: NodeModule;
3interface NodeModule {
4 id: string;
5}
diff --git a/client/tsconfig.json b/client/tsconfig.json
index 66c7bb444..a6c016bf3 100644
--- a/client/tsconfig.json
+++ b/client/tsconfig.json
@@ -1,32 +1,19 @@
1{ 1{
2 "compileOnSave": false,
2 "compilerOptions": { 3 "compilerOptions": {
3 "target": "es5", 4 "outDir": "./dist/out-tsc",
4 "module": "commonjs", 5 "sourceMap": true,
6 "declaration": false,
5 "moduleResolution": "node", 7 "moduleResolution": "node",
6 "emitDecoratorMetadata": true, 8 "emitDecoratorMetadata": true,
7 "experimentalDecorators": true, 9 "experimentalDecorators": true,
8 "allowSyntheticDefaultImports": true, 10 "target": "es5",
9 "sourceMap": true, 11 "typeRoots": [
10 "noEmitHelpers": true, 12 "node_modules/@types"
11 "importHelpers": true,
12 "strictNullChecks": false,
13 "baseUrl": "./src",
14 "paths": [
15 ], 13 ],
16 "lib": [ 14 "lib": [
17 "dom", 15 "es2017",
18 "es6" 16 "dom"
19 ] 17 ]
20 }, 18 }
21 "exclude": [
22 "node_modules",
23 "dist"
24 ],
25 "awesomeTypescriptLoaderOptions": {
26 "forkChecker": true,
27 "useWebpackText": true
28 },
29 "compileOnSave": false,
30 "buildOnSave": false,
31 "atom": { "rewriteTsconfig": false }
32} 19}
diff --git a/client/tsconfig.webpack.json b/client/tsconfig.webpack.json
deleted file mode 100644
index 63532c323..000000000
--- a/client/tsconfig.webpack.json
+++ /dev/null
@@ -1,37 +0,0 @@
1{
2 "compilerOptions": {
3 "target": "es5",
4 "module": "es2015",
5 "moduleResolution": "node",
6 "emitDecoratorMetadata": true,
7 "experimentalDecorators": true,
8 "allowSyntheticDefaultImports": true,
9 "sourceMap": true,
10 "noEmitHelpers": true,
11 "importHelpers": true,
12 "strictNullChecks": false,
13 "baseUrl": "./src",
14 "outDir": "./dist",
15 "paths": [
16 ],
17 "lib": [
18 "dom",
19 "es6"
20 ]
21 },
22 "exclude": [
23 "node_modules",
24 "dist"
25 ],
26 "awesomeTypescriptLoaderOptions": {
27 "forkChecker": true,
28 "useWebpackText": true
29 },
30 "angularCompilerOptions": {
31 "genDir": "./compiled",
32 "skipMetadataEmit": true
33 },
34 "compileOnSave": false,
35 "buildOnSave": false,
36 "atom": { "rewriteTsconfig": false }
37}
diff --git a/client/yarn.lock b/client/yarn.lock
index 9cead52e4..f6fd91f71 100644
--- a/client/yarn.lock
+++ b/client/yarn.lock
@@ -2,12 +2,101 @@
2# yarn lockfile v1 2# yarn lockfile v1
3 3
4 4
5"@angular-devkit/build-optimizer@~0.0.35":
6 version "0.0.35"
7 resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.0.35.tgz#3aadad1d7e9ffc7dcd106fda8a5670465936562c"
8 dependencies:
9 loader-utils "^1.1.0"
10 source-map "^0.5.6"
11 typescript "~2.6.1"
12 webpack-sources "^1.0.1"
13
14"@angular-devkit/core@0.0.22":
15 version "0.0.22"
16 resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-0.0.22.tgz#e90f46bf7ff47d260a767959267bc65ffee39ef1"
17 dependencies:
18 source-map "^0.5.6"
19
20"@angular-devkit/schematics@~0.0.40":
21 version "0.0.41"
22 resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-0.0.41.tgz#9a066e442bdf10de4a093d6dd33a58e600d1b101"
23 dependencies:
24 "@angular-devkit/core" "0.0.22"
25 "@ngtools/json-schema" "^1.1.0"
26 "@schematics/schematics" "0.0.10"
27 minimist "^1.2.0"
28 rxjs "^5.5.2"
29
5"@angular/animations@~4.4.0": 30"@angular/animations@~4.4.0":
6 version "4.4.6" 31 version "4.4.6"
7 resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-4.4.6.tgz#fa661899a8a4e38cb7c583c7a5c97ce65d592a35" 32 resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-4.4.6.tgz#fa661899a8a4e38cb7c583c7a5c97ce65d592a35"
8 dependencies: 33 dependencies:
9 tslib "^1.7.1" 34 tslib "^1.7.1"
10 35
36"@angular/cli@^1.6.0":
37 version "1.6.0"
38 resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-1.6.0.tgz#eba521f6a8e4c2db628300baddbc4da13ca96998"
39 dependencies:
40 "@angular-devkit/build-optimizer" "~0.0.35"
41 "@angular-devkit/schematics" "~0.0.40"
42 "@ngtools/json-schema" "1.1.0"
43 "@ngtools/webpack" "1.9.0"
44 "@schematics/angular" "~0.1.10"
45 autoprefixer "^6.5.3"
46 chalk "~2.2.0"
47 circular-dependency-plugin "^4.2.1"
48 common-tags "^1.3.1"
49 copy-webpack-plugin "^4.1.1"
50 core-object "^3.1.0"
51 css-loader "^0.28.1"
52 cssnano "^3.10.0"
53 denodeify "^1.2.1"
54 ember-cli-string-utils "^1.0.0"
55 exports-loader "^0.6.3"
56 extract-text-webpack-plugin "^3.0.2"
57 file-loader "^1.1.5"
58 fs-extra "^4.0.0"
59 glob "^7.0.3"
60 html-webpack-plugin "^2.29.0"
61 istanbul-instrumenter-loader "^2.0.0"
62 karma-source-map-support "^1.2.0"
63 less "^2.7.2"
64 less-loader "^4.0.5"
65 license-webpack-plugin "^1.0.0"
66 lodash "^4.11.1"
67 memory-fs "^0.4.1"
68 minimatch "^3.0.4"
69 node-modules-path "^1.0.0"
70 nopt "^4.0.1"
71 opn "~5.1.0"
72 portfinder "~1.0.12"
73 postcss-custom-properties "^6.1.0"
74 postcss-loader "^2.0.8"
75 postcss-url "^7.1.2"
76 raw-loader "^0.5.1"
77 resolve "^1.1.7"
78 rxjs "^5.5.2"
79 sass-loader "^6.0.3"
80 semver "^5.1.0"
81 silent-error "^1.0.0"
82 source-map-loader "^0.2.0"
83 source-map-support "^0.4.1"
84 style-loader "^0.13.1"
85 stylus "^0.54.5"
86 stylus-loader "^3.0.1"
87 uglifyjs-webpack-plugin "~1.1.2"
88 url-loader "^0.6.2"
89 webpack "~3.10.0"
90 webpack-concat-plugin "^1.4.2"
91 webpack-dev-middleware "~1.12.0"
92 webpack-dev-server "~2.9.3"
93 webpack-merge "^4.1.0"
94 webpack-sources "^1.0.0"
95 webpack-subresource-integrity "^1.0.1"
96 zone.js "^0.8.14"
97 optionalDependencies:
98 node-sass "^4.3.0"
99
11"@angular/common@~4.4.0": 100"@angular/common@~4.4.0":
12 version "4.4.6" 101 version "4.4.6"
13 resolved "https://registry.yarnpkg.com/@angular/common/-/common-4.4.6.tgz#4b81420724e0828a0e839b95a55eb1a7e83918f2" 102 resolved "https://registry.yarnpkg.com/@angular/common/-/common-4.4.6.tgz#4b81420724e0828a0e839b95a55eb1a7e83918f2"
@@ -46,6 +135,10 @@
46 dependencies: 135 dependencies:
47 tslib "^1.7.1" 136 tslib "^1.7.1"
48 137
138"@angular/language-service@^5.1.0":
139 version "5.1.0"
140 resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-5.1.0.tgz#0cdd1a9d6056f1567bfe3c016352bc2e9d20cb84"
141
49"@angular/platform-browser-dynamic@~4.4.0": 142"@angular/platform-browser-dynamic@~4.4.0":
50 version "4.4.6" 143 version "4.4.6"
51 resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-4.4.6.tgz#4d3d9a6a7bf2cf3de4058a615ae059eff641fa36" 144 resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-4.4.6.tgz#4d3d9a6a7bf2cf3de4058a615ae059eff641fa36"
@@ -80,12 +173,38 @@
80 version "2.1.3" 173 version "2.1.3"
81 resolved "https://registry.yarnpkg.com/@angularclass/hmr/-/hmr-2.1.3.tgz#34e658ed3da37f23b0a200e2da5a89be92bb209f" 174 resolved "https://registry.yarnpkg.com/@angularclass/hmr/-/hmr-2.1.3.tgz#34e658ed3da37f23b0a200e2da5a89be92bb209f"
82 175
176"@ngtools/json-schema@1.1.0", "@ngtools/json-schema@^1.1.0":
177 version "1.1.0"
178 resolved "https://registry.yarnpkg.com/@ngtools/json-schema/-/json-schema-1.1.0.tgz#c3a0c544d62392acc2813a42c8a0dc6f58f86922"
179
180"@ngtools/webpack@1.9.0":
181 version "1.9.0"
182 resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-1.9.0.tgz#ef395c45be2de9beb93a2b9f5f171d28c344eb10"
183 dependencies:
184 chalk "~2.2.0"
185 enhanced-resolve "^3.1.0"
186 loader-utils "^1.0.2"
187 magic-string "^0.22.3"
188 semver "^5.3.0"
189 source-map "^0.5.6"
190 tree-kill "^1.0.0"
191
83"@ngx-meta/core@^4.0.1": 192"@ngx-meta/core@^4.0.1":
84 version "4.0.1" 193 version "4.0.1"
85 resolved "https://registry.yarnpkg.com/@ngx-meta/core/-/core-4.0.1.tgz#b035febeeb92876920480f70719fcf953dc0245f" 194 resolved "https://registry.yarnpkg.com/@ngx-meta/core/-/core-4.0.1.tgz#b035febeeb92876920480f70719fcf953dc0245f"
86 dependencies: 195 dependencies:
87 tslib "~1.7.1" 196 tslib "~1.7.1"
88 197
198"@schematics/angular@~0.1.10":
199 version "0.1.10"
200 resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-0.1.10.tgz#654d867992277484ed2d82d015b2d3b6ff87b93d"
201 dependencies:
202 "@angular-devkit/core" "0.0.22"
203
204"@schematics/schematics@0.0.10":
205 version "0.0.10"
206 resolved "https://registry.yarnpkg.com/@schematics/schematics/-/schematics-0.0.10.tgz#b27b49a1a5482dc6c1c93fb3c20371c95874938b"
207
89"@types/bittorrent-protocol@*": 208"@types/bittorrent-protocol@*":
90 version "2.2.2" 209 version "2.2.2"
91 resolved "https://registry.yarnpkg.com/@types/bittorrent-protocol/-/bittorrent-protocol-2.2.2.tgz#169e9633e1bd18e6b830d11cf42e611b1972cb83" 210 resolved "https://registry.yarnpkg.com/@types/bittorrent-protocol/-/bittorrent-protocol-2.2.2.tgz#169e9633e1bd18e6b830d11cf42e611b1972cb83"
@@ -398,6 +517,10 @@ arrify@^1.0.0:
398 version "1.0.1" 517 version "1.0.1"
399 resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 518 resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
400 519
520asap@~2.0.3:
521 version "2.0.6"
522 resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
523
401asn1.js@^4.0.0: 524asn1.js@^4.0.0:
402 version "4.9.2" 525 version "4.9.2"
403 resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.2.tgz#8117ef4f7ed87cd8f89044b5bff97ac243a16c9a" 526 resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.2.tgz#8117ef4f7ed87cd8f89044b5bff97ac243a16c9a"
@@ -472,7 +595,7 @@ atob@~1.1.0:
472 version "1.1.3" 595 version "1.1.3"
473 resolved "https://registry.yarnpkg.com/atob/-/atob-1.1.3.tgz#95f13629b12c3a51a5d215abdce2aa9f32f80773" 596 resolved "https://registry.yarnpkg.com/atob/-/atob-1.1.3.tgz#95f13629b12c3a51a5d215abdce2aa9f32f80773"
474 597
475autoprefixer@^6.3.1: 598autoprefixer@^6.3.1, autoprefixer@^6.5.3:
476 version "6.7.7" 599 version "6.7.7"
477 resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" 600 resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014"
478 dependencies: 601 dependencies:
@@ -540,7 +663,7 @@ babel-core@^6.25.0, babel-core@^6.26.0:
540 slash "^1.0.0" 663 slash "^1.0.0"
541 source-map "^0.5.6" 664 source-map "^0.5.6"
542 665
543babel-generator@^6.26.0: 666babel-generator@^6.18.0, babel-generator@^6.26.0:
544 version "6.26.0" 667 version "6.26.0"
545 resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" 668 resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5"
546 dependencies: 669 dependencies:
@@ -937,7 +1060,7 @@ babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0, babel-runti
937 core-js "^2.4.0" 1060 core-js "^2.4.0"
938 regenerator-runtime "^0.11.0" 1061 regenerator-runtime "^0.11.0"
939 1062
940babel-template@^6.24.1, babel-template@^6.26.0: 1063babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0:
941 version "6.26.0" 1064 version "6.26.0"
942 resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" 1065 resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
943 dependencies: 1066 dependencies:
@@ -947,7 +1070,7 @@ babel-template@^6.24.1, babel-template@^6.26.0:
947 babylon "^6.18.0" 1070 babylon "^6.18.0"
948 lodash "^4.17.4" 1071 lodash "^4.17.4"
949 1072
950babel-traverse@^6.24.1, babel-traverse@^6.26.0: 1073babel-traverse@^6.18.0, babel-traverse@^6.24.1, babel-traverse@^6.26.0:
951 version "6.26.0" 1074 version "6.26.0"
952 resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" 1075 resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
953 dependencies: 1076 dependencies:
@@ -961,7 +1084,7 @@ babel-traverse@^6.24.1, babel-traverse@^6.26.0:
961 invariant "^2.2.2" 1084 invariant "^2.2.2"
962 lodash "^4.17.4" 1085 lodash "^4.17.4"
963 1086
964babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: 1087babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0:
965 version "6.26.0" 1088 version "6.26.0"
966 resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" 1089 resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
967 dependencies: 1090 dependencies:
@@ -1176,27 +1299,10 @@ boom@5.x.x:
1176 dependencies: 1299 dependencies:
1177 hoek "4.x.x" 1300 hoek "4.x.x"
1178 1301
1179bootstrap-loader@2.2.0: 1302bootstrap-sass@^3.3.7:
1180 version "2.2.0"
1181 resolved "https://registry.yarnpkg.com/bootstrap-loader/-/bootstrap-loader-2.2.0.tgz#dc162c82497275f0e427ab49bc406b4e6a8e250b"
1182 dependencies:
1183 chalk "^1.1.3"
1184 escape-regexp "0.0.1"
1185 exports-loader "^0.6.3"
1186 js-yaml "^3.7.0"
1187 loader-utils "^1.0.2"
1188 resolve "^1.1.7"
1189 semver "^5.3.0"
1190 strip-json-comments "^2.0.1"
1191
1192bootstrap-sass@^3.3.6:
1193 version "3.3.7" 1303 version "3.3.7"
1194 resolved "https://registry.yarnpkg.com/bootstrap-sass/-/bootstrap-sass-3.3.7.tgz#6596c7ab40f6637393323ab0bc80d064fc630498" 1304 resolved "https://registry.yarnpkg.com/bootstrap-sass/-/bootstrap-sass-3.3.7.tgz#6596c7ab40f6637393323ab0bc80d064fc630498"
1195 1305
1196bootstrap@^3.3.6:
1197 version "3.3.7"
1198 resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-3.3.7.tgz#5a389394549f23330875a3b150656574f8a9eb71"
1199
1200brace-expansion@^1.1.7: 1306brace-expansion@^1.1.7:
1201 version "1.1.8" 1307 version "1.1.8"
1202 resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" 1308 resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292"
@@ -1442,6 +1548,10 @@ cardinal@^1.0.0:
1442 ansicolors "~0.2.1" 1548 ansicolors "~0.2.1"
1443 redeyed "~1.0.0" 1549 redeyed "~1.0.0"
1444 1550
1551caseless@~0.11.0:
1552 version "0.11.0"
1553 resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7"
1554
1445caseless@~0.12.0: 1555caseless@~0.12.0:
1446 version "0.12.0" 1556 version "0.12.0"
1447 resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 1557 resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
@@ -1471,6 +1581,18 @@ chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.0:
1471 escape-string-regexp "^1.0.5" 1581 escape-string-regexp "^1.0.5"
1472 supports-color "^4.0.0" 1582 supports-color "^4.0.0"
1473 1583
1584chalk@~2.2.0:
1585 version "2.2.2"
1586 resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.2.2.tgz#4403f5cf18f35c05f51fbdf152bf588f956cf7cb"
1587 dependencies:
1588 ansi-styles "^3.1.0"
1589 escape-string-regexp "^1.0.5"
1590 supports-color "^4.0.0"
1591
1592charenc@~0.0.1:
1593 version "0.0.2"
1594 resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667"
1595
1474chokidar@^1.6.0, chokidar@^1.7.0: 1596chokidar@^1.6.0, chokidar@^1.7.0:
1475 version "1.7.0" 1597 version "1.7.0"
1476 resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" 1598 resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
@@ -1505,6 +1627,10 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
1505 inherits "^2.0.1" 1627 inherits "^2.0.1"
1506 safe-buffer "^5.0.1" 1628 safe-buffer "^5.0.1"
1507 1629
1630circular-dependency-plugin@^4.2.1:
1631 version "4.3.0"
1632 resolved "https://registry.yarnpkg.com/circular-dependency-plugin/-/circular-dependency-plugin-4.3.0.tgz#2a12824e584546e1aeea5865b7bf234a11c4a695"
1633
1508circular-json@^0.3.1: 1634circular-json@^0.3.1:
1509 version "0.3.3" 1635 version "0.3.3"
1510 resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" 1636 resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66"
@@ -1583,6 +1709,10 @@ clone@^1.0.2:
1583 version "1.0.2" 1709 version "1.0.2"
1584 resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" 1710 resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149"
1585 1711
1712clone@^2.1.1:
1713 version "2.1.1"
1714 resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb"
1715
1586closest-to@~2.0.0: 1716closest-to@~2.0.0:
1587 version "2.0.0" 1717 version "2.0.0"
1588 resolved "https://registry.yarnpkg.com/closest-to/-/closest-to-2.0.0.tgz#bb2a860edb7769b62d04821748ae50da24dbefaa" 1718 resolved "https://registry.yarnpkg.com/closest-to/-/closest-to-2.0.0.tgz#bb2a860edb7769b62d04821748ae50da24dbefaa"
@@ -1669,6 +1799,16 @@ commander@2.11.x, commander@^2.9.0, commander@~2.11.0:
1669 version "2.11.0" 1799 version "2.11.0"
1670 resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" 1800 resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563"
1671 1801
1802commander@~2.12.1:
1803 version "2.12.2"
1804 resolved "https://registry.yarnpkg.com/commander/-/commander-2.12.2.tgz#0f5946c427ed9ec0d91a46bb9def53e54650e555"
1805
1806common-tags@^1.3.1:
1807 version "1.5.1"
1808 resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.5.1.tgz#e2e39931a013cd02253defeed89a1ad615a27f07"
1809 dependencies:
1810 babel-runtime "^6.26.0"
1811
1672commondir@^1.0.1: 1812commondir@^1.0.1:
1673 version "1.0.1" 1813 version "1.0.1"
1674 resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 1814 resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
@@ -1751,6 +1891,10 @@ convert-source-map@^1.1.1, convert-source-map@^1.5.0:
1751 version "1.5.0" 1891 version "1.5.0"
1752 resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" 1892 resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5"
1753 1893
1894convert-source-map@^1.3.0:
1895 version "1.5.1"
1896 resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5"
1897
1754cookie-signature@1.0.6: 1898cookie-signature@1.0.6:
1755 version "1.0.6" 1899 version "1.0.6"
1756 resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" 1900 resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
@@ -1787,14 +1931,43 @@ copy-webpack-plugin@^4.0.0:
1787 minimatch "^3.0.4" 1931 minimatch "^3.0.4"
1788 node-dir "^0.1.10" 1932 node-dir "^0.1.10"
1789 1933
1934copy-webpack-plugin@^4.1.1:
1935 version "4.2.3"
1936 resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.2.3.tgz#4a3c61089f3b635777f0f0af346c338b39d63755"
1937 dependencies:
1938 bluebird "^3.5.1"
1939 glob "^7.1.2"
1940 is-glob "^4.0.0"
1941 loader-utils "^0.2.15"
1942 lodash "^4.3.0"
1943 minimatch "^3.0.4"
1944
1790core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0: 1945core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0:
1791 version "2.5.1" 1946 version "2.5.1"
1792 resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" 1947 resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b"
1793 1948
1949core-object@^3.1.0:
1950 version "3.1.5"
1951 resolved "https://registry.yarnpkg.com/core-object/-/core-object-3.1.5.tgz#fa627b87502adc98045e44678e9a8ec3b9c0d2a9"
1952 dependencies:
1953 chalk "^2.0.0"
1954
1794core-util-is@1.0.2, core-util-is@~1.0.0: 1955core-util-is@1.0.2, core-util-is@~1.0.0:
1795 version "1.0.2" 1956 version "1.0.2"
1796 resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 1957 resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
1797 1958
1959cosmiconfig@^2.1.0, cosmiconfig@^2.1.1:
1960 version "2.2.2"
1961 resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.2.2.tgz#6173cebd56fac042c1f4390edf7af6c07c7cb892"
1962 dependencies:
1963 is-directory "^0.3.1"
1964 js-yaml "^3.4.3"
1965 minimist "^1.2.0"
1966 object-assign "^4.1.0"
1967 os-homedir "^1.0.1"
1968 parse-json "^2.2.0"
1969 require-from-string "^1.1.0"
1970
1798create-ecdh@^4.0.0: 1971create-ecdh@^4.0.0:
1799 version "4.0.0" 1972 version "4.0.0"
1800 resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d" 1973 resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d"
@@ -1856,6 +2029,10 @@ cross-spawn@^5.0.1:
1856 shebang-command "^1.2.0" 2029 shebang-command "^1.2.0"
1857 which "^1.2.9" 2030 which "^1.2.9"
1858 2031
2032crypt@~0.0.1:
2033 version "0.0.2"
2034 resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b"
2035
1859cryptiles@2.x.x: 2036cryptiles@2.x.x:
1860 version "2.0.5" 2037 version "2.0.5"
1861 resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" 2038 resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
@@ -1888,7 +2065,7 @@ css-color-names@0.0.4:
1888 version "0.0.4" 2065 version "0.0.4"
1889 resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" 2066 resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
1890 2067
1891css-loader@^0.28.4: 2068css-loader@^0.28.1, css-loader@^0.28.4:
1892 version "0.28.7" 2069 version "0.28.7"
1893 resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.7.tgz#5f2ee989dd32edd907717f953317656160999c1b" 2070 resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.7.tgz#5f2ee989dd32edd907717f953317656160999c1b"
1894 dependencies: 2071 dependencies:
@@ -1907,6 +2084,10 @@ css-loader@^0.28.4:
1907 postcss-value-parser "^3.3.0" 2084 postcss-value-parser "^3.3.0"
1908 source-list-map "^2.0.0" 2085 source-list-map "^2.0.0"
1909 2086
2087css-parse@1.7.x:
2088 version "1.7.0"
2089 resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-1.7.0.tgz#321f6cf73782a6ff751111390fc05e2c657d8c9b"
2090
1910css-select@^1.1.0: 2091css-select@^1.1.0:
1911 version "1.2.0" 2092 version "1.2.0"
1912 resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" 2093 resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
@@ -1953,7 +2134,7 @@ cssesc@^0.1.0:
1953 version "0.1.0" 2134 version "0.1.0"
1954 resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" 2135 resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4"
1955 2136
1956"cssnano@>=2.6.1 <4": 2137"cssnano@>=2.6.1 <4", cssnano@^3.10.0:
1957 version "3.10.0" 2138 version "3.10.0"
1958 resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" 2139 resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38"
1959 dependencies: 2140 dependencies:
@@ -1997,6 +2178,10 @@ csso@~2.3.1:
1997 clap "^1.0.9" 2178 clap "^1.0.9"
1998 source-map "^0.5.3" 2179 source-map "^0.5.3"
1999 2180
2181cuint@latest:
2182 version "0.2.2"
2183 resolved "https://registry.yarnpkg.com/cuint/-/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b"
2184
2000currently-unhandled@^0.4.1: 2185currently-unhandled@^0.4.1:
2001 version "0.4.1" 2186 version "0.4.1"
2002 resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" 2187 resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
@@ -2027,15 +2212,15 @@ debug-log@^1.0.0:
2027 version "1.0.1" 2212 version "1.0.1"
2028 resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" 2213 resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f"
2029 2214
2030debug@2.6.9, debug@^2.0.0, debug@^2.1.0, debug@^2.1.1, debug@^2.1.3, debug@^2.2.0, debug@^2.3.3, debug@^2.5.2, debug@^2.6.6, debug@^2.6.8: 2215debug@*, debug@^3.1.0:
2031 version "2.6.9" 2216 version "3.1.0"
2032 resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 2217 resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
2033 dependencies: 2218 dependencies:
2034 ms "2.0.0" 2219 ms "2.0.0"
2035 2220
2036debug@^3.1.0: 2221debug@2.6.9, debug@^2.0.0, debug@^2.1.0, debug@^2.1.1, debug@^2.1.3, debug@^2.2.0, debug@^2.3.3, debug@^2.5.2, debug@^2.6.6, debug@^2.6.8:
2037 version "3.1.0" 2222 version "2.6.9"
2038 resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 2223 resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
2039 dependencies: 2224 dependencies:
2040 ms "2.0.0" 2225 ms "2.0.0"
2041 2226
@@ -2130,6 +2315,10 @@ delegates@^1.0.0:
2130 version "1.0.0" 2315 version "1.0.0"
2131 resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 2316 resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
2132 2317
2318denodeify@^1.2.1:
2319 version "1.2.1"
2320 resolved "https://registry.yarnpkg.com/denodeify/-/denodeify-1.2.1.tgz#3a36287f5034e699e7577901052c2e6c94251631"
2321
2133depd@1.1.1, depd@~1.1.1: 2322depd@1.1.1, depd@~1.1.1:
2134 version "1.1.1" 2323 version "1.1.1"
2135 resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" 2324 resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359"
@@ -2280,7 +2469,7 @@ ee-first@1.1.1:
2280 version "1.1.1" 2469 version "1.1.1"
2281 resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 2470 resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
2282 2471
2283ejs@^2.5.6: 2472ejs@^2.5.6, ejs@^2.5.7:
2284 version "2.5.7" 2473 version "2.5.7"
2285 resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.7.tgz#cc872c168880ae3c7189762fd5ffc00896c9518a" 2474 resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.7.tgz#cc872c168880ae3c7189762fd5ffc00896c9518a"
2286 2475
@@ -2300,6 +2489,10 @@ elliptic@^6.0.0:
2300 minimalistic-assert "^1.0.0" 2489 minimalistic-assert "^1.0.0"
2301 minimalistic-crypto-utils "^1.0.0" 2490 minimalistic-crypto-utils "^1.0.0"
2302 2491
2492ember-cli-string-utils@^1.0.0:
2493 version "1.1.0"
2494 resolved "https://registry.yarnpkg.com/ember-cli-string-utils/-/ember-cli-string-utils-1.1.0.tgz#39b677fc2805f55173735376fcef278eaa4452a1"
2495
2303emojis-list@^2.0.0: 2496emojis-list@^2.0.0:
2304 version "2.1.0" 2497 version "2.1.0"
2305 resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" 2498 resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
@@ -2323,7 +2516,7 @@ enhanced-resolve@3.3.0:
2323 object-assign "^4.0.1" 2516 object-assign "^4.0.1"
2324 tapable "^0.2.5" 2517 tapable "^0.2.5"
2325 2518
2326enhanced-resolve@^3.4.0: 2519enhanced-resolve@^3.1.0, enhanced-resolve@^3.4.0:
2327 version "3.4.1" 2520 version "3.4.1"
2328 resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e" 2521 resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e"
2329 dependencies: 2522 dependencies:
@@ -2336,6 +2529,12 @@ entities@~1.1.1:
2336 version "1.1.1" 2529 version "1.1.1"
2337 resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" 2530 resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0"
2338 2531
2532errno@^0.1.1:
2533 version "0.1.5"
2534 resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.5.tgz#a563781a6052bc2c9ccd89e8cef0eb9506e0c321"
2535 dependencies:
2536 prr "~1.0.1"
2537
2339errno@^0.1.3, errno@^0.1.4: 2538errno@^0.1.3, errno@^0.1.4:
2340 version "0.1.4" 2539 version "0.1.4"
2341 resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" 2540 resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d"
@@ -2430,10 +2629,6 @@ escape-html@~1.0.3:
2430 version "1.0.3" 2629 version "1.0.3"
2431 resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 2630 resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
2432 2631
2433escape-regexp@0.0.1:
2434 version "0.0.1"
2435 resolved "https://registry.yarnpkg.com/escape-regexp/-/escape-regexp-0.0.1.tgz#f44bda12d45bbdf9cb7f862ee7e4827b3dd32254"
2436
2437escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.3, escape-string-regexp@^1.0.5: 2632escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.3, escape-string-regexp@^1.0.5:
2438 version "1.0.5" 2633 version "1.0.5"
2439 resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 2634 resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
@@ -2688,7 +2883,7 @@ exports-loader@^0.6.3:
2688 loader-utils "^1.0.2" 2883 loader-utils "^1.0.2"
2689 source-map "0.5.x" 2884 source-map "0.5.x"
2690 2885
2691express@^4.13.3, express@^4.15.2: 2886express@^4.13.3, express@^4.15.2, express@^4.16.2:
2692 version "4.16.2" 2887 version "4.16.2"
2693 resolved "https://registry.yarnpkg.com/express/-/express-4.16.2.tgz#e35c6dfe2d64b7dca0a5cd4f21781be3299e076c" 2888 resolved "https://registry.yarnpkg.com/express/-/express-4.16.2.tgz#e35c6dfe2d64b7dca0a5cd4f21781be3299e076c"
2694 dependencies: 2889 dependencies:
@@ -2752,7 +2947,7 @@ extglob@^2.0.2:
2752 snapdragon "^0.8.1" 2947 snapdragon "^0.8.1"
2753 to-regex "^3.0.1" 2948 to-regex "^3.0.1"
2754 2949
2755extract-text-webpack-plugin@^3.0.0: 2950extract-text-webpack-plugin@^3.0.0, extract-text-webpack-plugin@^3.0.2:
2756 version "3.0.2" 2951 version "3.0.2"
2757 resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz#5f043eaa02f9750a9258b78c0a6e0dc1408fb2f7" 2952 resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz#5f043eaa02f9750a9258b78c0a6e0dc1408fb2f7"
2758 dependencies: 2953 dependencies:
@@ -2989,6 +3184,14 @@ fs-chunk-store@^1.6.2:
2989 run-parallel "^1.1.2" 3184 run-parallel "^1.1.2"
2990 thunky "^1.0.1" 3185 thunky "^1.0.1"
2991 3186
3187fs-extra@^4.0.0:
3188 version "4.0.3"
3189 resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94"
3190 dependencies:
3191 graceful-fs "^4.1.2"
3192 jsonfile "^4.0.0"
3193 universalify "^0.1.0"
3194
2992fs-extra@^4.0.2: 3195fs-extra@^4.0.2:
2993 version "4.0.2" 3196 version "4.0.2"
2994 resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.2.tgz#f91704c53d1b461f893452b0c307d9997647ab6b" 3197 resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.2.tgz#f91704c53d1b461f893452b0c307d9997647ab6b"
@@ -3114,6 +3317,27 @@ glob-parent@^2.0.0:
3114 dependencies: 3317 dependencies:
3115 is-glob "^2.0.0" 3318 is-glob "^2.0.0"
3116 3319
3320glob@7.0.x:
3321 version "7.0.6"
3322 resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a"
3323 dependencies:
3324 fs.realpath "^1.0.0"
3325 inflight "^1.0.4"
3326 inherits "2"
3327 minimatch "^3.0.2"
3328 once "^1.3.0"
3329 path-is-absolute "^1.0.0"
3330
3331glob@^6.0.4:
3332 version "6.0.4"
3333 resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"
3334 dependencies:
3335 inflight "^1.0.4"
3336 inherits "2"
3337 minimatch "2 || 3"
3338 once "^1.3.0"
3339 path-is-absolute "^1.0.0"
3340
3117glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@~7.1.1: 3341glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@~7.1.1:
3118 version "7.1.2" 3342 version "7.1.2"
3119 resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 3343 resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
@@ -3198,6 +3422,15 @@ har-schema@^2.0.0:
3198 version "2.0.0" 3422 version "2.0.0"
3199 resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 3423 resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
3200 3424
3425har-validator@~2.0.6:
3426 version "2.0.6"
3427 resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d"
3428 dependencies:
3429 chalk "^1.1.1"
3430 commander "^2.9.0"
3431 is-my-json-valid "^2.12.4"
3432 pinkie-promise "^2.0.0"
3433
3201har-validator@~4.2.1: 3434har-validator@~4.2.1:
3202 version "4.2.1" 3435 version "4.2.1"
3203 resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" 3436 resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a"
@@ -3368,7 +3601,7 @@ html-minifier@^3.2.3:
3368 relateurl "0.2.x" 3601 relateurl "0.2.x"
3369 uglify-js "3.1.x" 3602 uglify-js "3.1.x"
3370 3603
3371html-webpack-plugin@^2.19.0: 3604html-webpack-plugin@^2.19.0, html-webpack-plugin@^2.29.0:
3372 version "2.30.1" 3605 version "2.30.1"
3373 resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-2.30.1.tgz#7f9c421b7ea91ec460f56527d78df484ee7537d5" 3606 resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-2.30.1.tgz#7f9c421b7ea91ec460f56527d78df484ee7537d5"
3374 dependencies: 3607 dependencies:
@@ -3471,6 +3704,10 @@ ignore@^3.0.11, ignore@^3.0.9, ignore@^3.2.0:
3471 version "3.3.7" 3704 version "3.3.7"
3472 resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021" 3705 resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021"
3473 3706
3707image-size@~0.5.0:
3708 version "0.5.5"
3709 resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c"
3710
3474immediate-chunk-store@^1.0.8: 3711immediate-chunk-store@^1.0.8:
3475 version "1.0.8" 3712 version "1.0.8"
3476 resolved "https://registry.yarnpkg.com/immediate-chunk-store/-/immediate-chunk-store-1.0.8.tgz#0ecdad0c546332672d7b5b511b26bb18ce56e73f" 3713 resolved "https://registry.yarnpkg.com/immediate-chunk-store/-/immediate-chunk-store-1.0.8.tgz#0ecdad0c546332672d7b5b511b26bb18ce56e73f"
@@ -3617,7 +3854,7 @@ is-binary-path@^1.0.0:
3617 dependencies: 3854 dependencies:
3618 binary-extensions "^1.0.0" 3855 binary-extensions "^1.0.0"
3619 3856
3620is-buffer@^1.0.2, is-buffer@^1.1.5: 3857is-buffer@^1.0.2, is-buffer@^1.1.5, is-buffer@~1.1.1:
3621 version "1.1.6" 3858 version "1.1.6"
3622 resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 3859 resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
3623 3860
@@ -3657,6 +3894,10 @@ is-descriptor@^1.0.0:
3657 is-data-descriptor "^0.1.4" 3894 is-data-descriptor "^0.1.4"
3658 kind-of "^5.0.0" 3895 kind-of "^5.0.0"
3659 3896
3897is-directory@^0.3.1:
3898 version "0.3.1"
3899 resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
3900
3660is-dotfile@^1.0.0: 3901is-dotfile@^1.0.0:
3661 version "1.0.3" 3902 version "1.0.3"
3662 resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" 3903 resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
@@ -3721,7 +3962,7 @@ is-glob@^4.0.0:
3721 dependencies: 3962 dependencies:
3722 is-extglob "^2.1.1" 3963 is-extglob "^2.1.1"
3723 3964
3724is-my-json-valid@^2.10.0: 3965is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4:
3725 version "2.16.1" 3966 version "2.16.1"
3726 resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz#5a846777e2c2620d1e69104e5d3a03b1f6088f11" 3967 resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz#5a846777e2c2620d1e69104e5d3a03b1f6088f11"
3727 dependencies: 3968 dependencies:
@@ -3850,6 +4091,31 @@ isstream@~0.1.2:
3850 version "0.1.2" 4091 version "0.1.2"
3851 resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 4092 resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
3852 4093
4094istanbul-instrumenter-loader@^2.0.0:
4095 version "2.0.0"
4096 resolved "https://registry.yarnpkg.com/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-2.0.0.tgz#e5492900ab0bba835efa8024cb00be9b3eea2700"
4097 dependencies:
4098 convert-source-map "^1.3.0"
4099 istanbul-lib-instrument "^1.1.3"
4100 loader-utils "^0.2.16"
4101 object-assign "^4.1.0"
4102
4103istanbul-lib-coverage@^1.1.1:
4104 version "1.1.1"
4105 resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz#73bfb998885299415c93d38a3e9adf784a77a9da"
4106
4107istanbul-lib-instrument@^1.1.3:
4108 version "1.9.1"
4109 resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz#250b30b3531e5d3251299fdd64b0b2c9db6b558e"
4110 dependencies:
4111 babel-generator "^6.18.0"
4112 babel-template "^6.16.0"
4113 babel-traverse "^6.18.0"
4114 babel-types "^6.18.0"
4115 babylon "^6.18.0"
4116 istanbul-lib-coverage "^1.1.1"
4117 semver "^5.3.0"
4118
3853js-base64@^2.1.8, js-base64@^2.1.9: 4119js-base64@^2.1.8, js-base64@^2.1.9:
3854 version "2.3.2" 4120 version "2.3.2"
3855 resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.3.2.tgz#a79a923666372b580f8e27f51845c6f7e8fbfbaf" 4121 resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.3.2.tgz#a79a923666372b580f8e27f51845c6f7e8fbfbaf"
@@ -3858,7 +4124,7 @@ js-tokens@^3.0.0, js-tokens@^3.0.2:
3858 version "3.0.2" 4124 version "3.0.2"
3859 resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" 4125 resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
3860 4126
3861js-yaml@^3.5.1, js-yaml@^3.7.0: 4127js-yaml@^3.4.3, js-yaml@^3.5.1:
3862 version "3.10.0" 4128 version "3.10.0"
3863 resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc" 4129 resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc"
3864 dependencies: 4130 dependencies:
@@ -3975,6 +4241,12 @@ k-rpc@^4.1.0:
3975 k-rpc-socket "^1.7.0" 4241 k-rpc-socket "^1.7.0"
3976 safe-buffer "^5.1.1" 4242 safe-buffer "^5.1.1"
3977 4243
4244karma-source-map-support@^1.2.0:
4245 version "1.2.0"
4246 resolved "https://registry.yarnpkg.com/karma-source-map-support/-/karma-source-map-support-1.2.0.tgz#1bf81e7bb4b089627ab352ec4179e117c406a540"
4247 dependencies:
4248 source-map-support "^0.4.1"
4249
3978killable@^1.0.0: 4250killable@^1.0.0:
3979 version "1.0.0" 4251 version "1.0.0"
3980 resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.0.tgz#da8b84bd47de5395878f95d64d02f2449fe05e6b" 4252 resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.0.tgz#da8b84bd47de5395878f95d64d02f2449fe05e6b"
@@ -4025,6 +4297,27 @@ lcid@^1.0.0:
4025 dependencies: 4297 dependencies:
4026 invert-kv "^1.0.0" 4298 invert-kv "^1.0.0"
4027 4299
4300less-loader@^4.0.5:
4301 version "4.0.5"
4302 resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-4.0.5.tgz#ae155a7406cac6acd293d785587fcff0f478c4dd"
4303 dependencies:
4304 clone "^2.1.1"
4305 loader-utils "^1.1.0"
4306 pify "^2.3.0"
4307
4308less@^2.7.2:
4309 version "2.7.3"
4310 resolved "https://registry.yarnpkg.com/less/-/less-2.7.3.tgz#cc1260f51c900a9ec0d91fb6998139e02507b63b"
4311 optionalDependencies:
4312 errno "^0.1.1"
4313 graceful-fs "^4.1.2"
4314 image-size "~0.5.0"
4315 mime "^1.2.11"
4316 mkdirp "^0.5.0"
4317 promise "^7.1.1"
4318 request "2.81.0"
4319 source-map "^0.5.3"
4320
4028levn@^0.3.0, levn@~0.3.0: 4321levn@^0.3.0, levn@~0.3.0:
4029 version "0.3.0" 4322 version "0.3.0"
4030 resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 4323 resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
@@ -4032,6 +4325,12 @@ levn@^0.3.0, levn@~0.3.0:
4032 prelude-ls "~1.1.2" 4325 prelude-ls "~1.1.2"
4033 type-check "~0.3.2" 4326 type-check "~0.3.2"
4034 4327
4328license-webpack-plugin@^1.0.0:
4329 version "1.1.1"
4330 resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-1.1.1.tgz#76b2cedccc78f139fd7877e576f756cfc141b8c2"
4331 dependencies:
4332 ejs "^2.5.7"
4333
4035linkify-it@^2.0.0: 4334linkify-it@^2.0.0:
4036 version "2.0.3" 4335 version "2.0.3"
4037 resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.0.3.tgz#d94a4648f9b1c179d64fa97291268bdb6ce9434f" 4336 resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.0.3.tgz#d94a4648f9b1c179d64fa97291268bdb6ce9434f"
@@ -4172,7 +4471,7 @@ lodash.clonedeep@^3.0.0:
4172 lodash._baseclone "^3.0.0" 4471 lodash._baseclone "^3.0.0"
4173 lodash._bindcallback "^3.0.0" 4472 lodash._bindcallback "^3.0.0"
4174 4473
4175lodash.clonedeep@^4.3.2: 4474lodash.clonedeep@^4.3.2, lodash.clonedeep@^4.5.0:
4176 version "4.5.0" 4475 version "4.5.0"
4177 resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" 4476 resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
4178 4477
@@ -4273,7 +4572,7 @@ lodash.uniq@^4.5.0:
4273 version "4.5.0" 4572 version "4.5.0"
4274 resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" 4573 resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
4275 4574
4276lodash@^4, lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.3.0, lodash@~4.17.4: 4575lodash@^4, 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:
4277 version "4.17.4" 4576 version "4.17.4"
4278 resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" 4577 resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
4279 4578
@@ -4399,6 +4698,14 @@ md5.js@^1.3.4:
4399 hash-base "^3.0.0" 4698 hash-base "^3.0.0"
4400 inherits "^2.0.1" 4699 inherits "^2.0.1"
4401 4700
4701md5@^2.2.1:
4702 version "2.2.1"
4703 resolved "https://registry.yarnpkg.com/md5/-/md5-2.2.1.tgz#53ab38d5fe3c8891ba465329ea23fac0540126f9"
4704 dependencies:
4705 charenc "~0.0.1"
4706 crypt "~0.0.1"
4707 is-buffer "~1.1.1"
4708
4402mdurl@^1.0.1: 4709mdurl@^1.0.1:
4403 version "1.0.1" 4710 version "1.0.1"
4404 resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" 4711 resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e"
@@ -4425,7 +4732,7 @@ memory-chunk-store@^1.2.0:
4425 version "1.3.0" 4732 version "1.3.0"
4426 resolved "https://registry.yarnpkg.com/memory-chunk-store/-/memory-chunk-store-1.3.0.tgz#ae99e7e3b58b52db43d49d94722930d39459d0c4" 4733 resolved "https://registry.yarnpkg.com/memory-chunk-store/-/memory-chunk-store-1.3.0.tgz#ae99e7e3b58b52db43d49d94722930d39459d0c4"
4427 4734
4428memory-fs@^0.4.0, memory-fs@~0.4.1: 4735memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1:
4429 version "0.4.1" 4736 version "0.4.1"
4430 resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" 4737 resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
4431 dependencies: 4738 dependencies:
@@ -4516,6 +4823,10 @@ mime@1.4.1, mime@^1.3.4, mime@^1.4.1:
4516 version "1.4.1" 4823 version "1.4.1"
4517 resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" 4824 resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"
4518 4825
4826mime@^1.2.11, mime@^1.5.0:
4827 version "1.6.0"
4828 resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
4829
4519mimic-fn@^1.0.0: 4830mimic-fn@^1.0.0:
4520 version "1.1.0" 4831 version "1.1.0"
4521 resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" 4832 resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18"
@@ -4538,7 +4849,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
4538 version "1.0.1" 4849 version "1.0.1"
4539 resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" 4850 resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
4540 4851
4541minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2: 4852"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2:
4542 version "3.0.4" 4853 version "3.0.4"
4543 resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 4854 resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
4544 dependencies: 4855 dependencies:
@@ -4720,10 +5031,6 @@ ngx-clipboard@^9.0.0:
4720 dependencies: 5031 dependencies:
4721 ngx-window-token "0.0.4" 5032 ngx-window-token "0.0.4"
4722 5033
4723ngx-window-token@0.0.4:
4724 version "0.0.4"
4725 resolved "https://registry.yarnpkg.com/ngx-window-token/-/ngx-window-token-0.0.4.tgz#47e7aaa465411c4ab5f7ba17601bc593c956c736"
4726
4727ngx-infinite-scroll@^0.7.0: 5034ngx-infinite-scroll@^0.7.0:
4728 version "0.7.0" 5035 version "0.7.0"
4729 resolved "https://registry.yarnpkg.com/ngx-infinite-scroll/-/ngx-infinite-scroll-0.7.0.tgz#a390c61c6a05ac14485e1c5bc8b4e6f6bd62fd6a" 5036 resolved "https://registry.yarnpkg.com/ngx-infinite-scroll/-/ngx-infinite-scroll-0.7.0.tgz#a390c61c6a05ac14485e1c5bc8b4e6f6bd62fd6a"
@@ -4732,6 +5039,10 @@ ngx-pipes@^2.0.5:
4732 version "2.0.5" 5039 version "2.0.5"
4733 resolved "https://registry.yarnpkg.com/ngx-pipes/-/ngx-pipes-2.0.5.tgz#743b827e350b1e66f5bdae49e90a02fa631d4c54" 5040 resolved "https://registry.yarnpkg.com/ngx-pipes/-/ngx-pipes-2.0.5.tgz#743b827e350b1e66f5bdae49e90a02fa631d4c54"
4734 5041
5042ngx-window-token@0.0.4:
5043 version "0.0.4"
5044 resolved "https://registry.yarnpkg.com/ngx-window-token/-/ngx-window-token-0.0.4.tgz#47e7aaa465411c4ab5f7ba17601bc593c956c736"
5045
4735no-case@^2.2.0: 5046no-case@^2.2.0:
4736 version "2.3.2" 5047 version "2.3.2"
4737 resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" 5048 resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac"
@@ -4806,6 +5117,10 @@ node-libs-browser@^2.0.0:
4806 util "^0.10.3" 5117 util "^0.10.3"
4807 vm-browserify "0.0.4" 5118 vm-browserify "0.0.4"
4808 5119
5120node-modules-path@^1.0.0:
5121 version "1.0.1"
5122 resolved "https://registry.yarnpkg.com/node-modules-path/-/node-modules-path-1.0.1.tgz#40096b08ce7ad0ea14680863af449c7c75a5d1c8"
5123
4809node-notifier@^4.1.0: 5124node-notifier@^4.1.0:
4810 version "4.6.1" 5125 version "4.6.1"
4811 resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-4.6.1.tgz#056d14244f3dcc1ceadfe68af9cff0c5473a33f3" 5126 resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-4.6.1.tgz#056d14244f3dcc1ceadfe68af9cff0c5473a33f3"
@@ -4857,6 +5172,30 @@ node-sass@^4.1.1:
4857 sass-graph "^2.2.4" 5172 sass-graph "^2.2.4"
4858 stdout-stream "^1.4.0" 5173 stdout-stream "^1.4.0"
4859 5174
5175node-sass@^4.3.0:
5176 version "4.7.2"
5177 resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.7.2.tgz#9366778ba1469eb01438a9e8592f4262bcb6794e"
5178 dependencies:
5179 async-foreach "^0.1.3"
5180 chalk "^1.1.1"
5181 cross-spawn "^3.0.0"
5182 gaze "^1.0.0"
5183 get-stdin "^4.0.1"
5184 glob "^7.0.3"
5185 in-publish "^2.0.0"
5186 lodash.assign "^4.2.0"
5187 lodash.clonedeep "^4.3.2"
5188 lodash.mergewith "^4.6.0"
5189 meow "^3.7.0"
5190 mkdirp "^0.5.1"
5191 nan "^2.3.2"
5192 node-gyp "^3.3.1"
5193 npmlog "^4.0.0"
5194 request "~2.79.0"
5195 sass-graph "^2.2.4"
5196 stdout-stream "^1.4.0"
5197 "true-case-path" "^1.0.2"
5198
4860noop-logger@^0.1.1: 5199noop-logger@^0.1.1:
4861 version "0.1.1" 5200 version "0.1.1"
4862 resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2" 5201 resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2"
@@ -4906,6 +5245,10 @@ normalize.css@^7.0.0:
4906 version "7.0.0" 5245 version "7.0.0"
4907 resolved "https://registry.yarnpkg.com/normalize.css/-/normalize.css-7.0.0.tgz#abfb1dd82470674e0322b53ceb1aaf412938e4bf" 5246 resolved "https://registry.yarnpkg.com/normalize.css/-/normalize.css-7.0.0.tgz#abfb1dd82470674e0322b53ceb1aaf412938e4bf"
4908 5247
5248npm-font-source-sans-pro@^1.0.2:
5249 version "1.0.2"
5250 resolved "https://registry.yarnpkg.com/npm-font-source-sans-pro/-/npm-font-source-sans-pro-1.0.2.tgz#c55c8ae368eebdbcaca65425a0d7e1f9a192a03e"
5251
4909npm-run-path@^2.0.0: 5252npm-run-path@^2.0.0:
4910 version "2.0.2" 5253 version "2.0.2"
4911 resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 5254 resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
@@ -5014,7 +5357,7 @@ opener@^1.4.3:
5014 version "1.4.3" 5357 version "1.4.3"
5015 resolved "https://registry.yarnpkg.com/opener/-/opener-1.4.3.tgz#5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8" 5358 resolved "https://registry.yarnpkg.com/opener/-/opener-1.4.3.tgz#5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8"
5016 5359
5017opn@^5.1.0: 5360opn@^5.1.0, opn@~5.1.0:
5018 version "5.1.0" 5361 version "5.1.0"
5019 resolved "https://registry.yarnpkg.com/opn/-/opn-5.1.0.tgz#72ce2306a17dbea58ff1041853352b4a8fc77519" 5362 resolved "https://registry.yarnpkg.com/opn/-/opn-5.1.0.tgz#72ce2306a17dbea58ff1041853352b4a8fc77519"
5020 dependencies: 5363 dependencies:
@@ -5263,7 +5606,7 @@ piece-length@^1.0.0:
5263 dependencies: 5606 dependencies:
5264 closest-to "~2.0.0" 5607 closest-to "~2.0.0"
5265 5608
5266pify@^2.0.0: 5609pify@^2.0.0, pify@^2.3.0:
5267 version "2.3.0" 5610 version "2.3.0"
5268 resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 5611 resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
5269 5612
@@ -5318,7 +5661,7 @@ pluralize@^1.2.1:
5318 version "1.2.1" 5661 version "1.2.1"
5319 resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" 5662 resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45"
5320 5663
5321portfinder@^1.0.9: 5664portfinder@^1.0.9, portfinder@~1.0.12:
5322 version "1.0.13" 5665 version "1.0.13"
5323 resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9" 5666 resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9"
5324 dependencies: 5667 dependencies:
@@ -5353,6 +5696,13 @@ postcss-convert-values@^2.3.4:
5353 postcss "^5.0.11" 5696 postcss "^5.0.11"
5354 postcss-value-parser "^3.1.2" 5697 postcss-value-parser "^3.1.2"
5355 5698
5699postcss-custom-properties@^6.1.0:
5700 version "6.2.0"
5701 resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-6.2.0.tgz#5d929a7f06e9b84e0f11334194c0ba9a30acfbe9"
5702 dependencies:
5703 balanced-match "^1.0.0"
5704 postcss "^6.0.13"
5705
5356postcss-discard-comments@^2.0.4: 5706postcss-discard-comments@^2.0.4:
5357 version "2.0.4" 5707 version "2.0.4"
5358 resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d" 5708 resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d"
@@ -5391,6 +5741,38 @@ postcss-filter-plugins@^2.0.0:
5391 postcss "^5.0.4" 5741 postcss "^5.0.4"
5392 uniqid "^4.0.0" 5742 uniqid "^4.0.0"
5393 5743
5744postcss-load-config@^1.2.0:
5745 version "1.2.0"
5746 resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a"
5747 dependencies:
5748 cosmiconfig "^2.1.0"
5749 object-assign "^4.1.0"
5750 postcss-load-options "^1.2.0"
5751 postcss-load-plugins "^2.3.0"
5752
5753postcss-load-options@^1.2.0:
5754 version "1.2.0"
5755 resolved "https://registry.yarnpkg.com/postcss-load-options/-/postcss-load-options-1.2.0.tgz#b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c"
5756 dependencies:
5757 cosmiconfig "^2.1.0"
5758 object-assign "^4.1.0"
5759
5760postcss-load-plugins@^2.3.0:
5761 version "2.3.0"
5762 resolved "https://registry.yarnpkg.com/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz#745768116599aca2f009fad426b00175049d8d92"
5763 dependencies:
5764 cosmiconfig "^2.1.1"
5765 object-assign "^4.1.0"
5766
5767postcss-loader@^2.0.8:
5768 version "2.0.9"
5769 resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-2.0.9.tgz#001fdf7bfeeb159405ee61d1bb8e59b528dbd309"
5770 dependencies:
5771 loader-utils "^1.1.0"
5772 postcss "^6.0.0"
5773 postcss-load-config "^1.2.0"
5774 schema-utils "^0.3.0"
5775
5394postcss-merge-idents@^2.1.5: 5776postcss-merge-idents@^2.1.5:
5395 version "2.1.7" 5777 version "2.1.7"
5396 resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270" 5778 resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270"
@@ -5547,6 +5929,16 @@ postcss-unique-selectors@^2.0.2:
5547 postcss "^5.0.4" 5929 postcss "^5.0.4"
5548 uniqs "^2.0.0" 5930 uniqs "^2.0.0"
5549 5931
5932postcss-url@^7.1.2:
5933 version "7.3.0"
5934 resolved "https://registry.yarnpkg.com/postcss-url/-/postcss-url-7.3.0.tgz#cf2f45e06743cf43cfea25309f81cbc003dc783f"
5935 dependencies:
5936 mime "^1.4.1"
5937 minimatch "^3.0.4"
5938 mkdirp "^0.5.0"
5939 postcss "^6.0.1"
5940 xxhashjs "^0.2.1"
5941
5550postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: 5942postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0:
5551 version "3.3.0" 5943 version "3.3.0"
5552 resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" 5944 resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15"
@@ -5568,7 +5960,7 @@ postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0
5568 source-map "^0.5.6" 5960 source-map "^0.5.6"
5569 supports-color "^3.2.3" 5961 supports-color "^3.2.3"
5570 5962
5571postcss@^6.0.1: 5963postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.13:
5572 version "6.0.14" 5964 version "6.0.14"
5573 resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.14.tgz#5534c72114739e75d0afcf017db853099f562885" 5965 resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.14.tgz#5534c72114739e75d0afcf017db853099f562885"
5574 dependencies: 5966 dependencies:
@@ -5642,6 +6034,12 @@ promise-inflight@^1.0.1:
5642 version "1.0.1" 6034 version "1.0.1"
5643 resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" 6035 resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
5644 6036
6037promise@^7.1.1:
6038 version "7.3.1"
6039 resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
6040 dependencies:
6041 asap "~2.0.3"
6042
5645proxy-addr@~2.0.2: 6043proxy-addr@~2.0.2:
5646 version "2.0.2" 6044 version "2.0.2"
5647 resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.2.tgz#6571504f47bb988ec8180253f85dd7e14952bdec" 6045 resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.2.tgz#6571504f47bb988ec8180253f85dd7e14952bdec"
@@ -5653,6 +6051,10 @@ prr@~0.0.0:
5653 version "0.0.0" 6051 version "0.0.0"
5654 resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" 6052 resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a"
5655 6053
6054prr@~1.0.1:
6055 version "1.0.1"
6056 resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
6057
5656pseudomap@^1.0.2: 6058pseudomap@^1.0.2:
5657 version "1.0.2" 6059 version "1.0.2"
5658 resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 6060 resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
@@ -5715,6 +6117,10 @@ qs@6.5.1, qs@~6.5.1:
5715 version "6.5.1" 6117 version "6.5.1"
5716 resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" 6118 resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8"
5717 6119
6120qs@~6.3.0:
6121 version "6.3.2"
6122 resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c"
6123
5718qs@~6.4.0: 6124qs@~6.4.0:
5719 version "6.4.0" 6125 version "6.4.0"
5720 resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" 6126 resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
@@ -6077,10 +6483,39 @@ request@2.81.0:
6077 tunnel-agent "^0.6.0" 6483 tunnel-agent "^0.6.0"
6078 uuid "^3.0.0" 6484 uuid "^3.0.0"
6079 6485
6486request@~2.79.0:
6487 version "2.79.0"
6488 resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de"
6489 dependencies:
6490 aws-sign2 "~0.6.0"
6491 aws4 "^1.2.1"
6492 caseless "~0.11.0"
6493 combined-stream "~1.0.5"
6494 extend "~3.0.0"
6495 forever-agent "~0.6.1"
6496 form-data "~2.1.1"
6497 har-validator "~2.0.6"
6498 hawk "~3.1.3"
6499 http-signature "~1.1.0"
6500 is-typedarray "~1.0.0"
6501 isstream "~0.1.2"
6502 json-stringify-safe "~5.0.1"
6503 mime-types "~2.1.7"
6504 oauth-sign "~0.8.1"
6505 qs "~6.3.0"
6506 stringstream "~0.0.4"
6507 tough-cookie "~2.3.0"
6508 tunnel-agent "~0.4.1"
6509 uuid "^3.0.0"
6510
6080require-directory@^2.1.1: 6511require-directory@^2.1.1:
6081 version "2.1.1" 6512 version "2.1.1"
6082 resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 6513 resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
6083 6514
6515require-from-string@^1.1.0:
6516 version "1.2.1"
6517 resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418"
6518
6084require-main-filename@^1.0.1: 6519require-main-filename@^1.0.1:
6085 version "1.0.1" 6520 version "1.0.1"
6086 resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" 6521 resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
@@ -6215,6 +6650,12 @@ rxjs@^5.4.2:
6215 dependencies: 6650 dependencies:
6216 symbol-observable "^1.0.1" 6651 symbol-observable "^1.0.1"
6217 6652
6653rxjs@^5.5.2:
6654 version "5.5.5"
6655 resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.5.tgz#e164f11d38eaf29f56f08c3447f74ff02dd84e97"
6656 dependencies:
6657 symbol-observable "1.0.1"
6658
6218safe-buffer@5.1.1, safe-buffer@^5.0.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 6659safe-buffer@5.1.1, safe-buffer@^5.0.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
6219 version "5.1.1" 6660 version "5.1.1"
6220 resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" 6661 resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
@@ -6257,6 +6698,10 @@ sass-resources-loader@^1.2.1:
6257 glob "^7.1.1" 6698 glob "^7.1.1"
6258 loader-utils "^1.0.4" 6699 loader-utils "^1.0.4"
6259 6700
6701sax@0.5.x:
6702 version "0.5.8"
6703 resolved "https://registry.yarnpkg.com/sax/-/sax-0.5.8.tgz#d472db228eb331c2506b0e8c15524adb939d12c1"
6704
6260sax@~1.2.1: 6705sax@~1.2.1:
6261 version "1.2.4" 6706 version "1.2.4"
6262 resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" 6707 resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
@@ -6429,6 +6874,12 @@ signal-exit@^3.0.0:
6429 version "3.0.2" 6874 version "3.0.2"
6430 resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 6875 resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
6431 6876
6877silent-error@^1.0.0:
6878 version "1.1.0"
6879 resolved "https://registry.yarnpkg.com/silent-error/-/silent-error-1.1.0.tgz#2209706f1c850a9f1d10d0d840918b46f26e1bc9"
6880 dependencies:
6881 debug "^2.2.0"
6882
6432simple-concat@^1.0.0: 6883simple-concat@^1.0.0:
6433 version "1.0.0" 6884 version "1.0.0"
6434 resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6" 6885 resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6"
@@ -6555,7 +7006,7 @@ source-list-map@~0.1.7:
6555 version "0.1.8" 7006 version "0.1.8"
6556 resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" 7007 resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106"
6557 7008
6558source-map-loader@^0.2.1: 7009source-map-loader@^0.2.0, source-map-loader@^0.2.1:
6559 version "0.2.3" 7010 version "0.2.3"
6560 resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-0.2.3.tgz#d4b0c8cd47d54edce3e6bfa0f523f452b5b0e521" 7011 resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-0.2.3.tgz#d4b0c8cd47d54edce3e6bfa0f523f452b5b0e521"
6561 dependencies: 7012 dependencies:
@@ -6582,7 +7033,7 @@ source-map-resolve@^0.5.0:
6582 source-map-url "^0.4.0" 7033 source-map-url "^0.4.0"
6583 urix "^0.1.0" 7034 urix "^0.1.0"
6584 7035
6585source-map-support@^0.4.0, source-map-support@^0.4.15, source-map-support@^0.4.2: 7036source-map-support@^0.4.0, source-map-support@^0.4.1, source-map-support@^0.4.15, source-map-support@^0.4.2:
6586 version "0.4.18" 7037 version "0.4.18"
6587 resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" 7038 resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
6588 dependencies: 7039 dependencies:
@@ -6596,17 +7047,17 @@ source-map-url@~0.3.0:
6596 version "0.3.0" 7047 version "0.3.0"
6597 resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.3.0.tgz#7ecaf13b57bcd09da8a40c5d269db33799d4aaf9" 7048 resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.3.0.tgz#7ecaf13b57bcd09da8a40c5d269db33799d4aaf9"
6598 7049
6599source-map@0.5.x, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.0, source-map@~0.5.1, source-map@~0.5.3: 7050source-map@0.1.x, source-map@^0.1.38:
6600 version "0.5.7"
6601 resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
6602
6603source-map@^0.1.38:
6604 version "0.1.43" 7051 version "0.1.43"
6605 resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" 7052 resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346"
6606 dependencies: 7053 dependencies:
6607 amdefine ">=0.0.4" 7054 amdefine ">=0.0.4"
6608 7055
6609source-map@^0.4.2: 7056source-map@0.5.x, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.0, source-map@~0.5.1, source-map@~0.5.3:
7057 version "0.5.7"
7058 resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
7059
7060source-map@^0.4.2, source-map@~0.4.1:
6610 version "0.4.4" 7061 version "0.4.4"
6611 resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" 7062 resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
6612 dependencies: 7063 dependencies:
@@ -6616,10 +7067,6 @@ source-map@^0.6.1, source-map@~0.6.1:
6616 version "0.6.1" 7067 version "0.6.1"
6617 resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 7068 resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
6618 7069
6619source-sans-pro@^2.0.10:
6620 version "2.0.10"
6621 resolved "https://registry.yarnpkg.com/source-sans-pro/-/source-sans-pro-2.0.10.tgz#c1ca859cf164a088944c5e83745085e87cd533a9"
6622
6623spdx-correct@~1.0.0: 7070spdx-correct@~1.0.0:
6624 version "1.0.2" 7071 version "1.0.2"
6625 resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" 7072 resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40"
@@ -6870,10 +7317,16 @@ strip-indent@^1.0.1:
6870 dependencies: 7317 dependencies:
6871 get-stdin "^4.0.1" 7318 get-stdin "^4.0.1"
6872 7319
6873strip-json-comments@^2.0.0, strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: 7320strip-json-comments@^2.0.0, strip-json-comments@~2.0.1:
6874 version "2.0.1" 7321 version "2.0.1"
6875 resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 7322 resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
6876 7323
7324style-loader@^0.13.1:
7325 version "0.13.2"
7326 resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.13.2.tgz#74533384cf698c7104c7951150b49717adc2f3bb"
7327 dependencies:
7328 loader-utils "^1.0.2"
7329
6877style-loader@^0.19.0: 7330style-loader@^0.19.0:
6878 version "0.19.0" 7331 version "0.19.0"
6879 resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.19.0.tgz#7258e788f0fee6a42d710eaf7d6c2412a4c50759" 7332 resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.19.0.tgz#7258e788f0fee6a42d710eaf7d6c2412a4c50759"
@@ -6881,6 +7334,25 @@ style-loader@^0.19.0:
6881 loader-utils "^1.0.2" 7334 loader-utils "^1.0.2"
6882 schema-utils "^0.3.0" 7335 schema-utils "^0.3.0"
6883 7336
7337stylus-loader@^3.0.1:
7338 version "3.0.1"
7339 resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-3.0.1.tgz#77f4b34fd030d25b2617bcf5513db5b0730c4089"
7340 dependencies:
7341 loader-utils "^1.0.2"
7342 lodash.clonedeep "^4.5.0"
7343 when "~3.6.x"
7344
7345stylus@^0.54.5:
7346 version "0.54.5"
7347 resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.54.5.tgz#42b9560931ca7090ce8515a798ba9e6aa3d6dc79"
7348 dependencies:
7349 css-parse "1.7.x"
7350 debug "*"
7351 glob "7.0.x"
7352 mkdirp "0.5.x"
7353 sax "0.5.x"
7354 source-map "0.1.x"
7355
6884supports-color@^2.0.0: 7356supports-color@^2.0.0:
6885 version "2.0.0" 7357 version "2.0.0"
6886 resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 7358 resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
@@ -6909,6 +7381,10 @@ svgo@^0.7.0:
6909 sax "~1.2.1" 7381 sax "~1.2.1"
6910 whet.extend "~0.9.9" 7382 whet.extend "~0.9.9"
6911 7383
7384symbol-observable@1.0.1:
7385 version "1.0.1"
7386 resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4"
7387
6912symbol-observable@^1.0.1: 7388symbol-observable@^1.0.1:
6913 version "1.0.4" 7389 version "1.0.4"
6914 resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" 7390 resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d"
@@ -7058,6 +7534,10 @@ tough-cookie@~2.3.0, tough-cookie@~2.3.3:
7058 dependencies: 7534 dependencies:
7059 punycode "^1.4.1" 7535 punycode "^1.4.1"
7060 7536
7537tree-kill@^1.0.0:
7538 version "1.2.0"
7539 resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.0.tgz#5846786237b4239014f05db156b643212d4c6f36"
7540
7061trim-newlines@^1.0.0: 7541trim-newlines@^1.0.0:
7062 version "1.0.0" 7542 version "1.0.0"
7063 resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" 7543 resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
@@ -7070,6 +7550,12 @@ trim@0.0.1:
7070 version "0.0.1" 7550 version "0.0.1"
7071 resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" 7551 resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd"
7072 7552
7553"true-case-path@^1.0.2":
7554 version "1.0.2"
7555 resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.2.tgz#7ec91130924766c7f573be3020c34f8fdfd00d62"
7556 dependencies:
7557 glob "^6.0.4"
7558
7073tryit@^1.0.1: 7559tryit@^1.0.1:
7074 version "1.0.3" 7560 version "1.0.3"
7075 resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" 7561 resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb"
@@ -7177,6 +7663,10 @@ tunnel-agent@^0.6.0:
7177 dependencies: 7663 dependencies:
7178 safe-buffer "^5.0.1" 7664 safe-buffer "^5.0.1"
7179 7665
7666tunnel-agent@~0.4.1:
7667 version "0.4.3"
7668 resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb"
7669
7180tweetnacl@^0.14.3, tweetnacl@~0.14.0: 7670tweetnacl@^0.14.3, tweetnacl@~0.14.0:
7181 version "0.14.5" 7671 version "0.14.5"
7182 resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 7672 resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
@@ -7208,6 +7698,10 @@ typescript@^2.5.2:
7208 version "2.6.1" 7698 version "2.6.1"
7209 resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.1.tgz#ef39cdea27abac0b500242d6726ab90e0c846631" 7699 resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.1.tgz#ef39cdea27abac0b500242d6726ab90e0c846631"
7210 7700
7701typescript@~2.6.1:
7702 version "2.6.2"
7703 resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.2.tgz#3c5b6fd7f6de0914269027f03c0946758f7673a4"
7704
7211uc.micro@^1.0.1, uc.micro@^1.0.3: 7705uc.micro@^1.0.1, uc.micro@^1.0.3:
7212 version "1.0.3" 7706 version "1.0.3"
7213 resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.3.tgz#7ed50d5e0f9a9fb0a573379259f2a77458d50192" 7707 resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.3.tgz#7ed50d5e0f9a9fb0a573379259f2a77458d50192"
@@ -7219,6 +7713,13 @@ uglify-es@^3.1.3:
7219 commander "~2.11.0" 7713 commander "~2.11.0"
7220 source-map "~0.6.1" 7714 source-map "~0.6.1"
7221 7715
7716uglify-es@^3.2.0:
7717 version "3.2.2"
7718 resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.2.2.tgz#15c62b7775002c81b7987a1c49ecd3f126cace73"
7719 dependencies:
7720 commander "~2.12.1"
7721 source-map "~0.6.1"
7722
7222uglify-js@3.1.x, uglify-js@^3.0.6: 7723uglify-js@3.1.x, uglify-js@^3.0.6:
7223 version "3.1.7" 7724 version "3.1.7"
7224 resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.1.7.tgz#13379168b7fcf132ed977254a7802e0a294b1ffb" 7725 resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.1.7.tgz#13379168b7fcf132ed977254a7802e0a294b1ffb"
@@ -7259,6 +7760,18 @@ uglifyjs-webpack-plugin@^1.0.1:
7259 webpack-sources "^1.0.1" 7760 webpack-sources "^1.0.1"
7260 worker-farm "^1.4.1" 7761 worker-farm "^1.4.1"
7261 7762
7763uglifyjs-webpack-plugin@~1.1.2:
7764 version "1.1.2"
7765 resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.1.2.tgz#8a9abc238d01a33daaf86fa9a84c7ebc1e67b0f9"
7766 dependencies:
7767 cacache "^10.0.0"
7768 find-cache-dir "^1.0.0"
7769 schema-utils "^0.3.0"
7770 source-map "^0.6.1"
7771 uglify-es "^3.2.0"
7772 webpack-sources "^1.0.1"
7773 worker-farm "^1.4.1"
7774
7262uid-number@^0.0.6: 7775uid-number@^0.0.6:
7263 version "0.0.6" 7776 version "0.0.6"
7264 resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" 7777 resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
@@ -7566,6 +8079,20 @@ webpack-bundle-analyzer@^2.8.2:
7566 opener "^1.4.3" 8079 opener "^1.4.3"
7567 ws "^2.3.1" 8080 ws "^2.3.1"
7568 8081
8082webpack-concat-plugin@^1.4.2:
8083 version "1.4.2"
8084 resolved "https://registry.yarnpkg.com/webpack-concat-plugin/-/webpack-concat-plugin-1.4.2.tgz#b60bbb626ce5001911809d6e2329fa32f4978a88"
8085 dependencies:
8086 md5 "^2.2.1"
8087 uglify-js "^2.8.29"
8088
8089webpack-core@^0.6.8:
8090 version "0.6.9"
8091 resolved "https://registry.yarnpkg.com/webpack-core/-/webpack-core-0.6.9.tgz#fc571588c8558da77be9efb6debdc5a3b172bdc2"
8092 dependencies:
8093 source-list-map "~0.1.7"
8094 source-map "~0.4.1"
8095
7569webpack-dev-middleware@^1.11.0: 8096webpack-dev-middleware@^1.11.0:
7570 version "1.12.0" 8097 version "1.12.0"
7571 resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.0.tgz#d34efefb2edda7e1d3b5dbe07289513219651709" 8098 resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.0.tgz#d34efefb2edda7e1d3b5dbe07289513219651709"
@@ -7576,6 +8103,16 @@ webpack-dev-middleware@^1.11.0:
7576 range-parser "^1.0.3" 8103 range-parser "^1.0.3"
7577 time-stamp "^2.0.0" 8104 time-stamp "^2.0.0"
7578 8105
8106webpack-dev-middleware@~1.12.0:
8107 version "1.12.2"
8108 resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz#f8fc1120ce3b4fc5680ceecb43d777966b21105e"
8109 dependencies:
8110 memory-fs "~0.4.1"
8111 mime "^1.5.0"
8112 path-is-absolute "^1.0.0"
8113 range-parser "^1.0.3"
8114 time-stamp "^2.0.0"
8115
7579webpack-dev-server@^2.4.5: 8116webpack-dev-server@^2.4.5:
7580 version "2.9.4" 8117 version "2.9.4"
7581 resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.9.4.tgz#7883e61759c6a4b33e9b19ec4037bd4ab61428d1" 8118 resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.9.4.tgz#7883e61759c6a4b33e9b19ec4037bd4ab61428d1"
@@ -7608,6 +8145,38 @@ webpack-dev-server@^2.4.5:
7608 webpack-dev-middleware "^1.11.0" 8145 webpack-dev-middleware "^1.11.0"
7609 yargs "^6.6.0" 8146 yargs "^6.6.0"
7610 8147
8148webpack-dev-server@~2.9.3:
8149 version "2.9.7"
8150 resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.9.7.tgz#100ad6a14775478924d417ca6dcfb9d52a98faed"
8151 dependencies:
8152 ansi-html "0.0.7"
8153 array-includes "^3.0.3"
8154 bonjour "^3.5.0"
8155 chokidar "^1.6.0"
8156 compression "^1.5.2"
8157 connect-history-api-fallback "^1.3.0"
8158 debug "^3.1.0"
8159 del "^3.0.0"
8160 express "^4.16.2"
8161 html-entities "^1.2.0"
8162 http-proxy-middleware "~0.17.4"
8163 import-local "^0.1.1"
8164 internal-ip "1.2.0"
8165 ip "^1.1.5"
8166 killable "^1.0.0"
8167 loglevel "^1.4.1"
8168 opn "^5.1.0"
8169 portfinder "^1.0.9"
8170 selfsigned "^1.9.1"
8171 serve-index "^1.7.2"
8172 sockjs "0.3.18"
8173 sockjs-client "1.1.4"
8174 spdy "^3.4.1"
8175 strip-ansi "^3.0.1"
8176 supports-color "^4.2.1"
8177 webpack-dev-middleware "^1.11.0"
8178 yargs "^6.6.0"
8179
7611webpack-dll-bundles-plugin@^1.0.0-beta.5: 8180webpack-dll-bundles-plugin@^1.0.0-beta.5:
7612 version "1.0.0-beta.5" 8181 version "1.0.0-beta.5"
7613 resolved "https://registry.yarnpkg.com/webpack-dll-bundles-plugin/-/webpack-dll-bundles-plugin-1.0.0-beta.5.tgz#cfb109710a88c3eeb557fcc38be0c5015a54196d" 8182 resolved "https://registry.yarnpkg.com/webpack-dll-bundles-plugin/-/webpack-dll-bundles-plugin-1.0.0-beta.5.tgz#cfb109710a88c3eeb557fcc38be0c5015a54196d"
@@ -7615,7 +8184,7 @@ webpack-dll-bundles-plugin@^1.0.0-beta.5:
7615 find-root "^1.0.0" 8184 find-root "^1.0.0"
7616 jsonfile "^2.4.0" 8185 jsonfile "^2.4.0"
7617 8186
7618webpack-merge@~4.1.0: 8187webpack-merge@^4.1.0, webpack-merge@~4.1.0:
7619 version "4.1.1" 8188 version "4.1.1"
7620 resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.1.1.tgz#f1197a0a973e69c6fbeeb6d658219aa8c0c13555" 8189 resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.1.1.tgz#f1197a0a973e69c6fbeeb6d658219aa8c0c13555"
7621 dependencies: 8190 dependencies:
@@ -7636,6 +8205,13 @@ webpack-sources@^0.1.2, webpack-sources@^0.1.4:
7636 source-list-map "~0.1.7" 8205 source-list-map "~0.1.7"
7637 source-map "~0.5.3" 8206 source-map "~0.5.3"
7638 8207
8208webpack-sources@^1.0.0:
8209 version "1.1.0"
8210 resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54"
8211 dependencies:
8212 source-list-map "^2.0.0"
8213 source-map "~0.6.1"
8214
7639webpack-sources@^1.0.1: 8215webpack-sources@^1.0.1:
7640 version "1.0.2" 8216 version "1.0.2"
7641 resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.0.2.tgz#d0148ec083b3b5ccef1035a6b3ec16442983b27a" 8217 resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.0.2.tgz#d0148ec083b3b5ccef1035a6b3ec16442983b27a"
@@ -7643,6 +8219,12 @@ webpack-sources@^1.0.1:
7643 source-list-map "^2.0.0" 8219 source-list-map "^2.0.0"
7644 source-map "~0.6.1" 8220 source-map "~0.6.1"
7645 8221
8222webpack-subresource-integrity@^1.0.1:
8223 version "1.0.3"
8224 resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-1.0.3.tgz#c0606d40090b070cde428bec8df3603216e472eb"
8225 dependencies:
8226 webpack-core "^0.6.8"
8227
7646webpack@^3.3.0: 8228webpack@^3.3.0:
7647 version "3.8.1" 8229 version "3.8.1"
7648 resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.8.1.tgz#b16968a81100abe61608b0153c9159ef8bb2bd83" 8230 resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.8.1.tgz#b16968a81100abe61608b0153c9159ef8bb2bd83"
@@ -7670,6 +8252,33 @@ webpack@^3.3.0:
7670 webpack-sources "^1.0.1" 8252 webpack-sources "^1.0.1"
7671 yargs "^8.0.2" 8253 yargs "^8.0.2"
7672 8254
8255webpack@~3.10.0:
8256 version "3.10.0"
8257 resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.10.0.tgz#5291b875078cf2abf42bdd23afe3f8f96c17d725"
8258 dependencies:
8259 acorn "^5.0.0"
8260 acorn-dynamic-import "^2.0.0"
8261 ajv "^5.1.5"
8262 ajv-keywords "^2.0.0"
8263 async "^2.1.2"
8264 enhanced-resolve "^3.4.0"
8265 escope "^3.6.0"
8266 interpret "^1.0.0"
8267 json-loader "^0.5.4"
8268 json5 "^0.5.1"
8269 loader-runner "^2.3.0"
8270 loader-utils "^1.1.0"
8271 memory-fs "~0.4.1"
8272 mkdirp "~0.5.0"
8273 node-libs-browser "^2.0.0"
8274 source-map "^0.5.3"
8275 supports-color "^4.2.1"
8276 tapable "^0.2.7"
8277 uglifyjs-webpack-plugin "^0.4.6"
8278 watchpack "^1.4.0"
8279 webpack-sources "^1.0.1"
8280 yargs "^8.0.2"
8281
7673websocket-driver@>=0.5.1: 8282websocket-driver@>=0.5.1:
7674 version "0.7.0" 8283 version "0.7.0"
7675 resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb" 8284 resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb"
@@ -7728,6 +8337,10 @@ webtorrent@^0.98.0:
7728 xtend "^4.0.1" 8337 xtend "^4.0.1"
7729 zero-fill "^2.2.3" 8338 zero-fill "^2.2.3"
7730 8339
8340when@~3.6.x:
8341 version "3.6.4"
8342 resolved "https://registry.yarnpkg.com/when/-/when-3.6.4.tgz#473b517ec159e2b85005497a13983f095412e34e"
8343
7731whet.extend@~0.9.9: 8344whet.extend@~0.9.9:
7732 version "0.9.9" 8345 version "0.9.9"
7733 resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" 8346 resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1"
@@ -7833,6 +8446,12 @@ xtend@4.0.1, xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1:
7833 version "4.0.1" 8446 version "4.0.1"
7834 resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 8447 resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
7835 8448
8449xxhashjs@^0.2.1:
8450 version "0.2.1"
8451 resolved "https://registry.yarnpkg.com/xxhashjs/-/xxhashjs-0.2.1.tgz#9bbe9be896142976dfa34c061b2d068c43d30de0"
8452 dependencies:
8453 cuint latest
8454
7836y18n@^3.2.1: 8455y18n@^3.2.1:
7837 version "3.2.1" 8456 version "3.2.1"
7838 resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" 8457 resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
@@ -7956,6 +8575,6 @@ zero-fill@^2.2.3:
7956 version "2.2.3" 8575 version "2.2.3"
7957 resolved "https://registry.yarnpkg.com/zero-fill/-/zero-fill-2.2.3.tgz#a3def06ba5e39ae644850bb4ca2ad4112b4855e9" 8576 resolved "https://registry.yarnpkg.com/zero-fill/-/zero-fill-2.2.3.tgz#a3def06ba5e39ae644850bb4ca2ad4112b4855e9"
7958 8577
7959zone.js@~0.8.5: 8578zone.js@^0.8.14, zone.js@~0.8.5:
7960 version "0.8.18" 8579 version "0.8.18"
7961 resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.8.18.tgz#8cecb3977fcd1b3090562ff4570e2847e752b48d" 8580 resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.8.18.tgz#8cecb3977fcd1b3090562ff4570e2847e752b48d"