diff --git a/frontend_tests/node_tests/notifications.js b/frontend_tests/node_tests/notifications.js index 70354bebab..e91f5c207d 100644 --- a/frontend_tests/node_tests/notifications.js +++ b/frontend_tests/node_tests/notifications.js @@ -1,5 +1,7 @@ "use strict"; +const rewiremock = require("rewiremock/node"); + // Dependencies set_global( "$", @@ -32,7 +34,9 @@ zrequire("ui"); zrequire("spoilers"); spoilers.hide_spoilers_in_notification = () => {}; -zrequire("notifications"); +rewiremock.proxy(() => zrequire("notifications"), { + "../../static/js/favicon": {}, +}); // Not muted streams const general = { diff --git a/frontend_tests/node_tests/ui_init.js b/frontend_tests/node_tests/ui_init.js index c5779f652f..7389300c8b 100644 --- a/frontend_tests/node_tests/ui_init.js +++ b/frontend_tests/node_tests/ui_init.js @@ -104,7 +104,9 @@ zrequire("narrow"); zrequire("search_suggestion"); zrequire("search"); zrequire("tutorial"); -zrequire("notifications"); +rewiremock.proxy(() => zrequire("notifications"), { + "../../static/js/favicon": {}, +}); zrequire("pm_conversations"); zrequire("pm_list"); zrequire("list_cursor"); diff --git a/package.json b/package.json index c22e086325..099773e9bb 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "file-loader": "^6.0.0", "flatpickr": "^4.5.7", "font-awesome": "^4.7.0", + "font-subset-loader2": "^1.1.7", "ga-gtag": "^1.0.1", "handlebars": "^4.7.2", "handlebars-loader": "^1.7.1", @@ -65,6 +66,7 @@ "style-loader": "^1.0.0", "terser-webpack-plugin": "^4.1.0", "turndown": "^6.0.0", + "url-loader": "^4.1.1", "webfonts-loader": "^7.0.1", "webpack": "^4.33.0", "webpack-cli": "^3.3.2", diff --git a/static/assets/favicon/.gitignore b/static/assets/favicon/.gitignore deleted file mode 100644 index b20a603e1e..0000000000 --- a/static/assets/favicon/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/tmp.svg diff --git a/static/assets/favicon/generate b/static/assets/favicon/generate deleted file mode 100755 index 1884178c1d..0000000000 --- a/static/assets/favicon/generate +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env python3 -import subprocess -from xml.etree import ElementTree as ET - -# Generates the favicon images containing unread message counts. - -# Open the SVG and find the number text elements using XPath -tree = ET.parse('orig.svg') -elems = [tree.getroot().findall( - f".//*[@id='{name}']/{{http://www.w3.org/2000/svg}}tspan")[0] - for name in ('number_back', 'number_front')] - -for i in range(1, 100): - # Prepare a modified SVG - s = f'{i:2}' - for e in elems: - e.text = s - with open('tmp.svg', 'wb') as out: - tree.write(out) - - # Convert to PNG - subprocess.check_call(['inkscape', '--without-gui', '--export-area-page', - f'--export-png=../../../static/images/favicon/favicon-{i}.png', - 'tmp.svg']) diff --git a/static/assets/favicon/infinite.svg b/static/assets/favicon/infinite.svg deleted file mode 100644 index 9bd9277685..0000000000 Binary files a/static/assets/favicon/infinite.svg and /dev/null differ diff --git a/static/assets/favicon/orig.svg b/static/assets/favicon/orig.svg deleted file mode 100644 index 45c4048c1f..0000000000 Binary files a/static/assets/favicon/orig.svg and /dev/null differ diff --git a/static/assets/favicon/pms.svg b/static/assets/favicon/pms.svg deleted file mode 100644 index aa859fdddd..0000000000 Binary files a/static/assets/favicon/pms.svg and /dev/null differ diff --git a/static/images/favicon/favicon-1.png b/static/images/favicon/favicon-1.png deleted file mode 100644 index d1e5d8473a..0000000000 Binary files a/static/images/favicon/favicon-1.png and /dev/null differ diff --git a/static/images/favicon/favicon-10.png b/static/images/favicon/favicon-10.png deleted file mode 100644 index 82f21beae4..0000000000 Binary files a/static/images/favicon/favicon-10.png and /dev/null differ diff --git a/static/images/favicon/favicon-11.png b/static/images/favicon/favicon-11.png deleted file mode 100644 index ee389045a5..0000000000 Binary files a/static/images/favicon/favicon-11.png and /dev/null differ diff --git a/static/images/favicon/favicon-12.png b/static/images/favicon/favicon-12.png deleted file mode 100644 index 366ecb47c1..0000000000 Binary files a/static/images/favicon/favicon-12.png and /dev/null differ diff --git a/static/images/favicon/favicon-13.png b/static/images/favicon/favicon-13.png deleted file mode 100644 index 490717469e..0000000000 Binary files a/static/images/favicon/favicon-13.png and /dev/null differ diff --git a/static/images/favicon/favicon-14.png b/static/images/favicon/favicon-14.png deleted file mode 100644 index d10aaf5d5a..0000000000 Binary files a/static/images/favicon/favicon-14.png and /dev/null differ diff --git a/static/images/favicon/favicon-15.png b/static/images/favicon/favicon-15.png deleted file mode 100644 index 6b687c4f61..0000000000 Binary files a/static/images/favicon/favicon-15.png and /dev/null differ diff --git a/static/images/favicon/favicon-16.png b/static/images/favicon/favicon-16.png deleted file mode 100644 index 3bee1ffdda..0000000000 Binary files a/static/images/favicon/favicon-16.png and /dev/null differ diff --git a/static/images/favicon/favicon-17.png b/static/images/favicon/favicon-17.png deleted file mode 100644 index 1cc63f5c2e..0000000000 Binary files a/static/images/favicon/favicon-17.png and /dev/null differ diff --git a/static/images/favicon/favicon-18.png b/static/images/favicon/favicon-18.png deleted file mode 100644 index bbbbf04f8a..0000000000 Binary files a/static/images/favicon/favicon-18.png and /dev/null differ diff --git a/static/images/favicon/favicon-19.png b/static/images/favicon/favicon-19.png deleted file mode 100644 index 564cd14718..0000000000 Binary files a/static/images/favicon/favicon-19.png and /dev/null differ diff --git a/static/images/favicon/favicon-2.png b/static/images/favicon/favicon-2.png deleted file mode 100644 index 208173ad51..0000000000 Binary files a/static/images/favicon/favicon-2.png and /dev/null differ diff --git a/static/images/favicon/favicon-20.png b/static/images/favicon/favicon-20.png deleted file mode 100644 index 0bf67f4645..0000000000 Binary files a/static/images/favicon/favicon-20.png and /dev/null differ diff --git a/static/images/favicon/favicon-21.png b/static/images/favicon/favicon-21.png deleted file mode 100644 index 761f00aa91..0000000000 Binary files a/static/images/favicon/favicon-21.png and /dev/null differ diff --git a/static/images/favicon/favicon-22.png b/static/images/favicon/favicon-22.png deleted file mode 100644 index de78dcef83..0000000000 Binary files a/static/images/favicon/favicon-22.png and /dev/null differ diff --git a/static/images/favicon/favicon-23.png b/static/images/favicon/favicon-23.png deleted file mode 100644 index 2414d76fd9..0000000000 Binary files a/static/images/favicon/favicon-23.png and /dev/null differ diff --git a/static/images/favicon/favicon-24.png b/static/images/favicon/favicon-24.png deleted file mode 100644 index ec34a8713f..0000000000 Binary files a/static/images/favicon/favicon-24.png and /dev/null differ diff --git a/static/images/favicon/favicon-25.png b/static/images/favicon/favicon-25.png deleted file mode 100644 index 91c48ff114..0000000000 Binary files a/static/images/favicon/favicon-25.png and /dev/null differ diff --git a/static/images/favicon/favicon-26.png b/static/images/favicon/favicon-26.png deleted file mode 100644 index 02e37c346c..0000000000 Binary files a/static/images/favicon/favicon-26.png and /dev/null differ diff --git a/static/images/favicon/favicon-27.png b/static/images/favicon/favicon-27.png deleted file mode 100644 index 8e80289ee9..0000000000 Binary files a/static/images/favicon/favicon-27.png and /dev/null differ diff --git a/static/images/favicon/favicon-28.png b/static/images/favicon/favicon-28.png deleted file mode 100644 index 871b8f6947..0000000000 Binary files a/static/images/favicon/favicon-28.png and /dev/null differ diff --git a/static/images/favicon/favicon-29.png b/static/images/favicon/favicon-29.png deleted file mode 100644 index ae0a65a77c..0000000000 Binary files a/static/images/favicon/favicon-29.png and /dev/null differ diff --git a/static/images/favicon/favicon-3.png b/static/images/favicon/favicon-3.png deleted file mode 100644 index 82863beb69..0000000000 Binary files a/static/images/favicon/favicon-3.png and /dev/null differ diff --git a/static/images/favicon/favicon-30.png b/static/images/favicon/favicon-30.png deleted file mode 100644 index e574106685..0000000000 Binary files a/static/images/favicon/favicon-30.png and /dev/null differ diff --git a/static/images/favicon/favicon-31.png b/static/images/favicon/favicon-31.png deleted file mode 100644 index c19a75e4cc..0000000000 Binary files a/static/images/favicon/favicon-31.png and /dev/null differ diff --git a/static/images/favicon/favicon-32.png b/static/images/favicon/favicon-32.png deleted file mode 100644 index ca8e6653ed..0000000000 Binary files a/static/images/favicon/favicon-32.png and /dev/null differ diff --git a/static/images/favicon/favicon-33.png b/static/images/favicon/favicon-33.png deleted file mode 100644 index b5bbe97293..0000000000 Binary files a/static/images/favicon/favicon-33.png and /dev/null differ diff --git a/static/images/favicon/favicon-34.png b/static/images/favicon/favicon-34.png deleted file mode 100644 index 74405ad4a6..0000000000 Binary files a/static/images/favicon/favicon-34.png and /dev/null differ diff --git a/static/images/favicon/favicon-35.png b/static/images/favicon/favicon-35.png deleted file mode 100644 index 568d94355d..0000000000 Binary files a/static/images/favicon/favicon-35.png and /dev/null differ diff --git a/static/images/favicon/favicon-36.png b/static/images/favicon/favicon-36.png deleted file mode 100644 index 3a3d9ad3af..0000000000 Binary files a/static/images/favicon/favicon-36.png and /dev/null differ diff --git a/static/images/favicon/favicon-37.png b/static/images/favicon/favicon-37.png deleted file mode 100644 index 1de1d1e2d3..0000000000 Binary files a/static/images/favicon/favicon-37.png and /dev/null differ diff --git a/static/images/favicon/favicon-38.png b/static/images/favicon/favicon-38.png deleted file mode 100644 index 6d7ed7ccf8..0000000000 Binary files a/static/images/favicon/favicon-38.png and /dev/null differ diff --git a/static/images/favicon/favicon-39.png b/static/images/favicon/favicon-39.png deleted file mode 100644 index cb0a4036d7..0000000000 Binary files a/static/images/favicon/favicon-39.png and /dev/null differ diff --git a/static/images/favicon/favicon-4.png b/static/images/favicon/favicon-4.png deleted file mode 100644 index 18d69150e2..0000000000 Binary files a/static/images/favicon/favicon-4.png and /dev/null differ diff --git a/static/images/favicon/favicon-40.png b/static/images/favicon/favicon-40.png deleted file mode 100644 index f10827e05c..0000000000 Binary files a/static/images/favicon/favicon-40.png and /dev/null differ diff --git a/static/images/favicon/favicon-41.png b/static/images/favicon/favicon-41.png deleted file mode 100644 index 52abf3855d..0000000000 Binary files a/static/images/favicon/favicon-41.png and /dev/null differ diff --git a/static/images/favicon/favicon-42.png b/static/images/favicon/favicon-42.png deleted file mode 100644 index b13aa16874..0000000000 Binary files a/static/images/favicon/favicon-42.png and /dev/null differ diff --git a/static/images/favicon/favicon-43.png b/static/images/favicon/favicon-43.png deleted file mode 100644 index ced7a93f52..0000000000 Binary files a/static/images/favicon/favicon-43.png and /dev/null differ diff --git a/static/images/favicon/favicon-44.png b/static/images/favicon/favicon-44.png deleted file mode 100644 index 4a1129e756..0000000000 Binary files a/static/images/favicon/favicon-44.png and /dev/null differ diff --git a/static/images/favicon/favicon-45.png b/static/images/favicon/favicon-45.png deleted file mode 100644 index 4fd0b3e917..0000000000 Binary files a/static/images/favicon/favicon-45.png and /dev/null differ diff --git a/static/images/favicon/favicon-46.png b/static/images/favicon/favicon-46.png deleted file mode 100644 index 9199e1fd9b..0000000000 Binary files a/static/images/favicon/favicon-46.png and /dev/null differ diff --git a/static/images/favicon/favicon-47.png b/static/images/favicon/favicon-47.png deleted file mode 100644 index 6abcfb06ec..0000000000 Binary files a/static/images/favicon/favicon-47.png and /dev/null differ diff --git a/static/images/favicon/favicon-48.png b/static/images/favicon/favicon-48.png deleted file mode 100644 index c04754ce57..0000000000 Binary files a/static/images/favicon/favicon-48.png and /dev/null differ diff --git a/static/images/favicon/favicon-49.png b/static/images/favicon/favicon-49.png deleted file mode 100644 index c7d8afe7b5..0000000000 Binary files a/static/images/favicon/favicon-49.png and /dev/null differ diff --git a/static/images/favicon/favicon-5.png b/static/images/favicon/favicon-5.png deleted file mode 100644 index 3fc4423a62..0000000000 Binary files a/static/images/favicon/favicon-5.png and /dev/null differ diff --git a/static/images/favicon/favicon-50.png b/static/images/favicon/favicon-50.png deleted file mode 100644 index aaeff847b9..0000000000 Binary files a/static/images/favicon/favicon-50.png and /dev/null differ diff --git a/static/images/favicon/favicon-51.png b/static/images/favicon/favicon-51.png deleted file mode 100644 index 0d11b1ea4f..0000000000 Binary files a/static/images/favicon/favicon-51.png and /dev/null differ diff --git a/static/images/favicon/favicon-52.png b/static/images/favicon/favicon-52.png deleted file mode 100644 index 530b9fc26d..0000000000 Binary files a/static/images/favicon/favicon-52.png and /dev/null differ diff --git a/static/images/favicon/favicon-53.png b/static/images/favicon/favicon-53.png deleted file mode 100644 index 99d0e2f183..0000000000 Binary files a/static/images/favicon/favicon-53.png and /dev/null differ diff --git a/static/images/favicon/favicon-54.png b/static/images/favicon/favicon-54.png deleted file mode 100644 index c1293e61b8..0000000000 Binary files a/static/images/favicon/favicon-54.png and /dev/null differ diff --git a/static/images/favicon/favicon-55.png b/static/images/favicon/favicon-55.png deleted file mode 100644 index 9d5b6cb59d..0000000000 Binary files a/static/images/favicon/favicon-55.png and /dev/null differ diff --git a/static/images/favicon/favicon-56.png b/static/images/favicon/favicon-56.png deleted file mode 100644 index 685ccb79d2..0000000000 Binary files a/static/images/favicon/favicon-56.png and /dev/null differ diff --git a/static/images/favicon/favicon-57.png b/static/images/favicon/favicon-57.png deleted file mode 100644 index 773be6c183..0000000000 Binary files a/static/images/favicon/favicon-57.png and /dev/null differ diff --git a/static/images/favicon/favicon-58.png b/static/images/favicon/favicon-58.png deleted file mode 100644 index f90e2d7060..0000000000 Binary files a/static/images/favicon/favicon-58.png and /dev/null differ diff --git a/static/images/favicon/favicon-59.png b/static/images/favicon/favicon-59.png deleted file mode 100644 index 1b2a2dddad..0000000000 Binary files a/static/images/favicon/favicon-59.png and /dev/null differ diff --git a/static/images/favicon/favicon-6.png b/static/images/favicon/favicon-6.png deleted file mode 100644 index ba291b158a..0000000000 Binary files a/static/images/favicon/favicon-6.png and /dev/null differ diff --git a/static/images/favicon/favicon-60.png b/static/images/favicon/favicon-60.png deleted file mode 100644 index d9dd81af0e..0000000000 Binary files a/static/images/favicon/favicon-60.png and /dev/null differ diff --git a/static/images/favicon/favicon-61.png b/static/images/favicon/favicon-61.png deleted file mode 100644 index f4ffafb607..0000000000 Binary files a/static/images/favicon/favicon-61.png and /dev/null differ diff --git a/static/images/favicon/favicon-62.png b/static/images/favicon/favicon-62.png deleted file mode 100644 index be048cd271..0000000000 Binary files a/static/images/favicon/favicon-62.png and /dev/null differ diff --git a/static/images/favicon/favicon-63.png b/static/images/favicon/favicon-63.png deleted file mode 100644 index 85b2c35572..0000000000 Binary files a/static/images/favicon/favicon-63.png and /dev/null differ diff --git a/static/images/favicon/favicon-64.png b/static/images/favicon/favicon-64.png deleted file mode 100644 index cf5274fad1..0000000000 Binary files a/static/images/favicon/favicon-64.png and /dev/null differ diff --git a/static/images/favicon/favicon-65.png b/static/images/favicon/favicon-65.png deleted file mode 100644 index a64c3879ba..0000000000 Binary files a/static/images/favicon/favicon-65.png and /dev/null differ diff --git a/static/images/favicon/favicon-66.png b/static/images/favicon/favicon-66.png deleted file mode 100644 index d332349ed6..0000000000 Binary files a/static/images/favicon/favicon-66.png and /dev/null differ diff --git a/static/images/favicon/favicon-67.png b/static/images/favicon/favicon-67.png deleted file mode 100644 index e289e5a4b0..0000000000 Binary files a/static/images/favicon/favicon-67.png and /dev/null differ diff --git a/static/images/favicon/favicon-68.png b/static/images/favicon/favicon-68.png deleted file mode 100644 index 91d1ab8d08..0000000000 Binary files a/static/images/favicon/favicon-68.png and /dev/null differ diff --git a/static/images/favicon/favicon-69.png b/static/images/favicon/favicon-69.png deleted file mode 100644 index fc58a82d91..0000000000 Binary files a/static/images/favicon/favicon-69.png and /dev/null differ diff --git a/static/images/favicon/favicon-7.png b/static/images/favicon/favicon-7.png deleted file mode 100644 index 2a2f676964..0000000000 Binary files a/static/images/favicon/favicon-7.png and /dev/null differ diff --git a/static/images/favicon/favicon-70.png b/static/images/favicon/favicon-70.png deleted file mode 100644 index 6d7cda9b74..0000000000 Binary files a/static/images/favicon/favicon-70.png and /dev/null differ diff --git a/static/images/favicon/favicon-71.png b/static/images/favicon/favicon-71.png deleted file mode 100644 index dc96b3e69f..0000000000 Binary files a/static/images/favicon/favicon-71.png and /dev/null differ diff --git a/static/images/favicon/favicon-72.png b/static/images/favicon/favicon-72.png deleted file mode 100644 index f02ec52a8d..0000000000 Binary files a/static/images/favicon/favicon-72.png and /dev/null differ diff --git a/static/images/favicon/favicon-73.png b/static/images/favicon/favicon-73.png deleted file mode 100644 index ad71303bd0..0000000000 Binary files a/static/images/favicon/favicon-73.png and /dev/null differ diff --git a/static/images/favicon/favicon-74.png b/static/images/favicon/favicon-74.png deleted file mode 100644 index a16ba123e1..0000000000 Binary files a/static/images/favicon/favicon-74.png and /dev/null differ diff --git a/static/images/favicon/favicon-75.png b/static/images/favicon/favicon-75.png deleted file mode 100644 index 74c7356b35..0000000000 Binary files a/static/images/favicon/favicon-75.png and /dev/null differ diff --git a/static/images/favicon/favicon-76.png b/static/images/favicon/favicon-76.png deleted file mode 100644 index dcecebd4d5..0000000000 Binary files a/static/images/favicon/favicon-76.png and /dev/null differ diff --git a/static/images/favicon/favicon-77.png b/static/images/favicon/favicon-77.png deleted file mode 100644 index e4e834dafe..0000000000 Binary files a/static/images/favicon/favicon-77.png and /dev/null differ diff --git a/static/images/favicon/favicon-78.png b/static/images/favicon/favicon-78.png deleted file mode 100644 index 3beab53b47..0000000000 Binary files a/static/images/favicon/favicon-78.png and /dev/null differ diff --git a/static/images/favicon/favicon-79.png b/static/images/favicon/favicon-79.png deleted file mode 100644 index 1660d2cad5..0000000000 Binary files a/static/images/favicon/favicon-79.png and /dev/null differ diff --git a/static/images/favicon/favicon-8.png b/static/images/favicon/favicon-8.png deleted file mode 100644 index 3eb4666a38..0000000000 Binary files a/static/images/favicon/favicon-8.png and /dev/null differ diff --git a/static/images/favicon/favicon-80.png b/static/images/favicon/favicon-80.png deleted file mode 100644 index e31be94d8b..0000000000 Binary files a/static/images/favicon/favicon-80.png and /dev/null differ diff --git a/static/images/favicon/favicon-81.png b/static/images/favicon/favicon-81.png deleted file mode 100644 index 68e989af58..0000000000 Binary files a/static/images/favicon/favicon-81.png and /dev/null differ diff --git a/static/images/favicon/favicon-82.png b/static/images/favicon/favicon-82.png deleted file mode 100644 index d3eaa2056f..0000000000 Binary files a/static/images/favicon/favicon-82.png and /dev/null differ diff --git a/static/images/favicon/favicon-83.png b/static/images/favicon/favicon-83.png deleted file mode 100644 index 9faccb038e..0000000000 Binary files a/static/images/favicon/favicon-83.png and /dev/null differ diff --git a/static/images/favicon/favicon-84.png b/static/images/favicon/favicon-84.png deleted file mode 100644 index ebfc279d3b..0000000000 Binary files a/static/images/favicon/favicon-84.png and /dev/null differ diff --git a/static/images/favicon/favicon-85.png b/static/images/favicon/favicon-85.png deleted file mode 100644 index 44a6e24214..0000000000 Binary files a/static/images/favicon/favicon-85.png and /dev/null differ diff --git a/static/images/favicon/favicon-86.png b/static/images/favicon/favicon-86.png deleted file mode 100644 index b2c57a225f..0000000000 Binary files a/static/images/favicon/favicon-86.png and /dev/null differ diff --git a/static/images/favicon/favicon-87.png b/static/images/favicon/favicon-87.png deleted file mode 100644 index 741bbd1dbe..0000000000 Binary files a/static/images/favicon/favicon-87.png and /dev/null differ diff --git a/static/images/favicon/favicon-88.png b/static/images/favicon/favicon-88.png deleted file mode 100644 index ae8c948287..0000000000 Binary files a/static/images/favicon/favicon-88.png and /dev/null differ diff --git a/static/images/favicon/favicon-89.png b/static/images/favicon/favicon-89.png deleted file mode 100644 index 9f133fb8fb..0000000000 Binary files a/static/images/favicon/favicon-89.png and /dev/null differ diff --git a/static/images/favicon/favicon-9.png b/static/images/favicon/favicon-9.png deleted file mode 100644 index f75a1cace7..0000000000 Binary files a/static/images/favicon/favicon-9.png and /dev/null differ diff --git a/static/images/favicon/favicon-90.png b/static/images/favicon/favicon-90.png deleted file mode 100644 index 83128df647..0000000000 Binary files a/static/images/favicon/favicon-90.png and /dev/null differ diff --git a/static/images/favicon/favicon-91.png b/static/images/favicon/favicon-91.png deleted file mode 100644 index 770bc421e0..0000000000 Binary files a/static/images/favicon/favicon-91.png and /dev/null differ diff --git a/static/images/favicon/favicon-92.png b/static/images/favicon/favicon-92.png deleted file mode 100644 index babb62efbd..0000000000 Binary files a/static/images/favicon/favicon-92.png and /dev/null differ diff --git a/static/images/favicon/favicon-93.png b/static/images/favicon/favicon-93.png deleted file mode 100644 index 4a68892956..0000000000 Binary files a/static/images/favicon/favicon-93.png and /dev/null differ diff --git a/static/images/favicon/favicon-94.png b/static/images/favicon/favicon-94.png deleted file mode 100644 index 779dd03cdb..0000000000 Binary files a/static/images/favicon/favicon-94.png and /dev/null differ diff --git a/static/images/favicon/favicon-95.png b/static/images/favicon/favicon-95.png deleted file mode 100644 index ab1e3d4e03..0000000000 Binary files a/static/images/favicon/favicon-95.png and /dev/null differ diff --git a/static/images/favicon/favicon-96.png b/static/images/favicon/favicon-96.png deleted file mode 100644 index 002da0e5bc..0000000000 Binary files a/static/images/favicon/favicon-96.png and /dev/null differ diff --git a/static/images/favicon/favicon-97.png b/static/images/favicon/favicon-97.png deleted file mode 100644 index 90ea10cf05..0000000000 Binary files a/static/images/favicon/favicon-97.png and /dev/null differ diff --git a/static/images/favicon/favicon-98.png b/static/images/favicon/favicon-98.png deleted file mode 100644 index ac4eecf8ce..0000000000 Binary files a/static/images/favicon/favicon-98.png and /dev/null differ diff --git a/static/images/favicon/favicon-99.png b/static/images/favicon/favicon-99.png deleted file mode 100644 index 4da9a2cb3a..0000000000 Binary files a/static/images/favicon/favicon-99.png and /dev/null differ diff --git a/static/images/favicon/favicon-infinite.png b/static/images/favicon/favicon-infinite.png deleted file mode 100644 index 244f77d817..0000000000 Binary files a/static/images/favicon/favicon-infinite.png and /dev/null differ diff --git a/static/js/favicon.js b/static/js/favicon.js index 23db6e9534..84455380d9 100644 --- a/static/js/favicon.js +++ b/static/js/favicon.js @@ -1,7 +1,45 @@ -"use strict"; +import render_favicon_svg from "../templates/favicon.svg.hbs"; -exports.set = function (url) { +import favicon_font_url from "!url-loader!font-subset-loader2?glyphs=0123456789KMGT∞!source-sans-pro/TTF/SourceSansPro-Bold.ttf"; + +let favicon_url; + +export function set(url) { $("#favicon").attr("href", url); -}; +} -window.favicon = exports; +export function update_favicon(new_message_count, pm_count) { + if (new_message_count === 0 && pm_count === 0) { + $("#favicon").attr("href", "/static/images/favicon.svg?v=4"); + return; + } + + const pow = Math.floor(Math.log10(new_message_count) / 3); + const suffix = ["", "K", "M", "G", "T"][pow]; + const count = + new_message_count === 0 + ? "" + : pow < 5 + ? `${Math.floor(new_message_count / 1e3 ** pow)}${suffix}` + : "∞"; + const count_long = count.length > 2; + const rendered_favicon = render_favicon_svg({ + count, + count_long, + have_pm: pm_count !== 0, + favicon_font_url, + }); + + if (favicon_url !== undefined) { + URL.revokeObjectURL(favicon_url); + } + favicon_url = URL.createObjectURL(new Blob([rendered_favicon], {type: "image/svg+xml"})); + + // Without loading the SVG in an Image first, Chrome mysteriously fails to + // render the webfont (https://crbug.com/1140920). + const image = new Image(); + image.src = favicon_url; + image.addEventListener("load", () => { + $("#favicon").attr("href", favicon_url); + }); +} diff --git a/static/js/notifications.js b/static/js/notifications.js index ab3b7a0d86..929dbc9baf 100644 --- a/static/js/notifications.js +++ b/static/js/notifications.js @@ -5,6 +5,7 @@ const _ = require("lodash"); const render_compose_notification = require("../templates/compose_notification.hbs"); const render_notification = require("../templates/notification.hbs"); +const favicon = require("./favicon"); const people = require("./people"); const settings_config = require("./settings_config"); @@ -16,11 +17,6 @@ let window_focused = document.hasFocus && document.hasFocus(); let supports_sound; -const unread_pms_favicon = "/static/images/favicon/favicon-pms.png?v=4"; -let current_favicon; -let previous_favicon; -let flashing = false; - let NotificationAPI; exports.set_notification_api = function (n) { @@ -131,85 +127,41 @@ exports.permission_state = function () { return NotificationAPI.permission; }; -let new_message_count = 0; - -exports.update_title_count = function (count) { - new_message_count = count; - exports.redraw_title(); -}; +let unread_count = 0; +let pm_count = 0; exports.redraw_title = function () { - // Update window title and favicon to reflect unread messages in current view - let n; - + // Update window title to reflect unread messages in current view const new_title = - (new_message_count ? "(" + new_message_count + ") " : "") + + (unread_count ? "(" + unread_count + ") " : "") + narrow.narrow_title + " - " + page_params.realm_name + " - " + "Zulip"; - if (document.title === new_title) { + document.title = new_title; +}; + +exports.update_unread_counts = function (new_unread_count, new_pm_count) { + if (new_unread_count === unread_count && new_pm_count === pm_count) { return; } - document.title = new_title; + unread_count = new_unread_count; + pm_count = new_pm_count; - // IE doesn't support PNG favicons, *shrug* - if (!/msie/i.test(navigator.userAgent)) { - // Indicate the message count in the favicon - if (new_message_count) { - // Make sure we're working with a number, as a defensive programming - // measure. And we don't have images above 99, so display those as - // 'infinite'. - n = Number(new_message_count); - if (n > 99) { - n = "infinite"; - } - - current_favicon = previous_favicon = "/static/images/favicon/favicon-" + n + ".png?v=4"; - } else { - current_favicon = previous_favicon = "/static/images/favicon.svg?v=4"; - } - favicon.set(current_favicon); - } + // Indicate the message count in the favicon + favicon.update_favicon(unread_count, pm_count); // Notify the current desktop app's UI about the new unread count. if (window.electron_bridge !== undefined) { - window.electron_bridge.send_event("total_unread_count", new_message_count); + window.electron_bridge.send_event("total_unread_count", unread_count); } -}; -function flash_pms() { - // When you have unread PMs, toggle the favicon between the unread count and - // a special icon indicating that you have unread PMs. - if (unread.get_counts().private_message_count > 0) { - if (current_favicon === unread_pms_favicon) { - favicon.set(previous_favicon); - current_favicon = previous_favicon; - previous_favicon = unread_pms_favicon; - } else { - favicon.set(unread_pms_favicon); - previous_favicon = current_favicon; - current_favicon = unread_pms_favicon; - } - // Toggle every 2 seconds. - setTimeout(flash_pms, 2000); - } else { - flashing = false; - // You have no more unread PMs, so back to only showing the unread - // count. - favicon.set(current_favicon); - } -} - -exports.update_pm_count = function () { // TODO: Add a `window.electron_bridge.updatePMCount(new_pm_count);` call? - if (!flashing) { - flashing = true; - flash_pms(); - } + + exports.redraw_title(); }; exports.is_window_focused = function () { diff --git a/static/js/settings_notifications.js b/static/js/settings_notifications.js index 9f693481d4..11bdd68346 100644 --- a/static/js/settings_notifications.js +++ b/static/js/settings_notifications.js @@ -83,8 +83,7 @@ function change_notification_setting(setting, setting_data, status_element) { function update_desktop_icon_count_display() { $("#desktop_icon_count_display").val(page_params.desktop_icon_count_display); - const count = unread.get_notifiable_count(); - notifications.update_title_count(count); + unread_ui.update_unread_counts(); } exports.set_enable_digest_emails_visibility = function () { diff --git a/static/js/unread_ui.js b/static/js/unread_ui.js index b7a3625e8b..687f5a1014 100644 --- a/static/js/unread_ui.js +++ b/static/js/unread_ui.js @@ -50,9 +50,8 @@ exports.update_unread_counts = function () { stream_list.update_dom_with_unread_counts(res); pm_list.update_dom_with_unread_counts(res); topic_list.update(); - notifications.update_pm_count(res.private_message_count); const notifiable_unread_count = unread.calculate_notifiable_count(res); - notifications.update_title_count(notifiable_unread_count); + notifications.update_unread_counts(notifiable_unread_count, res.private_message_count); exports.set_count_toggle_button($("#streamlist-toggle-unreadcount"), res.home_unread_messages); }; diff --git a/static/templates/favicon.svg.hbs b/static/templates/favicon.svg.hbs new file mode 100644 index 0000000000..0ca6467634 --- /dev/null +++ b/static/templates/favicon.svg.hbs @@ -0,0 +1,29 @@ + + + + + + + + + {{count}} + + + {{count}} + + {{#if have_pm}} + + {{/if}} + diff --git a/tools/lib/template_parser.py b/tools/lib/template_parser.py index fc7e7f94dc..ad57df1aee 100644 --- a/tools/lib/template_parser.py +++ b/tools/lib/template_parser.py @@ -303,6 +303,7 @@ OPTIONAL_CLOSING_TAGS = [ 'input', 'path', 'polygon', + 'stop', ] def is_self_closing_html_tag(s: Text, tag: Text) -> bool: diff --git a/version.py b/version.py index cc6c49e116..cdefdc15b2 100644 --- a/version.py +++ b/version.py @@ -44,4 +44,4 @@ API_FEATURE_LEVEL = 34 # historical commits sharing the same major version, in which case a # minor version bump suffices. -PROVISION_VERSION = '112.1' +PROVISION_VERSION = '112.2' diff --git a/yarn.lock b/yarn.lock index ec8508e3be..2b7c4d50aa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1230,7 +1230,7 @@ dependencies: "@types/sizzle" "*" -"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5": +"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6": version "7.0.6" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== @@ -1895,6 +1895,13 @@ anymatch@~3.1.1: normalize-path "^3.0.0" picomatch "^2.0.4" +append-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" + integrity sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE= + dependencies: + buffer-equal "^1.0.0" + append-transform@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-2.0.0.tgz#99d9d29c7b38391e6f428d28ce136551f0b77e12" @@ -1947,6 +1954,11 @@ array-bounds@^1.0.0, array-bounds@^1.0.1: resolved "https://registry.yarnpkg.com/array-bounds/-/array-bounds-1.0.1.tgz#da11356b4e18e075a4f0c86e1f179a67b7d7ea31" integrity sha512-8wdW3ZGk6UjMPJx/glyEt0sLzzwAE1bhToPsO1W2pbpR2gULyxe3BjSiuJFheP50T/GgODVPz2fuMUmIywt8cQ== +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= + array-find@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-find/-/array-find-1.0.0.tgz#6c8e286d11ed768327f8e62ecee87353ca3e78b8" @@ -2150,6 +2162,11 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428" integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA== +b3b@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/b3b/-/b3b-0.0.1.tgz#ff69f8a58d891ac732b20175e47546799754ef9b" + integrity sha1-/2n4pY2JGscysgF15HVGeZdU75s= + babel-eslint@^10.1.0: version "10.1.0" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" @@ -2505,6 +2522,11 @@ buffer-crc32@~0.2.3: resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= +buffer-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" + integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= + buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" @@ -2520,6 +2542,16 @@ buffer-json@^2.0.0: resolved "https://registry.yarnpkg.com/buffer-json/-/buffer-json-2.0.0.tgz#f73e13b1e42f196fe2fd67d001c7d7107edd7c23" integrity sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw== +buffer-to-vinyl@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz#00f15faee3ab7a1dda2cde6d9121bffdd07b2262" + integrity sha1-APFfruOreh3aLN5tkSG//dB7ImI= + dependencies: + file-type "^3.1.0" + readable-stream "^2.0.2" + uuid "^2.0.1" + vinyl "^1.0.0" + buffer-xor@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" @@ -2682,6 +2714,14 @@ camel-case@^4.1.1: pascal-case "^3.1.1" tslib "^1.10.0" +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + camelcase-keys@^6.2.2: version "6.2.2" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" @@ -2691,6 +2731,11 @@ camelcase-keys@^6.2.2: map-obj "^4.0.0" quick-lru "^4.0.1" +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= + camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -2942,6 +2987,11 @@ cliui@^6.0.0: strip-ansi "^6.0.0" wrap-ansi "^6.2.0" +clone-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" + integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= + clone-regexp@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-2.2.0.tgz#7d65e00885cd8796405c35a737e7a86b7429e36f" @@ -2949,6 +2999,35 @@ clone-regexp@^2.1.0: dependencies: is-regexp "^2.0.0" +clone-stats@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" + integrity sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE= + +clone-stats@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" + integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= + +clone@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + +clone@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= + +cloneable-readable@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" + integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== + dependencies: + inherits "^2.0.1" + process-nextick-args "^2.0.0" + readable-stream "^2.3.5" + coa@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" @@ -2963,6 +3042,18 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= +code-point@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point/-/code-point-1.1.0.tgz#999841f51f54ccae4a0dabbc869063234603fecd" + integrity sha1-mZhB9R9UzK5KDau8hpBjI0YD/s0= + +code-points@^2.0.0-1: + version "2.0.0-1" + resolved "https://registry.yarnpkg.com/code-points/-/code-points-2.0.0-1.tgz#01c23bda70cf45ef5772590c3ab8ba4f8774f58a" + integrity sha512-PuPoUdSqHY96e+CvEGe0+J9XkEqnQ4o79X+k+PJlZ84sZDoSJ2Q8/1OJT4dqYn8yL5EUxGCq/x2EcLEfvcGqaw== + dependencies: + code-point "^1.0.1" + collapse-white-space@^1.0.2: version "1.0.6" resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" @@ -3179,7 +3270,7 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concat-stream@^1.5.0, concat-stream@^1.5.2: +concat-stream@^1.5.0, concat-stream@^1.5.2, concat-stream@^1.6.2: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== @@ -3246,7 +3337,7 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== -convert-source-map@^1.7.0: +convert-source-map@^1.5.0, convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== @@ -3650,6 +3741,13 @@ cuid@^2.1.1: resolved "https://registry.yarnpkg.com/cuid/-/cuid-2.1.8.tgz#cbb88f954171e0d5747606c0139fb65c5101eac0" integrity sha512-xiEMER6E7TlTPnDxrM4eRiC6TRgjNX9xzEZ5U/Se2YJKr7Mq4pJn/2XEHjl3STcSh96GmkHPcBXLES8M29wyyg== +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= + dependencies: + array-find-index "^1.0.1" + cwise-compiler@^1.0.0, cwise-compiler@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/cwise-compiler/-/cwise-compiler-1.1.3.tgz#f4d667410e850d3a313a7d2db7b1e505bb034cc5" @@ -3796,7 +3894,7 @@ decamelize-keys@^1.1.0: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.1.0, decamelize@^1.2.0: +decamelize@^1.1.0, decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -4119,6 +4217,11 @@ dup@^1.0.0: resolved "https://registry.yarnpkg.com/dup/-/dup-1.0.0.tgz#51fc5ac685f8196469df0b905e934b20af5b4029" integrity sha1-UfxaxoX4GWRp3wuQXpNLIK9bQCk= +duplexer@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + duplexify@^3.4.2, duplexify@^3.4.5, duplexify@^3.6.0: version "3.7.1" resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" @@ -4921,6 +5024,11 @@ file-loader@^6.0.0: loader-utils "^2.0.0" schema-utils "^2.7.1" +file-type@^3.1.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" + integrity sha1-JXoHg4TR24CHvESdEH1SpSZyuek= + file-uri-to-path@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" @@ -4987,6 +5095,14 @@ find-root@^1.1.0: resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" @@ -5050,7 +5166,7 @@ flip-pixels@^1.0.2: resolved "https://registry.yarnpkg.com/flip-pixels/-/flip-pixels-1.0.2.tgz#aad7b7d9fc65932d5f27e2e4dac4b494140845e4" integrity sha512-oXbJGbjDnfJRWPC7Va38EFhd+A8JWE5/hCiKcK8qjCdbLj9DTpsq6MEudwpRTH+V4qq+Jw7d3pUgQdSr3x3mTA== -flush-write-stream@^1.0.0: +flush-write-stream@^1.0.0, flush-write-stream@^1.0.2: version "1.1.1" resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== @@ -5082,6 +5198,44 @@ font-measure@^1.2.2: dependencies: css-font "^1.2.0" +font-subset-loader2@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/font-subset-loader2/-/font-subset-loader2-1.1.7.tgz#723fed7cfe1bf7d119e38a6cb1c822d8fbf80e96" + integrity sha512-MXRIBtMyPDd7ZtoSlMfDc0ByY9tocHW9ss0TFJq7G3DpiC9JMYdTF2wNqTVUSlyAmhioPoNMNJQPvWsWbThr1g== + dependencies: + fontmin "^0.9.6" + loader-utils "^1.2.3" + +fonteditor-core@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fonteditor-core/-/fonteditor-core-1.0.5.tgz#870d9a69668b2c03d21ac5b8bed9be77435d5ee3" + integrity sha512-/WLXbTOJKFA12DWIOZcXDWY45MoQoyymPn/zIgqqLcaBhfzYTAg/e7m2svhEzgYUVa5MiRfqmsWSlrjiNBHezg== + dependencies: + xmldom "~0.1.19" + +fontmin@^0.9.6: + version "0.9.8" + resolved "https://registry.yarnpkg.com/fontmin/-/fontmin-0.9.8.tgz#6750f056d43463b7685dfa68a80464f02556bf78" + integrity sha512-Ilv/5jbeh2CiJfySjkz0Zp7D5Z0RYQT7kkdkkVd24etxS+0YEm1K6K/Ny0SeT4f/o8h/oS42Y/QmmwgytX6QPg== + dependencies: + b3b "0.0.1" + buffer-to-vinyl "^1.0.0" + code-points "^2.0.0-1" + concat-stream "^1.6.2" + fonteditor-core "^1.0.2" + get-stdin "^6.0.0" + is-otf "^0.1.2" + is-svg "^1.1.1" + is-ttf "^0.2.2" + lodash "^4.17.10" + meow "^3.0.0" + pako "^1.0.1" + replace-ext "0.0.1" + stream-combiner "^0.2.1" + through2 "2.0.1" + ttf2woff2 "3.0.0" + vinyl-fs "3.0.3" + for-each@~0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" @@ -5179,6 +5333,14 @@ fs-minipass@^2.0.0: dependencies: minipass "^3.0.0" +fs-mkdirp-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb" + integrity sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes= + dependencies: + graceful-fs "^4.1.11" + through2 "^2.0.3" + fs-readfile-promise@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/fs-readfile-promise/-/fs-readfile-promise-3.0.1.tgz#d0d307b7f6aedfc920c31fa6e5712efaa297c958" @@ -5278,6 +5440,11 @@ get-package-type@^0.1.0: resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= + get-stdin@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" @@ -5709,7 +5876,23 @@ glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0: dependencies: is-glob "^4.0.1" -glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.6: +glob-stream@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" + integrity sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ= + dependencies: + extend "^3.0.0" + glob "^7.1.1" + glob-parent "^3.1.0" + is-negated-glob "^1.0.0" + ordered-read-streams "^1.0.0" + pumpify "^1.3.5" + readable-stream "^2.1.5" + remove-trailing-separator "^1.0.1" + to-absolute-glob "^2.0.0" + unique-stream "^2.0.2" + +glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -5968,7 +6151,7 @@ good-listener@^1.2.2: dependencies: delegate "^3.1.2" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2: +graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== @@ -6440,6 +6623,13 @@ incremental-convex-hull@^1.0.1: robust-orientation "^1.1.2" simplicial-complex "^1.0.0" +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= + dependencies: + repeating "^2.0.0" + indent-string@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" @@ -6545,6 +6735,14 @@ is-absolute-url@^3.0.3: resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== +is-absolute@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" + integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== + dependencies: + is-relative "^1.0.0" + is-windows "^1.0.1" + is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -6712,7 +6910,7 @@ is-extglob@^2.1.0, is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-finite@^1.0.1: +is-finite@^1.0.0, is-finite@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== @@ -6773,6 +6971,11 @@ is-mobile@^2.2.1, is-mobile@^2.2.2: resolved "https://registry.yarnpkg.com/is-mobile/-/is-mobile-2.2.2.tgz#f6c9c5d50ee01254ce05e739bdd835f1ed4e9954" integrity sha512-wW/SXnYJkTjs++tVK5b6kVITZpAZPtUrt9SF80vvxGiF/Oywal+COk1jlRkiVq15RFNEQKQY31TkV24/1T5cVg== +is-negated-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" + integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= + is-negative-zero@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461" @@ -6800,6 +7003,13 @@ is-obj@^2.0.0: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== +is-otf@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/is-otf/-/is-otf-0.1.2.tgz#5a6e2ab3a0b13b92a2912c1a95c73b5a574b44cc" + integrity sha1-Wm4qs6CxO5KikSwalcc7WldLRMw= + dependencies: + b3b "0.0.1" + is-path-cwd@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" @@ -6860,6 +7070,13 @@ is-regexp@^2.0.0: resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-2.1.0.tgz#cd734a56864e23b956bf4e7c66c396a4c0b22c2d" integrity sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA== +is-relative@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" + integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== + dependencies: + is-unc-path "^1.0.0" + is-resolvable@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" @@ -6890,6 +7107,11 @@ is-svg-path@^1.0.1: resolved "https://registry.yarnpkg.com/is-svg-path/-/is-svg-path-1.0.2.tgz#77ab590c12b3d20348e5c7a13d0040c87784dda0" integrity sha1-d6tZDBKz0gNI5cehPQBAyHeE3aA= +is-svg@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-1.1.1.tgz#ac0efaafb653ac58473708b1f873636ca110e31b" + integrity sha1-rA76r7ZTrFhHNwix+HNjbKEQ4xs= + is-svg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" @@ -6904,11 +7126,35 @@ is-symbol@^1.0.2: dependencies: has-symbols "^1.0.1" +is-ttf@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/is-ttf/-/is-ttf-0.2.2.tgz#7155824a33867ee4fa89c79e615e3d4716eb1b3a" + integrity sha1-cVWCSjOGfuT6iceeYV49RxbrGzo= + dependencies: + b3b "0.0.1" + is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= +is-unc-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" + integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== + dependencies: + unc-path-regex "^0.1.2" + +is-utf8@^0.2.0, is-utf8@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + +is-valid-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" + integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= + is-whitespace-character@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" @@ -7268,6 +7514,20 @@ last-call-webpack-plugin@^3.0.0: lodash "^4.17.5" webpack-sources "^1.1.0" +lazystream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" + integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= + dependencies: + readable-stream "^2.0.5" + +lead@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42" + integrity sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI= + dependencies: + flush-write-stream "^1.0.2" + lerp@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/lerp/-/lerp-1.0.3.tgz#a18c8968f917896de15ccfcc28d55a6b731e776e" @@ -7314,6 +7574,17 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + load-json-file@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" @@ -7498,6 +7769,14 @@ loose-envify@^1.0.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + lower-case@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.1.tgz#39eeb36e396115cc05e29422eaea9e692c9408c7" @@ -7546,7 +7825,7 @@ map-limit@0.0.1: dependencies: once "~1.3.0" -map-obj@^1.0.0: +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" integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= @@ -7709,6 +7988,22 @@ memory-fs@^0.5.0: errno "^0.1.3" readable-stream "^2.0.1" +meow@^3.0.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + meow@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/meow/-/meow-7.1.1.tgz#7c01595e3d337fcb0ec4e8eed1666ea95903d306" @@ -7803,7 +8098,7 @@ mime-match@^1.0.2: dependencies: wildcard "^1.1.0" -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: version "2.1.27" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== @@ -7861,7 +8156,7 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.2.0, minimist@^1.2.5, minimist@~1.2.5: +minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5, minimist@~1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== @@ -8281,7 +8576,7 @@ node-releases@^1.1.61: dependencies: abbrev "1" -normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== @@ -8345,6 +8640,13 @@ normals@^1.1.0: resolved "https://registry.yarnpkg.com/normals/-/normals-1.1.0.tgz#325b595ed34afe467a6c55a14fd9085787ff59c0" integrity sha1-MltZXtNK/kZ6bFWhT9kIV4f/WcA= +now-and-later@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c" + integrity sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ== + dependencies: + once "^1.3.2" + npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" @@ -8478,7 +8780,7 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" -object.assign@^4.1.0: +object.assign@^4.0.4, object.assign@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.1.tgz#303867a666cdd41936ecdedfb1f8f3e32a478cdd" integrity sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA== @@ -8530,7 +8832,7 @@ on-headers@~1.0.2: resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== -once@^1.3.0, once@^1.3.1, once@^1.4.0: +once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= @@ -8610,6 +8912,13 @@ orbit-camera-controller@^4.0.0: filtered-vector "^1.2.1" gl-mat4 "^1.0.3" +ordered-read-streams@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" + integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4= + dependencies: + readable-stream "^2.0.1" + original@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" @@ -8740,7 +9049,7 @@ pad-left@^1.0.2: dependencies: repeat-string "^1.3.0" -pako@^1.0.0, pako@~1.0.5: +pako@^1.0.0, pako@^1.0.1, pako@~1.0.5: version "1.0.11" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== @@ -8877,6 +9186,13 @@ path-dirname@^1.0.0: resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + dependencies: + pinkie-promise "^2.0.0" + path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -8917,6 +9233,15 @@ path-to-regexp@0.1.7: resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + path-type@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" @@ -9633,11 +9958,16 @@ pretty-error@^2.1.1: renderkid "^2.0.1" utila "~0.4" -process-nextick-args@~2.0.0: +process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== +process-nextick-args@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + integrity sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M= + process-on-spawn@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/process-on-spawn/-/process-on-spawn-1.0.0.tgz#95b05a23073d30a17acfdc92a440efd2baefdc93" @@ -9716,7 +10046,7 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -pumpify@^1.3.3: +pumpify@^1.3.3, pumpify@^1.3.5: version "1.5.1" resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== @@ -9878,6 +10208,14 @@ raw-loader@~0.5.1: resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa" integrity sha1-DD0L6u2KAclm2Xh793goElKpeao= +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + read-pkg-up@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" @@ -9895,6 +10233,15 @@ read-pkg-up@^7.0.1: read-pkg "^5.2.0" type-fest "^0.8.1" +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + read-pkg@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" @@ -9914,7 +10261,7 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -9956,6 +10303,18 @@ readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1, readable string_decoder "^1.1.1" util-deprecate "^1.0.1" +readable-stream@~2.0.0: + version "2.0.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" + integrity sha1-j5A0HmilPMySh4jaz80Rs265t44= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + readdirp@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" @@ -9972,6 +10331,14 @@ readdirp@~3.4.0: dependencies: picomatch "^2.2.1" +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + redent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" @@ -10207,6 +10574,23 @@ remark@^12.0.0: remark-stringify "^8.0.0" unified "^9.0.0" +remove-bom-buffer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" + integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ== + dependencies: + is-buffer "^1.1.5" + is-utf8 "^0.2.1" + +remove-bom-stream@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523" + integrity sha1-BfGlk/FuQuH7kOv1nejlaVJflSM= + dependencies: + remove-bom-buffer "^3.0.0" + safe-buffer "^5.1.0" + through2 "^2.0.3" + remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" @@ -10233,11 +10617,28 @@ repeat-string@^1.0.0, repeat-string@^1.3.0, repeat-string@^1.5.4, repeat-string@ resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= + dependencies: + is-finite "^1.0.0" + +replace-ext@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" + integrity sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ= + replace-ext@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= +replace-ext@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" + integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== + request-promise-core@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" @@ -10335,6 +10736,13 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== +resolve-options@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" + integrity sha1-MrueOcBtZzONyTeMDW1gdFZq0TE= + dependencies: + value-or-function "^3.0.0" + resolve-protobuf-schema@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz#9ca9a9e69cf192bbdaf1006ec1973948aa4a3758" @@ -10603,6 +11011,15 @@ schema-utils@^2.0.0, schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7 ajv "^6.12.4" ajv-keywords "^3.5.2" +schema-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef" + integrity sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA== + dependencies: + "@types/json-schema" "^7.0.6" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + script-loader@^0.7.2: version "0.7.2" resolved "https://registry.yarnpkg.com/script-loader/-/script-loader-0.7.2.tgz#2016db6f86f25f5cf56da38915d83378bb166ba7" @@ -11202,6 +11619,14 @@ stream-browserify@^2.0.1: inherits "~2.0.1" readable-stream "^2.0.2" +stream-combiner@^0.2.1: + version "0.2.2" + resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.2.2.tgz#aec8cbac177b56b6f4fa479ced8c1912cee52858" + integrity sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg= + dependencies: + duplexer "~0.1.1" + through "~2.3.4" + stream-each@^1.1.0: version "1.2.3" resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" @@ -11380,6 +11805,13 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= + dependencies: + is-utf8 "^0.2.0" + strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -11395,6 +11827,13 @@ strip-eof@^1.0.0: resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= + dependencies: + get-stdin "^4.0.1" + strip-indent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" @@ -11820,6 +12259,22 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= +through2-filter@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254" + integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA== + dependencies: + through2 "~2.0.0" + xtend "~4.0.0" + +through2@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.1.tgz#384e75314d49f32de12eebb8136b8eb6b5d59da9" + integrity sha1-OE51MU1J8y3hLuu4E2uOtrXVnak= + dependencies: + readable-stream "~2.0.0" + xtend "~4.0.0" + through2@^0.6.3: version "0.6.5" resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" @@ -11828,7 +12283,7 @@ through2@^0.6.3: readable-stream ">=1.0.33-1 <1.1.0-0" xtend ">=4.0.0 <4.1.0-0" -through2@^2.0.0, through2@^2.0.1: +through2@^2.0.0, through2@^2.0.1, through2@^2.0.3, through2@~2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== @@ -11873,6 +12328,14 @@ tinyqueue@^2.0.3: resolved "https://registry.yarnpkg.com/tinyqueue/-/tinyqueue-2.0.3.tgz#64d8492ebf39e7801d7bd34062e29b45b2035f08" integrity sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA== +to-absolute-glob@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" + integrity sha1-GGX0PZ50sIItufFFt4z/fQ98hJs= + dependencies: + is-absolute "^1.0.0" + is-negated-glob "^1.0.0" + to-array-buffer@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/to-array-buffer/-/to-array-buffer-3.2.0.tgz#cb684dd691a7368c3b249c2348d75227f7d4dbb4" @@ -11943,6 +12406,13 @@ to-regex@^3.0.1, to-regex@^3.0.2: regex-not "^1.0.2" safe-regex "^1.1.0" +to-through@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6" + integrity sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY= + dependencies: + through2 "^2.0.3" + to-uint8@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/to-uint8/-/to-uint8-1.4.1.tgz#9f45694905b827f247d37bc8ec83b2818d81fac9" @@ -12011,6 +12481,11 @@ triangulate-polyline@^1.0.0: dependencies: cdt2d "^1.0.0" +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= + trim-newlines@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.0.tgz#79726304a6a898aa8373427298d54c2ee8b1cb30" @@ -12061,7 +12536,7 @@ ttf2eot@^2.0.0: argparse "^1.0.6" microbuffer "^1.0.0" -ttf2woff2@^3.0.0: +ttf2woff2@3.0.0, ttf2woff2@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ttf2woff2/-/ttf2woff2-3.0.0.tgz#afb64a603f62f396680bd0fc33b312de0c882ee6" integrity sha512-5/Web6B0lF/STNAQ0d5vAlRRquuWsNj8wOmKQ9ql9Bsgbx8MsLnNzaBG9vBcSE4s4Ry1QOr/MyUrDUIVgVPEfw== @@ -12213,6 +12688,11 @@ unbzip2-stream@^1.3.3: buffer "^5.2.1" through "^2.3.8" +unc-path-regex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= + underscore@^1.9.1: version "1.11.0" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.11.0.tgz#dd7c23a195db34267186044649870ff1bab5929e" @@ -12305,6 +12785,14 @@ unique-slug@^2.0.0: dependencies: imurmurhash "^0.1.4" +unique-stream@^2.0.2: + version "2.3.1" + resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac" + integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A== + dependencies: + json-stable-stringify-without-jsonify "^1.0.1" + through2-filter "^3.0.0" + unist-util-find-all-after@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/unist-util-find-all-after/-/unist-util-find-all-after-3.0.1.tgz#95cc62f48812d879b4685a0512bf1b838da50e9a" @@ -12393,6 +12881,15 @@ url-join@^4.0.0: resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== +url-loader@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" + integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== + dependencies: + loader-utils "^2.0.0" + mime-types "^2.1.27" + schema-utils "^3.0.0" + url-parse@^1.4.3: version "1.4.7" resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" @@ -12500,6 +12997,11 @@ utils-regex-from-string@^1.0.0: regex-regex "^1.0.0" validate.io-string-primitive "^1.0.0" +uuid@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" + integrity sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho= + uuid@^3.3.2, uuid@^3.3.3, uuid@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" @@ -12594,6 +13096,11 @@ validator@^12.0.0: resolved "https://registry.yarnpkg.com/validator/-/validator-12.2.0.tgz#660d47e96267033fd070096c3b1a6f2db4380a0a" integrity sha512-jJfE/DW6tIK1Ek8nCfNFqt8Wb3nzMoAbocBF6/Icgg1ZFSBpObdnwVY2jQj6qUqzhx5jc71fpvBWyLGO7Xl+nQ== +value-or-function@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" + integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= + varstream@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/varstream/-/varstream-0.3.2.tgz#18ac6494765f3ff1a35ad9a4be053bec188a5de1" @@ -12657,6 +13164,63 @@ vfile@^4.0.0: unist-util-stringify-position "^2.0.0" vfile-message "^2.0.0" +vinyl-fs@3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" + integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng== + dependencies: + fs-mkdirp-stream "^1.0.0" + glob-stream "^6.1.0" + graceful-fs "^4.0.0" + is-valid-glob "^1.0.0" + lazystream "^1.0.0" + lead "^1.0.0" + object.assign "^4.0.4" + pumpify "^1.3.5" + readable-stream "^2.3.3" + remove-bom-buffer "^3.0.0" + remove-bom-stream "^1.2.0" + resolve-options "^1.1.0" + through2 "^2.0.0" + to-through "^2.0.0" + value-or-function "^3.0.0" + vinyl "^2.0.0" + vinyl-sourcemap "^1.1.0" + +vinyl-sourcemap@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16" + integrity sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY= + dependencies: + append-buffer "^1.0.2" + convert-source-map "^1.5.0" + graceful-fs "^4.1.6" + normalize-path "^2.1.1" + now-and-later "^2.0.0" + remove-bom-buffer "^3.0.0" + vinyl "^2.0.0" + +vinyl@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" + integrity sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ= + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +vinyl@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.1.tgz#23cfb8bbab5ece3803aa2c0a1eb28af7cbba1974" + integrity sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw== + dependencies: + clone "^2.1.1" + clone-buffer "^1.0.0" + clone-stats "^1.0.0" + cloneable-readable "^1.0.0" + remove-trailing-separator "^1.0.1" + replace-ext "^1.0.0" + vm-browserify@^1.0.1: version "1.1.2" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" @@ -13059,12 +13623,12 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xmldom@~0.1.22: +xmldom@~0.1.19, xmldom@~0.1.22: version "0.1.31" resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.31.tgz#b76c9a1bd9f0a9737e5a72dc37231cf38375e2ff" integrity sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ== -"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: +"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==