aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md2
-rw-r--r--package.json4
-rw-r--r--server/controllers/api/config.ts4
-rw-r--r--server/helpers/activitypub.ts3
-rw-r--r--server/helpers/custom-validators/activitypub/activity.ts2
-rw-r--r--server/helpers/custom-validators/activitypub/actor.ts2
-rw-r--r--server/helpers/custom-validators/activitypub/misc.ts2
-rw-r--r--server/helpers/custom-validators/activitypub/playlist.ts2
-rw-r--r--server/helpers/custom-validators/activitypub/video-comments.ts2
-rw-r--r--server/helpers/custom-validators/activitypub/videos.ts2
-rw-r--r--server/helpers/custom-validators/misc.ts2
-rw-r--r--server/helpers/custom-validators/plugins.ts2
-rw-r--r--server/helpers/custom-validators/search.ts2
-rw-r--r--server/helpers/custom-validators/servers.ts2
-rw-r--r--server/helpers/custom-validators/user-notifications.ts2
-rw-r--r--server/helpers/custom-validators/users.ts2
-rw-r--r--server/helpers/custom-validators/video-abuses.ts2
-rw-r--r--server/helpers/custom-validators/video-blacklist.ts2
-rw-r--r--server/helpers/custom-validators/video-channels.ts2
-rw-r--r--server/helpers/custom-validators/video-comments.ts2
-rw-r--r--server/helpers/custom-validators/video-imports.ts2
-rw-r--r--server/helpers/custom-validators/video-playlists.ts2
-rw-r--r--server/helpers/custom-validators/videos.ts2
-rw-r--r--server/lib/client-html.ts2
-rw-r--r--server/models/utils.ts2
-rw-r--r--server/models/video/video-playlist-element.ts2
-rw-r--r--server/models/video/video.ts2
-rw-r--r--server/tests/helpers/core-utils.ts4
-rw-r--r--shared/extra-utils/videos/videos.ts2
-rw-r--r--yarn.lock154
30 files changed, 108 insertions, 111 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4f44b7450..aa0035a91 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -15,7 +15,7 @@
15 * We now use Buster for the docker image, so the image name changed: 15 * We now use Buster for the docker image, so the image name changed:
16 * `production-stretch` becomes `production-buster` 16 * `production-stretch` becomes `production-buster`
17 * `v2.x.x-stretch` becomes `v2.x.x-buster` 17 * `v2.x.x-stretch` becomes `v2.x.x-buster`
18 * Users cannot create more than 20 channels now 18 * Users cannot create more than 20 channels now to avoid UX and actor name squatting issues
19 * We added a warning if the `videos` directory is the same than the `redundancy` one in your configuration file: it can create some bugs 19 * We added a warning if the `videos` directory is the same than the `redundancy` one in your configuration file: it can create some bugs
20 20
21### Documentation 21### Documentation
diff --git a/package.json b/package.json
index 0e82ca48c..87dc2b5b9 100644
--- a/package.json
+++ b/package.json
@@ -128,7 +128,7 @@
128 "is-cidr": "^3.0.0", 128 "is-cidr": "^3.0.0",
129 "iso-639-3": "^1.0.1", 129 "iso-639-3": "^1.0.1",
130 "js-yaml": "^3.5.4", 130 "js-yaml": "^3.5.4",
131 "jsonld": "~1.8.0", 131 "jsonld": "~2.0.1",
132 "lodash": "^4.17.10", 132 "lodash": "^4.17.10",
133 "lru-cache": "^5.1.1", 133 "lru-cache": "^5.1.1",
134 "magnet-uri": "^5.1.4", 134 "magnet-uri": "^5.1.4",
@@ -205,7 +205,7 @@
205 "chai-json-schema": "^1.5.0", 205 "chai-json-schema": "^1.5.0",
206 "chai-xml": "^0.3.2", 206 "chai-xml": "^0.3.2",
207 "concurrently": "^5.0.0", 207 "concurrently": "^5.0.0",
208 "husky": "^3.0.1", 208 "husky": "^4.0.0",
209 "libxmljs": "0.19.7", 209 "libxmljs": "0.19.7",
210 "lint-staged": "^9.2.0", 210 "lint-staged": "^9.2.0",
211 "maildev": "^1.0.0-rc3", 211 "maildev": "^1.0.0-rc3",
diff --git a/server/controllers/api/config.ts b/server/controllers/api/config.ts
index b2f23c1b0..6fad82408 100644
--- a/server/controllers/api/config.ts
+++ b/server/controllers/api/config.ts
@@ -12,7 +12,7 @@ import { auditLoggerFactory, CustomConfigAuditView, getAuditIdFromRes } from '..
12import { remove, writeJSON } from 'fs-extra' 12import { remove, writeJSON } from 'fs-extra'
13import { getServerCommit } from '../../helpers/utils' 13import { getServerCommit } from '../../helpers/utils'
14import { Emailer } from '../../lib/emailer' 14import { Emailer } from '../../lib/emailer'
15import { isNumeric } from 'validator' 15import validator from 'validator'
16import { objectConverter } from '../../helpers/core-utils' 16import { objectConverter } from '../../helpers/core-utils'
17import { CONFIG, reloadConfig } from '../../initializers/config' 17import { CONFIG, reloadConfig } from '../../initializers/config'
18import { PluginManager } from '../../lib/plugins/plugin-manager' 18import { PluginManager } from '../../lib/plugins/plugin-manager'
@@ -393,7 +393,7 @@ function convertCustomConfigBody (body: CustomConfig) {
393 } 393 }
394 394
395 function valueConverter (v: any) { 395 function valueConverter (v: any) {
396 if (isNumeric(v + '')) return parseInt('' + v, 10) 396 if (validator.isNumeric(v + '')) return parseInt('' + v, 10)
397 397
398 return v 398 return v
399 } 399 }
diff --git a/server/helpers/activitypub.ts b/server/helpers/activitypub.ts
index 97c809a0c..735f2d73a 100644
--- a/server/helpers/activitypub.ts
+++ b/server/helpers/activitypub.ts
@@ -1,9 +1,8 @@
1import * as Bluebird from 'bluebird' 1import * as Bluebird from 'bluebird'
2import * as validator from 'validator' 2import validator from 'validator'
3import { ResultList } from '../../shared/models' 3import { ResultList } from '../../shared/models'
4import { Activity } from '../../shared/models/activitypub' 4import { Activity } from '../../shared/models/activitypub'
5import { ACTIVITY_PUB } from '../initializers/constants' 5import { ACTIVITY_PUB } from '../initializers/constants'
6import { ActorModel } from '../models/activitypub/actor'
7import { signJsonLDObject } from './peertube-crypto' 6import { signJsonLDObject } from './peertube-crypto'
8import { pageToStartAndCount } from './core-utils' 7import { pageToStartAndCount } from './core-utils'
9import { parse } from 'url' 8import { parse } from 'url'
diff --git a/server/helpers/custom-validators/activitypub/activity.ts b/server/helpers/custom-validators/activitypub/activity.ts
index f68c76cdc..8b8c0685f 100644
--- a/server/helpers/custom-validators/activitypub/activity.ts
+++ b/server/helpers/custom-validators/activitypub/activity.ts
@@ -1,4 +1,4 @@
1import * as validator from 'validator' 1import validator from 'validator'
2import { Activity, ActivityType } from '../../../../shared/models/activitypub' 2import { Activity, ActivityType } from '../../../../shared/models/activitypub'
3import { sanitizeAndCheckActorObject } from './actor' 3import { sanitizeAndCheckActorObject } from './actor'
4import { isActivityPubUrlValid, isBaseActivityValid, isObjectValid } from './misc' 4import { isActivityPubUrlValid, isBaseActivityValid, isObjectValid } from './misc'
diff --git a/server/helpers/custom-validators/activitypub/actor.ts b/server/helpers/custom-validators/activitypub/actor.ts
index ec4dd6f96..fa58e163f 100644
--- a/server/helpers/custom-validators/activitypub/actor.ts
+++ b/server/helpers/custom-validators/activitypub/actor.ts
@@ -1,4 +1,4 @@
1import * as validator from 'validator' 1import validator from 'validator'
2import { CONSTRAINTS_FIELDS } from '../../../initializers/constants' 2import { CONSTRAINTS_FIELDS } from '../../../initializers/constants'
3import { exists, isArray } from '../misc' 3import { exists, isArray } from '../misc'
4import { isActivityPubUrlValid, isBaseActivityValid, setValidAttributedTo } from './misc' 4import { isActivityPubUrlValid, isBaseActivityValid, setValidAttributedTo } from './misc'
diff --git a/server/helpers/custom-validators/activitypub/misc.ts b/server/helpers/custom-validators/activitypub/misc.ts
index 5afcfbedc..4ee8e6fee 100644
--- a/server/helpers/custom-validators/activitypub/misc.ts
+++ b/server/helpers/custom-validators/activitypub/misc.ts
@@ -1,4 +1,4 @@
1import * as validator from 'validator' 1import validator from 'validator'
2import { CONSTRAINTS_FIELDS } from '../../../initializers/constants' 2import { CONSTRAINTS_FIELDS } from '../../../initializers/constants'
3import { isTestInstance } from '../../core-utils' 3import { isTestInstance } from '../../core-utils'
4import { exists } from '../misc' 4import { exists } from '../misc'
diff --git a/server/helpers/custom-validators/activitypub/playlist.ts b/server/helpers/custom-validators/activitypub/playlist.ts
index 6c7bdb193..bd0d16a4a 100644
--- a/server/helpers/custom-validators/activitypub/playlist.ts
+++ b/server/helpers/custom-validators/activitypub/playlist.ts
@@ -1,6 +1,6 @@
1import { exists, isDateValid } from '../misc' 1import { exists, isDateValid } from '../misc'
2import { PlaylistObject } from '../../../../shared/models/activitypub/objects/playlist-object' 2import { PlaylistObject } from '../../../../shared/models/activitypub/objects/playlist-object'
3import * as validator from 'validator' 3import validator from 'validator'
4import { PlaylistElementObject } from '../../../../shared/models/activitypub/objects/playlist-element-object' 4import { PlaylistElementObject } from '../../../../shared/models/activitypub/objects/playlist-element-object'
5import { isActivityPubUrlValid } from './misc' 5import { isActivityPubUrlValid } from './misc'
6 6
diff --git a/server/helpers/custom-validators/activitypub/video-comments.ts b/server/helpers/custom-validators/activitypub/video-comments.ts
index ea780ca46..aa3c246b5 100644
--- a/server/helpers/custom-validators/activitypub/video-comments.ts
+++ b/server/helpers/custom-validators/activitypub/video-comments.ts
@@ -1,4 +1,4 @@
1import * as validator from 'validator' 1import validator from 'validator'
2import { ACTIVITY_PUB } from '../../../initializers/constants' 2import { ACTIVITY_PUB } from '../../../initializers/constants'
3import { exists, isArray, isDateValid } from '../misc' 3import { exists, isArray, isDateValid } from '../misc'
4import { isActivityPubUrlValid } from './misc' 4import { isActivityPubUrlValid } from './misc'
diff --git a/server/helpers/custom-validators/activitypub/videos.ts b/server/helpers/custom-validators/activitypub/videos.ts
index a28bebf2d..fe94bd58a 100644
--- a/server/helpers/custom-validators/activitypub/videos.ts
+++ b/server/helpers/custom-validators/activitypub/videos.ts
@@ -1,4 +1,4 @@
1import * as validator from 'validator' 1import validator from 'validator'
2import { ACTIVITY_PUB, CONSTRAINTS_FIELDS } from '../../../initializers/constants' 2import { ACTIVITY_PUB, CONSTRAINTS_FIELDS } from '../../../initializers/constants'
3import { peertubeTruncate } from '../../core-utils' 3import { peertubeTruncate } from '../../core-utils'
4import { exists, isArray, isBooleanValid, isDateValid, isUUIDValid } from '../misc' 4import { exists, isArray, isBooleanValid, isDateValid, isUUIDValid } from '../misc'
diff --git a/server/helpers/custom-validators/misc.ts b/server/helpers/custom-validators/misc.ts
index 0c3df1cd0..89149b3e0 100644
--- a/server/helpers/custom-validators/misc.ts
+++ b/server/helpers/custom-validators/misc.ts
@@ -1,5 +1,5 @@
1import 'multer' 1import 'multer'
2import * as validator from 'validator' 2import validator from 'validator'
3import { sep } from 'path' 3import { sep } from 'path'
4 4
5function exists (value: any) { 5function exists (value: any) {
diff --git a/server/helpers/custom-validators/plugins.ts b/server/helpers/custom-validators/plugins.ts
index 332418b49..3af72547b 100644
--- a/server/helpers/custom-validators/plugins.ts
+++ b/server/helpers/custom-validators/plugins.ts
@@ -1,5 +1,5 @@
1import { exists, isArray, isSafePath } from './misc' 1import { exists, isArray, isSafePath } from './misc'
2import * as validator from 'validator' 2import validator from 'validator'
3import { PluginType } from '../../../shared/models/plugins/plugin.type' 3import { PluginType } from '../../../shared/models/plugins/plugin.type'
4import { CONSTRAINTS_FIELDS } from '../../initializers/constants' 4import { CONSTRAINTS_FIELDS } from '../../initializers/constants'
5import { PluginPackageJson } from '../../../shared/models/plugins/plugin-package-json.model' 5import { PluginPackageJson } from '../../../shared/models/plugins/plugin-package-json.model'
diff --git a/server/helpers/custom-validators/search.ts b/server/helpers/custom-validators/search.ts
index ee732b15a..bb17134c3 100644
--- a/server/helpers/custom-validators/search.ts
+++ b/server/helpers/custom-validators/search.ts
@@ -1,4 +1,4 @@
1import * as validator from 'validator' 1import validator from 'validator'
2import { isArray } from './misc' 2import { isArray } from './misc'
3 3
4function isNumberArray (value: any) { 4function isNumberArray (value: any) {
diff --git a/server/helpers/custom-validators/servers.ts b/server/helpers/custom-validators/servers.ts
index 7ced36fd3..adf1ea497 100644
--- a/server/helpers/custom-validators/servers.ts
+++ b/server/helpers/custom-validators/servers.ts
@@ -1,4 +1,4 @@
1import * as validator from 'validator' 1import validator from 'validator'
2import { exists, isArray } from './misc' 2import { exists, isArray } from './misc'
3import { isTestInstance } from '../core-utils' 3import { isTestInstance } from '../core-utils'
4import { CONSTRAINTS_FIELDS } from '../../initializers/constants' 4import { CONSTRAINTS_FIELDS } from '../../initializers/constants'
diff --git a/server/helpers/custom-validators/user-notifications.ts b/server/helpers/custom-validators/user-notifications.ts
index 02ea3bbc2..5a4d10504 100644
--- a/server/helpers/custom-validators/user-notifications.ts
+++ b/server/helpers/custom-validators/user-notifications.ts
@@ -1,5 +1,5 @@
1import { exists } from './misc' 1import { exists } from './misc'
2import * as validator from 'validator' 2import validator from 'validator'
3import { UserNotificationType } from '../../../shared/models/users' 3import { UserNotificationType } from '../../../shared/models/users'
4import { UserNotificationSettingValue } from '../../../shared/models/users/user-notification-setting.model' 4import { UserNotificationSettingValue } from '../../../shared/models/users/user-notification-setting.model'
5 5
diff --git a/server/helpers/custom-validators/users.ts b/server/helpers/custom-validators/users.ts
index 008916a04..b4d5751e7 100644
--- a/server/helpers/custom-validators/users.ts
+++ b/server/helpers/custom-validators/users.ts
@@ -1,4 +1,4 @@
1import * as validator from 'validator' 1import validator from 'validator'
2import { UserRole } from '../../../shared' 2import { UserRole } from '../../../shared'
3import { CONSTRAINTS_FIELDS, NSFW_POLICY_TYPES } from '../../initializers/constants' 3import { CONSTRAINTS_FIELDS, NSFW_POLICY_TYPES } from '../../initializers/constants'
4import { exists, isArray, isBooleanValid, isFileValid } from './misc' 4import { exists, isArray, isBooleanValid, isFileValid } from './misc'
diff --git a/server/helpers/custom-validators/video-abuses.ts b/server/helpers/custom-validators/video-abuses.ts
index e43d12be8..a9478c76a 100644
--- a/server/helpers/custom-validators/video-abuses.ts
+++ b/server/helpers/custom-validators/video-abuses.ts
@@ -1,5 +1,5 @@
1import { Response } from 'express' 1import { Response } from 'express'
2import * as validator from 'validator' 2import validator from 'validator'
3import { CONSTRAINTS_FIELDS, VIDEO_ABUSE_STATES } from '../../initializers/constants' 3import { CONSTRAINTS_FIELDS, VIDEO_ABUSE_STATES } from '../../initializers/constants'
4import { exists } from './misc' 4import { exists } from './misc'
5import { VideoAbuseModel } from '../../models/video/video-abuse' 5import { VideoAbuseModel } from '../../models/video/video-abuse'
diff --git a/server/helpers/custom-validators/video-blacklist.ts b/server/helpers/custom-validators/video-blacklist.ts
index 9a44332ef..17cb3b00b 100644
--- a/server/helpers/custom-validators/video-blacklist.ts
+++ b/server/helpers/custom-validators/video-blacklist.ts
@@ -1,4 +1,4 @@
1import * as validator from 'validator' 1import validator from 'validator'
2import { exists } from './misc' 2import { exists } from './misc'
3import { CONSTRAINTS_FIELDS } from '../../initializers/constants' 3import { CONSTRAINTS_FIELDS } from '../../initializers/constants'
4import { VideoBlacklistType } from '../../../shared/models/videos' 4import { VideoBlacklistType } from '../../../shared/models/videos'
diff --git a/server/helpers/custom-validators/video-channels.ts b/server/helpers/custom-validators/video-channels.ts
index 6c52dc093..ded5d5171 100644
--- a/server/helpers/custom-validators/video-channels.ts
+++ b/server/helpers/custom-validators/video-channels.ts
@@ -1,4 +1,4 @@
1import * as validator from 'validator' 1import validator from 'validator'
2import { CONSTRAINTS_FIELDS } from '../../initializers/constants' 2import { CONSTRAINTS_FIELDS } from '../../initializers/constants'
3import { exists } from './misc' 3import { exists } from './misc'
4 4
diff --git a/server/helpers/custom-validators/video-comments.ts b/server/helpers/custom-validators/video-comments.ts
index 8a7cd7105..846f28b17 100644
--- a/server/helpers/custom-validators/video-comments.ts
+++ b/server/helpers/custom-validators/video-comments.ts
@@ -1,5 +1,5 @@
1import 'multer' 1import 'multer'
2import * as validator from 'validator' 2import validator from 'validator'
3import { CONSTRAINTS_FIELDS } from '../../initializers/constants' 3import { CONSTRAINTS_FIELDS } from '../../initializers/constants'
4 4
5const VIDEO_COMMENTS_CONSTRAINTS_FIELDS = CONSTRAINTS_FIELDS.VIDEO_COMMENTS 5const VIDEO_COMMENTS_CONSTRAINTS_FIELDS = CONSTRAINTS_FIELDS.VIDEO_COMMENTS
diff --git a/server/helpers/custom-validators/video-imports.ts b/server/helpers/custom-validators/video-imports.ts
index 8820c4c0a..ffad482b4 100644
--- a/server/helpers/custom-validators/video-imports.ts
+++ b/server/helpers/custom-validators/video-imports.ts
@@ -1,5 +1,5 @@
1import 'multer' 1import 'multer'
2import * as validator from 'validator' 2import validator from 'validator'
3import { CONSTRAINTS_FIELDS, MIMETYPES, VIDEO_IMPORT_STATES } from '../../initializers/constants' 3import { CONSTRAINTS_FIELDS, MIMETYPES, VIDEO_IMPORT_STATES } from '../../initializers/constants'
4import { exists, isFileValid } from './misc' 4import { exists, isFileValid } from './misc'
5import * as express from 'express' 5import * as express from 'express'
diff --git a/server/helpers/custom-validators/video-playlists.ts b/server/helpers/custom-validators/video-playlists.ts
index 60125dcda..4bb8384ab 100644
--- a/server/helpers/custom-validators/video-playlists.ts
+++ b/server/helpers/custom-validators/video-playlists.ts
@@ -1,5 +1,5 @@
1import { exists } from './misc' 1import { exists } from './misc'
2import * as validator from 'validator' 2import validator from 'validator'
3import { CONSTRAINTS_FIELDS, VIDEO_PLAYLIST_PRIVACIES, VIDEO_PLAYLIST_TYPES } from '../../initializers/constants' 3import { CONSTRAINTS_FIELDS, VIDEO_PLAYLIST_PRIVACIES, VIDEO_PLAYLIST_TYPES } from '../../initializers/constants'
4import * as express from 'express' 4import * as express from 'express'
5import { VideoPlaylistModel } from '../../models/video/video-playlist' 5import { VideoPlaylistModel } from '../../models/video/video-playlist'
diff --git a/server/helpers/custom-validators/videos.ts b/server/helpers/custom-validators/videos.ts
index ff93f2e99..a9e859e54 100644
--- a/server/helpers/custom-validators/videos.ts
+++ b/server/helpers/custom-validators/videos.ts
@@ -1,5 +1,5 @@
1import { values } from 'lodash' 1import { values } from 'lodash'
2import * as validator from 'validator' 2import validator from 'validator'
3import { VideoFilter, VideoPrivacy, VideoRateType } from '../../../shared' 3import { VideoFilter, VideoPrivacy, VideoRateType } from '../../../shared'
4import { 4import {
5 CONSTRAINTS_FIELDS, 5 CONSTRAINTS_FIELDS,
diff --git a/server/lib/client-html.ts b/server/lib/client-html.ts
index 42a30f84f..2fcf0c4ea 100644
--- a/server/lib/client-html.ts
+++ b/server/lib/client-html.ts
@@ -4,7 +4,7 @@ import { CUSTOM_HTML_TAG_COMMENTS, EMBED_SIZE, PLUGIN_GLOBAL_CSS_PATH, WEBSERVER
4import { join } from 'path' 4import { join } from 'path'
5import { escapeHTML, sha256 } from '../helpers/core-utils' 5import { escapeHTML, sha256 } from '../helpers/core-utils'
6import { VideoModel } from '../models/video/video' 6import { VideoModel } from '../models/video/video'
7import * as validator from 'validator' 7import validator from 'validator'
8import { VideoPrivacy } from '../../shared/models/videos' 8import { VideoPrivacy } from '../../shared/models/videos'
9import { readFile } from 'fs-extra' 9import { readFile } from 'fs-extra'
10import { getActivityStreamDuration } from '../models/video/video-format-utils' 10import { getActivityStreamDuration } from '../models/video/video-format-utils'
diff --git a/server/models/utils.ts b/server/models/utils.ts
index 4199cc443..f89b80011 100644
--- a/server/models/utils.ts
+++ b/server/models/utils.ts
@@ -1,5 +1,5 @@
1import { Model, Sequelize } from 'sequelize-typescript' 1import { Model, Sequelize } from 'sequelize-typescript'
2import * as validator from 'validator' 2import validator from 'validator'
3import { Col } from 'sequelize/types/lib/utils' 3import { Col } from 'sequelize/types/lib/utils'
4import { literal, OrderItem } from 'sequelize' 4import { literal, OrderItem } from 'sequelize'
5 5
diff --git a/server/models/video/video-playlist-element.ts b/server/models/video/video-playlist-element.ts
index 9d2ea710e..f2d71357f 100644
--- a/server/models/video/video-playlist-element.ts
+++ b/server/models/video/video-playlist-element.ts
@@ -19,7 +19,7 @@ import { getSort, throwIfNotValid } from '../utils'
19import { isActivityPubUrlValid } from '../../helpers/custom-validators/activitypub/misc' 19import { isActivityPubUrlValid } from '../../helpers/custom-validators/activitypub/misc'
20import { CONSTRAINTS_FIELDS } from '../../initializers/constants' 20import { CONSTRAINTS_FIELDS } from '../../initializers/constants'
21import { PlaylistElementObject } from '../../../shared/models/activitypub/objects/playlist-element-object' 21import { PlaylistElementObject } from '../../../shared/models/activitypub/objects/playlist-element-object'
22import * as validator from 'validator' 22import validator from 'validator'
23import { AggregateOptions, Op, ScopeOptions, Sequelize, Transaction } from 'sequelize' 23import { AggregateOptions, Op, ScopeOptions, Sequelize, Transaction } from 'sequelize'
24import { VideoPlaylistElement, VideoPlaylistElementType } from '../../../shared/models/videos/playlist/video-playlist-element.model' 24import { VideoPlaylistElement, VideoPlaylistElementType } from '../../../shared/models/videos/playlist/video-playlist-element.model'
25import { AccountModel } from '../account/account' 25import { AccountModel } from '../account/account'
diff --git a/server/models/video/video.ts b/server/models/video/video.ts
index 1f3c25ecb..fec3dcc20 100644
--- a/server/models/video/video.ts
+++ b/server/models/video/video.ts
@@ -142,7 +142,7 @@ import { MVideoFile, MVideoFileStreamingPlaylistVideo } from '../../typings/mode
142import { MThumbnail } from '../../typings/models/video/thumbnail' 142import { MThumbnail } from '../../typings/models/video/thumbnail'
143import { VideoFile } from '@shared/models/videos/video-file.model' 143import { VideoFile } from '@shared/models/videos/video-file.model'
144import { getHLSDirectory, getTorrentFileName, getTorrentFilePath, getVideoFilename, getVideoFilePath } from '@server/lib/video-paths' 144import { getHLSDirectory, getTorrentFileName, getTorrentFilePath, getVideoFilename, getVideoFilePath } from '@server/lib/video-paths'
145import * as validator from 'validator' 145import validator from 'validator'
146 146
147// FIXME: Define indexes here because there is an issue with TS and Sequelize.literal when called directly in the annotation 147// FIXME: Define indexes here because there is an issue with TS and Sequelize.literal when called directly in the annotation
148const indexes: (ModelIndexesOptions & { where?: WhereOptions })[] = [ 148const indexes: (ModelIndexesOptions & { where?: WhereOptions })[] = [
diff --git a/server/tests/helpers/core-utils.ts b/server/tests/helpers/core-utils.ts
index 2dbe8d635..31fc6dd7c 100644
--- a/server/tests/helpers/core-utils.ts
+++ b/server/tests/helpers/core-utils.ts
@@ -4,7 +4,7 @@ import * as chai from 'chai'
4import 'mocha' 4import 'mocha'
5import { snakeCase } from 'lodash' 5import { snakeCase } from 'lodash'
6import { objectConverter, parseBytes } from '../../helpers/core-utils' 6import { objectConverter, parseBytes } from '../../helpers/core-utils'
7import { isNumeric } from 'validator' 7import validator from 'validator'
8 8
9const expect = chai.expect 9const expect = chai.expect
10 10
@@ -53,7 +53,7 @@ describe('Parse Bytes', function () {
53 } 53 }
54 54
55 function valueConverter (v: any) { 55 function valueConverter (v: any) {
56 if (isNumeric(v + '')) return parseInt('' + v, 10) 56 if (validator.isNumeric(v + '')) return parseInt('' + v, 10)
57 57
58 return v 58 return v
59 } 59 }
diff --git a/shared/extra-utils/videos/videos.ts b/shared/extra-utils/videos/videos.ts
index 84b79b253..c5de15552 100644
--- a/shared/extra-utils/videos/videos.ts
+++ b/shared/extra-utils/videos/videos.ts
@@ -16,7 +16,7 @@ import {
16 ServerInfo, 16 ServerInfo,
17 testImage 17 testImage
18} from '../' 18} from '../'
19import * as validator from 'validator' 19import validator from 'validator'
20import { VideoDetails, VideoPrivacy } from '../../models/videos' 20import { VideoDetails, VideoPrivacy } from '../../models/videos'
21import { VIDEO_CATEGORIES, VIDEO_LANGUAGES, loadLanguages, VIDEO_LICENCES, VIDEO_PRIVACIES } from '../../../server/initializers/constants' 21import { VIDEO_CATEGORIES, VIDEO_LANGUAGES, loadLanguages, VIDEO_LICENCES, VIDEO_PRIVACIES } from '../../../server/initializers/constants'
22import { dateIsValid, webtorrentAdd, buildServerDirectory } from '../miscs/miscs' 22import { dateIsValid, webtorrentAdd, buildServerDirectory } from '../miscs/miscs'
diff --git a/yarn.lock b/yarn.lock
index 08caae19e..71ef762f4 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -18,6 +18,13 @@
18 esutils "^2.0.2" 18 esutils "^2.0.2"
19 js-tokens "^4.0.0" 19 js-tokens "^4.0.0"
20 20
21"@babel/runtime@^7.6.3":
22 version "7.7.7"
23 resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.7.7.tgz#194769ca8d6d7790ec23605af9ee3e42a0aa79cf"
24 integrity sha512-uCnC2JEVAu8AKB5do1WRIsvrdJ0flYx/A/9f/6chdacnEZ7LmavjdsDXr5ksYBegxtuTPR5Va9/+13QF/kFkCA==
25 dependencies:
26 regenerator-runtime "^0.13.2"
27
21"@nodelib/fs.scandir@2.1.3": 28"@nodelib/fs.scandir@2.1.3":
22 version "2.1.3" 29 version "2.1.3"
23 resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" 30 resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b"
@@ -310,11 +317,6 @@
310 dependencies: 317 dependencies:
311 "@types/node" "*" 318 "@types/node" "*"
312 319
313"@types/normalize-package-data@^2.4.0":
314 version "2.4.0"
315 resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
316 integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==
317
318"@types/oauth2-server@^3.0.8": 320"@types/oauth2-server@^3.0.8":
319 version "3.0.12" 321 version "3.0.12"
320 resolved "https://registry.yarnpkg.com/@types/oauth2-server/-/oauth2-server-3.0.12.tgz#3c404055c2c88068a3ee8f5e5a0c5a12bca8c365" 322 resolved "https://registry.yarnpkg.com/@types/oauth2-server/-/oauth2-server-3.0.12.tgz#3c404055c2c88068a3ee8f5e5a0c5a12bca8c365"
@@ -322,6 +324,11 @@
322 dependencies: 324 dependencies:
323 "@types/express" "*" 325 "@types/express" "*"
324 326
327"@types/parse-json@^4.0.0":
328 version "4.0.0"
329 resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
330 integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
331
325"@types/parse-torrent-file@*": 332"@types/parse-torrent-file@*":
326 version "4.0.2" 333 version "4.0.2"
327 resolved "https://registry.yarnpkg.com/@types/parse-torrent-file/-/parse-torrent-file-4.0.2.tgz#40c96fc075aec256514807c6c381d11d9035bd9e" 334 resolved "https://registry.yarnpkg.com/@types/parse-torrent-file/-/parse-torrent-file-4.0.2.tgz#40c96fc075aec256514807c6c381d11d9035bd9e"
@@ -1095,6 +1102,11 @@ callsites@^2.0.0:
1095 resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" 1102 resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
1096 integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= 1103 integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=
1097 1104
1105callsites@^3.0.0:
1106 version "3.1.0"
1107 resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
1108 integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
1109
1098camelcase@^4.0.0: 1110camelcase@^4.0.0:
1099 version "4.1.0" 1111 version "4.1.0"
1100 resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" 1112 resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
@@ -1624,6 +1636,17 @@ cosmiconfig@^5.2.1:
1624 js-yaml "^3.13.1" 1636 js-yaml "^3.13.1"
1625 parse-json "^4.0.0" 1637 parse-json "^4.0.0"
1626 1638
1639cosmiconfig@^6.0.0:
1640 version "6.0.0"
1641 resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982"
1642 integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==
1643 dependencies:
1644 "@types/parse-json" "^4.0.0"
1645 import-fresh "^3.1.0"
1646 parse-json "^5.0.0"
1647 path-type "^4.0.0"
1648 yaml "^1.7.2"
1649
1627create-error-class@^3.0.0: 1650create-error-class@^3.0.0:
1628 version "3.0.2" 1651 version "3.0.2"
1629 resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" 1652 resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6"
@@ -1666,17 +1689,6 @@ cross-spawn@^5.0.1:
1666 shebang-command "^1.2.0" 1689 shebang-command "^1.2.0"
1667 which "^1.2.9" 1690 which "^1.2.9"
1668 1691
1669cross-spawn@^6.0.0:
1670 version "6.0.5"
1671 resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
1672 integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
1673 dependencies:
1674 nice-try "^1.0.4"
1675 path-key "^2.0.1"
1676 semver "^5.5.0"
1677 shebang-command "^1.2.0"
1678 which "^1.2.9"
1679
1680cross-spawn@^7.0.0: 1692cross-spawn@^7.0.0:
1681 version "7.0.1" 1693 version "7.0.1"
1682 resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14" 1694 resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14"
@@ -2320,19 +2332,6 @@ execa@^0.7.0:
2320 signal-exit "^3.0.0" 2332 signal-exit "^3.0.0"
2321 strip-eof "^1.0.0" 2333 strip-eof "^1.0.0"
2322 2334
2323execa@^1.0.0:
2324 version "1.0.0"
2325 resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
2326 integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==
2327 dependencies:
2328 cross-spawn "^6.0.0"
2329 get-stream "^4.0.0"
2330 is-stream "^1.1.0"
2331 npm-run-path "^2.0.0"
2332 p-finally "^1.0.0"
2333 signal-exit "^3.0.0"
2334 strip-eof "^1.0.0"
2335
2336execa@^2.0.3: 2335execa@^2.0.3:
2337 version "2.1.0" 2336 version "2.1.0"
2338 resolved "https://registry.yarnpkg.com/execa/-/execa-2.1.0.tgz#e5d3ecd837d2a60ec50f3da78fd39767747bbe99" 2337 resolved "https://registry.yarnpkg.com/execa/-/execa-2.1.0.tgz#e5d3ecd837d2a60ec50f3da78fd39767747bbe99"
@@ -2791,13 +2790,6 @@ get-stream@^3.0.0:
2791 resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" 2790 resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
2792 integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= 2791 integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
2793 2792
2794get-stream@^4.0.0:
2795 version "4.1.0"
2796 resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
2797 integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
2798 dependencies:
2799 pump "^3.0.0"
2800
2801get-stream@^5.0.0: 2793get-stream@^5.0.0:
2802 version "5.1.0" 2794 version "5.1.0"
2803 resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" 2795 resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9"
@@ -3114,22 +3106,20 @@ human-signals@^1.1.1:
3114 resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" 3106 resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
3115 integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== 3107 integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
3116 3108
3117husky@^3.0.1: 3109husky@^4.0.0:
3118 version "3.1.0" 3110 version "4.0.0"
3119 resolved "https://registry.yarnpkg.com/husky/-/husky-3.1.0.tgz#5faad520ab860582ed94f0c1a77f0f04c90b57c0" 3111 resolved "https://registry.yarnpkg.com/husky/-/husky-4.0.0.tgz#654a72ecd7d59565de5360365a7d78a7bbb05286"
3120 integrity sha512-FJkPoHHB+6s4a+jwPqBudBDvYZsoQW5/HBuMSehC8qDiCe50kpcxeqFoDSlow+9I6wg47YxBoT3WxaURlrDIIQ== 3112 integrity sha512-h9kcWWpZgpGLrhlaBBtbMtA9Tsqu0yrfKSCU9ax6vulTvMSvVWEmFOsBehiLD38vJZVeFyrif5AcpcoiM0LJmw==
3121 dependencies: 3113 dependencies:
3122 chalk "^2.4.2" 3114 chalk "^3.0.0"
3123 ci-info "^2.0.0" 3115 ci-info "^2.0.0"
3124 cosmiconfig "^5.2.1" 3116 cosmiconfig "^6.0.0"
3125 execa "^1.0.0"
3126 get-stdin "^7.0.0" 3117 get-stdin "^7.0.0"
3127 opencollective-postinstall "^2.0.2" 3118 opencollective-postinstall "^2.0.2"
3128 pkg-dir "^4.2.0" 3119 pkg-dir "^4.2.0"
3129 please-upgrade-node "^3.2.0" 3120 please-upgrade-node "^3.2.0"
3130 read-pkg "^5.2.0"
3131 run-node "^1.0.0"
3132 slash "^3.0.0" 3121 slash "^3.0.0"
3122 which-pm-runs "^1.0.0"
3133 3123
3134i@0.3.x: 3124i@0.3.x:
3135 version "0.3.6" 3125 version "0.3.6"
@@ -3185,6 +3175,14 @@ import-fresh@^2.0.0:
3185 caller-path "^2.0.0" 3175 caller-path "^2.0.0"
3186 resolve-from "^3.0.0" 3176 resolve-from "^3.0.0"
3187 3177
3178import-fresh@^3.1.0:
3179 version "3.2.1"
3180 resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66"
3181 integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==
3182 dependencies:
3183 parent-module "^1.0.0"
3184 resolve-from "^4.0.0"
3185
3188import-lazy@^2.1.0: 3186import-lazy@^2.1.0:
3189 version "2.1.0" 3187 version "2.1.0"
3190 resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" 3188 resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43"
@@ -3658,15 +3656,16 @@ jsonify@~0.0.0:
3658 resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 3656 resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
3659 integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= 3657 integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=
3660 3658
3661jsonld@~1.8.0: 3659jsonld@~2.0.1:
3662 version "1.8.1" 3660 version "2.0.1"
3663 resolved "https://registry.yarnpkg.com/jsonld/-/jsonld-1.8.1.tgz#55ea541b22b8af5a5d6a5e32328e3f2678148882" 3661 resolved "https://registry.yarnpkg.com/jsonld/-/jsonld-2.0.1.tgz#c08760fb00f429496b45f5c9984bf9be408d3980"
3664 integrity sha512-f0rusl5v8aPKS3jApT5fhYsdTC/JpyK1PoJ+ZtYYtZXoyb1J0Z///mJqLwrfL/g4NueFSqPymDYIi1CcSk7b8Q== 3662 integrity sha512-37NIP09U0AnLu94b7ktsgHxZflAqDH8wn2kcLeAjxcL3sbuwJZ1IxIIbWyjSzrKojADWnoZM/btAWlrcGDMgJA==
3665 dependencies: 3663 dependencies:
3666 canonicalize "^1.0.1" 3664 canonicalize "^1.0.1"
3665 lru-cache "^5.1.1"
3667 rdf-canonize "^1.0.2" 3666 rdf-canonize "^1.0.2"
3668 request "^2.88.0" 3667 request "^2.88.0"
3669 semver "^5.6.0" 3668 semver "^6.3.0"
3670 xmldom "0.1.19" 3669 xmldom "0.1.19"
3671 3670
3672jsonpointer.js@0.4.0: 3671jsonpointer.js@0.4.0:
@@ -4363,11 +4362,6 @@ next-tick@1, next-tick@~1.0.0:
4363 resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" 4362 resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
4364 integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= 4363 integrity sha1-yobR/ogoFpsBICCOPchCS524NCw=
4365 4364
4366nice-try@^1.0.4:
4367 version "1.0.5"
4368 resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
4369 integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
4370
4371nocache@2.1.0: 4365nocache@2.1.0:
4372 version "2.1.0" 4366 version "2.1.0"
4373 resolved "https://registry.yarnpkg.com/nocache/-/nocache-2.1.0.tgz#120c9ffec43b5729b1d5de88cd71aa75a0ba491f" 4367 resolved "https://registry.yarnpkg.com/nocache/-/nocache-2.1.0.tgz#120c9ffec43b5729b1d5de88cd71aa75a0ba491f"
@@ -4481,7 +4475,7 @@ nopt@~1.0.10:
4481 dependencies: 4475 dependencies:
4482 abbrev "1" 4476 abbrev "1"
4483 4477
4484normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: 4478normalize-package-data@^2.3.2:
4485 version "2.5.0" 4479 version "2.5.0"
4486 resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" 4480 resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
4487 integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== 4481 integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
@@ -4784,6 +4778,13 @@ packet-reader@1.0.0:
4784 resolved "https://registry.yarnpkg.com/packet-reader/-/packet-reader-1.0.0.tgz#9238e5480dedabacfe1fe3f2771063f164157d74" 4778 resolved "https://registry.yarnpkg.com/packet-reader/-/packet-reader-1.0.0.tgz#9238e5480dedabacfe1fe3f2771063f164157d74"
4785 integrity sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ== 4779 integrity sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==
4786 4780
4781parent-module@^1.0.0:
4782 version "1.0.1"
4783 resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
4784 integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
4785 dependencies:
4786 callsites "^3.0.0"
4787
4787parse-json@^4.0.0: 4788parse-json@^4.0.0:
4788 version "4.0.0" 4789 version "4.0.0"
4789 resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" 4790 resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
@@ -4866,7 +4867,7 @@ path-is-inside@^1.0.1:
4866 resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" 4867 resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
4867 integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= 4868 integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=
4868 4869
4869path-key@^2.0.0, path-key@^2.0.1: 4870path-key@^2.0.0:
4870 version "2.0.1" 4871 version "2.0.1"
4871 resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 4872 resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
4872 integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= 4873 integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
@@ -5271,16 +5272,6 @@ read-pkg@^4.0.1:
5271 parse-json "^4.0.0" 5272 parse-json "^4.0.0"
5272 pify "^3.0.0" 5273 pify "^3.0.0"
5273 5274
5274read-pkg@^5.2.0:
5275 version "5.2.0"
5276 resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc"
5277 integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==
5278 dependencies:
5279 "@types/normalize-package-data" "^2.4.0"
5280 normalize-package-data "^2.5.0"
5281 parse-json "^5.0.0"
5282 type-fest "^0.6.0"
5283
5284read@1.0.x: 5275read@1.0.x:
5285 version "1.0.7" 5276 version "1.0.7"
5286 resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" 5277 resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4"
@@ -5406,6 +5397,11 @@ reflect-metadata@^0.1.12:
5406 resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08" 5397 resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08"
5407 integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg== 5398 integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==
5408 5399
5400regenerator-runtime@^0.13.2:
5401 version "0.13.3"
5402 resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5"
5403 integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==
5404
5409registry-auth-token@^3.0.1: 5405registry-auth-token@^3.0.1:
5410 version "3.4.0" 5406 version "3.4.0"
5411 resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e" 5407 resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e"
@@ -5491,6 +5487,11 @@ resolve-from@^3.0.0:
5491 resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" 5487 resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
5492 integrity sha1-six699nWiBvItuZTM17rywoYh0g= 5488 integrity sha1-six699nWiBvItuZTM17rywoYh0g=
5493 5489
5490resolve-from@^4.0.0:
5491 version "4.0.0"
5492 resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
5493 integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
5494
5494resolve-pkg@^1.0.0: 5495resolve-pkg@^1.0.0:
5495 version "1.0.0" 5496 version "1.0.0"
5496 resolved "https://registry.yarnpkg.com/resolve-pkg/-/resolve-pkg-1.0.0.tgz#e19a15e78aca2e124461dc92b2e3943ef93494d9" 5497 resolved "https://registry.yarnpkg.com/resolve-pkg/-/resolve-pkg-1.0.0.tgz#e19a15e78aca2e124461dc92b2e3943ef93494d9"
@@ -5566,11 +5567,6 @@ run-async@^0.1.0:
5566 dependencies: 5567 dependencies:
5567 once "^1.3.0" 5568 once "^1.3.0"
5568 5569
5569run-node@^1.0.0:
5570 version "1.0.0"
5571 resolved "https://registry.yarnpkg.com/run-node/-/run-node-1.0.0.tgz#46b50b946a2aa2d4947ae1d886e9856fd9cabe5e"
5572 integrity sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A==
5573
5574run-parallel-limit@^1.0.3: 5570run-parallel-limit@^1.0.3:
5575 version "1.0.5" 5571 version "1.0.5"
5576 resolved "https://registry.yarnpkg.com/run-parallel-limit/-/run-parallel-limit-1.0.5.tgz#c29a4fd17b4df358cb52a8a697811a63c984f1b7" 5572 resolved "https://registry.yarnpkg.com/run-parallel-limit/-/run-parallel-limit-1.0.5.tgz#c29a4fd17b4df358cb52a8a697811a63c984f1b7"
@@ -5665,7 +5661,7 @@ semver-diff@^2.0.0:
5665 dependencies: 5661 dependencies:
5666 semver "^5.0.3" 5662 semver "^5.0.3"
5667 5663
5668"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: 5664"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1:
5669 version "5.7.1" 5665 version "5.7.1"
5670 resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 5666 resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
5671 integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 5667 integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
@@ -6711,11 +6707,6 @@ type-detect@^4.0.0, type-detect@^4.0.5:
6711 resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" 6707 resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
6712 integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== 6708 integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
6713 6709
6714type-fest@^0.6.0:
6715 version "0.6.0"
6716 resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b"
6717 integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==
6718
6719type-is@1.6.15: 6710type-is@1.6.15:
6720 version "1.6.15" 6711 version "1.6.15"
6721 resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" 6712 resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410"
@@ -7267,6 +7258,13 @@ yallist@^4.0.0:
7267 resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 7258 resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
7268 integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 7259 integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
7269 7260
7261yaml@^1.7.2:
7262 version "1.7.2"
7263 resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.7.2.tgz#f26aabf738590ab61efaca502358e48dc9f348b2"
7264 integrity sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==
7265 dependencies:
7266 "@babel/runtime" "^7.6.3"
7267
7270yargs-parser@13.1.1, yargs-parser@^13.1.1: 7268yargs-parser@13.1.1, yargs-parser@^13.1.1:
7271 version "13.1.1" 7269 version "13.1.1"
7272 resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" 7270 resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0"