From 35440822be1d305e7c38982992680be20ffeee04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gy=C3=B6rgy=20Bal=C3=A1ssy?= Date: Sat, 18 Aug 2018 06:00:52 +0200 Subject: [PATCH 01/47] CHANGED: The COMMIT_COUNT placeholder in the UPDATE_INFO message of the UpdateNotification module does not contain the word "commit" or "commits" any more, so language files can independently localize them. --- modules/default/updatenotification/updatenotification.js | 2 +- tests/configs/data/TranslationTest.json | 2 +- tests/configs/data/en.json | 2 +- translations/af.json | 2 +- translations/bg.json | 2 +- translations/ca.json | 2 +- translations/cs.json | 2 +- translations/da.json | 2 +- translations/de.json | 2 +- translations/en.json | 2 +- translations/es.json | 2 +- translations/et.json | 2 +- translations/fr.json | 2 +- translations/hu.json | 2 +- translations/id.json | 2 +- translations/is.json | 2 +- translations/it.json | 2 +- translations/kr.json | 2 +- translations/nb.json | 2 +- translations/nl.json | 2 +- translations/nn.json | 2 +- translations/pl.json | 3 ++- translations/pt-br.json | 2 +- translations/pt.json | 2 +- translations/ru.json | 2 +- translations/sv.json | 2 +- translations/zh-cn.json | 2 +- 27 files changed, 28 insertions(+), 27 deletions(-) diff --git a/modules/default/updatenotification/updatenotification.js b/modules/default/updatenotification/updatenotification.js index b26517e5..d69f6288 100644 --- a/modules/default/updatenotification/updatenotification.js +++ b/modules/default/updatenotification/updatenotification.js @@ -59,7 +59,7 @@ Module.register("updatenotification", { message.appendChild(icon); var subtextHtml = this.translate("UPDATE_INFO", { - COMMIT_COUNT: this.status.behind + " " + ((this.status.behind == 1) ? "commit" : "commits"), + COMMIT_COUNT: this.status.behind, BRANCH_NAME: this.status.current }); diff --git a/tests/configs/data/TranslationTest.json b/tests/configs/data/TranslationTest.json index 5614b23c..53ffa825 100644 --- a/tests/configs/data/TranslationTest.json +++ b/tests/configs/data/TranslationTest.json @@ -28,5 +28,5 @@ "UPDATE_NOTIFICATION": "MagicMirror² update available.", "UPDATE_NOTIFICATION_MODULE": "Update available for MODULE_NAME module.", - "UPDATE_INFO": "The current installation is COMMIT_COUNT behind on the BRANCH_NAME branch." + "UPDATE_INFO": "The current installation is COMMIT_COUNT commit(s) behind on the BRANCH_NAME branch." } diff --git a/tests/configs/data/en.json b/tests/configs/data/en.json index 5614b23c..53ffa825 100644 --- a/tests/configs/data/en.json +++ b/tests/configs/data/en.json @@ -28,5 +28,5 @@ "UPDATE_NOTIFICATION": "MagicMirror² update available.", "UPDATE_NOTIFICATION_MODULE": "Update available for MODULE_NAME module.", - "UPDATE_INFO": "The current installation is COMMIT_COUNT behind on the BRANCH_NAME branch." + "UPDATE_INFO": "The current installation is COMMIT_COUNT commit(s) behind on the BRANCH_NAME branch." } diff --git a/translations/af.json b/translations/af.json index 68bebc8d..bef7b546 100644 --- a/translations/af.json +++ b/translations/af.json @@ -26,5 +26,5 @@ "UPDATE_NOTIFICATION": "MagicMirror² update beskikbaar.", "UPDATE_NOTIFICATION_MODULE": "Update beskikbaar vir {MODULE_NAME} module.", - "UPDATE_INFO": "Die huidige installasie is {COMMIT_COUNT} agter op die {BRANCH_NAME} branch." + "UPDATE_INFO": "Die huidige installasie is {COMMIT_COUNT} commit(s) agter op die {BRANCH_NAME} branch." } diff --git a/translations/bg.json b/translations/bg.json index 705c1396..322dc8b2 100644 --- a/translations/bg.json +++ b/translations/bg.json @@ -28,5 +28,5 @@ "UPDATE_NOTIFICATION": "Налична актуализация за MagicMirror².", "UPDATE_NOTIFICATION_MODULE": "Налична актуализация за {MODULE_NAME} модул.", - "UPDATE_INFO": "Текущата инсталация е изостанала с {COMMIT_COUNT} къмита на клон {BRANCH_NAME}." + "UPDATE_INFO": "Текущата инсталация е изостанала с {COMMIT_COUNT} commit(s) къмита на клон {BRANCH_NAME}." } diff --git a/translations/ca.json b/translations/ca.json index 76e4ad2c..674de8bf 100644 --- a/translations/ca.json +++ b/translations/ca.json @@ -28,5 +28,5 @@ "UPDATE_NOTIFICATION": "MagicMirror² actualizació disponible.", "UPDATE_NOTIFICATION_MODULE": "Disponible una actualizació per al mòdul {MODULE_NAME}.", - "UPDATE_INFO": "La teva instal·lació actual està {COMMIT_COUNT} canvis darrere de la branca {BRANCH_NAME}." + "UPDATE_INFO": "La teva instal·lació actual està {COMMIT_COUNT} commit(s) canvis darrere de la branca {BRANCH_NAME}." } diff --git a/translations/cs.json b/translations/cs.json index bec2e82c..39348e7e 100644 --- a/translations/cs.json +++ b/translations/cs.json @@ -28,5 +28,5 @@ "UPDATE_NOTIFICATION": "Dostupná aktualizace pro MagicMirror².", "UPDATE_NOTIFICATION_MODULE": "Dostupná aktualizace pro modul {MODULE_NAME}.", - "UPDATE_INFO": "Současná instalace je na větvi {BRANCH_NAME} pozadu o {COMMIT_COUNT}." + "UPDATE_INFO": "Současná instalace je na větvi {BRANCH_NAME} pozadu o {COMMIT_COUNT} commit(s)." } diff --git a/translations/da.json b/translations/da.json index fe31cba4..79877334 100644 --- a/translations/da.json +++ b/translations/da.json @@ -27,5 +27,5 @@ "UPDATE_NOTIFICATION": "MagicMirror² opdatering tilgængelig.", "UPDATE_NOTIFICATION_MODULE": "Opdatering tilgængelig for {MODULE_NAME} modulet.", - "UPDATE_INFO": "Den nuværende installation er {COMMIT_COUNT} bagud på {BRANCH_NAME} branch'en." + "UPDATE_INFO": "Den nuværende installation er {COMMIT_COUNT} commit(s) bagud på {BRANCH_NAME} branch'en." } diff --git a/translations/de.json b/translations/de.json index 050060cf..f6604bc5 100644 --- a/translations/de.json +++ b/translations/de.json @@ -28,7 +28,7 @@ "UPDATE_NOTIFICATION": "Aktualisierung für MagicMirror² verfügbar.", "UPDATE_NOTIFICATION_MODULE": "Aktualisierung für das {MODULE_NAME} Modul verfügbar.", - "UPDATE_INFO": "Die aktuelle Installation ist {COMMIT_COUNT} hinter dem {BRANCH_NAME} Branch.", + "UPDATE_INFO": "Die aktuelle Installation ist {COMMIT_COUNT} Commit(s) hinter dem {BRANCH_NAME} Branch.", "FEELS": "Gefühlt" } diff --git a/translations/en.json b/translations/en.json index 1cba9a89..563c5d30 100644 --- a/translations/en.json +++ b/translations/en.json @@ -28,7 +28,7 @@ "UPDATE_NOTIFICATION": "MagicMirror² update available.", "UPDATE_NOTIFICATION_MODULE": "Update available for {MODULE_NAME} module.", - "UPDATE_INFO": "The current installation is {COMMIT_COUNT} behind on the {BRANCH_NAME} branch.", + "UPDATE_INFO": "The current installation is {COMMIT_COUNT} commit(s) behind on the {BRANCH_NAME} branch.", "FEELS": "Feels" } diff --git a/translations/es.json b/translations/es.json index c2420494..9086ae79 100644 --- a/translations/es.json +++ b/translations/es.json @@ -28,7 +28,7 @@ "UPDATE_NOTIFICATION": "MagicMirror² actualización disponible.", "UPDATE_NOTIFICATION_MODULE": "Disponible una actualización para el módulo {MODULE_NAME}.", - "UPDATE_INFO": "Tu actual instalación está {COMMIT_COUNT} cambios detrás de la rama {BRANCH_NAME}.", + "UPDATE_INFO": "Tu actual instalación está {COMMIT_COUNT} commit(s) cambios detrás de la rama {BRANCH_NAME}.", "FEELS": "Sensación térmica de" } diff --git a/translations/et.json b/translations/et.json index f7ad1f0e..4283a048 100644 --- a/translations/et.json +++ b/translations/et.json @@ -26,5 +26,5 @@ "UPDATE_NOTIFICATION": "MagicMirror²´le uuendus saadaval.", "UPDATE_NOTIFICATION_MODULE": "Uuendus saadaval {MODULE_NAME} moodulile.", - "UPDATE_INFO": "Praegune paigaldus on {COMMIT_COUNT} tagapool {BRANCH_NAME} harul." + "UPDATE_INFO": "Praegune paigaldus on {COMMIT_COUNT} commit(s) tagapool {BRANCH_NAME} harul." } diff --git a/translations/fr.json b/translations/fr.json index 65195b8e..cdb70028 100644 --- a/translations/fr.json +++ b/translations/fr.json @@ -28,7 +28,7 @@ "UPDATE_NOTIFICATION": "Une mise à jour de MagicMirror² est disponible", "UPDATE_NOTIFICATION_MODULE": "Une mise à jour est disponible pour le module {MODULE_NAME} .", - "UPDATE_INFO": "L'installation actuelle est {COMMIT_COUNT} en retard sur la branche {BRANCH_NAME} .", + "UPDATE_INFO": "L'installation actuelle est {COMMIT_COUNT} commit(s) en retard sur la branche {BRANCH_NAME} .", "FEELS": "Ressenti" } diff --git a/translations/hu.json b/translations/hu.json index b483ecd9..3926f60c 100644 --- a/translations/hu.json +++ b/translations/hu.json @@ -28,7 +28,7 @@ "UPDATE_NOTIFICATION": "MagicMirror²-hoz frissítés érhető el.", "UPDATE_NOTIFICATION_MODULE": "A {MODULE_NAME} modulhoz frissítés érhető el.", - "UPDATE_INFO": "A jelenlegi telepítés óta {COMMIT_COUNT} commit jelent meg a {BRANCH_NAME} ágon.", + "UPDATE_INFO": "A jelenlegi telepítés óta {COMMIT_COUNT} új commit jelent meg a {BRANCH_NAME} ágon.", "FEELS": "Érzet" } diff --git a/translations/id.json b/translations/id.json index 9a4ed5d4..3aff52d9 100644 --- a/translations/id.json +++ b/translations/id.json @@ -28,5 +28,5 @@ "UPDATE_NOTIFICATION": "Memperbarui MagicMirror² tersedia.", "UPDATE_NOTIFICATION_MODULE": "Memperbarui tersedia untuk modul {MODULE_NAME}.", - "UPDATE_INFO": "Instalasi saat ini tertinggal {COMMIT_COUNT} pada cabang {BRANCH_NAME}." + "UPDATE_INFO": "Instalasi saat ini tertinggal {COMMIT_COUNT} commit(s) pada cabang {BRANCH_NAME}." } diff --git a/translations/is.json b/translations/is.json index b60c0ae4..69427ea8 100644 --- a/translations/is.json +++ b/translations/is.json @@ -26,5 +26,5 @@ "UPDATE_NOTIFICATION": "MagicMirror² uppfærsla í boði.", "UPDATE_NOTIFICATION_MODULE": "Uppfærsla í boði fyrir {MODULE_NAME} module.", - "UPDATE_INFO": "Núverandi kerfi er {COMMIT_COUNT} á eftir {BRANCH_NAME} branchinu." + "UPDATE_INFO": "Núverandi kerfi er {COMMIT_COUNT} commit(s) á eftir {BRANCH_NAME} branchinu." } diff --git a/translations/it.json b/translations/it.json index f903eb2e..b9146178 100644 --- a/translations/it.json +++ b/translations/it.json @@ -28,5 +28,5 @@ "UPDATE_NOTIFICATION": "E' disponibile un aggiornamento di MagicMirror².", "UPDATE_NOTIFICATION_MODULE": "E' disponibile un aggiornamento del modulo {MODULE_NAME}.", - "UPDATE_INFO": "L'installazione è {COMMIT_COUNT} indietro rispetto all'attuale branch {BRANCH_NAME}." + "UPDATE_INFO": "L'installazione è {COMMIT_COUNT} commit(s) indietro rispetto all'attuale branch {BRANCH_NAME}." } diff --git a/translations/kr.json b/translations/kr.json index 70df42f8..d3f0b37d 100644 --- a/translations/kr.json +++ b/translations/kr.json @@ -26,5 +26,5 @@ "UPDATE_NOTIFICATION": "새로운 MagicMirror² 업데이트가 있습니다.", "UPDATE_NOTIFICATION_MODULE": "{MODULE_NAME} 모듈에서 사용 가능한 업데이트 입니다.", - "UPDATE_INFO": "설치할 {COMMIT_COUNT} 는 {BRANCH_NAME} 분기에 해당됩니다." + "UPDATE_INFO": "설치할 {COMMIT_COUNT} commit(s) 는 {BRANCH_NAME} 분기에 해당됩니다." } diff --git a/translations/nb.json b/translations/nb.json index 30f271c6..25491468 100644 --- a/translations/nb.json +++ b/translations/nb.json @@ -28,7 +28,7 @@ "UPDATE_NOTIFICATION": "MagicMirror²-oppdatering er tilgjengelig.", "UPDATE_NOTIFICATION_MODULE": "Oppdatering tilgjengelig for modulen {MODULE_NAME}.", - "UPDATE_INFO": "Nåværende installasjon er {COMMIT_COUNT} bak {BRANCH_NAME} grenen.", + "UPDATE_INFO": "Nåværende installasjon er {COMMIT_COUNT} commit(s) bak {BRANCH_NAME} grenen.", "FEELS": "Føles som" } diff --git a/translations/nl.json b/translations/nl.json index e1497d39..d94ca100 100644 --- a/translations/nl.json +++ b/translations/nl.json @@ -26,7 +26,7 @@ "UPDATE_NOTIFICATION": "MagicMirror² update beschikbaar.", "UPDATE_NOTIFICATION_MODULE": "Update beschikbaar voor {MODULE_NAME} module.", - "UPDATE_INFO": "De huidige installatie loopt {COMMIT_COUNT} achter op de {BRANCH_NAME} branch.", + "UPDATE_INFO": "De huidige installatie loopt {COMMIT_COUNT} commit(s) achter op de {BRANCH_NAME} branch.", "FEELS": "Gevoelstemperatuur" } diff --git a/translations/nn.json b/translations/nn.json index 5e321fea..8ce32ad1 100644 --- a/translations/nn.json +++ b/translations/nn.json @@ -26,7 +26,7 @@ "UPDATE_NOTIFICATION": "MagicMirror² oppdatering er tilgjengeleg.", "UPDATE_NOTIFICATION_MODULE": "Oppdatering tilgjengeleg for modulen {MODULE_NAME}.", - "UPDATE_INFO": "noverande installasjon er {COMMIT_COUNT} bak {BRANCH_NAME} greinen.", + "UPDATE_INFO": "noverande installasjon er {COMMIT_COUNT} commit(s) bak {BRANCH_NAME} greinen.", "FEELS": "Kjenst som" } diff --git a/translations/pl.json b/translations/pl.json index c07cd093..e09ce081 100644 --- a/translations/pl.json +++ b/translations/pl.json @@ -28,7 +28,8 @@ "UPDATE_NOTIFICATION": "Dostępna jest aktualizacja MagicMirror².", "UPDATE_NOTIFICATION_MODULE": "Dostępna jest aktualizacja modułu {MODULE_NAME}.", - "UPDATE_INFO": "Zainstalowana wersja odbiega o {COMMIT_COUNT} commitów od gałęzi {BRANCH_NAME}.", + "UPDATE_INFO_SINGLE": "Zainstalowana wersja odbiega o {COMMIT_COUNT} commitw od gazi {BRANCH_NAME}.", + "UPDATE_INFO_MULTIPLE": "Zainstalowana wersja odbiega o {COMMIT_COUNT} commitw od gazi {BRANCH_NAME}.", "FEELS": "Odczuwalna" } diff --git a/translations/pt-br.json b/translations/pt-br.json index 47af03c8..28784ae2 100644 --- a/translations/pt-br.json +++ b/translations/pt-br.json @@ -25,5 +25,5 @@ "UPDATE_NOTIFICATION": "Nova atualização para MagicMirror disponível.", "UPDATE_NOTIFICATION_MODULE": "Atualização para o módulo {MODULE_NAME} disponível.", - "UPDATE_INFO": "Sua versão atual é a {COMMIT_COUNT} dentro do seguinte branch {BRANCH_NAME}." + "UPDATE_INFO": "Sua versão atual é a {COMMIT_COUNT} commit(s) dentro do seguinte branch {BRANCH_NAME}." } diff --git a/translations/pt.json b/translations/pt.json index daceb4b2..59bc045f 100644 --- a/translations/pt.json +++ b/translations/pt.json @@ -27,5 +27,5 @@ "UPDATE_NOTIFICATION": "Atualização do MagicMirror² disponível.", "UPDATE_NOTIFICATION_MODULE": "Atualização para o módulo {MODULE_NAME} disponível.", - "UPDATE_INFO": "A instalação atual está {COMMIT_COUNT} atrasada no branch {BRANCH_NAME}." + "UPDATE_INFO": "A instalação atual está {COMMIT_COUNT} commit(s) atrasada no branch {BRANCH_NAME}." } diff --git a/translations/ru.json b/translations/ru.json index e4fce93e..d40d1c2f 100644 --- a/translations/ru.json +++ b/translations/ru.json @@ -28,5 +28,5 @@ "UPDATE_NOTIFICATION": "Есть обновление для MagicMirror².", "UPDATE_NOTIFICATION_MODULE": "Есть обновление для {MODULE_NAME} модуля.", - "UPDATE_INFO": "Данная инсталляция позади {BRANCH_NAME} ветки на {COMMIT_COUNT} коммитов." + "UPDATE_INFO": "Данная инсталляция позади {BRANCH_NAME} commit(s) ветки на {COMMIT_COUNT} коммитов." } diff --git a/translations/sv.json b/translations/sv.json index 0bdb24e4..ed957755 100644 --- a/translations/sv.json +++ b/translations/sv.json @@ -29,7 +29,7 @@ "UPDATE_NOTIFICATION": "MagicMirror² uppdatering finns tillgänglig.", "UPDATE_NOTIFICATION_MODULE": "Uppdatering finns tillgänglig av {MODULE_NAME} modulen.", - "UPDATE_INFO": "Denna installation ligger {COMMIT_COUNT} steg bakom {BRANCH_NAME} grenen.", + "UPDATE_INFO": "Denna installation ligger {COMMIT_COUNT} commit(s) steg bakom {BRANCH_NAME} grenen.", "FEELS": "Känns som" } diff --git a/translations/zh-cn.json b/translations/zh-cn.json index 42ac8e65..920c3649 100644 --- a/translations/zh-cn.json +++ b/translations/zh-cn.json @@ -26,5 +26,5 @@ "UPDATE_NOTIFICATION": "MagicMirror² 有新的更新", "UPDATE_NOTIFICATION_MODULE": "模块 {MODULE_NAME} 可更新", - "UPDATE_INFO": "当前已安装版本为 {COMMIT_COUNT} 落后于分支 {BRANCH_NAME} " + "UPDATE_INFO": "当前已安装版本为 {COMMIT_COUNT} commit(s) 落后于分支 {BRANCH_NAME} " } From ddebc63488a8eafa3cea0e0e5948b65af8fc811b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gy=C3=B6rgy=20Bal=C3=A1ssy?= Date: Sat, 18 Aug 2018 06:10:31 +0200 Subject: [PATCH 02/47] ADDED: CHANGELOG entry. --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e121423..8a7df8f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Fixed - Mixup between german and spanish translation for newsfeed. - Fixed close dates to be absolute, if no configured in the config.js - module Calendar +- The word "commit" in the message of the UpdateNotification module can be localized. - Fix for weatherforecast rainfall rounding [#1374](https://github.com/MichMich/MagicMirror/issues/1374) - Fix calendar parsing issue for Midori on RasperryPi Zero w, related to issue #694. - Fix weather city ID link in sample config From b601f6a138e1f4ec101272bb90f108f0858f239d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gy=C3=B6rgy=20Bal=C3=A1ssy?= Date: Thu, 30 Aug 2018 00:21:43 +0200 Subject: [PATCH 03/47] CHANGED: The UPDATE_INFO key in the localization file is changed to UPDATE_INFO_SINGLE and UPDATE_INFO_MULTIPLE to allow different localization for single and multiple commits. --- modules/default/updatenotification/updatenotification.js | 3 ++- tests/configs/data/TranslationTest.json | 3 ++- tests/configs/data/en.json | 3 ++- translations/af.json | 3 ++- translations/bg.json | 3 ++- translations/ca.json | 3 ++- translations/cs.json | 3 ++- translations/cy.json | 3 ++- translations/da.json | 3 ++- translations/de.json | 3 ++- translations/en.json | 3 ++- translations/es.json | 3 ++- translations/et.json | 3 ++- translations/fr.json | 3 ++- translations/hu.json | 3 ++- translations/id.json | 3 ++- translations/is.json | 3 ++- translations/it.json | 3 ++- translations/kr.json | 3 ++- translations/nb.json | 3 ++- translations/nl.json | 3 ++- translations/nn.json | 3 ++- translations/pt-br.json | 3 ++- translations/pt.json | 3 ++- translations/ro.json | 3 ++- translations/ru.json | 3 ++- translations/sv.json | 3 ++- translations/zh-cn.json | 3 ++- 28 files changed, 56 insertions(+), 28 deletions(-) diff --git a/modules/default/updatenotification/updatenotification.js b/modules/default/updatenotification/updatenotification.js index d69f6288..e3e55fc5 100644 --- a/modules/default/updatenotification/updatenotification.js +++ b/modules/default/updatenotification/updatenotification.js @@ -58,7 +58,8 @@ Module.register("updatenotification", { icon.innerHTML = " "; message.appendChild(icon); - var subtextHtml = this.translate("UPDATE_INFO", { + var updateInfoKeyName = this.status.behind == 1 ? "UPDATE_INFO_SINGLE" : "UPDATE_INFO_MULTIPLE"; + var subtextHtml = this.translate(updateInfoKeyName, { COMMIT_COUNT: this.status.behind, BRANCH_NAME: this.status.current }); diff --git a/tests/configs/data/TranslationTest.json b/tests/configs/data/TranslationTest.json index 53ffa825..bbb13845 100644 --- a/tests/configs/data/TranslationTest.json +++ b/tests/configs/data/TranslationTest.json @@ -28,5 +28,6 @@ "UPDATE_NOTIFICATION": "MagicMirror² update available.", "UPDATE_NOTIFICATION_MODULE": "Update available for MODULE_NAME module.", - "UPDATE_INFO": "The current installation is COMMIT_COUNT commit(s) behind on the BRANCH_NAME branch." + "UPDATE_INFO_SINGLE": "The current installation is COMMIT_COUNT commit behind on the BRANCH_NAME branch.", + "UPDATE_INFO_MULTIPLE": "The current installation is COMMIT_COUNT commits behind on the BRANCH_NAME branch." } diff --git a/tests/configs/data/en.json b/tests/configs/data/en.json index 53ffa825..bbb13845 100644 --- a/tests/configs/data/en.json +++ b/tests/configs/data/en.json @@ -28,5 +28,6 @@ "UPDATE_NOTIFICATION": "MagicMirror² update available.", "UPDATE_NOTIFICATION_MODULE": "Update available for MODULE_NAME module.", - "UPDATE_INFO": "The current installation is COMMIT_COUNT commit(s) behind on the BRANCH_NAME branch." + "UPDATE_INFO_SINGLE": "The current installation is COMMIT_COUNT commit behind on the BRANCH_NAME branch.", + "UPDATE_INFO_MULTIPLE": "The current installation is COMMIT_COUNT commits behind on the BRANCH_NAME branch." } diff --git a/translations/af.json b/translations/af.json index bef7b546..c0845649 100644 --- a/translations/af.json +++ b/translations/af.json @@ -26,5 +26,6 @@ "UPDATE_NOTIFICATION": "MagicMirror² update beskikbaar.", "UPDATE_NOTIFICATION_MODULE": "Update beskikbaar vir {MODULE_NAME} module.", - "UPDATE_INFO": "Die huidige installasie is {COMMIT_COUNT} commit(s) agter op die {BRANCH_NAME} branch." + "UPDATE_INFO_SINGLE": "Die huidige installasie is {COMMIT_COUNT} commit agter op die {BRANCH_NAME} branch.", + "UPDATE_INFO_MULTIPLE": "Die huidige installasie is {COMMIT_COUNT} commits agter op die {BRANCH_NAME} branch." } diff --git a/translations/bg.json b/translations/bg.json index 322dc8b2..786f8643 100644 --- a/translations/bg.json +++ b/translations/bg.json @@ -28,5 +28,6 @@ "UPDATE_NOTIFICATION": "Налична актуализация за MagicMirror².", "UPDATE_NOTIFICATION_MODULE": "Налична актуализация за {MODULE_NAME} модул.", - "UPDATE_INFO": "Текущата инсталация е изостанала с {COMMIT_COUNT} commit(s) къмита на клон {BRANCH_NAME}." + "UPDATE_INFO_SINGLE": "Текущата инсталация е изостанала с {COMMIT_COUNT} commit къмита на клон {BRANCH_NAME}.", + "UPDATE_INFO_MULTIPLE": "Текущата инсталация е изостанала с {COMMIT_COUNT} commits къмита на клон {BRANCH_NAME}." } diff --git a/translations/ca.json b/translations/ca.json index 674de8bf..91f871ca 100644 --- a/translations/ca.json +++ b/translations/ca.json @@ -28,5 +28,6 @@ "UPDATE_NOTIFICATION": "MagicMirror² actualizació disponible.", "UPDATE_NOTIFICATION_MODULE": "Disponible una actualizació per al mòdul {MODULE_NAME}.", - "UPDATE_INFO": "La teva instal·lació actual està {COMMIT_COUNT} commit(s) canvis darrere de la branca {BRANCH_NAME}." + "UPDATE_INFO_SINGLE": "La teva instal·lació actual està {COMMIT_COUNT} commit canvis darrere de la branca {BRANCH_NAME}.", + "UPDATE_INFO_MULTIPLE": "La teva instal·lació actual està {COMMIT_COUNT} commits canvis darrere de la branca {BRANCH_NAME}." } diff --git a/translations/cs.json b/translations/cs.json index 39348e7e..6ea3ddc1 100644 --- a/translations/cs.json +++ b/translations/cs.json @@ -28,5 +28,6 @@ "UPDATE_NOTIFICATION": "Dostupná aktualizace pro MagicMirror².", "UPDATE_NOTIFICATION_MODULE": "Dostupná aktualizace pro modul {MODULE_NAME}.", - "UPDATE_INFO": "Současná instalace je na větvi {BRANCH_NAME} pozadu o {COMMIT_COUNT} commit(s)." + "UPDATE_INFO_SINGLE": "Současná instalace je na větvi {BRANCH_NAME} pozadu o {COMMIT_COUNT} commit.", + "UPDATE_INFO_MULTIPLE": "Současná instalace je na větvi {BRANCH_NAME} pozadu o {COMMIT_COUNT} commits." } diff --git a/translations/cy.json b/translations/cy.json index 7ae28abb..ba5d62ea 100644 --- a/translations/cy.json +++ b/translations/cy.json @@ -28,5 +28,6 @@ "UPDATE_NOTIFICATION": "MagicMirror² mwy diweddar yn barod.", "UPDATE_NOTIFICATION_MODULE": "Mae diweddaraiad ar gyfer y modiwl {MODULE_NAME}.", - "UPDATE_INFO": "Mae'r fersiwn bresenol {COMMIT_COUNT} commit tu ôl i'r gangen {BRANCH_NAME}." + "UPDATE_INFO_SINGLE": "Mae'r fersiwn bresenol {COMMIT_COUNT} commit tu ôl i'r gangen {BRANCH_NAME}.", + "UPDATE_INFO_MULTIPLE": "Mae'r fersiwn bresenol {COMMIT_COUNT} commit tu ôl i'r gangen {BRANCH_NAME}." } diff --git a/translations/da.json b/translations/da.json index 79877334..4f4f50e7 100644 --- a/translations/da.json +++ b/translations/da.json @@ -27,5 +27,6 @@ "UPDATE_NOTIFICATION": "MagicMirror² opdatering tilgængelig.", "UPDATE_NOTIFICATION_MODULE": "Opdatering tilgængelig for {MODULE_NAME} modulet.", - "UPDATE_INFO": "Den nuværende installation er {COMMIT_COUNT} commit(s) bagud på {BRANCH_NAME} branch'en." + "UPDATE_INFO_SINGLE": "Den nuværende installation er {COMMIT_COUNT} commit bagud på {BRANCH_NAME} branch'en.", + "UPDATE_INFO_MULTIPLE": "Den nuværende installation er {COMMIT_COUNT} commits bagud på {BRANCH_NAME} branch'en." } diff --git a/translations/de.json b/translations/de.json index f6604bc5..57f06cde 100644 --- a/translations/de.json +++ b/translations/de.json @@ -28,7 +28,8 @@ "UPDATE_NOTIFICATION": "Aktualisierung für MagicMirror² verfügbar.", "UPDATE_NOTIFICATION_MODULE": "Aktualisierung für das {MODULE_NAME} Modul verfügbar.", - "UPDATE_INFO": "Die aktuelle Installation ist {COMMIT_COUNT} Commit(s) hinter dem {BRANCH_NAME} Branch.", + "UPDATE_INFO_SINGLE": "Die aktuelle Installation ist {COMMIT_COUNT} Commit hinter dem {BRANCH_NAME} Branch.", + "UPDATE_INFO_MULTIPLE": "Die aktuelle Installation ist {COMMIT_COUNT} Commits hinter dem {BRANCH_NAME} Branch.", "FEELS": "Gefühlt" } diff --git a/translations/en.json b/translations/en.json index 563c5d30..900bf630 100644 --- a/translations/en.json +++ b/translations/en.json @@ -28,7 +28,8 @@ "UPDATE_NOTIFICATION": "MagicMirror² update available.", "UPDATE_NOTIFICATION_MODULE": "Update available for {MODULE_NAME} module.", - "UPDATE_INFO": "The current installation is {COMMIT_COUNT} commit(s) behind on the {BRANCH_NAME} branch.", + "UPDATE_INFO_SINGLE": "The current installation is {COMMIT_COUNT} commit behind on the {BRANCH_NAME} branch.", + "UPDATE_INFO_MULTIPLE": "The current installation is {COMMIT_COUNT} commits behind on the {BRANCH_NAME} branch.", "FEELS": "Feels" } diff --git a/translations/es.json b/translations/es.json index 9086ae79..5e5fe96d 100644 --- a/translations/es.json +++ b/translations/es.json @@ -28,7 +28,8 @@ "UPDATE_NOTIFICATION": "MagicMirror² actualización disponible.", "UPDATE_NOTIFICATION_MODULE": "Disponible una actualización para el módulo {MODULE_NAME}.", - "UPDATE_INFO": "Tu actual instalación está {COMMIT_COUNT} commit(s) cambios detrás de la rama {BRANCH_NAME}.", + "UPDATE_INFO_SINGLE": "Tu actual instalación está {COMMIT_COUNT} commit cambios detrás de la rama {BRANCH_NAME}.", + "UPDATE_INFO_MULTIPLE": "Tu actual instalación está {COMMIT_COUNT} commits cambios detrás de la rama {BRANCH_NAME}.", "FEELS": "Sensación térmica de" } diff --git a/translations/et.json b/translations/et.json index 4283a048..bddd56ae 100644 --- a/translations/et.json +++ b/translations/et.json @@ -26,5 +26,6 @@ "UPDATE_NOTIFICATION": "MagicMirror²´le uuendus saadaval.", "UPDATE_NOTIFICATION_MODULE": "Uuendus saadaval {MODULE_NAME} moodulile.", - "UPDATE_INFO": "Praegune paigaldus on {COMMIT_COUNT} commit(s) tagapool {BRANCH_NAME} harul." + "UPDATE_INFO_SINGLE": "Praegune paigaldus on {COMMIT_COUNT} commit tagapool {BRANCH_NAME} harul.", + "UPDATE_INFO_MULTIPLE": "Praegune paigaldus on {COMMIT_COUNT} commits tagapool {BRANCH_NAME} harul." } diff --git a/translations/fr.json b/translations/fr.json index cdb70028..e2dd22e2 100644 --- a/translations/fr.json +++ b/translations/fr.json @@ -28,7 +28,8 @@ "UPDATE_NOTIFICATION": "Une mise à jour de MagicMirror² est disponible", "UPDATE_NOTIFICATION_MODULE": "Une mise à jour est disponible pour le module {MODULE_NAME} .", - "UPDATE_INFO": "L'installation actuelle est {COMMIT_COUNT} commit(s) en retard sur la branche {BRANCH_NAME} .", + "UPDATE_INFO_SINGLE": "L'installation actuelle est {COMMIT_COUNT} commit en retard sur la branche {BRANCH_NAME} .", + "UPDATE_INFO_MULTIPLE": "L'installation actuelle est {COMMIT_COUNT} commits en retard sur la branche {BRANCH_NAME} .", "FEELS": "Ressenti" } diff --git a/translations/hu.json b/translations/hu.json index 3926f60c..e0d8b7ae 100644 --- a/translations/hu.json +++ b/translations/hu.json @@ -28,7 +28,8 @@ "UPDATE_NOTIFICATION": "MagicMirror²-hoz frissítés érhető el.", "UPDATE_NOTIFICATION_MODULE": "A {MODULE_NAME} modulhoz frissítés érhető el.", - "UPDATE_INFO": "A jelenlegi telepítés óta {COMMIT_COUNT} új commit jelent meg a {BRANCH_NAME} ágon.", + "UPDATE_INFO_SINGLE": "A jelenlegi telepítés óta {COMMIT_COUNT} új commit jelent meg a {BRANCH_NAME} ágon.", + "UPDATE_INFO_MULTIPLE": "A jelenlegi telepítés óta {COMMIT_COUNT} új commit jelent meg a {BRANCH_NAME} ágon.", "FEELS": "Érzet" } diff --git a/translations/id.json b/translations/id.json index 3aff52d9..d6c91e5b 100644 --- a/translations/id.json +++ b/translations/id.json @@ -28,5 +28,6 @@ "UPDATE_NOTIFICATION": "Memperbarui MagicMirror² tersedia.", "UPDATE_NOTIFICATION_MODULE": "Memperbarui tersedia untuk modul {MODULE_NAME}.", - "UPDATE_INFO": "Instalasi saat ini tertinggal {COMMIT_COUNT} commit(s) pada cabang {BRANCH_NAME}." + "UPDATE_INFO_SINGLE": "Instalasi saat ini tertinggal {COMMIT_COUNT} commit pada cabang {BRANCH_NAME}.", + "UPDATE_INFO_MULTIPLE": "Instalasi saat ini tertinggal {COMMIT_COUNT} commits pada cabang {BRANCH_NAME}." } diff --git a/translations/is.json b/translations/is.json index 69427ea8..01a3406d 100644 --- a/translations/is.json +++ b/translations/is.json @@ -26,5 +26,6 @@ "UPDATE_NOTIFICATION": "MagicMirror² uppfærsla í boði.", "UPDATE_NOTIFICATION_MODULE": "Uppfærsla í boði fyrir {MODULE_NAME} module.", - "UPDATE_INFO": "Núverandi kerfi er {COMMIT_COUNT} commit(s) á eftir {BRANCH_NAME} branchinu." + "UPDATE_INFO_SINGLE": "Núverandi kerfi er {COMMIT_COUNT} commit á eftir {BRANCH_NAME} branchinu.", + "UPDATE_INFO_MULTIPLE": "Núverandi kerfi er {COMMIT_COUNT} commits á eftir {BRANCH_NAME} branchinu." } diff --git a/translations/it.json b/translations/it.json index b9146178..a5eaf2f2 100644 --- a/translations/it.json +++ b/translations/it.json @@ -28,5 +28,6 @@ "UPDATE_NOTIFICATION": "E' disponibile un aggiornamento di MagicMirror².", "UPDATE_NOTIFICATION_MODULE": "E' disponibile un aggiornamento del modulo {MODULE_NAME}.", - "UPDATE_INFO": "L'installazione è {COMMIT_COUNT} commit(s) indietro rispetto all'attuale branch {BRANCH_NAME}." + "UPDATE_INFO_SINGLE": "L'installazione è {COMMIT_COUNT} commit indietro rispetto all'attuale branch {BRANCH_NAME}.", + "UPDATE_INFO_MULTIPLE": "L'installazione è {COMMIT_COUNT} commits indietro rispetto all'attuale branch {BRANCH_NAME}." } diff --git a/translations/kr.json b/translations/kr.json index d3f0b37d..54ee8d20 100644 --- a/translations/kr.json +++ b/translations/kr.json @@ -26,5 +26,6 @@ "UPDATE_NOTIFICATION": "새로운 MagicMirror² 업데이트가 있습니다.", "UPDATE_NOTIFICATION_MODULE": "{MODULE_NAME} 모듈에서 사용 가능한 업데이트 입니다.", - "UPDATE_INFO": "설치할 {COMMIT_COUNT} commit(s) 는 {BRANCH_NAME} 분기에 해당됩니다." + "UPDATE_INFO_SINGLE": "설치할 {COMMIT_COUNT} commit 는 {BRANCH_NAME} 분기에 해당됩니다.", + "UPDATE_INFO_MULTIPLE": "설치할 {COMMIT_COUNT} commits 는 {BRANCH_NAME} 분기에 해당됩니다." } diff --git a/translations/nb.json b/translations/nb.json index 25491468..88027d89 100644 --- a/translations/nb.json +++ b/translations/nb.json @@ -28,7 +28,8 @@ "UPDATE_NOTIFICATION": "MagicMirror²-oppdatering er tilgjengelig.", "UPDATE_NOTIFICATION_MODULE": "Oppdatering tilgjengelig for modulen {MODULE_NAME}.", - "UPDATE_INFO": "Nåværende installasjon er {COMMIT_COUNT} commit(s) bak {BRANCH_NAME} grenen.", + "UPDATE_INFO_SINGLE": "Nåværende installasjon er {COMMIT_COUNT} commit bak {BRANCH_NAME} grenen.", + "UPDATE_INFO_MULTIPLE": "Nåværende installasjon er {COMMIT_COUNT} commits bak {BRANCH_NAME} grenen.", "FEELS": "Føles som" } diff --git a/translations/nl.json b/translations/nl.json index d94ca100..9a344eb3 100644 --- a/translations/nl.json +++ b/translations/nl.json @@ -26,7 +26,8 @@ "UPDATE_NOTIFICATION": "MagicMirror² update beschikbaar.", "UPDATE_NOTIFICATION_MODULE": "Update beschikbaar voor {MODULE_NAME} module.", - "UPDATE_INFO": "De huidige installatie loopt {COMMIT_COUNT} commit(s) achter op de {BRANCH_NAME} branch.", + "UPDATE_INFO_SINGLE": "De huidige installatie loopt {COMMIT_COUNT} commit achter op de {BRANCH_NAME} branch.", + "UPDATE_INFO_MULTIPLE": "De huidige installatie loopt {COMMIT_COUNT} commits achter op de {BRANCH_NAME} branch.", "FEELS": "Gevoelstemperatuur" } diff --git a/translations/nn.json b/translations/nn.json index 8ce32ad1..1fd14548 100644 --- a/translations/nn.json +++ b/translations/nn.json @@ -26,7 +26,8 @@ "UPDATE_NOTIFICATION": "MagicMirror² oppdatering er tilgjengeleg.", "UPDATE_NOTIFICATION_MODULE": "Oppdatering tilgjengeleg for modulen {MODULE_NAME}.", - "UPDATE_INFO": "noverande installasjon er {COMMIT_COUNT} commit(s) bak {BRANCH_NAME} greinen.", + "UPDATE_INFO_SINGLE": "noverande installasjon er {COMMIT_COUNT} commit bak {BRANCH_NAME} greinen.", + "UPDATE_INFO_MULTIPLE": "noverande installasjon er {COMMIT_COUNT} commits bak {BRANCH_NAME} greinen.", "FEELS": "Kjenst som" } diff --git a/translations/pt-br.json b/translations/pt-br.json index 28784ae2..898e4f1f 100644 --- a/translations/pt-br.json +++ b/translations/pt-br.json @@ -25,5 +25,6 @@ "UPDATE_NOTIFICATION": "Nova atualização para MagicMirror disponível.", "UPDATE_NOTIFICATION_MODULE": "Atualização para o módulo {MODULE_NAME} disponível.", - "UPDATE_INFO": "Sua versão atual é a {COMMIT_COUNT} commit(s) dentro do seguinte branch {BRANCH_NAME}." + "UPDATE_INFO_SINGLE": "Sua versão atual é a {COMMIT_COUNT} commit dentro do seguinte branch {BRANCH_NAME}.", + "UPDATE_INFO_MULTIPLE": "Sua versão atual é a {COMMIT_COUNT} commits dentro do seguinte branch {BRANCH_NAME}." } diff --git a/translations/pt.json b/translations/pt.json index 59bc045f..e01d028c 100644 --- a/translations/pt.json +++ b/translations/pt.json @@ -27,5 +27,6 @@ "UPDATE_NOTIFICATION": "Atualização do MagicMirror² disponível.", "UPDATE_NOTIFICATION_MODULE": "Atualização para o módulo {MODULE_NAME} disponível.", - "UPDATE_INFO": "A instalação atual está {COMMIT_COUNT} commit(s) atrasada no branch {BRANCH_NAME}." + "UPDATE_INFO_SINGLE": "A instalação atual está {COMMIT_COUNT} commit atrasada no branch {BRANCH_NAME}.", + "UPDATE_INFO_MULTIPLE": "A instalação atual está {COMMIT_COUNT} commits atrasada no branch {BRANCH_NAME}." } diff --git a/translations/ro.json b/translations/ro.json index acc7db8c..3584d69f 100644 --- a/translations/ro.json +++ b/translations/ro.json @@ -28,5 +28,6 @@ "UPDATE_NOTIFICATION": "Un update este disponibil pentru MagicMirror².", "UPDATE_NOTIFICATION_MODULE": "Un update este disponibil pentru modulul {MODULE_NAME}.", - "UPDATE_INFO": "Există {COMMIT_COUNT} commit-uri noi pe branch-ul {BRANCH_NAME}." + "UPDATE_INFO_SINGLE": "Există {COMMIT_COUNT} commit-uri noi pe branch-ul {BRANCH_NAME}.", + "UPDATE_INFO_MULTIPLE": "Există {COMMIT_COUNT} commit-uri noi pe branch-ul {BRANCH_NAME}." } diff --git a/translations/ru.json b/translations/ru.json index d40d1c2f..cf2e5c5f 100644 --- a/translations/ru.json +++ b/translations/ru.json @@ -28,5 +28,6 @@ "UPDATE_NOTIFICATION": "Есть обновление для MagicMirror².", "UPDATE_NOTIFICATION_MODULE": "Есть обновление для {MODULE_NAME} модуля.", - "UPDATE_INFO": "Данная инсталляция позади {BRANCH_NAME} commit(s) ветки на {COMMIT_COUNT} коммитов." + "UPDATE_INFO_SINGLE": "Данная инсталляция позади {BRANCH_NAME} commit ветки на {COMMIT_COUNT} коммитов.", + "UPDATE_INFO_MULTIPLE": "Данная инсталляция позади {BRANCH_NAME} commits ветки на {COMMIT_COUNT} коммитов." } diff --git a/translations/sv.json b/translations/sv.json index ed957755..e8f5d018 100644 --- a/translations/sv.json +++ b/translations/sv.json @@ -29,7 +29,8 @@ "UPDATE_NOTIFICATION": "MagicMirror² uppdatering finns tillgänglig.", "UPDATE_NOTIFICATION_MODULE": "Uppdatering finns tillgänglig av {MODULE_NAME} modulen.", - "UPDATE_INFO": "Denna installation ligger {COMMIT_COUNT} commit(s) steg bakom {BRANCH_NAME} grenen.", + "UPDATE_INFO_SINGLE": "Denna installation ligger {COMMIT_COUNT} commit steg bakom {BRANCH_NAME} grenen.", + "UPDATE_INFO_MULTIPLE": "Denna installation ligger {COMMIT_COUNT} commits steg bakom {BRANCH_NAME} grenen.", "FEELS": "Känns som" } diff --git a/translations/zh-cn.json b/translations/zh-cn.json index 920c3649..b879edb4 100644 --- a/translations/zh-cn.json +++ b/translations/zh-cn.json @@ -26,5 +26,6 @@ "UPDATE_NOTIFICATION": "MagicMirror² 有新的更新", "UPDATE_NOTIFICATION_MODULE": "模块 {MODULE_NAME} 可更新", - "UPDATE_INFO": "当前已安装版本为 {COMMIT_COUNT} commit(s) 落后于分支 {BRANCH_NAME} " + "UPDATE_INFO_SINGLE": "当前已安装版本为 {COMMIT_COUNT} commit 落后于分支 {BRANCH_NAME} ", + "UPDATE_INFO_MULTIPLE": "当前已安装版本为 {COMMIT_COUNT} commits 落后于分支 {BRANCH_NAME} " } From b06cf55c0bb595d5f93386c33e7e3a5a150a94de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gy=C3=B6rgy=20Bal=C3=A1ssy?= Date: Wed, 5 Sep 2018 04:33:42 +0200 Subject: [PATCH 04/47] FIXED: Character encoding issue in pl.json occurred during rebase. --- translations/pl.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/translations/pl.json b/translations/pl.json index e09ce081..617288e9 100644 --- a/translations/pl.json +++ b/translations/pl.json @@ -28,8 +28,8 @@ "UPDATE_NOTIFICATION": "Dostępna jest aktualizacja MagicMirror².", "UPDATE_NOTIFICATION_MODULE": "Dostępna jest aktualizacja modułu {MODULE_NAME}.", - "UPDATE_INFO_SINGLE": "Zainstalowana wersja odbiega o {COMMIT_COUNT} commitw od gazi {BRANCH_NAME}.", - "UPDATE_INFO_MULTIPLE": "Zainstalowana wersja odbiega o {COMMIT_COUNT} commitw od gazi {BRANCH_NAME}.", - + "UPDATE_INFO_SINGLE": "Zainstalowana wersja odbiega o {COMMIT_COUNT} commitów od gałęzi {BRANCH_NAME}.", + "UPDATE_INFO_MULTIPLE": "Zainstalowana wersja odbiega o {COMMIT_COUNT} commitów od gałęzi {BRANCH_NAME}.", + "FEELS": "Odczuwalna" } From ec44cb27619aa35dada2dfe546f389fbcc2a3241 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gy=C3=B6rgy=20Bal=C3=A1ssy?= Date: Wed, 5 Sep 2018 04:39:39 +0200 Subject: [PATCH 05/47] CHANGED: The wording in CHANGELOG is modified to be more descriptive. --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a7df8f5..571b97d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,7 +23,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Fixed - Mixup between german and spanish translation for newsfeed. - Fixed close dates to be absolute, if no configured in the config.js - module Calendar -- The word "commit" in the message of the UpdateNotification module can be localized. +- Fixed the UpdateNotification module message about new commits in the repository, so they can be correctly localized in singular and plural form. - Fix for weatherforecast rainfall rounding [#1374](https://github.com/MichMich/MagicMirror/issues/1374) - Fix calendar parsing issue for Midori on RasperryPi Zero w, related to issue #694. - Fix weather city ID link in sample config From 044dbd4a65ab384287421eda19d8a550dbd625f0 Mon Sep 17 00:00:00 2001 From: ubertao Date: Sat, 8 Sep 2018 23:05:19 +0800 Subject: [PATCH 06/47] Add gzip support to calendar fetcher. --- modules/default/calendar/calendarfetcher.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/default/calendar/calendarfetcher.js b/modules/default/calendar/calendarfetcher.js index ccd1f6c8..60ee8fc7 100644 --- a/modules/default/calendar/calendarfetcher.js +++ b/modules/default/calendar/calendarfetcher.js @@ -29,7 +29,8 @@ var CalendarFetcher = function(url, reloadInterval, excludedEvents, maximumEntri var opts = { headers: { "User-Agent": "Mozilla/5.0 (Node.js "+ nodeVersion + ") MagicMirror/" + global.version + " (https://github.com/MichMich/MagicMirror/)" - } + }, + gzip: true }; if (auth) { From 4aace5b95a1553e6cfe185fd1f7c2919f93b656e Mon Sep 17 00:00:00 2001 From: ubertao Date: Sat, 8 Sep 2018 23:44:12 +0800 Subject: [PATCH 07/47] update changelog with gzip calendar fix --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c242e50..47ccd52c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). --- +## [2.4.2] + +### Fixed + +- Fix gzip encoded calendar loading issue #1400. ## [2.4.1] - 2018-07-04 From 5eb0b77a8a785b2bd98f07c78ec7f554ef239d9a Mon Sep 17 00:00:00 2001 From: Teddy Payet Date: Sat, 8 Sep 2018 23:40:39 +0200 Subject: [PATCH 08/47] Merge upstream/develop --- package-lock.json | 2208 +++++++++++++++++++++++---------------------- package.json | 10 +- 2 files changed, 1143 insertions(+), 1075 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3376a2e3..621c0c78 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,9 +38,9 @@ } }, "@types/node": { - "version": "8.10.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.14.tgz", - "integrity": "sha512-TKQqQIaYNO+8MrOsFgobkt3fbMzkfXhBFKcg20Nip5Omptw1HOY/IEvYiFtMwIbr7Me/Y2H/JO+TgNUMJ9NGjA==" + "version": "8.10.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.21.tgz", + "integrity": "sha512-87XkD9qDXm8fIax+5y7drx84cXsu34ZZqfB7Cial3Q/2lxSoJ/+DRaWckkCbxP41wFSIrrb939VhzaNxj4eY1w==" }, "JSV": { "version": "4.0.2", @@ -85,20 +85,12 @@ } }, "acorn-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-4.1.1.tgz", + "integrity": "sha512-JY+iV6r+cO21KtntVvFkD+iqjtdpRUpGqKWgfkCdZq1R+kbreEl8EcdcJR4SmiIgsIQT33s6QzheQ9a275Q8xw==", "dev": true, "requires": { - "acorn": "^3.0.4" - }, - "dependencies": { - "acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", - "dev": true - } + "acorn": "^5.0.3" } }, "after": { @@ -138,9 +130,9 @@ "dev": true }, "ansi-escapes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", - "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", "dev": true }, "ansi-regex": { @@ -170,9 +162,9 @@ "dev": true }, "archiver": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-1.3.0.tgz", - "integrity": "sha1-TyGU1tj5nfP1MeaIHxTxXVX6ryI=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.1.1.tgz", + "integrity": "sha1-/2YrSnggFJSj7lRNOjP+dJZQnrw=", "dev": true, "requires": { "archiver-utils": "^1.3.0", @@ -182,17 +174,16 @@ "lodash": "^4.8.0", "readable-stream": "^2.0.0", "tar-stream": "^1.5.0", - "walkdir": "^0.0.11", - "zip-stream": "^1.1.0" + "zip-stream": "^1.2.0" }, "dependencies": { "async": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", - "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "lodash": "^4.14.0" + "lodash": "^4.17.10" } }, "isarray": { @@ -202,30 +193,36 @@ "dev": true }, "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", + "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", + "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -254,30 +251,36 @@ "dev": true }, "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", + "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", + "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -353,9 +356,9 @@ "dev": true }, "arraybuffer.slice": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz", - "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=" + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", + "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" }, "arrify": { "version": "1.0.1", @@ -369,10 +372,9 @@ "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" }, "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", - "dev": true + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" }, "assertion-error": { "version": "1.0.2", @@ -389,8 +391,7 @@ "async-limiter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", - "dev": true + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" }, "asynckit": { "version": "0.4.0", @@ -398,9 +399,9 @@ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "atob": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/atob/-/atob-1.1.3.tgz", - "integrity": "sha1-lfE2KbEsOlGl0hWr3OKqnzL4B3M=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", + "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", "dev": true }, "autoprefixer": { @@ -418,15 +419,14 @@ } }, "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "dev": true + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" }, "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", + "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==" }, "babel-code-frame": { "version": "6.26.0", @@ -471,13 +471,21 @@ } }, "babel-runtime": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=", + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { "core-js": "^2.4.0", - "regenerator-runtime": "^0.10.0" + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + } } }, "backo2": { @@ -507,9 +515,9 @@ "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=" }, "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "optional": true, "requires": { "tweetnacl": "^0.14.3" @@ -536,12 +544,13 @@ } }, "bl": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", - "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", "dev": true, "requires": { - "readable-stream": "^2.0.5" + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" }, "dependencies": { "isarray": { @@ -550,25 +559,31 @@ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", + "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", + "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -639,15 +654,6 @@ } } }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "dev": true, - "requires": { - "hoek": "2.x.x" - } - }, "brace-expansion": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", @@ -677,7 +683,8 @@ "browser-stdout": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", - "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=" + "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", + "dev": true }, "browserslist": { "version": "2.4.0", @@ -689,12 +696,39 @@ "electron-to-chromium": "^1.3.18" } }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, "buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", "dev": true }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "dev": true + }, + "buffer-from": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", + "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==" + }, "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", @@ -833,6 +867,12 @@ "integrity": "sha1-lCg191Dk7GGjCOYMLvjMEBEgLvw=", "dev": true }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, "check-error": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", @@ -928,20 +968,17 @@ "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=" }, "combined-stream": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "requires": { "delayed-stream": "~1.0.0" } }, "commander": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "requires": { - "graceful-readlink": ">= 1.0.0" - } + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==" }, "component-bind": { "version": "1.0.0", @@ -959,9 +996,9 @@ "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" }, "compress-commons": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.0.tgz", - "integrity": "sha1-WFhwku8g03y1i68AARLJJ4/3O58=", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", + "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", "dev": true, "requires": { "buffer-crc32": "^0.2.1", @@ -976,25 +1013,31 @@ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", + "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", + "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -1008,10 +1051,11 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "requires": { + "buffer-from": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" @@ -1022,24 +1066,29 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", + "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", + "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" } @@ -1117,25 +1166,31 @@ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", + "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", + "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -1144,34 +1199,35 @@ } }, "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "lru-cache": "^4.0.1", + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", "shebang-command": "^1.2.0", "which": "^1.2.9" - } - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "dev": true, - "requires": { - "boom": "2.x.x" + }, + "dependencies": { + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + } } }, "css": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.1.tgz", - "integrity": "sha1-c6TIHehdtmTU7mdPfUcIXjstVdw=", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.3.tgz", + "integrity": "sha512-0W171WccAjQGGTKLhw4m2nnl0zPHUlTO/I8td4XzJgIB8Hg3ZZx71qT4G4eX8OVsSiaAKiUMy73E3nsbPlg2DQ==", "dev": true, "requires": { "inherits": "^2.0.1", "source-map": "^0.1.38", - "source-map-resolve": "^0.3.0", + "source-map-resolve": "^0.5.1", "urix": "^0.1.0" } }, @@ -1318,13 +1374,6 @@ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { "assert-plus": "^1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - } } }, "dasherize": { @@ -1363,9 +1412,9 @@ } }, "debug": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz", - "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=", + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" } @@ -1385,10 +1434,16 @@ "map-obj": "^1.0.0" } }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, "deep-extend": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", - "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=" + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" }, "deep-is": { "version": "0.1.3", @@ -1397,11 +1452,29 @@ "dev": true }, "deepmerge": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.3.2.tgz", - "integrity": "sha1-FmNpFinU2/42T6EqKk8KqGqjoFA=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.0.1.tgz", + "integrity": "sha512-VIPwiMJqJ13ZQfaCsIFnp5Me9tnjURiaIFxfz7EH0Ci0dTSQpZtSLrqOicXqEd/z2r+z+Klk9GzmnRsgpgbOsQ==", "dev": true }, + "define-properties": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", + "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "dev": true, + "requires": { + "foreach": "^2.0.5", + "object-keys": "^1.0.8" + }, + "dependencies": { + "object-keys": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", + "dev": true + } + } + }, "del": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", @@ -1439,9 +1512,9 @@ "dev": true }, "diff": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz", - "integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=" + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" }, "dir-glob": { "version": "2.0.0", @@ -1571,21 +1644,75 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "ejs": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz", - "integrity": "sha1-zIcsFoiArjxxiXYv1f/ACJbJUYo=", + "version": "2.5.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.9.tgz", + "integrity": "sha512-GJCAeDBKfREgkBtgrYSf9hQy9kTb3helv0zGdzqhM7iAkW8FA/ZF97VQDbwFiwIT8MQLLOe5VlPZOEvZAqtUAQ==", "dev": true }, "electron": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/electron/-/electron-2.0.0.tgz", - "integrity": "sha512-FCcVzHgoBmNTPUEhKN7yUxjluCRNAQsHNOfdtFEWKL3DPYEdLdyQW8CpmJEMqIXha5qZ+qdKVAtwvvuJs+b/PQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/electron/-/electron-2.0.4.tgz", + "integrity": "sha512-rtg6aW2IpWfiwMRk9gqr+a/xOrFlch9sgLNg0UJzCmtUUEGTrbaLxqANr3Ahlx+ODmh/V+WfF7IdEpD76bbssA==", "requires": { "@types/node": "^8.0.24", "electron-download": "^3.0.1", "extract-zip": "^1.0.3" } }, + "electron-chromedriver": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/electron-chromedriver/-/electron-chromedriver-1.8.0.tgz", + "integrity": "sha512-m1f3nle5MaGp94bcDTtMZZMMOgPO54+TXoPBlTbBSUjfINR5SJ46yQXLfuE79/qsFfJKslZB1UzWURDDFIRmpQ==", + "dev": true, + "requires": { + "electron-download": "^4.1.0", + "extract-zip": "^1.6.5" + }, + "dependencies": { + "electron-download": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/electron-download/-/electron-download-4.1.0.tgz", + "integrity": "sha1-v5MsdG8vh//MCdHdRy8v9rkYeEU=", + "dev": true, + "requires": { + "debug": "^2.2.0", + "env-paths": "^1.0.0", + "fs-extra": "^2.0.0", + "minimist": "^1.2.0", + "nugget": "^2.0.0", + "path-exists": "^3.0.0", + "rc": "^1.1.2", + "semver": "^5.3.0", + "sumchecker": "^2.0.1" + } + }, + "fs-extra": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz", + "integrity": "sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "sumchecker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-2.0.2.tgz", + "integrity": "sha1-D0LBDl0F2l1C7qPlbDOZo31sWz4=", + "dev": true, + "requires": { + "debug": "^2.2.0" + } + } + } + }, "electron-download": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/electron-download/-/electron-download-3.3.0.tgz", @@ -1623,65 +1750,72 @@ } }, "end-of-stream": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", - "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "dev": true, "requires": { "once": "^1.4.0" } }, "engine.io": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.1.1.tgz", - "integrity": "sha1-CAUf+5UZB6MmfnLgvLPQ83fkZgs=", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.0.tgz", + "integrity": "sha512-mRbgmAtQ4GAlKwuPnnAvXXwdPhEx+jkc0OBCLrXuD/CRvwNK3AxRSnqK4FSqmAMRRHryVJP8TopOvmEaA64fKw==", "requires": { - "accepts": "1.3.3", + "accepts": "~1.3.4", "base64id": "1.0.0", "cookie": "0.3.1", - "debug": "~2.6.4", + "debug": "~3.1.0", "engine.io-parser": "~2.1.0", - "uws": "~0.14.4", - "ws": "~2.3.1" + "ws": "~3.3.1" }, "dependencies": { - "accepts": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", - "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "requires": { - "mime-types": "~2.1.11", - "negotiator": "0.6.1" + "ms": "2.0.0" } } } }, "engine.io-client": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.1.tgz", - "integrity": "sha1-QVqYUrrbFPoAj6PvHjFgjbZ2EyU=", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", + "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", "requires": { "component-emitter": "1.2.1", "component-inherit": "0.0.3", - "debug": "~2.6.4", + "debug": "~3.1.0", "engine.io-parser": "~2.1.1", "has-cors": "1.1.0", "indexof": "0.0.1", - "parsejson": "0.0.3", "parseqs": "0.0.5", "parseuri": "0.0.5", - "ws": "~2.3.1", - "xmlhttprequest-ssl": "1.5.3", + "ws": "~3.3.1", + "xmlhttprequest-ssl": "~1.5.4", "yeast": "0.1.2" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } } }, "engine.io-parser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.1.tgz", - "integrity": "sha1-4Ps/DgRi9/WLt3waUun1p+JuRmg=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz", + "integrity": "sha512-dInLFzr80RijZ1rGpx1+56/uFoH7/7InhH3kZt+Ms6hT8tNx3NGW/WNSA/f8As1WkOfkuyb3tnRyuXGxusclMw==", "requires": { "after": "0.8.2", - "arraybuffer.slice": "0.0.6", + "arraybuffer.slice": "~0.0.7", "base64-arraybuffer": "0.1.5", "blob": "0.0.4", "has-binary2": "~1.0.2" @@ -1707,6 +1841,30 @@ "is-arrayish": "^0.2.1" } }, + "es-abstract": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", + "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", + "dev": true, + "requires": { + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" + } + }, + "es-to-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", + "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "dev": true, + "requires": { + "is-callable": "^1.1.1", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.1" + } + }, "es6-promise": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.2.tgz", @@ -1760,62 +1918,70 @@ } }, "eslint": { - "version": "4.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.16.0.tgz", - "integrity": "sha512-YVXV4bDhNoHHcv0qzU4Meof7/P26B4EuaktMi5L1Tnt52Aov85KmYA8c5D+xyZr/BkhvwUqr011jDSD/QTULxg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.1.0.tgz", + "integrity": "sha512-DyH6JsoA1KzA5+OSWFjg56DFJT+sDLO0yokaPZ9qY0UEmYrPA1gEX/G1MnVkmRDsksG4H1foIVz2ZXXM3hHYvw==", "dev": true, "requires": { - "ajv": "^5.3.0", - "babel-code-frame": "^6.22.0", + "ajv": "^6.5.0", + "babel-code-frame": "^6.26.0", "chalk": "^2.1.0", - "concat-stream": "^1.6.0", - "cross-spawn": "^5.1.0", + "cross-spawn": "^6.0.5", "debug": "^3.1.0", "doctrine": "^2.1.0", - "eslint-scope": "^3.7.1", + "eslint-scope": "^4.0.0", + "eslint-utils": "^1.3.1", "eslint-visitor-keys": "^1.0.0", - "espree": "^3.5.2", - "esquery": "^1.0.0", + "espree": "^4.0.0", + "esquery": "^1.0.1", "esutils": "^2.0.2", "file-entry-cache": "^2.0.0", "functional-red-black-tree": "^1.0.1", "glob": "^7.1.2", - "globals": "^11.0.1", + "globals": "^11.7.0", "ignore": "^3.3.3", "imurmurhash": "^0.1.4", - "inquirer": "^3.0.6", - "is-resolvable": "^1.0.0", - "js-yaml": "^3.9.1", + "inquirer": "^5.2.0", + "is-resolvable": "^1.1.0", + "js-yaml": "^3.11.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.3.0", - "lodash": "^4.17.4", - "minimatch": "^3.0.2", + "lodash": "^4.17.5", + "minimatch": "^3.0.4", "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", "optionator": "^0.8.2", "path-is-inside": "^1.0.2", "pluralize": "^7.0.0", "progress": "^2.0.0", + "regexpp": "^1.1.0", "require-uncached": "^1.0.3", - "semver": "^5.3.0", + "semver": "^5.5.0", + "string.prototype.matchall": "^2.0.0", "strip-ansi": "^4.0.0", - "strip-json-comments": "~2.0.1", - "table": "^4.0.1", - "text-table": "~0.2.0" + "strip-json-comments": "^2.0.1", + "table": "^4.0.3", + "text-table": "^0.2.0" }, "dependencies": { "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", "dev": true, "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", + "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" } }, + "ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "dev": true + }, "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", @@ -1823,23 +1989,23 @@ "dev": true }, "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" } }, "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.1.0", + "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", - "supports-color": "^4.0.0" + "supports-color": "^5.3.0" } }, "debug": { @@ -1857,26 +2023,44 @@ "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", "dev": true }, - "globals": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.1.0.tgz", - "integrity": "sha512-uEuWt9mqTlPDwSqi+sHjD4nWU/1N+q0fiWI9T1mZpD2UENqX20CFD5T/ziLZvztPaBKl7ZylUi1q6Qfm7E2CiQ==", + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "js-yaml": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", - "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" } }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", "dev": true }, "minimist": { @@ -1894,6 +2078,31 @@ "minimist": "0.0.8" } }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + }, + "slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", @@ -1904,26 +2113,46 @@ } }, "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^2.0.0" + "has-flag": "^3.0.0" + } + }, + "table": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz", + "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", + "dev": true, + "requires": { + "ajv": "^6.0.1", + "ajv-keywords": "^3.0.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", + "slice-ansi": "1.0.0", + "string-width": "^2.1.1" } } } }, "eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", + "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", "dev": true, "requires": { "esrecurse": "^4.1.0", "estraverse": "^4.1.1" } }, + "eslint-utils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz", + "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==", + "dev": true + }, "eslint-visitor-keys": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", @@ -1931,19 +2160,19 @@ "dev": true }, "espree": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.2.tgz", - "integrity": "sha512-sadKeYwaR/aJ3stC2CdvgXu1T16TdYN+qwCpcWbMnGJ8s0zNWemzrvb2GbD4OhmJ/fwpJjudThAlLobGbWZbCQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-4.0.0.tgz", + "integrity": "sha512-kapdTCt1bjmspxStVKX6huolXVV5ZfyZguY1lcfhVVZstce3bqxH9mcLzNn3/mlgW6wQ732+0fuG9v7h0ZQoKg==", "dev": true, "requires": { - "acorn": "^5.2.1", - "acorn-jsx": "^3.0.0" + "acorn": "^5.6.0", + "acorn-jsx": "^4.1.1" }, "dependencies": { "acorn": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.3.0.tgz", - "integrity": "sha512-Yej+zOJ1Dm/IMZzzj78OntP/r3zHEaKcyNoU2lAaxPtrseM6rF0xwqoz5Q5ysAiED9hTjI2hgtvLXitlCN1/Ug==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", + "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==", "dev": true } } @@ -1955,22 +2184,21 @@ "dev": true }, "esquery": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", - "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { "estraverse": "^4.0.0" } }, "esrecurse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", - "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "^4.1.0", - "object-assign": "^4.0.1" + "estraverse": "^4.1.0" } }, "estraverse": { @@ -2215,14 +2443,14 @@ } }, "external-editor": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.0.4.tgz", - "integrity": "sha1-HtkZnanL/i7y96MbL96LDRI2iXI=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { + "chardet": "^0.4.0", "iconv-lite": "^0.4.17", - "jschardet": "^1.4.2", - "tmp": "^0.0.31" + "tmp": "^0.0.33" } }, "extglob": { @@ -2235,29 +2463,14 @@ } }, "extract-zip": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.5.tgz", - "integrity": "sha1-maBnNbbqIOqbcF13ms/8yHz/BEA=", + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", + "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", "requires": { - "concat-stream": "1.6.0", - "debug": "2.2.0", - "mkdirp": "0.5.0", + "concat-stream": "1.6.2", + "debug": "2.6.9", + "mkdirp": "0.5.1", "yauzl": "2.4.1" - }, - "dependencies": { - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", - "requires": { - "ms": "0.7.1" - } - }, - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" - } } }, "extsprintf": { @@ -2266,9 +2479,9 @@ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, "fast-deep-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", - "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" }, "fast-json-stable-stringify": { "version": "2.0.0", @@ -2397,6 +2610,12 @@ "for-in": "^1.0.1" } }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, "foreachasync": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz", @@ -2408,13 +2627,12 @@ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" }, "form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", - "dev": true, + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "requires": { "asynckit": "^0.4.0", - "combined-stream": "^1.0.5", + "combined-stream": "1.0.6", "mime-types": "^2.1.12" } }, @@ -2423,6 +2641,12 @@ "resolved": "https://registry.npmjs.org/frameguard/-/frameguard-3.0.0.tgz", "integrity": "sha1-e8rUae57lukdEs6zlZx4I1qScuk=" }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, "fs-exists-sync": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", @@ -2446,6 +2670,12 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", @@ -2453,9 +2683,9 @@ "dev": true }, "gaze": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", - "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", "dev": true, "requires": { "globule": "^1.0.0" @@ -2490,13 +2720,6 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { "assert-plus": "^1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - } } }, "git-config-path": { @@ -2542,6 +2765,12 @@ "is-glob": "^2.0.0" } }, + "globals": { + "version": "11.7.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", + "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==", + "dev": true + }, "globby": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", @@ -2563,20 +2792,20 @@ "dev": true }, "globule": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz", - "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", + "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", "dev": true, "requires": { "glob": "~7.1.1", - "lodash": "~4.17.4", + "lodash": "~4.17.10", "minimatch": "~3.0.2" }, "dependencies": { "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", "dev": true } } @@ -2603,20 +2832,15 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" - }, "growl": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", - "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=" + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" }, "grunt": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.2.tgz", - "integrity": "sha1-TmpeaVtwRy/VME9fqeNCNoNqc7w=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.3.tgz", + "integrity": "sha512-/JzmZNPfKorlCrrmxWqQO4JVodO+DVd5XX4DkocL/1WlLlKVLE9+SdEIempOAxDhWPysLle6afvn/hg7Ck2k9g==", "dev": true, "requires": { "coffeescript": "~1.10.0", @@ -2627,14 +2851,15 @@ "glob": "~7.0.0", "grunt-cli": "~1.2.0", "grunt-known-options": "~1.1.0", - "grunt-legacy-log": "~1.0.0", - "grunt-legacy-util": "~1.0.0", + "grunt-legacy-log": "~2.0.0", + "grunt-legacy-util": "~1.1.1", "iconv-lite": "~0.4.13", "js-yaml": "~3.5.2", "minimatch": "~3.0.2", + "mkdirp": "~0.5.1", "nopt": "~3.0.6", "path-is-absolute": "~1.0.0", - "rimraf": "~2.2.8" + "rimraf": "~2.6.2" }, "dependencies": { "glob": { @@ -2663,22 +2888,40 @@ "resolve": "~1.1.0" } }, - "rimraf": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", - "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "^7.0.5" + } } } }, "grunt-eslint": { - "version": "20.1.0", - "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-20.1.0.tgz", - "integrity": "sha512-VZlDOLrB2KKefDDcx/wR8rEEz7smDwDKVblmooa+itdt/2jWw3ee2AiZB5Ap4s4AoRY0pbHRjZ3HHwY8uKR9Rw==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-21.0.0.tgz", + "integrity": "sha512-HJocD9P35lpCvy6pPPCTgzBavzckrT1nt7lpqV55Vy8E6LQJv4RortXoH1jJTYhO5DYY7RPATv7Uc4383PUYqQ==", "dev": true, "requires": { "chalk": "^2.1.0", - "eslint": "^4.0.0" + "eslint": "^5.0.0" }, "dependencies": { "ansi-styles": { @@ -2691,9 +2934,9 @@ } }, "chalk": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -2708,9 +2951,9 @@ "dev": true }, "supports-color": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -2735,69 +2978,97 @@ "dev": true }, "grunt-legacy-log": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.1.tgz", - "integrity": "sha512-rwuyqNKlI0IPz0DvxzJjcEiQEBaBNVeb1LFoZKxSmHLETFUwhwUrqOsPIxURTKSwNZHZ4ht1YLBYmVU0YZAzHQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-2.0.0.tgz", + "integrity": "sha512-1m3+5QvDYfR1ltr8hjiaiNjddxGdQWcH0rw1iKKiQnF0+xtgTazirSTGu68RchPyh1OBng1bBUjLmX8q9NpoCw==", "dev": true, "requires": { "colors": "~1.1.2", - "grunt-legacy-log-utils": "~1.0.0", + "grunt-legacy-log-utils": "~2.0.0", "hooker": "~0.2.3", - "lodash": "~4.17.5", - "underscore.string": "~3.3.4" + "lodash": "~4.17.5" }, "dependencies": { "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", "dev": true } } }, "grunt-legacy-log-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz", - "integrity": "sha1-p7ji0Ps1taUPSvmG/BEnSevJbz0=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.0.1.tgz", + "integrity": "sha512-o7uHyO/J+i2tXG8r2bZNlVk20vlIFJ9IEYyHMCQGfWYru8Jv3wTqKZzvV30YW9rWEjq0eP3cflQ1qWojIe9VFA==", "dev": true, "requires": { - "chalk": "~1.1.1", - "lodash": "~4.3.0" + "chalk": "~2.4.1", + "lodash": "~4.17.10" }, "dependencies": { - "lodash": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz", - "integrity": "sha1-79nEpuxT87BUEkKZFcPkgk5NJaQ=", + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, "grunt-legacy-util": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz", - "integrity": "sha1-OGqnjcbtUJhsKxiVcmWxtIq7m4Y=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.1.1.tgz", + "integrity": "sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A==", "dev": true, "requires": { "async": "~1.5.2", "exit": "~0.1.1", "getobject": "~0.1.0", "hooker": "~0.2.3", - "lodash": "~4.3.0", - "underscore.string": "~3.2.3", - "which": "~1.2.1" + "lodash": "~4.17.10", + "underscore.string": "~3.3.4", + "which": "~1.3.0" }, "dependencies": { "lodash": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz", - "integrity": "sha1-79nEpuxT87BUEkKZFcPkgk5NJaQ=", - "dev": true - }, - "underscore.string": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.2.3.tgz", - "integrity": "sha1-gGmSYzZl1eX8tNsfs6hi62jp5to=", + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", "dev": true } } @@ -2836,9 +3107,9 @@ } }, "grunt-stylelint": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/grunt-stylelint/-/grunt-stylelint-0.9.0.tgz", - "integrity": "sha512-+eC6pRdt+6ZupNFbDYVBB7DtEdohjTNf3BRAXhCqMk2eqEYg/q+Bl3r6lFC6qGRNxmpfHR+qWnzb+KKCqKalaw==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/grunt-stylelint/-/grunt-stylelint-0.10.0.tgz", + "integrity": "sha512-1HC3H1CZlK3niJGORr+1nmcdtogoSiZex7ej9MtJPXVmxrvWvXTVhZppKoPVVQgHRvNozmtGCZTZr7c9kMPO5g==", "dev": true, "requires": { "chalk": "1.1.3" @@ -2889,19 +3160,39 @@ } }, "har-schema": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", - "dev": true + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" }, "har-validator": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", - "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "requires": { + "ajv": "^5.1.0", + "har-schema": "^2.0.0" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + } + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "ajv": "^4.9.1", - "har-schema": "^1.0.5" + "function-bind": "^1.1.1" } }, "has-ansi": { @@ -2914,9 +3205,9 @@ } }, "has-binary2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.2.tgz", - "integrity": "sha1-6D26SfC5vk0CbSc2U1DZ8D9Uvpg=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", "requires": { "isarray": "2.0.1" }, @@ -2945,17 +3236,11 @@ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", "dev": true }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "dev": true, - "requires": { - "boom": "2.x.x", - "cryptiles": "2.x.x", - "hoek": "2.x.x", - "sntp": "1.x.x" - } + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true }, "he": { "version": "1.1.1", @@ -3000,16 +3285,10 @@ "resolved": "https://registry.npmjs.org/hide-powered-by/-/hide-powered-by-1.0.0.tgz", "integrity": "sha1-SoWtZYgfYoV/xwr3F0oRhNzM4ys=" }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", - "dev": true - }, "home-path": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/home-path/-/home-path-1.0.5.tgz", - "integrity": "sha1-eIspgVsS1Tus9XVkhHbm+QQdEz8=" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/home-path/-/home-path-1.0.6.tgz", + "integrity": "sha512-wo+yjrdAtoXt43Vy92a+0IPCYViiyLAHyp0QVS4xL/tfvVz5sXIW1ubLZk3nhVkD92fQpUMKX+fzMjr5F489vw==" }, "homedir-polyfill": { "version": "1.0.1", @@ -3101,12 +3380,11 @@ } }, "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", - "dev": true, + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "^0.2.0", + "assert-plus": "^1.0.0", "jsprim": "^1.2.2", "sshpk": "^1.7.0" } @@ -3202,22 +3480,21 @@ "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=" }, "inquirer": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", - "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", + "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", "dev": true, "requires": { "ansi-escapes": "^3.0.0", "chalk": "^2.0.0", "cli-cursor": "^2.1.0", "cli-width": "^2.0.0", - "external-editor": "^2.0.4", + "external-editor": "^2.1.0", "figures": "^2.0.0", "lodash": "^4.3.0", "mute-stream": "0.0.7", "run-async": "^2.2.0", - "rx-lite": "^4.0.8", - "rx-lite-aggregates": "^4.0.8", + "rxjs": "^5.5.2", "string-width": "^2.1.0", "strip-ansi": "^4.0.0", "through": "^2.3.6" @@ -3230,25 +3507,42 @@ "dev": true }, "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" } }, "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.1.0", + "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", - "supports-color": "^4.0.0" + "supports-color": "^5.3.0" } }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "dev": true, + "requires": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", @@ -3256,9 +3550,9 @@ "dev": true }, "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", "dev": true }, "string-width": { @@ -3281,12 +3575,21 @@ } }, "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^2.0.0" + "has-flag": "^3.0.0" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" } } } @@ -3348,6 +3651,18 @@ "builtin-modules": "^1.0.0" } }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "dev": true + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, "is-decimal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.1.tgz", @@ -3481,6 +3796,15 @@ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", "dev": true }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "^1.0.1" + } + }, "is-regexp": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", @@ -3505,6 +3829,12 @@ "integrity": "sha1-i1IMhfrnolM4LUsCZS4EVXbhO7g=", "dev": true }, + "is-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", + "dev": true + }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -3588,12 +3918,6 @@ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "optional": true }, - "jschardet": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/jschardet/-/jschardet-1.5.1.tgz", - "integrity": "sha512-vE2hT1D0HLZCLLclfBSfkfTTedhVj0fubHpJBHKwwUWX0nSbhPAfk+SG9rTX95BYNmau8rGFfCeaT6T5OW1C2A==", - "dev": true - }, "jsdom": { "version": "11.6.2", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.6.2.tgz", @@ -3790,11 +4114,6 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, - "json3": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", - "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=" - }, "json5": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", @@ -3840,13 +4159,6 @@ "extsprintf": "1.3.0", "json-schema": "0.2.3", "verror": "1.10.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - } } }, "kind-of": { @@ -3881,25 +4193,31 @@ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", + "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", + "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -3976,51 +4294,12 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" }, - "lodash._baseassign": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", - "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", - "requires": { - "lodash._basecopy": "^3.0.0", - "lodash.keys": "^3.0.0" - } - }, - "lodash._basecopy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", - "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=" - }, - "lodash._basecreate": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz", - "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=" - }, - "lodash._getnative": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" - }, - "lodash._isiterateecall": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", - "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=" - }, "lodash.assign": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", "dev": true }, - "lodash.create": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz", - "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=", - "requires": { - "lodash._baseassign": "^3.0.0", - "lodash._basecreate": "^3.0.0", - "lodash._isiterateecall": "^3.0.0" - } - }, "lodash.find": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz", @@ -4033,32 +4312,12 @@ "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=", "dev": true }, - "lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" - }, - "lodash.isarray": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" - }, "lodash.isobject": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz", "integrity": "sha1-PI+41bW/S/kK4G4U8qUwpO2TXh0=", "dev": true }, - "lodash.keys": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "requires": { - "lodash._getnative": "^3.0.0", - "lodash.isarguments": "^3.0.0", - "lodash.isarray": "^3.0.0" - } - }, "lodash.reduce": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", @@ -4125,16 +4384,6 @@ "signal-exit": "^3.0.0" } }, - "lru-cache": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, "map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", @@ -4270,9 +4519,9 @@ } }, "mkdirp": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", - "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" }, @@ -4365,85 +4614,63 @@ } }, "mocha-logger": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/mocha-logger/-/mocha-logger-1.0.5.tgz", - "integrity": "sha1-nolqtBDo2NQGEdgcEfZCPIh89eM=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/mocha-logger/-/mocha-logger-1.0.6.tgz", + "integrity": "sha512-D7Z3r1RkyaJOnlgokODdzt9p4ut0m3DVzEKp3r3tgeXIpdxp54z049Vc0EEh5hkhudfRN0dfUD10Fcj2WuOO3w==", "requires": { - "mocha": "^3.2.0" + "mocha": "^5.1.1" }, "dependencies": { + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + }, "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "requires": { "ms": "2.0.0" } }, - "glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", - "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.2", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "mocha": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.3.tgz", - "integrity": "sha512-/6na001MJWEtYxHOV1WLfsmR4YIynkUEhBwzsb+fk2qmQ3iqsi258l/Q2MWHJMImAcNpZ8DEdYAK72NHoIQ9Eg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", + "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", "requires": { - "browser-stdout": "1.3.0", - "commander": "2.9.0", - "debug": "2.6.8", - "diff": "3.2.0", + "browser-stdout": "1.3.1", + "commander": "2.15.1", + "debug": "3.1.0", + "diff": "3.5.0", "escape-string-regexp": "1.0.5", - "glob": "7.1.1", - "growl": "1.9.2", + "glob": "7.1.2", + "growl": "1.10.5", "he": "1.1.1", - "json3": "3.3.2", - "lodash.create": "3.1.1", + "minimatch": "3.0.4", "mkdirp": "0.5.1", - "supports-color": "3.1.2" + "supports-color": "5.4.0" } }, "supports-color": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", - "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "requires": { - "has-flag": "^1.0.0" + "has-flag": "^3.0.0" } } } }, "moment": { - "version": "2.22.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.0.tgz", - "integrity": "sha512-1muXCh8jb1N/gHRbn9VDUBr0GYb8A/aVcHlII9QSB68a50spqEVLIGN6KVmCOnSvJrUhC0edGgKU5ofnGXdYdg==" + "version": "2.22.2", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", + "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=" }, "ms": { "version": "2.0.0", @@ -4467,6 +4694,12 @@ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" }, + "nice-try": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz", + "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==", + "dev": true + }, "nocache": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/nocache/-/nocache-2.0.0.tgz", @@ -4808,14 +5041,6 @@ "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", "dev": true }, - "parsejson": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz", - "integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=", - "requires": { - "better-assert": "~1.0.0" - } - }, "parseqs": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", @@ -4851,6 +5076,12 @@ "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", "dev": true }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -4878,10 +5109,9 @@ "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" }, "performance-now": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", - "dev": true + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "pify": { "version": "2.3.0", @@ -5209,7 +5439,8 @@ "process-nextick-args": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true }, "progress": { "version": "2.0.0", @@ -5232,28 +5463,21 @@ "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", "dev": true }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" }, "q": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.0.tgz", - "integrity": "sha1-3QG6ydBtMObyGa7LglPunr3DCPE=", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "dev": true }, "qs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", - "dev": true + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, "querystring": { "version": "0.2.0", @@ -5330,11 +5554,11 @@ } }, "rc": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", - "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "requires": { - "deep-extend": "~0.4.0", + "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" @@ -5405,6 +5629,21 @@ "is-equal-shallow": "^0.1.3" } }, + "regexp.prototype.flags": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz", + "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2" + } + }, + "regexpp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", + "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", + "dev": true + }, "remark": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/remark/-/remark-8.0.0.tgz", @@ -5510,9 +5749,9 @@ "dev": true }, "request": { - "version": "2.83.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", - "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "version": "2.87.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", + "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.6.0", @@ -5522,7 +5761,6 @@ "forever-agent": "~0.6.1", "form-data": "~2.3.1", "har-validator": "~5.0.3", - "hawk": "~6.0.2", "http-signature": "~1.2.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", @@ -5532,135 +5770,9 @@ "performance-now": "^2.1.0", "qs": "~6.5.1", "safe-buffer": "^5.1.1", - "stringstream": "~0.0.5", "tough-cookie": "~2.3.3", "tunnel-agent": "^0.6.0", "uuid": "^3.1.0" - }, - "dependencies": { - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" - }, - "boom": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", - "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", - "requires": { - "hoek": "4.x.x" - } - }, - "cryptiles": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", - "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", - "requires": { - "boom": "5.x.x" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "requires": { - "hoek": "4.x.x" - } - } - } - }, - "form-data": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", - "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.5", - "mime-types": "^2.1.12" - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" - }, - "har-validator": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", - "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", - "requires": { - "ajv": "^5.1.0", - "har-schema": "^2.0.0" - } - }, - "hawk": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", - "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", - "requires": { - "boom": "4.x.x", - "cryptiles": "3.x.x", - "hoek": "4.x.x", - "sntp": "2.x.x" - } - }, - "hoek": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", - "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==" - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" - }, - "sntp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", - "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", - "requires": { - "hoek": "4.x.x" - } - }, - "tough-cookie": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", - "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", - "requires": { - "punycode": "^1.4.1" - } - } } }, "request-promise-core": { @@ -5754,9 +5866,9 @@ "dev": true }, "rgb2hex": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/rgb2hex/-/rgb2hex-0.1.0.tgz", - "integrity": "sha1-zNVfhgrgxcTqN1BLlY5ELY0SMls=", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/rgb2hex/-/rgb2hex-0.1.8.tgz", + "integrity": "sha512-kPH3Zm3UrBIfJv17AtJJGLRxak+Hvvz6SnsTBIajqB2Zbh+A4EEjkMWKkmGhms0cJlzOOjZcu1LX5K3vnON7ug==", "dev": true }, "rimraf": { @@ -5781,12 +5893,6 @@ "is-promise": "^2.1.0" } }, - "rx": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", - "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=", - "dev": true - }, "rx-lite": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", @@ -5802,6 +5908,15 @@ "rx-lite": "*" } }, + "rxjs": { + "version": "5.5.11", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.11.tgz", + "integrity": "sha512-3bjO7UwWfA2CV7lmwYMBzj4fQ6Cq+ftHc2MvUe+WMS7wcdJ1LosDWmdjPQanYp2dBRj572p7PeU81JUxHKOcBA==", + "dev": true, + "requires": { + "symbol-observable": "1.0.1" + } + }, "safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", @@ -5897,45 +6012,25 @@ "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", "dev": true }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "dev": true, - "requires": { - "hoek": "2.x.x" - } - }, "socket.io": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.0.4.tgz", - "integrity": "sha1-waRZDO/4fs8TxyZS8Eb3FrKeYBQ=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz", + "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==", "requires": { - "debug": "~2.6.6", - "engine.io": "~3.1.0", + "debug": "~3.1.0", + "engine.io": "~3.2.0", + "has-binary2": "~1.0.2", "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.0.4", - "socket.io-parser": "~3.1.1" + "socket.io-client": "2.1.1", + "socket.io-parser": "~3.2.0" }, "dependencies": { - "socket.io-client": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz", - "integrity": "sha1-CRilUkBtxeVAs4Dc2Xr8SmQzL44=", + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "requires": { - "backo2": "1.0.2", - "base64-arraybuffer": "0.1.5", - "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "~2.6.4", - "engine.io-client": "~3.1.0", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "object-component": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "socket.io-parser": "~3.1.1", - "to-array": "0.1.4" + "ms": "2.0.0" } } } @@ -5945,17 +6040,55 @@ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz", "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=" }, + "socket.io-client": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz", + "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==", + "requires": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "engine.io-client": "~3.2.0", + "has-binary2": "~1.0.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "~3.2.0", + "to-array": "0.1.4" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + }, "socket.io-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.2.tgz", - "integrity": "sha1-28IoIVH8T6675Aru3Ady66YZ9/I=", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", + "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", "requires": { "component-emitter": "1.2.1", - "debug": "~2.6.4", - "has-binary2": "~1.0.2", + "debug": "~3.1.0", "isarray": "2.0.1" }, "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, "isarray": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", @@ -5973,21 +6106,22 @@ } }, "source-map-resolve": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.3.1.tgz", - "integrity": "sha1-YQ9hIqRFuN1RU1oqcbeD38Ekh2E=", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "dev": true, "requires": { - "atob": "~1.1.0", - "resolve-url": "~0.2.1", - "source-map-url": "~0.3.0", - "urix": "~0.1.0" + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-url": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.3.0.tgz", - "integrity": "sha1-fsrxO1e80J2opAxdJp2zN5nUqvk=", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", "dev": true }, "spdx-correct": { @@ -6015,70 +6149,16 @@ "dev": true }, "spectron": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/spectron/-/spectron-3.7.2.tgz", - "integrity": "sha1-hvQTBqm3DtbuFQD399Otw4mvtEY=", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/spectron/-/spectron-3.8.0.tgz", + "integrity": "sha512-fQ7gFp6UuEaONjXFLifLeIUI022pOsm3b+NFAm696r2umUkSZ9IbnEgHwrvBX+pJ3QUDyCEs5bPHUieYU7FvaQ==", "dev": true, "requires": { "dev-null": "^0.1.1", - "electron-chromedriver": "~1.7.1", + "electron-chromedriver": "~1.8.0", "request": "^2.81.0", "split": "^1.0.0", "webdriverio": "^4.8.0" - }, - "dependencies": { - "electron-chromedriver": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/electron-chromedriver/-/electron-chromedriver-1.7.1.tgz", - "integrity": "sha1-AIyXl2AHqk6xhJHuCV6U0X7kdhA=", - "dev": true, - "requires": { - "electron-download": "^4.1.0", - "extract-zip": "^1.6.5" - } - }, - "electron-download": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/electron-download/-/electron-download-4.1.0.tgz", - "integrity": "sha1-v5MsdG8vh//MCdHdRy8v9rkYeEU=", - "dev": true, - "requires": { - "debug": "^2.2.0", - "env-paths": "^1.0.0", - "fs-extra": "^2.0.0", - "minimist": "^1.2.0", - "nugget": "^2.0.0", - "path-exists": "^3.0.0", - "rc": "^1.1.2", - "semver": "^5.3.0", - "sumchecker": "^2.0.1" - } - }, - "fs-extra": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz", - "integrity": "sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "sumchecker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-2.0.2.tgz", - "integrity": "sha1-D0LBDl0F2l1C7qPlbDOZo31sWz4=", - "dev": true, - "requires": { - "debug": "^2.2.0" - } - } } }, "speedometer": { @@ -6102,9 +6182,9 @@ "dev": true }, "sshpk": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", - "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", + "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -6113,14 +6193,8 @@ "ecc-jsbn": "~0.1.1", "getpass": "^0.1.1", "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - } } }, "state-toggle": { @@ -6150,6 +6224,19 @@ "strip-ansi": "^3.0.0" } }, + "string.prototype.matchall": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-2.0.0.tgz", + "integrity": "sha512-WoZ+B2ypng1dp4iFLF2kmZlwwlE19gmjgKuhL1FJfDgCREWb3ye3SDVHSzLH6bxfnvYmkCxbzkmWcQZHA4P//Q==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.10.0", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "regexp.prototype.flags": "^1.2.0" + } + }, "string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", @@ -6167,11 +6254,6 @@ "is-hexadecimal": "^1.0.0" } }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" - }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -6626,6 +6708,12 @@ "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", "dev": true }, + "symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", + "dev": true + }, "symbol-tree": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", @@ -6686,14 +6774,17 @@ } }, "tar-stream": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.4.tgz", - "integrity": "sha1-NlSc8E7RrumyowwBQyUiONr5QBY=", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.1.tgz", + "integrity": "sha512-IFLM5wp3QrJODQFPm6/to3LJZrONdBY/otxcvDIQzu217zKye6yVR3hhi9lAjrC2Z+m/j5oDxMPb1qcd8cIvpA==", "dev": true, "requires": { "bl": "^1.0.0", + "buffer-alloc": "^1.1.0", "end-of-stream": "^1.0.0", - "readable-stream": "^2.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.0", "xtend": "^4.0.0" }, "dependencies": { @@ -6703,25 +6794,31 @@ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", + "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", + "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -6795,12 +6892,12 @@ "dev": true }, "tmp": { - "version": "0.0.31", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz", - "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=", + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "~1.0.1" + "os-tmpdir": "~1.0.2" } }, "to-array": { @@ -6808,11 +6905,16 @@ "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true + }, "tough-cookie": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", - "dev": true, "requires": { "punycode": "^1.4.1" } @@ -7019,6 +7121,23 @@ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + } + } + }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", @@ -7059,12 +7178,6 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" }, - "uws": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/uws/-/uws-0.14.5.tgz", - "integrity": "sha1-Z6rzPEaypYel9mZtAPdpEyjxSdw=", - "optional": true - }, "valid-url": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", @@ -7079,12 +7192,6 @@ "spdx-expression-parse": "~1.0.0" } }, - "validator": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-7.0.0.tgz", - "integrity": "sha1-x03rgGNRL6w1VHk45vCxUEooL9I=", - "dev": true - }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", @@ -7093,13 +7200,6 @@ "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - } } }, "vfile": { @@ -7150,91 +7250,110 @@ } }, "walk": { - "version": "2.3.13", - "resolved": "https://registry.npmjs.org/walk/-/walk-2.3.13.tgz", - "integrity": "sha512-78SMe7To9U7kqVhSoGho3GfspA089ZDBIj2f8jElg2hi6lUCoagtDJ8sSMFNlpAh5Ib8Jt1gQ6Y7gh9mzHtFng==", + "version": "2.3.14", + "resolved": "https://registry.npmjs.org/walk/-/walk-2.3.14.tgz", + "integrity": "sha512-5skcWAUmySj6hkBdH6B6+3ddMjVQYH5Qy9QGbPmN8kVmLteXk+yVXg+yfk1nbX30EYakahLrr8iPcCxJQSCBeg==", "requires": { "foreachasync": "^3.0.0" } }, - "walkdir": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz", - "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=", - "dev": true - }, "wdio-dot-reporter": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/wdio-dot-reporter/-/wdio-dot-reporter-0.0.9.tgz", - "integrity": "sha1-kpsq2v1J1rBTT9oGjocxm0fjj+U=", + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/wdio-dot-reporter/-/wdio-dot-reporter-0.0.10.tgz", + "integrity": "sha512-A0TCk2JdZEn3M1DSG9YYbNRcGdx/YRw19lTiRpgwzH4qqWkO/oRDZRmi3Snn4L2j54KKTfPalBhlOtc8fojVgg==", "dev": true }, "webdriverio": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-4.8.0.tgz", - "integrity": "sha1-1Skpt0kID4mWf24WFAUcvIFy0TI=", + "version": "4.13.1", + "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-4.13.1.tgz", + "integrity": "sha1-Yk70ylafPJpejpsRMCtEMe2h+4o=", "dev": true, "requires": { - "archiver": "~1.3.0", - "babel-runtime": "~6.23.0", - "css-parse": "~2.0.0", + "archiver": "~2.1.0", + "babel-runtime": "^6.26.0", + "css-parse": "^2.0.0", "css-value": "~0.0.1", - "deepmerge": "~1.3.2", + "deepmerge": "~2.0.1", "ejs": "~2.5.6", "gaze": "~1.1.2", "glob": "~7.1.1", - "inquirer": "~3.0.6", + "inquirer": "~3.3.0", "json-stringify-safe": "~5.0.1", "mkdirp": "~0.5.1", "npm-install-package": "~2.1.0", "optimist": "~0.6.1", "q": "~1.5.0", - "request": "~2.81.0", - "rgb2hex": "~0.1.0", - "safe-buffer": "~5.0.1", - "supports-color": "~3.2.3", + "request": "^2.83.0", + "rgb2hex": "~0.1.4", + "safe-buffer": "~5.1.1", + "supports-color": "~5.0.0", "url": "~0.11.0", - "validator": "~7.0.0", "wdio-dot-reporter": "~0.0.8", "wgxpath": "~1.0.0" }, "dependencies": { - "ansi-escapes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", - "dev": true - }, "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "inquirer": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.0.6.tgz", - "integrity": "sha1-4EqqnQW3o8ubD0B9BDdfBEcZA0c=", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "requires": { - "ansi-escapes": "^1.1.0", - "chalk": "^1.0.0", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", "cli-cursor": "^2.1.0", "cli-width": "^2.0.0", - "external-editor": "^2.0.1", + "external-editor": "^2.0.4", "figures": "^2.0.0", "lodash": "^4.3.0", "mute-stream": "0.0.7", "run-async": "^2.2.0", - "rx": "^4.1.0", - "string-width": "^2.0.0", - "strip-ansi": "^3.0.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", "through": "^2.3.6" } }, @@ -7245,60 +7364,9 @@ "dev": true }, "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", - "dev": true - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "request": { - "version": "2.81.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", - "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", - "dev": true, - "requires": { - "aws-sign2": "~0.6.0", - "aws4": "^1.2.1", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.0", - "forever-agent": "~0.6.1", - "form-data": "~2.1.1", - "har-validator": "~4.2.1", - "hawk": "~3.1.3", - "http-signature": "~1.1.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.7", - "oauth-sign": "~0.8.1", - "performance-now": "^0.2.0", - "qs": "~6.4.0", - "safe-buffer": "^5.0.1", - "stringstream": "~0.0.4", - "tough-cookie": "~2.3.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.0.0" - } - }, - "safe-buffer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", - "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=", + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", "dev": true }, "string-width": { @@ -7309,26 +7377,32 @@ "requires": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" } }, "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.0.1.tgz", + "integrity": "sha512-7FQGOlSQ+AQxBNXJpVDj8efTA/FtyB5wcNE1omXXJ0cq6jm1jjDwuROlYDbnzHqdNPqliWFhcioCWSyav+xBnA==", "dev": true, "requires": { - "has-flag": "^1.0.0" + "has-flag": "^2.0.0" + }, + "dependencies": { + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + } } } } @@ -7374,9 +7448,9 @@ } }, "which": { - "version": "1.2.14", - "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", - "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -7430,19 +7504,13 @@ } }, "ws": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-2.3.1.tgz", - "integrity": "sha1-a5Sz5EfLajY/eF6vlK9jWejoHIA=", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "requires": { - "safe-buffer": "~5.0.1", + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", "ultron": "~1.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", - "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=" - } } }, "x-is-function": { @@ -7469,9 +7537,9 @@ "dev": true }, "xmlhttprequest-ssl": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz", - "integrity": "sha1-GFqIjATspGw+QHDZn3tJ3jUomS0=" + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", + "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" }, "xtend": { "version": "2.1.2", @@ -7487,12 +7555,6 @@ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, "yauzl": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", @@ -7525,30 +7587,36 @@ "dev": true }, "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", + "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", + "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" diff --git a/package.json b/package.json index 2aae05eb..5359fc50 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "jshint": "^2.9.5", "mocha": "^4.1.0", "mocha-each": "^1.1.0", - "spectron": "3.7.x", + "spectron": "^3.8.0", "stylelint": "^8.4.0", "stylelint-config-standard": "latest", "time-grunt": "latest" @@ -57,18 +57,18 @@ "dependencies": { "body-parser": "^1.18.2", "colors": "^1.1.2", - "electron": "^2.0.0", + "electron": "^2.0.4", "express": "^4.16.2", "express-ipfilter": "0.3.1", "feedme": "latest", "helmet": "^3.9.0", "iconv-lite": "latest", - "mocha-logger": "^1.0.5", + "mocha-logger": "^1.0.6", "moment": "latest", - "request": "^2.83.0", + "request": "^2.87.0", "rrule-alt": "^2.2.7", "simple-git": "^1.85.0", - "socket.io": "^2.0.4", + "socket.io": "^2.1.1", "valid-url": "latest", "walk": "latest" } From 28f1498ec3697d6fb4569dd23a64ac4fff3b69ef Mon Sep 17 00:00:00 2001 From: ubertao Date: Wed, 12 Sep 2018 08:17:10 +0800 Subject: [PATCH 09/47] update CHANGELOG.md adding gzip fix for calendar module --- CHANGELOG.md | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d1765ba0..b12a493e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,12 +4,6 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). --- -## [2.4.2] - -### Fixed - -- Fix gzip encoded calendar loading issue #1400. - ## [2.5.0] - Unreleased *This release is scheduled to be released on 2018-10-01.* @@ -26,6 +20,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Support for showing end of events through config parameters showEnd and dateEndFormat ### Fixed +- Fixed gzip encoded calendar loading issue #1400. - Mixup between german and spanish translation for newsfeed. - Fixed close dates to be absolute, if no configured in the config.js - module Calendar - Fixed the UpdateNotification module message about new commits in the repository, so they can be correctly localized in singular and plural form. From 168904a159f732ed8a0dfa8f654d1426b11e2536 Mon Sep 17 00:00:00 2001 From: ubertao Date: Wed, 12 Sep 2018 09:31:46 +0800 Subject: [PATCH 10/47] Update zh-cn translation to 2.5.0 --- translations/zh-cn.json | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/translations/zh-cn.json b/translations/zh-cn.json index b879edb4..10d43283 100644 --- a/translations/zh-cn.json +++ b/translations/zh-cn.json @@ -5,7 +5,9 @@ "TOMORROW": "明天", "DAYAFTERTOMORROW": "后天", "RUNNING": "结束日期", - "EMPTY": "没有更多的活动。", + "EMPTY": "无日程安排。", + + "WEEK": "第{weekNumber}周", "N": "北风", "NNE": "北偏东风", @@ -24,8 +26,10 @@ "NW": "西北风", "NNW": "北偏西风", - "UPDATE_NOTIFICATION": "MagicMirror² 有新的更新", - "UPDATE_NOTIFICATION_MODULE": "模块 {MODULE_NAME} 可更新", - "UPDATE_INFO_SINGLE": "当前已安装版本为 {COMMIT_COUNT} commit 落后于分支 {BRANCH_NAME} ", - "UPDATE_INFO_MULTIPLE": "当前已安装版本为 {COMMIT_COUNT} commits 落后于分支 {BRANCH_NAME} " + "UPDATE_NOTIFICATION": "MagicMirror²有新的版本。", + "UPDATE_NOTIFICATION_MODULE": "{MODULE_NAME}模块可更新。", + "UPDATE_INFO_SINGLE": "当前已安装版本比{BRANCH_NAME}分支落后{COMMIT_COUNT}次代码更新。", + "UPDATE_INFO_MULTIPLE": "当前已安装版本比{BRANCH_NAME}分支落后{COMMIT_COUNT}次代码更新。", + + "FEELS": "体感" } From 4b6208fd9cb3acca54b75c721332511981d4766a Mon Sep 17 00:00:00 2001 From: ubertao Date: Wed, 12 Sep 2018 09:35:58 +0800 Subject: [PATCH 11/47] Update CHANGELOG.md for zh-cn translation updates. --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 571b97d8..87fc4d56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). *This release is scheduled to be released on 2018-10-01.* ### Added +- Simplified Chinese translation for "Feels" - Polish translate for "Feels" - French translate for "Feels" - Translations for newsfeed module @@ -31,6 +32,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Updated +- Updated Simplified Chinese translation - Swedish translations - Hungarian translations for the updatenotification module - Updated Norsk bokmål translation From 6034891fed9d27ac8c572660b489805d933fdfc4 Mon Sep 17 00:00:00 2001 From: ubertao Date: Mon, 17 Sep 2018 00:51:37 +0800 Subject: [PATCH 12/47] Support multi-line compliments. --- modules/default/compliments/compliments.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/default/compliments/compliments.js b/modules/default/compliments/compliments.js index 74aef034..af3d6e34 100644 --- a/modules/default/compliments/compliments.js +++ b/modules/default/compliments/compliments.js @@ -160,7 +160,7 @@ Module.register("compliments", { var compliment = document.createTextNode(complimentText); var wrapper = document.createElement("div"); wrapper.className = this.config.classes ? this.config.classes : "thin xlarge bright"; - wrapper.appendChild(compliment); + wrapper.innerHTML = complimentText.replace(/\n/g, '
'); return wrapper; }, From 40725aa2a23c67719a347aa4b554069cbd436e29 Mon Sep 17 00:00:00 2001 From: ubertao Date: Mon, 17 Sep 2018 00:54:01 +0800 Subject: [PATCH 13/47] Update CHANGELOG.md with multi-line compliments support. --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a976bec7..4afc38b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). *This release is scheduled to be released on 2018-10-01.* ### Added +- Support multi-line compliments - Simplified Chinese translation for "Feels" - Polish translate for "Feels" - French translate for "Feels" From cad7debc5be6054a06e8e168b7e6b6fa0df0832d Mon Sep 17 00:00:00 2001 From: ubertao Date: Thu, 20 Sep 2018 08:49:17 +0800 Subject: [PATCH 14/47] Replace innerHTML() with createElement() and appendChild() for security. --- modules/default/compliments/compliments.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/default/compliments/compliments.js b/modules/default/compliments/compliments.js index af3d6e34..43ef0e9e 100644 --- a/modules/default/compliments/compliments.js +++ b/modules/default/compliments/compliments.js @@ -157,10 +157,15 @@ Module.register("compliments", { getDom: function() { var complimentText = this.randomCompliment(); - var compliment = document.createTextNode(complimentText); var wrapper = document.createElement("div"); wrapper.className = this.config.classes ? this.config.classes : "thin xlarge bright"; - wrapper.innerHTML = complimentText.replace(/\n/g, '
'); + complimentText.split("\n").forEach(function(line, index) { + if (index > 0) { + wrapper.appendChild(document.createElement("br")); + } + wrapper.appendChild(document.createTextNode(line)); + + }); return wrapper; }, From d76c924ad11649959941b430c31fc0c35758a602 Mon Sep 17 00:00:00 2001 From: ubertao Date: Thu, 20 Sep 2018 09:09:06 +0800 Subject: [PATCH 15/47] Update compliments README.md for multi-line support. --- modules/default/compliments/README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/default/compliments/README.md b/modules/default/compliments/README.md index 8f796888..7220cd29 100644 --- a/modules/default/compliments/README.md +++ b/modules/default/compliments/README.md @@ -107,6 +107,13 @@ config: { } ```` +#### Multi-line compliments: +Use `\n` to split compliment text into multiple lines, e.g. `First line.\nSecond line.` will be shown as: +``` +First line. +Second line. +``` + ### External Compliment File You may specify an external file that contains the three compliment arrays. This is particularly useful if you have a large number of compliments and do not wish to crowd your `config.js` file with a large array of compliments. From ba428c6cfe11f2a588edc9adbc673dbff342b104 Mon Sep 17 00:00:00 2001 From: ubertao Date: Mon, 24 Sep 2018 23:01:17 +0800 Subject: [PATCH 16/47] Use 'white-space: pre-line' for multi-line compliment. --- css/main.css | 4 ++++ modules/default/compliments/compliments.js | 11 +++-------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/css/main.css b/css/main.css index db1fb428..84f8c4d2 100644 --- a/css/main.css +++ b/css/main.css @@ -128,6 +128,10 @@ sup { text-overflow: ellipsis; } +.pre-line { + white-space: pre-line; +} + /** * Region Definitions. */ diff --git a/modules/default/compliments/compliments.js b/modules/default/compliments/compliments.js index 43ef0e9e..bfa85879 100644 --- a/modules/default/compliments/compliments.js +++ b/modules/default/compliments/compliments.js @@ -157,15 +157,10 @@ Module.register("compliments", { getDom: function() { var complimentText = this.randomCompliment(); + var compliment = document.createTextNode(complimentText); var wrapper = document.createElement("div"); - wrapper.className = this.config.classes ? this.config.classes : "thin xlarge bright"; - complimentText.split("\n").forEach(function(line, index) { - if (index > 0) { - wrapper.appendChild(document.createElement("br")); - } - wrapper.appendChild(document.createTextNode(line)); - - }); + wrapper.className = this.config.classes ? this.config.classes : "thin xlarge bright pre-line"; + wrapper.appendChild(compliment); return wrapper; }, From 9a46081d0ba7a7c4b2e28cfd59fed6cd7de6bd00 Mon Sep 17 00:00:00 2001 From: Michael Teeuw Date: Sun, 30 Sep 2018 21:36:04 +0200 Subject: [PATCH 17/47] Prepare for release 2.5.0 --- CHANGELOG.md | 4 +--- package-lock.json | 2 +- package.json | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4afc38b6..b19efad3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,9 +4,7 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). --- -## [2.5.0] - Unreleased - -*This release is scheduled to be released on 2018-10-01.* +## [2.5.0] - 2018-10-01 ### Added - Support multi-line compliments diff --git a/package-lock.json b/package-lock.json index 3376a2e3..928d1763 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "magicmirror", - "version": "2.5.0-dev", + "version": "2.5.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 2aae05eb..ab9735f2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "magicmirror", - "version": "2.5.0-dev", + "version": "2.5.0", "description": "The open source modular smart mirror platform.", "main": "js/electron.js", "scripts": { From 6f2b04669ff5443350ab8af1719c77df5eb041e8 Mon Sep 17 00:00:00 2001 From: rudibarani <7797301+rudibarani@users.noreply.github.com> Date: Sun, 30 Sep 2018 23:39:22 +0200 Subject: [PATCH 18/47] Details to install the latest version of Node.js Added the direct code to always install the latest version of Node.js for the manual installation. Maybe you could also include this in the automatic setup script, which does not seem to install the latest version of Node.js. --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1694ff65..9459b5db 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,9 @@ bash -c "$(curl -sL https://raw.githubusercontent.com/MichMich/MagicMirror/maste #### Manual Installation -1. Download and install the latest *Node.js* version. +1. Download and install the latest *Node.js* version: +- `curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -` +- `sudo apt install -y nodejs` 2. Clone the repository and check out the master branch: `git clone https://github.com/MichMich/MagicMirror` 3. Enter the repository: `cd MagicMirror/` 4. Install and run the app with: `npm install && npm start` \ From d4fe01f9b99a6da31b59dd1fb9ef33e2725b9018 Mon Sep 17 00:00:00 2001 From: Michael Teeuw Date: Mon, 1 Oct 2018 08:20:15 +0200 Subject: [PATCH 19/47] Prepare for 2.6.0-dev. --- CHANGELOG.md | 11 +++++++++++ package-lock.json | 2 +- package.json | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b19efad3..bc50dfa4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,17 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). --- + +## [2.6.0] - Unreleased + +*This release is scheduled to be released on 2018-10-01.* + +### Added + +### Fixed + +### Updated + ## [2.5.0] - 2018-10-01 ### Added diff --git a/package-lock.json b/package-lock.json index 928d1763..5dbbb730 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "magicmirror", - "version": "2.5.0", + "version": "2.6.0-dev", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index ab9735f2..31ebb804 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "magicmirror", - "version": "2.5.0", + "version": "2.6.0-dev", "description": "The open source modular smart mirror platform.", "main": "js/electron.js", "scripts": { From 39619d5277863244a489ef80eeb20c55e35cf4f9 Mon Sep 17 00:00:00 2001 From: Thomas Bachmann Date: Wed, 3 Oct 2018 22:03:50 +0200 Subject: [PATCH 20/47] Allow to parse recurring calendar events where the start date is before 1970 Some birthday calendar events have a start date before 1970. --- modules/default/calendar/calendarfetcher.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modules/default/calendar/calendarfetcher.js b/modules/default/calendar/calendarfetcher.js index 4492462b..bca687db 100644 --- a/modules/default/calendar/calendarfetcher.js +++ b/modules/default/calendar/calendarfetcher.js @@ -173,6 +173,14 @@ var CalendarFetcher = function(url, reloadInterval, excludedEvents, maximumEntri if (typeof event.rrule != "undefined" && !isFacebookBirthday) { var rule = event.rrule; + + // can cause problems with birthdays before 1970 + if(rule.origOptions && rule.origOptions.dtstart && rule.origOptions.dtstart.getFullYear() < 1970 || + rule.options && rule.options.dtstart && rule.options.dtstart.getFullYear() < 1970){ + rule.origOptions.dtstart.setYear(1970); + rule.options.dtstart.setYear(1970); + } + var dates = rule.between(today, future, true, limitFunction); for (var d in dates) { From 3f083862e7c247b3d5c5c3fa9551e312b3ba855d Mon Sep 17 00:00:00 2001 From: Thomas Bachmann Date: Wed, 3 Oct 2018 22:05:51 +0200 Subject: [PATCH 21/47] Allow to parse recurring calendar events where the start date is before 1970 Some birthday calendar events have a start date before 1970. --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bc50dfa4..05f75a37 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Added ### Fixed +- Allow to parse recurring calendar events where the start date is before 1970 ### Updated From 007b2f0c8864ad12030c840dd796f79d5d68e2e3 Mon Sep 17 00:00:00 2001 From: Thomas Bachmann Date: Wed, 3 Oct 2018 22:43:29 +0200 Subject: [PATCH 22/47] Allow to parse recurring calendar events where the start date is before 1900 Some birthday calendar events have a start date before 1900. --- CHANGELOG.md | 2 +- modules/default/calendar/README.md | 1 - modules/default/calendar/calendarfetcher.js | 10 +++++----- package.json | 2 +- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 05f75a37..46cf3261 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,7 +12,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Added ### Fixed -- Allow to parse recurring calendar events where the start date is before 1970 +- Allow to parse recurring calendar events where the start date is before 1900 ### Updated diff --git a/modules/default/calendar/README.md b/modules/default/calendar/README.md index ae516a63..6181400a 100755 --- a/modules/default/calendar/README.md +++ b/modules/default/calendar/README.md @@ -1,7 +1,6 @@ # Module: Calendar The `calendar` module is one of the default modules of the MagicMirror. This module displays events from a public .ical calendar. It can combine multiple calendars. -Note that calendars may not contain any entry before 1st January 1970, otherwise the calendar won't be displayed and the module will crash. ## Using the module diff --git a/modules/default/calendar/calendarfetcher.js b/modules/default/calendar/calendarfetcher.js index bca687db..d9106853 100644 --- a/modules/default/calendar/calendarfetcher.js +++ b/modules/default/calendar/calendarfetcher.js @@ -174,11 +174,11 @@ var CalendarFetcher = function(url, reloadInterval, excludedEvents, maximumEntri if (typeof event.rrule != "undefined" && !isFacebookBirthday) { var rule = event.rrule; - // can cause problems with birthdays before 1970 - if(rule.origOptions && rule.origOptions.dtstart && rule.origOptions.dtstart.getFullYear() < 1970 || - rule.options && rule.options.dtstart && rule.options.dtstart.getFullYear() < 1970){ - rule.origOptions.dtstart.setYear(1970); - rule.options.dtstart.setYear(1970); + // can cause problems with e.g. birthdays before 1900 + if(rule.origOptions && rule.origOptions.dtstart && rule.origOptions.dtstart.getFullYear() < 1900 || + rule.options && rule.options.dtstart && rule.options.dtstart.getFullYear() < 1900){ + rule.origOptions.dtstart.setYear(1900); + rule.options.dtstart.setYear(1900); } var dates = rule.between(today, future, true, limitFunction); diff --git a/package.json b/package.json index 31ebb804..8d94ec2e 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "mocha-logger": "^1.0.5", "moment": "latest", "request": "^2.83.0", - "rrule-alt": "^2.2.7", + "rrule-alt": "^2.2.8", "simple-git": "^1.85.0", "socket.io": "^2.0.4", "valid-url": "latest", From 3b48f1d0423003c42c25db25545b1db8d99a2cb5 Mon Sep 17 00:00:00 2001 From: Teddy Payet Date: Thu, 4 Oct 2018 02:07:08 +0200 Subject: [PATCH 23/47] - Possibility to add classes to the cell of symbol, title and time of the events of calendar. --- CHANGELOG.md | 1 + modules/default/calendar/README.md | 3 ++ modules/default/calendar/calendar.js | 72 ++++++++++++++++++++++++---- 3 files changed, 68 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bc50dfa4..f6065222 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). *This release is scheduled to be released on 2018-10-01.* ### Added +- Possibility to add classes to the cell of symbol, title and time of the events of calendar. ### Fixed diff --git a/modules/default/calendar/README.md b/modules/default/calendar/README.md index ae516a63..e2cf3ff9 100755 --- a/modules/default/calendar/README.md +++ b/modules/default/calendar/README.md @@ -86,6 +86,9 @@ config: { | `maximumEntries` | The maximum number of events shown. Overrides global setting. **Possible values:** `0` - `100` | `maximumNumberOfDays` | The maximum number of days in the future. Overrides global setting | `auth` | The object containing options for authentication against the calendar. +| `symbolClass` | Add a class to the cell of symbol. +| `titleClass` | Add a class to the title's cell. +| `timeClass` | Add a class to the time's cell. #### Calendar authentication options: diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js index 3bb5a03b..b9f67bb2 100755 --- a/modules/default/calendar/calendar.js +++ b/modules/default/calendar/calendar.js @@ -82,6 +82,15 @@ Module.register("calendar", { maximumEntries: calendar.maximumEntries, maximumNumberOfDays: calendar.maximumNumberOfDays }; + if (calendar.symbolClass === "undefined" || calendar.symbolClass === null) { + calendarConfig.symbolClass = ""; + } + if (calendar.titleClass === "undefined" || calendar.titleClass === null) { + calendarConfig.titleClass = ""; + } + if (calendar.timeClass === "undefined" || calendar.timeClass === null) { + calendarConfig.timeClass = ""; + } // we check user and password here for backwards compatibility with old configs if(calendar.user && calendar.pass) { @@ -143,7 +152,7 @@ Module.register("calendar", { if(this.config.timeFormat === "dateheaders"){ if(lastSeenDate !== dateAsString){ var dateRow = document.createElement("tr"); - dateRow.className = "normal" + dateRow.className = "normal"; var dateCell = document.createElement("td"); dateCell.colSpan = "3"; @@ -172,7 +181,9 @@ Module.register("calendar", { symbolWrapper.style.cssText = "color:" + this.colorForUrl(event.url); } - symbolWrapper.className = "symbol align-right"; + var symbolClass = this.symbolClassForUrl(event.url); + symbolWrapper.className = "symbol align-right " + symbolClass; + var symbols = this.symbolsForUrl(event.url); if(typeof symbols === "string") { symbols = [symbols]; @@ -189,7 +200,7 @@ Module.register("calendar", { eventWrapper.appendChild(symbolWrapper); }else if(this.config.timeFormat === "dateheaders"){ var blankCell = document.createElement("td"); - blankCell.innerHTML = "   " + blankCell.innerHTML = "   "; eventWrapper.appendChild(blankCell); } @@ -210,10 +221,12 @@ Module.register("calendar", { titleWrapper.innerHTML = this.titleTransform(event.title) + repeatingCountTitle; + var titleClass = this.titleClassForUrl(event.url); + if (!this.config.colored) { - titleWrapper.className = "title bright"; + titleWrapper.className = "title bright " + titleClass; } else { - titleWrapper.className = "title"; + titleWrapper.className = "title " + titleClass; } if(this.config.timeFormat === "dateheaders"){ @@ -223,8 +236,10 @@ Module.register("calendar", { titleWrapper.align = "left"; }else{ + + var timeClass = this.timeClassForUrl(event.url); var timeWrapper = document.createElement("td"); - timeWrapper.className = "time light"; + timeWrapper.className = "time light " + timeClass; timeWrapper.align = "left"; timeWrapper.style.paddingLeft = "2px"; var timeFormatString = ""; @@ -343,7 +358,8 @@ Module.register("calendar", { } //timeWrapper.innerHTML += ' - '+ moment(event.startDate,'x').format('lll'); //console.log(event); - timeWrapper.className = "time light"; + var timeClass = this.timeClassForUrl(event.url); + timeWrapper.className = "time light " + timeClass; eventWrapper.appendChild(timeWrapper); } @@ -472,11 +488,15 @@ Module.register("calendar", { maximumEntries: calendarConfig.maximumEntries || this.config.maximumEntries, maximumNumberOfDays: calendarConfig.maximumNumberOfDays || this.config.maximumNumberOfDays, fetchInterval: this.config.fetchInterval, + symbolClass: calendarConfig.symbolClass, + titleClass: calendarConfig.titleClass, + timeClass: calendarConfig.timeClass, auth: auth }); }, - /* symbolsForUrl(url) + /** + * symbolsForUrl(url) * Retrieves the symbols for a specific url. * * argument url string - Url to look for. @@ -487,6 +507,42 @@ Module.register("calendar", { return this.getCalendarProperty(url, "symbol", this.config.defaultSymbol); }, + /** + * symbolClassForUrl(url) + * Retrieves the symbolClass for a specific url. + * + * @param url string - Url to look for. + * + * @returns string + */ + symbolClassForUrl: function (url) { + return this.getCalendarProperty(url, "symbolClass", ""); + }, + + /** + * titleClassForUrl(url) + * Retrieves the titleClass for a specific url. + * + * @param url string - Url to look for. + * + * @returns string + */ + titleClassForUrl: function (url) { + return this.getCalendarProperty(url, "titleClass", ""); + }, + + /** + * timeClassForUrl(url) + * Retrieves the timeClass for a specific url. + * + * @param url string - Url to look for. + * + * @returns string + */ + timeClassForUrl: function (url) { + return this.getCalendarProperty(url, "timeClass", ""); + }, + /* colorForUrl(url) * Retrieves the color for a specific url. * From 9a8add780cbc974ce5100a165b77fb37c82866c2 Mon Sep 17 00:00:00 2001 From: Dennis Glasberg Date: Wed, 3 Oct 2018 21:20:38 -0400 Subject: [PATCH 24/47] Update README.md --- modules/default/weatherforecast/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/default/weatherforecast/README.md b/modules/default/weatherforecast/README.md index a487734f..1d8bd23e 100644 --- a/modules/default/weatherforecast/README.md +++ b/modules/default/weatherforecast/README.md @@ -28,7 +28,7 @@ The following properties can be configured: | Option | Description | ---------------------------- | ----------- | `location` | The location used for weather information.

**Example:** `'Amsterdam,Netherlands'`
**Default value:** `false`

**Note:** When the `location` and `locationID` are both not set, the location will be based on the information provided by the calendar module. The first upcoming event with location data will be used. -| `locationID` | Location ID from [OpenWeatherMap](http://openweathermap.org/help/city_list.txt) **This will override anything you put in location.**
Leave blank if you want to use location.
**Example:** `1234567`
**Default value:** `false`

**Note:** When the `location` and `locationID` are both not set, the location will be based on the information provided by the calendar module. The first upcoming event with location data will be used. +| `locationID` | Location ID from [OpenWeatherMap](https://openweathermap.org/find) **This will override anything you put in location.**
Leave blank if you want to use location.
**Example:** `1234567`
**Default value:** `false`

**Note:** When the `location` and `locationID` are both not set, the location will be based on the information provided by the calendar module. The first upcoming event with location data will be used. | `appid` | The [OpenWeatherMap](https://home.openweathermap.org) API key, which can be obtained by creating an OpenWeatherMap account.

This value is **REQUIRED** | `units` | What units to use. Specified by config.js

**Possible values:** `config.units` = Specified by config.js, `default` = Kelvin, `metric` = Celsius, `imperial` =Fahrenheit
**Default value:** `config.units` | `roundTemp` | Round temperature values to nearest integer.

**Possible values:** `true` (round to integer) or `false` (display exact value with decimal point)
**Default value:** `false` From d311dbd9d5f2a01778d04c3b264db711ce0ccd37 Mon Sep 17 00:00:00 2001 From: Dennis Glasberg Date: Wed, 3 Oct 2018 21:28:30 -0400 Subject: [PATCH 25/47] Update README.md --- modules/default/currentweather/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/default/currentweather/README.md b/modules/default/currentweather/README.md index 030b04bf..cd5cac1f 100644 --- a/modules/default/currentweather/README.md +++ b/modules/default/currentweather/README.md @@ -29,7 +29,7 @@ The following properties can be configured: | Option | Description | ---------------------------- | ----------- | `location` | The location used for weather information.

**Example:** `'Amsterdam,Netherlands'`
**Default value:** `false`

**Note:** When the `location` and `locationID` are both not set, the location will be based on the information provided by the calendar module. The first upcoming event with location data will be used. -| `locationID` | Location ID from [OpenWeatherMap](http://openweathermap.org/help/city_list.txt) **This will override anything you put in location.**
Leave blank if you want to use location.
**Example:** `1234567`
**Default value:** `false`

**Note:** When the `location` and `locationID` are both not set, the location will be based on the information provided by the calendar module. The first upcoming event with location data will be used. +| `locationID` | Location ID from [OpenWeatherMap](https://openweathermap.org/find) **This will override anything you put in location.**
Leave blank if you want to use location.
**Example:** `1234567`
**Default value:** `false`

**Note:** When the `location` and `locationID` are both not set, the location will be based on the information provided by the calendar module. The first upcoming event with location data will be used. | `appid` | The [OpenWeatherMap](https://home.openweathermap.org) API key, which can be obtained by creating an OpenWeatherMap account.

This value is **REQUIRED** | `units` | What units to use. Specified by config.js

**Possible values:** `config.units` = Specified by config.js, `default` = Kelvin, `metric` = Celsius, `imperial` =Fahrenheit
**Default value:** `config.units` | `roundTemp` | Round temperature value to nearest integer.

**Possible values:** `true` (round to integer) or `false` (display exact value with decimal point)
**Default value:** `false` From fc89feec4ebf07a8688c4c0511bb22422b1f5165 Mon Sep 17 00:00:00 2001 From: "P-DESK\\P-Storm" Date: Fri, 5 Oct 2018 01:16:25 +0200 Subject: [PATCH 26/47] * Added font awesome 5, keeping shims in place for the calendar app (https://fontawesome.com/how-to-use/on-the-web/setup/upgrading-from-version-4) * Updated example sample config --- config/config.js.sample | 2 +- modules/default/calendar/calendar.js | 2 +- vendor/package-lock.json | 982 +++------------------------ vendor/package.json | 1 + vendor/vendor.js | 4 +- vendor/yarn.lock | 178 +++++ 6 files changed, 279 insertions(+), 890 deletions(-) diff --git a/config/config.js.sample b/config/config.js.sample index 9ef8780b..91aa05c9 100644 --- a/config/config.js.sample +++ b/config/config.js.sample @@ -44,7 +44,7 @@ var config = { config: { calendars: [ { - symbol: "calendar-check-o ", + symbol: "calendar-check", url: "webcal://www.calendarlabs.com/templates/ical/US-Holidays.ics" } ] diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js index 3bb5a03b..d7b2dbac 100755 --- a/modules/default/calendar/calendar.js +++ b/modules/default/calendar/calendar.js @@ -51,7 +51,7 @@ Module.register("calendar", { // Define required scripts. getStyles: function () { - return ["calendar.css", "font-awesome.css"]; + return ["calendar.css", "font-awesome5.css", "font-awesome5.v4shims.css"]; }, // Define required scripts. diff --git a/vendor/package-lock.json b/vendor/package-lock.json index a326b402..f0095bed 100644 --- a/vendor/package-lock.json +++ b/vendor/package-lock.json @@ -19,8 +19,8 @@ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "optional": true, "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" + "micromatch": "2.3.11", + "normalize-path": "2.1.1" } }, "arr-diff": { @@ -29,7 +29,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "optional": true, "requires": { - "arr-flatten": "^1.0.1" + "arr-flatten": "1.1.0" } }, "arr-flatten": { @@ -73,7 +73,7 @@ "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "optional": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -83,9 +83,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "optional": true, "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" } }, "camelcase": { @@ -99,15 +99,14 @@ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "optional": true, "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" + "anymatch": "1.3.2", + "async-each": "1.0.1", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" } }, "cliui": { @@ -115,9 +114,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" } }, "code-point-at": { @@ -148,7 +147,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "optional": true, "requires": { - "is-posix-bracket": "^0.1.0" + "is-posix-bracket": "0.1.1" } }, "expand-range": { @@ -157,7 +156,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "optional": true, "requires": { - "fill-range": "^2.1.0" + "fill-range": "2.2.3" } }, "extglob": { @@ -166,7 +165,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "optional": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "filename-regex": { @@ -181,11 +180,11 @@ "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", "optional": true, "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^1.1.3", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" } }, "font-awesome": { @@ -205,792 +204,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "optional": true, "requires": { - "for-in": "^1.0.1" - } - }, - "fsevents": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz", - "integrity": "sha512-Sn44E5wQW4bTHXvQmvSHwqbuiXtduD6Rrjm2ZtUEGbyrig+nUH3t/QD4M4/ZXViY556TBpRgZkHLDx3JxPwxiw==", - "optional": true, - "requires": { - "nan": "^2.3.0", - "node-pre-gyp": "^0.6.36" - }, - "dependencies": { - "abbrev": { - "version": "1.1.0", - "bundled": true, - "optional": true - }, - "ajv": { - "version": "4.11.8", - "bundled": true, - "optional": true, - "requires": { - "co": "^4.6.0", - "json-stable-stringify": "^1.0.1" - } - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true - }, - "aproba": { - "version": "1.1.1", - "bundled": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "asn1": { - "version": "0.2.3", - "bundled": true, - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "bundled": true, - "optional": true - }, - "balanced-match": { - "version": "0.4.2", - "bundled": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "bundled": true, - "optional": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "requires": { - "inherits": "~2.0.0" - } - }, - "boom": { - "version": "2.10.1", - "bundled": true, - "requires": { - "hoek": "2.x.x" - } - }, - "brace-expansion": { - "version": "1.1.7", - "bundled": true, - "requires": { - "balanced-match": "^0.4.1", - "concat-map": "0.0.1" - } - }, - "buffer-shims": { - "version": "1.0.0", - "bundled": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "optional": true - }, - "co": { - "version": "4.6.0", - "bundled": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "optional": true, - "requires": { - "boom": "2.x.x" - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "^1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "debug": { - "version": "2.6.8", - "bundled": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.4.2", - "bundled": true, - "optional": true - }, - "delayed-stream": { - "version": "1.0.0", - "bundled": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "optional": true, - "requires": { - "jsbn": "~0.1.0" - } - }, - "extend": { - "version": "3.0.1", - "bundled": true, - "optional": true - }, - "extsprintf": { - "version": "1.0.2", - "bundled": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "optional": true - }, - "form-data": { - "version": "2.1.4", - "bundled": true, - "optional": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.5", - "mime-types": "^2.1.12" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true - }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, - "optional": true, - "requires": { - "fstream": "^1.0.0", - "inherits": "2", - "minimatch": "^3.0.0" - } - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "^1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true - }, - "har-schema": { - "version": "1.0.5", - "bundled": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "bundled": true, - "optional": true, - "requires": { - "ajv": "^4.9.1", - "har-schema": "^1.0.5" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "hawk": { - "version": "3.1.3", - "bundled": true, - "optional": true, - "requires": { - "boom": "2.x.x", - "cryptiles": "2.x.x", - "hoek": "2.x.x", - "sntp": "1.x.x" - } - }, - "hoek": { - "version": "2.16.3", - "bundled": true - }, - "http-signature": { - "version": "1.1.1", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "^0.2.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true - }, - "ini": { - "version": "1.3.4", - "bundled": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "optional": true - }, - "jodid25519": { - "version": "1.0.2", - "bundled": true, - "optional": true, - "requires": { - "jsbn": "~0.1.0" - } - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true, - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "bundled": true, - "optional": true, - "requires": { - "jsonify": "~0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "bundled": true, - "optional": true - }, - "jsprim": { - "version": "1.4.0", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "mime-db": { - "version": "1.27.0", - "bundled": true - }, - "mime-types": { - "version": "2.1.15", - "bundled": true, - "requires": { - "mime-db": "~1.27.0" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "node-pre-gyp": { - "version": "0.6.36", - "bundled": true, - "optional": true, - "requires": { - "mkdirp": "^0.5.1", - "nopt": "^4.0.1", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "request": "^2.81.0", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^2.2.1", - "tar-pack": "^3.4.0" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npmlog": { - "version": "4.1.0", - "bundled": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "osenv": { - "version": "0.1.4", - "bundled": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true - }, - "performance-now": { - "version": "0.2.0", - "bundled": true, - "optional": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true - }, - "punycode": { - "version": "1.4.1", - "bundled": true, - "optional": true - }, - "qs": { - "version": "6.4.0", - "bundled": true, - "optional": true - }, - "rc": { - "version": "1.2.1", - "bundled": true, - "optional": true, - "requires": { - "deep-extend": "~0.4.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.2.9", - "bundled": true, - "requires": { - "buffer-shims": "~1.0.0", - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~1.0.0", - "util-deprecate": "~1.0.1" - } - }, - "request": { - "version": "2.81.0", - "bundled": true, - "optional": true, - "requires": { - "aws-sign2": "~0.6.0", - "aws4": "^1.2.1", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.0", - "forever-agent": "~0.6.1", - "form-data": "~2.1.1", - "har-validator": "~4.2.1", - "hawk": "~3.1.3", - "http-signature": "~1.1.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.7", - "oauth-sign": "~0.8.1", - "performance-now": "^0.2.0", - "qs": "~6.4.0", - "safe-buffer": "^5.0.1", - "stringstream": "~0.0.4", - "tough-cookie": "~2.3.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.0.0" - } - }, - "rimraf": { - "version": "2.6.1", - "bundled": true, - "requires": { - "glob": "^7.0.5" - } - }, - "safe-buffer": { - "version": "5.0.1", - "bundled": true - }, - "semver": { - "version": "5.3.0", - "bundled": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "optional": true - }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "optional": true, - "requires": { - "hoek": "2.x.x" - } - }, - "sshpk": { - "version": "1.13.0", - "bundled": true, - "optional": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jodid25519": "^1.0.0", - "jsbn": "~0.1.0", - "tweetnacl": "~0.14.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.0.1", - "bundled": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "optional": true - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "requires": { - "block-stream": "*", - "fstream": "^1.0.2", - "inherits": "2" - } - }, - "tar-pack": { - "version": "3.4.0", - "bundled": true, - "optional": true, - "requires": { - "debug": "^2.2.0", - "fstream": "^1.0.10", - "fstream-ignore": "^1.0.5", - "once": "^1.3.3", - "readable-stream": "^2.1.4", - "rimraf": "^2.5.1", - "tar": "^2.2.1", - "uid-number": "^0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.2", - "bundled": true, - "optional": true, - "requires": { - "punycode": "^1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "optional": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "optional": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true - }, - "uuid": { - "version": "3.0.1", - "bundled": true, - "optional": true - }, - "verror": { - "version": "1.3.6", - "bundled": true, - "optional": true, - "requires": { - "extsprintf": "1.0.2" - } - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "optional": true, - "requires": { - "string-width": "^1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true - } + "for-in": "1.0.2" } }, "glob-base": { @@ -999,8 +213,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "optional": true, "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" + "glob-parent": "2.0.0", + "is-glob": "2.0.1" } }, "glob-parent": { @@ -1008,7 +222,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "graceful-fs": { @@ -1033,7 +247,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "optional": true, "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "1.10.0" } }, "is-buffer": { @@ -1053,7 +267,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "optional": true, "requires": { - "is-primitive": "^2.0.0" + "is-primitive": "2.0.0" } }, "is-extendable": { @@ -1072,7 +286,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-glob": { @@ -1080,7 +294,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "is-number": { @@ -1089,7 +303,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "optional": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-posix-bracket": { @@ -1123,7 +337,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.5" } }, "lcid": { @@ -1131,7 +345,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "micromatch": { @@ -1140,19 +354,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "optional": true, "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" } }, "minimatch": { @@ -1161,7 +375,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "optional": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.8" } }, "moment": { @@ -1174,21 +388,15 @@ "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.13.tgz", "integrity": "sha1-mc5cfYJyYusPH3AgRBd/YHRde5A=", "requires": { - "moment": ">= 2.9.0" + "moment": "2.18.1" } }, - "nan": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz", - "integrity": "sha1-2Vv3IeyHfgjbJ27T/G63j5CDrUY=", - "optional": true - }, "normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "number-is-nan": { @@ -1201,10 +409,10 @@ "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.0.1.tgz", "integrity": "sha1-TedKPlULr2+jNwMj89HHwqhr3E0=", "requires": { - "a-sync-waterfall": "^1.0.0", - "asap": "^2.0.3", - "chokidar": "^1.6.0", - "yargs": "^3.32.0" + "a-sync-waterfall": "1.0.0", + "asap": "2.0.6", + "chokidar": "1.7.0", + "yargs": "3.32.0" } }, "object.omit": { @@ -1213,8 +421,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "optional": true, "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "for-own": "0.1.5", + "is-extendable": "0.1.1" } }, "os-locale": { @@ -1222,7 +430,7 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { - "lcid": "^1.0.0" + "lcid": "1.0.0" } }, "parse-glob": { @@ -1231,10 +439,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "optional": true, "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" } }, "path-is-absolute": { @@ -1261,8 +469,8 @@ "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", "optional": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "is-number": { @@ -1271,7 +479,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "optional": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -1280,7 +488,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "optional": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.5" } } } @@ -1291,7 +499,7 @@ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "optional": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.5" } } } @@ -1302,13 +510,13 @@ "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "optional": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" } }, "readdirp": { @@ -1317,10 +525,10 @@ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "optional": true, "requires": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.3", + "set-immediate-shim": "1.0.1" } }, "regex-cache": { @@ -1329,7 +537,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "optional": true, "requires": { - "is-equal-shallow": "^0.1.3" + "is-equal-shallow": "0.1.3" } }, "remove-trailing-separator": { @@ -1364,9 +572,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string_decoder": { @@ -1375,7 +583,7 @@ "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "optional": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.1" } }, "strip-ansi": { @@ -1383,7 +591,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "util-deprecate": { @@ -1407,8 +615,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" } }, "y18n": { @@ -1421,13 +629,13 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", "requires": { - "camelcase": "^2.0.1", - "cliui": "^3.0.3", - "decamelize": "^1.1.1", - "os-locale": "^1.4.0", - "string-width": "^1.0.1", - "window-size": "^0.1.4", - "y18n": "^3.2.0" + "camelcase": "2.1.1", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "os-locale": "1.4.0", + "string-width": "1.0.2", + "window-size": "0.1.4", + "y18n": "3.2.1" } } } diff --git a/vendor/package.json b/vendor/package.json index 77fddd1d..d14f8bcb 100644 --- a/vendor/package.json +++ b/vendor/package.json @@ -10,6 +10,7 @@ "url": "https://github.com/MichMich/MagicMirror/issues" }, "dependencies": { + "@fortawesome/fontawesome-free": "^5.3.1", "font-awesome": "^4.7.0", "moment": "^2.17.1", "moment-timezone": "^0.5.11", diff --git a/vendor/vendor.js b/vendor/vendor.js index dee082d4..b2993e63 100644 --- a/vendor/vendor.js +++ b/vendor/vendor.js @@ -12,7 +12,9 @@ var vendor = { "moment-timezone.js" : "node_modules/moment-timezone/builds/moment-timezone-with-data.js", "weather-icons.css": "node_modules/weathericons/css/weather-icons.css", "weather-icons-wind.css": "node_modules/weathericons/css/weather-icons-wind.css", - "font-awesome.css": "node_modules/font-awesome/css/font-awesome.min.css", + "font-awesome.css": "node_modules/font-awesome/css/font-awesome.min.css", + "font-awesome5.css": "node_modules/@fortawesome/fontawesome-free/css/all.min.css", + "font-awesome5.v4shims.css": "node_modules/@fortawesome/fontawesome-free/css/v4-shims.min.css", "nunjucks.js": "node_modules/nunjucks/browser/nunjucks.min.js" }; diff --git a/vendor/yarn.lock b/vendor/yarn.lock index 095f7ed9..a04f2b63 100644 --- a/vendor/yarn.lock +++ b/vendor/yarn.lock @@ -2,17 +2,25 @@ # yarn lockfile v1 +"@fortawesome/fontawesome-free@^5.3.1": + version "5.3.1" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.3.1.tgz#5466b8f31c1f493a96754c1426c25796d0633dd9" + integrity sha512-jt6yi7iZVtkY9Jc6zFo+G2vqL4M81pb3IA3WmnnDt9ci7Asz+mPg4gbZL8pjx0nGFBsG0Bmd7BjU9IQkebqxFA== + a-sync-waterfall@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/a-sync-waterfall/-/a-sync-waterfall-1.0.0.tgz#38e8319d79379e24628845b53b96722b29e0e47c" + integrity sha1-OOgxnXk3niRiiEW1O5ZyKyng5Hw= abbrev@1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== ajv@^4.9.1: version "4.11.8" resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" + integrity sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY= dependencies: co "^4.6.0" json-stable-stringify "^1.0.1" @@ -20,10 +28,12 @@ ajv@^4.9.1: ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= anymatch@^1.3.0: version "1.3.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" + integrity sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA== dependencies: micromatch "^2.1.5" normalize-path "^2.0.0" @@ -31,10 +41,12 @@ anymatch@^1.3.0: aproba@^1.0.3: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== are-we-there-yet@~1.1.2: version "1.1.4" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" + integrity sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0= dependencies: delegates "^1.0.0" readable-stream "^2.0.6" @@ -42,78 +54,95 @@ are-we-there-yet@~1.1.2: arr-diff@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8= dependencies: arr-flatten "^1.0.1" arr-flatten@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== array-unique@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM= asap@^2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= asn1@~0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + integrity sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y= assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= assert-plus@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + integrity sha1-104bh+ev/A24qttwIfP+SBAasjQ= async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + integrity sha1-GdOGodntxufByF04iu28xW0zYC0= asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= aws-sign2@~0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + integrity sha1-FDQt0428yU0OW4fXY81jYSwOeU8= aws4@^1.2.1: version "1.6.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" + integrity sha1-g+9cqGCysy5KDe7e6MdxudtXRx4= balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= bcrypt-pbkdf@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" + integrity sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40= dependencies: tweetnacl "^0.14.3" binary-extensions@^1.0.0: version "1.11.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" + integrity sha1-RqoXUftqL5PuXmibsQh9SxTGwgU= block-stream@*: version "0.0.9" resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= dependencies: inherits "~2.0.0" boom@2.x.x: version "2.10.1" resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + integrity sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8= dependencies: hoek "2.x.x" brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" @@ -121,6 +150,7 @@ brace-expansion@^1.1.7: braces@^1.8.2: version "1.8.5" resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc= dependencies: expand-range "^1.8.1" preserve "^0.2.0" @@ -129,14 +159,17 @@ braces@^1.8.2: camelcase@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= chokidar@^1.6.0: version "1.7.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" + integrity sha1-eY5ol3gVHIB2tLNg5e3SjNortGg= dependencies: anymatch "^1.3.0" async-each "^1.0.0" @@ -152,6 +185,7 @@ chokidar@^1.6.0: cliui@^3.0.3: version "3.2.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= dependencies: string-width "^1.0.1" strip-ansi "^3.0.1" @@ -160,110 +194,133 @@ cliui@^3.0.3: co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= combined-stream@^1.0.5, combined-stream@~1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" + integrity sha1-cj599ugBrFYTETp+RFqbactjKBg= dependencies: delayed-stream "~1.0.0" concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= cryptiles@2.x.x: version "2.0.5" resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + integrity sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g= dependencies: boom "2.x.x" dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= dependencies: assert-plus "^1.0.0" debug@^2.2.0: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" decamelize@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= deep-extend@~0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" + integrity sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8= delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= detect-libc@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= ecc-jsbn@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + integrity sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU= dependencies: jsbn "~0.1.0" expand-brackets@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s= dependencies: is-posix-bracket "^0.1.0" expand-range@^1.8.1: version "1.8.2" resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc= dependencies: fill-range "^2.1.0" extend@~3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" + integrity sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ= extglob@^0.3.1: version "0.3.2" resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE= dependencies: is-extglob "^1.0.0" extsprintf@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= extsprintf@^1.2.0: version "1.4.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= filename-regex@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY= fill-range@^2.1.0: version "2.2.3" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + integrity sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM= dependencies: is-number "^2.1.0" isobject "^2.0.0" @@ -274,24 +331,29 @@ fill-range@^2.1.0: font-awesome@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz#8fa8cf0411a1a31afd07b06d2902bb9fc815a133" + integrity sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM= for-in@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= for-own@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= dependencies: for-in "^1.0.1" forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= form-data@~2.1.1: version "2.1.4" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" + integrity sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE= dependencies: asynckit "^0.4.0" combined-stream "^1.0.5" @@ -300,10 +362,12 @@ form-data@~2.1.1: fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= fsevents@^1.0.0: version "1.1.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" + integrity sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q== dependencies: nan "^2.3.0" node-pre-gyp "^0.6.39" @@ -311,6 +375,7 @@ fsevents@^1.0.0: fstream-ignore@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" + integrity sha1-nDHa40dnAY/h0kmyTa2mfQktoQU= dependencies: fstream "^1.0.0" inherits "2" @@ -319,6 +384,7 @@ fstream-ignore@^1.0.5: fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: version "1.0.11" resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" + integrity sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE= dependencies: graceful-fs "^4.1.2" inherits "~2.0.0" @@ -328,6 +394,7 @@ fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= dependencies: aproba "^1.0.3" console-control-strings "^1.0.0" @@ -341,12 +408,14 @@ gauge@~2.7.3: getpass@^0.1.1: version "0.1.7" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= dependencies: assert-plus "^1.0.0" glob-base@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= dependencies: glob-parent "^2.0.0" is-glob "^2.0.0" @@ -354,12 +423,14 @@ glob-base@^0.3.0: glob-parent@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= dependencies: is-glob "^2.0.0" glob@^7.0.5: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -371,14 +442,17 @@ glob@^7.0.5: graceful-fs@^4.1.2: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + integrity sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg= har-schema@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" + integrity sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4= har-validator@~4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" + integrity sha1-M0gdDxu/9gDdID11gSpqX7oALio= dependencies: ajv "^4.9.1" har-schema "^1.0.5" @@ -386,10 +460,12 @@ har-validator@~4.2.1: has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= hawk@3.1.3, hawk@~3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + integrity sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ= dependencies: boom "2.x.x" cryptiles "2.x.x" @@ -399,10 +475,12 @@ hawk@3.1.3, hawk@~3.1.3: hoek@2.x.x: version "2.16.3" resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + integrity sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0= http-signature@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + integrity sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8= dependencies: assert-plus "^0.2.0" jsprim "^1.2.2" @@ -411,6 +489,7 @@ http-signature@~1.1.0: inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= dependencies: once "^1.3.0" wrappy "1" @@ -418,118 +497,143 @@ inflight@^1.0.4: inherits@2, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== invert-kv@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= is-binary-path@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= dependencies: binary-extensions "^1.0.0" is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== is-dotfile@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= is-equal-shallow@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ= dependencies: is-primitive "^2.0.0" is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= is-extglob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= is-fullwidth-code-point@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= dependencies: number-is-nan "^1.0.0" is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= dependencies: is-extglob "^1.0.0" is-number@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= dependencies: kind-of "^3.0.2" is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= dependencies: kind-of "^3.0.2" is-posix-bracket@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q= is-primitive@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= 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= isarray@1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= dependencies: isarray "1.0.0" isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= json-stable-stringify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= dependencies: jsonify "~0.0.0" json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= jsprim@^1.2.2: version "1.4.1" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= dependencies: assert-plus "1.0.0" extsprintf "1.3.0" @@ -539,24 +643,28 @@ jsprim@^1.2.2: kind-of@^3.0.2: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= dependencies: is-buffer "^1.1.5" kind-of@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= dependencies: is-buffer "^1.1.5" lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= dependencies: invert-kv "^1.0.0" micromatch@^2.1.5: version "2.3.11" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= dependencies: arr-diff "^2.0.0" array-unique "^0.2.1" @@ -575,54 +683,65 @@ micromatch@^2.1.5: mime-db@~1.33.0: version "1.33.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" + integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ== mime-types@^2.1.12, mime-types@~2.1.7: version "2.1.18" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" + integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ== dependencies: mime-db "~1.33.0" minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= "mkdirp@>=0.5 0", mkdirp@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= dependencies: minimist "0.0.8" moment-timezone@^0.5.11: version "0.5.14" resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.14.tgz#4eb38ff9538b80108ba467a458f3ed4268ccfcb1" + integrity sha1-TrOP+VOLgBCLpGekWPPtQmjM/LE= dependencies: moment ">= 2.9.0" "moment@>= 2.9.0", moment@^2.17.1: version "2.22.0" resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.0.tgz#7921ade01017dd45186e7fee5f424f0b8663a730" + integrity sha512-1muXCh8jb1N/gHRbn9VDUBr0GYb8A/aVcHlII9QSB68a50spqEVLIGN6KVmCOnSvJrUhC0edGgKU5ofnGXdYdg== ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= nan@^2.3.0: version "2.10.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" + integrity sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA== node-pre-gyp@^0.6.39: version "0.6.39" resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" + integrity sha512-OsJV74qxnvz/AMGgcfZoDaeDXKD3oY3QVIbBmwszTFkRisTSXbMQyn4UWzUMOtA5SVhrBZOTp0wcoSBgfMfMmQ== dependencies: detect-libc "^1.0.2" hawk "3.1.3" @@ -639,6 +758,7 @@ node-pre-gyp@^0.6.39: nopt@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= dependencies: abbrev "1" osenv "^0.1.4" @@ -646,12 +766,14 @@ nopt@^4.0.1: normalize-path@^2.0.0, normalize-path@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= dependencies: remove-trailing-separator "^1.0.1" npmlog@^4.0.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== dependencies: are-we-there-yet "~1.1.2" console-control-strings "~1.1.0" @@ -661,10 +783,12 @@ npmlog@^4.0.2: number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= nunjucks@^3.0.1: version "3.1.2" resolved "https://registry.yarnpkg.com/nunjucks/-/nunjucks-3.1.2.tgz#85945a66bb8239bb37ecef83dab4cc1f152aabb9" + integrity sha512-pJXncV07mmiuIDL9OqdNkcpvifuDMzMq9qBQT9SHasAS7AEwzNp/r/jHNl+9O0+zsldcdWG9ZtXo/nwu2cTqXA== dependencies: a-sync-waterfall "^1.0.0" asap "^2.0.3" @@ -676,14 +800,17 @@ nunjucks@^3.0.1: oauth-sign@~0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + integrity sha1-Rqarfwrq2N6unsBWV4C31O/rnUM= object-assign@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= object.omit@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo= dependencies: for-own "^0.1.4" is-extendable "^0.1.1" @@ -691,26 +818,31 @@ object.omit@^2.0.0: once@^1.3.0, once@^1.3.3: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= dependencies: wrappy "1" os-homedir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= os-locale@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= dependencies: lcid "^1.0.0" os-tmpdir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= osenv@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== dependencies: os-homedir "^1.0.0" os-tmpdir "^1.0.0" @@ -718,6 +850,7 @@ osenv@^0.1.4: parse-glob@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw= dependencies: glob-base "^0.3.0" is-dotfile "^1.0.0" @@ -727,34 +860,42 @@ parse-glob@^3.0.4: path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= performance-now@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" + integrity sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU= postinstall-build@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/postinstall-build/-/postinstall-build-5.0.1.tgz#b917a9079b26178d9a24af5a5cd8cb4a991d11b9" + integrity sha1-uRepB5smF42aJK9aXNjLSpkdEbk= preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= 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" + integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= qs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" + integrity sha1-E+JtKK1rD/qpExLNO/cI7TUecjM= randomatic@^1.1.3: version "1.1.7" resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" + integrity sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how== dependencies: is-number "^3.0.0" kind-of "^4.0.0" @@ -762,6 +903,7 @@ randomatic@^1.1.3: rc@^1.1.7: version "1.2.6" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.6.tgz#eb18989c6d4f4f162c399f79ddd29f3835568092" + integrity sha1-6xiYnG1PTxYsOZ953dKfODVWgJI= dependencies: deep-extend "~0.4.0" ini "~1.3.0" @@ -771,6 +913,7 @@ rc@^1.1.7: readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4: version "2.3.5" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.5.tgz#b4f85003a938cbb6ecbce2a124fb1012bd1a838d" + integrity sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw== dependencies: core-util-is "~1.0.0" inherits "~2.0.3" @@ -783,6 +926,7 @@ readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4: readdirp@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" + integrity sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg= dependencies: graceful-fs "^4.1.2" minimatch "^3.0.2" @@ -792,24 +936,29 @@ readdirp@^2.0.0: regex-cache@^0.4.2: version "0.4.4" resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" + integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== dependencies: is-equal-shallow "^0.1.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" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= repeat-element@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + integrity sha1-7wiaF40Ug7quTZPrmLT55OEdmQo= repeat-string@^1.5.2: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= request@2.81.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" + integrity sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA= dependencies: aws-sign2 "~0.6.0" aws4 "^1.2.1" @@ -837,38 +986,46 @@ request@2.81.0: rimraf@2, rimraf@^2.5.1, rimraf@^2.6.1: version "2.6.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + integrity sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w== dependencies: glob "^7.0.5" safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" + integrity sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg== semver@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" + integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA== set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= set-immediate-shim@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + integrity sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E= signal-exit@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= sntp@1.x.x: version "1.0.9" resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + integrity sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg= dependencies: hoek "2.x.x" sshpk@^1.7.0: version "1.14.1" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.1.tgz#130f5975eddad963f1d56f92b9ac6c51fa9f83eb" + integrity sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s= dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -883,6 +1040,7 @@ sshpk@^1.7.0: string-width@^1.0.1, string-width@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= dependencies: code-point-at "^1.0.0" is-fullwidth-code-point "^1.0.0" @@ -891,26 +1049,31 @@ string-width@^1.0.1, string-width@^1.0.2: string_decoder@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" + integrity sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ== dependencies: safe-buffer "~5.1.0" stringstream@~0.0.4: version "0.0.5" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" + integrity sha1-TkhM1N5aC7vuGORjB3EKioFiGHg= strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= dependencies: ansi-regex "^2.0.0" strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= tar-pack@^3.4.0: version "3.4.1" resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" + integrity sha512-PPRybI9+jM5tjtCbN2cxmmRU7YmqT3Zv/UDy48tAh2XRkLa9bAORtSWLkVc13+GJF+cdTh1yEnHEk3cpTaL5Kg== dependencies: debug "^2.2.0" fstream "^1.0.10" @@ -924,6 +1087,7 @@ tar-pack@^3.4.0: tar@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + integrity sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE= dependencies: block-stream "*" fstream "^1.0.2" @@ -932,34 +1096,41 @@ tar@^2.2.1: tough-cookie@~2.3.0: version "2.3.4" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" + integrity sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA== dependencies: punycode "^1.4.1" tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= dependencies: safe-buffer "^5.0.1" tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= uid-number@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + integrity sha1-DqEOgDXo61uOREnwbaHHMGY7qoE= util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= uuid@^3.0.0: version "3.2.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" + integrity sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA== verror@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= dependencies: assert-plus "^1.0.0" core-util-is "1.0.2" @@ -968,20 +1139,24 @@ verror@1.10.0: weathericons@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/weathericons/-/weathericons-2.1.0.tgz#7453a1a35e200245e389fb5077d527eff30b73b4" + integrity sha1-dFOho14gAkXjiftQd9Un7/MLc7Q= wide-align@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" + integrity sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w== dependencies: string-width "^1.0.2" window-size@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" + integrity sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY= wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= dependencies: string-width "^1.0.1" strip-ansi "^3.0.1" @@ -989,14 +1164,17 @@ wrap-ansi@^2.0.0: wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= y18n@^3.2.0: version "3.2.1" resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= yargs@^3.32.0: version "3.32.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995" + integrity sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU= dependencies: camelcase "^2.0.1" cliui "^3.0.3" From 66b914774a7acad19ab41aa2ff92ce14b1785eed Mon Sep 17 00:00:00 2001 From: "P-DESK\\P-Storm" Date: Fri, 5 Oct 2018 01:24:47 +0200 Subject: [PATCH 27/47] Updated changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bc50dfa4..bf3c9d83 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). *This release is scheduled to be released on 2018-10-01.* ### Added +- Added font-awesome 5, still has 4 for backwards compatibility. ### Fixed From 53833ae0c331ba0c6275e8223016a8bf0e2ba3ea Mon Sep 17 00:00:00 2001 From: P-Storm Date: Fri, 5 Oct 2018 01:42:28 +0200 Subject: [PATCH 28/47] Spaces to tab --- vendor/vendor.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/vendor/vendor.js b/vendor/vendor.js index b2993e63..abbf1423 100644 --- a/vendor/vendor.js +++ b/vendor/vendor.js @@ -12,9 +12,9 @@ var vendor = { "moment-timezone.js" : "node_modules/moment-timezone/builds/moment-timezone-with-data.js", "weather-icons.css": "node_modules/weathericons/css/weather-icons.css", "weather-icons-wind.css": "node_modules/weathericons/css/weather-icons-wind.css", - "font-awesome.css": "node_modules/font-awesome/css/font-awesome.min.css", - "font-awesome5.css": "node_modules/@fortawesome/fontawesome-free/css/all.min.css", - "font-awesome5.v4shims.css": "node_modules/@fortawesome/fontawesome-free/css/v4-shims.min.css", + "font-awesome.css": "node_modules/font-awesome/css/font-awesome.min.css", + "font-awesome5.css": "node_modules/@fortawesome/fontawesome-free/css/all.min.css", + "font-awesome5.v4shims.css": "node_modules/@fortawesome/fontawesome-free/css/v4-shims.min.css", "nunjucks.js": "node_modules/nunjucks/browser/nunjucks.min.js" }; From e7df1c3e564eb99a30e6464cbb4f429ecb6d37aa Mon Sep 17 00:00:00 2001 From: Shade Alabsa Date: Sun, 7 Oct 2018 14:55:07 -0400 Subject: [PATCH 29/47] Added in 5 day forecast screenshot --- CHANGELOG.md | 1 + modules/default/weatherforecast/README.md | 5 +++++ .../weatherforecast/forecast_screenshot.png | Bin 0 -> 86206 bytes 3 files changed, 6 insertions(+) create mode 100644 modules/default/weatherforecast/forecast_screenshot.png diff --git a/CHANGELOG.md b/CHANGELOG.md index bc50dfa4..37de3a4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). *This release is scheduled to be released on 2018-10-01.* ### Added +- Screenshot to the weather forecast module ### Fixed diff --git a/modules/default/weatherforecast/README.md b/modules/default/weatherforecast/README.md index a487734f..841cf5bd 100644 --- a/modules/default/weatherforecast/README.md +++ b/modules/default/weatherforecast/README.md @@ -2,6 +2,11 @@ The `weatherforecast` module is one of the default modules of the MagicMirror. This module displays the weather forecast for the coming week, including an an icon to display the current conditions, the minimum temperature and the maximum temperature. +## Screenshots + +- 5 day forecast +![Screenshot of 5 day forecast](forecast_screenshot.png) + ## Using the module To use this module, add it to the modules array in the `config/config.js` file: diff --git a/modules/default/weatherforecast/forecast_screenshot.png b/modules/default/weatherforecast/forecast_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..b9022adfba0e5d2a59eed7962b154bb82503b5d6 GIT binary patch literal 86206 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

eXu_6BCJg&AV=|)Qca-RYEgi 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 AP5=M^ literal 0 HcmV?d00001 From 649b78e3f28eaa44575755f9ccfb1ce85f3f0824 Mon Sep 17 00:00:00 2001 From: Shade Alabsa Date: Sun, 7 Oct 2018 15:01:51 -0400 Subject: [PATCH 30/47] Added in screenshot for current weather module. --- CHANGELOG.md | 2 ++ modules/default/currentweather/README.md | 5 +++++ .../currentweather/weather_screenshot.png | Bin 0 -> 38566 bytes 3 files changed, 7 insertions(+) create mode 100644 modules/default/currentweather/weather_screenshot.png diff --git a/CHANGELOG.md b/CHANGELOG.md index bc50dfa4..165fe1dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Added +- Added in screenshot for the current weather + ### Fixed ### Updated diff --git a/modules/default/currentweather/README.md b/modules/default/currentweather/README.md index 030b04bf..9423c249 100644 --- a/modules/default/currentweather/README.md +++ b/modules/default/currentweather/README.md @@ -2,6 +2,11 @@ The `currentweather` module is one of the default modules of the MagicMirror. This module displays the current weather, including the windspeed, the sunset or sunrise time, the temperature and an icon to display the current conditions. +## Screenshot + +- Current weather screenshot +![Current Weather Screenshot](weather_screenshot.png) + ## Using the module To use this module, add it to the modules array in the `config/config.js` file: diff --git a/modules/default/currentweather/weather_screenshot.png b/modules/default/currentweather/weather_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..2f6e5257928e5750cd88e0396095ab779051725f GIT binary patch literal 38566 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

Wj}2#TxQ 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 literal 0 HcmV?d00001 From a0d92d764bda31194ecb4d671c51df92e5665403 Mon Sep 17 00:00:00 2001 From: Shade Alabsa Date: Sun, 7 Oct 2018 15:12:10 -0400 Subject: [PATCH 31/47] Added in screenshot --- CHANGELOG.md | 2 ++ modules/default/clock/README.md | 5 +++++ modules/default/clock/clock_screenshot.png | Bin 0 -> 30525 bytes 3 files changed, 7 insertions(+) create mode 100644 modules/default/clock/clock_screenshot.png diff --git a/CHANGELOG.md b/CHANGELOG.md index bc50dfa4..cb6e85bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Added +Added in a screenshot for the clock module + ### Fixed ### Updated diff --git a/modules/default/clock/README.md b/modules/default/clock/README.md index a231d73c..27e2ca5d 100644 --- a/modules/default/clock/README.md +++ b/modules/default/clock/README.md @@ -2,6 +2,11 @@ The `clock` module is one of the default modules of the MagicMirror. This module displays the current date and time. The information will be updated realtime. +## Screenshot + +- Current time +![Current time](clock_screenshot.png) + ## Using the module To use this module, add it to the modules array in the `config/config.js` file: diff --git a/modules/default/clock/clock_screenshot.png b/modules/default/clock/clock_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..a1f30f572f035a6308a4cd6ec3b161d488fb85d2 GIT binary patch literal 30525 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 Date: Sun, 7 Oct 2018 15:16:10 -0400 Subject: [PATCH 32/47] Added in compliments screenshot --- CHANGELOG.md | 2 ++ modules/default/compliments/README.md | 4 ++++ .../compliments/compliments_screenshot.png | Bin 0 -> 26157 bytes 3 files changed, 6 insertions(+) create mode 100644 modules/default/compliments/compliments_screenshot.png diff --git a/CHANGELOG.md b/CHANGELOG.md index bc50dfa4..cd4145d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Added +- Added in screenshot for the compliments module + ### Fixed ### Updated diff --git a/modules/default/compliments/README.md b/modules/default/compliments/README.md index 7220cd29..0eb01eec 100644 --- a/modules/default/compliments/README.md +++ b/modules/default/compliments/README.md @@ -2,6 +2,10 @@ The `compliments` module is one of the default modules of the MagicMirror. This module displays a random compliment. +## Screenshots +- Compliments Screenshot +![Compliments Screenshot](compliments_screenshot.png) + ## Using the module To use this module, add it to the modules array in the `config/config.js` file: diff --git a/modules/default/compliments/compliments_screenshot.png b/modules/default/compliments/compliments_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..12def320906445430b066a3a8186aa72013e6d74 GIT binary patch literal 26157 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 TT!qb982Hmx*H^1laftp8dqkjJ literal 0 HcmV?d00001 From d2b3efacf9be7e698925899353f79ed2a799ef12 Mon Sep 17 00:00:00 2001 From: Shade Alabsa Date: Sun, 7 Oct 2018 15:20:11 -0400 Subject: [PATCH 33/47] Added in screenshot for the newfeed module --- CHANGELOG.md | 2 ++ modules/default/newsfeed/README.md | 4 ++++ .../default/newsfeed/newsfeed_screenshot.png | Bin 0 -> 45375 bytes 3 files changed, 6 insertions(+) create mode 100644 modules/default/newsfeed/newsfeed_screenshot.png diff --git a/CHANGELOG.md b/CHANGELOG.md index bc50dfa4..f0afadc0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Added +- Added in screenshot for the new feed module + ### Fixed ### Updated diff --git a/modules/default/newsfeed/README.md b/modules/default/newsfeed/README.md index f4888ebb..c06c3f07 100644 --- a/modules/default/newsfeed/README.md +++ b/modules/default/newsfeed/README.md @@ -2,6 +2,10 @@ The `newsfeed ` module is one of the default modules of the MagicMirror. This module displays news headlines based on an RSS feed. Scrolling through news headlines happens time-based (````updateInterval````), but can also be controlled by sending news feed specific notifications to the module. +## Screenshot +- News Feed Screenshot using the NYT +![NYT News Feed Screenshot](newsfeed_screenshot.png) + ## Using the module ### Configuration diff --git a/modules/default/newsfeed/newsfeed_screenshot.png b/modules/default/newsfeed/newsfeed_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..f4391e7d2f70e810946a38a518c05467820dc157 GIT binary patch literal 45375 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 OOh?mDqw0pk!~X$Q>|log literal 0 HcmV?d00001 From db79e1271e0e58a5fb4c3f9eefe9eeb0823ff2d7 Mon Sep 17 00:00:00 2001 From: Dustin Date: Mon, 8 Oct 2018 21:11:28 +0200 Subject: [PATCH 34/47] (doc) showEnd config Add documentation for showEnd configuration --- modules/default/calendar/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/default/calendar/README.md b/modules/default/calendar/README.md index ae516a63..d49faf62 100755 --- a/modules/default/calendar/README.md +++ b/modules/default/calendar/README.md @@ -44,6 +44,7 @@ The following properties can be configured: | `dateFormat` | Format to use for the date of events (when using absolute dates)

**Possible values:** See [Moment.js formats](http://momentjs.com/docs/#/parsing/string-format/)
**Default value:** `MMM Do` (e.g. Jan 18th) | `fullDayEventDateFormat` | Format to use for the date of full day events (when using absolute dates)

**Possible values:** See [Moment.js formats](http://momentjs.com/docs/#/parsing/string-format/)
**Default value:** `MMM Do` (e.g. Jan 18th) | `timeFormat` | Display event times as absolute dates, or relative time, or using absolute date headers with times for each event next to it

**Possible values:** `absolute` or `relative` or `dateheaders`
**Default value:** `relative` +| `showEnd` | Display the end of a date as well

**Possible values:** `true` or `false`
**Default value:** `true` | `getRelative` | How much time (in hours) should be left until calendar events start getting relative?

**Possible values:** `0` (events stay absolute) - `48` (48 hours before the event starts)
**Default value:** `6` | `urgency` | When using a timeFormat of `absolute`, the `urgency` setting allows you to display events within a specific time frame as `relative`. This allows events within a certain time frame to be displayed as relative (in xx days) while others are displayed as absolute dates

**Possible values:** a positive integer representing the number of days for which you want a relative date, for example `7` (for 7 days)

**Default value:** `7` | `broadcastEvents` | If this property is set to true, the calendar will broadcast all the events to all other modules with the notification message: `CALENDAR_EVENTS`. The event objects are stored in an array and contain the following fields: `title`, `startDate`, `endDate`, `fullDayEvent`, `location` and `geo`.

**Possible values:** `true`, `false`

**Default value:** `true` From cdbf022ce0f0d141f1b6a0700d204dc9f76e8957 Mon Sep 17 00:00:00 2001 From: Dustin Date: Mon, 8 Oct 2018 21:19:55 +0200 Subject: [PATCH 35/47] Update CHANGELOG.md --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b19efad3..11cc16d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). --- +## [2.5.1] - 2018-10-08 + +### Added +- added `showEnd` documentation + +### Fixed + + + ## [2.5.0] - 2018-10-01 ### Added From 676a8a64210d6218f4e51819725a18cc467a3959 Mon Sep 17 00:00:00 2001 From: Shade Alabsa Date: Mon, 8 Oct 2018 19:40:54 -0400 Subject: [PATCH 36/47] Fixed README formatting errors. --- modules/default/compliments/README.md | 32 +++++++++++++-------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/modules/default/compliments/README.md b/modules/default/compliments/README.md index 0eb01eec..c89a3707 100644 --- a/modules/default/compliments/README.md +++ b/modules/default/compliments/README.md @@ -49,22 +49,22 @@ The `compliments` property contains an object with four arrays: morning
Date: Sun, 14 Oct 2018 15:08:55 -0500 Subject: [PATCH 37/47] Fix Broken Link http://www.openweathermap.org/help/city_list.txt is a dead link, suggest replacing with https://openweathermap.org/city --- config/config.js.sample | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/config.js.sample b/config/config.js.sample index 9ef8780b..f09b483f 100644 --- a/config/config.js.sample +++ b/config/config.js.sample @@ -69,7 +69,7 @@ var config = { header: "Weather Forecast", config: { location: "New York", - locationID: "5128581", //ID from http://www.openweathermap.org/help/city_list.txt + locationID: "5128581", //ID from https://openweathermap.org/city appid: "YOUR_OPENWEATHER_API_KEY" } }, From d3798344ddb35170f5750585eaa330a0f9735d75 Mon Sep 17 00:00:00 2001 From: Marcin Bielecki Date: Mon, 22 Oct 2018 14:21:44 +0200 Subject: [PATCH 38/47] fix polish translation --- CHANGELOG.md | 5 +++++ translations/pl.json | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b19efad3..138b9493 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). --- +## [2.5.1] - 2018- + +### Fixed +- Fixed Polish translation for Single Update Info + ## [2.5.0] - 2018-10-01 ### Added diff --git a/translations/pl.json b/translations/pl.json index 617288e9..09f44d88 100644 --- a/translations/pl.json +++ b/translations/pl.json @@ -28,7 +28,7 @@ "UPDATE_NOTIFICATION": "Dostępna jest aktualizacja MagicMirror².", "UPDATE_NOTIFICATION_MODULE": "Dostępna jest aktualizacja modułu {MODULE_NAME}.", - "UPDATE_INFO_SINGLE": "Zainstalowana wersja odbiega o {COMMIT_COUNT} commitów od gałęzi {BRANCH_NAME}.", + "UPDATE_INFO_SINGLE": "Zainstalowana wersja odbiega o {COMMIT_COUNT} commit od gałęzi {BRANCH_NAME}.", "UPDATE_INFO_MULTIPLE": "Zainstalowana wersja odbiega o {COMMIT_COUNT} commitów od gałęzi {BRANCH_NAME}.", "FEELS": "Odczuwalna" From 4fd87aca09c8058a19caf634d3ef6bb773e1385a Mon Sep 17 00:00:00 2001 From: Michael Teeuw Date: Fri, 26 Oct 2018 15:22:05 +0200 Subject: [PATCH 39/47] Change showEnd default to false. --- CHANGELOG.md | 1 + modules/default/calendar/calendar.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 37c459ba..8dd7227b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Fixed Polish translation for Single Update Info ### Updated +- The default calendar setting `showEnd` is changed to `false`. ## [2.5.0] - 2018-10-01 diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js index 43eaeaf9..34ec2548 100755 --- a/modules/default/calendar/calendar.js +++ b/modules/default/calendar/calendar.js @@ -27,7 +27,7 @@ Module.register("calendar", { dateFormat: "MMM Do", dateEndFormat: "HH:mm", fullDayEventDateFormat: "MMM Do", - showEnd: true, + showEnd: false, getRelative: 6, fadePoint: 0.25, // Start on 1/4th of the list. hidePrivate: false, From 85931155e6f6245e852674376fea80d454fff5a9 Mon Sep 17 00:00:00 2001 From: Thomas Bachmann Date: Mon, 29 Oct 2018 20:26:54 +0100 Subject: [PATCH 40/47] Fixed eslint issues .. as requested in Pull Request #1424 --- modules/default/calendar/calendarfetcher.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/default/calendar/calendarfetcher.js b/modules/default/calendar/calendarfetcher.js index d9106853..bf417afe 100644 --- a/modules/default/calendar/calendarfetcher.js +++ b/modules/default/calendar/calendarfetcher.js @@ -173,14 +173,14 @@ var CalendarFetcher = function(url, reloadInterval, excludedEvents, maximumEntri if (typeof event.rrule != "undefined" && !isFacebookBirthday) { var rule = event.rrule; - + // can cause problems with e.g. birthdays before 1900 - if(rule.origOptions && rule.origOptions.dtstart && rule.origOptions.dtstart.getFullYear() < 1900 || + if(rule.origOptions && rule.origOptions.dtstart && rule.origOptions.dtstart.getFullYear() < 1900 || rule.options && rule.options.dtstart && rule.options.dtstart.getFullYear() < 1900){ rule.origOptions.dtstart.setYear(1900); rule.options.dtstart.setYear(1900); } - + var dates = rule.between(today, future, true, limitFunction); for (var d in dates) { From 3bbdd08d24e766db1ac181468fc006ac71e99107 Mon Sep 17 00:00:00 2001 From: EdgardosReis Date: Wed, 7 Nov 2018 00:34:02 +0000 Subject: [PATCH 41/47] Portuguese translation for "Feels" --- CHANGELOG.md | 1 + translations/pt.json | 10 ++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 50e385cc..4a400836 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Screenshot for the clock module - Screenshot for the current weather - Screenshot for the weather forecast module +- Portuguese translation for "Feels" ### Fixed - Allow to parse recurring calendar events where the start date is before 1900 diff --git a/translations/pt.json b/translations/pt.json index e01d028c..2199f024 100644 --- a/translations/pt.json +++ b/translations/pt.json @@ -5,9 +5,9 @@ "DAYAFTERTOMORROW": "O dia depois de amanhã", "RUNNING": "Termina em", "EMPTY": "Sem eventos programados.", - + "WEEK": "Semana {weekNumber}", - + "N": "N", "NNE": "NNE", "NE": "NE", @@ -24,9 +24,11 @@ "WNW": "ONO", "NW": "NO", "NNW": "NNO", - + "UPDATE_NOTIFICATION": "Atualização do MagicMirror² disponível.", "UPDATE_NOTIFICATION_MODULE": "Atualização para o módulo {MODULE_NAME} disponível.", "UPDATE_INFO_SINGLE": "A instalação atual está {COMMIT_COUNT} commit atrasada no branch {BRANCH_NAME}.", - "UPDATE_INFO_MULTIPLE": "A instalação atual está {COMMIT_COUNT} commits atrasada no branch {BRANCH_NAME}." + "UPDATE_INFO_MULTIPLE": "A instalação atual está {COMMIT_COUNT} commits atrasada no branch {BRANCH_NAME}.", + + "FEELS": "Sentida" } From 78daa65d282824f1611692bc509d1b86b53b3177 Mon Sep 17 00:00:00 2001 From: Tom Wardill Date: Wed, 7 Nov 2018 18:44:32 +0000 Subject: [PATCH 42/47] Ignore rrule errors --- modules/default/calendar/calendarfetcher.js | 2 +- modules/default/calendar/vendor/ical.js/node-ical.js | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/modules/default/calendar/calendarfetcher.js b/modules/default/calendar/calendarfetcher.js index bf417afe..a1e4aa8d 100644 --- a/modules/default/calendar/calendarfetcher.js +++ b/modules/default/calendar/calendarfetcher.js @@ -171,7 +171,7 @@ var CalendarFetcher = function(url, reloadInterval, excludedEvents, maximumEntri var geo = event.geo || false; var description = event.description || false; - if (typeof event.rrule != "undefined" && !isFacebookBirthday) { + if (typeof event.rrule != "undefined" && event.rrule != null && !isFacebookBirthday) { var rule = event.rrule; // can cause problems with e.g. birthdays before 1900 diff --git a/modules/default/calendar/vendor/ical.js/node-ical.js b/modules/default/calendar/vendor/ical.js/node-ical.js index c954e722..e42ce895 100644 --- a/modules/default/calendar/vendor/ical.js/node-ical.js +++ b/modules/default/calendar/vendor/ical.js/node-ical.js @@ -44,7 +44,13 @@ ical.objectHandlers['END'] = function(val, params, curr, stack){ rule += ' EXDATE:' + curr.exdates[i].toISOString().replace(/[-:]/g, ''); rule = rule.replace(/\.[0-9]{3}/, ''); } - curr.rrule = rrulestr(rule); + try { + curr.rrule = rrulestr(rule); + } + catch(err) { + console.log("Unrecognised element in calendar feed, ignoring: " + rule); + curr.rrule = null; + } } return originalEnd.call(this, val, params, curr, stack); } From 390b3b173b2f35ef8e5b2f8e122607b9552cda53 Mon Sep 17 00:00:00 2001 From: Tom Wardill Date: Wed, 7 Nov 2018 18:53:54 +0000 Subject: [PATCH 43/47] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 50e385cc..7d6dc122 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Fixed - Allow to parse recurring calendar events where the start date is before 1900 - Fixed Polish translation for Single Update Info +- Ignore entries with unparseable details in the calendar module ### Updated - The default calendar setting `showEnd` is changed to `false`. From cc96b86b3a9dbd00c65ebe6b43570f082862c1b5 Mon Sep 17 00:00:00 2001 From: Dirk Date: Wed, 21 Nov 2018 09:32:56 +0100 Subject: [PATCH 44/47] Fading for dateheaders Included fading for dateheaders option Removed unnecessary switch statement in dateheaders option --- modules/default/calendar/calendar.js | 47 ++++++++++++---------------- 1 file changed, 20 insertions(+), 27 deletions(-) diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js index 34ec2548..2897e64f 100755 --- a/modules/default/calendar/calendar.js +++ b/modules/default/calendar/calendar.js @@ -144,6 +144,15 @@ Module.register("calendar", { return wrapper; } + if (this.config.fade && this.config.fadePoint < 1) { + if (this.config.fadePoint < 0) { + this.config.fadePoint = 0; + } + var startFade = events.length * this.config.fadePoint; + var fadeSteps = events.length - startFade; + } + + var currentFadeStep = 0; var lastSeenDate = ""; for (var e in events) { @@ -160,6 +169,10 @@ Module.register("calendar", { dateRow.appendChild(dateCell); wrapper.appendChild(dateRow); + if (e >= startFade) { //fading + currentFadeStep = e - startFade; + dateRow.style.opacity = 1 - (1 / fadeSteps * currentFadeStep); + } lastSeenDate = dateAsString; } @@ -242,22 +255,7 @@ Module.register("calendar", { timeWrapper.className = "time light " + timeClass; timeWrapper.align = "left"; timeWrapper.style.paddingLeft = "2px"; - var timeFormatString = ""; - switch (config.timeFormat) { - case 12: { - timeFormatString = "h:mm A"; - break; - } - case 24: { - timeFormatString = "HH:mm"; - break; - } - default: { - timeFormatString = "HH:mm"; - break; - } - } - timeWrapper.innerHTML = moment(event.startDate, "x").format(timeFormatString); + timeWrapper.innerHTML = moment(event.startDate, "x").format('LT'); eventWrapper.appendChild(timeWrapper); titleWrapper.align = "right"; } @@ -275,6 +273,8 @@ Module.register("calendar", { var oneHour = oneMinute * 60; var oneDay = oneHour * 24; if (event.fullDayEvent) { + //subtract one second so that fullDayEvents end at 23:59:59, and not at 0:00:00 one the next day + event.endDate -= oneSecond; if (event.today) { timeWrapper.innerHTML = this.capFirst(this.translate("TODAY")); } else if (event.startDate - now < oneDay && event.startDate - now > 0) { @@ -366,19 +366,12 @@ Module.register("calendar", { wrapper.appendChild(eventWrapper); // Create fade effect. - if (this.config.fade && this.config.fadePoint < 1) { - if (this.config.fadePoint < 0) { - this.config.fadePoint = 0; - } - var startingPoint = events.length * this.config.fadePoint; - var steps = events.length - startingPoint; - if (e >= startingPoint) { - var currentStep = e - startingPoint; - eventWrapper.style.opacity = 1 - (1 / steps * currentStep); - } + if (e >= startFade) { + currentFadeStep = e - startFade; + eventWrapper.style.opacity = 1 - (1 / fadeSteps * currentFadeStep); } } - + return wrapper; }, From 07770601f63aedc2cdf17535c498c098dbd6e453 Mon Sep 17 00:00:00 2001 From: Dirk Date: Wed, 21 Nov 2018 10:24:53 +0100 Subject: [PATCH 45/47] Update CHANGELOG.md - Fading for dateheaders timeFormat in Calendar [#1464](https://github.com/MichMich/MagicMirror/issues/1464) - Bug showing FullDayEvents one day too long in calendar fixe --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 302f1215..aaf036aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,11 +19,13 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Screenshot for the current weather - Screenshot for the weather forecast module - Portuguese translation for "Feels" +- Fading for dateheaders timeFormat in Calendar [#1464](https://github.com/MichMich/MagicMirror/issues/1464) ### Fixed - Allow to parse recurring calendar events where the start date is before 1900 - Fixed Polish translation for Single Update Info - Ignore entries with unparseable details in the calendar module +- Bug showing FullDayEvents one day too long in calendar fixed ### Updated - The default calendar setting `showEnd` is changed to `false`. From af459a5a2868fe6dd4b854655dfbcf03813ff49f Mon Sep 17 00:00:00 2001 From: Dirk Date: Wed, 21 Nov 2018 12:10:39 +0100 Subject: [PATCH 46/47] formatting corrected Corrected formatting due to Travis CI errors --- modules/default/calendar/calendar.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js index 2897e64f..38b04269 100755 --- a/modules/default/calendar/calendar.js +++ b/modules/default/calendar/calendar.js @@ -151,7 +151,7 @@ Module.register("calendar", { var startFade = events.length * this.config.fadePoint; var fadeSteps = events.length - startFade; } - + var currentFadeStep = 0; var lastSeenDate = ""; @@ -255,7 +255,7 @@ Module.register("calendar", { timeWrapper.className = "time light " + timeClass; timeWrapper.align = "left"; timeWrapper.style.paddingLeft = "2px"; - timeWrapper.innerHTML = moment(event.startDate, "x").format('LT'); + timeWrapper.innerHTML = moment(event.startDate, "x").format("LT"); eventWrapper.appendChild(timeWrapper); titleWrapper.align = "right"; } @@ -274,7 +274,7 @@ Module.register("calendar", { var oneDay = oneHour * 24; if (event.fullDayEvent) { //subtract one second so that fullDayEvents end at 23:59:59, and not at 0:00:00 one the next day - event.endDate -= oneSecond; + event.endDate -= oneSecond; if (event.today) { timeWrapper.innerHTML = this.capFirst(this.translate("TODAY")); } else if (event.startDate - now < oneDay && event.startDate - now > 0) { @@ -371,7 +371,7 @@ Module.register("calendar", { eventWrapper.style.opacity = 1 - (1 / fadeSteps * currentFadeStep); } } - + return wrapper; }, From 5c549ec6e50c34674ebdff58c8f4ef09893653c0 Mon Sep 17 00:00:00 2001 From: Alexis Iglauer Date: Thu, 22 Nov 2018 23:28:04 +0100 Subject: [PATCH 47/47] Update README.md Typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9459b5db..dfb24d16 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ MagicMirror² focuses on a modular plugin system and uses [Electron](http://elec *Electron*, the app wrapper around MagicMirror², only supports the Raspberry Pi 2/3. The Raspberry Pi 0/1 is currently **not** supported. If you want to run this on a Raspberry Pi 1, use the [server only](#server-only) feature and setup a fullscreen browser yourself. (Yes, people have managed to run MM² also on a Pi0, so if you insist, search in the forums.) -Note that you will need to install the lastest full version of Raspbian, **don't use the Lite version**. +Note that you will need to install the latest full version of Raspbian, **don't use the Lite version**. Execute the following command on your Raspberry Pi to install MagicMirror²: