Implemented search

Updated js deps
This commit is contained in:
Sergio Brighenti 2019-01-22 17:39:57 +01:00
parent fe19e9dede
commit fb8fd68340
16 changed files with 527 additions and 1062 deletions

View file

@ -2,7 +2,9 @@
+ Added function to remove orphaned files.
+ Switch between tab and gallery mode using an admin account.
+ Multiple uploads sorting methods.
+ Search in uploads.
+ Internal refactoring and improvements
+ Updated js dependencies.
## v2.3.1
+ Fixed en lang.

View file

@ -56,6 +56,7 @@ class DashboardController extends Controller
$query->orderBy($order, $request->getParam('order', 'ASC'))
->withUserId($this->session->get('user_id'))
->search($request->getParam('search', null))
->run($page);
return $this->view->render(

View file

@ -10,7 +10,7 @@ use League\Flysystem\Plugin\ListFiles;
class MediaQuery
{
const PER_PAGE = 21;
const PER_PAGE_ADMIN = 25;
const PER_PAGE_ADMIN = 27;
const ORDER_TIME = 0;
const ORDER_NAME = 1;
@ -74,7 +74,7 @@ class MediaQuery
* @param string $text
* @return $this
*/
public function search(string $text)
public function search(?string $text)
{
$this->text = $text;
return $this;
@ -99,22 +99,33 @@ class MediaQuery
$queryPages .= ' WHERE `user_id` = ?';
}
$orderAndSearch = '';
$params = [];
if ($this->text !== null) {
$orderAndSearch = $this->isAdmin ? 'WHERE `uploads`.`filename` LIKE ? ' : 'AND `uploads`.`filename` LIKE ? ';
$queryPages .= $this->isAdmin ? ' WHERE `filename` LIKE ?' : ' AND `filename` LIKE ?';
$params[] = '%' . htmlentities($this->text) . '%';
}
switch ($this->orderBy) {
case self::ORDER_NAME:
$queryMedia = sprintf($queryMedia, 'ORDER BY `filename` ' . $this->orderMode);
$orderAndSearch .= 'ORDER BY `filename` ' . $this->orderMode;
break;
default:
case self::ORDER_TIME:
$queryMedia = sprintf($queryMedia, 'ORDER BY `timestamp` ' . $this->orderMode);
$orderAndSearch .= 'ORDER BY `timestamp` ' . $this->orderMode;
break;
}
$queryMedia = sprintf($queryMedia, $orderAndSearch);
if ($this->isAdmin) {
$this->media = $this->db->query($queryMedia, [self::PER_PAGE_ADMIN, $page * self::PER_PAGE_ADMIN])->fetchAll();
$this->pages = $this->db->query($queryPages)->fetch()->count / self::PER_PAGE_ADMIN;
$this->media = $this->db->query($queryMedia, array_merge($params, [self::PER_PAGE_ADMIN, $page * self::PER_PAGE_ADMIN]))->fetchAll();
$this->pages = $this->db->query($queryPages, $params)->fetch()->count / self::PER_PAGE_ADMIN;
} else {
$this->media = $this->db->query($queryMedia, [$this->userId, self::PER_PAGE, $page * self::PER_PAGE])->fetchAll();
$this->pages = $this->db->query($queryPages, $this->userId)->fetch()->count / self::PER_PAGE;
$this->media = $this->db->query($queryMedia, array_merge([$this->userId], $params, [self::PER_PAGE, $page * self::PER_PAGE]))->fetchAll();
$this->pages = $this->db->query($queryPages, array_merge([$this->userId], $params))->fetch()->count / self::PER_PAGE;
}
$filesystem = storage();
@ -137,8 +148,7 @@ class MediaQuery
*/
private function runWithOrderBySize(int $page)
{
$filesystem = storage();
$filesystem->addPlugin(new ListFiles());
$filesystem = storage()->addPlugin(new ListFiles());
if ($this->isAdmin) {
$files = $filesystem->listFiles('/', true);
@ -157,10 +167,20 @@ class MediaQuery
array_multisort(array_column($files, 'size'), ($this->orderMode === 'ASC') ? SORT_ASC : SORT_DESC, SORT_NUMERIC, $files);
$files = array_slice($files, $offset, $limit);
$paths = array_column($files, 'path');
if ($this->text !== null) {
if ($this->isAdmin) {
$medias = $this->db->query('SELECT `uploads`.*, `users`.`user_code`, `users`.`username` FROM `uploads` LEFT JOIN `users` ON `uploads`.`user_id` = `users`.`id` WHERE `uploads`.`filename` LIKE ? ', ['%' . htmlentities($this->text) . '%'])->fetchAll();
} else {
$medias = $this->db->query('SELECT `uploads`.*, `users`.`user_code`, `users`.`username` FROM `uploads` LEFT JOIN `users` ON `uploads`.`user_id` = `users`.`id` WHERE `user_id` = ? AND `uploads`.`filename` LIKE ? ', [$this->userId, '%' . htmlentities($this->text) . '%'])->fetchAll();
}
$medias = $this->db->query('SELECT `uploads`.*, `users`.`user_code`, `users`.`username` FROM `uploads` LEFT JOIN `users` ON `uploads`.`user_id` = `users`.`id` WHERE `uploads`.`storage_path` IN ("' . implode('","', $paths) . '")')->fetchAll();
$paths = array_column($files, 'path');
} else {
$files = array_slice($files, $offset, $limit);
$paths = array_column($files, 'path');
$medias = $this->db->query('SELECT `uploads`.*, `users`.`user_code`, `users`.`username` FROM `uploads` LEFT JOIN `users` ON `uploads`.`user_id` = `users`.`id` WHERE `uploads`.`storage_path` IN ("' . implode('","', $paths) . '")')->fetchAll();
}
$paths = array_flip($paths);
foreach ($medias as $media) {
@ -168,9 +188,11 @@ class MediaQuery
}
$this->media = [];
foreach ($files as $file) {
$media = $paths[$file['path']];
if (!is_object($media)) {
continue;
}
$media->size = humanFileSize($file['size']);
try {
$media->mimetype = $filesystem->getMimetype($file['path']);
@ -180,6 +202,10 @@ class MediaQuery
$media->extension = $file['extension'];
$this->media[] = $media;
}
if ($this->text !== null) {
$this->media = array_slice($this->media, $offset, $limit);
}
}
/**

View file

@ -92,13 +92,14 @@ if (!function_exists('urlFor')) {
/**
* Generate the app url given a path
* @param string $path
* @param string $append
* @return string
*/
function urlFor(string $path): string
function urlFor(string $path, string $append = ''): string
{
global $app;
$baseUrl = $app->getContainer()->get('settings')['base_url'];
return $baseUrl . $path;
return $baseUrl . $path . $append;
}
}
@ -107,13 +108,14 @@ if (!function_exists('route')) {
* Generate the app url given a path
* @param string $path
* @param array $args
* @param string $append
* @return string
*/
function route(string $path, array $args = []): string
function route(string $path, array $args = [], string $append = ''): string
{
global $app;
$uri = $app->getContainer()->get('router')->pathFor($path, $args);
return urlFor($uri);
return urlFor($uri, $append);
}
}
@ -210,4 +212,23 @@ if (!function_exists('dd')) {
echo '</pre>';
die();
}
}
if (!function_exists('queryParams')) {
/**
* Get the query parameters of the current request.
* @param array $replace
* @return string
* @throws \Interop\Container\Exception\ContainerException
*/
function queryParams(array $replace = [])
{
global $container;
/** @var \Slim\Http\Request $request */
$request = $container->get('request');
$params = array_replace_recursive($request->getQueryParams(), $replace);
return !empty($params) ? '?' . http_build_query($params) : '';
}
}

View file

@ -84,6 +84,7 @@ $container['view'] = function ($container) use (&$config) {
$view->getEnvironment()->addFunction(new Twig_Function('lang', 'lang'));
$view->getEnvironment()->addFunction(new Twig_Function('urlFor', 'urlFor'));
$view->getEnvironment()->addFunction(new Twig_Function('mime2font', 'mime2font'));
$view->getEnvironment()->addFunction(new Twig_Function('queryParams', 'queryParams'));
return $view;
};

1011
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,13 +1,13 @@
{
"dependencies": {
"@fortawesome/fontawesome-free": "^5.4.1",
"@fortawesome/fontawesome-free": "^5.6.3",
"bootstrap": "^4.1.3",
"clipboard": "^2.0.4",
"highlightjs": "^9.10.0",
"highlightjs": "^9.12.0",
"jquery": "^3.3.1",
"popper.js": "^1.14.4",
"tooltip.js": "^1.3.0",
"video.js": "^7.3.0"
"popper.js": "^1.14.6",
"tooltip.js": "^1.3.1",
"video.js": "^7.4.2"
},
"devDependencies": {
"grunt": "^1.0",

View file

@ -93,4 +93,6 @@ return [
'order_by' => 'Order by...',
'time' => 'Time',
'name' => 'Name',
'maintenance' => 'Maintenance',
'clean_orphaned_uploads' => 'Clean Orphaned Uploads',
];

View file

@ -93,4 +93,6 @@ return [
'order_by' => 'Ordina per...',
'time' => 'Data',
'name' => 'Nome',
'maintenance' => 'Manutenzione',
'clean_orphaned_uploads' => 'Pulisci upload orfani',
];

View file

@ -3,7 +3,7 @@
<ul class="pagination">
{% if previous %}
<li class="page-item">
<a class="page-link" href="{{ urlFor('/' ~ path ~ '/page/' ~ (current_page-1)) }}"><i class="fas fa-angle-left fa-fw"></i> {{ lang('pager.previous') }}</a>
<a class="page-link" href="{{ urlFor('/' ~ path ~ '/page/' ~ (current_page-1), queryParams()) }}"><i class="fas fa-angle-left fa-fw"></i> {{ lang('pager.previous') }}</a>
</li>
{% else %}
<li class="page-item disabled">
@ -12,7 +12,7 @@
{% if next %}
<li class="page-item">
<a class="page-link" href="{{ urlFor('/' ~ path ~ '/page/' ~ (current_page+1)) }}">{{ lang('pager.next') }} <i class="fas fa-angle-right fa-fw"></i></a>
<a class="page-link" href="{{ urlFor('/' ~ path ~ '/page/' ~ (current_page+1), queryParams()) }}">{{ lang('pager.next') }} <i class="fas fa-angle-right fa-fw"></i></a>
</li>
{% else %}
<li class="page-item disabled"><a class="page-link" href="#">{{ lang('pager.next') }} <i class="fas fa-angle-right fa-fw"></i></a></li>

View file

@ -6,10 +6,11 @@
{% include 'comp/navbar.twig' %}
<div class="container">
{% include 'comp/alert.twig' %}
{% if medias|length > 0 %}
<div class="card shadow-sm">
<div class="card-body">
{% include 'dashboard/pager_header.twig' with {'path': 'home'} %}
<div class="card shadow-sm">
<div class="card-body">
{% include 'dashboard/pager_header.twig' with {'path': 'home'} %}
{% if medias|length > 0 %}
<div class="row">
<div class="col-md-12">
<div class="table-responsive">
@ -73,14 +74,16 @@
</tbody>
</table>
</div>
{% include 'comp/pager.twig' with {'path': 'home'} %}
<div class="d-flex justify-content-center">
{% include 'comp/pager.twig' with {'path': 'home'} %}
</div>
</div>
</div>
</div>
{% else %}
<div class="text-center text-muted"><i>{{ lang('no_media') }}</i></div>
{% endif %}
</div>
{% else %}
<div class="text-center text-muted"><i>{{ lang('no_media') }}</i></div>
{% endif %}
</div>
</div>
{% include 'comp/footer.twig' %}
{% endblock %}

View file

@ -6,8 +6,8 @@
{% include 'comp/navbar.twig' %}
<div class="container">
{% include 'comp/alert.twig' %}
{% include 'dashboard/pager_header.twig' with {'path': 'home'} %}
{% if medias|length > 0 %}
{% include 'dashboard/pager_header.twig' with {'path': 'home'} %}
<div class="row">
{% for media in medias %}
<div class="col-md-4" id="media_{{ media.id }}">
@ -52,7 +52,9 @@
</div>
{% endfor %}
</div>
{% include 'comp/pager.twig' with {'path': 'home'} %}
<div class="d-flex justify-content-center">
{% include 'comp/pager.twig' with {'path': 'home'} %}
</div>
{% else %}
<div class="text-center text-muted"><i>{{ lang('no_media') }}</i></div>
{% endif %}

View file

@ -1,11 +1,13 @@
<div class="row">
<div class="col-md-3">
<div class="input-group mb-3">
<input type="text" class="form-control" placeholder="{{ lang('dotted_search') }}" aria-label="{{ lang('dotted_search') }}" aria-describedby="button-addon2">
<div class="input-group-append">
<a href="#" class="btn btn-outline-secondary"><i class="fas fa-search"></i></a>
<form method="get" action="{{ route('home') }}">
<div class="input-group mb-3">
<input type="text" name="search" class="form-control" placeholder="{{ lang('dotted_search') }}" aria-label="{{ lang('dotted_search') }}" value="{{ request.param('search', '') }}">
<div class="input-group-append">
<button type="submit" class="btn btn-outline-secondary"><i class="fas fa-search"></i></button>
</div>
</div>
</div>
</form>
</div>
<div class="col-md-6 d-flex justify-content-center">
{% include 'comp/pager.twig' %}
@ -13,16 +15,18 @@
<div class="col-md-3 text-right">
<div class="btn-group">
<div class="btn-group">
<button class="btn btn-outline-primary dropdown-toggle" type="button" id="dropdownOrder" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{ lang('order_by') }}
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="?sort=time"><i class="fas fa-calendar-alt fa-fw"></i> {{ lang('time') }}</a>
<a class="dropdown-item" href="?sort=name"><i class="fas fa-font fa-fw"></i> {{ lang('name') }}</a>
<a class="dropdown-item" href="?sort=size"><i class="fas fa-weight-hanging fa-fw"></i> {{ lang('size') }}</a>
</div>
<button class="btn btn-outline-primary dropdown-toggle" type="button" id="dropdownOrder" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{ lang('order_by') }}
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="{{ queryParams({'sort':'time'}) }}"><i class="fas fa-calendar-alt fa-fw"></i> {{ lang('time') }}</a>
<a class="dropdown-item" href="{{ queryParams({'sort':'name'}) }}"><i class="fas fa-font fa-fw"></i> {{ lang('name') }}</a>
<a class="dropdown-item" href="{{ queryParams({'sort':'size'}) }}"><i class="fas fa-weight-hanging fa-fw"></i> {{ lang('size') }}</a>
</div>
<button type="button" class="btn btn-outline-info"><i class="fas fa-sort-amount-down"></i></button>
</div>
<a href="{{ queryParams({'order': request.param('order') is same as('DESC') ? 'ASC' : 'DESC' }) }}" class="btn btn-outline-info">
<i class="fas {{ request.param('order') is same as('DESC') ? 'fa-sort-amount-down' : 'fa-sort-amount-up' }}"></i>
</a>
</div>
</div>
</div>

View file

@ -87,6 +87,12 @@
</ul>
</div>
</div>
<div class="card shadow-sm mt-3">
<div class="card-header"><i class="fas fa-tools fa-fw"></i> {{ lang('maintenance') }}</div>
<div class="card-body">
<a href="{{ route('system.deleteOrphanFiles') }}" class="btn btn-outline-dark btn-block"><i class="fas fa-broom fa-fw"></i> {{ lang('clean_orphaned_uploads') }}</a>
</div>
</div>
</div>
</div>
</div>

View file

@ -66,7 +66,9 @@
</tbody>
</table>
</div>
{% include 'comp/pager.twig' with {'path': 'users'} %}
<div class="d-flex justify-content-center">
{% include 'comp/pager.twig' with {'path': 'users'} %}
</div>
</div>
</div>
</div>

404
yarn.lock
View file

@ -2,10 +2,52 @@
# yarn lockfile v1
"@babel/runtime@^7.2.0":
version "7.3.1"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.3.1.tgz#574b03e8e8a9898eaf4a872a92ea20b7846f6f2a"
dependencies:
regenerator-runtime "^0.12.0"
"@fortawesome/fontawesome-free@^5.6.3":
version "5.6.3"
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.6.3.tgz#61c122c420d7a91613f393d6a06e5a4c6ae6abf3"
"@videojs/http-streaming@1.5.1":
version "1.5.1"
resolved "https://registry.yarnpkg.com/@videojs/http-streaming/-/http-streaming-1.5.1.tgz#b6c81ec1f1ec93ee57c261f34c144f5493c9fc31"
dependencies:
aes-decrypter "3.0.0"
global "^4.3.0"
m3u8-parser "4.2.0"
mpd-parser "0.7.0"
mux.js "5.0.1"
url-toolkit "^2.1.3"
video.js "^6.8.0 || ^7.0.0"
"@videojs/http-streaming@1.6.0":
version "1.6.0"
resolved "https://registry.yarnpkg.com/@videojs/http-streaming/-/http-streaming-1.6.0.tgz#39b2712333045699f4784a9c2f499af15bd8eabc"
dependencies:
aes-decrypter "3.0.0"
global "^4.3.0"
m3u8-parser "4.2.0"
mpd-parser "0.7.0"
mux.js "5.0.1"
url-toolkit "^2.1.3"
video.js "^6.8.0 || ^7.0.0"
abbrev@1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
aes-decrypter@3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/aes-decrypter/-/aes-decrypter-3.0.0.tgz#7848a1c145b9fdbf57ae3e2b5b1bc7cf0644a8fb"
dependencies:
commander "^2.9.0"
global "^4.3.2"
pkcs7 "^1.0.2"
ansi-regex@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
@ -14,6 +56,12 @@ ansi-styles@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
ansi-styles@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
dependencies:
color-convert "^1.9.0"
argparse@^1.0.2:
version "1.0.10"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
@ -65,9 +113,9 @@ body@^5.1.0:
raw-body "~1.1.0"
safe-json-parse "~1.0.1"
bootstrap@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.1.1.tgz#3aec85000fa619085da8d2e4983dfd67cf2114cb"
bootstrap@^4.1.3:
version "4.2.1"
resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.2.1.tgz#8f8bdca024dbf0e8644da32e918c8a03a90a5757"
brace-expansion@^1.1.7:
version "1.1.11"
@ -76,16 +124,6 @@ brace-expansion@^1.1.7:
balanced-match "^1.0.0"
concat-map "0.0.1"
browserify-zlib@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d"
dependencies:
pako "~0.2.0"
buffer-from@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.0.tgz#87fcaa3a298358e0ade6e442cfce840740d1ad04"
builtin-modules@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
@ -115,11 +153,19 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@~1.1.1:
strip-ansi "^3.0.0"
supports-color "^2.0.0"
clean-css@~4.1.1:
version "4.1.11"
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.11.tgz#2ecdf145aba38f54740f26cefd0ff3e03e125d6a"
chalk@^2.4.1:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
dependencies:
source-map "0.5.x"
ansi-styles "^3.2.1"
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
clean-css@~4.2.1:
version "4.2.1"
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17"
dependencies:
source-map "~0.6.0"
cli@~1.0.0:
version "1.0.1"
@ -128,9 +174,9 @@ cli@~1.0.0:
exit "0.1.2"
glob "^7.1.1"
clipboard@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.1.tgz#a12481e1c13d8a50f5f036b0560fe5d16d74e46a"
clipboard@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.4.tgz#836dafd66cf0fea5d71ce5d5b0bf6e958009112d"
dependencies:
good-listener "^1.2.2"
select "^1.1.2"
@ -140,27 +186,32 @@ coffeescript@~1.10.0:
version "1.10.0"
resolved "https://registry.yarnpkg.com/coffeescript/-/coffeescript-1.10.0.tgz#e7aa8301917ef621b35d8a39f348dcdd1db7e33e"
color-convert@^1.9.0:
version "1.9.3"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
dependencies:
color-name "1.1.3"
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
colors@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
commander@~2.15.0:
version "2.15.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f"
commander@^2.9.0:
version "2.19.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"
commander@~2.17.1:
version "2.17.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
concat-stream@^1.4.1:
version "1.6.2"
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
dependencies:
buffer-from "^1.0.0"
inherits "^2.0.3"
readable-stream "^2.2.2"
typedarray "^0.0.6"
console-browserify@1.1.x:
version "1.1.0"
resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
@ -213,6 +264,10 @@ dom-serializer@0:
domelementtype "~1.1.1"
entities "~1.1.1"
dom-walk@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018"
domelementtype@1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2"
@ -311,6 +366,12 @@ findup-sync@~0.3.0:
dependencies:
glob "~5.0.0"
for-each@^0.3.2:
version "0.3.3"
resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
dependencies:
is-callable "^1.1.3"
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
@ -361,6 +422,13 @@ glob@~7.0.0:
once "^1.3.0"
path-is-absolute "^1.0.0"
global@4.3.2, global@^4.3.0, global@^4.3.1, global@^4.3.2, global@~4.3.0:
version "4.3.2"
resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f"
dependencies:
min-document "^2.19.0"
process "~0.5.1"
globule@^1.0.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz#5dffb1b191f22d20797a9369b49eab4e9839696d"
@ -395,29 +463,29 @@ grunt-contrib-copy@^1.0.0:
chalk "^1.1.1"
file-sync-cmp "^0.1.0"
grunt-contrib-cssmin@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/grunt-contrib-cssmin/-/grunt-contrib-cssmin-2.2.1.tgz#64cbebe60134bc1270ca4154514ec4007cc16f7f"
grunt-contrib-cssmin@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/grunt-contrib-cssmin/-/grunt-contrib-cssmin-3.0.0.tgz#1767c0a062f4b7353c5adcadc52dcff7197d4d89"
dependencies:
chalk "^1.0.0"
clean-css "~4.1.1"
chalk "^2.4.1"
clean-css "~4.2.1"
maxmin "^2.1.0"
grunt-contrib-jshint@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/grunt-contrib-jshint/-/grunt-contrib-jshint-1.1.0.tgz#369d909b2593c40e8be79940b21340850c7939ac"
grunt-contrib-jshint@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/grunt-contrib-jshint/-/grunt-contrib-jshint-2.0.0.tgz#a2be576cdd2a21d87fa3b9e770de407a29563fd2"
dependencies:
chalk "^1.1.1"
chalk "^2.4.1"
hooker "^0.2.3"
jshint "~2.9.4"
jshint "~2.9.6"
grunt-contrib-uglify@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/grunt-contrib-uglify/-/grunt-contrib-uglify-3.3.0.tgz#dcc29bee1dd4768698930e46fb8bff8e8d37fb08"
grunt-contrib-uglify@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/grunt-contrib-uglify/-/grunt-contrib-uglify-4.0.0.tgz#50aa36568cbf5f9532b35fe8b3dacf99210c909c"
dependencies:
chalk "^1.0.0"
maxmin "^1.1.0"
uglify-js "~3.3.0"
chalk "^2.4.1"
maxmin "^2.1.0"
uglify-js "~3.4.8"
uri-path "^1.0.0"
grunt-contrib-watch@^1.1.0:
@ -465,9 +533,9 @@ grunt-retro@~0.6.0:
version "0.6.4"
resolved "https://registry.yarnpkg.com/grunt-retro/-/grunt-retro-0.6.4.tgz#f26a848f6a4797a5ff7e850e60220c0de6be8e72"
grunt-zip@^0.17.1:
version "0.17.1"
resolved "https://registry.yarnpkg.com/grunt-zip/-/grunt-zip-0.17.1.tgz#218afa37351c46f79b9fb1d6a2fc3c84519a52d0"
grunt-zip@^0.18.1:
version "0.18.1"
resolved "https://registry.yarnpkg.com/grunt-zip/-/grunt-zip-0.18.1.tgz#cd90bd8d6773e23f133901334b273ed8dc12d0c2"
dependencies:
grunt-retro "~0.6.0"
jszip "~2.5.0"
@ -493,13 +561,6 @@ grunt@^1.0:
path-is-absolute "~1.0.0"
rimraf "~2.2.8"
gzip-size@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-1.0.0.tgz#66cf8b101047227b95bace6ea1da0c177ed5c22f"
dependencies:
browserify-zlib "^0.1.4"
concat-stream "^1.4.1"
gzip-size@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520"
@ -512,9 +573,13 @@ has-ansi@^2.0.0:
dependencies:
ansi-regex "^2.0.0"
highlightjs@^9.10.0:
version "9.10.0"
resolved "https://registry.yarnpkg.com/highlightjs/-/highlightjs-9.10.0.tgz#fca9b78ddaa3b1abca89d6c3ee105ad270a80190"
has-flag@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
highlightjs@^9.12.0:
version "9.12.0"
resolved "https://registry.yarnpkg.com/highlightjs/-/highlightjs-9.12.0.tgz#9b84eb42a7aa8488eb69ac79fec44cf495bf72a1"
hooker@^0.2.3, hooker@~0.2.3:
version "0.2.3"
@ -550,6 +615,10 @@ indent-string@^2.1.0:
dependencies:
repeating "^2.0.0"
individual@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/individual/-/individual-2.0.0.tgz#833b097dad23294e76117a98fb38e0d9ad61bb97"
inflight@^1.0.4:
version "1.0.6"
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
@ -557,7 +626,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
inherits@2, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3:
inherits@2, inherits@~2.0.1:
version "2.0.3"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
@ -571,12 +640,20 @@ is-builtin-module@^1.0.0:
dependencies:
builtin-modules "^1.0.0"
is-callable@^1.1.3:
version "1.1.4"
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"
is-finite@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
dependencies:
number-is-nan "^1.0.0"
is-function@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5"
is-utf8@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
@ -585,10 +662,6 @@ isarray@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
isexe@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
@ -604,15 +677,15 @@ js-yaml@~3.5.2:
argparse "^1.0.2"
esprima "^2.6.0"
jshint@~2.9.4:
version "2.9.5"
resolved "https://registry.yarnpkg.com/jshint/-/jshint-2.9.5.tgz#1e7252915ce681b40827ee14248c46d34e9aa62c"
jshint@~2.9.6:
version "2.9.7"
resolved "https://registry.yarnpkg.com/jshint/-/jshint-2.9.7.tgz#038a3fa5c328fa3ab03ddfd85df88d3d87bedcbd"
dependencies:
cli "~1.0.0"
console-browserify "1.1.x"
exit "0.1.x"
htmlparser2 "3.8.x"
lodash "3.7.x"
lodash "~4.17.10"
minimatch "~3.0.2"
shelljs "0.3.x"
strip-json-comments "1.0.x"
@ -653,10 +726,6 @@ locate-path@^2.0.0:
p-locate "^2.0.0"
path-exists "^3.0.0"
lodash@3.7.x:
version "3.7.0"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.7.0.tgz#3678bd8ab995057c07ade836ed2ef087da811d45"
lodash@^4.17.10, lodash@~4.17.10, lodash@~4.17.5:
version "4.17.10"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
@ -672,19 +741,14 @@ loud-rejection@^1.0.0:
currently-unhandled "^0.4.1"
signal-exit "^3.0.0"
m3u8-parser@4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/m3u8-parser/-/m3u8-parser-4.2.0.tgz#c8e0785fd17f741f4408b49466889274a9e36447"
map-obj@^1.0.0, map-obj@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
maxmin@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/maxmin/-/maxmin-1.1.0.tgz#71365e84a99dd8f8b3f7d5fde2f00d1e7f73be61"
dependencies:
chalk "^1.0.0"
figures "^1.0.1"
gzip-size "^1.0.0"
pretty-bytes "^1.0.0"
maxmin@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/maxmin/-/maxmin-2.1.0.tgz#4d3b220903d95eee7eb7ac7fa864e72dc09a3166"
@ -694,7 +758,7 @@ maxmin@^2.1.0:
gzip-size "^3.0.0"
pretty-bytes "^3.0.0"
meow@^3.1.0, meow@^3.3.0:
meow@^3.3.0:
version "3.7.0"
resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
dependencies:
@ -709,6 +773,12 @@ meow@^3.1.0, meow@^3.3.0:
redent "^1.0.0"
trim-newlines "^1.0.0"
min-document@^2.19.0:
version "2.19.0"
resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685"
dependencies:
dom-walk "^0.1.0"
"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
@ -719,6 +789,13 @@ minimist@^1.1.3:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
mpd-parser@0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/mpd-parser/-/mpd-parser-0.7.0.tgz#d36e3322579fce23d657f71a3c2f3e6cc5ce4002"
dependencies:
global "^4.3.2"
url-toolkit "^2.1.1"
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
@ -732,6 +809,10 @@ multimatch@^2.0.0:
arrify "^1.0.0"
minimatch "^3.0.0"
mux.js@5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/mux.js/-/mux.js-5.0.1.tgz#ccf757d18f30e65179bd38d60ccc9f04e9cb1e3a"
nopt@~3.0.6:
version "3.0.6"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
@ -777,10 +858,17 @@ p-try@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
pako@~0.2.0, pako@~0.2.5:
pako@~0.2.5:
version "0.2.9"
resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
parse-headers@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.1.tgz#6ae83a7aa25a9d9b700acc28698cd1f1ed7e9536"
dependencies:
for-each "^0.3.2"
trim "0.0.1"
parse-json@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
@ -823,22 +911,23 @@ pinkie@^2.0.0:
version "2.0.4"
resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
pkcs7@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/pkcs7/-/pkcs7-1.0.2.tgz#b6dba527528c2942bfc122ce2dafcdb5e59074e7"
pkg-up@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f"
dependencies:
find-up "^2.1.0"
popper.js@^1.0.2, popper.js@^1.14.3:
popper.js@^1.0.2:
version "1.14.3"
resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.14.3.tgz#1438f98d046acf7b4d78cd502bf418ac64d4f095"
pretty-bytes@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-1.0.4.tgz#0a22e8210609ad35542f8c8d5d2159aff0751c84"
dependencies:
get-stdin "^4.0.1"
meow "^3.1.0"
popper.js@^1.14.6:
version "1.14.6"
resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.14.6.tgz#ab20dd4edf9288b8b3b6531c47c361107b60b4b0"
pretty-bytes@^3.0.0:
version "3.0.1"
@ -846,9 +935,9 @@ pretty-bytes@^3.0.0:
dependencies:
number-is-nan "^1.0.0"
process-nextick-args@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa"
process@~0.5.1:
version "0.5.2"
resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf"
qs@^6.4.0:
version "6.5.2"
@ -885,18 +974,6 @@ readable-stream@1.1:
isarray "0.0.1"
string_decoder "~0.10.x"
readable-stream@^2.2.2:
version "2.3.6"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.3"
isarray "~1.0.0"
process-nextick-args "~2.0.0"
safe-buffer "~5.1.1"
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
redent@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
@ -904,6 +981,10 @@ redent@^1.0.0:
indent-string "^2.1.0"
strip-indent "^1.0.1"
regenerator-runtime@^0.12.0:
version "0.12.1"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de"
repeating@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
@ -928,9 +1009,17 @@ rimraf@~2.2.8:
version "2.2.8"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582"
safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
rust-result@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/rust-result/-/rust-result-1.0.0.tgz#34c75b2e6dc39fe5875e5bdec85b5e0f91536f72"
dependencies:
individual "^2.0.0"
safe-json-parse@4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-4.0.0.tgz#7c0f578cfccd12d33a71c0e05413e2eca171eaac"
dependencies:
rust-result "^1.0.0"
safe-json-parse@~1.0.1:
version "1.0.1"
@ -956,11 +1045,7 @@ signal-exit@^3.0.0:
version "3.0.2"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
source-map@0.5.x:
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
source-map@~0.6.1:
source-map@~0.6.0, source-map@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
@ -998,12 +1083,6 @@ string_decoder@0.10, string_decoder@~0.10.x:
version "0.10.31"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
string_decoder@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
dependencies:
safe-buffer "~5.1.0"
strip-ansi@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
@ -1030,6 +1109,12 @@ supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
supports-color@^5.3.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
dependencies:
has-flag "^3.0.0"
tiny-emitter@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.0.2.tgz#82d27468aca5ade8e5fd1e6d22b57dd43ebdfb7c"
@ -1045,9 +1130,9 @@ tiny-lr@^1.1.1:
object-assign "^4.1.0"
qs "^6.4.0"
tooltip.js@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/tooltip.js/-/tooltip.js-1.2.0.tgz#8b16482f04397f4f9d7387843dccf186890c8860"
tooltip.js@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/tooltip.js/-/tooltip.js-1.3.1.tgz#f14f18e4ec119c9be198d460db577969e0dc0806"
dependencies:
popper.js "^1.0.2"
@ -1055,15 +1140,19 @@ trim-newlines@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
typedarray@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
trim@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd"
uglify-js@~3.3.0:
version "3.3.28"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.28.tgz#0efb9a13850e11303361c1051f64d2ec68d9be06"
tsml@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/tsml/-/tsml-1.0.1.tgz#89f8218b9d9e257f47d7f6b56d01c5a4d2c68fc3"
uglify-js@~3.4.8:
version "3.4.9"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.9.tgz#af02f180c1207d76432e473ed24a28f4a782bae3"
dependencies:
commander "~2.15.0"
commander "~2.17.1"
source-map "~0.6.1"
underscore.string@~3.2.3:
@ -1074,9 +1163,9 @@ uri-path@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/uri-path/-/uri-path-1.0.0.tgz#9747f018358933c31de0fccfd82d138e67262e32"
util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
url-toolkit@^2.1.1, url-toolkit@^2.1.3:
version "2.1.6"
resolved "https://registry.yarnpkg.com/url-toolkit/-/url-toolkit-2.1.6.tgz#6d03246499e519aad224c44044a4ae20544154f2"
validate-npm-package-license@^3.0.1:
version "3.0.3"
@ -1085,6 +1174,42 @@ validate-npm-package-license@^3.0.1:
spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0"
"video.js@^6.8.0 || ^7.0.0":
version "7.4.1"
resolved "https://registry.yarnpkg.com/video.js/-/video.js-7.4.1.tgz#41349d3b0ca40fa281c6f906381a0a41b75bd04e"
dependencies:
"@babel/runtime" "^7.2.0"
"@videojs/http-streaming" "1.5.1"
global "4.3.2"
safe-json-parse "4.0.0"
tsml "1.0.1"
videojs-font "3.1.0"
videojs-vtt.js "0.14.1"
xhr "2.4.0"
video.js@^7.4.2:
version "7.4.2"
resolved "https://registry.yarnpkg.com/video.js/-/video.js-7.4.2.tgz#22b1b671b259bfc3af64228933181fc1fd8c2e76"
dependencies:
"@babel/runtime" "^7.2.0"
"@videojs/http-streaming" "1.6.0"
global "4.3.2"
safe-json-parse "4.0.0"
tsml "1.0.1"
videojs-font "3.1.0"
videojs-vtt.js "0.14.1"
xhr "2.4.0"
videojs-font@3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/videojs-font/-/videojs-font-3.1.0.tgz#ac33be9b517fe19299f61cccd2b3c7d75a1c6960"
videojs-vtt.js@0.14.1:
version "0.14.1"
resolved "https://registry.yarnpkg.com/videojs-vtt.js/-/videojs-vtt.js-0.14.1.tgz#da583eb1fc9c81c826a9432b706040e8dea49911"
dependencies:
global "^4.3.1"
websocket-driver@>=0.5.1:
version "0.7.0"
resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb"
@ -1106,6 +1231,15 @@ wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
xtend@~4.0.0:
xhr@2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.4.0.tgz#e16e66a45f869861eeefab416d5eff722dc40993"
dependencies:
global "~4.3.0"
is-function "^1.0.1"
parse-headers "^2.0.0"
xtend "^4.0.0"
xtend@^4.0.0, xtend@~4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"