diff --git a/imports/plugins/included/analytics/server/i18n/ar.json b/imports/plugins/included/analytics/server/i18n/ar.json
index 1a9a87a9cc7..c310d00272c 100644
--- a/imports/plugins/included/analytics/server/i18n/ar.json
+++ b/imports/plugins/included/analytics/server/i18n/ar.json
@@ -11,6 +11,15 @@
},
"settings": {
"analyticsSettingsLabel": "إعدادات Analytics"
+ },
+ "googleAnalytics": {
+ "label": "تحليلات كوكل"
+ },
+ "mixpanel": {
+ "label": "Mixpanel"
+ },
+ "segment": {
+ "label": "قطعة"
}
}
}
diff --git a/imports/plugins/included/analytics/server/i18n/bg.json b/imports/plugins/included/analytics/server/i18n/bg.json
index 795db9b0e23..fb5d383aac0 100644
--- a/imports/plugins/included/analytics/server/i18n/bg.json
+++ b/imports/plugins/included/analytics/server/i18n/bg.json
@@ -11,6 +11,15 @@
},
"settings": {
"analyticsSettingsLabel": "Настройки на Google Анализ"
+ },
+ "googleAnalytics": {
+ "label": "Google Анализ"
+ },
+ "mixpanel": {
+ "label": "Mixpanel"
+ },
+ "segment": {
+ "label": "сегмент"
}
}
}
diff --git a/imports/plugins/included/analytics/server/i18n/cs.json b/imports/plugins/included/analytics/server/i18n/cs.json
index 066701b66b8..578dfd73308 100644
--- a/imports/plugins/included/analytics/server/i18n/cs.json
+++ b/imports/plugins/included/analytics/server/i18n/cs.json
@@ -11,6 +11,15 @@
},
"settings": {
"analyticsSettingsLabel": "Nastavení Analytics"
+ },
+ "googleAnalytics": {
+ "label": "Google Analytics"
+ },
+ "mixpanel": {
+ "label": "Mixpanel"
+ },
+ "segment": {
+ "label": "Segment"
}
}
}
diff --git a/imports/plugins/included/analytics/server/i18n/de.json b/imports/plugins/included/analytics/server/i18n/de.json
index f012881f3f0..cf0c612e1b3 100644
--- a/imports/plugins/included/analytics/server/i18n/de.json
+++ b/imports/plugins/included/analytics/server/i18n/de.json
@@ -11,6 +11,15 @@
},
"settings": {
"analyticsSettingsLabel": "Analytics-Einstellungen"
+ },
+ "googleAnalytics": {
+ "label": "Google Analytics"
+ },
+ "mixpanel": {
+ "label": "Mixpanel"
+ },
+ "segment": {
+ "label": "Segment"
}
}
}
diff --git a/imports/plugins/included/analytics/server/i18n/el.json b/imports/plugins/included/analytics/server/i18n/el.json
index 3225fa7da1c..c7328a990d5 100644
--- a/imports/plugins/included/analytics/server/i18n/el.json
+++ b/imports/plugins/included/analytics/server/i18n/el.json
@@ -11,6 +11,15 @@
},
"settings": {
"analyticsSettingsLabel": "Ρυθμίσεις Analytics"
+ },
+ "googleAnalytics": {
+ "label": "Google Analytics"
+ },
+ "mixpanel": {
+ "label": "Mixpanel"
+ },
+ "segment": {
+ "label": "Τμήμα"
}
}
}
diff --git a/imports/plugins/included/analytics/server/i18n/en.json b/imports/plugins/included/analytics/server/i18n/en.json
index b3fe06cfb74..40d4dde9240 100644
--- a/imports/plugins/included/analytics/server/i18n/en.json
+++ b/imports/plugins/included/analytics/server/i18n/en.json
@@ -11,6 +11,15 @@
},
"settings": {
"analyticsSettingsLabel": "Analytics"
+ },
+ "googleAnalytics": {
+ "label": "Google Analytics"
+ },
+ "mixpanel": {
+ "label": "Mixpanel"
+ },
+ "segment": {
+ "label": "Segment"
}
}
}
diff --git a/imports/plugins/included/analytics/server/i18n/es.json b/imports/plugins/included/analytics/server/i18n/es.json
index 8b98d3182d9..842ab19c9c5 100644
--- a/imports/plugins/included/analytics/server/i18n/es.json
+++ b/imports/plugins/included/analytics/server/i18n/es.json
@@ -11,6 +11,15 @@
},
"settings": {
"analyticsSettingsLabel": "Ajustes de Google Analytics"
+ },
+ "googleAnalytics": {
+ "label": "Google Analítico"
+ },
+ "mixpanel": {
+ "label": "Mixpanel"
+ },
+ "segment": {
+ "label": "Segmento"
}
}
}
diff --git a/imports/plugins/included/analytics/server/i18n/fr.json b/imports/plugins/included/analytics/server/i18n/fr.json
index 54a5a8aeef7..31abda27641 100644
--- a/imports/plugins/included/analytics/server/i18n/fr.json
+++ b/imports/plugins/included/analytics/server/i18n/fr.json
@@ -11,6 +11,15 @@
},
"settings": {
"analyticsSettingsLabel": "Paramètres Analytics"
+ },
+ "googleAnalytics": {
+ "label": "Google Analytics"
+ },
+ "mixpanel": {
+ "label": "Mixpanel"
+ },
+ "segment": {
+ "label": "Segment"
}
}
}
diff --git a/imports/plugins/included/analytics/server/i18n/he.json b/imports/plugins/included/analytics/server/i18n/he.json
index 530d41d3fb4..11a44efa1fb 100644
--- a/imports/plugins/included/analytics/server/i18n/he.json
+++ b/imports/plugins/included/analytics/server/i18n/he.json
@@ -1,5 +1,13 @@
[{
"i18n": "he",
"ns": "reaction-analytics",
- "translation": { }
+ "translation": {
+ "reaction-analytics": {
+ "admin": {
+ "mixpanel": {
+ "label": "Mixpanel"
+ }
+ }
+ }
+ }
}]
diff --git a/imports/plugins/included/analytics/server/i18n/hr.json b/imports/plugins/included/analytics/server/i18n/hr.json
index 6836bff0ecd..2d32c4820b8 100644
--- a/imports/plugins/included/analytics/server/i18n/hr.json
+++ b/imports/plugins/included/analytics/server/i18n/hr.json
@@ -11,6 +11,15 @@
},
"settings": {
"analyticsSettingsLabel": "Postavke Analytics"
+ },
+ "googleAnalytics": {
+ "label": "Google Analytics"
+ },
+ "mixpanel": {
+ "label": "Mixpanel"
+ },
+ "segment": {
+ "label": "Segment"
}
}
}
diff --git a/imports/plugins/included/analytics/server/i18n/hu.json b/imports/plugins/included/analytics/server/i18n/hu.json
index 111057ef148..fd640d9826d 100644
--- a/imports/plugins/included/analytics/server/i18n/hu.json
+++ b/imports/plugins/included/analytics/server/i18n/hu.json
@@ -11,6 +11,15 @@
},
"settings": {
"analyticsSettingsLabel": "Analytics beállításai"
+ },
+ "googleAnalytics": {
+ "label": "A Google Analytics"
+ },
+ "mixpanel": {
+ "label": "Mixpanel"
+ },
+ "segment": {
+ "label": "szegmens"
}
}
}
diff --git a/imports/plugins/included/analytics/server/i18n/it.json b/imports/plugins/included/analytics/server/i18n/it.json
index b3616a48b1d..cc90bf2d733 100644
--- a/imports/plugins/included/analytics/server/i18n/it.json
+++ b/imports/plugins/included/analytics/server/i18n/it.json
@@ -11,6 +11,15 @@
},
"settings": {
"analyticsSettingsLabel": "Impostazioni Analytics"
+ },
+ "googleAnalytics": {
+ "label": "statistiche di Google"
+ },
+ "mixpanel": {
+ "label": "Mixpanel"
+ },
+ "segment": {
+ "label": "Segmento"
}
}
}
diff --git a/imports/plugins/included/analytics/server/i18n/my.json b/imports/plugins/included/analytics/server/i18n/my.json
index 3c8395abd60..7e39156cec3 100644
--- a/imports/plugins/included/analytics/server/i18n/my.json
+++ b/imports/plugins/included/analytics/server/i18n/my.json
@@ -11,6 +11,15 @@
},
"settings": {
"analyticsSettingsLabel": "analytics ချိန်ညှိ"
+ },
+ "googleAnalytics": {
+ "label": "Google Analytics"
+ },
+ "mixpanel": {
+ "label": "Mixpanel"
+ },
+ "segment": {
+ "label": "အပိုင်းအစိတ်"
}
}
}
diff --git a/imports/plugins/included/analytics/server/i18n/nb.json b/imports/plugins/included/analytics/server/i18n/nb.json
index 2a4717c22a1..7d9d9700590 100644
--- a/imports/plugins/included/analytics/server/i18n/nb.json
+++ b/imports/plugins/included/analytics/server/i18n/nb.json
@@ -1,5 +1,16 @@
[{
"i18n": "nb",
"ns": "reaction-analytics",
- "translation": { }
+ "translation": {
+ "reaction-analytics": {
+ "admin": {
+ "googleAnalytics": {
+ "label": "Google Analytics"
+ },
+ "mixpanel": {
+ "label": "Mixpanel"
+ }
+ }
+ }
+ }
}]
diff --git a/imports/plugins/included/analytics/server/i18n/nl.json b/imports/plugins/included/analytics/server/i18n/nl.json
index aef96a87208..d75e3911e3d 100644
--- a/imports/plugins/included/analytics/server/i18n/nl.json
+++ b/imports/plugins/included/analytics/server/i18n/nl.json
@@ -11,6 +11,15 @@
},
"settings": {
"analyticsSettingsLabel": "Analytics-instellingen"
+ },
+ "googleAnalytics": {
+ "label": "Google Analytics"
+ },
+ "mixpanel": {
+ "label": "Mixpanel"
+ },
+ "segment": {
+ "label": "Segment"
}
}
}
diff --git a/imports/plugins/included/analytics/server/i18n/pl.json b/imports/plugins/included/analytics/server/i18n/pl.json
index aeedf61e90c..f905532e542 100644
--- a/imports/plugins/included/analytics/server/i18n/pl.json
+++ b/imports/plugins/included/analytics/server/i18n/pl.json
@@ -11,6 +11,15 @@
},
"settings": {
"analyticsSettingsLabel": "Ustawienia Analytics"
+ },
+ "googleAnalytics": {
+ "label": "Google Analytics"
+ },
+ "mixpanel": {
+ "label": "Mixpanel"
+ },
+ "segment": {
+ "label": "Człon"
}
}
}
diff --git a/imports/plugins/included/analytics/server/i18n/pt.json b/imports/plugins/included/analytics/server/i18n/pt.json
index 21bd9d24c1e..2dd4d7331e3 100644
--- a/imports/plugins/included/analytics/server/i18n/pt.json
+++ b/imports/plugins/included/analytics/server/i18n/pt.json
@@ -11,6 +11,15 @@
},
"settings": {
"analyticsSettingsLabel": "Configurações do Google Analytics"
+ },
+ "googleAnalytics": {
+ "label": "Google Analytics"
+ },
+ "mixpanel": {
+ "label": "Mixpanel"
+ },
+ "segment": {
+ "label": "Segmento"
}
}
}
diff --git a/imports/plugins/included/analytics/server/i18n/ro.json b/imports/plugins/included/analytics/server/i18n/ro.json
index 047f2443463..f21b05233dd 100644
--- a/imports/plugins/included/analytics/server/i18n/ro.json
+++ b/imports/plugins/included/analytics/server/i18n/ro.json
@@ -11,6 +11,15 @@
},
"settings": {
"analyticsSettingsLabel": "Setări Google Analytics"
+ },
+ "googleAnalytics": {
+ "label": "Google Analytics"
+ },
+ "mixpanel": {
+ "label": "Mixpanel"
+ },
+ "segment": {
+ "label": "Segment"
}
}
}
diff --git a/imports/plugins/included/analytics/server/i18n/ru.json b/imports/plugins/included/analytics/server/i18n/ru.json
index 0dff1fa44dd..b5be34afd56 100644
--- a/imports/plugins/included/analytics/server/i18n/ru.json
+++ b/imports/plugins/included/analytics/server/i18n/ru.json
@@ -11,6 +11,15 @@
},
"settings": {
"analyticsSettingsLabel": "Настройки Google Analytics"
+ },
+ "googleAnalytics": {
+ "label": "Гугл Аналитика"
+ },
+ "mixpanel": {
+ "label": "Mixpanel"
+ },
+ "segment": {
+ "label": "сегмент"
}
}
}
diff --git a/imports/plugins/included/analytics/server/i18n/sl.json b/imports/plugins/included/analytics/server/i18n/sl.json
index 226e2a5524c..808f5f0e3a4 100644
--- a/imports/plugins/included/analytics/server/i18n/sl.json
+++ b/imports/plugins/included/analytics/server/i18n/sl.json
@@ -11,6 +11,15 @@
},
"settings": {
"analyticsSettingsLabel": "Nastavitve Analytics"
+ },
+ "googleAnalytics": {
+ "label": "Google Analytics"
+ },
+ "mixpanel": {
+ "label": "Mixpanel"
+ },
+ "segment": {
+ "label": "segment"
}
}
}
diff --git a/imports/plugins/included/analytics/server/i18n/sv.json b/imports/plugins/included/analytics/server/i18n/sv.json
index becb5b13f1d..ae640ccfddc 100644
--- a/imports/plugins/included/analytics/server/i18n/sv.json
+++ b/imports/plugins/included/analytics/server/i18n/sv.json
@@ -11,6 +11,15 @@
},
"settings": {
"analyticsSettingsLabel": "Inställningar för Analytics"
+ },
+ "googleAnalytics": {
+ "label": "Google Analytics"
+ },
+ "mixpanel": {
+ "label": "Mixpanel"
+ },
+ "segment": {
+ "label": "Segmentet"
}
}
}
diff --git a/imports/plugins/included/analytics/server/i18n/tr.json b/imports/plugins/included/analytics/server/i18n/tr.json
index 10249555bfb..5da0306b017 100644
--- a/imports/plugins/included/analytics/server/i18n/tr.json
+++ b/imports/plugins/included/analytics/server/i18n/tr.json
@@ -11,6 +11,15 @@
},
"settings": {
"analyticsSettingsLabel": "Analytics Ayarları"
+ },
+ "googleAnalytics": {
+ "label": "Google Analytics"
+ },
+ "mixpanel": {
+ "label": "Mixpanel"
+ },
+ "segment": {
+ "label": "bölüm"
}
}
}
diff --git a/imports/plugins/included/analytics/server/i18n/vi.json b/imports/plugins/included/analytics/server/i18n/vi.json
index 894c9c421f8..49fb16497bf 100644
--- a/imports/plugins/included/analytics/server/i18n/vi.json
+++ b/imports/plugins/included/analytics/server/i18n/vi.json
@@ -11,6 +11,15 @@
},
"settings": {
"analyticsSettingsLabel": "Cài đặt Analytics"
+ },
+ "googleAnalytics": {
+ "label": "Google Analytics"
+ },
+ "mixpanel": {
+ "label": "Mixpanel"
+ },
+ "segment": {
+ "label": "Phân đoạn"
}
}
}
diff --git a/imports/plugins/included/analytics/server/i18n/zh.json b/imports/plugins/included/analytics/server/i18n/zh.json
index a638ec897ec..db02f5eba2e 100644
--- a/imports/plugins/included/analytics/server/i18n/zh.json
+++ b/imports/plugins/included/analytics/server/i18n/zh.json
@@ -11,6 +11,15 @@
},
"settings": {
"analyticsSettingsLabel": "Analytics设置"
+ },
+ "googleAnalytics": {
+ "label": "谷歌分析"
+ },
+ "mixpanel": {
+ "label": "Mixpanel"
+ },
+ "segment": {
+ "label": "分割"
}
}
}
diff --git a/imports/plugins/included/default-theme/client/styles/badge.less b/imports/plugins/included/default-theme/client/styles/badge.less
new file mode 100644
index 00000000000..fadb7d8860f
--- /dev/null
+++ b/imports/plugins/included/default-theme/client/styles/badge.less
@@ -0,0 +1,101 @@
+// All Badges
+.rui.badge, .badge {
+ box-shadow: none;
+ font-weight: 600;
+ border-width: 1px;
+}
+
+
+// Badge Sizes
+.rui.badge-large {
+ height: 30px;
+ font-size: 14px;
+ padding-top: 7px;
+ padding-bottom: 7px;
+ padding-left: 15px;
+ padding-right: 15px;
+ border-radius: 2em;
+}
+
+
+// Badge Colors
+.rui.badge-basic {
+ background: @white;
+ border: 1px solid @black60;
+ color: @black60;
+}
+.rui.badge-cta {
+ background: @brand-cta;
+ border: 1px solid @brand-cta;
+}
+
+.rui.badge-danger {
+ background: @brand-danger;
+ border: 1px solid @brand-danger;
+}
+
+.rui.badge-default {
+ background: @brand-default;
+ border: 1px solid @brand-default;
+}
+
+.rui.badge-info {
+ background-color: @brand-info;
+ border: 1px solid @brand-info;
+}
+
+.rui.badge-primary {
+ background: @brand-primary-dark;
+ border: 1px solid @brand-primary-dark;
+}
+
+.rui.badge-success {
+ background-color: @brand-success;
+ border: 1px solid @brand-success;
+}
+
+.rui.badge-warning {
+ background-color: @brand-warning;
+ border: 1px solid @brand-warning;
+}
+
+
+//TODO: Update badges for low inventory / sold out
+
+.rui.badge-low-inv-warning {
+ .label-variant(@label-warning-bg);
+}
+
+
+/* Badge Colors
+// Contextual variations of badges
+// Bootstrap 3.0 removed contexts for badges, we re-introduce them, based on what is done for labels
+*/
+// Existing badges
+.badge-default {
+ .label-variant(@label-default-bg);
+}
+
+.badge-primary {
+ .label-variant(@label-primary-bg);
+}
+
+.badge-success {
+ .label-variant(@label-success-bg);
+}
+
+.badge-info {
+ .label-variant(@label-info-bg);
+}
+
+.badge-warning {
+ .label-variant(@label-warning-bg);
+}
+
+.badge-danger {
+ .label-variant(@label-danger-bg);
+}
+
+.badge-low-inv-warning {
+ .label-variant(@label-warning-bg);
+}
diff --git a/imports/plugins/included/default-theme/client/styles/base.less b/imports/plugins/included/default-theme/client/styles/base.less
index 08bd7e71e4a..d2522a49edf 100644
--- a/imports/plugins/included/default-theme/client/styles/base.less
+++ b/imports/plugins/included/default-theme/client/styles/base.less
@@ -94,35 +94,3 @@ a {
white-space: nowrap;
overflow: hidden;
}
-
-/* Badge Colors
-// Contextual variations of badges
-// Bootstrap 3.0 removed contexts for badges, we re-introduce them, based on what is done for labels
-*/
-.badge-default {
- .label-variant(@label-default-bg);
-}
-
-.badge-primary {
- .label-variant(@label-primary-bg);
-}
-
-.badge-success {
- .label-variant(@label-success-bg);
-}
-
-.badge-info {
- .label-variant(@label-info-bg);
-}
-
-.badge-warning {
- .label-variant(@label-warning-bg);
-}
-
-.badge-danger {
- .label-variant(@label-danger-bg);
-}
-
-.badge-low-inv-warning {
- .label-variant(@label-warning-bg);
-}
diff --git a/imports/plugins/included/default-theme/client/styles/buttonSelect.less b/imports/plugins/included/default-theme/client/styles/buttonSelect.less
index 4f0213e5b3e..7fbef00409d 100644
--- a/imports/plugins/included/default-theme/client/styles/buttonSelect.less
+++ b/imports/plugins/included/default-theme/client/styles/buttonSelect.less
@@ -92,6 +92,12 @@
border-color: @btn-default-bg;
}
+.button-select.bg-success {
+ background-color: @btn-success-bg;
+ color: @btn-success-color;
+ border-color: @btn-success-bg;
+}
+
.button-select.bg-cta {
background-color: @btn-cta-bg;
color: @btn-cta-color;
@@ -110,6 +116,10 @@
color: @btn-default-bg;
}
+.button-select.bg-success i {
+ color: @btn-success-bg;
+}
+
.button-select.bg-danger i {
color: @btn-danger-bg;
}
@@ -132,6 +142,10 @@
background: darken(@btn-default-bg, 5%)
}
+.button-select.bg-success:hover {
+ background: darken(@btn-success-bg, 5%)
+}
+
.button-select.bg-warning:hover {
background: darken(@btn-warning-bg, 5%)
}
@@ -146,4 +160,4 @@
.button-select.bg-cta:hover {
background: darken(@btn-cta-bg, 5%)
-}
\ No newline at end of file
+}
diff --git a/imports/plugins/included/default-theme/client/styles/cart/addressBook.less b/imports/plugins/included/default-theme/client/styles/cart/addressBook.less
index af80da20669..b214731208d 100644
--- a/imports/plugins/included/default-theme/client/styles/cart/addressBook.less
+++ b/imports/plugins/included/default-theme/client/styles/cart/addressBook.less
@@ -127,3 +127,50 @@
max-height: 44px;
}
}
+
+.address-validation-warning {
+ border: 1px solid;
+ background-color: #B0D1F0;
+ padding: 20px;
+}
+
+.address-validation-warning > h5 {
+ font-weight: 700;
+}
+
+.address-invalid-line {
+ border: 0;
+ font-weight: 700;
+ background-color: @state-danger-bg;
+ cursor: pointer;
+
+ &:hover {
+ background-color: @state-success-bg;
+ }
+}
+
+.address-ignore {
+ border: 1px solid @white;
+ background-color: @white;
+ font-weight: normal;
+ color: @brand-success;
+
+ &:hover {
+ background-color: @white;
+ }
+}
+
+// checkmark next to address line
+.address-line-copyover {
+ font-weight: normal;
+ color: @brand-success;
+ display: none;
+}
+
+.address-validate-header {
+ font-weight: 700;
+}
+
+.review-action-buttons {
+ margin-top: 3rem;
+}
diff --git a/imports/plugins/included/default-theme/client/styles/dashboard/console.less b/imports/plugins/included/default-theme/client/styles/dashboard/console.less
index ca9032fe203..877208116ea 100644
--- a/imports/plugins/included/default-theme/client/styles/dashboard/console.less
+++ b/imports/plugins/included/default-theme/client/styles/dashboard/console.less
@@ -51,18 +51,19 @@
}
}
-.admin-controls-menu {
- .display(flex);
- .flex-direction(column);
- .flex(0 0 auto);
- .justify-content(space-between);
+.rui.toolbar.admin-shortcut-bar {
+ display: flex;
+ flex: 0 0 auto;
+ flex-direction: column;
+ align-items: center;
+ // justify-content: center;
min-width: @admin-controls-menu-width;
width: @admin-controls-menu-width;
background-color: @white;
position: relative;
- z-index: @zindex-navbar-fixed;
+ z-index: @zindex-modal;
@media screen and (max-width: @screen-xs-max) {
order: 2;
@@ -71,8 +72,7 @@
}
}
-.admin-controls-menu nav {
- display: flex;
+.admin-shortcut-bar nav {
flex-direction: column;
@media screen and (max-width: @screen-xs-max) {
@@ -81,58 +81,13 @@
}
}
-.admin-controls-menu nav .icon-reaction-logo {
+.admin-shortcut-bar nav .icon-reaction-logo {
font-size: 4rem;
}
-.admin-controls-menu nav a,
-.admin-controls-menu nav button {
- .display(flex);
- .flex-direction(column);
- .align-items(center);
- .justify-content(center);
- .flex(0 0 auto);
- // min-height: @admin-controls-menu-button-height;
- // height: @admin-controls-menu-button-height;
-
- border: none;
- border-color: @black10;
- border-radius: 0;
- font-size: 1rem;
- background-color: transparent;
- .contents {
- .display(flex);
- .flex-direction(column);
- .justify-content(center);
- .align-items(center);
- .flex(1 1 auto);
- height: 100%;
- }
-
- .icon {
- .flex(0 0 auto);
- }
- .icon-text {
- .flex(0 0 auto);
- }
-
- &:last-child {
- border: none;
- }
-
- &:hover {
- background-color: @black10;
- text-decoration: none;
- }
-
- i {
- font-size: 2rem;
- }
-
- @media screen and (max-width: @screen-xs-max) {
- min-width: @admin-controls-menu-button-height;
- width: @admin-controls-menu-button-height;
- }
+.admin-shortcut-bar nav .btn.active {
+ color: @component-active-color;
+ background-color: @component-active-bg;
}
@media screen and (max-width: @screen-xs-max) {
@@ -147,16 +102,20 @@
border-bottom: 1px solid @border-color;
}
- .admin-controls-menu .admin-controls-actions a,
- .admin-controls-menu .admin-controls-actions button {
- width: 44px;
- height: 44px;
- min-width: 44px;
- min-height: 44px;
+ .rui.toolbar.admin-shortcut-bar {
+ display: none;
}
+
+ // .admin-shortcut-bar .admin-controls-actions a,
+ // .admin-shortcut-bar .admin-controls-actions button {
+ // width: 44px;
+ // height: 44px;
+ // min-width: 44px;
+ // min-height: 44px;
+ // }
}
-.admin-controls-menu hr {
+.admin-shortcut-bar hr {
width: 100%;
border-top: 1px solid @border-color;
}
diff --git a/imports/plugins/included/default-theme/client/styles/dashboard/orders.less b/imports/plugins/included/default-theme/client/styles/dashboard/orders.less
index 716208f6439..f88e3b44d55 100644
--- a/imports/plugins/included/default-theme/client/styles/dashboard/orders.less
+++ b/imports/plugins/included/default-theme/client/styles/dashboard/orders.less
@@ -1,13 +1,4 @@
-.rui.card.order {
- margin-bottom: 20px;
-}
-
-.rui.card.order .controls {
- width: 66px;
- max-width: 66px;
-}
-
// TODO: Once reaction ui is enabled, use `rui button success`
.rui.card.order .controls .btn-success {
.btn-success();
@@ -92,15 +83,6 @@
}
-
-
-
-
-
-
-
-
-
.orders-list{
.circular-icon {
width: 40px;
@@ -233,3 +215,149 @@
.text-align(right);
}
}
+
+.invoice-summary {
+ .display(flex);
+ border-bottom: 1px solid @rui-default-disabled;
+ &:first-child {
+ border-top: 1px solid @rui-default-disabled;
+ }
+
+ margin-right: -15px;
+ margin-left: -15px;
+ line-height: 3;
+
+ > .invoice-label {
+ flex: 2;
+ .text-align(left);
+ padding-left: 15px;
+ }
+
+ > .invoice-label.refund {
+ flex: 1;
+ border-right: solid 1px @rui-default-disabled;
+ }
+
+
+
+
+ > .invoice-details {
+ flex: 1;
+ .text-align(right);
+ padding-right: 15px;
+
+
+
+ > .refundAmount {
+ .text-align(left);
+ flex: 2;
+ }
+ > .refundSubmit {
+ flex: 1;
+ }
+ }
+
+
+ .captured-total {
+ background-color: @rui-success-bg;
+ }
+ .adjusted-total {
+ background-color: @rui-brand-bg;
+ }
+ .refund {
+ background-color: @pre-bg;
+ }
+}
+
+// New LESS for React orders panel
+.rui.card.order {
+ width: 100%;
+ border: solid 1px @black20;
+ margin-bottom: 20px;
+
+ .controls {
+ width: 66px;
+ max-width: 66px;
+ }
+
+ .content {
+ padding: 0px;
+ }
+
+ .shipment-info {
+ padding: 10px;
+ border-bottom: solid 1px @black20;
+ .display(flex);
+ flex-direction: row;
+
+ .customer-info {
+ .flex(1 1 auto);
+
+ .rui-order-avatar {
+ .margin-right(10px);
+ }
+ }
+ .workflow-info {
+ .flex(1 1 auto);
+ display: flex;
+ justify-content: flex-end;
+
+ .badge {
+ .margin-left(10px);
+ }
+ }
+ }
+
+ .order-info {
+ padding: 10px;
+ .display(flex);
+ flex-direction: column;
+
+ .order-totals {
+ .display(flex);
+ flex-direction: row;
+
+ .order-data {
+ .flex(1 1);
+
+ &.order-data-date {
+ .text-align(left);
+ }
+ &.order-data-id {
+ text-align: center;
+ }
+ &.order-data-total {
+ .text-align(right);
+ }
+ }
+
+ }
+
+ .order-items {
+ .display(flex);
+ flex-direction: row;
+ flex-wrap: wrap;
+ justify-content: flex-start;
+ margin-top: 20px;
+ margin-bottom: 30px;
+ height: 40px;
+
+ .order-item {
+ flex: 0 0 auto;
+ position: relative;
+ width: 50px;
+ height: 50px;
+
+ .margin-right(20px);
+ margin-bottom: 20px;
+
+ .badge {
+ position: absolute;
+ bottom: -8px;
+ right: -8px;
+ z-index: 10;
+ }
+ }
+ }
+ }
+}
diff --git a/imports/plugins/included/default-theme/client/styles/dropdowns.less b/imports/plugins/included/default-theme/client/styles/dropdowns.less
index 658229f892d..1dd6bcebe3d 100644
--- a/imports/plugins/included/default-theme/client/styles/dropdowns.less
+++ b/imports/plugins/included/default-theme/client/styles/dropdowns.less
@@ -33,3 +33,9 @@
position: static;
float: none;
}
+
+.rui.menu.dropdown-menu {
+ margin-top: 10px;
+ max-height: 500;
+ overflow: "auto";
+}
diff --git a/imports/plugins/included/default-theme/client/styles/layout/layout.less b/imports/plugins/included/default-theme/client/styles/layout/layout.less
index 2795677e7ce..3fe3161ef03 100644
--- a/imports/plugins/included/default-theme/client/styles/layout/layout.less
+++ b/imports/plugins/included/default-theme/client/styles/layout/layout.less
@@ -14,6 +14,7 @@ body.admin {
.flex-direction(column);
.flex(1 1 auto);
height: 100vh;
+ overflow-x: hidden;
}
.page #main {
diff --git a/imports/plugins/included/default-theme/client/styles/main.less b/imports/plugins/included/default-theme/client/styles/main.less
index c43310ff02d..bb4ff04d57a 100644
--- a/imports/plugins/included/default-theme/client/styles/main.less
+++ b/imports/plugins/included/default-theme/client/styles/main.less
@@ -63,6 +63,7 @@
// Base Styles
@import "alerts.less";
@import "base.less";
+@import "badge.less";
@import "brand.less";
@import "button.less";
@import "buttonSelect.less";
diff --git a/imports/plugins/included/default-theme/client/styles/media.less b/imports/plugins/included/default-theme/client/styles/media.less
index cc9ca358bbe..04c26f48913 100644
--- a/imports/plugins/included/default-theme/client/styles/media.less
+++ b/imports/plugins/included/default-theme/client/styles/media.less
@@ -84,9 +84,21 @@
.rui.media-gallery .rui.badge-container {
position: absolute;
- top: @badge-offset;
- right: @badge-offset;
+ top: @badge-offset + 5px;
+ right: @badge-offset + 5px;
z-index: 1;
+
+ .rui.status-badge {
+ position: absolute;
+ top: -17px;
+ right: -17px;
+ width: 16px;
+ height: 16px;
+
+ .icon-only {
+
+ }
+ }
}
.rui.media-gallery .gallery-image.add {
diff --git a/imports/plugins/included/default-theme/client/styles/navbar.less b/imports/plugins/included/default-theme/client/styles/navbar.less
index b43d51b6e64..dade8e328d5 100644
--- a/imports/plugins/included/default-theme/client/styles/navbar.less
+++ b/imports/plugins/included/default-theme/client/styles/navbar.less
@@ -44,6 +44,10 @@
.rui.navbar .rui.tagnav {
background: transparent;
+
+ .tag-group {
+ display: inherit
+ }
}
.rui.navbar .rui.tagnav .edit-tag-button {
@@ -89,8 +93,7 @@
.align-items(center);
height: 100%;
- padding: 0 @navbar-padding-vertical;
- .padding-left(@navbar-padding-vertical);
+ padding: 0 14px;
}
.rui.navbar .languages,
@@ -101,12 +104,6 @@
height: @navbar-height;
}
-.rui.navbar .languages:hover,
-.rui.navbar .currencies:hover {
- background-color: @navbar-default-toggle-icon-bar-bg;
- border-color: @navbar-default-toggle-border-color;
-}
-
.rui.navbar .languages .dropdown-menu {
margin-top: 0px;
min-width: 250px !important;
@@ -135,6 +132,8 @@ html:not(.rtl) .rui.navbar .languages .dropdown-menu {
}
.rui.navbar .accounts {
+ .display(flex);
+ .align-items(center);
.flex(0 0 auto);
height: @navbar-height;
}
@@ -262,3 +261,57 @@ html:not(.rtl) .rui.navbar .languages .dropdown-menu {
.rui.navbar .search:hover button {
outline: none;
}
+
+.rui.navbar .languages:hover,
+.rui.navbar .currencies:hover {
+ background-color: @navbar-default-toggle-icon-bar-bg;
+ border-color: @navbar-default-toggle-border-color;
+}
+
+.accounts-a-tag {
+ display: flex !important;
+ align-items: center;
+ text-decoration: none;
+ padding: 5px 0 !important;
+ min-height: 44px !important;
+ min-width: 220px;
+}
+
+.accounts-a-tag:hover,
+.accounts-a-tag:focus {
+ color: @brand-vivid-color !important;
+ text-decoration: none;
+ background-color: transparent !important;
+}
+
+.accounts-li-tag {
+ cursor: pointer;
+ white-space: nowrap;
+ display: block;
+ border-bottom: 1px solid @black10;
+}
+
+.accounts-li-tag:last-child {
+ border-bottom: none;
+}
+
+.accounts-btn-tag {
+ padding: 6px 12px !important;
+ color: #fff !important;
+ background-color: @btn-primary-bg !important;
+ color: @btn-primary-color !important;
+ border-color: @btn-primary-bg !important;
+}
+
+.accounts-btn-tag:hover {
+ background: darken(@btn-primary-bg, 5%) !important;
+}
+
+.accounts-img-tag {
+ width: 30px;
+ height: 30px;
+ margin: -15px 5px;
+ border: 2px solid rgba(129, 122, 122, 0.62);
+ border-radius: 50%;
+ display: inline-block;
+}
diff --git a/imports/plugins/included/default-theme/client/styles/products/childVariant.less b/imports/plugins/included/default-theme/client/styles/products/childVariant.less
index b6a90283308..9a368bd2d41 100644
--- a/imports/plugins/included/default-theme/client/styles/products/childVariant.less
+++ b/imports/plugins/included/default-theme/client/styles/products/childVariant.less
@@ -60,6 +60,7 @@
display: flex;
flex: 0 0 auto;
justify-content: center;
+ white-space: pre-wrap;
padding: 10px;
}
diff --git a/imports/plugins/included/default-theme/client/styles/products/productDetail.less b/imports/plugins/included/default-theme/client/styles/products/productDetail.less
index f6bdff73e0a..564d04b1480 100644
--- a/imports/plugins/included/default-theme/client/styles/products/productDetail.less
+++ b/imports/plugins/included/default-theme/client/styles/products/productDetail.less
@@ -1,5 +1,6 @@
.pdp-container {
max-width: 1440px;
+ margin: 0 auto;
}
.pdp-content {
diff --git a/imports/plugins/included/default-theme/client/styles/products/productGrid.less b/imports/plugins/included/default-theme/client/styles/products/productGrid.less
index db94f4f0790..992995e6522 100644
--- a/imports/plugins/included/default-theme/client/styles/products/productGrid.less
+++ b/imports/plugins/included/default-theme/client/styles/products/productGrid.less
@@ -221,7 +221,7 @@
padding: 10px 25px;
background-color: @brand-dark-color;
- background-color: @brand-secondary-color;
+ background-color: @brand-primary-dark;
color: @brand-light-color;
}
diff --git a/imports/plugins/included/default-theme/client/styles/search/results.less b/imports/plugins/included/default-theme/client/styles/search/results.less
index 687ec195b66..555ca8869a1 100644
--- a/imports/plugins/included/default-theme/client/styles/search/results.less
+++ b/imports/plugins/included/default-theme/client/styles/search/results.less
@@ -444,7 +444,7 @@
padding: 10px 25px;
background-color: @brand-dark-color;
- background-color: @brand-secondary-color;
+ background-color: @brand-primary-dark;
color: @brand-light-color;
}
diff --git a/imports/plugins/included/default-theme/client/styles/tagGroup.less b/imports/plugins/included/default-theme/client/styles/tagGroup.less
index 3d1a3091b5d..6a568788d35 100644
--- a/imports/plugins/included/default-theme/client/styles/tagGroup.less
+++ b/imports/plugins/included/default-theme/client/styles/tagGroup.less
@@ -55,8 +55,10 @@
.rui.grouptag > .header .rui.tag.edit.create {
text-transform: none;
- input, button {
- background-color: @tag-group-background-color;
+ input, button, .btn {
+ // added !important here because of un-needed inline style that gets added
+ // to react-autosuggest__container overriding the color. Couldn't find a better/faster approach
+ background-color: @tag-group-background-color !important;
border-color: @tag-group-border-color;
color: @tag-group-text-color;
}
diff --git a/imports/plugins/included/default-theme/client/styles/tagNav.less b/imports/plugins/included/default-theme/client/styles/tagNav.less
index 3715a665665..1297aa589bc 100644
--- a/imports/plugins/included/default-theme/client/styles/tagNav.less
+++ b/imports/plugins/included/default-theme/client/styles/tagNav.less
@@ -46,7 +46,7 @@
.rui.tagnav .rui.tag.edit.create {
@color: lighten(@btn-success-bg, 10%);
- @color: @brand-secondary-color;
+ @color: @brand-primary-dark;
input {
// background-color: @color;
@@ -60,12 +60,12 @@
// background-color: @color;
// border-color: @color;
background-color: @white;
- color: @brand-primary-color;
+ color: @brand-success;
}
}
.rui.tagnav .rui.tag.edit.create input {
- .placeholder(@brand-secondary-color);
+ .placeholder(@brand-primary-dark);
}
// Base Tag Navigation
@@ -250,6 +250,10 @@
color: @text-color;
}
+.navbar-item .btn.btn-drag-handle {
+ padding: 3px 6px;
+}
+
.rui.tagnav.vertical .navbar-item > .rui.tag.link {
display: block;
height: auto;
@@ -329,7 +333,7 @@
position: absolute;
top: @navbar-height;
left: 0;
- z-index: @zindex-modal;
+ z-index: @zindex-dropdown;
width: 100%;
max-width: 100%;
margin: 0;
diff --git a/imports/plugins/included/default-theme/client/styles/tags.less b/imports/plugins/included/default-theme/client/styles/tags.less
index 01e55c73b92..84e8c936f6f 100644
--- a/imports/plugins/included/default-theme/client/styles/tags.less
+++ b/imports/plugins/included/default-theme/client/styles/tags.less
@@ -75,7 +75,7 @@ html.rtl .rui.tag.edit .btn:last-child {
.rui.tag.edit.create {
button {
- color: @brand-primary-color;
+ color: @brand-success;
}
}
diff --git a/imports/plugins/included/default-theme/client/styles/themeEditor.less b/imports/plugins/included/default-theme/client/styles/themeEditor.less
index eeb552700a9..47f0d46b857 100644
--- a/imports/plugins/included/default-theme/client/styles/themeEditor.less
+++ b/imports/plugins/included/default-theme/client/styles/themeEditor.less
@@ -43,7 +43,7 @@
.rui.objectmap .rui.list-item label {
.flex(0 0 auto);
margin: 0 10px 0 0;
- color: @brand-secondary-color;
+ color: @brand-primary-dark;
font-weight: normal;
}
diff --git a/imports/plugins/included/default-theme/client/styles/toolbar.less b/imports/plugins/included/default-theme/client/styles/toolbar.less
index d61a4679aaf..20965802329 100644
--- a/imports/plugins/included/default-theme/client/styles/toolbar.less
+++ b/imports/plugins/included/default-theme/client/styles/toolbar.less
@@ -11,6 +11,19 @@
border-bottom: @toolbar-border-width solid @toolbar-border-color;
}
+.rui.toolbar.toolbar-vertical {
+ align-items: flex-start;
+ justify-content: flex-start;
+ border: none;
+ padding: 0;
+ border-left: @toolbar-border-width solid @toolbar-border-color;
+}
+
+html.rtl .rui.toolbar.toolbar-vertical {
+ border: none;
+ border-right: @toolbar-border-width solid @toolbar-border-color;
+}
+
.rui.toolbar-group {
display: flex;
flex: 0 0 auto;
@@ -33,3 +46,11 @@
flex: 1 1 auto;
justify-content: flex-end;
}
+
+.rui.toolbar-group.visible-mobile {
+ display: none;
+
+ @media screen and (max-width: @screen-xs-max) {
+ display: flex !important;
+ }
+}
diff --git a/imports/plugins/included/default-theme/client/styles/variables.less b/imports/plugins/included/default-theme/client/styles/variables.less
index 91915834fe2..d7a081f5343 100644
--- a/imports/plugins/included/default-theme/client/styles/variables.less
+++ b/imports/plugins/included/default-theme/client/styles/variables.less
@@ -7,10 +7,61 @@
// Variables
// --------------------------------------------------
-
//== Colors
@reaction-brand: #1999dd;
+// All colors that should be used in Reaction.
+// We should be using these variables, not bootstraps @brand-{} variables
+@rui-default: #98afbc;
+@rui-default-hover: #9bbdcf;
+@rui-default-active: #7d929d;
+@rui-default-disabled: #dce4e9;
+@rui-default-bg: #ebf7fc;
+@rui-default-text: #505558;
+
+@rui-brand: @reaction-brand;
+@rui-brand-hover: #11a7f0;
+@rui-brand-active: #1a87bc;
+@rui-brand-disabled: #bed7e4;
+@rui-brand-bg: #ebf7fc;
+@rui-brand-text: #2F586B;
+
+@rui-brand-dark: #23566D;
+@rui-brand-dark-bg: #ebf7fc;
+@rui-brand-dark-disabled: #dce4e9;
+@rui-brand-dark-hover: #9bbdcf;
+@rui-brand-dark-active: #7d929d;
+@rui-brand-dark-text: #23566D;
+
+@rui-info: #94e8d1;
+@rui-info-bg: #edfdf8;
+@rui-info-disabled: #d9ece6;
+@rui-info-hover: #79dcc1;
+@rui-info-active: #83b9aa;
+@rui-info-text: #447467;
+
+@rui-success: #5cde86;
+@rui-success-hover: #37cd68;
+@rui-success-active: #58c47b;
+@rui-success-disabled: #b4ddc1;
+@rui-success-bg: #f0fff4;
+@rui-success-text: #0ba53d;
+
+@rui-warning: #efc95f;
+@rui-warning-bg: #faf6ec;
+@rui-warning-disabled: #efe6ce;
+@rui-warning-hover: #eec145;
+@rui-warning-active: #c6ab5d;
+@rui-warning-text: #b88905;
+
+@rui-danger: #eb4d5c;
+@rui-danger-hover: #f23b4d;
+@rui-danger-active: #e04352;
+@rui-danger-disabled: #e2b4b8;
+@rui-danger-bg: #ffeeef;
+@rui-danger-text: #942e38;
+
+
// Shades of gray
@white: #fff;
@black: #000;
@@ -22,85 +73,76 @@
@black20: darken(#fff, 20%);
@black25: darken(#fff, 25%);
@black30: darken(#fff, 30%);
+@black35: darken(#fff, 35%);
@black40: darken(#fff, 40%);
+@black45: darken(#fff, 45%);
@black50: darken(#fff, 50%);
+@black55: darken(#fff, 55%);
@black60: darken(#fff, 60%);
+@black65: darken(#fff, 65%);
@black70: darken(#fff, 70%);
+@black75: darken(#fff, 75%);
@black80: darken(#fff, 80%);
+@black85: darken(#fff, 85%);
@black90: darken(#fff, 90%);
+@black95: darken(#fff, 95%);
+
+@whiteAlpha10: rgba(255,255,255, 0.1);
+@whiteAlpha20: rgba(255,255,255, 0.2);
+@whiteAlpha50: rgba(255,255,255, 0.5);
-@whiteAlpha10: rgba(255, 255, 255, 0.1);
-@whiteAlpha20: rgba(255, 255, 255, 0.2);
-@whiteAlpha50: rgba(255, 255, 255, 0.5);
+@rui-gray-base: @black;
+@rui-gray-darker: @black85;
+@rui-gray-dark: @black80;
+@rui-gray: @black65;
+@rui-gray-light: @black55;
+@rui-gray-lighter: @black10;
+@rui-gray-lightest: @black05;
// Brand
-@brand-primary-color: @reaction-brand;
-@brand-primary-dark: #23566D;
-@brand-primary-bg-light: #e4e9ec;
-@brand-primary-border-color: #afbac1;
+@brand-primary-dark: @rui-brand-dark;
+@brand-primary-bg-light: #e4e9ec; //still-used
+@brand-primary-border-color: #afbac1; //still-used
-@brand-primary-bg: #EBF7FC;
+@brand-primary-bg: #EBF7FC; //still-used
@brand-info-bg: #E7FBF6;
@brand-warning-bg: #F8EED2;
-@brand-danger-bg: #EB4D5C;
+@brand-danger-bg: @rui-danger;
-@brand-secondary-color: @brand-primary-dark; //lighten(@brand-primary-color, 20); // old @brand-secondary-color: #4aa5bd;
-@brand-accent-color: #94E8D1; //lighten(@brand-primary-color, 37); // old @brand-accent-color: #abe2e7;
-@brand-vivid-color: #1AEFCC; //lighten(@brand-primary-color, 20); // old @brand-vivid-color: #00dcdd;
+@brand-accent-color: @rui-info;
+@brand-vivid-color: @rui-info;
@brand-light-highlight: @black02;
@brand-light-color: #e3e3e3;
@brand-dark-color: #414141;
-@brand-success-color: @reaction-brand;
-@brand-info-color: #5bc0de;
-@brand-warning-color: #EFC95F;
-@brand-danger-color: #EB4D5C;
-
//== Bootstrap colors
//
// All color variables from bootstraps variables.less file in one place for easy override.
+// We should not be using these variables, instead use the @rui-{} variables above
+// These are here for over-ride purposes only
-@gray-base: #000;
-@gray-darker: lighten(@gray-base, 13.5%); // #222
-@gray-dark: lighten(@gray-base, 20%); // #333
-@gray: lighten(@gray-base, 33.5%); // #555
-@gray-light: lighten(@gray-base, 46.7%); // #777
-@gray-lighter: lighten(@gray-base, 93.5%); // #eee
-@gray-lightest: lighten(@gray-base, 96%); // #f6f6f6
+@gray-base: @rui-gray-base;
+@gray-darker: @rui-gray-darker;
+@gray-dark: @rui-gray-dark;
+@gray: @rui-gray;
+@gray-light: @rui-gray-light;
+@gray-lighter: @rui-gray-lighter;
+@gray-lightest: @rui-gray-lightest;
// Background Colors
-// @brand-primary: @black60;
-@brand-primary: darken(#b7c7d0, 10%);
-@brand-success: @brand-success-color;
-@brand-info: @brand-info-color;
-@brand-warning: @brand-warning-color;
-@brand-danger: @brand-danger-color;
-@brand-default: #b7c7d0;
-@brand-cta: #34D891;
-
-@state-default-text: #505558;
-
-@state-success-text: #3c763d;
-@state-success-bg: @gray-lighter;
-@state-success-border: darken(spin(@state-success-bg, -10), 5%);
+@brand-primary: @rui-default;
+@brand-success: @rui-brand;
+@brand-info: @rui-info;
+@brand-warning: @rui-warning;
+@brand-danger: @rui-danger;
+@brand-default: @rui-default;
+@brand-cta: @rui-success;
-@state-info-text: #31708f;
-@state-info-bg: #d9edf7;
-@state-info-border: darken(spin(@state-info-bg, -10), 7%);
-@state-warning-text: #8a6d3b;
-@state-warning-bg: #fcf8e3;
-@state-warning-border: darken(spin(@state-warning-bg, -10), 5%);
-
-@state-danger-text: #a94442;
-@state-danger-bg: #f2dede;
-@state-danger-border: darken(spin(@state-danger-bg, -10), 5%);
-
-
-@shadow-1: 0 0 5px rgba(0, 0, 0, 0.2);
+@shadow-1: 0 0 5px rgba(0,0,0, 0.2);
@controlbar-bg: @white;
@controlbar-fg: @black;
@@ -199,7 +241,7 @@
@border-radius-small: 1px;
//** Global color for active items (e.g., navs or dropdowns).
-@component-active-color: #fff;
+@component-active-color: @white;
//** Global background color for active items (e.g., navs or dropdowns).
@component-active-bg: @brand-primary;
@@ -221,13 +263,13 @@
//** Default background color used for all tables.
@table-bg: transparent;
//** Background color used for `.table-striped`.
-@table-bg-accent: #f9f9f9;
+@table-bg-accent: @black02;
//** Background color used for `.table-hover`.
-@table-bg-hover: #f5f5f5;
+@table-bg-hover: @rui-gray-lightest;
@table-bg-active: @table-bg-hover;
//** Border color for table and cell borders.
-@table-border-color: #ddd;
+@table-border-color: @black15;
//== Buttons
@@ -238,33 +280,33 @@
@btn-border-width: 1px;
// Solid Button Colors
-@btn-default-color: @state-default-text;
-@btn-default-bg: #fff;
+@btn-default-color: @rui-default-text;
+@btn-default-bg: @white;
@btn-default-border: @brand-default;
-@btn-primary-color: #fff;
+@btn-primary-color: @white;
@btn-primary-bg: @brand-primary;
@btn-primary-border: @btn-primary-bg;
-@btn-success-color: #fff;
+@btn-success-color: @white;
@btn-success-bg: @brand-success;
@btn-success-border: @btn-success-bg;
-@btn-info-color: #fff;
+@btn-info-color: @white;
@btn-info-bg: @brand-info;
@btn-info-border: @btn-info-bg;
-@btn-warning-color: #fff;
+@btn-warning-color: @white;
@btn-warning-bg: @brand-warning;
@btn-warning-border: @btn-warning-bg;
-@btn-danger-color: #fff;
+@btn-danger-color: @white;
@btn-danger-bg: @brand-danger;
@btn-danger-border: @btn-danger-bg;
-@btn-cta-color: #fff;
-@btn-cta-bg: @brand-cta;
-@btn-cta-border: @btn-cta-bg;
+@btn-cta-color: @white;
+@btn-cta-bg: @brand-cta;
+@btn-cta-border: @btn-cta-bg;
// Flat
@btn-flat-border-width: 3px;
@@ -304,7 +346,7 @@
@btn-outline-border-radius: 0;
@btn-outline-default-color: @btn-default-color;
-@btn-outline-default-bg: #fff;
+@btn-outline-default-bg: @white;
@btn-outline-default-border: @btn-default-border;
@btn-outline-primary-color: @brand-primary;
@@ -337,33 +379,33 @@
@btn-icon-only-size: 24px;
@btn-icon-only-border-width: 2px;
@btn-icon-only-border-radius: @btn-icon-size / 2;
-@btn-icon-only-outline-bg: #fff;
+@btn-icon-only-outline-bg: @white;
@btn-icon-only-default-color: @btn-default-color;
@btn-icon-only-default-bg: @btn-default-bg;
@btn-icon-only-default-border: @btn-default-bg;
-@btn-icon-only-primary-color: #fff;
+@btn-icon-only-primary-color: @white;
@btn-icon-only-primary-bg: @btn-primary-bg;
@btn-icon-only-primary-border: @btn-primary-bg;
-@btn-icon-only-success-color: #fff;
+@btn-icon-only-success-color: @white;
@btn-icon-only-success-bg: @btn-success-bg;
@btn-icon-only-success-border: @btn-success-bg;
-@btn-icon-only-info-color: #fff;
+@btn-icon-only-info-color: @white;
@btn-icon-only-info-bg: @btn-info-bg;
@btn-icon-only-info-border: @btn-info-bg;
-@btn-icon-only-warning-color: #fff;
+@btn-icon-only-warning-color: @white;
@btn-icon-only-warning-bg: @btn-warning-bg;
@btn-icon-only-warning-border: @btn-warning-bg;
-@btn-icon-only-danger-color: #fff;
+@btn-icon-only-danger-color: @white;
@btn-icon-only-danger-bg: @btn-danger-bg;
@btn-icon-only-danger-border: @btn-danger-bg;
-@btn-icon-only-cta-color: #fff;
+@btn-icon-only-cta-color: @white;
@btn-icon-only-cta-bg: @btn-cta-bg;
@btn-icon-only-cta-border: @btn-cta-bg;
@@ -391,14 +433,14 @@
//##
//** `
` background color
-@input-bg: #fff;
+@input-bg: @white;
//** `
` background color
@input-bg-disabled: @gray-lighter;
//** Text color for `
`s
@input-color: @gray;
//** `
` border color
-@input-border: #ccc;
+@input-border: @black20;
// TODO: Rename `@input-border-radius` to `@input-border-radius-base` in v4
//** Default `.form-control` border radius
@@ -410,10 +452,10 @@
@input-border-radius-small: @border-radius-small;
//** Border color for inputs on focus
-@input-border-focus: #66afe9;
+@input-border-focus: @rui-brand;
//** Placeholder text color
-@input-color-placeholder: #999;
+@input-color-placeholder: @black40;
//** Default `.form-control` height
@input-height-base: (@line-height-computed + (@padding-base-vertical * 2) + 2);
@@ -426,7 +468,7 @@
@form-group-margin-bottom: 15px;
@legend-color: @gray-dark;
-@legend-border-color: #e5e5e5;
+@legend-border-color: @black10;
//** Background color for textual input addons
@input-group-addon-bg: @gray-lighter;
@@ -442,20 +484,20 @@
//## Dropdown menu container and contents.
//** Background for the dropdown menu.
-@dropdown-bg: #fff;
+@dropdown-bg: @white;
//** Dropdown menu `border-color`.
@dropdown-border: rgba(0,0,0,.15);
//** Dropdown menu `border-color` **for IE8**.
-@dropdown-fallback-border: #ccc;
+@dropdown-fallback-border: @black20;
//** Divider color for between dropdown items.
-@dropdown-divider-bg: #e5e5e5;
+@dropdown-divider-bg: @black10;
//** Dropdown link text color.
@dropdown-link-color: @gray-dark;
//** Hover color for dropdown links.
@dropdown-link-hover-color: darken(@gray-dark, 5%);
//** Hover background for dropdown links.
-@dropdown-link-hover-bg: #f5f5f5;
+@dropdown-link-hover-bg: @rui-gray-lightest;
//** Active dropdown menu item text color.
@dropdown-link-active-color: @component-active-color;
@@ -469,7 +511,7 @@
@dropdown-header-color: @gray-light;
//** Deprecated `@dropdown-caret-color` as of v3.1.0
-@dropdown-caret-color: #000;
+@dropdown-caret-color: @black;
//-- Z-index master list
@@ -581,11 +623,11 @@
// Navbar links
@navbar-default-link-color: @black;
-@navbar-default-link-hover-color: #333;
+@navbar-default-link-hover-color: @rui-gray-dark;
@navbar-default-link-hover-bg: transparent;
-@navbar-default-link-active-color: #555;
+@navbar-default-link-active-color: @rui-gray;
@navbar-default-link-active-bg: darken(@navbar-default-bg, 6.5%);
-@navbar-default-link-disabled-color: #ccc;
+@navbar-default-link-disabled-color: @black20;
@navbar-default-link-disabled-bg: transparent;
// Navbar brand label
@@ -596,7 +638,7 @@
// Navbar toggle
@navbar-default-toggle-hover-bg: darken(@navbar-default-bg, 10%);
@navbar-default-toggle-icon-bar-bg: darken(@navbar-default-bg, 10%);
-@navbar-default-toggle-border-color: #ddd;
+@navbar-default-toggle-border-color: @black15;
//=== Inverted toolbar
// Reset inverted toolbar basics
@@ -610,18 +652,18 @@
@navbar-inverse-link-hover-bg: transparent;
@navbar-inverse-link-active-color: @navbar-inverse-link-hover-color;
@navbar-inverse-link-active-bg: darken(@navbar-inverse-bg, 10%);
-@navbar-inverse-link-disabled-color: #444;
+@navbar-inverse-link-disabled-color: @black25;
@navbar-inverse-link-disabled-bg: transparent;
// Inverted navbar brand label
@navbar-inverse-brand-color: @navbar-inverse-link-color;
-@navbar-inverse-brand-hover-color: #fff;
+@navbar-inverse-brand-hover-color: @white;
@navbar-inverse-brand-hover-bg: transparent;
// Inverted navbar toggle
-@navbar-inverse-toggle-hover-bg: #333;
-@navbar-inverse-toggle-icon-bar-bg: #fff;
-@navbar-inverse-toggle-border-color: #333;
+@navbar-inverse-toggle-hover-bg: @rui-gray-dark;
+@navbar-inverse-toggle-icon-bar-bg: @white;
+@navbar-inverse-toggle-border-color: @rui-gray-dark;
//=== Toolbar
// Reset inverted navbar basics
@@ -637,18 +679,18 @@
@toolbar-inverse-link-hover-bg: transparent;
@toolbar-inverse-link-active-color: @toolbar-inverse-link-hover-color;
@toolbar-inverse-link-active-bg: darken(@toolbar-inverse-bg, 10%);
-@toolbar-inverse-link-disabled-color: #444;
+@toolbar-inverse-link-disabled-color: @black25;
@toolbar-inverse-link-disabled-bg: transparent;
// Inverted toolbar brand label
@toolbar-inverse-brand-color: @toolbar-inverse-link-color;
-@toolbar-inverse-brand-hover-color: #fff;
+@toolbar-inverse-brand-hover-color: @white;
@toolbar-inverse-brand-hover-bg: transparent;
// Inverted toolbar toggle
-@toolbar-inverse-toggle-hover-bg: #333;
-@toolbar-inverse-toggle-icon-bar-bg: #fff;
-@toolbar-inverse-toggle-border-color: #333;
+@toolbar-inverse-toggle-hover-bg: @rui-gray-dark;
+@toolbar-inverse-toggle-icon-bar-bg: @white;
+@toolbar-inverse-toggle-border-color: @rui-gray-dark;
//== Navs
@@ -663,15 +705,15 @@
@nav-disabled-link-hover-color: @gray-light;
//== Tabs
-@nav-tabs-border-color: #ddd;
+@nav-tabs-border-color: @black15;
@nav-tabs-link-hover-border-color: @gray-lighter;
@nav-tabs-active-link-hover-bg: @body-bg;
@nav-tabs-active-link-hover-color: @gray;
-@nav-tabs-active-link-hover-border-color: #ddd;
+@nav-tabs-active-link-hover-border-color: @black15;
-@nav-tabs-justified-link-border-color: #ddd;
+@nav-tabs-justified-link-border-color: @black15;
@nav-tabs-justified-active-link-border-color: @body-bg;
//== Pills
@@ -685,20 +727,20 @@
//##
@pagination-color: @link-color;
-@pagination-bg: #fff;
-@pagination-border: #ddd;
+@pagination-bg: @white;
+@pagination-border: @black15;
@pagination-hover-color: @link-hover-color;
@pagination-hover-bg: @gray-lighter;
-@pagination-hover-border: #ddd;
+@pagination-hover-border: @black15;
-@pagination-active-color: #fff;
+@pagination-active-color: @white;
@pagination-active-bg: @brand-primary;
@pagination-active-border: @brand-primary;
@pagination-disabled-color: @gray-light;
-@pagination-disabled-bg: #fff;
-@pagination-disabled-border: #ddd;
+@pagination-disabled-bg: @white;
+@pagination-disabled-border: @black15;
//== Pager
@@ -732,21 +774,20 @@
//== Form states and alerts
//
//## Define colors for form feedback states and, by default, alerts.
-
-@state-success-text: #3c763d;
-@state-success-bg: #dff0d8;
+@state-success-text: @rui-success;
+@state-success-bg: @rui-success-bg;
@state-success-border: darken(spin(@state-success-bg, -10), 5%);
-@state-info-text: #31708f;
-@state-info-bg: #d9edf7;
+@state-info-text: @rui-info;
+@state-info-bg: @rui-info-bg;
@state-info-border: darken(spin(@state-info-bg, -10), 7%);
-@state-warning-text: #8a6d3b;
-@state-warning-bg: #fcf8e3;
+@state-warning-text: @rui-warning;
+@state-warning-bg: @rui-warning-bg;
@state-warning-border: darken(spin(@state-warning-bg, -10), 5%);
-@state-danger-text: #a94442;
-@state-danger-bg: #f2dede;
+@state-danger-text: @rui-danger;
+@state-danger-bg: @rui-danger-bg;
@state-danger-border: darken(spin(@state-danger-bg, -10), 5%);
@@ -757,9 +798,9 @@
//** Tooltip max width
@tooltip-max-width: 200px;
//** Tooltip text color
-@tooltip-color: #fff;
+@tooltip-color: @white;
//** Tooltip background color
-@tooltip-bg: #000;
+@tooltip-bg: @black;
@tooltip-opacity: .9;
//** Tooltip arrow width
@@ -773,13 +814,13 @@
//##
//** Popover body background color
-@popover-bg: #fff;
+@popover-bg: @white;
//** Popover maximum width
@popover-max-width: 276px;
//** Popover border color
@popover-border-color: rgba(0,0,0,.2);
//** Popover fallback border color
-@popover-fallback-border-color: #ccc;
+@popover-fallback-border-color: @black20;
//** Popover title background color
@popover-title-bg: darken(@popover-bg, 3%);
@@ -815,9 +856,9 @@
@label-danger-bg: @brand-danger;
//** Default label text color
-@label-color: #fff;
+@label-color: @white;
//** Default text color of a linked label
-@label-link-hover-color: #fff;
+@label-link-hover-color: @white;
//== Modals
@@ -833,18 +874,18 @@
@modal-title-line-height: @line-height-base;
//** Background color of modal content area
-@modal-content-bg: #fff;
+@modal-content-bg: @white;
//** Modal content border color
@modal-content-border-color: rgba(0,0,0,.2);
//** Modal content border color **for IE8**
-@modal-content-fallback-border-color: #999;
+@modal-content-fallback-border-color: @black40;
//** Modal backdrop background color
-@modal-backdrop-bg: #000;
+@modal-backdrop-bg: @black;
//** Modal backdrop opacity
@modal-backdrop-opacity: .5;
//** Modal header border color
-@modal-header-border-color: #e5e5e5;
+@modal-header-border-color: @black10;
//** Modal footer border color
@modal-footer-border-color: @modal-header-border-color;
@@ -883,9 +924,9 @@
//##
//** Background color of the whole progress component
-@progress-bg: #f5f5f5;
+@progress-bg: @rui-gray-lightest;
//** Progress bar text color
-@progress-bar-color: #fff;
+@progress-bar-color: @white;
//** Variable for setting rounded corners on progress bar.
@progress-border-radius: @border-radius-base;
@@ -906,14 +947,14 @@
//##
//** Background color on `.list-group-item`
-@list-group-bg: #fff;
+@list-group-bg: @white;
//** `.list-group-item` border color
-@list-group-border: #ddd;
+@list-group-border: @black15;
//** List group border radius
@list-group-border-radius: @border-radius-base;
//** Background color of single list items on hover
-@list-group-hover-bg: #f5f5f5;
+@list-group-hover-bg: @rui-gray-lightest;
//** Text color of active list items
@list-group-active-color: @component-active-color;
//** Background color of active list items
@@ -930,30 +971,30 @@
//** Text color for content within disabled list items
@list-group-disabled-text-color: @list-group-disabled-color;
-@list-group-link-color: #555;
+@list-group-link-color: @rui-gray;
@list-group-link-hover-color: @list-group-link-color;
-@list-group-link-heading-color: #333;
+@list-group-link-heading-color: @rui-gray-dark;
//== Panels
//
//##
-@panel-bg: #fff;
+@panel-bg: @white;
@panel-body-padding: 15px;
@panel-heading-padding: 10px 15px;
@panel-footer-padding: @panel-heading-padding;
@panel-border-radius: @border-radius-base;
//** Border color for elements within panels
-@panel-inner-border: #ddd;
-@panel-footer-bg: #f5f5f5;
+@panel-inner-border: @black15;
+@panel-footer-bg: @rui-gray-lightest;
@panel-default-text: @gray-dark;
-@panel-default-border: #ddd;
-@panel-default-heading-bg: #f5f5f5;
+@panel-default-border: @black15;
+@panel-default-heading-bg: @rui-gray-lightest;
-@panel-primary-text: #fff;
+@panel-primary-text: @white;
@panel-primary-border: @brand-primary;
@panel-primary-heading-bg: @brand-primary;
@@ -983,7 +1024,7 @@
//** Thumbnail background color
@thumbnail-bg: @body-bg;
//** Thumbnail border color
-@thumbnail-border: #ddd;
+@thumbnail-border: @black15;
//** Thumbnail border radius
@thumbnail-border-radius: @border-radius-base;
@@ -997,7 +1038,7 @@
//
//##
-@well-bg: #f5f5f5;
+@well-bg: @rui-gray-lightest;
@well-border: darken(@well-bg, 7%);
@@ -1005,15 +1046,15 @@
//
//##
-@badge-color: #fff;
+@badge-color: @white;
//** Linked badge text color on hover
-@badge-link-hover-color: #fff;
+@badge-link-hover-color: @white;
@badge-bg: @gray-light;
//** Badge text color in active nav link
@badge-active-color: @link-color;
//** Badge background color in active nav link
-@badge-active-bg: #fff;
+@badge-active-bg: @white;
@badge-font-weight: bold;
@badge-line-height: 1;
@@ -1027,9 +1068,9 @@
@breadcrumb-padding-vertical: 8px;
@breadcrumb-padding-horizontal: 15px;
//** Breadcrumb background color
-@breadcrumb-bg: #f5f5f5;
+@breadcrumb-bg: @rui-gray-lightest;
//** Breadcrumb text color
-@breadcrumb-color: #ccc;
+@breadcrumb-color: @black20;
//** Text color of current page in the breadcrumb
@breadcrumb-active-color: @gray-light;
//** Textual separator for between breadcrumb elements
@@ -1042,15 +1083,15 @@
@carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6);
-@carousel-control-color: #fff;
+@carousel-control-color: @white;
@carousel-control-width: 15%;
@carousel-control-opacity: .5;
@carousel-control-font-size: 20px;
-@carousel-indicator-active-bg: #fff;
-@carousel-indicator-border-color: #fff;
+@carousel-indicator-active-bg: @white;
+@carousel-indicator-border-color: @white;
-@carousel-caption-color: #fff;
+@carousel-caption-color: @white;
//== Close
@@ -1058,23 +1099,23 @@
//##
@close-font-weight: bold;
-@close-color: #000;
-@close-text-shadow: 0 1px 0 #fff;
+@close-color: @black;
+@close-text-shadow: 0 1px 0 @white;
//== Code
//
//##
-@code-color: #c7254e;
-@code-bg: #f9f2f4;
+@code-color: @rui-danger;
+@code-bg: @rui-danger-bg;
-@kbd-color: #fff;
-@kbd-bg: #333;
+@kbd-color: @white;
+@kbd-bg: @rui-gray-dark;
-@pre-bg: #f5f5f5;
+@pre-bg: @rui-gray-lightest;
@pre-color: @gray-dark;
-@pre-border-color: #ccc;
+@pre-border-color: @black20;
@pre-scrollable-max-height: 340px;
@@ -1190,8 +1231,8 @@
//== Cart Drawer
@cart-drawer-bg: @white;
@cart-drawer-height: 275px;
-@cart-icon-bg: #23566d;
-@cart-icon-badge: #23566d;
+@cart-icon-bg: @rui-brand-dark;
+@cart-icon-badge: @rui-brand-dark;
@cart-icon-badge-warning: @brand-warning;
@cart-icon-text: @white;
@cart-icon-color: @white;
@@ -1199,7 +1240,7 @@
@cart-icon-border: none;
@cart-icon-padding: (@navbar-padding-vertical - 4px) 30px (@navbar-padding-vertical - 4px) 24px;
-@cart-progress-active: #57aed1; //lighten(@brand-vivid-color, 8); // TODO: @cart-progress-active is used nowhere
+@cart-progress-active: @brand-success;
@cart-progress-visited: @brand-primary-dark;
@cart-progress-next: @brand-light-color;
@@ -1225,8 +1266,8 @@
//== Search
-@search-type-active: @brand-primary-color;
-@search-type-hover: fade(@brand-primary-color, 40%);
+@search-type-active: @brand-success;
+@search-type-hover: fade(@brand-success, 40%);
//== Responsive
diff --git a/imports/plugins/included/inventory/server/methods/inventory.app-test.js b/imports/plugins/included/inventory/server/methods/inventory.app-test.js
index df3ca6e9492..0153ac10cdd 100644
--- a/imports/plugins/included/inventory/server/methods/inventory.app-test.js
+++ b/imports/plugins/included/inventory/server/methods/inventory.app-test.js
@@ -76,7 +76,7 @@ describe("inventory method", function () {
sandbox.stub(Reaction, "hasPermission", () => true);
});
- it("should have option quantity greater then 0", function () {
+ it("should have option quantity greater than 0", function () {
// checking our option quantity. It should be greater than zero.
expect(qty).to.be.above(0);
});
@@ -94,98 +94,4 @@ describe("inventory method", function () {
expect(newQty).to.equal(0);
});
});
-
- //
- // inventory/register is invoked from hooks.js before cart update
- //
- describe("inventory/register invoked from hooks", function () {
- // it("should create backordered inventory when no inventory available", function (done) {
- // let product = Factory.create("product");
- // let cartId = Factory.create("cart")._id;
- // let productId = product._id;
- // let quantity = product.variants[0].inventoryQuantity;
- // let variantData = product.variants[0];
- //
- // spyOn(ReactionCore, "hasPermission").and.returnValue(true);
- // spyOn(ReactionCore.Collections.Cart.after, "update");
- // expect(_.size(product.variants)).toEqual(1);
- //
- // // add to cart
- // Meteor.call("cart/addToCart", cartId, productId, variantData, quantity, function () {
- // // fetch reserved inventory
- // let inventory = ReactionCore.Collections.Inventory.find({
- // "workflow.status": "backorder"
- // });
- //
- // let inventoryCount = _.size(inventory);
- // expect(inventoryCount).toEqual(quantity);
- // done();
- // });
- // });
-
- // it("should reserve product variants added to cart", function () {
- // let product = Factory.create("product");
- // let cartId = Factory.create("cart")._id;
- // let productId = product._id;
- // let quantity = product.variants[0].inventoryQuantity;
- // let variantData = product.variants[0];
- // expect(_.size(product.variants)).toEqual(1);
- // // create some inventory to reserve
- // spyOn(ReactionCore, "hasPermission").and.returnValue(true);
- //
- // //Setup a spy to watch for calls to Inventory.insert
- // spyOn(ReactionCore.Collections.Inventory, "insert");
- // spyOn(ReactionCore.Collections.Cart, "update");
- // Meteor.call("inventory/register", product);
- // expect(ReactionCore.Collections.Inventory.insert).toHaveBeenCalled();
- //
- // // add to cart (expect to reserve)
- // Meteor.call("cart/addToCart", cartId, productId, variantData, quantity);
- // expect(ReactionCore.Collections.Cart.update).toHaveBeenCalled();
- //
- // // fetch reserved inventory
- // console.log("productId", productId);
- // console.log("variantId", product.variants[0]._id);
- // console.log("orderId", cartId);
- //
- // let reservedInventory = ReactionCore.Collections.Inventory.find({
- // "workflow.status": "reserved"
- // }).count();
- // console.log('reservedInventory', reservedInventory);
- // expect(reservedInventory).toEqual(quantity);;
- // });
-
- //
- // it("should remove inventory reservation when removed cart", function (
- // done) {
- // done();
- // });
- //
-
- //
- // it("should converted backordered inventory to reserved when inventory available", function (
- // done) {
- // done();
- // });
- //
- // it("should update sold inventory on product and inventory when order fulfilled", function (
- // done) {
- // done();
- // });
- //
- // it("should make reserved inventory available when cart deleted", function (
- // done) {
- // done();
- // });
- //
- // it("should update cart reservations when product sold out", function (
- // done) {
- // done();
- // });
- //
- // it("should send inventory notification when low stock on product", function (
- // done) {
- // done();
- // });
- });
});
diff --git a/imports/plugins/included/jobcontrol/server/jobs/cart.js b/imports/plugins/included/jobcontrol/server/jobs/cart.js
index a8eadc23e16..53e34fe75d1 100644
--- a/imports/plugins/included/jobcontrol/server/jobs/cart.js
+++ b/imports/plugins/included/jobcontrol/server/jobs/cart.js
@@ -23,7 +23,7 @@ Hooks.Events.add("afterCoreInit", () => {
cancelRepeats: true
});
} else {
- Logger.warn("No cart cleanup schedule");
+ Logger.debug("No cart cleanup schedule");
}
});
@@ -72,7 +72,7 @@ export default () => {
}
});
} else {
- Logger.warn("No cart cleanup schedule");
+ Logger.debug("No cart cleanup schedule");
}
callback();
});
diff --git a/imports/plugins/included/launchdock-connect/client/index.js b/imports/plugins/included/launchdock-connect/client/index.js
deleted file mode 100644
index 21dda4283da..00000000000
--- a/imports/plugins/included/launchdock-connect/client/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import "../lib/collections";
-
-import "./templates/connect.html";
-import "./templates/connect.js";
-import "./templates/dashboard.html";
-import "./templates/dashboard.less";
-import "./templates/dashboard.js";
-import "./templates/settings.html";
-import "./templates/settings.js";
diff --git a/imports/plugins/included/launchdock-connect/client/templates/connect.html b/imports/plugins/included/launchdock-connect/client/templates/connect.html
deleted file mode 100644
index 946e356ca28..00000000000
--- a/imports/plugins/included/launchdock-connect/client/templates/connect.html
+++ /dev/null
@@ -1,53 +0,0 @@
-
- {{> Template.dynamic template="dashboardHeader"}}
- {{#if Template.subscriptionsReady}}
- {{#if ldConnection}}
- {{> launchdockDashboard}}
- {{else}}
- {{> reactionConnectDashboard}}
- {{/if}}
- {{/if}}
-
-
-
- {{#if Template.subscriptionsReady}}
- {{#if ldConnection}}
- {{> launchdockSettings}}
- {{else}}
- {{> reactionConnectSettings}}
- {{/if}}
- {{/if}}
-
-
-
-
-
-
-
-
-
Reaction, Meteor, and MongoDB bundled for production and deployed as a stack of Docker containers in a scalable private cluster!
-
Launchdock is a utility from the Reaction Core team, that manages this deployment.
-
- - Support for your custom SSL certificates
- - Support for your custom domains
- - Private scaling Application and DB cluster
-
-
Go ahead, get connected with Reaction
-
-
-
-
-
-
-
-
-
-
-
diff --git a/imports/plugins/included/launchdock-connect/client/templates/connect.js b/imports/plugins/included/launchdock-connect/client/templates/connect.js
deleted file mode 100644
index da6cefee8bb..00000000000
--- a/imports/plugins/included/launchdock-connect/client/templates/connect.js
+++ /dev/null
@@ -1,29 +0,0 @@
-import { Template } from "meteor/templating";
-import Launchdock from "../../lib/launchdock";
-
-/**
- * Checks to see if we have a valid connection to ld,
- * and currently assumes you don't have a launchdock account
- * rather than being some kind of status indicator (really should be both)
- */
-
-Template.connectDashboard.onCreated(function () {
- this.subscribe("launchdock-auth");
-});
-
-Template.connectDashboard.helpers({
- ldConnection() {
- return Launchdock.connect();
- }
-});
-
-
-Template.connectSettings.onCreated(function () {
- this.subscribe("launchdock-auth");
-});
-
-Template.connectSettings.helpers({
- ldConnection() {
- return Launchdock.connect();
- }
-});
diff --git a/imports/plugins/included/launchdock-connect/client/templates/dashboard.html b/imports/plugins/included/launchdock-connect/client/templates/dashboard.html
deleted file mode 100644
index 56a9fe5038f..00000000000
--- a/imports/plugins/included/launchdock-connect/client/templates/dashboard.html
+++ /dev/null
@@ -1,112 +0,0 @@
-
-
- {{#with packageData}}
-
-
- {{#if launchdockDataReady}}
-
-
-
-
Account Status
-
-
- {{#if isSubscribed}}
-
-
Current Plan:
-
{{plan}} Subscription
-
-
-
Next Payment Due:
-
{{nextPayment}}
-
- {{else}}
-
- Free trial ends: {{trial.ends}} ({{trial.daysRemaining}})
-
-
- Select a payment period to activate your shop:
-
-
-
-
-
-
-
-
-
-
-
Due: $540 for 12 months
-
-
-
- By clicking Sign Up Now, you agree that to ensure uninterrupted service, your shop will be set to continuous auto-renewal payments of $540 for 12 months with your next payment due on {{yearlyPaymentDate}}. You can cancel your service or disable auto-renewal at any time by contacting us. You agree to our Terms of Service and Privacy Policy.
-
-
-
- {{/if}}
-
-
-
-
-
-
-
-
-
SSL Settings
-
-
- {{#if launchdockStack.defaultDomain}}
-
Default Domain Name
-
-
- https://{{launchdockStack.defaultDomain}}
-
-
-
- {{/if}}
-
Custom Domain Name
- {{#if settings.ssl.domain}}
-
-
- https://{{settings.ssl.domain}}
-
-
-
- {{else}}
-
Custom SSL not configured yet.
-
- {{/if}}
- {{#if launchdockStack.endpoint}}
-
Create a CNAME record for your domain that points to:
-
-
{{launchdockStack.endpoint}}
- {{/if}}
-
-
-
-
- {{else}}
-
-
-
- {{/if}}
-
-
- {{/with}}
-
diff --git a/imports/plugins/included/launchdock-connect/client/templates/dashboard.js b/imports/plugins/included/launchdock-connect/client/templates/dashboard.js
deleted file mode 100644
index 890ffc76682..00000000000
--- a/imports/plugins/included/launchdock-connect/client/templates/dashboard.js
+++ /dev/null
@@ -1,220 +0,0 @@
-import moment from "moment";
-import { Meteor } from "meteor/meteor";
-import { Template } from "meteor/templating";
-import { Mongo } from "meteor/mongo";
-import { ReactiveVar } from "meteor/reactive-var";
-import { ReactiveStripe } from "meteor/jeremy:stripe";
-import { Packages } from "/lib/collections";
-import Launchdock from "../../lib/launchdock";
-
-Template.launchdockDashboard.onCreated(function () {
- // create and return connection
- const launchdock = Launchdock.connect();
-
- // remote users collection (only contains current user)
- this.LaunchdockUsers = new Mongo.Collection("users", {
- connection: launchdock
- });
-
- // remote stacks collection (only contains current stack)
- this.LaunchdockStacks = new Mongo.Collection("stacks", {
- connection: launchdock
- });
-
- // remote settings collection (only contains Stripe public key)
- this.LaunchdockSettings = new Mongo.Collection("settings", {
- connection: launchdock
- });
-
- const user = Meteor.user();
-
- // subscribe to user/stack details
- this.ldStackSub = launchdock.subscribe("reaction-account-info", user.services.launchdock.stackId);
-
- // Stripe public key for Launchdock
- launchdock.subscribe("launchdock-stripe-public-key");
-
- // setup Stripe client libs
- this.autorun(() => {
- this.stripeKey = new ReactiveVar();
- const s = this.LaunchdockSettings.findOne();
-
- if (s) {
- const key = s.stripeLivePublishableKey || s.stripeTestPublishableKey;
-
- // store key in ReactiveVar on template instance
- this.stripeKey.set(key);
-
- // load client side Stripe libs
- ReactiveStripe.load(key);
- }
- });
-});
-
-
-Template.launchdockDashboard.helpers({
-
- packageData() {
- return Packages.findOne({
- name: "reaction-connect"
- });
- },
-
- launchdockDataReady() {
- return Template.instance().ldStackSub.ready();
- },
-
- launchdockStack() {
- return Template.instance().LaunchdockStacks.findOne();
- },
-
- trial() {
- const stack = Template.instance().LaunchdockStacks.findOne();
- // calculate the trial end date and days remaining
- let ends;
- let daysRemaining;
- let daySuffix;
-
- if (stack) {
- const startDate = stack.createdAt;
- ends = new Date();
- ends.setDate(startDate.getDate() + 30);
- const now = new Date();
- const msPerDay = 24 * 60 * 60 * 1000;
- const timeLeft = ends.getTime() - now.getTime();
- const daysLeft = timeLeft / msPerDay;
- daysRemaining = Math.floor(daysLeft);
- daySuffix = daysRemaining === 1 ? " day" : " days";
- }
- return {
- ends: moment(ends).format("MMMM Do YYYY"),
- daysRemaining: daysRemaining + daySuffix
- };
- },
-
- shopCreatedAt() {
- const stack = Template.instance().LaunchdockStacks.findOne();
- return stack ? moment(stack.createdAt).format("MMMM Do YYYY, h:mma") : "";
- },
-
- isSubscribed() {
- const user = Template.instance().LaunchdockUsers.findOne();
- return !!(user && user.subscription && user.subscription.status === "active");
- },
-
- plan() {
- const user = Template.instance().LaunchdockUsers.findOne();
- return user && user.subscription ? user.subscription.plan.name : null;
- },
-
- nextPayment() {
- const user = Template.instance().LaunchdockUsers.findOne();
- if (user && user.subscription) {
- const nextPayment = user.subscription.next_payment;
- return moment(nextPayment).format("LL");
- }
- return null;
- },
-
- yearlyPaymentDate() {
- const today = new Date();
- const nextDue = new Date();
- nextDue.setDate(today.getDate() + 365);
-
- return moment(nextDue).format("LL");
- }
-});
-
-
-Template.launchdockDashboard.events({
- // open settings panel
- "click [data-event-action=showLaunchdockSettings]"() {
- Reaction.showActionView({
- label: "SSL Settings",
- template: "connectSettings",
- data: this
- });
- },
-
- // change UI based on which subscription option is chosen
- "change input[name='plan-choice']"(e, t) {
- const plan = t.$("input[name='plan-choice']:checked").val();
-
- let dueToday;
- let term;
-
- if (plan === "Yearly") {
- dueToday = "$540 for 12 months";
- term = dueToday;
- daysFromNow = 365;
- } else {
- dueToday = "$50 for first month";
- term = "$50 per month";
- daysFromNow = 30;
- }
-
- const today = new Date();
- const nextDue = new Date();
- nextDue.setDate(today.getDate() + daysFromNow);
-
- t.$(".price").text(dueToday);
- t.$(".term").text(term);
- t.$(".next-due").text(moment(nextDue).format("LL"));
- },
-
- // trigger subscription checkout
- "click .checkout"(e, t) {
- e.preventDefault();
-
- const stripeKey = Template.instance().stripeKey.get();
-
- if (!stripeKey) {
- Alerts.add("Unable to process a payment. Please contact support.", "danger");
- }
-
- const plan = t.$("input[name='plan-choice']:checked").val();
-
- let price;
-
- if (plan === "Yearly") {
- price = 54000;
- } else {
- price = 5000;
- }
-
- const user = Meteor.user();
-
- const charge = StripeCheckout.configure({
- key: stripeKey,
- image: "https://reactioncommerce.com/images/reaction-logo.png",
- locale: "auto",
- email: user.emails[0].address,
- panelLabel: `Subscribe (${plan.toLowerCase()})`,
- token: (token) => {
- const options = {
- cardToken: token.id,
- plan: plan.toLowerCase(),
- stackId: user.services.launchdock.stackId
- };
-
- const launchdock = Launchdock.connect();
-
- launchdock.call("stripe/createCustomerAndSubscribe", options, (err) => {
- if (err) {
- Alerts.add("Unable to process a payment. Please contact support.", "danger");
- } else {
- Alerts.add("Thank you for your payment!", "success", {
- autoHide: true
- });
- }
- });
- }
- });
-
- charge.open({
- name: "Reaction Commerce",
- description: `${plan} Subscription`,
- amount: price
- });
- }
-});
diff --git a/imports/plugins/included/launchdock-connect/client/templates/dashboard.less b/imports/plugins/included/launchdock-connect/client/templates/dashboard.less
deleted file mode 100644
index 4fd3469db0f..00000000000
--- a/imports/plugins/included/launchdock-connect/client/templates/dashboard.less
+++ /dev/null
@@ -1,83 +0,0 @@
-@account-status-brand-color: #238cc3;
-
-.account-status {
-
- a {
- color: darken(@account-status-brand-color, 10%);
- font-weight: bold;
- transition: color .7s;
-
- &:hover {
- color: darken(@account-status-brand-color, 30%);
- text-decoration: none;
- }
- }
-
- .trial-info {
- color: darken(@account-status-brand-color, 30%);
- margin-bottom: 2rem;
- }
-
- .trial-ends-date {
- font-size: 1.4rem;
- }
-
- .plan-choice:nth-of-type(1) {
- margin: 2rem 0 .8rem 0;
- }
-
- .most-popular {
- background-color: #afe4fe;
- padding: 2px 4px;
- border-radius: 3px;
- }
-
- .price-breakdown {
- font-weight: normal;
- }
-
-
- .due-today {
- margin: 2rem 0;
-
- h4 {
- font-weight: bold;
- color: darken(@account-status-brand-color, 30%);
-
- .price {
- font-size: 1.5rem;
- font-weight: normal;
- }
- }
- }
-
- .terms {
- font-size: 1.2rem;
- margin-bottom: 3rem;
- }
-
- button.checkout {
- background-color: @account-status-brand-color;
- color: #fff;
- padding-left: 70px;
- padding-right: 70px;
- border-radius: 2px;
- display: block;
- margin: 0 auto;
- transition: all .5s;
-
- &:hover {
- background-color: darken(@account-status-brand-color, 15%);
- box-shadow: 0 2px 2px 1px rgba(0, 0, 0, .25);
- }
- }
-}
-
-.connect-account.loading {
- width: 50px;
- margin: 40px auto;
-
- .fa-spin {
- font-size: 55px;
- }
-}
diff --git a/imports/plugins/included/launchdock-connect/client/templates/settings.html b/imports/plugins/included/launchdock-connect/client/templates/settings.html
deleted file mode 100644
index 783f0095fc3..00000000000
--- a/imports/plugins/included/launchdock-connect/client/templates/settings.html
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
- {{#with packageData}}
-
- {{/with}}
-
diff --git a/imports/plugins/included/launchdock-connect/client/templates/settings.js b/imports/plugins/included/launchdock-connect/client/templates/settings.js
deleted file mode 100644
index 4390f64017f..00000000000
--- a/imports/plugins/included/launchdock-connect/client/templates/settings.js
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Template } from "meteor/templating";
-import { Packages } from "/lib/collections";
-
-
-Template.launchdockSettings.onCreated(function () {
- this.subscribe("launchdock-auth");
-});
-
-
-Template.launchdockSettings.helpers({
- packageData() {
- return Packages.findOne({
- name: "reaction-connect"
- });
- }
-});
-
-
-Template.launchdockSettings.events({
- "submit #launchdock-ssl-update-form"(event, tmpl) {
- event.preventDefault();
-
- const opts = {
- domain: tmpl.find("input[name='ssl-domain']").value,
- privateKey: tmpl.find("textarea[name='ssl-private-key']").value,
- publicCert: tmpl.find("textarea[name='ssl-certificate']").value
- };
-
- Meteor.call("launchdock/setCustomSsl", opts, (err) => {
- if (err) {
- Alerts.removeSeen();
- Alerts.add("SSL settings update failed. " + err.reason, "danger");
- return;
- }
- Alerts.add("SSL settings saved. Connecting to Launckdock...", "success", {
- autoHide: true
- });
- });
- }
-});
diff --git a/imports/plugins/included/launchdock-connect/lib/collections.js b/imports/plugins/included/launchdock-connect/lib/collections.js
deleted file mode 100644
index 2d94b3759a7..00000000000
--- a/imports/plugins/included/launchdock-connect/lib/collections.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import * as Schemas from "/lib/collections/schemas";
-
-Schemas.LaunchdockPackageConfig = new SimpleSchema([
- Schemas.PackageConfig, {
- "settings.ssl.domain": {
- type: String,
- label: "Custom Domain"
- },
- "settings.ssl.privateKey": {
- type: String,
- label: "SSL Private Key"
- },
- "settings.ssl.certificate": {
- type: String,
- label: "SSL Certificate"
- }
- }
-]);
diff --git a/imports/plugins/included/launchdock-connect/lib/launchdock.js b/imports/plugins/included/launchdock-connect/lib/launchdock.js
deleted file mode 100644
index 28418d9e80e..00000000000
--- a/imports/plugins/included/launchdock-connect/lib/launchdock.js
+++ /dev/null
@@ -1,49 +0,0 @@
-import { Meteor } from "meteor/meteor";
-import { DDP } from "meteor/ddp";
-
-const Launchdock = {
- /*
- * Create authenticated DDP connection to Launchdock
- */
- connect() {
- let url;
- let username;
- let pw;
-
- /*
- * client login info
- */
- if (Meteor.isClient) {
- const user = Meteor.user();
-
- if (!user || !user.services || !user.services.launchdock) {
- return null;
- }
-
- url = user.services.launchdock.url;
- username = user.services.launchdock.username;
- pw = user.services.launchdock.auth;
- }
-
- /*
- * server login info
- */
- if (Meteor.isServer) {
- url = process.env.LAUNCHDOCK_URL;
- username = process.env.LAUNCHDOCK_USERNAME;
- pw = process.env.LAUNCHDOCK_AUTH;
- }
-
- if (!url || !username || !pw) {
- return null;
- }
-
- // create and return connection
- const launchdock = DDP.connect(url);
- DDP.loginWithPassword(launchdock, { username: username }, pw);
-
- return launchdock;
- }
-};
-
-export default Launchdock;
diff --git a/imports/plugins/included/launchdock-connect/register.js b/imports/plugins/included/launchdock-connect/register.js
deleted file mode 100644
index 999763efc14..00000000000
--- a/imports/plugins/included/launchdock-connect/register.js
+++ /dev/null
@@ -1,32 +0,0 @@
-import { Reaction } from "/server/api";
-
-Reaction.registerPackage({
- label: "Reaction Connect",
- name: "reaction-connect",
- icon: "fa fa-rocket",
- autoEnable: true,
- settings: {
- name: "Connect"
- },
- registry: [
- {
- provides: "dashboard",
- label: "Connect",
- name: "reaction-connect",
- route: "/dashboard/connect",
- description: "Connect Reaction as a deployed service",
- icon: "fa fa-rocket",
- priority: 1,
- container: "utilities"
- },
- {
- provides: "settings",
- route: "/dashboard/connect/settings",
- name: "reaction-connect/settings",
- label: "Reaction Connect",
- icon: "fa fa-rocket",
- container: "reaction-connect",
- template: "connectSettings"
- }
- ]
-});
diff --git a/imports/plugins/included/launchdock-connect/server/hooks.js b/imports/plugins/included/launchdock-connect/server/hooks.js
deleted file mode 100644
index 1af481945f6..00000000000
--- a/imports/plugins/included/launchdock-connect/server/hooks.js
+++ /dev/null
@@ -1,29 +0,0 @@
-import { Meteor } from "meteor/meteor";
-import { Hooks, Logger } from "/server/api";
-
-/**
- * Hook to setup default admin user with Launchdock credentials (if they exist)
- */
-
-Hooks.Events.add("afterCreateDefaultAdminUser", (user) => {
- if (process.env.LAUNCHDOCK_USERID) {
- Meteor.users.update({
- _id: user._id
- }, {
- $set: {
- "services.launchdock.userId": process.env.LAUNCHDOCK_USERID,
- "services.launchdock.username": process.env.LAUNCHDOCK_USERNAME,
- "services.launchdock.auth": process.env.LAUNCHDOCK_AUTH,
- "services.launchdock.url": process.env.LAUNCHDOCK_URL,
- "services.launchdock.stackId": process.env.LAUNCHDOCK_STACK_ID
- }
- }, (err) => {
- if (err) {
- Logger.error(err);
- } else {
- Logger.debug("Updated default admin with Launchdock account info.");
- }
- });
- }
- return user;
-});
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/ar.json b/imports/plugins/included/launchdock-connect/server/i18n/ar.json
deleted file mode 100644
index 4a8133343e6..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/ar.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[{
- "i18n": "ar",
- "ns": "reaction-connect",
- "translation": {
- "reaction-connect": {
- "admin": {
- "dashboard": {
- "connectLabel": "الاتصال",
- "connectTitle": "الاتصال",
- "connectDescription": "تواصل ردود الفعل كخدمة نشر"
- },
- "settings": {
- "reactionConnectLabel": "رد فعل الاتصال"
- }
- }
- }
- }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/bg.json b/imports/plugins/included/launchdock-connect/server/i18n/bg.json
deleted file mode 100644
index 1d9181c832b..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/bg.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[{
- "i18n": "bg",
- "ns": "reaction-connect",
- "translation": {
- "reaction-connect": {
- "admin": {
- "dashboard": {
- "connectLabel": "Свържете",
- "connectTitle": "Свържете",
- "connectDescription": "Свържете Реакция като разгърнати услуга"
- },
- "settings": {
- "reactionConnectLabel": "реакция Connect"
- }
- }
- }
- }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/cs.json b/imports/plugins/included/launchdock-connect/server/i18n/cs.json
deleted file mode 100644
index 47e23fbb43f..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/cs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[{
- "i18n": "cs",
- "ns": "reaction-connect",
- "translation": {
- "reaction-connect": {
- "admin": {
- "dashboard": {
- "connectLabel": "Připojit",
- "connectTitle": "Připojit",
- "connectDescription": "Připojit reakce jako rozvinuté služby"
- },
- "settings": {
- "reactionConnectLabel": "reakce Connect"
- }
- }
- }
- }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/de.json b/imports/plugins/included/launchdock-connect/server/i18n/de.json
deleted file mode 100644
index cf07d857577..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/de.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[{
- "i18n": "de",
- "ns": "reaction-connect",
- "translation": {
- "reaction-connect": {
- "admin": {
- "dashboard": {
- "connectLabel": "Verbinden",
- "connectTitle": "Verbinden",
- "connectDescription": "Verbinden Reaktion als bereitgestellten Dienst"
- },
- "settings": {
- "reactionConnectLabel": "Die Reaktion Connect"
- }
- }
- }
- }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/el.json b/imports/plugins/included/launchdock-connect/server/i18n/el.json
deleted file mode 100644
index f05db90c402..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/el.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[{
- "i18n": "el",
- "ns": "reaction-connect",
- "translation": {
- "reaction-connect": {
- "admin": {
- "dashboard": {
- "connectLabel": "Συνδέω",
- "connectTitle": "Συνδέω",
- "connectDescription": "Συνδέστε Αντίδραση ως αναπτυχθεί υπηρεσία"
- },
- "settings": {
- "reactionConnectLabel": "αντίδραση Connect"
- }
- }
- }
- }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/en.json b/imports/plugins/included/launchdock-connect/server/i18n/en.json
deleted file mode 100644
index a0c25c447d6..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/en.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[{
- "i18n": "en",
- "ns": "reaction-connect",
- "translation": {
- "reaction-connect": {
- "admin": {
- "dashboard": {
- "connectLabel": "Connect",
- "connectTitle": "Connect",
- "connectDescription": "Connect Reaction as a deployed service"
- },
- "settings": {
- "reactionConnectLabel": "Reaction Connect"
- }
- }
- }
- }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/es.json b/imports/plugins/included/launchdock-connect/server/i18n/es.json
deleted file mode 100644
index a465cc93ac0..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/es.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[{
- "i18n": "es",
- "ns": "reaction-connect",
- "translation": {
- "reaction-connect": {
- "admin": {
- "dashboard": {
- "connectLabel": "Conectar",
- "connectTitle": "Conectar",
- "connectDescription": "Conectar reacción como un servicio desplegado"
- },
- "settings": {
- "reactionConnectLabel": "reacción Conectar"
- }
- }
- }
- }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/fr.json b/imports/plugins/included/launchdock-connect/server/i18n/fr.json
deleted file mode 100644
index ad8b73737c7..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/fr.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[{
- "i18n": "fr",
- "ns": "reaction-connect",
- "translation": {
- "reaction-connect": {
- "admin": {
- "dashboard": {
- "connectLabel": "Relier",
- "connectTitle": "Relier",
- "connectDescription": "Connectez réaction en tant que service déployé"
- },
- "settings": {
- "reactionConnectLabel": "réaction Connect"
- }
- }
- }
- }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/he.json b/imports/plugins/included/launchdock-connect/server/i18n/he.json
deleted file mode 100644
index 506cc4b7719..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/he.json
+++ /dev/null
@@ -1,5 +0,0 @@
-[{
- "i18n": "he",
- "ns": "reaction-connect",
- "translation": { }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/hr.json b/imports/plugins/included/launchdock-connect/server/i18n/hr.json
deleted file mode 100644
index 5bcca8fc630..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/hr.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[{
- "i18n": "hr",
- "ns": "reaction-connect",
- "translation": {
- "reaction-connect": {
- "admin": {
- "dashboard": {
- "connectLabel": "Spojiti",
- "connectTitle": "Spojiti",
- "connectDescription": "Povezivanje reakcija kao razmještene usluge"
- },
- "settings": {
- "reactionConnectLabel": "reakcija Connect"
- }
- }
- }
- }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/hu.json b/imports/plugins/included/launchdock-connect/server/i18n/hu.json
deleted file mode 100644
index 348f0ea2969..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/hu.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[{
- "i18n": "hu",
- "ns": "reaction-connect",
- "translation": {
- "reaction-connect": {
- "admin": {
- "dashboard": {
- "connectLabel": "Csatlakozás",
- "connectTitle": "Csatlakozás",
- "connectDescription": "Csatlakozás Reakció a telepített szolgáltatás"
- },
- "settings": {
- "reactionConnectLabel": "reakció Csatlakozás"
- }
- }
- }
- }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/index.js b/imports/plugins/included/launchdock-connect/server/i18n/index.js
deleted file mode 100644
index 54444fb4957..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/index.js
+++ /dev/null
@@ -1,33 +0,0 @@
-import { loadTranslations } from "/server/startup/i18n";
-
-import ar from "./ar.json";
-import bg from "./bg.json";
-import cs from "./cs.json";
-import de from "./de.json";
-import el from "./el.json";
-import en from "./en.json";
-import es from "./es.json";
-import fr from "./fr.json";
-import he from "./he.json";
-import hr from "./hr.json";
-import hu from "./hu.json";
-import it from "./it.json";
-import my from "./my.json";
-import nb from "./nb.json";
-import nl from "./nl.json";
-import pl from "./pl.json";
-import pt from "./pt.json";
-import ro from "./ro.json";
-import ru from "./ru.json";
-import sl from "./sl.json";
-import sv from "./sv.json";
-import tr from "./tr.json";
-import vi from "./vi.json";
-import zh from "./zh.json";
-
-//
-// we want all the files in individual
-// imports for easier handling by
-// automated translation software
-//
-loadTranslations([ar, bg, cs, de, el, en, es, fr, he, hr, hu, it, my, nb, nl, pl, pt, ro, ru, sl, sv, tr, vi, zh]);
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/it.json b/imports/plugins/included/launchdock-connect/server/i18n/it.json
deleted file mode 100644
index 2d70e7cbef4..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/it.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[{
- "i18n": "it",
- "ns": "reaction-connect",
- "translation": {
- "reaction-connect": {
- "admin": {
- "dashboard": {
- "connectLabel": "Collegare",
- "connectTitle": "Collegare",
- "connectDescription": "Collegare reazione come un servizio distribuito"
- },
- "settings": {
- "reactionConnectLabel": "reazione Connect"
- }
- }
- }
- }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/my.json b/imports/plugins/included/launchdock-connect/server/i18n/my.json
deleted file mode 100644
index 3c882fb8d61..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/my.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[{
- "i18n": "my",
- "ns": "reaction-connect",
- "translation": {
- "reaction-connect": {
- "admin": {
- "dashboard": {
- "connectLabel": "ဆက်",
- "connectTitle": "ဆက်",
- "connectDescription": "တစ်တပ်ဖြန့်ဝန်ဆောင်မှုအဖြစ်တုံ့ပြန်မှုချိတ်ဆက်ပါ"
- },
- "settings": {
- "reactionConnectLabel": "တုံ့ပြန်မှု Connect ကို"
- }
- }
- }
- }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/nb.json b/imports/plugins/included/launchdock-connect/server/i18n/nb.json
deleted file mode 100644
index 21ef5f82ef7..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/nb.json
+++ /dev/null
@@ -1,5 +0,0 @@
-[{
- "i18n": "nb",
- "ns": "reaction-connect",
- "translation": { }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/nl.json b/imports/plugins/included/launchdock-connect/server/i18n/nl.json
deleted file mode 100644
index b53a0000fff..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/nl.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[{
- "i18n": "nl",
- "ns": "reaction-connect",
- "translation": {
- "reaction-connect": {
- "admin": {
- "dashboard": {
- "connectLabel": "Aansluiten",
- "connectTitle": "Aansluiten",
- "connectDescription": "Sluit Reaction als ingezet dienst"
- },
- "settings": {
- "reactionConnectLabel": "reactie Connect"
- }
- }
- }
- }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/pl.json b/imports/plugins/included/launchdock-connect/server/i18n/pl.json
deleted file mode 100644
index d62f78b5f50..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/pl.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[{
- "i18n": "pl",
- "ns": "reaction-connect",
- "translation": {
- "reaction-connect": {
- "admin": {
- "dashboard": {
- "connectLabel": "Połączyć",
- "connectTitle": "Połączyć",
- "connectDescription": "Podłączyć reakcyjnej w postaci wdrożonej usługi"
- },
- "settings": {
- "reactionConnectLabel": "reakcja Połącz"
- }
- }
- }
- }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/pt.json b/imports/plugins/included/launchdock-connect/server/i18n/pt.json
deleted file mode 100644
index 9d43ec1def5..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/pt.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[{
- "i18n": "pt",
- "ns": "reaction-connect",
- "translation": {
- "reaction-connect": {
- "admin": {
- "dashboard": {
- "connectLabel": "Conectar",
- "connectTitle": "Conectar",
- "connectDescription": "Ligue Reaction como um serviço implantado"
- },
- "settings": {
- "reactionConnectLabel": "reação Ligar"
- }
- }
- }
- }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/ro.json b/imports/plugins/included/launchdock-connect/server/i18n/ro.json
deleted file mode 100644
index b5df4b89dd9..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/ro.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[{
- "i18n": "ro",
- "ns": "reaction-connect",
- "translation": {
- "reaction-connect": {
- "admin": {
- "dashboard": {
- "connectLabel": "Conectați",
- "connectTitle": "Conectați",
- "connectDescription": "Reacția a conecta ca un serviciu implementat"
- },
- "settings": {
- "reactionConnectLabel": "reacție Connect"
- }
- }
- }
- }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/ru.json b/imports/plugins/included/launchdock-connect/server/i18n/ru.json
deleted file mode 100644
index 3c022308793..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/ru.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[{
- "i18n": "ru",
- "ns": "reaction-connect",
- "translation": {
- "reaction-connect": {
- "admin": {
- "dashboard": {
- "connectLabel": "Подключать",
- "connectTitle": "Подключать",
- "connectDescription": "Подключение реакции в качестве развернутой службы"
- },
- "settings": {
- "reactionConnectLabel": "Реакция Connect"
- }
- }
- }
- }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/sl.json b/imports/plugins/included/launchdock-connect/server/i18n/sl.json
deleted file mode 100644
index c56f3e420e2..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/sl.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[{
- "i18n": "sl",
- "ns": "reaction-connect",
- "translation": {
- "reaction-connect": {
- "admin": {
- "dashboard": {
- "connectLabel": "Poveži",
- "connectTitle": "Poveži",
- "connectDescription": "Povežite Reakcija kot razporejeno storitev"
- },
- "settings": {
- "reactionConnectLabel": "reakcija Connect"
- }
- }
- }
- }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/sv.json b/imports/plugins/included/launchdock-connect/server/i18n/sv.json
deleted file mode 100644
index 226d33d7959..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/sv.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[{
- "i18n": "sv",
- "ns": "reaction-connect",
- "translation": {
- "reaction-connect": {
- "admin": {
- "dashboard": {
- "connectLabel": "Ansluta",
- "connectTitle": "Ansluta",
- "connectDescription": "Anslut reaktion som en utvecklad tjänst"
- },
- "settings": {
- "reactionConnectLabel": "reaktions~~POS=TRUNC Connect"
- }
- }
- }
- }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/tr.json b/imports/plugins/included/launchdock-connect/server/i18n/tr.json
deleted file mode 100644
index 1ebc549bdb7..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/tr.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[{
- "i18n": "tr",
- "ns": "reaction-connect",
- "translation": {
- "reaction-connect": {
- "admin": {
- "dashboard": {
- "connectLabel": "Bağlamak",
- "connectTitle": "Bağlamak",
- "connectDescription": "Açılmış bir hizmet olarak Tepki bağlayın"
- },
- "settings": {
- "reactionConnectLabel": "reaksiyon Bağlan"
- }
- }
- }
- }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/vi.json b/imports/plugins/included/launchdock-connect/server/i18n/vi.json
deleted file mode 100644
index 815b1da038c..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/vi.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[{
- "i18n": "vi",
- "ns": "reaction-connect",
- "translation": {
- "reaction-connect": {
- "admin": {
- "dashboard": {
- "connectLabel": "Kết nối",
- "connectTitle": "Kết nối",
- "connectDescription": "Kết nối phản ứng như một dịch vụ triển khai"
- },
- "settings": {
- "reactionConnectLabel": "phản ứng Connect"
- }
- }
- }
- }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/i18n/zh.json b/imports/plugins/included/launchdock-connect/server/i18n/zh.json
deleted file mode 100644
index e41bdad5347..00000000000
--- a/imports/plugins/included/launchdock-connect/server/i18n/zh.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[{
- "i18n": "zh",
- "ns": "reaction-connect",
- "translation": {
- "reaction-connect": {
- "admin": {
- "dashboard": {
- "connectLabel": "接",
- "connectTitle": "接",
- "connectDescription": "连接反应作为部署的服务"
- },
- "settings": {
- "reactionConnectLabel": "反应连接"
- }
- }
- }
- }
-}]
diff --git a/imports/plugins/included/launchdock-connect/server/index.js b/imports/plugins/included/launchdock-connect/server/index.js
deleted file mode 100644
index 25f35711e3d..00000000000
--- a/imports/plugins/included/launchdock-connect/server/index.js
+++ /dev/null
@@ -1,6 +0,0 @@
-import "../lib/collections";
-
-import "./hooks";
-import "./methods";
-import "./publications";
-import "./i18n";
diff --git a/imports/plugins/included/launchdock-connect/server/methods.js b/imports/plugins/included/launchdock-connect/server/methods.js
deleted file mode 100644
index 16a932fb56b..00000000000
--- a/imports/plugins/included/launchdock-connect/server/methods.js
+++ /dev/null
@@ -1,97 +0,0 @@
-import { Meteor } from "meteor/meteor";
-import { check } from "meteor/check";
-import { Packages } from "/lib/collections";
-import { Reaction, Logger } from "/server/api";
-import Launchdock from "../lib/launchdock";
-
-Meteor.methods({
- /**
- * Sets custom domain name, confirms SSL key/cert exists.
- * @param {Object} opts - custom SSL cert details
- * @return {Boolean} - returns true on successful update
- */
- "launchdock/setCustomSsl"(opts) {
- if (!Reaction.hasAdminAccess()) {
- const err = "Access denied";
- Logger.error(err);
- throw new Meteor.Error("auth-error", err);
- }
-
- if (!process.env.LAUNCHDOCK_USERID) {
- const err = "Launchdock credentials not found";
- Logger.error(err);
- throw new Meteor.Error("launchdock-credential-error", err);
- }
-
- check(opts, {
- domain: String,
- privateKey: String,
- publicCert: String
- });
-
- this.unblock();
-
- const ldConnect = Packages.findOne({
- name: "reaction-connect"
- });
-
- // save everything locally
- try {
- Packages.update(ldConnect._id, {
- $set: {
- "settings.ssl.domain": opts.domain,
- "settings.ssl.privateKey": opts.privateKey,
- "settings.ssl.certificate": opts.publicCert
- }
- });
- } catch (e) {
- Logger.error(e);
- throw new Meteor.Error(e);
- }
-
- // build args for method on Launchdock side
- const stackId = process.env.LAUNCHDOCK_STACK_ID;
- const ldArgs = {
- name: opts.domain,
- key: opts.privateKey,
- cert: opts.publicCert
- };
-
- const launchdock = Launchdock.connect(ldUrl);
-
- if (!launchdock) {
- const err = "Unable to connect to Launchdock";
- Logger.error(err);
- throw new Meteor.Error(err);
- }
-
- const result = launchdock.call("rancher/updateStackSSLCert", stackId, ldArgs);
-
- launchdock.disconnect();
-
- return result;
- },
-
-
- "launchdock/getDefaultDomain"() {
- if (!Reaction.hasAdminAccess()) {
- const err = "Access denied";
- Logger.error(err);
- throw new Meteor.Error("auth-error", err);
- }
-
- return process.env.LAUNCHDOCK_DEFAULT_DOMAIN;
- },
-
-
- "launchdock/getLoadBalancerEndpoint"() {
- if (!Reaction.hasAdminAccess()) {
- const err = "Access denied";
- Logger.error(err);
- throw new Meteor.Error("auth-error", err);
- }
-
- return process.env.LAUNCHDOCK_BALANCER_ENDPOINT;
- }
-
-});
diff --git a/imports/plugins/included/launchdock-connect/server/publications.js b/imports/plugins/included/launchdock-connect/server/publications.js
deleted file mode 100644
index 2f46b91a016..00000000000
--- a/imports/plugins/included/launchdock-connect/server/publications.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import { Meteor } from "meteor/meteor";
-import { Roles } from "meteor/alanning:roles";
-
-
-Meteor.publish("launchdock-auth", function () {
- // only publish Launchdock credentials for logged in admin/owner
- if (Roles.userIsInRole(this.userId, ["admin", "owner"])) {
- return Meteor.users.find({ _id: this.userId }, {
- fields: {
- "services.launchdock.userId": 1,
- "services.launchdock.username": 1,
- "services.launchdock.auth": 1,
- "services.launchdock.url": 1,
- "services.launchdock.stackId": 1
- }
- });
- }
- return this.ready();
-});
diff --git a/imports/plugins/included/notifications/client/styles/dropdown.css b/imports/plugins/included/notifications/client/styles/dropdown.css
index f442dcea832..98b90d0acf2 100644
--- a/imports/plugins/included/notifications/client/styles/dropdown.css
+++ b/imports/plugins/included/notifications/client/styles/dropdown.css
@@ -270,7 +270,10 @@ small.dropmenu-item-content {
text-decoration: none;
}
.unread {
- background-color:#f9f9f9 !important;
+ background-color: #F4F4FF !important;
+}
+.read {
+ background-color: #ffffff !important;
}
.notification:last-child {
border-bottom: 0;
@@ -313,9 +316,6 @@ a.notification:hover {
.dropdown-notifications .dropdown-footer {
background: #eeeeee;
}
-.notification-icon:hover {
- background: #eeeeee !important;
-}
.notification-icon:after {
position: absolute;
content: attr(data-count);
diff --git a/imports/plugins/included/notifications/client/styles/notifications.less b/imports/plugins/included/notifications/client/styles/notifications.less
index e2e3b270cd4..dc4e5eea611 100644
--- a/imports/plugins/included/notifications/client/styles/notifications.less
+++ b/imports/plugins/included/notifications/client/styles/notifications.less
@@ -22,6 +22,6 @@
}
.rui.navbar .notification-icon:hover {
- background-color: #4d4d4d;
- border-color: #dddddd;
-}
\ No newline at end of file
+ background-color: #e6e6e6;
+ border-color: #d9d9d9;
+}
diff --git a/imports/plugins/included/notifications/server/methods/notifications.js b/imports/plugins/included/notifications/server/methods/notifications.js
index 5d3c58bebaf..3fd6ec3afb9 100644
--- a/imports/plugins/included/notifications/server/methods/notifications.js
+++ b/imports/plugins/included/notifications/server/methods/notifications.js
@@ -27,10 +27,10 @@ Meteor.methods({
const values = {};
const types = {
orderCancelled: "Your order was canceled.",
- newOrder: "Your order is being processed.",
+ newOrder: "Your order was accepted",
forAdmin: "You have a new order.",
orderDelivered: "Your order has been delivered.",
- orderAccepted: "Your order has been accepted.",
+ orderProcessing: "Your order is being processed.",
orderShipped: "Your order has been shipped."
};
diff --git a/imports/plugins/included/payments-authnet/lib/collections/schemas/package.js b/imports/plugins/included/payments-authnet/lib/collections/schemas/authnet.js
similarity index 89%
rename from imports/plugins/included/payments-authnet/lib/collections/schemas/package.js
rename to imports/plugins/included/payments-authnet/lib/collections/schemas/authnet.js
index e96cffa36bc..d16142062cd 100644
--- a/imports/plugins/included/payments-authnet/lib/collections/schemas/package.js
+++ b/imports/plugins/included/payments-authnet/lib/collections/schemas/authnet.js
@@ -39,8 +39,7 @@ export const AuthNetPackageConfig = new SimpleSchema([
export const AuthNetPayment = new SimpleSchema({
payerName: {
type: String,
- label: "Cardholder name",
- regEx: /[A-Z][a-zA-Z]*/
+ label: "Cardholder name"
},
cardNumber: {
type: String,
@@ -64,7 +63,3 @@ export const AuthNetPayment = new SimpleSchema({
max: 4
}
});
-
-AuthNetPayment.messages({
- "regEx payerName": "[label] must include both first and last name"
-});
diff --git a/imports/plugins/included/payments-authnet/lib/collections/schemas/index.js b/imports/plugins/included/payments-authnet/lib/collections/schemas/index.js
index f9ee5dffc77..5397551d2ad 100644
--- a/imports/plugins/included/payments-authnet/lib/collections/schemas/index.js
+++ b/imports/plugins/included/payments-authnet/lib/collections/schemas/index.js
@@ -1 +1 @@
-export * from "./package";
+export * from "./authnet";
diff --git a/imports/plugins/included/payments-authnet/server/methods/authnet.js b/imports/plugins/included/payments-authnet/server/methods/authnet.js
index 5e23609701a..f155c010e38 100644
--- a/imports/plugins/included/payments-authnet/server/methods/authnet.js
+++ b/imports/plugins/included/payments-authnet/server/methods/authnet.js
@@ -38,6 +38,22 @@ function getSettings(settings, ref, valueName) {
return undefined;
}
+const ValidCardNumber = Match.Where(function (x) {
+ return /^[0-9]{14,16}$/.test(x);
+});
+
+const ValidExpireMonth = Match.Where(function (x) {
+ return /^[0-9]{1,2}$/.test(x);
+});
+
+const ValidExpireYear = Match.Where(function (x) {
+ return /^[0-9]{4}$/.test(x);
+});
+
+const ValidCVV = Match.Where(function (x) {
+ return /^[0-9]{3,4}$/.test(x);
+});
+
Meteor.methods({
authnetSubmit: function (transactionType = "authorizeTransaction", cardInfo, paymentInfo) {
check(transactionType, String);
@@ -198,19 +214,3 @@ function voidTransaction(transId, service) {
});
return Promise.await(transactionRequest);
}
-
-ValidCardNumber = Match.Where(function (x) {
- return /^[0-9]{14,16}$/.test(x);
-});
-
-ValidExpireMonth = Match.Where(function (x) {
- return /^[0-9]{1,2}$/.test(x);
-});
-
-ValidExpireYear = Match.Where(function (x) {
- return /^[0-9]{4}$/.test(x);
-});
-
-ValidCVV = Match.Where(function (x) {
- return /^[0-9]{3,4}$/.test(x);
-});
diff --git a/imports/plugins/included/payments-braintree/client/checkout/braintree.js b/imports/plugins/included/payments-braintree/client/checkout/braintree.js
index 321d8f5eaec..c8cb7d32b6d 100644
--- a/imports/plugins/included/payments-braintree/client/checkout/braintree.js
+++ b/imports/plugins/included/payments-braintree/client/checkout/braintree.js
@@ -16,32 +16,32 @@ Template.braintreePaymentForm.helpers({
});
-uiEnd = function (template, buttonText) {
+function uiEnd(template, buttonText) {
template.$(":input").removeAttr("disabled");
template.$("#btn-complete-order").text(buttonText);
return template.$("#btn-processing").addClass("hidden");
-};
+}
-paymentAlert = function (errorMessage) {
+function paymentAlert(errorMessage) {
return $(".alert").removeClass("hidden").text(errorMessage);
-};
+}
-hidePaymentAlert = function () {
+function hidePaymentAlert() {
return $(".alert").addClass("hidden").text("");
-};
+}
-handleBraintreeSubmitError = function (error) {
+function handleBraintreeSubmitError(error) {
const serverError = error !== null ? error.message : void 0;
if (serverError) {
return paymentAlert("Server Error " + serverError);
} else if (error) {
return paymentAlert("Oops! Credit card is invalid. Please check your information and try again.");
}
-};
+}
let submitting = false;
-submitToBrainTree = function (doc, template) {
+function submitToBrainTree(doc, template) {
submitting = true;
hidePaymentAlert();
const cardData = {
@@ -97,7 +97,7 @@ submitToBrainTree = function (doc, template) {
}
}
});
-};
+}
AutoForm.addHooks("braintree-payment-form", {
onSubmit: function (doc) {
@@ -133,13 +133,13 @@ const normalizedStates = {
default: "failed"
};
-normalizeState = function (stateString) {
+function normalizeState(stateString) {
let normalizedState = normalizedStates[stateString];
if (typeof normalizedState === "undefined") {
normalizedState = normalizedStates.default;
}
return normalizedState;
-};
+}
const normalizedModes = {
settled: "capture",
@@ -151,10 +151,10 @@ const normalizedModes = {
default: "capture"
};
-normalizeMode = function (modeString) {
+function normalizeMode(modeString) {
let normalizedMode = normalizedModes[modeString];
if (typeof normalizedMode === "undefined") {
normalizedMode = normalizedModes.default;
}
return normalizedMode;
-};
+}
diff --git a/imports/plugins/included/payments-braintree/lib/collections/schemas/braintree.js b/imports/plugins/included/payments-braintree/lib/collections/schemas/braintree.js
index 734d3729cf7..64aec2bdeb0 100644
--- a/imports/plugins/included/payments-braintree/lib/collections/schemas/braintree.js
+++ b/imports/plugins/included/payments-braintree/lib/collections/schemas/braintree.js
@@ -46,8 +46,7 @@ export const BraintreePackageConfig = new SimpleSchema([
export const BraintreePayment = new SimpleSchema({
payerName: {
type: String,
- label: "Cardholder name",
- regEx: /^\w+\s\w+$/
+ label: "Cardholder name"
},
cardNumber: {
type: String,
@@ -72,6 +71,3 @@ export const BraintreePayment = new SimpleSchema({
}
});
-BraintreePayment.messages({
- "regEx payerName": "[label] must include both first and last name"
-});
diff --git a/imports/plugins/included/payments-braintree/server/methods/braintreeApi.js b/imports/plugins/included/payments-braintree/server/methods/braintreeApi.js
index 909590d0160..43ef5e8ab35 100644
--- a/imports/plugins/included/payments-braintree/server/methods/braintreeApi.js
+++ b/imports/plugins/included/payments-braintree/server/methods/braintreeApi.js
@@ -1,12 +1,11 @@
/* eslint camelcase: 0 */
-// meteor modules
+import Braintree from "braintree";
+import accounting from "accounting-js";
+import Future from "fibers/future";
import { Meteor } from "meteor/meteor";
-// reaction modules
import { Packages } from "/lib/collections";
import { Reaction, Logger } from "/server/api";
-import Future from "fibers/future";
-import Braintree from "braintree";
-import accounting from "accounting-js";
+
export const BraintreeApi = {};
BraintreeApi.apiCall = {};
@@ -76,13 +75,13 @@ function getGateway() {
return gateway;
}
-getRefundDetails = function (refundId) {
+function getRefundDetails(refundId) {
check(refundId, String);
const gateway = getGateway();
const braintreeFind = Meteor.wrapAsync(gateway.transaction.find, gateway.transaction);
const findResults = braintreeFind(refundId);
return findResults;
-};
+}
BraintreeApi.apiCall.paymentSubmit = function (paymentSubmitDetails) {
diff --git a/imports/plugins/included/payments-example/server/methods/exampleapi.js b/imports/plugins/included/payments-example/server/methods/exampleapi.js
index 79e4cd383c1..40bf01ca00f 100644
--- a/imports/plugins/included/payments-example/server/methods/exampleapi.js
+++ b/imports/plugins/included/payments-example/server/methods/exampleapi.js
@@ -3,7 +3,7 @@
// And is called so that it can be stubbed out for testing. This would be a library
// like Stripe or Authorize.net usually just included with a NPM.require
-ThirdPartyAPI = {
+const ThirdPartyAPI = {
authorize: function (transactionType, cardData, paymentData) {
if (transactionType === "authorize") {
const results = {
@@ -64,7 +64,7 @@ export const cardSchema = new SimpleSchema({
type: { type: String }
});
-paymentDataSchema = new SimpleSchema({
+export const paymentDataSchema = new SimpleSchema({
total: { type: String },
currency: { type: String }
});
diff --git a/imports/plugins/included/payments-paypal/client/templates/checkout/return/done.js b/imports/plugins/included/payments-paypal/client/templates/checkout/return/done.js
index 11c6d12b306..e6e99997e97 100644
--- a/imports/plugins/included/payments-paypal/client/templates/checkout/return/done.js
+++ b/imports/plugins/included/payments-paypal/client/templates/checkout/return/done.js
@@ -49,7 +49,7 @@ Template.paypalDone.onRendered(function () {
Template.paypalDone.helpers({
checkoutUrl: function () {
- template = Template.instance();
+ const template = Template.instance();
return template.checkoutUrl;
}
});
diff --git a/imports/plugins/included/payments-paypal/lib/collections/schemas/paypal.js b/imports/plugins/included/payments-paypal/lib/collections/schemas/paypal.js
index 43dc1dbf50c..6138512dce7 100644
--- a/imports/plugins/included/payments-paypal/lib/collections/schemas/paypal.js
+++ b/imports/plugins/included/payments-paypal/lib/collections/schemas/paypal.js
@@ -74,8 +74,7 @@ export const PaypalPackageConfig = new SimpleSchema([
export const PaypalPayment = new SimpleSchema({
payerName: {
type: String,
- label: "Cardholder name",
- regEx: /[A-Z][a-zA-Z]*/
+ label: "Cardholder name"
},
cardNumber: {
type: String,
@@ -100,6 +99,3 @@ export const PaypalPayment = new SimpleSchema({
}
});
-PaypalPayment.messages({
- "regEx payerName": "[label] must include both first and last name"
-});
diff --git a/imports/plugins/included/payments-paypal/server/methods/express.js b/imports/plugins/included/payments-paypal/server/methods/express.js
index 41c40c91d03..df636108f09 100644
--- a/imports/plugins/included/payments-paypal/server/methods/express.js
+++ b/imports/plugins/included/payments-paypal/server/methods/express.js
@@ -375,14 +375,14 @@ function parseRefundReponse(response) {
return paypalArray;
}
-getSetting = function (shopId, parameter) {
+function getSetting(shopId, parameter) {
const settings = Packages.findOne({
name: "reaction-paypal",
shopId: shopId,
enabled: true
}).settings;
return settings[parameter];
-};
+}
// export methods to Meteor
Meteor.methods(methods);
diff --git a/imports/plugins/included/payments-stripe/client/checkout/stripe.js b/imports/plugins/included/payments-stripe/client/checkout/stripe.js
index dae9193d76d..550bae74f44 100644
--- a/imports/plugins/included/payments-stripe/client/checkout/stripe.js
+++ b/imports/plugins/included/payments-stripe/client/checkout/stripe.js
@@ -104,7 +104,7 @@ AutoForm.addHooks("stripe-payment-form", {
});
submitting = false;
- paymentMethod = {
+ const paymentMethod = {
processor: "Stripe",
storedCard: storedCard,
method: "credit",
diff --git a/imports/plugins/included/payments-stripe/lib/collections/schemas/stripe.js b/imports/plugins/included/payments-stripe/lib/collections/schemas/stripe.js
index 27d4cc19def..75a2210b6b9 100644
--- a/imports/plugins/included/payments-stripe/lib/collections/schemas/stripe.js
+++ b/imports/plugins/included/payments-stripe/lib/collections/schemas/stripe.js
@@ -55,7 +55,3 @@ export const StripePayment = new SimpleSchema({
label: "CVV"
}
});
-
-StripePayment.messages({
- "regEx payerName": "[label] must include both first and last name"
-});
diff --git a/imports/plugins/included/product-detail-simple/client/components/productDetail.js b/imports/plugins/included/product-detail-simple/client/components/productDetail.js
index ed360ed98bd..f1ade4cf46d 100644
--- a/imports/plugins/included/product-detail-simple/client/components/productDetail.js
+++ b/imports/plugins/included/product-detail-simple/client/components/productDetail.js
@@ -18,7 +18,7 @@ class ProductDetail extends Component {
render() {
return (
-
+
,
diff --git a/imports/plugins/included/product-detail-simple/client/containers/publishContainer.js b/imports/plugins/included/product-detail-simple/client/containers/publishContainer.js
index b22ccd5af58..021a230e823 100644
--- a/imports/plugins/included/product-detail-simple/client/containers/publishContainer.js
+++ b/imports/plugins/included/product-detail-simple/client/containers/publishContainer.js
@@ -3,7 +3,7 @@ import { Meteor } from "meteor/meteor";
import { composeWithTracker } from "/lib/api/compose";
import { Router } from "/client/api";
import { ReactionProduct } from "/lib/api";
-import { Tags, Media, Products } from "/lib/collections";
+import { Products } from "/lib/collections";
import PublishContainer from "/imports/plugins/core/revisions/client/containers/publishContainer";
class ProductPublishContainer extends Component {
@@ -71,24 +71,6 @@ function composer(props, onData) {
let revisonDocumentIds;
if (product) {
- if (_.isArray(product.hashtags)) {
- tags = _.map(product.hashtags, function (id) {
- return Tags.findOne(id);
- });
- }
-
- const selectedVariant = ReactionProduct.selectedVariant();
-
- if (selectedVariant) {
- media = Media.find({
- "metadata.variantId": selectedVariant._id
- }, {
- sort: {
- "metadata.priority": 1
- }
- });
- }
-
revisonDocumentIds = [product._id];
onData(null, {
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/ar.json b/imports/plugins/included/product-detail-simple/server/i18n/ar.json
index c765e154adf..1970eff6745 100644
--- a/imports/plugins/included/product-detail-simple/server/i18n/ar.json
+++ b/imports/plugins/included/product-detail-simple/server/i18n/ar.json
@@ -10,7 +10,8 @@
"inventoryAlerts": {
"adjustedQuantity": "تم تعديل كمية المنتج الخاص بك إلى الكمية القصوى في الأوراق المالية"
}
- }
+ },
+ "availableOptions": "خيارات متاحة"
}
}
}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/bg.json b/imports/plugins/included/product-detail-simple/server/i18n/bg.json
index 92d28697b36..ed7e7d7504e 100644
--- a/imports/plugins/included/product-detail-simple/server/i18n/bg.json
+++ b/imports/plugins/included/product-detail-simple/server/i18n/bg.json
@@ -10,7 +10,8 @@
"inventoryAlerts": {
"adjustedQuantity": "Вашият продукт количество бе коригиран до макс количество на склад"
}
- }
+ },
+ "availableOptions": "Налични варианти"
}
}
}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/cs.json b/imports/plugins/included/product-detail-simple/server/i18n/cs.json
index 33b4b4fe7f8..011a5bec26e 100644
--- a/imports/plugins/included/product-detail-simple/server/i18n/cs.json
+++ b/imports/plugins/included/product-detail-simple/server/i18n/cs.json
@@ -10,7 +10,8 @@
"inventoryAlerts": {
"adjustedQuantity": "Váš množství produktu byla upravena tak, aby max množství na skladě"
}
- }
+ },
+ "availableOptions": "dostupné možnosti"
}
}
}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/de.json b/imports/plugins/included/product-detail-simple/server/i18n/de.json
index a529a7a6c0d..b4e1332c113 100644
--- a/imports/plugins/included/product-detail-simple/server/i18n/de.json
+++ b/imports/plugins/included/product-detail-simple/server/i18n/de.json
@@ -10,7 +10,8 @@
"inventoryAlerts": {
"adjustedQuantity": "Ihre Produktmenge wurde die Höchstmenge eingestellt auf Lager"
}
- }
+ },
+ "availableOptions": "Verfügbare Optionen"
}
}
}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/el.json b/imports/plugins/included/product-detail-simple/server/i18n/el.json
index d959e6b0e53..bee39e538ed 100644
--- a/imports/plugins/included/product-detail-simple/server/i18n/el.json
+++ b/imports/plugins/included/product-detail-simple/server/i18n/el.json
@@ -10,7 +10,8 @@
"inventoryAlerts": {
"adjustedQuantity": "ποσότητα του προϊόντος σας έχει ρυθμιστεί στο μέγιστο ποσότητα στο απόθεμα"
}
- }
+ },
+ "availableOptions": "διαθέσιμες Επιλογές"
}
}
}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/en.json b/imports/plugins/included/product-detail-simple/server/i18n/en.json
index ef54a561984..12cf9f5c839 100644
--- a/imports/plugins/included/product-detail-simple/server/i18n/en.json
+++ b/imports/plugins/included/product-detail-simple/server/i18n/en.json
@@ -9,8 +9,14 @@
},
"inventoryAlerts": {
"adjustedQuantity": "Your product quantity has been adjusted to the max quantity in stock"
+ },
+ "mediaGallery": {
+ "deleteImage": "Click to remove image",
+ "addedImage": "This is a new image. Publish to save changes.",
+ "removedImage": "Image has been deleted. Publish to save changes."
}
- }
+ },
+ "availableOptions": "Available Options"
}
}
}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/es.json b/imports/plugins/included/product-detail-simple/server/i18n/es.json
index 26737c05d2d..d1ea84fd01b 100644
--- a/imports/plugins/included/product-detail-simple/server/i18n/es.json
+++ b/imports/plugins/included/product-detail-simple/server/i18n/es.json
@@ -10,7 +10,8 @@
"inventoryAlerts": {
"adjustedQuantity": "Su cantidad de producto se ha ajustado a la cantidad máxima en stock"
}
- }
+ },
+ "availableOptions": "Opciones disponibles"
}
}
}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/fr.json b/imports/plugins/included/product-detail-simple/server/i18n/fr.json
index ecfdc2c179d..b97cf697df3 100644
--- a/imports/plugins/included/product-detail-simple/server/i18n/fr.json
+++ b/imports/plugins/included/product-detail-simple/server/i18n/fr.json
@@ -10,7 +10,8 @@
"inventoryAlerts": {
"adjustedQuantity": "Votre quantité de produit a été ajustée à la quantité maximale en stock"
}
- }
+ },
+ "availableOptions": "Options disponibles"
}
}
}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/he.json b/imports/plugins/included/product-detail-simple/server/i18n/he.json
index 6fd78799e7f..5efe38e72b6 100644
--- a/imports/plugins/included/product-detail-simple/server/i18n/he.json
+++ b/imports/plugins/included/product-detail-simple/server/i18n/he.json
@@ -1,5 +1,9 @@
[{
"i18n": "he",
"ns": "product-detail-simple",
- "translation": { }
+ "translation": {
+ "product-detail-simple": {
+ "availableOptions": "אפשרויות זמינות"
+ }
+ }
}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/hr.json b/imports/plugins/included/product-detail-simple/server/i18n/hr.json
index 1e5068b30ed..0a6bb2b5ccf 100644
--- a/imports/plugins/included/product-detail-simple/server/i18n/hr.json
+++ b/imports/plugins/included/product-detail-simple/server/i18n/hr.json
@@ -10,7 +10,8 @@
"inventoryAlerts": {
"adjustedQuantity": "Vaš proizvod količina je prilagođena max količini na lageru"
}
- }
+ },
+ "availableOptions": "Dostupne opcije"
}
}
}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/hu.json b/imports/plugins/included/product-detail-simple/server/i18n/hu.json
index 35026e2236e..5138b65f40e 100644
--- a/imports/plugins/included/product-detail-simple/server/i18n/hu.json
+++ b/imports/plugins/included/product-detail-simple/server/i18n/hu.json
@@ -10,7 +10,8 @@
"inventoryAlerts": {
"adjustedQuantity": "A termék mennyisége állították be a max mennyiség raktáron"
}
- }
+ },
+ "availableOptions": "elérhető opciók"
}
}
}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/it.json b/imports/plugins/included/product-detail-simple/server/i18n/it.json
index 8dfc829e0c4..ab5e2bc5b4d 100644
--- a/imports/plugins/included/product-detail-simple/server/i18n/it.json
+++ b/imports/plugins/included/product-detail-simple/server/i18n/it.json
@@ -10,7 +10,8 @@
"inventoryAlerts": {
"adjustedQuantity": "La vostra quantità di prodotto è stato adattato per la quantità massima in magazzino"
}
- }
+ },
+ "availableOptions": "Opzioni disponibili"
}
}
}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/my.json b/imports/plugins/included/product-detail-simple/server/i18n/my.json
index 7c16ee1de3f..fc0be4a08c8 100644
--- a/imports/plugins/included/product-detail-simple/server/i18n/my.json
+++ b/imports/plugins/included/product-detail-simple/server/i18n/my.json
@@ -10,7 +10,8 @@
"inventoryAlerts": {
"adjustedQuantity": "သင့်ရဲ့ကုန်ပစ္စည်းအရေအတွက်စတော့ရှယ်ယာအတွက် max ကိုအရေအတွက်မှချိန်ညှိထားပြီး"
}
- }
+ },
+ "availableOptions": "ရရှိနိုင် Options ကို"
}
}
}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/nl.json b/imports/plugins/included/product-detail-simple/server/i18n/nl.json
index c9ac77fee52..6cd0fae4367 100644
--- a/imports/plugins/included/product-detail-simple/server/i18n/nl.json
+++ b/imports/plugins/included/product-detail-simple/server/i18n/nl.json
@@ -10,7 +10,8 @@
"inventoryAlerts": {
"adjustedQuantity": "Uw product hoeveelheid is aangepast aan de maximale hoeveelheid in voorraad"
}
- }
+ },
+ "availableOptions": "Beschikbare opties"
}
}
}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/pl.json b/imports/plugins/included/product-detail-simple/server/i18n/pl.json
index f4c20a816c4..41f28553985 100644
--- a/imports/plugins/included/product-detail-simple/server/i18n/pl.json
+++ b/imports/plugins/included/product-detail-simple/server/i18n/pl.json
@@ -10,7 +10,8 @@
"inventoryAlerts": {
"adjustedQuantity": "Twoja ilość produktów została dostosowana do maksymalnej ilości w magazynie"
}
- }
+ },
+ "availableOptions": "Dostępne opcje"
}
}
}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/pt.json b/imports/plugins/included/product-detail-simple/server/i18n/pt.json
index 03fb4455d9c..40b5e6d8416 100644
--- a/imports/plugins/included/product-detail-simple/server/i18n/pt.json
+++ b/imports/plugins/included/product-detail-simple/server/i18n/pt.json
@@ -10,7 +10,8 @@
"inventoryAlerts": {
"adjustedQuantity": "Sua quantidade de produto foi ajustado para a quantidade máxima em estoque"
}
- }
+ },
+ "availableOptions": "Opções disponíveis"
}
}
}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/ro.json b/imports/plugins/included/product-detail-simple/server/i18n/ro.json
index 3302b46d643..ec1b6df3ad7 100644
--- a/imports/plugins/included/product-detail-simple/server/i18n/ro.json
+++ b/imports/plugins/included/product-detail-simple/server/i18n/ro.json
@@ -10,7 +10,8 @@
"inventoryAlerts": {
"adjustedQuantity": "Cantitatea dvs. de produs a fost ajustat la cantitatea maximă în stoc"
}
- }
+ },
+ "availableOptions": "Opțiuni disponibile"
}
}
}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/ru.json b/imports/plugins/included/product-detail-simple/server/i18n/ru.json
index 6bb8688b4f3..d3b9cd6ab35 100644
--- a/imports/plugins/included/product-detail-simple/server/i18n/ru.json
+++ b/imports/plugins/included/product-detail-simple/server/i18n/ru.json
@@ -10,7 +10,8 @@
"inventoryAlerts": {
"adjustedQuantity": "Ваше количество продукта было скорректировано до максимального количества в наличии"
}
- }
+ },
+ "availableOptions": "Доступные опции"
}
}
}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/sl.json b/imports/plugins/included/product-detail-simple/server/i18n/sl.json
index 0b6a99a8941..dfd476ef71f 100644
--- a/imports/plugins/included/product-detail-simple/server/i18n/sl.json
+++ b/imports/plugins/included/product-detail-simple/server/i18n/sl.json
@@ -10,7 +10,8 @@
"inventoryAlerts": {
"adjustedQuantity": "Vaš količina izdelka je bil prilagojen za maksimalno količino na zalogi"
}
- }
+ },
+ "availableOptions": "Opcije na voljo"
}
}
}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/sv.json b/imports/plugins/included/product-detail-simple/server/i18n/sv.json
index 674d8d7173d..adc3b6b56a7 100644
--- a/imports/plugins/included/product-detail-simple/server/i18n/sv.json
+++ b/imports/plugins/included/product-detail-simple/server/i18n/sv.json
@@ -10,7 +10,8 @@
"inventoryAlerts": {
"adjustedQuantity": "Din produkt mängd har justerats till max antal i lager"
}
- }
+ },
+ "availableOptions": "tillgängliga alternativ"
}
}
}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/tr.json b/imports/plugins/included/product-detail-simple/server/i18n/tr.json
index 4d3048b7bb3..dc0994980de 100644
--- a/imports/plugins/included/product-detail-simple/server/i18n/tr.json
+++ b/imports/plugins/included/product-detail-simple/server/i18n/tr.json
@@ -10,7 +10,8 @@
"inventoryAlerts": {
"adjustedQuantity": "Ürününüz miktar stok maksimum miktara ayarlandı"
}
- }
+ },
+ "availableOptions": "mevcut seçenekler"
}
}
}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/vi.json b/imports/plugins/included/product-detail-simple/server/i18n/vi.json
index 4a3abbb619c..58f24a293e2 100644
--- a/imports/plugins/included/product-detail-simple/server/i18n/vi.json
+++ b/imports/plugins/included/product-detail-simple/server/i18n/vi.json
@@ -10,7 +10,8 @@
"inventoryAlerts": {
"adjustedQuantity": "số lượng sản phẩm của bạn đã được điều chỉnh theo số lượng tối đa trong kho"
}
- }
+ },
+ "availableOptions": "Tùy chọn có sẵn"
}
}
}]
diff --git a/imports/plugins/included/product-detail-simple/server/i18n/zh.json b/imports/plugins/included/product-detail-simple/server/i18n/zh.json
index 3165037f977..93074855a36 100644
--- a/imports/plugins/included/product-detail-simple/server/i18n/zh.json
+++ b/imports/plugins/included/product-detail-simple/server/i18n/zh.json
@@ -10,7 +10,8 @@
"inventoryAlerts": {
"adjustedQuantity": "您的产品数量进行了调整,在股票的最大数量"
}
- }
+ },
+ "availableOptions": "可用选项"
}
}
}]
diff --git a/imports/plugins/included/product-variant/client/templates/products/productDetail/variants/variantForm/childVariant.js b/imports/plugins/included/product-variant/client/templates/products/productDetail/variants/variantForm/childVariant.js
index dba870f125e..1f8fa7e0af8 100644
--- a/imports/plugins/included/product-variant/client/templates/products/productDetail/variants/variantForm/childVariant.js
+++ b/imports/plugins/included/product-variant/client/templates/products/productDetail/variants/variantForm/childVariant.js
@@ -111,7 +111,7 @@ Template.childVariantForm.events({
Meteor.call("products/updateProductField", variant._id, field, value,
error => {
if (error) {
- throw new Meteor.Error("error updating variant", error);
+ Alerts.toast(error.message, "error");
}
});
return ReactionProduct.setCurrentVariant(variant._id);
diff --git a/imports/plugins/included/search-mongo/server/publications/searchresults.app-test.js b/imports/plugins/included/search-mongo/server/publications/searchresults.app-test.js
index 9eec73f2c26..6e2db55d454 100644
--- a/imports/plugins/included/search-mongo/server/publications/searchresults.app-test.js
+++ b/imports/plugins/included/search-mongo/server/publications/searchresults.app-test.js
@@ -114,31 +114,35 @@ describe("Search results", function () {
describe("Account Search results", function () {
let account;
+ let sandbox;
before(function () {
buildAccountSearch();
});
beforeEach(function () {
+ sandbox = sinon.sandbox.create();
account = createAccount();
buildAccountSearchRecord(account._id);
});
+ afterEach(function () {
+ sandbox.restore();
+ });
+
describe("account search", function () {
it("should match accounts when searching by email", function () {
- const roleStub = sinon.stub(Reaction, "hasPermission", () => true);
+ sandbox.stub(Reaction, "hasPermission", () => true);
const email = account.emails[0].address;
const results = getResults.accounts(email);
expect(results.count()).to.equal(1);
- roleStub.restore();
});
it("should not return results if not an admin", function () {
- const roleStub = sinon.stub(Reaction, "hasPermission", () => false);
+ sandbox.stub(Reaction, "hasPermission", () => false);
const email = account.emails[0].address;
const results = getResults.accounts(email);
expect(results).to.be.undefined;
- roleStub.restore();
});
});
});
diff --git a/imports/plugins/included/shipping-rates/client/templates/settings/rates.js b/imports/plugins/included/shipping-rates/client/templates/settings/rates.js
index 0dae2eabbc4..675c2e29335 100644
--- a/imports/plugins/included/shipping-rates/client/templates/settings/rates.js
+++ b/imports/plugins/included/shipping-rates/client/templates/settings/rates.js
@@ -89,7 +89,7 @@ Template.shippingRatesSettings.helpers({
// from flat rate shipping provider
function transform(results) {
const result = [];
- for (method of results) {
+ for (const method of results) {
if (method.provider && method.provider.name === "flatRates") {
result.push(method.methods);
}
@@ -128,7 +128,7 @@ Template.shippingRatesSettings.helpers({
let rate = {};
if (providerRates && providerRates.methods) {
if (id) {
- for (method of providerRates.methods) {
+ for (const method of providerRates.methods) {
if (method._id === id) {
rate = method;
}
@@ -161,7 +161,7 @@ Template.shippingRatesSettings.events({
});
},
"click .cancel, .shipping-grid-row .active": function () {
- instance = Template.instance();
+ const instance = Template.instance();
// remove active rows from grid
instance.state.set({
isEditing: false,
diff --git a/imports/plugins/included/social/client/components/settings.js b/imports/plugins/included/social/client/components/settings.js
index 37c106212fe..a31e9776571 100644
--- a/imports/plugins/included/social/client/components/settings.js
+++ b/imports/plugins/included/social/client/components/settings.js
@@ -70,7 +70,7 @@ class SocialSettings extends Component {
return (
{
if (pkg && pkg.settings.avalara.enabled && pkg.settings.avalara.performTaxCalculation) {
taxCalc.estimateCart(cartToCalc, function (result) {
// we don't use totalTax, that just tells us we have a valid tax calculation
- if (result && result.totalTax && typeof result.totalTax === "number" && result.lines) {
+ if (result && !result.error && result.totalTax && typeof result.totalTax === "number" && result.lines) {
const taxes = linesToTaxes(result.lines);
const taxAmount = taxes.reduce((totalTaxes, tax) => totalTaxes + tax.tax, 0);
const taxRate = taxAmount / taxCalc.calcTaxable(cartToCalc);
Meteor.call("taxes/setRate", cartId, taxRate, taxes);
+ } else {
+ if (result.error.errorCode === 503) {
+ Logger.error("timeout error: do nothing here");
+ } else {
+ Logger.error("Unknown error", result.error.errorCode);
+ }
}
});
}
diff --git a/imports/plugins/included/taxes-avalara/server/methods/taxCalc.js b/imports/plugins/included/taxes-avalara/server/methods/taxCalc.js
index 0e3fd28880b..ca0abf2f3a7 100644
--- a/imports/plugins/included/taxes-avalara/server/methods/taxCalc.js
+++ b/imports/plugins/included/taxes-avalara/server/methods/taxCalc.js
@@ -86,6 +86,34 @@ function getTaxSettings(userId) {
return _.get(Accounts.findOne({ _id: userId }), "taxSettings");
}
+/**
+ * @summary: Break Avalara error object into consistent format
+ * @param {Object} error The error result from Avalara
+ * @returns {Object} Error object with code and errorDetails
+ */
+function parseError(error) {
+ let errorData;
+ // The Avalara API constantly times out, so handle this special case first
+ if (error.code === "ETIMEDOUT") {
+ errorData = { errorCode: 503, errorDetails: { message: "ETIMEDOUT", description: "The request timeod out" } };
+ return errorData;
+ }
+ const errorDetails = [];
+ if (error.response.data.error.details) {
+ const details = error.response.data.error.details;
+ for (const detail of details) {
+ if (detail.severity === "Error") {
+ errorDetails.push({ message: detail.message, description: detail.description });
+ }
+ }
+ errorData = { errorCode: details[0].number, errorDetails };
+ } else {
+ Avalogger.error("Unknown error or error format");
+ throw new Meteor.Error("bad-error", "Unknown error or error format");
+ }
+ return errorData;
+}
+
/**
* @summary function to get HTTP data and pass in extra Avalara-specific headers
* @param {String} requestUrl - The URL to make the request to
@@ -120,14 +148,16 @@ function avaGet(requestUrl, options = {}, testCredentials = true) {
logObject.request = allOptions;
}
+ let result;
try {
result = HTTP.get(requestUrl, allOptions);
} catch (error) {
- result = error;
Logger.error(`Encountered error while calling Avalara API endpoint ${requestUrl}`);
Logger.error(error);
logObject.error = error;
Avalogger.error(logObject);
+ const parsedError = parseError(error);
+ result = { error: parsedError };
}
if (pkgData.settings.avalara.enableLogging) {
@@ -167,7 +197,6 @@ function avaPost(requestUrl, options) {
}
let result;
-
try {
result = HTTP.post(requestUrl, allOptions);
} catch (error) {
@@ -176,7 +205,8 @@ function avaPost(requestUrl, options) {
logObject.error = error;
// whether logging is enabled or not we log out errors
Avalogger.error(logObject);
- result = {};
+ const parsedError = parseError(error);
+ result = { error: parsedError };
}
if (pkgData.settings.avalara.enableLogging) {
@@ -261,13 +291,7 @@ taxCalc.validateAddress = function (address) {
const baseUrl = getUrl();
const requestUrl = `${baseUrl}addresses/resolve`;
const result = avaPost(requestUrl, { data: addressToValidate });
- let content;
-
- try {
- content = JSON.parse(result.content);
- } catch (error) {
- content = result.content;
- }
+ const content = result.data;
if (content && content.messages) {
messages = content.messages;
}
@@ -286,7 +310,7 @@ taxCalc.validateAddress = function (address) {
postal: resultAddress.postalCode,
country: resultAddress.country
};
- if (result.data.address.line2) {
+ if (resultAddress.line2) {
validatedAddress.addresss2 = resultAddress.line2;
}
}
@@ -443,7 +467,10 @@ taxCalc.estimateCart = function (cart, callback) {
const baseUrl = getUrl();
const requestUrl = `${baseUrl}transactions/create`;
const result = avaPost(requestUrl, { data: salesOrder });
- return callback(result.data);
+ if (!result.error) {
+ return callback(result.data);
+ }
+ return callback(result);
}
};
@@ -569,8 +596,8 @@ taxCalc.reportRefund = function (order, refundAmount, callback) {
const baseUrl = getUrl();
const requestUrl = `${baseUrl}transactions/create`;
const returnAmount = refundAmount * -1;
- const orderDate = moment(order.createdAt).format();
- const refundDate = moment().format();
+ const orderDate = moment(order.createdAt);
+ const refundDate = moment();
const refundReference = `${order.cartId}:${refundDate}`;
const lineItems = {
number: "01",
@@ -584,7 +611,6 @@ taxCalc.reportRefund = function (order, refundAmount, callback) {
code: refundReference,
commit: true,
customerCode: order._id,
- taxDate: orderDate,
date: refundDate,
currencyCode: currencyCode,
addresses: {
@@ -607,6 +633,13 @@ taxCalc.reportRefund = function (order, refundAmount, callback) {
lines: [lineItems]
};
+ if (orderDate.diff(refundDate, "days") !== 0) {
+ returnInvoice.taxOverride = {
+ type: "TaxDate",
+ taxDate: orderDate.format(),
+ reason: "Refunded after order placed"
+ };
+ }
const result = avaPost(requestUrl, { data: returnInvoice });
return callback(result.data);
diff --git a/imports/plugins/included/taxes-taxjar/server/i18n/nb.json b/imports/plugins/included/taxes-taxjar/server/i18n/nb.json
index c92dd5c95da..0ac0a9860ed 100644
--- a/imports/plugins/included/taxes-taxjar/server/i18n/nb.json
+++ b/imports/plugins/included/taxes-taxjar/server/i18n/nb.json
@@ -15,7 +15,7 @@
},
"taxSettings": {
"taxjarLabel": "Tarjar",
- "taxjarSettingsLabel": "Tarjar"
+ "taxjarSettingsLabel": "TaxJar"
}
}
}
diff --git a/imports/test-utils/__mocks__/client/api/index.js b/imports/test-utils/__mocks__/client/api/index.js
new file mode 100644
index 00000000000..6766e67dff6
--- /dev/null
+++ b/imports/test-utils/__mocks__/client/api/index.js
@@ -0,0 +1,5 @@
+export const i18next = {
+ t: (key, { defaultValue }) => {
+ return defaultValue || key;
+ }
+};
diff --git a/imports/test-utils/__mocks__/meteor/accounts.js b/imports/test-utils/__mocks__/meteor/accounts.js
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/imports/test-utils/__mocks__/meteor/alanning:roles.js b/imports/test-utils/__mocks__/meteor/alanning:roles.js
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/imports/test-utils/__mocks__/meteor/aldeed-simple-schema.js b/imports/test-utils/__mocks__/meteor/aldeed-simple-schema.js
new file mode 100644
index 00000000000..c8a9f3957ae
--- /dev/null
+++ b/imports/test-utils/__mocks__/meteor/aldeed-simple-schema.js
@@ -0,0 +1,7 @@
+export class SimpleSchema {
+ static RegEx = {
+ Email: ""
+ }
+
+ newContext() {}
+}
diff --git a/imports/test-utils/__mocks__/meteor/blaze.js b/imports/test-utils/__mocks__/meteor/blaze.js
new file mode 100644
index 00000000000..f0e8711d4f5
--- /dev/null
+++ b/imports/test-utils/__mocks__/meteor/blaze.js
@@ -0,0 +1,4 @@
+export const Blaze = {
+ remove() {},
+ renderWithData() {}
+};
diff --git a/imports/test-utils/__mocks__/meteor/gadicc:blaze-react-component.js b/imports/test-utils/__mocks__/meteor/gadicc:blaze-react-component.js
new file mode 100644
index 00000000000..9d93bb09138
--- /dev/null
+++ b/imports/test-utils/__mocks__/meteor/gadicc:blaze-react-component.js
@@ -0,0 +1 @@
+export default class BlazeComponent {}
diff --git a/imports/test-utils/__mocks__/meteor/kadira:dochead.js b/imports/test-utils/__mocks__/meteor/kadira:dochead.js
new file mode 100644
index 00000000000..a47f73f5c47
--- /dev/null
+++ b/imports/test-utils/__mocks__/meteor/kadira:dochead.js
@@ -0,0 +1,5 @@
+export const DocHead = {
+ addMeta: () => {},
+ removeDocHeadAddedTags: () => {},
+ setTitle: () => {}
+};
diff --git a/imports/test-utils/__mocks__/meteor/meteor.js b/imports/test-utils/__mocks__/meteor/meteor.js
new file mode 100644
index 00000000000..9568e8d66a7
--- /dev/null
+++ b/imports/test-utils/__mocks__/meteor/meteor.js
@@ -0,0 +1,5 @@
+export const Meteor = {
+ isClient: false,
+ isServer: true,
+ methods: () => {}
+};
diff --git a/imports/test-utils/__mocks__/meteor/mongo.js b/imports/test-utils/__mocks__/meteor/mongo.js
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/imports/test-utils/__mocks__/meteor/random.js b/imports/test-utils/__mocks__/meteor/random.js
new file mode 100644
index 00000000000..7a508f82417
--- /dev/null
+++ b/imports/test-utils/__mocks__/meteor/random.js
@@ -0,0 +1,3 @@
+export const Random = {
+ id: () => (Math.random() * 100).toString()
+};
diff --git a/imports/test-utils/__mocks__/meteor/reactive-dict.js b/imports/test-utils/__mocks__/meteor/reactive-dict.js
new file mode 100644
index 00000000000..7bdbda2d88d
--- /dev/null
+++ b/imports/test-utils/__mocks__/meteor/reactive-dict.js
@@ -0,0 +1,5 @@
+export class ReactiveDict {
+ set() {}
+ get() {}
+ default() {}
+}
diff --git a/imports/test-utils/__mocks__/meteor/reactive-var.js b/imports/test-utils/__mocks__/meteor/reactive-var.js
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/imports/test-utils/__mocks__/meteor/templating.js b/imports/test-utils/__mocks__/meteor/templating.js
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/imports/test-utils/__mocks__/meteor/tracker.js b/imports/test-utils/__mocks__/meteor/tracker.js
new file mode 100644
index 00000000000..a61c26aee9c
--- /dev/null
+++ b/imports/test-utils/__mocks__/meteor/tracker.js
@@ -0,0 +1,9 @@
+
+class Dependency {
+ depend() {}
+ changed() {}
+}
+
+export const Tracker = {
+ Dependency
+};
diff --git a/lib/api/account-validation.js b/lib/api/account-validation.js
index 337c8214c4b..0793f2e92cf 100644
--- a/lib/api/account-validation.js
+++ b/lib/api/account-validation.js
@@ -102,7 +102,7 @@ const validationMethods = {
};
// Export object globally
-LoginFormValidation = validationMethods;
+export const LoginFormValidation = validationMethods;
// Register validation methods as meteor methods
Meteor.methods({
@@ -110,4 +110,3 @@ Meteor.methods({
"accounts/validation/email": validationMethods.email,
"accounts/validation/password": validationMethods.password
});
-
diff --git a/lib/api/catalog.js b/lib/api/catalog.js
index a753f194d30..9d8e2cbbbc2 100644
--- a/lib/api/catalog.js
+++ b/lib/api/catalog.js
@@ -1,7 +1,7 @@
import { Products } from "/lib/collections";
import { applyProductRevision } from "/lib/api/products";
-export default Catalog = {
+export default {
/**
* setProduct
* @summary method to set default/parameterized product variant
diff --git a/lib/api/compose.js b/lib/api/compose.js
index 9dc36cc6dd1..b4072335307 100644
--- a/lib/api/compose.js
+++ b/lib/api/compose.js
@@ -38,7 +38,7 @@ function getTrackerLoader(reactiveMapper) {
export function composeWithTracker(reactiveMapper, LoadingComponent) {
const options = {};
- if (typeof LoadingComponent === "undefined") {
+ if (typeof LoadingComponent !== "undefined") {
options.loadingHandler = () => { // eslint-disable-line react/display-name
return (
diff --git a/lib/api/index.js b/lib/api/index.js
index 4126eab0228..15090b1ef93 100644
--- a/lib/api/index.js
+++ b/lib/api/index.js
@@ -1,3 +1,4 @@
+export * from "./account-validation";
export { default as Catalog } from "./catalog";
export { default as ReactionProduct } from "./products";
export { PropTypes } from "./prop-types";
diff --git a/lib/collections/schemas/accounts.js b/lib/collections/schemas/accounts.js
index de349b99b93..25288392b74 100644
--- a/lib/collections/schemas/accounts.js
+++ b/lib/collections/schemas/accounts.js
@@ -23,6 +23,11 @@ export const Profile = new SimpleSchema({
type: [Address],
optional: true
},
+ invited: {
+ type: Boolean,
+ optional: true,
+ defaultValue: false
+ },
name: {
type: String,
optional: true
@@ -72,6 +77,10 @@ export const Accounts = new SimpleSchema({
regEx: SimpleSchema.RegEx.Id,
index: 1
},
+ name: {
+ type: String,
+ optional: true
+ },
emails: {
type: [Email],
optional: true
diff --git a/lib/collections/schemas/address.js b/lib/collections/schemas/address.js
index c177adfb3c5..22a5f2f3da4 100644
--- a/lib/collections/schemas/address.js
+++ b/lib/collections/schemas/address.js
@@ -62,6 +62,12 @@ export const Address = new SimpleSchema({
label: "Make this your default shipping address?",
type: Boolean
},
+ failedValidation: {
+ label: "Failed validation",
+ type: Boolean,
+ defaultValue: false,
+ optional: true
+ },
metafields: {
type: [Metafield],
optional: true
diff --git a/lib/collections/schemas/notifications.js b/lib/collections/schemas/notifications.js
index 8a8f51df6e2..f0121b9ea63 100644
--- a/lib/collections/schemas/notifications.js
+++ b/lib/collections/schemas/notifications.js
@@ -11,9 +11,9 @@ export const Notification = new SimpleSchema({
* ----------------| -----------------------------------------------
* orderCancelled | "Your order was canceled."
* forAdmin: | "You have a new order."
- * newOrder: | "Your order is being processed."
+ * newOrder: | "You just made an order."
* orderDelivered: | "Your order has been delivered."
- * orderAccepted: | "Your order has been accepted."
+ * orderProcessing: | "Your order is being processed."
* orderShipped: | "Your order has been shipped."
*/
type: {
diff --git a/lib/collections/schemas/payments.js b/lib/collections/schemas/payments.js
index 639bebac5e4..2a89e97f505 100644
--- a/lib/collections/schemas/payments.js
+++ b/lib/collections/schemas/payments.js
@@ -123,7 +123,8 @@ export const Invoice = new SimpleSchema({
export const Currency = new SimpleSchema({
userCurrency: {
type: String,
- optional: true
+ optional: true,
+ defaultValue: "USD"
},
exchangeRate: {
type: Number,
@@ -156,8 +157,7 @@ export const Payment = new SimpleSchema({
},
currency: {
type: Currency,
- optional: true,
- defaultValue: "USD"
+ optional: true
}
});
diff --git a/lib/collections/schemas/revisions.js b/lib/collections/schemas/revisions.js
index 525845e660c..bd29eefc313 100644
--- a/lib/collections/schemas/revisions.js
+++ b/lib/collections/schemas/revisions.js
@@ -1,3 +1,4 @@
+import { SimpleSchema } from "meteor/aldeed:simple-schema";
import { Workflow } from "./workflow";
diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json
deleted file mode 100644
index d26ae81fe12..00000000000
--- a/npm-shrinkwrap.json
+++ /dev/null
@@ -1,6684 +0,0 @@
-{
- "name": "reaction",
- "version": "1.1.1",
- "dependencies": {
- "@reactioncommerce/authorize-net": {
- "version": "1.0.8",
- "from": "@reactioncommerce/authorize-net@>=1.0.8 <2.0.0",
- "resolved": "https://registry.npmjs.org/@reactioncommerce/authorize-net/-/authorize-net-1.0.8.tgz"
- },
- "42-cent-base": {
- "version": "1.0.0",
- "from": "42-cent-base@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/42-cent-base/-/42-cent-base-1.0.0.tgz"
- },
- "42-cent-util": {
- "version": "1.0.0",
- "from": "42-cent-util@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/42-cent-util/-/42-cent-util-1.0.0.tgz"
- },
- "abbrev": {
- "version": "1.1.0",
- "from": "abbrev@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz"
- },
- "accounting-js": {
- "version": "1.1.1",
- "from": "accounting-js@>=1.1.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/accounting-js/-/accounting-js-1.1.1.tgz"
- },
- "acorn": {
- "version": "5.0.3",
- "from": "acorn@>=5.0.1 <6.0.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.0.3.tgz",
- "dev": true
- },
- "acorn-jsx": {
- "version": "3.0.1",
- "from": "acorn-jsx@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
- "dev": true,
- "dependencies": {
- "acorn": {
- "version": "3.3.0",
- "from": "acorn@>=3.0.4 <4.0.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
- "dev": true
- }
- }
- },
- "addressparser": {
- "version": "1.0.1",
- "from": "addressparser@1.0.1",
- "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz"
- },
- "agent-base": {
- "version": "2.0.1",
- "from": "agent-base@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.0.1.tgz",
- "dev": true,
- "dependencies": {
- "semver": {
- "version": "5.0.3",
- "from": "semver@>=5.0.1 <5.1.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz",
- "dev": true
- }
- }
- },
- "ajv": {
- "version": "4.11.7",
- "from": "ajv@>=4.9.1 <5.0.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.7.tgz"
- },
- "ajv-keywords": {
- "version": "1.5.1",
- "from": "ajv-keywords@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz",
- "dev": true
- },
- "align-text": {
- "version": "0.1.4",
- "from": "align-text@>=0.1.3 <0.2.0",
- "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz"
- },
- "allure-js-commons": {
- "version": "1.2.2",
- "from": "allure-js-commons@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/allure-js-commons/-/allure-js-commons-1.2.2.tgz",
- "dev": true,
- "dependencies": {
- "lodash": {
- "version": "3.10.1",
- "from": "lodash@>=3.7.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
- "dev": true
- }
- }
- },
- "amdefine": {
- "version": "1.0.1",
- "from": "amdefine@>=0.0.4",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz"
- },
- "ansi-escapes": {
- "version": "1.4.0",
- "from": "ansi-escapes@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
- "dev": true
- },
- "ansi-regex": {
- "version": "2.1.1",
- "from": "ansi-regex@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
- },
- "ansi-styles": {
- "version": "2.2.1",
- "from": "ansi-styles@>=2.2.1 <3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz"
- },
- "ansicolors": {
- "version": "0.2.1",
- "from": "ansicolors@>=0.2.1 <0.3.0",
- "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.2.1.tgz"
- },
- "ansistyles": {
- "version": "0.1.3",
- "from": "ansistyles@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz"
- },
- "anymatch": {
- "version": "1.3.0",
- "from": "anymatch@>=1.3.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz",
- "optional": true
- },
- "aproba": {
- "version": "1.1.1",
- "from": "aproba@>=1.0.3 <2.0.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz"
- },
- "archiver": {
- "version": "1.3.0",
- "from": "archiver@>=1.3.0 <1.4.0",
- "resolved": "https://registry.npmjs.org/archiver/-/archiver-1.3.0.tgz",
- "dev": true,
- "dependencies": {
- "async": {
- "version": "2.3.0",
- "from": "async@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/async/-/async-2.3.0.tgz",
- "dev": true
- }
- }
- },
- "archiver-utils": {
- "version": "1.3.0",
- "from": "archiver-utils@>=1.3.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz",
- "dev": true
- },
- "are-we-there-yet": {
- "version": "1.1.4",
- "from": "are-we-there-yet@>=1.1.2 <1.2.0",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz"
- },
- "argparse": {
- "version": "1.0.9",
- "from": "argparse@>=1.0.7 <2.0.0",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
- "dev": true
- },
- "arr-diff": {
- "version": "2.0.0",
- "from": "arr-diff@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
- "optional": true
- },
- "arr-flatten": {
- "version": "1.0.3",
- "from": "arr-flatten@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.3.tgz",
- "optional": true
- },
- "array-find": {
- "version": "0.1.1",
- "from": "array-find@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npmjs.org/array-find/-/array-find-0.1.1.tgz"
- },
- "array-find-index": {
- "version": "1.0.2",
- "from": "array-find-index@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
- "dev": true
- },
- "array-flatten": {
- "version": "2.1.1",
- "from": "array-flatten@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz"
- },
- "array-union": {
- "version": "1.0.2",
- "from": "array-union@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
- "dev": true
- },
- "array-uniq": {
- "version": "1.0.3",
- "from": "array-uniq@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "dev": true
- },
- "array-unique": {
- "version": "0.2.1",
- "from": "array-unique@>=0.2.1 <0.3.0",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "optional": true
- },
- "array.prototype.find": {
- "version": "2.0.4",
- "from": "array.prototype.find@>=2.0.1 <3.0.0",
- "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.0.4.tgz",
- "dev": true
- },
- "arrify": {
- "version": "1.0.1",
- "from": "arrify@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz"
- },
- "asap": {
- "version": "2.0.5",
- "from": "asap@>=2.0.3 <3.0.0",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.5.tgz"
- },
- "asn1": {
- "version": "0.2.3",
- "from": "asn1@>=0.2.3 <0.3.0",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz"
- },
- "assert-plus": {
- "version": "0.2.0",
- "from": "assert-plus@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz"
- },
- "assertion-error": {
- "version": "1.0.2",
- "from": "assertion-error@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz",
- "dev": true
- },
- "async": {
- "version": "1.5.2",
- "from": "async@>=1.4.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz"
- },
- "async-each": {
- "version": "1.0.1",
- "from": "async-each@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
- "optional": true
- },
- "asynckit": {
- "version": "0.4.0",
- "from": "asynckit@>=0.4.0 <0.5.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"
- },
- "atob": {
- "version": "1.1.3",
- "from": "atob@>=1.1.0 <1.2.0",
- "resolved": "https://registry.npmjs.org/atob/-/atob-1.1.3.tgz",
- "dev": true
- },
- "attr-accept": {
- "version": "1.1.0",
- "from": "attr-accept@>=1.0.3 <2.0.0",
- "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-1.1.0.tgz"
- },
- "autoprefixer": {
- "version": "6.7.7",
- "from": "autoprefixer@>=6.7.7 <7.0.0",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz"
- },
- "autosize": {
- "version": "3.0.20",
- "from": "autosize@>=3.0.20 <4.0.0",
- "resolved": "https://registry.npmjs.org/autosize/-/autosize-3.0.20.tgz"
- },
- "aws-sign2": {
- "version": "0.6.0",
- "from": "aws-sign2@>=0.6.0 <0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz"
- },
- "aws4": {
- "version": "1.6.0",
- "from": "aws4@>=1.2.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz"
- },
- "babel-cli": {
- "version": "6.24.1",
- "from": "babel-cli@>=6.24.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.24.1.tgz"
- },
- "babel-code-frame": {
- "version": "6.22.0",
- "from": "babel-code-frame@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz"
- },
- "babel-core": {
- "version": "6.24.1",
- "from": "babel-core@>=6.24.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.24.1.tgz"
- },
- "babel-eslint": {
- "version": "7.2.3",
- "from": "babel-eslint@>=7.2.1 <8.0.0",
- "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.2.3.tgz",
- "dev": true
- },
- "babel-generator": {
- "version": "6.24.1",
- "from": "babel-generator@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.24.1.tgz"
- },
- "babel-helper-bindify-decorators": {
- "version": "6.24.1",
- "from": "babel-helper-bindify-decorators@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz"
- },
- "babel-helper-builder-binary-assignment-operator-visitor": {
- "version": "6.24.1",
- "from": "babel-helper-builder-binary-assignment-operator-visitor@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz"
- },
- "babel-helper-builder-react-jsx": {
- "version": "6.24.1",
- "from": "babel-helper-builder-react-jsx@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.24.1.tgz"
- },
- "babel-helper-call-delegate": {
- "version": "6.24.1",
- "from": "babel-helper-call-delegate@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz"
- },
- "babel-helper-define-map": {
- "version": "6.24.1",
- "from": "babel-helper-define-map@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz"
- },
- "babel-helper-explode-assignable-expression": {
- "version": "6.24.1",
- "from": "babel-helper-explode-assignable-expression@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz"
- },
- "babel-helper-explode-class": {
- "version": "6.24.1",
- "from": "babel-helper-explode-class@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz"
- },
- "babel-helper-function-name": {
- "version": "6.24.1",
- "from": "babel-helper-function-name@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz"
- },
- "babel-helper-get-function-arity": {
- "version": "6.24.1",
- "from": "babel-helper-get-function-arity@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz"
- },
- "babel-helper-hoist-variables": {
- "version": "6.24.1",
- "from": "babel-helper-hoist-variables@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz"
- },
- "babel-helper-optimise-call-expression": {
- "version": "6.24.1",
- "from": "babel-helper-optimise-call-expression@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz"
- },
- "babel-helper-regex": {
- "version": "6.24.1",
- "from": "babel-helper-regex@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz"
- },
- "babel-helper-remap-async-to-generator": {
- "version": "6.24.1",
- "from": "babel-helper-remap-async-to-generator@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz"
- },
- "babel-helper-replace-supers": {
- "version": "6.24.1",
- "from": "babel-helper-replace-supers@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz"
- },
- "babel-helpers": {
- "version": "6.24.1",
- "from": "babel-helpers@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz"
- },
- "babel-messages": {
- "version": "6.23.0",
- "from": "babel-messages@>=6.23.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz"
- },
- "babel-plugin-add-module-exports": {
- "version": "0.2.1",
- "from": "babel-plugin-add-module-exports@>=0.2.1 <0.3.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-0.2.1.tgz"
- },
- "babel-plugin-check-es2015-constants": {
- "version": "6.22.0",
- "from": "babel-plugin-check-es2015-constants@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz"
- },
- "babel-plugin-lodash": {
- "version": "3.2.11",
- "from": "babel-plugin-lodash@>=3.2.11 <4.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-lodash/-/babel-plugin-lodash-3.2.11.tgz",
- "dev": true
- },
- "babel-plugin-syntax-async-functions": {
- "version": "6.13.0",
- "from": "babel-plugin-syntax-async-functions@>=6.8.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz"
- },
- "babel-plugin-syntax-async-generators": {
- "version": "6.13.0",
- "from": "babel-plugin-syntax-async-generators@>=6.5.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz"
- },
- "babel-plugin-syntax-class-constructor-call": {
- "version": "6.18.0",
- "from": "babel-plugin-syntax-class-constructor-call@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz"
- },
- "babel-plugin-syntax-class-properties": {
- "version": "6.13.0",
- "from": "babel-plugin-syntax-class-properties@>=6.8.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz"
- },
- "babel-plugin-syntax-decorators": {
- "version": "6.13.0",
- "from": "babel-plugin-syntax-decorators@>=6.1.18 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz"
- },
- "babel-plugin-syntax-dynamic-import": {
- "version": "6.18.0",
- "from": "babel-plugin-syntax-dynamic-import@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz"
- },
- "babel-plugin-syntax-exponentiation-operator": {
- "version": "6.13.0",
- "from": "babel-plugin-syntax-exponentiation-operator@>=6.8.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz"
- },
- "babel-plugin-syntax-export-extensions": {
- "version": "6.13.0",
- "from": "babel-plugin-syntax-export-extensions@>=6.8.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz"
- },
- "babel-plugin-syntax-flow": {
- "version": "6.18.0",
- "from": "babel-plugin-syntax-flow@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz"
- },
- "babel-plugin-syntax-jsx": {
- "version": "6.18.0",
- "from": "babel-plugin-syntax-jsx@>=6.3.13 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz"
- },
- "babel-plugin-syntax-object-rest-spread": {
- "version": "6.13.0",
- "from": "babel-plugin-syntax-object-rest-spread@>=6.8.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz"
- },
- "babel-plugin-syntax-trailing-function-commas": {
- "version": "6.22.0",
- "from": "babel-plugin-syntax-trailing-function-commas@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz"
- },
- "babel-plugin-transform-async-generator-functions": {
- "version": "6.24.1",
- "from": "babel-plugin-transform-async-generator-functions@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz"
- },
- "babel-plugin-transform-async-to-generator": {
- "version": "6.24.1",
- "from": "babel-plugin-transform-async-to-generator@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz"
- },
- "babel-plugin-transform-class-constructor-call": {
- "version": "6.24.1",
- "from": "babel-plugin-transform-class-constructor-call@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz"
- },
- "babel-plugin-transform-class-properties": {
- "version": "6.24.1",
- "from": "babel-plugin-transform-class-properties@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz"
- },
- "babel-plugin-transform-decorators": {
- "version": "6.24.1",
- "from": "babel-plugin-transform-decorators@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz"
- },
- "babel-plugin-transform-decorators-legacy": {
- "version": "1.3.4",
- "from": "babel-plugin-transform-decorators-legacy@>=1.3.4 <2.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz"
- },
- "babel-plugin-transform-es2015-arrow-functions": {
- "version": "6.22.0",
- "from": "babel-plugin-transform-es2015-arrow-functions@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz"
- },
- "babel-plugin-transform-es2015-block-scoped-functions": {
- "version": "6.22.0",
- "from": "babel-plugin-transform-es2015-block-scoped-functions@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz"
- },
- "babel-plugin-transform-es2015-block-scoping": {
- "version": "6.24.1",
- "from": "babel-plugin-transform-es2015-block-scoping@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz"
- },
- "babel-plugin-transform-es2015-classes": {
- "version": "6.24.1",
- "from": "babel-plugin-transform-es2015-classes@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz"
- },
- "babel-plugin-transform-es2015-computed-properties": {
- "version": "6.24.1",
- "from": "babel-plugin-transform-es2015-computed-properties@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz"
- },
- "babel-plugin-transform-es2015-destructuring": {
- "version": "6.23.0",
- "from": "babel-plugin-transform-es2015-destructuring@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz"
- },
- "babel-plugin-transform-es2015-duplicate-keys": {
- "version": "6.24.1",
- "from": "babel-plugin-transform-es2015-duplicate-keys@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz"
- },
- "babel-plugin-transform-es2015-for-of": {
- "version": "6.23.0",
- "from": "babel-plugin-transform-es2015-for-of@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz"
- },
- "babel-plugin-transform-es2015-function-name": {
- "version": "6.24.1",
- "from": "babel-plugin-transform-es2015-function-name@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz"
- },
- "babel-plugin-transform-es2015-literals": {
- "version": "6.22.0",
- "from": "babel-plugin-transform-es2015-literals@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz"
- },
- "babel-plugin-transform-es2015-modules-amd": {
- "version": "6.24.1",
- "from": "babel-plugin-transform-es2015-modules-amd@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz"
- },
- "babel-plugin-transform-es2015-modules-commonjs": {
- "version": "6.24.1",
- "from": "babel-plugin-transform-es2015-modules-commonjs@>=6.24.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz"
- },
- "babel-plugin-transform-es2015-modules-systemjs": {
- "version": "6.24.1",
- "from": "babel-plugin-transform-es2015-modules-systemjs@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz"
- },
- "babel-plugin-transform-es2015-modules-umd": {
- "version": "6.24.1",
- "from": "babel-plugin-transform-es2015-modules-umd@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz"
- },
- "babel-plugin-transform-es2015-object-super": {
- "version": "6.24.1",
- "from": "babel-plugin-transform-es2015-object-super@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz"
- },
- "babel-plugin-transform-es2015-parameters": {
- "version": "6.24.1",
- "from": "babel-plugin-transform-es2015-parameters@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz"
- },
- "babel-plugin-transform-es2015-shorthand-properties": {
- "version": "6.24.1",
- "from": "babel-plugin-transform-es2015-shorthand-properties@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz"
- },
- "babel-plugin-transform-es2015-spread": {
- "version": "6.22.0",
- "from": "babel-plugin-transform-es2015-spread@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz"
- },
- "babel-plugin-transform-es2015-sticky-regex": {
- "version": "6.24.1",
- "from": "babel-plugin-transform-es2015-sticky-regex@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz"
- },
- "babel-plugin-transform-es2015-template-literals": {
- "version": "6.22.0",
- "from": "babel-plugin-transform-es2015-template-literals@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz"
- },
- "babel-plugin-transform-es2015-typeof-symbol": {
- "version": "6.23.0",
- "from": "babel-plugin-transform-es2015-typeof-symbol@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz"
- },
- "babel-plugin-transform-es2015-unicode-regex": {
- "version": "6.24.1",
- "from": "babel-plugin-transform-es2015-unicode-regex@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz"
- },
- "babel-plugin-transform-exponentiation-operator": {
- "version": "6.24.1",
- "from": "babel-plugin-transform-exponentiation-operator@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz"
- },
- "babel-plugin-transform-export-extensions": {
- "version": "6.22.0",
- "from": "babel-plugin-transform-export-extensions@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz"
- },
- "babel-plugin-transform-flow-strip-types": {
- "version": "6.22.0",
- "from": "babel-plugin-transform-flow-strip-types@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz"
- },
- "babel-plugin-transform-object-rest-spread": {
- "version": "6.23.0",
- "from": "babel-plugin-transform-object-rest-spread@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz"
- },
- "babel-plugin-transform-react-display-name": {
- "version": "6.23.0",
- "from": "babel-plugin-transform-react-display-name@>=6.23.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.23.0.tgz"
- },
- "babel-plugin-transform-react-jsx": {
- "version": "6.24.1",
- "from": "babel-plugin-transform-react-jsx@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz"
- },
- "babel-plugin-transform-react-jsx-self": {
- "version": "6.22.0",
- "from": "babel-plugin-transform-react-jsx-self@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz"
- },
- "babel-plugin-transform-react-jsx-source": {
- "version": "6.22.0",
- "from": "babel-plugin-transform-react-jsx-source@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz"
- },
- "babel-plugin-transform-regenerator": {
- "version": "6.24.1",
- "from": "babel-plugin-transform-regenerator@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz"
- },
- "babel-plugin-transform-strict-mode": {
- "version": "6.24.1",
- "from": "babel-plugin-transform-strict-mode@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz"
- },
- "babel-polyfill": {
- "version": "6.23.0",
- "from": "babel-polyfill@>=6.23.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz"
- },
- "babel-preset-es2015": {
- "version": "6.24.1",
- "from": "babel-preset-es2015@>=6.24.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz"
- },
- "babel-preset-flow": {
- "version": "6.23.0",
- "from": "babel-preset-flow@>=6.23.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz"
- },
- "babel-preset-react": {
- "version": "6.24.1",
- "from": "babel-preset-react@>=6.23.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz"
- },
- "babel-preset-stage-1": {
- "version": "6.24.1",
- "from": "babel-preset-stage-1@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz"
- },
- "babel-preset-stage-2": {
- "version": "6.24.1",
- "from": "babel-preset-stage-2@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz"
- },
- "babel-preset-stage-3": {
- "version": "6.24.1",
- "from": "babel-preset-stage-3@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz"
- },
- "babel-register": {
- "version": "6.24.1",
- "from": "babel-register@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.24.1.tgz",
- "dependencies": {
- "source-map-support": {
- "version": "0.4.14",
- "from": "source-map-support@>=0.4.2 <0.5.0",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.14.tgz"
- }
- }
- },
- "babel-runtime": {
- "version": "6.23.0",
- "from": "babel-runtime@>=6.23.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz"
- },
- "babel-template": {
- "version": "6.24.1",
- "from": "babel-template@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.24.1.tgz"
- },
- "babel-traverse": {
- "version": "6.24.1",
- "from": "babel-traverse@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.24.1.tgz"
- },
- "babel-types": {
- "version": "6.24.1",
- "from": "babel-types@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.24.1.tgz"
- },
- "babylon": {
- "version": "6.17.0",
- "from": "babylon@>=6.11.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.17.0.tgz"
- },
- "balanced-match": {
- "version": "0.4.2",
- "from": "balanced-match@>=0.4.1 <0.5.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz"
- },
- "base64url": {
- "version": "2.0.0",
- "from": "base64url@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/base64url/-/base64url-2.0.0.tgz"
- },
- "bcrypt": {
- "version": "1.0.2",
- "from": "bcrypt@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-1.0.2.tgz"
- },
- "bcrypt-pbkdf": {
- "version": "1.0.1",
- "from": "bcrypt-pbkdf@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
- "optional": true
- },
- "binary-extensions": {
- "version": "1.8.0",
- "from": "binary-extensions@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.8.0.tgz",
- "optional": true
- },
- "bindings": {
- "version": "1.2.1",
- "from": "bindings@1.2.1",
- "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz"
- },
- "bl": {
- "version": "1.1.2",
- "from": "bl@>=1.1.2 <1.2.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz",
- "dependencies": {
- "readable-stream": {
- "version": "2.0.6",
- "from": "readable-stream@>=2.0.5 <2.1.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz"
- },
- "string_decoder": {
- "version": "0.10.31",
- "from": "string_decoder@>=0.10.0 <0.11.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- }
- }
- },
- "block-stream": {
- "version": "0.0.9",
- "from": "block-stream@*",
- "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz"
- },
- "bluebird": {
- "version": "2.11.0",
- "from": "bluebird@>=2.11.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz"
- },
- "boom": {
- "version": "2.10.1",
- "from": "boom@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz"
- },
- "bootstrap": {
- "version": "3.3.7",
- "from": "bootstrap@>=3.3.7 <4.0.0",
- "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-3.3.7.tgz"
- },
- "bowser": {
- "version": "1.6.1",
- "from": "bowser@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/bowser/-/bowser-1.6.1.tgz"
- },
- "brace-expansion": {
- "version": "1.1.7",
- "from": "brace-expansion@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz"
- },
- "braces": {
- "version": "1.8.5",
- "from": "braces@>=1.8.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
- "optional": true
- },
- "braintree": {
- "version": "2.0.2",
- "from": "braintree@>=2.0.2 <3.0.0",
- "resolved": "https://registry.npmjs.org/braintree/-/braintree-2.0.2.tgz",
- "dependencies": {
- "readable-stream": {
- "version": "1.1.10",
- "from": "readable-stream@1.1.10",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.10.tgz"
- },
- "semver": {
- "version": "5.1.0",
- "from": "semver@5.1.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.1.0.tgz"
- },
- "string_decoder": {
- "version": "0.10.31",
- "from": "string_decoder@>=0.10.0 <0.11.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- },
- "xml2js": {
- "version": "0.1.13",
- "from": "xml2js@0.1.13",
- "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.1.13.tgz"
- }
- }
- },
- "browser-stdout": {
- "version": "1.3.0",
- "from": "browser-stdout@1.3.0",
- "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz",
- "dev": true
- },
- "browserslist": {
- "version": "1.7.7",
- "from": "browserslist@>=1.7.6 <2.0.0",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz"
- },
- "browserstack-local": {
- "version": "1.3.0",
- "from": "browserstack-local@>=1.3.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/browserstack-local/-/browserstack-local-1.3.0.tgz",
- "dev": true
- },
- "buffer-crc32": {
- "version": "0.2.13",
- "from": "buffer-crc32@>=0.2.3 <0.3.0",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz"
- },
- "buffer-equal-constant-time": {
- "version": "1.0.1",
- "from": "buffer-equal-constant-time@1.0.1",
- "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz"
- },
- "buffer-shims": {
- "version": "1.0.0",
- "from": "buffer-shims@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz"
- },
- "buildmail": {
- "version": "4.0.1",
- "from": "buildmail@4.0.1",
- "resolved": "https://registry.npmjs.org/buildmail/-/buildmail-4.0.1.tgz"
- },
- "builtin-modules": {
- "version": "1.1.1",
- "from": "builtin-modules@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz"
- },
- "bunyan": {
- "version": "1.8.10",
- "from": "bunyan@>=1.8.9 <2.0.0",
- "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.10.tgz"
- },
- "bunyan-format": {
- "version": "0.2.1",
- "from": "bunyan-format@>=0.2.1 <0.3.0",
- "resolved": "https://registry.npmjs.org/bunyan-format/-/bunyan-format-0.2.1.tgz"
- },
- "bunyan-loggly": {
- "version": "1.2.0",
- "from": "bunyan-loggly@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/bunyan-loggly/-/bunyan-loggly-1.2.0.tgz"
- },
- "caller-path": {
- "version": "0.1.0",
- "from": "caller-path@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
- "dev": true
- },
- "callsites": {
- "version": "0.2.0",
- "from": "callsites@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
- "dev": true
- },
- "camelcase": {
- "version": "1.2.1",
- "from": "camelcase@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "optional": true
- },
- "camelcase-css": {
- "version": "1.0.1",
- "from": "camelcase-css@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-1.0.1.tgz"
- },
- "camelcase-keys": {
- "version": "2.1.0",
- "from": "camelcase-keys@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
- "dev": true,
- "dependencies": {
- "camelcase": {
- "version": "2.1.1",
- "from": "camelcase@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
- "dev": true
- }
- }
- },
- "camelize": {
- "version": "1.0.0",
- "from": "camelize@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz"
- },
- "caniuse-db": {
- "version": "1.0.30000662",
- "from": "caniuse-db@>=1.0.30000634 <2.0.0",
- "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000662.tgz"
- },
- "cardinal": {
- "version": "0.5.0",
- "from": "cardinal@>=0.5.0 <0.6.0",
- "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-0.5.0.tgz"
- },
- "caseless": {
- "version": "0.12.0",
- "from": "caseless@>=0.12.0 <0.13.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz"
- },
- "center-align": {
- "version": "0.1.3",
- "from": "center-align@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
- "optional": true
- },
- "chai": {
- "version": "3.5.0",
- "from": "chai@>=3.5.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz",
- "dev": true
- },
- "chalk": {
- "version": "1.1.3",
- "from": "chalk@>=1.1.3 <2.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "from": "supports-color@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
- }
- }
- },
- "chokidar": {
- "version": "1.6.1",
- "from": "chokidar@>=1.6.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz",
- "optional": true
- },
- "circular-json": {
- "version": "0.3.1",
- "from": "circular-json@>=0.3.1 <0.4.0",
- "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz",
- "dev": true
- },
- "classnames": {
- "version": "2.2.5",
- "from": "classnames@>=2.2.5 <3.0.0",
- "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz"
- },
- "cli-color": {
- "version": "0.1.7",
- "from": "cli-color@>=0.1.6 <0.2.0",
- "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-0.1.7.tgz"
- },
- "cli-cursor": {
- "version": "1.0.2",
- "from": "cli-cursor@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
- "dev": true
- },
- "cli-width": {
- "version": "2.1.0",
- "from": "cli-width@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz",
- "dev": true
- },
- "cliui": {
- "version": "2.1.0",
- "from": "cliui@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
- "optional": true,
- "dependencies": {
- "wordwrap": {
- "version": "0.0.2",
- "from": "wordwrap@0.0.2",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
- "optional": true
- }
- }
- },
- "co": {
- "version": "4.6.0",
- "from": "co@>=4.6.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz"
- },
- "code-point-at": {
- "version": "1.1.0",
- "from": "code-point-at@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz"
- },
- "combined-stream": {
- "version": "1.0.5",
- "from": "combined-stream@>=1.0.5 <1.1.0",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz"
- },
- "commander": {
- "version": "2.9.0",
- "from": "commander@>=2.9.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz"
- },
- "compress-commons": {
- "version": "1.2.0",
- "from": "compress-commons@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.0.tgz",
- "dev": true
- },
- "concat-map": {
- "version": "0.0.1",
- "from": "concat-map@0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
- },
- "concat-stream": {
- "version": "1.6.0",
- "from": "concat-stream@>=1.5.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
- "dev": true
- },
- "console-control-strings": {
- "version": "1.1.0",
- "from": "console-control-strings@>=1.1.0 <1.2.0",
- "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz"
- },
- "convert-source-map": {
- "version": "1.5.0",
- "from": "convert-source-map@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz"
- },
- "core-js": {
- "version": "2.4.1",
- "from": "core-js@>=2.4.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz"
- },
- "core-util-is": {
- "version": "1.0.2",
- "from": "core-util-is@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"
- },
- "country-data": {
- "version": "0.0.31",
- "from": "country-data@>=0.0.31 <0.0.32",
- "resolved": "https://registry.npmjs.org/country-data/-/country-data-0.0.31.tgz"
- },
- "crc": {
- "version": "3.4.4",
- "from": "crc@>=3.4.4 <4.0.0",
- "resolved": "https://registry.npmjs.org/crc/-/crc-3.4.4.tgz",
- "dev": true
- },
- "crc32-stream": {
- "version": "2.0.0",
- "from": "crc32-stream@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz",
- "dev": true
- },
- "create-react-class": {
- "version": "15.5.2",
- "from": "create-react-class@>=15.5.0 <16.0.0",
- "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.5.2.tgz"
- },
- "cryptiles": {
- "version": "2.0.5",
- "from": "cryptiles@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz"
- },
- "css": {
- "version": "2.2.1",
- "from": "css@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/css/-/css-2.2.1.tgz",
- "dev": true,
- "dependencies": {
- "source-map": {
- "version": "0.1.43",
- "from": "source-map@>=0.1.38 <0.2.0",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
- "dev": true
- }
- }
- },
- "css-annotation": {
- "version": "0.6.2",
- "from": "css-annotation@>=0.6.2 <0.7.0",
- "resolved": "https://registry.npmjs.org/css-annotation/-/css-annotation-0.6.2.tgz"
- },
- "css-parse": {
- "version": "2.0.0",
- "from": "css-parse@>=2.0.0 <2.1.0",
- "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz",
- "dev": true
- },
- "css-value": {
- "version": "0.0.1",
- "from": "css-value@>=0.0.1 <0.1.0",
- "resolved": "https://registry.npmjs.org/css-value/-/css-value-0.0.1.tgz",
- "dev": true
- },
- "currency-symbol-map": {
- "version": "2.2.0",
- "from": "currency-symbol-map@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/currency-symbol-map/-/currency-symbol-map-2.2.0.tgz"
- },
- "currently-unhandled": {
- "version": "0.4.1",
- "from": "currently-unhandled@>=0.4.1 <0.5.0",
- "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
- "dev": true
- },
- "d": {
- "version": "1.0.0",
- "from": "d@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
- "dev": true,
- "dependencies": {
- "es5-ext": {
- "version": "0.10.15",
- "from": "es5-ext@>=0.10.9 <0.11.0",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.15.tgz",
- "dev": true
- }
- }
- },
- "d3-array": {
- "version": "1.2.0",
- "from": "d3-array@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.0.tgz"
- },
- "d3-collection": {
- "version": "1.0.3",
- "from": "d3-collection@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.3.tgz"
- },
- "d3-color": {
- "version": "1.0.3",
- "from": "d3-color@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.0.3.tgz"
- },
- "d3-format": {
- "version": "1.2.0",
- "from": "d3-format@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.2.0.tgz"
- },
- "d3-interpolate": {
- "version": "1.1.4",
- "from": "d3-interpolate@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.1.4.tgz"
- },
- "d3-scale": {
- "version": "1.0.5",
- "from": "d3-scale@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-1.0.5.tgz"
- },
- "d3-scale-chromatic": {
- "version": "1.1.1",
- "from": "d3-scale-chromatic@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.1.1.tgz"
- },
- "d3-time": {
- "version": "1.0.6",
- "from": "d3-time@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.0.6.tgz"
- },
- "d3-time-format": {
- "version": "2.0.5",
- "from": "d3-time-format@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.0.5.tgz"
- },
- "dashdash": {
- "version": "1.14.1",
- "from": "dashdash@>=1.12.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "from": "assert-plus@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
- }
- }
- },
- "dateformat": {
- "version": "1.0.1-1.2.3",
- "from": "dateformat@1.0.1-1.2.3",
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.1-1.2.3.tgz"
- },
- "debug": {
- "version": "2.2.0",
- "from": "debug@>=2.2.0 <2.3.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz"
- },
- "debuglog": {
- "version": "0.0.2",
- "from": "debuglog@0.0.2",
- "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-0.0.2.tgz",
- "optional": true
- },
- "decamelize": {
- "version": "1.2.0",
- "from": "decamelize@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz"
- },
- "deep-diff": {
- "version": "0.3.6",
- "from": "deep-diff@>=0.3.4 <0.4.0",
- "resolved": "https://registry.npmjs.org/deep-diff/-/deep-diff-0.3.6.tgz"
- },
- "deep-eql": {
- "version": "0.1.3",
- "from": "deep-eql@>=0.1.3 <0.2.0",
- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz",
- "dev": true,
- "dependencies": {
- "type-detect": {
- "version": "0.1.1",
- "from": "type-detect@0.1.1",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz",
- "dev": true
- }
- }
- },
- "deep-equal": {
- "version": "1.0.1",
- "from": "deep-equal@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz"
- },
- "deep-extend": {
- "version": "0.4.1",
- "from": "deep-extend@>=0.4.0 <0.5.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz"
- },
- "deep-is": {
- "version": "0.1.3",
- "from": "deep-is@>=0.1.3 <0.2.0",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
- "dev": true
- },
- "deepmerge": {
- "version": "1.3.2",
- "from": "deepmerge@>=1.3.2 <1.4.0",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.3.2.tgz",
- "dev": true
- },
- "define-properties": {
- "version": "1.1.2",
- "from": "define-properties@>=1.1.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
- "dev": true,
- "dependencies": {
- "object-keys": {
- "version": "1.0.11",
- "from": "object-keys@>=1.0.8 <2.0.0",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
- "dev": true
- }
- }
- },
- "del": {
- "version": "2.2.2",
- "from": "del@>=2.0.2 <3.0.0",
- "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
- "dev": true
- },
- "delayed-stream": {
- "version": "1.0.0",
- "from": "delayed-stream@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
- },
- "delegates": {
- "version": "1.0.0",
- "from": "delegates@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz"
- },
- "depd": {
- "version": "1.1.0",
- "from": "depd@>=1.1.0 <1.2.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz"
- },
- "deprecate": {
- "version": "0.1.0",
- "from": "deprecate@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npmjs.org/deprecate/-/deprecate-0.1.0.tgz"
- },
- "detect-indent": {
- "version": "4.0.0",
- "from": "detect-indent@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz"
- },
- "diff": {
- "version": "3.2.0",
- "from": "diff@3.2.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz",
- "dev": true
- },
- "difflib": {
- "version": "0.2.4",
- "from": "difflib@>=0.2.1 <0.3.0",
- "resolved": "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz"
- },
- "disposables": {
- "version": "1.0.1",
- "from": "disposables@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/disposables/-/disposables-1.0.1.tgz"
- },
- "dnd-core": {
- "version": "2.3.0",
- "from": "dnd-core@>=2.3.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/dnd-core/-/dnd-core-2.3.0.tgz"
- },
- "doctrine": {
- "version": "2.0.0",
- "from": "doctrine@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz",
- "dev": true
- },
- "dreamopt": {
- "version": "0.6.0",
- "from": "dreamopt@>=0.6.0 <0.7.0",
- "resolved": "https://registry.npmjs.org/dreamopt/-/dreamopt-0.6.0.tgz"
- },
- "dtrace-provider": {
- "version": "0.8.1",
- "from": "dtrace-provider@>=0.8.0 <0.9.0",
- "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.1.tgz",
- "optional": true
- },
- "ecc-jsbn": {
- "version": "0.1.1",
- "from": "ecc-jsbn@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
- "optional": true
- },
- "ecdsa-sig-formatter": {
- "version": "1.0.9",
- "from": "ecdsa-sig-formatter@1.0.9",
- "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.9.tgz"
- },
- "ejs": {
- "version": "2.5.6",
- "from": "ejs@>=2.5.6 <2.6.0",
- "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.6.tgz",
- "dev": true
- },
- "electron-to-chromium": {
- "version": "1.3.8",
- "from": "electron-to-chromium@>=1.2.7 <2.0.0",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.8.tgz"
- },
- "encoding": {
- "version": "0.1.12",
- "from": "encoding@>=0.1.11 <0.2.0",
- "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz"
- },
- "end-of-stream": {
- "version": "1.4.0",
- "from": "end-of-stream@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz",
- "dev": true
- },
- "error": {
- "version": "4.4.0",
- "from": "error@>=4.2.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/error/-/error-4.4.0.tgz",
- "dependencies": {
- "xtend": {
- "version": "4.0.1",
- "from": "xtend@>=4.0.0 <4.1.0",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- }
- }
- },
- "error-ex": {
- "version": "1.3.1",
- "from": "error-ex@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz"
- },
- "es-abstract": {
- "version": "1.7.0",
- "from": "es-abstract@>=1.7.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.7.0.tgz",
- "dev": true
- },
- "es-to-primitive": {
- "version": "1.1.1",
- "from": "es-to-primitive@>=1.1.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
- "dev": true
- },
- "es5-ext": {
- "version": "0.8.2",
- "from": "es5-ext@>=0.8.0 <0.9.0",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.8.2.tgz"
- },
- "es6-iterator": {
- "version": "2.0.1",
- "from": "es6-iterator@>=2.0.1 <2.1.0",
- "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz",
- "dev": true,
- "dependencies": {
- "es5-ext": {
- "version": "0.10.15",
- "from": "es5-ext@>=0.10.14 <0.11.0",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.15.tgz",
- "dev": true
- }
- }
- },
- "es6-map": {
- "version": "0.1.5",
- "from": "es6-map@>=0.1.3 <0.2.0",
- "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz",
- "dev": true,
- "dependencies": {
- "es5-ext": {
- "version": "0.10.15",
- "from": "es5-ext@>=0.10.14 <0.11.0",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.15.tgz",
- "dev": true
- }
- }
- },
- "es6-set": {
- "version": "0.1.5",
- "from": "es6-set@>=0.1.5 <0.2.0",
- "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
- "dev": true,
- "dependencies": {
- "es5-ext": {
- "version": "0.10.15",
- "from": "es5-ext@>=0.10.14 <0.11.0",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.15.tgz",
- "dev": true
- }
- }
- },
- "es6-symbol": {
- "version": "3.1.1",
- "from": "es6-symbol@>=3.1.1 <3.2.0",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
- "dev": true,
- "dependencies": {
- "es5-ext": {
- "version": "0.10.15",
- "from": "es5-ext@>=0.10.14 <0.11.0",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.15.tgz",
- "dev": true
- }
- }
- },
- "es6-weak-map": {
- "version": "2.0.2",
- "from": "es6-weak-map@>=2.0.1 <3.0.0",
- "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz",
- "dev": true,
- "dependencies": {
- "es5-ext": {
- "version": "0.10.15",
- "from": "es5-ext@>=0.10.14 <0.11.0",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.15.tgz",
- "dev": true
- }
- }
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "from": "escape-string-regexp@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
- },
- "escope": {
- "version": "3.6.0",
- "from": "escope@>=3.6.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz",
- "dev": true
- },
- "eslint": {
- "version": "3.19.0",
- "from": "eslint@>=3.18.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz",
- "dev": true,
- "dependencies": {
- "strip-bom": {
- "version": "3.0.0",
- "from": "strip-bom@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "dev": true
- },
- "user-home": {
- "version": "2.0.0",
- "from": "user-home@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz",
- "dev": true
- }
- }
- },
- "eslint-plugin-react": {
- "version": "6.10.3",
- "from": "eslint-plugin-react@>=6.10.3 <7.0.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz",
- "dev": true,
- "dependencies": {
- "doctrine": {
- "version": "1.5.0",
- "from": "doctrine@>=1.2.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
- "dev": true
- }
- }
- },
- "espree": {
- "version": "3.4.2",
- "from": "espree@>=3.4.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-3.4.2.tgz",
- "dev": true
- },
- "esprima-fb": {
- "version": "12001.1.0-dev-harmony-fb",
- "from": "esprima-fb@>=12001.1.0-dev-harmony-fb <12001.2.0",
- "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-12001.1.0-dev-harmony-fb.tgz"
- },
- "esquery": {
- "version": "1.0.0",
- "from": "esquery@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz",
- "dev": true
- },
- "esrecurse": {
- "version": "4.1.0",
- "from": "esrecurse@>=4.1.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.1.0.tgz",
- "dev": true,
- "dependencies": {
- "estraverse": {
- "version": "4.1.1",
- "from": "estraverse@>=4.1.0 <4.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz",
- "dev": true
- }
- }
- },
- "estraverse": {
- "version": "4.2.0",
- "from": "estraverse@>=4.2.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
- "dev": true
- },
- "esutils": {
- "version": "2.0.2",
- "from": "esutils@>=2.0.2 <3.0.0",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz"
- },
- "event-emitter": {
- "version": "0.3.5",
- "from": "event-emitter@>=0.3.5 <0.4.0",
- "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
- "dev": true,
- "dependencies": {
- "es5-ext": {
- "version": "0.10.15",
- "from": "es5-ext@>=0.10.14 <0.11.0",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.15.tgz",
- "dev": true
- }
- }
- },
- "exenv": {
- "version": "1.2.2",
- "from": "exenv@>=1.2.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz"
- },
- "exit-hook": {
- "version": "1.1.1",
- "from": "exit-hook@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz",
- "dev": true
- },
- "expand-brackets": {
- "version": "0.1.5",
- "from": "expand-brackets@>=0.1.4 <0.2.0",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
- "optional": true
- },
- "expand-range": {
- "version": "1.8.2",
- "from": "expand-range@>=1.8.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
- "optional": true
- },
- "extend": {
- "version": "3.0.0",
- "from": "extend@>=3.0.0 <3.1.0",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz"
- },
- "external-editor": {
- "version": "2.0.1",
- "from": "external-editor@>=2.0.1 <3.0.0",
- "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.0.1.tgz",
- "dev": true
- },
- "extglob": {
- "version": "0.3.2",
- "from": "extglob@>=0.3.1 <0.4.0",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
- "optional": true
- },
- "extsprintf": {
- "version": "1.0.2",
- "from": "extsprintf@1.0.2",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz"
- },
- "faker": {
- "version": "4.1.0",
- "from": "faker@>=4.1.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/faker/-/faker-4.1.0.tgz"
- },
- "fast-levenshtein": {
- "version": "2.0.6",
- "from": "fast-levenshtein@>=2.0.4 <2.1.0",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "dev": true
- },
- "fbjs": {
- "version": "0.8.12",
- "from": "fbjs@>=0.8.9 <0.9.0",
- "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.12.tgz",
- "dependencies": {
- "core-js": {
- "version": "1.2.7",
- "from": "core-js@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz"
- }
- }
- },
- "fibers": {
- "version": "1.0.15",
- "from": "fibers@>=1.0.15 <2.0.0",
- "resolved": "https://registry.npmjs.org/fibers/-/fibers-1.0.15.tgz"
- },
- "figures": {
- "version": "1.7.0",
- "from": "figures@>=1.3.5 <2.0.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
- "dev": true
- },
- "file-entry-cache": {
- "version": "2.0.0",
- "from": "file-entry-cache@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
- "dev": true
- },
- "file-type": {
- "version": "2.6.0",
- "from": "file-type@2.6.0",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-2.6.0.tgz",
- "dev": true
- },
- "filename-regex": {
- "version": "2.0.0",
- "from": "filename-regex@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.0.tgz",
- "optional": true
- },
- "fill-range": {
- "version": "2.2.3",
- "from": "fill-range@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
- "optional": true
- },
- "find-up": {
- "version": "1.1.2",
- "from": "find-up@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz"
- },
- "flat-cache": {
- "version": "1.2.2",
- "from": "flat-cache@>=1.2.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz",
- "dev": true
- },
- "flatten-obj": {
- "version": "3.1.0",
- "from": "flatten-obj@>=3.1.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/flatten-obj/-/flatten-obj-3.1.0.tgz"
- },
- "font-awesome": {
- "version": "4.7.0",
- "from": "font-awesome@>=4.7.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz"
- },
- "for-in": {
- "version": "1.0.2",
- "from": "for-in@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "optional": true
- },
- "for-own": {
- "version": "0.1.5",
- "from": "for-own@>=0.1.4 <0.2.0",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
- "optional": true
- },
- "foreach": {
- "version": "2.0.5",
- "from": "foreach@>=2.0.5 <3.0.0",
- "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
- "dev": true
- },
- "forever-agent": {
- "version": "0.6.1",
- "from": "forever-agent@>=0.6.1 <0.7.0",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz"
- },
- "form-data": {
- "version": "2.1.4",
- "from": "form-data@>=2.1.1 <2.2.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz"
- },
- "formatio": {
- "version": "1.1.1",
- "from": "formatio@1.1.1",
- "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz",
- "dev": true
- },
- "fs-extra": {
- "version": "0.30.0",
- "from": "fs-extra@>=0.30.0 <0.31.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz",
- "dev": true
- },
- "fs-readdir-recursive": {
- "version": "1.0.0",
- "from": "fs-readdir-recursive@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz"
- },
- "fs.realpath": {
- "version": "1.0.0",
- "from": "fs.realpath@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
- },
- "fsevents": {
- "version": "1.1.1",
- "from": "fsevents@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.1.tgz",
- "optional": true,
- "dependencies": {
- "abbrev": {
- "version": "1.1.0",
- "from": "abbrev@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz",
- "optional": true
- },
- "ansi-regex": {
- "version": "2.1.1",
- "from": "ansi-regex@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
- },
- "ansi-styles": {
- "version": "2.2.1",
- "from": "ansi-styles@>=2.2.1 <3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "optional": true
- },
- "aproba": {
- "version": "1.1.1",
- "from": "aproba@>=1.0.3 <2.0.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz",
- "optional": true
- },
- "are-we-there-yet": {
- "version": "1.1.2",
- "from": "are-we-there-yet@>=1.1.2 <1.2.0",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz",
- "optional": true
- },
- "asn1": {
- "version": "0.2.3",
- "from": "asn1@>=0.2.3 <0.3.0",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
- "optional": true
- },
- "assert-plus": {
- "version": "0.2.0",
- "from": "assert-plus@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
- "optional": true
- },
- "asynckit": {
- "version": "0.4.0",
- "from": "asynckit@>=0.4.0 <0.5.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "optional": true
- },
- "aws-sign2": {
- "version": "0.6.0",
- "from": "aws-sign2@>=0.6.0 <0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
- "optional": true
- },
- "aws4": {
- "version": "1.6.0",
- "from": "aws4@>=1.2.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
- "optional": true
- },
- "balanced-match": {
- "version": "0.4.2",
- "from": "balanced-match@>=0.4.1 <0.5.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz"
- },
- "bcrypt-pbkdf": {
- "version": "1.0.1",
- "from": "bcrypt-pbkdf@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
- "optional": true
- },
- "block-stream": {
- "version": "0.0.9",
- "from": "block-stream@*",
- "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz"
- },
- "boom": {
- "version": "2.10.1",
- "from": "boom@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz"
- },
- "brace-expansion": {
- "version": "1.1.6",
- "from": "brace-expansion@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz"
- },
- "buffer-shims": {
- "version": "1.0.0",
- "from": "buffer-shims@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz"
- },
- "caseless": {
- "version": "0.11.0",
- "from": "caseless@>=0.11.0 <0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
- "optional": true
- },
- "chalk": {
- "version": "1.1.3",
- "from": "chalk@>=1.1.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "optional": true
- },
- "code-point-at": {
- "version": "1.1.0",
- "from": "code-point-at@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz"
- },
- "combined-stream": {
- "version": "1.0.5",
- "from": "combined-stream@>=1.0.5 <1.1.0",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz"
- },
- "commander": {
- "version": "2.9.0",
- "from": "commander@>=2.9.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
- "optional": true
- },
- "concat-map": {
- "version": "0.0.1",
- "from": "concat-map@0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
- },
- "console-control-strings": {
- "version": "1.1.0",
- "from": "console-control-strings@>=1.1.0 <1.2.0",
- "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz"
- },
- "core-util-is": {
- "version": "1.0.2",
- "from": "core-util-is@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"
- },
- "cryptiles": {
- "version": "2.0.5",
- "from": "cryptiles@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
- "optional": true
- },
- "dashdash": {
- "version": "1.14.1",
- "from": "dashdash@>=1.12.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "optional": true,
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "from": "assert-plus@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "optional": true
- }
- }
- },
- "debug": {
- "version": "2.2.0",
- "from": "debug@>=2.2.0 <2.3.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "optional": true
- },
- "deep-extend": {
- "version": "0.4.1",
- "from": "deep-extend@>=0.4.0 <0.5.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz",
- "optional": true
- },
- "delayed-stream": {
- "version": "1.0.0",
- "from": "delayed-stream@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
- },
- "delegates": {
- "version": "1.0.0",
- "from": "delegates@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
- "optional": true
- },
- "ecc-jsbn": {
- "version": "0.1.1",
- "from": "ecc-jsbn@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
- "optional": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "from": "escape-string-regexp@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "optional": true
- },
- "extend": {
- "version": "3.0.0",
- "from": "extend@>=3.0.0 <3.1.0",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz",
- "optional": true
- },
- "extsprintf": {
- "version": "1.0.2",
- "from": "extsprintf@1.0.2",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz"
- },
- "forever-agent": {
- "version": "0.6.1",
- "from": "forever-agent@>=0.6.1 <0.7.0",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "optional": true
- },
- "form-data": {
- "version": "2.1.2",
- "from": "form-data@>=2.1.1 <2.2.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz",
- "optional": true
- },
- "fs.realpath": {
- "version": "1.0.0",
- "from": "fs.realpath@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
- },
- "fstream": {
- "version": "1.0.10",
- "from": "fstream@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz"
- },
- "fstream-ignore": {
- "version": "1.0.5",
- "from": "fstream-ignore@>=1.0.5 <1.1.0",
- "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz",
- "optional": true
- },
- "gauge": {
- "version": "2.7.3",
- "from": "gauge@>=2.7.1 <2.8.0",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.3.tgz",
- "optional": true
- },
- "generate-function": {
- "version": "2.0.0",
- "from": "generate-function@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
- "optional": true
- },
- "generate-object-property": {
- "version": "1.2.0",
- "from": "generate-object-property@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
- "optional": true
- },
- "getpass": {
- "version": "0.1.6",
- "from": "getpass@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz",
- "optional": true,
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "from": "assert-plus@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "optional": true
- }
- }
- },
- "glob": {
- "version": "7.1.1",
- "from": "glob@>=7.0.5 <8.0.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz"
- },
- "graceful-fs": {
- "version": "4.1.11",
- "from": "graceful-fs@>=4.1.2 <5.0.0",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz"
- },
- "graceful-readlink": {
- "version": "1.0.1",
- "from": "graceful-readlink@>=1.0.0",
- "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
- "optional": true
- },
- "har-validator": {
- "version": "2.0.6",
- "from": "har-validator@>=2.0.6 <2.1.0",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
- "optional": true
- },
- "has-ansi": {
- "version": "2.0.0",
- "from": "has-ansi@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "optional": true
- },
- "has-unicode": {
- "version": "2.0.1",
- "from": "has-unicode@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "optional": true
- },
- "hawk": {
- "version": "3.1.3",
- "from": "hawk@>=3.1.3 <3.2.0",
- "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
- "optional": true
- },
- "hoek": {
- "version": "2.16.3",
- "from": "hoek@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
- },
- "http-signature": {
- "version": "1.1.1",
- "from": "http-signature@>=1.1.0 <1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
- "optional": true
- },
- "inflight": {
- "version": "1.0.6",
- "from": "inflight@>=1.0.4 <2.0.0",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"
- },
- "inherits": {
- "version": "2.0.3",
- "from": "inherits@>=2.0.1 <2.1.0",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
- },
- "ini": {
- "version": "1.3.4",
- "from": "ini@>=1.3.0 <1.4.0",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
- "optional": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz"
- },
- "is-my-json-valid": {
- "version": "2.15.0",
- "from": "is-my-json-valid@>=2.12.4 <3.0.0",
- "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz",
- "optional": true
- },
- "is-property": {
- "version": "1.0.2",
- "from": "is-property@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
- "optional": true
- },
- "is-typedarray": {
- "version": "1.0.0",
- "from": "is-typedarray@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "optional": true
- },
- "isarray": {
- "version": "1.0.0",
- "from": "isarray@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
- },
- "isstream": {
- "version": "0.1.2",
- "from": "isstream@>=0.1.2 <0.2.0",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "optional": true
- },
- "jodid25519": {
- "version": "1.0.2",
- "from": "jodid25519@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz",
- "optional": true
- },
- "jsbn": {
- "version": "0.1.1",
- "from": "jsbn@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "optional": true
- },
- "json-schema": {
- "version": "0.2.3",
- "from": "json-schema@0.2.3",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
- "optional": true
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "from": "json-stringify-safe@>=5.0.1 <5.1.0",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "optional": true
- },
- "jsonpointer": {
- "version": "4.0.1",
- "from": "jsonpointer@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
- "optional": true
- },
- "jsprim": {
- "version": "1.3.1",
- "from": "jsprim@>=1.2.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz",
- "optional": true
- },
- "mime-db": {
- "version": "1.26.0",
- "from": "mime-db@>=1.26.0 <1.27.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz"
- },
- "mime-types": {
- "version": "2.1.14",
- "from": "mime-types@>=2.1.7 <2.2.0",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz"
- },
- "minimatch": {
- "version": "3.0.3",
- "from": "minimatch@>=3.0.2 <4.0.0",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz"
- },
- "minimist": {
- "version": "0.0.8",
- "from": "minimist@0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
- },
- "mkdirp": {
- "version": "0.5.1",
- "from": "mkdirp@>=0.5.1 <0.6.0",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"
- },
- "ms": {
- "version": "0.7.1",
- "from": "ms@0.7.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
- "optional": true
- },
- "node-pre-gyp": {
- "version": "0.6.33",
- "from": "node-pre-gyp@>=0.6.29 <0.7.0",
- "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz",
- "optional": true
- },
- "nopt": {
- "version": "3.0.6",
- "from": "nopt@>=3.0.6 <3.1.0",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
- "optional": true
- },
- "npmlog": {
- "version": "4.0.2",
- "from": "npmlog@>=4.0.1 <5.0.0",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.0.2.tgz",
- "optional": true
- },
- "number-is-nan": {
- "version": "1.0.1",
- "from": "number-is-nan@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz"
- },
- "oauth-sign": {
- "version": "0.8.2",
- "from": "oauth-sign@>=0.8.1 <0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
- "optional": true
- },
- "object-assign": {
- "version": "4.1.1",
- "from": "object-assign@>=4.1.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "optional": true
- },
- "once": {
- "version": "1.4.0",
- "from": "once@>=1.3.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "from": "path-is-absolute@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
- },
- "pinkie": {
- "version": "2.0.4",
- "from": "pinkie@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "optional": true
- },
- "pinkie-promise": {
- "version": "2.0.1",
- "from": "pinkie-promise@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "optional": true
- },
- "process-nextick-args": {
- "version": "1.0.7",
- "from": "process-nextick-args@>=1.0.6 <1.1.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz"
- },
- "punycode": {
- "version": "1.4.1",
- "from": "punycode@>=1.4.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "optional": true
- },
- "qs": {
- "version": "6.3.1",
- "from": "qs@>=6.3.0 <6.4.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.1.tgz",
- "optional": true
- },
- "rc": {
- "version": "1.1.7",
- "from": "rc@>=1.1.6 <1.2.0",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.1.7.tgz",
- "optional": true,
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "from": "minimist@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "optional": true
- }
- }
- },
- "readable-stream": {
- "version": "2.2.2",
- "from": "readable-stream@>=2.0.0 <3.0.0||>=1.1.13 <2.0.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz",
- "optional": true
- },
- "request": {
- "version": "2.79.0",
- "from": "request@>=2.79.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz",
- "optional": true
- },
- "rimraf": {
- "version": "2.5.4",
- "from": "rimraf@>=2.5.4 <2.6.0",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz"
- },
- "semver": {
- "version": "5.3.0",
- "from": "semver@>=5.3.0 <5.4.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
- "optional": true
- },
- "set-blocking": {
- "version": "2.0.0",
- "from": "set-blocking@>=2.0.0 <2.1.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "optional": true
- },
- "signal-exit": {
- "version": "3.0.2",
- "from": "signal-exit@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "optional": true
- },
- "sntp": {
- "version": "1.0.9",
- "from": "sntp@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
- "optional": true
- },
- "sshpk": {
- "version": "1.10.2",
- "from": "sshpk@>=1.7.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.2.tgz",
- "optional": true,
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "from": "assert-plus@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "optional": true
- }
- }
- },
- "string_decoder": {
- "version": "0.10.31",
- "from": "string_decoder@>=0.10.0 <0.11.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- },
- "string-width": {
- "version": "1.0.2",
- "from": "string-width@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz"
- },
- "stringstream": {
- "version": "0.0.5",
- "from": "stringstream@>=0.0.4 <0.1.0",
- "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
- "optional": true
- },
- "strip-ansi": {
- "version": "3.0.1",
- "from": "strip-ansi@>=3.0.1 <4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "from": "strip-json-comments@>=2.0.1 <2.1.0",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "optional": true
- },
- "supports-color": {
- "version": "2.0.0",
- "from": "supports-color@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "optional": true
- },
- "tar": {
- "version": "2.2.1",
- "from": "tar@>=2.2.1 <2.3.0",
- "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz"
- },
- "tar-pack": {
- "version": "3.3.0",
- "from": "tar-pack@>=3.3.0 <3.4.0",
- "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.3.0.tgz",
- "optional": true,
- "dependencies": {
- "once": {
- "version": "1.3.3",
- "from": "once@>=1.3.3 <1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
- "optional": true
- },
- "readable-stream": {
- "version": "2.1.5",
- "from": "readable-stream@>=2.1.4 <2.2.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz",
- "optional": true
- }
- }
- },
- "tough-cookie": {
- "version": "2.3.2",
- "from": "tough-cookie@>=2.3.0 <2.4.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz",
- "optional": true
- },
- "tunnel-agent": {
- "version": "0.4.3",
- "from": "tunnel-agent@>=0.4.1 <0.5.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
- "optional": true
- },
- "tweetnacl": {
- "version": "0.14.5",
- "from": "tweetnacl@>=0.14.0 <0.15.0",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "optional": true
- },
- "uid-number": {
- "version": "0.0.6",
- "from": "uid-number@>=0.0.6 <0.1.0",
- "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz",
- "optional": true
- },
- "util-deprecate": {
- "version": "1.0.2",
- "from": "util-deprecate@>=1.0.1 <1.1.0",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
- },
- "uuid": {
- "version": "3.0.1",
- "from": "uuid@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz",
- "optional": true
- },
- "verror": {
- "version": "1.3.6",
- "from": "verror@1.3.6",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz",
- "optional": true
- },
- "wide-align": {
- "version": "1.1.0",
- "from": "wide-align@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz",
- "optional": true
- },
- "wrappy": {
- "version": "1.0.2",
- "from": "wrappy@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
- },
- "xtend": {
- "version": "4.0.1",
- "from": "xtend@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
- "optional": true
- }
- }
- },
- "fstream": {
- "version": "1.0.11",
- "from": "fstream@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz"
- },
- "fstream-ignore": {
- "version": "1.0.5",
- "from": "fstream-ignore@>=1.0.5 <1.1.0",
- "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz"
- },
- "function-bind": {
- "version": "1.1.0",
- "from": "function-bind@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz",
- "dev": true
- },
- "gauge": {
- "version": "2.7.4",
- "from": "gauge@>=2.7.1 <2.8.0",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz"
- },
- "gaze": {
- "version": "1.1.2",
- "from": "gaze@>=1.1.2 <1.2.0",
- "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz",
- "dev": true
- },
- "generate-function": {
- "version": "2.0.0",
- "from": "generate-function@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz"
- },
- "generate-object-property": {
- "version": "1.2.0",
- "from": "generate-object-property@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz"
- },
- "get-caller-file": {
- "version": "1.0.2",
- "from": "get-caller-file@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz"
- },
- "get-node-dimensions": {
- "version": "1.2.0",
- "from": "get-node-dimensions@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/get-node-dimensions/-/get-node-dimensions-1.2.0.tgz"
- },
- "get-stdin": {
- "version": "4.0.1",
- "from": "get-stdin@>=4.0.1 <5.0.0",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
- "dev": true
- },
- "getpass": {
- "version": "0.1.7",
- "from": "getpass@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "from": "assert-plus@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
- }
- }
- },
- "glob": {
- "version": "7.1.1",
- "from": "glob@>=7.0.5 <8.0.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz"
- },
- "glob-base": {
- "version": "0.3.0",
- "from": "glob-base@>=0.3.0 <0.4.0",
- "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
- "optional": true
- },
- "glob-parent": {
- "version": "2.0.0",
- "from": "glob-parent@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz"
- },
- "globals": {
- "version": "9.17.0",
- "from": "globals@>=9.0.0 <10.0.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-9.17.0.tgz"
- },
- "globby": {
- "version": "5.0.0",
- "from": "globby@>=5.0.0 <6.0.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
- "dev": true
- },
- "globule": {
- "version": "1.1.0",
- "from": "globule@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/globule/-/globule-1.1.0.tgz",
- "dev": true,
- "dependencies": {
- "lodash": {
- "version": "4.16.6",
- "from": "lodash@>=4.16.4 <4.17.0",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz",
- "dev": true
- }
- }
- },
- "graceful-fs": {
- "version": "4.1.11",
- "from": "graceful-fs@>=4.1.2 <5.0.0",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz"
- },
- "graceful-readlink": {
- "version": "1.0.1",
- "from": "graceful-readlink@>=1.0.0",
- "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
- },
- "griddle-react": {
- "version": "0.7.1",
- "from": "griddle-react@0.7.1",
- "resolved": "https://registry.npmjs.org/griddle-react/-/griddle-react-0.7.1.tgz"
- },
- "growl": {
- "version": "1.9.2",
- "from": "growl@1.9.2",
- "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz",
- "dev": true
- },
- "handlebars": {
- "version": "4.0.6",
- "from": "handlebars@>=4.0.6 <5.0.0",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.6.tgz",
- "dependencies": {
- "source-map": {
- "version": "0.4.4",
- "from": "source-map@>=0.4.4 <0.5.0",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz"
- }
- }
- },
- "har-schema": {
- "version": "1.0.5",
- "from": "har-schema@>=1.0.5 <2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz"
- },
- "har-validator": {
- "version": "4.2.1",
- "from": "har-validator@>=4.2.1 <4.3.0",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz"
- },
- "has": {
- "version": "1.0.1",
- "from": "has@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
- "dev": true
- },
- "has-ansi": {
- "version": "2.0.0",
- "from": "has-ansi@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"
- },
- "has-color": {
- "version": "0.1.7",
- "from": "has-color@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz"
- },
- "has-flag": {
- "version": "1.0.0",
- "from": "has-flag@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz"
- },
- "has-unicode": {
- "version": "2.0.1",
- "from": "has-unicode@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz"
- },
- "hawk": {
- "version": "3.1.3",
- "from": "hawk@>=3.1.3 <3.2.0",
- "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz"
- },
- "heap": {
- "version": "0.2.6",
- "from": "heap@>=0.2.0",
- "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.6.tgz"
- },
- "history": {
- "version": "4.6.1",
- "from": "history@>=4.6.1 <5.0.0",
- "resolved": "https://registry.npmjs.org/history/-/history-4.6.1.tgz"
- },
- "hoek": {
- "version": "2.16.3",
- "from": "hoek@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
- },
- "hoist-non-react-statics": {
- "version": "1.2.0",
- "from": "hoist-non-react-statics@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz"
- },
- "home-or-tmp": {
- "version": "2.0.0",
- "from": "home-or-tmp@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz"
- },
- "hosted-git-info": {
- "version": "2.4.2",
- "from": "hosted-git-info@>=2.1.4 <3.0.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.4.2.tgz"
- },
- "http-signature": {
- "version": "1.1.1",
- "from": "http-signature@>=1.1.0 <1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz"
- },
- "httpntlm": {
- "version": "1.6.1",
- "from": "httpntlm@1.6.1",
- "resolved": "https://registry.npmjs.org/httpntlm/-/httpntlm-1.6.1.tgz",
- "dependencies": {
- "underscore": {
- "version": "1.7.0",
- "from": "underscore@>=1.7.0 <1.8.0",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz"
- }
- }
- },
- "httpreq": {
- "version": "0.4.23",
- "from": "httpreq@>=0.4.22",
- "resolved": "https://registry.npmjs.org/httpreq/-/httpreq-0.4.23.tgz"
- },
- "https-proxy-agent": {
- "version": "1.0.0",
- "from": "https-proxy-agent@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
- "dev": true
- },
- "hyphenate-style-name": {
- "version": "1.0.2",
- "from": "hyphenate-style-name@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz"
- },
- "i18next": {
- "version": "7.1.3",
- "from": "i18next@7.1.3",
- "resolved": "https://registry.npmjs.org/i18next/-/i18next-7.1.3.tgz"
- },
- "i18next-browser-languagedetector": {
- "version": "1.0.1",
- "from": "i18next-browser-languagedetector@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-1.0.1.tgz"
- },
- "i18next-localstorage-cache": {
- "version": "1.1.0",
- "from": "i18next-localstorage-cache@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/i18next-localstorage-cache/-/i18next-localstorage-cache-1.1.0.tgz"
- },
- "i18next-sprintf-postprocessor": {
- "version": "0.2.2",
- "from": "i18next-sprintf-postprocessor@>=0.2.2 <0.3.0",
- "resolved": "https://registry.npmjs.org/i18next-sprintf-postprocessor/-/i18next-sprintf-postprocessor-0.2.2.tgz"
- },
- "iconv-lite": {
- "version": "0.4.15",
- "from": "iconv-lite@0.4.15",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz"
- },
- "ignore": {
- "version": "3.2.7",
- "from": "ignore@>=3.2.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.2.7.tgz",
- "dev": true
- },
- "immutable": {
- "version": "3.8.1",
- "from": "immutable@>=3.8.1 <4.0.0",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.1.tgz"
- },
- "imurmurhash": {
- "version": "0.1.4",
- "from": "imurmurhash@>=0.1.4 <0.2.0",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "dev": true
- },
- "indent-string": {
- "version": "2.1.0",
- "from": "indent-string@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
- "dev": true
- },
- "inflight": {
- "version": "1.0.6",
- "from": "inflight@>=1.0.4 <2.0.0",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"
- },
- "inherits": {
- "version": "2.0.3",
- "from": "inherits@>=2.0.1 <2.1.0",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
- },
- "ini": {
- "version": "1.3.4",
- "from": "ini@>=1.3.0 <1.4.0",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz"
- },
- "inline-style-prefixer": {
- "version": "2.0.5",
- "from": "inline-style-prefixer@>=2.0.5 <3.0.0",
- "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-2.0.5.tgz"
- },
- "inquirer": {
- "version": "0.12.0",
- "from": "inquirer@>=0.12.0 <0.13.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz",
- "dev": true
- },
- "interpret": {
- "version": "1.0.3",
- "from": "interpret@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.3.tgz",
- "dev": true
- },
- "invariant": {
- "version": "2.2.2",
- "from": "invariant@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz"
- },
- "invert-kv": {
- "version": "1.0.0",
- "from": "invert-kv@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz"
- },
- "ip": {
- "version": "1.1.5",
- "from": "ip@>=1.1.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz"
- },
- "is-arrayish": {
- "version": "0.2.1",
- "from": "is-arrayish@>=0.2.1 <0.3.0",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"
- },
- "is-binary-path": {
- "version": "1.0.1",
- "from": "is-binary-path@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
- "optional": true
- },
- "is-buffer": {
- "version": "1.1.5",
- "from": "is-buffer@>=1.1.5 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz"
- },
- "is-builtin-module": {
- "version": "1.0.0",
- "from": "is-builtin-module@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz"
- },
- "is-callable": {
- "version": "1.1.3",
- "from": "is-callable@>=1.1.3 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz",
- "dev": true
- },
- "is-date-object": {
- "version": "1.0.1",
- "from": "is-date-object@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
- "dev": true
- },
- "is-dotfile": {
- "version": "1.0.2",
- "from": "is-dotfile@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.2.tgz",
- "optional": true
- },
- "is-equal-shallow": {
- "version": "0.1.3",
- "from": "is-equal-shallow@>=0.1.3 <0.2.0",
- "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
- "optional": true
- },
- "is-extendable": {
- "version": "0.1.1",
- "from": "is-extendable@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "optional": true
- },
- "is-extglob": {
- "version": "1.0.0",
- "from": "is-extglob@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
- },
- "is-finite": {
- "version": "1.0.2",
- "from": "is-finite@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz"
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz"
- },
- "is-glob": {
- "version": "2.0.1",
- "from": "is-glob@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz"
- },
- "is-my-json-valid": {
- "version": "2.16.0",
- "from": "is-my-json-valid@>=2.12.4 <3.0.0",
- "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz",
- "dependencies": {
- "xtend": {
- "version": "4.0.1",
- "from": "xtend@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- }
- }
- },
- "is-number": {
- "version": "2.1.0",
- "from": "is-number@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz"
- },
- "is-path-cwd": {
- "version": "1.0.0",
- "from": "is-path-cwd@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
- "dev": true
- },
- "is-path-in-cwd": {
- "version": "1.0.0",
- "from": "is-path-in-cwd@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz",
- "dev": true
- },
- "is-path-inside": {
- "version": "1.0.0",
- "from": "is-path-inside@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz",
- "dev": true
- },
- "is-posix-bracket": {
- "version": "0.1.1",
- "from": "is-posix-bracket@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
- "optional": true
- },
- "is-primitive": {
- "version": "2.0.0",
- "from": "is-primitive@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz"
- },
- "is-promise": {
- "version": "2.1.0",
- "from": "is-promise@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
- "dev": true
- },
- "is-property": {
- "version": "1.0.2",
- "from": "is-property@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz"
- },
- "is-regex": {
- "version": "1.0.4",
- "from": "is-regex@>=1.0.3 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
- "dev": true
- },
- "is-resolvable": {
- "version": "1.0.0",
- "from": "is-resolvable@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz",
- "dev": true
- },
- "is-running": {
- "version": "2.1.0",
- "from": "is-running@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/is-running/-/is-running-2.1.0.tgz",
- "dev": true
- },
- "is-stream": {
- "version": "1.1.0",
- "from": "is-stream@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz"
- },
- "is-string": {
- "version": "1.0.4",
- "from": "is-string@>=1.0.4 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.4.tgz"
- },
- "is-symbol": {
- "version": "1.0.1",
- "from": "is-symbol@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz",
- "dev": true
- },
- "is-typedarray": {
- "version": "1.0.0",
- "from": "is-typedarray@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz"
- },
- "is-utf8": {
- "version": "0.2.1",
- "from": "is-utf8@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
- },
- "isarray": {
- "version": "1.0.0",
- "from": "isarray@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
- },
- "isemail": {
- "version": "1.2.0",
- "from": "isemail@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/isemail/-/isemail-1.2.0.tgz"
- },
- "isobj": {
- "version": "1.0.0",
- "from": "isobj@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/isobj/-/isobj-1.0.0.tgz"
- },
- "isobject": {
- "version": "2.1.0",
- "from": "isobject@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "optional": true
- },
- "isomorphic-fetch": {
- "version": "2.2.1",
- "from": "isomorphic-fetch@>=2.1.1 <3.0.0",
- "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz"
- },
- "isstream": {
- "version": "0.1.2",
- "from": "isstream@>=0.1.2 <0.2.0",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"
- },
- "jodid25519": {
- "version": "1.0.2",
- "from": "jodid25519@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz",
- "optional": true
- },
- "joi": {
- "version": "6.10.1",
- "from": "joi@>=6.10.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/joi/-/joi-6.10.1.tgz"
- },
- "jquery": {
- "version": "3.2.1",
- "from": "jquery@>=3.2.1 <4.0.0",
- "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.2.1.tgz"
- },
- "jquery-i18next": {
- "version": "1.2.0",
- "from": "jquery-i18next@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/jquery-i18next/-/jquery-i18next-1.2.0.tgz"
- },
- "js-base64": {
- "version": "2.1.9",
- "from": "js-base64@>=2.1.9 <3.0.0",
- "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz"
- },
- "js-tokens": {
- "version": "3.0.1",
- "from": "js-tokens@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz"
- },
- "js-yaml": {
- "version": "3.8.3",
- "from": "js-yaml@>=3.8.2 <4.0.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.8.3.tgz",
- "dev": true,
- "dependencies": {
- "esprima": {
- "version": "3.1.3",
- "from": "esprima@>=3.1.1 <4.0.0",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
- "dev": true
- }
- }
- },
- "js2xmlparser": {
- "version": "0.1.9",
- "from": "js2xmlparser@>=0.1.9 <0.2.0",
- "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-0.1.9.tgz",
- "dev": true
- },
- "jsbn": {
- "version": "0.1.1",
- "from": "jsbn@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "optional": true
- },
- "jsesc": {
- "version": "1.3.0",
- "from": "jsesc@>=1.3.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz"
- },
- "json-diff": {
- "version": "0.3.1",
- "from": "json-diff@>=0.3.1 <0.4.0",
- "resolved": "https://registry.npmjs.org/json-diff/-/json-diff-0.3.1.tgz"
- },
- "json-schema": {
- "version": "0.2.3",
- "from": "json-schema@0.2.3",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz"
- },
- "json-stable-stringify": {
- "version": "1.0.1",
- "from": "json-stable-stringify@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz"
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "from": "json-stringify-safe@>=5.0.1 <5.1.0",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"
- },
- "json3": {
- "version": "3.3.2",
- "from": "json3@3.3.2",
- "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
- "dev": true
- },
- "json5": {
- "version": "0.5.1",
- "from": "json5@>=0.5.0 <0.6.0",
- "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz"
- },
- "jsonfile": {
- "version": "2.4.0",
- "from": "jsonfile@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
- "dev": true
- },
- "jsonify": {
- "version": "0.0.0",
- "from": "jsonify@>=0.0.0 <0.1.0",
- "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"
- },
- "jsonpointer": {
- "version": "4.0.1",
- "from": "jsonpointer@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz"
- },
- "jsonwebtoken": {
- "version": "7.4.0",
- "from": "jsonwebtoken@>=7.1.9 <8.0.0",
- "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-7.4.0.tgz",
- "dependencies": {
- "xtend": {
- "version": "4.0.1",
- "from": "xtend@>=4.0.1 <5.0.0",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- }
- }
- },
- "jsprim": {
- "version": "1.4.0",
- "from": "jsprim@>=1.2.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz",
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "from": "assert-plus@1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
- }
- }
- },
- "jsx-ast-utils": {
- "version": "1.4.1",
- "from": "jsx-ast-utils@>=1.3.4 <2.0.0",
- "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz",
- "dev": true
- },
- "jwa": {
- "version": "1.1.5",
- "from": "jwa@>=1.1.4 <2.0.0",
- "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.1.5.tgz"
- },
- "jws": {
- "version": "3.1.4",
- "from": "jws@>=3.1.4 <4.0.0",
- "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.4.tgz"
- },
- "kind-of": {
- "version": "3.2.0",
- "from": "kind-of@>=3.0.2 <4.0.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.0.tgz"
- },
- "klaw": {
- "version": "1.3.1",
- "from": "klaw@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
- "dev": true
- },
- "later": {
- "version": "1.2.0",
- "from": "later@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/later/-/later-1.2.0.tgz"
- },
- "lazy-cache": {
- "version": "1.0.4",
- "from": "lazy-cache@>=1.0.3 <2.0.0",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "optional": true
- },
- "lazystream": {
- "version": "1.0.0",
- "from": "lazystream@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
- "dev": true
- },
- "lcid": {
- "version": "1.0.0",
- "from": "lcid@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz"
- },
- "levn": {
- "version": "0.3.0",
- "from": "levn@>=0.3.0 <0.4.0",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "dev": true
- },
- "libbase64": {
- "version": "0.1.0",
- "from": "libbase64@0.1.0",
- "resolved": "https://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz"
- },
- "libmime": {
- "version": "3.0.0",
- "from": "libmime@3.0.0",
- "resolved": "https://registry.npmjs.org/libmime/-/libmime-3.0.0.tgz"
- },
- "libqp": {
- "version": "1.1.0",
- "from": "libqp@1.1.0",
- "resolved": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz"
- },
- "load-json-file": {
- "version": "1.1.0",
- "from": "load-json-file@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz"
- },
- "lodash": {
- "version": "4.17.4",
- "from": "lodash@>=4.17.4 <5.0.0",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz"
- },
- "lodash-es": {
- "version": "4.17.4",
- "from": "lodash-es@>=4.2.1 <5.0.0",
- "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.4.tgz"
- },
- "lodash._baseassign": {
- "version": "3.2.0",
- "from": "lodash._baseassign@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
- "dev": true
- },
- "lodash._basecopy": {
- "version": "3.0.1",
- "from": "lodash._basecopy@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
- "dev": true
- },
- "lodash._basecreate": {
- "version": "3.0.3",
- "from": "lodash._basecreate@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz",
- "dev": true
- },
- "lodash._getnative": {
- "version": "3.9.1",
- "from": "lodash._getnative@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz"
- },
- "lodash._isiterateecall": {
- "version": "3.0.9",
- "from": "lodash._isiterateecall@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
- "dev": true
- },
- "lodash.create": {
- "version": "3.1.1",
- "from": "lodash.create@3.1.1",
- "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz",
- "dev": true
- },
- "lodash.curry": {
- "version": "4.1.1",
- "from": "lodash.curry@>=4.0.1 <5.0.0",
- "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz"
- },
- "lodash.isarguments": {
- "version": "3.1.0",
- "from": "lodash.isarguments@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz"
- },
- "lodash.isarray": {
- "version": "3.0.4",
- "from": "lodash.isarray@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz"
- },
- "lodash.isplainobject": {
- "version": "4.0.6",
- "from": "lodash.isplainobject@>=4.0.6 <5.0.0",
- "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz"
- },
- "lodash.keys": {
- "version": "3.1.2",
- "from": "lodash.keys@>=3.1.2 <4.0.0",
- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz"
- },
- "lodash.once": {
- "version": "4.1.1",
- "from": "lodash.once@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz"
- },
- "lodash.pick": {
- "version": "4.4.0",
- "from": "lodash.pick@>=4.4.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz"
- },
- "loggly": {
- "version": "1.1.1",
- "from": "loggly@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/loggly/-/loggly-1.1.1.tgz",
- "dependencies": {
- "caseless": {
- "version": "0.11.0",
- "from": "caseless@>=0.11.0 <0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz"
- },
- "form-data": {
- "version": "2.0.0",
- "from": "form-data@>=2.0.0 <2.1.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.0.0.tgz"
- },
- "har-validator": {
- "version": "2.0.6",
- "from": "har-validator@>=2.0.6 <2.1.0",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz"
- },
- "node-uuid": {
- "version": "1.4.8",
- "from": "node-uuid@>=1.4.7 <1.5.0",
- "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz"
- },
- "qs": {
- "version": "6.2.3",
- "from": "qs@>=6.2.0 <6.3.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz"
- },
- "request": {
- "version": "2.75.0",
- "from": "request@>=2.75.0 <2.76.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.75.0.tgz"
- },
- "tunnel-agent": {
- "version": "0.4.3",
- "from": "tunnel-agent@>=0.4.1 <0.5.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz"
- }
- }
- },
- "lolex": {
- "version": "1.3.2",
- "from": "lolex@1.3.2",
- "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.3.2.tgz",
- "dev": true
- },
- "longest": {
- "version": "1.0.1",
- "from": "longest@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz"
- },
- "loose-envify": {
- "version": "1.3.1",
- "from": "loose-envify@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz"
- },
- "loud-rejection": {
- "version": "1.6.0",
- "from": "loud-rejection@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
- "dev": true
- },
- "mailcomposer": {
- "version": "4.0.1",
- "from": "mailcomposer@4.0.1",
- "resolved": "https://registry.npmjs.org/mailcomposer/-/mailcomposer-4.0.1.tgz"
- },
- "map-obj": {
- "version": "1.0.1",
- "from": "map-obj@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
- "dev": true
- },
- "marked": {
- "version": "0.3.6",
- "from": "marked@>=0.3.0 <0.4.0",
- "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.6.tgz"
- },
- "material-colors": {
- "version": "1.2.5",
- "from": "material-colors@>=1.2.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.5.tgz"
- },
- "meow": {
- "version": "3.7.0",
- "from": "meow@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
- "dev": true,
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "from": "minimist@>=1.1.3 <2.0.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "dev": true
- }
- }
- },
- "meteor-node-stubs": {
- "version": "0.2.6",
- "from": "meteor-node-stubs@>=0.2.6 <0.3.0",
- "resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.2.6.tgz",
- "dependencies": {
- "asn1.js": {
- "version": "4.9.0",
- "from": "asn1.js@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.0.tgz"
- },
- "assert": {
- "version": "1.4.1",
- "from": "assert@1.4.1",
- "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz"
- },
- "Base64": {
- "version": "0.2.1",
- "from": "Base64@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npmjs.org/Base64/-/Base64-0.2.1.tgz"
- },
- "base64-js": {
- "version": "1.2.0",
- "from": "base64-js@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz"
- },
- "bn.js": {
- "version": "4.11.6",
- "from": "bn.js@>=4.1.1 <5.0.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz"
- },
- "brorand": {
- "version": "1.0.6",
- "from": "brorand@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.0.6.tgz"
- },
- "browserify-aes": {
- "version": "1.0.6",
- "from": "browserify-aes@>=1.0.4 <2.0.0",
- "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz"
- },
- "browserify-cipher": {
- "version": "1.0.0",
- "from": "browserify-cipher@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz"
- },
- "browserify-des": {
- "version": "1.0.0",
- "from": "browserify-des@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz"
- },
- "browserify-rsa": {
- "version": "4.0.1",
- "from": "browserify-rsa@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz"
- },
- "browserify-sign": {
- "version": "4.0.0",
- "from": "browserify-sign@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.0.tgz"
- },
- "browserify-zlib": {
- "version": "0.1.4",
- "from": "browserify-zlib@0.1.4",
- "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz"
- },
- "buffer": {
- "version": "4.9.1",
- "from": "buffer@4.9.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz"
- },
- "buffer-shims": {
- "version": "1.0.0",
- "from": "buffer-shims@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz"
- },
- "buffer-xor": {
- "version": "1.0.3",
- "from": "buffer-xor@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz"
- },
- "cipher-base": {
- "version": "1.0.3",
- "from": "cipher-base@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.3.tgz"
- },
- "console-browserify": {
- "version": "1.1.0",
- "from": "console-browserify@1.1.0",
- "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz"
- },
- "constants-browserify": {
- "version": "1.0.0",
- "from": "constants-browserify@1.0.0",
- "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz"
- },
- "core-util-is": {
- "version": "1.0.2",
- "from": "core-util-is@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"
- },
- "create-ecdh": {
- "version": "4.0.0",
- "from": "create-ecdh@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz"
- },
- "create-hash": {
- "version": "1.1.2",
- "from": "create-hash@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz"
- },
- "create-hmac": {
- "version": "1.1.4",
- "from": "create-hmac@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.4.tgz"
- },
- "crypto-browserify": {
- "version": "3.11.0",
- "from": "crypto-browserify@3.11.0",
- "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.0.tgz"
- },
- "date-now": {
- "version": "0.1.4",
- "from": "date-now@>=0.1.4 <0.2.0",
- "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz"
- },
- "des.js": {
- "version": "1.0.0",
- "from": "des.js@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz"
- },
- "diffie-hellman": {
- "version": "5.0.2",
- "from": "diffie-hellman@>=5.0.0 <6.0.0",
- "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz"
- },
- "domain-browser": {
- "version": "1.1.7",
- "from": "domain-browser@1.1.7",
- "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz"
- },
- "elliptic": {
- "version": "6.3.2",
- "from": "elliptic@>=6.0.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.2.tgz"
- },
- "events": {
- "version": "1.1.1",
- "from": "events@1.1.1",
- "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz"
- },
- "evp_bytestokey": {
- "version": "1.0.0",
- "from": "evp_bytestokey@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz"
- },
- "hash.js": {
- "version": "1.0.3",
- "from": "hash.js@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.0.3.tgz"
- },
- "http-browserify": {
- "version": "1.7.0",
- "from": "http-browserify@1.7.0",
- "resolved": "https://registry.npmjs.org/http-browserify/-/http-browserify-1.7.0.tgz"
- },
- "https-browserify": {
- "version": "0.0.1",
- "from": "https-browserify@0.0.1",
- "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz"
- },
- "ieee754": {
- "version": "1.1.8",
- "from": "ieee754@>=1.1.4 <2.0.0",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz"
- },
- "indexof": {
- "version": "0.0.1",
- "from": "indexof@0.0.1",
- "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz"
- },
- "inherits": {
- "version": "2.0.1",
- "from": "inherits@2.0.1",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
- },
- "isarray": {
- "version": "1.0.0",
- "from": "isarray@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
- },
- "miller-rabin": {
- "version": "4.0.0",
- "from": "miller-rabin@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.0.tgz"
- },
- "minimalistic-assert": {
- "version": "1.0.0",
- "from": "minimalistic-assert@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz"
- },
- "os-browserify": {
- "version": "0.2.1",
- "from": "os-browserify@0.2.1",
- "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz"
- },
- "pako": {
- "version": "0.2.9",
- "from": "pako@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz"
- },
- "parse-asn1": {
- "version": "5.0.0",
- "from": "parse-asn1@>=5.0.0 <6.0.0",
- "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.0.0.tgz"
- },
- "path-browserify": {
- "version": "0.0.0",
- "from": "path-browserify@0.0.0",
- "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz"
- },
- "pbkdf2": {
- "version": "3.0.9",
- "from": "pbkdf2@>=3.0.3 <4.0.0",
- "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.9.tgz"
- },
- "process": {
- "version": "0.11.9",
- "from": "process@0.11.9",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.9.tgz"
- },
- "process-nextick-args": {
- "version": "1.0.7",
- "from": "process-nextick-args@>=1.0.6 <1.1.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz"
- },
- "public-encrypt": {
- "version": "4.0.0",
- "from": "public-encrypt@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz"
- },
- "punycode": {
- "version": "1.4.1",
- "from": "punycode@1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz"
- },
- "querystring": {
- "version": "0.2.0",
- "from": "querystring@0.2.0",
- "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz"
- },
- "querystring-es3": {
- "version": "0.2.1",
- "from": "querystring-es3@0.2.1",
- "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz"
- },
- "randombytes": {
- "version": "2.0.3",
- "from": "randombytes@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.3.tgz"
- },
- "readable-stream": {
- "version": "2.2.1",
- "from": "readable-stream@2.2.1",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.1.tgz"
- },
- "ripemd160": {
- "version": "1.0.1",
- "from": "ripemd160@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-1.0.1.tgz"
- },
- "sha.js": {
- "version": "2.4.8",
- "from": "sha.js@>=2.3.6 <3.0.0",
- "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.8.tgz"
- },
- "stream-browserify": {
- "version": "2.0.1",
- "from": "stream-browserify@2.0.1",
- "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz"
- },
- "string_decoder": {
- "version": "0.10.31",
- "from": "string_decoder@0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- },
- "timers-browserify": {
- "version": "1.4.2",
- "from": "timers-browserify@1.4.2",
- "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz"
- },
- "tty-browserify": {
- "version": "0.0.0",
- "from": "tty-browserify@0.0.0",
- "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz"
- },
- "url": {
- "version": "0.11.0",
- "from": "url@0.11.0",
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
- "dependencies": {
- "punycode": {
- "version": "1.3.2",
- "from": "punycode@1.3.2",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz"
- }
- }
- },
- "util": {
- "version": "0.10.3",
- "from": "util@0.10.3",
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz"
- },
- "util-deprecate": {
- "version": "1.0.2",
- "from": "util-deprecate@>=1.0.1 <1.1.0",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
- },
- "vm-browserify": {
- "version": "0.0.4",
- "from": "vm-browserify@0.0.4",
- "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz"
- }
- }
- },
- "micromatch": {
- "version": "2.3.11",
- "from": "micromatch@>=2.1.5 <3.0.0",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
- "optional": true
- },
- "mime": {
- "version": "1.3.4",
- "from": "mime@1.3.4",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
- "dev": true
- },
- "mime-db": {
- "version": "1.27.0",
- "from": "mime-db@>=1.27.0 <1.28.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz"
- },
- "mime-types": {
- "version": "2.1.15",
- "from": "mime-types@>=2.1.7 <2.2.0",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz"
- },
- "mimic-fn": {
- "version": "1.1.0",
- "from": "mimic-fn@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz",
- "dev": true
- },
- "minimatch": {
- "version": "3.0.3",
- "from": "minimatch@>=3.0.2 <4.0.0",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz"
- },
- "minimist": {
- "version": "0.0.8",
- "from": "minimist@0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
- },
- "mkdirp": {
- "version": "0.5.1",
- "from": "mkdirp@>=0.5.1 <0.6.0",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"
- },
- "mocha": {
- "version": "3.3.0",
- "from": "mocha@>=3.2.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.3.0.tgz",
- "dev": true,
- "dependencies": {
- "debug": {
- "version": "2.6.0",
- "from": "debug@2.6.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.0.tgz",
- "dev": true
- },
- "ms": {
- "version": "0.7.2",
- "from": "ms@0.7.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
- "dev": true
- },
- "supports-color": {
- "version": "3.1.2",
- "from": "supports-color@3.1.2",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz",
- "dev": true
- }
- }
- },
- "moment": {
- "version": "2.18.1",
- "from": "moment@>=2.18.1 <3.0.0",
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.18.1.tgz"
- },
- "moment-timezone": {
- "version": "0.5.13",
- "from": "moment-timezone@>=0.5.11 <0.6.0",
- "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.13.tgz"
- },
- "ms": {
- "version": "0.7.1",
- "from": "ms@0.7.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
- },
- "msee": {
- "version": "0.1.2",
- "from": "msee@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npmjs.org/msee/-/msee-0.1.2.tgz",
- "dependencies": {
- "ansi-styles": {
- "version": "1.0.0",
- "from": "ansi-styles@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz"
- },
- "chalk": {
- "version": "0.4.0",
- "from": "chalk@>=0.4.0 <0.5.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz"
- },
- "nopt": {
- "version": "2.1.2",
- "from": "nopt@>=2.1.1 <2.2.0",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz"
- },
- "strip-ansi": {
- "version": "0.1.1",
- "from": "strip-ansi@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz"
- }
- }
- },
- "mute-stream": {
- "version": "0.0.5",
- "from": "mute-stream@0.0.5",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz",
- "dev": true
- },
- "mv": {
- "version": "2.1.1",
- "from": "mv@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz",
- "optional": true,
- "dependencies": {
- "glob": {
- "version": "6.0.4",
- "from": "glob@>=6.0.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
- "optional": true
- },
- "rimraf": {
- "version": "2.4.5",
- "from": "rimraf@>=2.4.0 <2.5.0",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz",
- "optional": true
- }
- }
- },
- "nan": {
- "version": "2.5.0",
- "from": "nan@2.5.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.5.0.tgz"
- },
- "natural-compare": {
- "version": "1.4.0",
- "from": "natural-compare@>=1.4.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "dev": true
- },
- "ncp": {
- "version": "2.0.0",
- "from": "ncp@>=2.0.0 <2.1.0",
- "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
- "optional": true
- },
- "nexmo": {
- "version": "1.2.1",
- "from": "nexmo@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/nexmo/-/nexmo-1.2.1.tgz",
- "dependencies": {
- "uuid": {
- "version": "2.0.3",
- "from": "uuid@>=2.0.2 <3.0.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz"
- }
- }
- },
- "node-fetch": {
- "version": "1.6.3",
- "from": "node-fetch@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.6.3.tgz"
- },
- "node-geocoder": {
- "version": "3.16.0",
- "from": "node-geocoder@>=3.16.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/node-geocoder/-/node-geocoder-3.16.0.tgz",
- "dependencies": {
- "bluebird": {
- "version": "3.5.0",
- "from": "bluebird@>=3.4.6 <4.0.0",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz"
- }
- }
- },
- "node-pre-gyp": {
- "version": "0.6.32",
- "from": "node-pre-gyp@0.6.32",
- "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.32.tgz"
- },
- "nodemailer": {
- "version": "2.7.2",
- "from": "nodemailer@2.7.2",
- "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-2.7.2.tgz"
- },
- "nodemailer-direct-transport": {
- "version": "3.3.2",
- "from": "nodemailer-direct-transport@3.3.2",
- "resolved": "https://registry.npmjs.org/nodemailer-direct-transport/-/nodemailer-direct-transport-3.3.2.tgz"
- },
- "nodemailer-fetch": {
- "version": "1.6.0",
- "from": "nodemailer-fetch@1.6.0",
- "resolved": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz"
- },
- "nodemailer-shared": {
- "version": "1.1.0",
- "from": "nodemailer-shared@1.1.0",
- "resolved": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz"
- },
- "nodemailer-smtp-pool": {
- "version": "2.8.2",
- "from": "nodemailer-smtp-pool@2.8.2",
- "resolved": "https://registry.npmjs.org/nodemailer-smtp-pool/-/nodemailer-smtp-pool-2.8.2.tgz",
- "dependencies": {
- "nodemailer-wellknown": {
- "version": "0.1.10",
- "from": "nodemailer-wellknown@0.1.10",
- "resolved": "https://registry.npmjs.org/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz"
- }
- }
- },
- "nodemailer-smtp-transport": {
- "version": "2.7.2",
- "from": "nodemailer-smtp-transport@2.7.2",
- "resolved": "https://registry.npmjs.org/nodemailer-smtp-transport/-/nodemailer-smtp-transport-2.7.2.tgz",
- "dependencies": {
- "nodemailer-wellknown": {
- "version": "0.1.10",
- "from": "nodemailer-wellknown@0.1.10",
- "resolved": "https://registry.npmjs.org/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz"
- }
- }
- },
- "nodemailer-wellknown": {
- "version": "0.2.3",
- "from": "nodemailer-wellknown@>=0.2.1 <0.3.0",
- "resolved": "https://registry.npmjs.org/nodemailer-wellknown/-/nodemailer-wellknown-0.2.3.tgz"
- },
- "nopt": {
- "version": "3.0.6",
- "from": "nopt@>=3.0.6 <3.1.0",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz"
- },
- "normalize-package-data": {
- "version": "2.3.8",
- "from": "normalize-package-data@>=2.3.2 <3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.8.tgz"
- },
- "normalize-path": {
- "version": "2.1.1",
- "from": "normalize-path@>=2.0.1 <3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz"
- },
- "normalize-range": {
- "version": "0.1.2",
- "from": "normalize-range@>=0.1.2 <0.2.0",
- "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz"
- },
- "nouislider": {
- "version": "9.2.0",
- "from": "nouislider@>=9.2.0 <10.0.0",
- "resolved": "https://registry.npmjs.org/nouislider/-/nouislider-9.2.0.tgz"
- },
- "nouislider-algolia-fork": {
- "version": "10.0.0",
- "from": "nouislider-algolia-fork@>=10.0.0 <11.0.0",
- "resolved": "https://registry.npmjs.org/nouislider-algolia-fork/-/nouislider-algolia-fork-10.0.0.tgz"
- },
- "npm": {
- "version": "2.15.12",
- "from": "npm@>=2.15.10 <3.0.0",
- "resolved": "https://registry.npmjs.org/npm/-/npm-2.15.12.tgz",
- "dependencies": {
- "abbrev": {
- "version": "1.0.9",
- "from": "abbrev@>=1.0.9 <1.1.0",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz"
- },
- "ansi": {
- "version": "0.3.1",
- "from": "ansi@latest",
- "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz"
- },
- "ansi-regex": {
- "version": "2.0.0",
- "from": "ansi-regex@2.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
- },
- "ansicolors": {
- "version": "0.3.2",
- "from": "ansicolors@latest"
- },
- "ansistyles": {
- "version": "0.1.3",
- "from": "ansistyles@0.1.3",
- "resolved": "https://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz"
- },
- "archy": {
- "version": "1.0.0",
- "from": "archy@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz"
- },
- "async-some": {
- "version": "1.0.2",
- "from": "async-some@>=1.0.2 <1.1.0"
- },
- "block-stream": {
- "version": "0.0.9",
- "from": "block-stream@0.0.9",
- "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz"
- },
- "char-spinner": {
- "version": "1.0.1",
- "from": "char-spinner@latest",
- "resolved": "https://registry.npmjs.org/char-spinner/-/char-spinner-1.0.1.tgz"
- },
- "chmodr": {
- "version": "1.0.2",
- "from": "chmodr@>=1.0.2 <1.1.0",
- "resolved": "https://registry.npmjs.org/chmodr/-/chmodr-1.0.2.tgz"
- },
- "chownr": {
- "version": "1.0.1",
- "from": "chownr@1.0.1",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz"
- },
- "cmd-shim": {
- "version": "2.0.2",
- "from": "cmd-shim@2.0.2",
- "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.2.tgz"
- },
- "columnify": {
- "version": "1.5.4",
- "from": "columnify@latest",
- "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz",
- "dependencies": {
- "wcwidth": {
- "version": "1.0.0",
- "from": "wcwidth@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.0.tgz",
- "dependencies": {
- "defaults": {
- "version": "1.0.3",
- "from": "defaults@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
- "dependencies": {
- "clone": {
- "version": "1.0.2",
- "from": "clone@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz"
- }
- }
- }
- }
- }
- }
- },
- "config-chain": {
- "version": "1.1.10",
- "from": "config-chain@latest",
- "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.10.tgz",
- "dependencies": {
- "proto-list": {
- "version": "1.2.4",
- "from": "proto-list@>=1.2.1 <1.3.0",
- "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz"
- }
- }
- },
- "dezalgo": {
- "version": "1.0.3",
- "from": "dezalgo@>=1.0.3 <1.1.0",
- "dependencies": {
- "asap": {
- "version": "2.0.3",
- "from": "asap@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.3.tgz"
- }
- }
- },
- "editor": {
- "version": "1.0.0",
- "from": "editor@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/editor/-/editor-1.0.0.tgz"
- },
- "fs-vacuum": {
- "version": "1.2.9",
- "from": "fs-vacuum@1.2.9",
- "resolved": "https://registry.npmjs.org/fs-vacuum/-/fs-vacuum-1.2.9.tgz"
- },
- "fs-write-stream-atomic": {
- "version": "1.0.8",
- "from": "fs-write-stream-atomic@>=1.0.5 <1.1.0",
- "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.8.tgz",
- "dependencies": {
- "iferr": {
- "version": "0.1.5",
- "from": "iferr@>=0.1.5 <0.2.0",
- "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz"
- }
- }
- },
- "fstream": {
- "version": "1.0.10",
- "from": "fstream@>=1.0.10 <1.1.0"
- },
- "fstream-npm": {
- "version": "1.1.1",
- "from": "fstream-npm@1.1.1",
- "resolved": "https://registry.npmjs.org/fstream-npm/-/fstream-npm-1.1.1.tgz",
- "dependencies": {
- "fstream-ignore": {
- "version": "1.0.5",
- "from": "fstream-ignore@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz"
- }
- }
- },
- "github-url-from-git": {
- "version": "1.4.0",
- "from": "github-url-from-git@>=1.4.0-0 <2.0.0-0",
- "resolved": "https://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.4.0.tgz"
- },
- "github-url-from-username-repo": {
- "version": "1.0.2",
- "from": "github-url-from-username-repo@>=1.0.2-0 <2.0.0-0"
- },
- "glob": {
- "version": "7.0.6",
- "from": "glob@7.0.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz",
- "dependencies": {
- "fs.realpath": {
- "version": "1.0.0",
- "from": "fs.realpath@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
- },
- "path-is-absolute": {
- "version": "1.0.0",
- "from": "path-is-absolute@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz"
- }
- }
- },
- "graceful-fs": {
- "version": "4.1.6",
- "from": "graceful-fs@>=4.1.5 <4.2.0",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.6.tgz"
- },
- "hosted-git-info": {
- "version": "2.1.5",
- "from": "hosted-git-info@>=2.1.4 <2.2.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz"
- },
- "imurmurhash": {
- "version": "0.1.4",
- "from": "imurmurhash@0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz"
- },
- "inflight": {
- "version": "1.0.5",
- "from": "inflight@>=1.0.5 <1.1.0",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz"
- },
- "inherits": {
- "version": "2.0.3",
- "from": "inherits@2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
- },
- "ini": {
- "version": "1.3.4",
- "from": "ini@latest",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz"
- },
- "init-package-json": {
- "version": "1.9.4",
- "from": "init-package-json@>=1.9.4 <1.10.0",
- "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-1.9.4.tgz",
- "dependencies": {
- "glob": {
- "version": "6.0.4",
- "from": "glob@>=6.0.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
- "dependencies": {
- "path-is-absolute": {
- "version": "1.0.0",
- "from": "path-is-absolute@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz"
- }
- }
- },
- "promzard": {
- "version": "0.3.0",
- "from": "promzard@>=0.3.0 <0.4.0",
- "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz"
- }
- }
- },
- "lockfile": {
- "version": "1.0.1",
- "from": "lockfile@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.1.tgz"
- },
- "lru-cache": {
- "version": "4.0.1",
- "from": "lru-cache@4.0.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.1.tgz",
- "dependencies": {
- "pseudomap": {
- "version": "1.0.2",
- "from": "pseudomap@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz"
- },
- "yallist": {
- "version": "2.0.0",
- "from": "yallist@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz"
- }
- }
- },
- "minimatch": {
- "version": "3.0.3",
- "from": "minimatch@3.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
- "dependencies": {
- "brace-expansion": {
- "version": "1.1.6",
- "from": "brace-expansion@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz",
- "dependencies": {
- "balanced-match": {
- "version": "0.4.2",
- "from": "balanced-match@>=0.4.1 <0.5.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz"
- },
- "concat-map": {
- "version": "0.0.1",
- "from": "concat-map@0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
- }
- }
- }
- }
- },
- "mkdirp": {
- "version": "0.5.1",
- "from": "mkdirp@>=0.5.1 <0.6.0",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "dependencies": {
- "minimist": {
- "version": "0.0.8",
- "from": "minimist@0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
- }
- }
- },
- "node-gyp": {
- "version": "3.6.0",
- "from": "node-gyp@latest",
- "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.0.tgz",
- "dependencies": {
- "semver": {
- "version": "5.3.0",
- "from": "semver@>=5.3.0 <5.4.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz"
- }
- }
- },
- "nopt": {
- "version": "3.0.6",
- "from": "nopt@>=3.0.6 <3.1.0"
- },
- "normalize-git-url": {
- "version": "3.0.2",
- "from": "normalize-git-url@3.0.2",
- "resolved": "https://registry.npmjs.org/normalize-git-url/-/normalize-git-url-3.0.2.tgz"
- },
- "normalize-package-data": {
- "version": "2.3.5",
- "from": "normalize-package-data@>=2.3.5 <2.4.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz",
- "dependencies": {
- "is-builtin-module": {
- "version": "1.0.0",
- "from": "is-builtin-module@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
- "dependencies": {
- "builtin-modules": {
- "version": "1.1.0",
- "from": "builtin-modules@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.0.tgz"
- }
- }
- }
- }
- },
- "npm-cache-filename": {
- "version": "1.0.2",
- "from": "npm-cache-filename@1.0.2",
- "resolved": "https://registry.npmjs.org/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz"
- },
- "npm-install-checks": {
- "version": "1.0.7",
- "from": "npm-install-checks@1.0.7",
- "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-1.0.7.tgz"
- },
- "npm-package-arg": {
- "version": "4.1.0",
- "from": "npm-package-arg@>=4.1.0 <4.2.0",
- "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-4.1.0.tgz"
- },
- "npm-registry-client": {
- "version": "7.2.1",
- "from": "npm-registry-client@7.2.1",
- "resolved": "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-7.2.1.tgz",
- "dependencies": {
- "concat-stream": {
- "version": "1.5.2",
- "from": "concat-stream@>=1.5.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
- "dependencies": {
- "readable-stream": {
- "version": "2.0.6",
- "from": "readable-stream@>=2.0.0 <2.1.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
- "dependencies": {
- "core-util-is": {
- "version": "1.0.2",
- "from": "core-util-is@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"
- },
- "isarray": {
- "version": "1.0.0",
- "from": "isarray@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
- },
- "process-nextick-args": {
- "version": "1.0.7",
- "from": "process-nextick-args@>=1.0.6 <1.1.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz"
- },
- "string_decoder": {
- "version": "0.10.31",
- "from": "string_decoder@>=0.10.0 <0.11.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- },
- "util-deprecate": {
- "version": "1.0.2",
- "from": "util-deprecate@>=1.0.1 <1.1.0",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
- }
- }
- },
- "typedarray": {
- "version": "0.0.6",
- "from": "typedarray@>=0.0.5 <0.1.0",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
- }
- }
- },
- "retry": {
- "version": "0.10.0",
- "from": "retry@>=0.10.0 <0.11.0",
- "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.0.tgz"
- }
- }
- },
- "npm-user-validate": {
- "version": "0.1.5",
- "from": "npm-user-validate@0.1.5",
- "resolved": "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.5.tgz"
- },
- "npmlog": {
- "version": "2.0.4",
- "from": "npmlog@>=2.0.4 <2.1.0",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz",
- "dependencies": {
- "are-we-there-yet": {
- "version": "1.1.2",
- "from": "are-we-there-yet@>=1.1.2 <1.2.0",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz",
- "dependencies": {
- "delegates": {
- "version": "1.0.0",
- "from": "delegates@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz"
- }
- }
- },
- "gauge": {
- "version": "1.2.7",
- "from": "gauge@>=1.2.5 <1.3.0",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz",
- "dependencies": {
- "has-unicode": {
- "version": "2.0.0",
- "from": "has-unicode@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.0.tgz"
- },
- "lodash._baseslice": {
- "version": "4.0.0",
- "from": "lodash._baseslice@4.0.0",
- "resolved": "https://registry.npmjs.org/lodash._baseslice/-/lodash._baseslice-4.0.0.tgz"
- },
- "lodash._basetostring": {
- "version": "4.12.0",
- "from": "lodash._basetostring@4.12.0",
- "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-4.12.0.tgz"
- },
- "lodash.pad": {
- "version": "4.4.0",
- "from": "lodash.pad@>=4.1.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.4.0.tgz"
- },
- "lodash.padend": {
- "version": "4.5.0",
- "from": "lodash.padend@>=4.1.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.5.0.tgz"
- },
- "lodash.padstart": {
- "version": "4.5.0",
- "from": "lodash.padstart@>=4.1.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.5.0.tgz"
- },
- "lodash.tostring": {
- "version": "4.1.4",
- "from": "lodash.tostring@4.1.4",
- "resolved": "https://registry.npmjs.org/lodash.tostring/-/lodash.tostring-4.1.4.tgz"
- }
- }
- }
- }
- },
- "once": {
- "version": "1.4.0",
- "from": "once@1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
- },
- "opener": {
- "version": "1.4.1",
- "from": "opener@>=1.4.1 <1.5.0",
- "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.1.tgz"
- },
- "osenv": {
- "version": "0.1.3",
- "from": "osenv@0.1.3",
- "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz",
- "dependencies": {
- "os-homedir": {
- "version": "1.0.0",
- "from": "os-homedir@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.0.tgz"
- },
- "os-tmpdir": {
- "version": "1.0.1",
- "from": "os-tmpdir@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz"
- }
- }
- },
- "path-is-inside": {
- "version": "1.0.1",
- "from": "path-is-inside@1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz"
- },
- "read": {
- "version": "1.0.7",
- "from": "read@1.0.7",
- "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
- "dependencies": {
- "mute-stream": {
- "version": "0.0.5",
- "from": "mute-stream@>=0.0.4 <0.1.0",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz"
- }
- }
- },
- "read-installed": {
- "version": "4.0.3",
- "from": "read-installed@4.0.3",
- "dependencies": {
- "debuglog": {
- "version": "1.0.1",
- "from": "debuglog@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz"
- },
- "readdir-scoped-modules": {
- "version": "1.0.2",
- "from": "readdir-scoped-modules@>=1.0.0 <2.0.0"
- },
- "util-extend": {
- "version": "1.0.1",
- "from": "util-extend@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/util-extend/-/util-extend-1.0.1.tgz"
- }
- }
- },
- "read-package-json": {
- "version": "2.0.4",
- "from": "read-package-json@2.0.4",
- "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.4.tgz",
- "dependencies": {
- "glob": {
- "version": "6.0.4",
- "from": "glob@>=6.0.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
- "dependencies": {
- "path-is-absolute": {
- "version": "1.0.0",
- "from": "path-is-absolute@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz"
- }
- }
- },
- "json-parse-helpfulerror": {
- "version": "1.0.3",
- "from": "json-parse-helpfulerror@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz",
- "dependencies": {
- "jju": {
- "version": "1.3.0",
- "from": "jju@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/jju/-/jju-1.3.0.tgz"
- }
- }
- }
- }
- },
- "readable-stream": {
- "version": "2.1.5",
- "from": "readable-stream@2.1.5",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz",
- "dependencies": {
- "buffer-shims": {
- "version": "1.0.0",
- "from": "buffer-shims@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz"
- },
- "core-util-is": {
- "version": "1.0.2",
- "from": "core-util-is@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"
- },
- "isarray": {
- "version": "1.0.0",
- "from": "isarray@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
- },
- "process-nextick-args": {
- "version": "1.0.7",
- "from": "process-nextick-args@>=1.0.6 <1.1.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz"
- },
- "string_decoder": {
- "version": "0.10.31",
- "from": "string_decoder@>=0.10.0 <0.11.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- },
- "util-deprecate": {
- "version": "1.0.2",
- "from": "util-deprecate@>=1.0.1 <1.1.0",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
- }
- }
- },
- "realize-package-specifier": {
- "version": "3.0.1",
- "from": "realize-package-specifier@>=3.0.0 <3.1.0",
- "resolved": "https://registry.npmjs.org/realize-package-specifier/-/realize-package-specifier-3.0.1.tgz"
- },
- "request": {
- "version": "2.74.0",
- "from": "request@2.74.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.74.0.tgz",
- "dependencies": {
- "aws-sign2": {
- "version": "0.6.0",
- "from": "aws-sign2@>=0.6.0 <0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz"
- },
- "aws4": {
- "version": "1.4.1",
- "from": "aws4@>=1.2.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz"
- },
- "bl": {
- "version": "1.1.2",
- "from": "bl@>=1.1.2 <1.2.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz",
- "dependencies": {
- "readable-stream": {
- "version": "2.0.6",
- "from": "readable-stream@>=2.0.5 <2.1.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
- "dependencies": {
- "core-util-is": {
- "version": "1.0.2",
- "from": "core-util-is@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"
- },
- "isarray": {
- "version": "1.0.0",
- "from": "isarray@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
- },
- "process-nextick-args": {
- "version": "1.0.7",
- "from": "process-nextick-args@>=1.0.6 <1.1.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz"
- },
- "string_decoder": {
- "version": "0.10.31",
- "from": "string_decoder@>=0.10.0 <0.11.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- },
- "util-deprecate": {
- "version": "1.0.2",
- "from": "util-deprecate@>=1.0.1 <1.1.0",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
- }
- }
- }
- }
- },
- "caseless": {
- "version": "0.11.0",
- "from": "caseless@>=0.11.0 <0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz"
- },
- "combined-stream": {
- "version": "1.0.5",
- "from": "combined-stream@>=1.0.5 <1.1.0",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
- "dependencies": {
- "delayed-stream": {
- "version": "1.0.0",
- "from": "delayed-stream@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
- }
- }
- },
- "extend": {
- "version": "3.0.0",
- "from": "extend@>=3.0.0 <3.1.0",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz"
- },
- "forever-agent": {
- "version": "0.6.1",
- "from": "forever-agent@>=0.6.1 <0.7.0",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz"
- },
- "form-data": {
- "version": "1.0.0-rc4",
- "from": "form-data@>=1.0.0-rc4 <1.1.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz",
- "dependencies": {
- "async": {
- "version": "1.5.2",
- "from": "async@>=1.5.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz"
- }
- }
- },
- "har-validator": {
- "version": "2.0.6",
- "from": "har-validator@>=2.0.6 <2.1.0",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "from": "chalk@>=1.1.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "from": "ansi-styles@>=2.2.1 <3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz"
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "from": "escape-string-regexp@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
- },
- "has-ansi": {
- "version": "2.0.0",
- "from": "has-ansi@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"
- },
- "supports-color": {
- "version": "2.0.0",
- "from": "supports-color@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
- }
- }
- },
- "commander": {
- "version": "2.9.0",
- "from": "commander@>=2.9.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
- "dependencies": {
- "graceful-readlink": {
- "version": "1.0.1",
- "from": "graceful-readlink@>=1.0.0",
- "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
- }
- }
- },
- "is-my-json-valid": {
- "version": "2.13.1",
- "from": "is-my-json-valid@>=2.12.4 <3.0.0",
- "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz",
- "dependencies": {
- "generate-function": {
- "version": "2.0.0",
- "from": "generate-function@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz"
- },
- "generate-object-property": {
- "version": "1.2.0",
- "from": "generate-object-property@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
- "dependencies": {
- "is-property": {
- "version": "1.0.2",
- "from": "is-property@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz"
- }
- }
- },
- "jsonpointer": {
- "version": "2.0.0",
- "from": "jsonpointer@2.0.0",
- "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz"
- },
- "xtend": {
- "version": "4.0.1",
- "from": "xtend@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
- }
- }
- },
- "pinkie-promise": {
- "version": "2.0.1",
- "from": "pinkie-promise@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "dependencies": {
- "pinkie": {
- "version": "2.0.4",
- "from": "pinkie@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz"
- }
- }
- }
- }
- },
- "hawk": {
- "version": "3.1.3",
- "from": "hawk@>=3.1.3 <3.2.0",
- "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
- "dependencies": {
- "boom": {
- "version": "2.10.1",
- "from": "boom@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz"
- },
- "cryptiles": {
- "version": "2.0.5",
- "from": "cryptiles@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz"
- },
- "hoek": {
- "version": "2.16.3",
- "from": "hoek@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
- },
- "sntp": {
- "version": "1.0.9",
- "from": "sntp@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz"
- }
- }
- },
- "http-signature": {
- "version": "1.1.1",
- "from": "http-signature@>=1.1.0 <1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
- "dependencies": {
- "assert-plus": {
- "version": "0.2.0",
- "from": "assert-plus@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz"
- },
- "jsprim": {
- "version": "1.3.0",
- "from": "jsprim@>=1.2.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.0.tgz",
- "dependencies": {
- "extsprintf": {
- "version": "1.0.2",
- "from": "extsprintf@1.0.2",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz"
- },
- "json-schema": {
- "version": "0.2.2",
- "from": "json-schema@0.2.2",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz"
- },
- "verror": {
- "version": "1.3.6",
- "from": "verror@1.3.6",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz"
- }
- }
- },
- "sshpk": {
- "version": "1.9.2",
- "from": "sshpk@>=1.7.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.9.2.tgz",
- "dependencies": {
- "asn1": {
- "version": "0.2.3",
- "from": "asn1@>=0.2.3 <0.3.0",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz"
- },
- "assert-plus": {
- "version": "1.0.0",
- "from": "assert-plus@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
- },
- "dashdash": {
- "version": "1.14.0",
- "from": "dashdash@>=1.12.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz"
- },
- "ecc-jsbn": {
- "version": "0.1.1",
- "from": "ecc-jsbn@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
- "optional": true
- },
- "getpass": {
- "version": "0.1.6",
- "from": "getpass@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz"
- },
- "jodid25519": {
- "version": "1.0.2",
- "from": "jodid25519@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz",
- "optional": true
- },
- "jsbn": {
- "version": "0.1.0",
- "from": "jsbn@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz",
- "optional": true
- },
- "tweetnacl": {
- "version": "0.13.3",
- "from": "tweetnacl@>=0.13.0 <0.14.0",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz",
- "optional": true
- }
- }
- }
- }
- },
- "is-typedarray": {
- "version": "1.0.0",
- "from": "is-typedarray@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz"
- },
- "isstream": {
- "version": "0.1.2",
- "from": "isstream@>=0.1.2 <0.2.0",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "from": "json-stringify-safe@>=5.0.1 <5.1.0",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"
- },
- "mime-types": {
- "version": "2.1.11",
- "from": "mime-types@>=2.1.7 <2.2.0",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz",
- "dependencies": {
- "mime-db": {
- "version": "1.23.0",
- "from": "mime-db@>=1.23.0 <1.24.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz"
- }
- }
- },
- "node-uuid": {
- "version": "1.4.7",
- "from": "node-uuid@>=1.4.7 <1.5.0",
- "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz"
- },
- "oauth-sign": {
- "version": "0.8.2",
- "from": "oauth-sign@>=0.8.1 <0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz"
- },
- "qs": {
- "version": "6.2.1",
- "from": "qs@>=6.2.0 <6.3.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.1.tgz"
- },
- "stringstream": {
- "version": "0.0.5",
- "from": "stringstream@>=0.0.4 <0.1.0",
- "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz"
- },
- "tough-cookie": {
- "version": "2.3.1",
- "from": "tough-cookie@>=2.3.0 <2.4.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.1.tgz"
- },
- "tunnel-agent": {
- "version": "0.4.3",
- "from": "tunnel-agent@>=0.4.1 <0.5.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz"
- }
- }
- },
- "retry": {
- "version": "0.10.0",
- "from": "retry@0.10.0",
- "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.0.tgz"
- },
- "rimraf": {
- "version": "2.5.4",
- "from": "rimraf@latest",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz"
- },
- "semver": {
- "version": "5.1.0",
- "from": "semver@>=5.1.0 <5.2.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.1.0.tgz"
- },
- "sha": {
- "version": "2.0.1",
- "from": "sha@2.0.1",
- "resolved": "https://registry.npmjs.org/sha/-/sha-2.0.1.tgz",
- "dependencies": {
- "readable-stream": {
- "version": "2.0.2",
- "from": "readable-stream@>=2.0.2 <3.0.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.2.tgz",
- "dependencies": {
- "core-util-is": {
- "version": "1.0.1",
- "from": "core-util-is@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
- },
- "isarray": {
- "version": "0.0.1",
- "from": "isarray@0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
- },
- "process-nextick-args": {
- "version": "1.0.3",
- "from": "process-nextick-args@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.3.tgz"
- },
- "string_decoder": {
- "version": "0.10.31",
- "from": "string_decoder@>=0.10.0 <0.11.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- },
- "util-deprecate": {
- "version": "1.0.1",
- "from": "util-deprecate@>=1.0.1 <1.1.0",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.1.tgz"
- }
- }
- }
- }
- },
- "slide": {
- "version": "1.1.6",
- "from": "slide@>=1.1.6 <1.2.0",
- "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz"
- },
- "sorted-object": {
- "version": "2.0.0",
- "from": "sorted-object@2.0.0",
- "resolved": "https://registry.npmjs.org/sorted-object/-/sorted-object-2.0.0.tgz"
- },
- "spdx-license-ids": {
- "version": "1.2.2",
- "from": "spdx-license-ids@1.2.2",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz"
- },
- "strip-ansi": {
- "version": "3.0.1",
- "from": "strip-ansi@*",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
- },
- "tar": {
- "version": "2.2.1",
- "from": "tar@2.2.1"
- },
- "text-table": {
- "version": "0.2.0",
- "from": "text-table@~0.2.0"
- },
- "uid-number": {
- "version": "0.0.6",
- "from": "uid-number@>=0.0.6 <0.1.0",
- "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz"
- },
- "umask": {
- "version": "1.1.0",
- "from": "umask@>=1.1.0 <1.2.0",
- "resolved": "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz"
- },
- "validate-npm-package-license": {
- "version": "3.0.1",
- "from": "validate-npm-package-license@>=3.0.1 <3.1.0",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
- "dependencies": {
- "spdx-correct": {
- "version": "1.0.2",
- "from": "spdx-correct@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz"
- },
- "spdx-expression-parse": {
- "version": "1.0.2",
- "from": "spdx-expression-parse@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.2.tgz",
- "dependencies": {
- "spdx-exceptions": {
- "version": "1.0.4",
- "from": "spdx-exceptions@>=1.0.4 <2.0.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-1.0.4.tgz"
- }
- }
- }
- }
- },
- "validate-npm-package-name": {
- "version": "2.2.2",
- "from": "validate-npm-package-name@2.2.2",
- "dependencies": {
- "builtins": {
- "version": "0.0.7",
- "from": "builtins@0.0.7"
- }
- }
- },
- "which": {
- "version": "1.2.11",
- "from": "which@1.2.11",
- "resolved": "https://registry.npmjs.org/which/-/which-1.2.11.tgz",
- "dependencies": {
- "isexe": {
- "version": "1.1.2",
- "from": "isexe@>=1.1.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz"
- }
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "from": "wrappy@>=1.0.2 <1.1.0",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
- },
- "write-file-atomic": {
- "version": "1.1.4",
- "from": "write-file-atomic@>=1.1.4 <1.2.0"
- }
- }
- },
- "npm-install-package": {
- "version": "2.1.0",
- "from": "npm-install-package@>=2.1.0 <2.2.0",
- "resolved": "https://registry.npmjs.org/npm-install-package/-/npm-install-package-2.1.0.tgz",
- "dev": true
- },
- "npm-shrinkwrap": {
- "version": "6.0.2",
- "from": "npm-shrinkwrap@>=6.0.2 <7.0.0",
- "resolved": "https://registry.npmjs.org/npm-shrinkwrap/-/npm-shrinkwrap-6.0.2.tgz",
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "from": "minimist@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz"
- },
- "semver": {
- "version": "4.3.6",
- "from": "semver@>=4.0.3 <5.0.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz"
- }
- }
- },
- "npmlog": {
- "version": "4.0.2",
- "from": "npmlog@>=4.0.1 <5.0.0",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.0.2.tgz"
- },
- "num2fraction": {
- "version": "1.2.2",
- "from": "num2fraction@>=1.2.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz"
- },
- "number-is-nan": {
- "version": "1.0.1",
- "from": "number-is-nan@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz"
- },
- "oauth-sign": {
- "version": "0.8.2",
- "from": "oauth-sign@>=0.8.1 <0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz"
- },
- "object-assign": {
- "version": "4.1.1",
- "from": "object-assign@>=4.0.1 <5.0.0",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
- },
- "object-keys": {
- "version": "0.4.0",
- "from": "object-keys@>=0.4.0 <0.5.0",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz"
- },
- "object.assign": {
- "version": "4.0.4",
- "from": "object.assign@>=4.0.4 <5.0.0",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.0.4.tgz",
- "dev": true,
- "dependencies": {
- "object-keys": {
- "version": "1.0.11",
- "from": "object-keys@>=1.0.10 <2.0.0",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
- "dev": true
- }
- }
- },
- "object.omit": {
- "version": "2.0.1",
- "from": "object.omit@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
- "optional": true
- },
- "once": {
- "version": "1.4.0",
- "from": "once@>=1.3.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
- },
- "onetime": {
- "version": "1.1.0",
- "from": "onetime@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
- "dev": true
- },
- "optimist": {
- "version": "0.6.1",
- "from": "optimist@>=0.6.1 <0.7.0",
- "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz"
- },
- "optionator": {
- "version": "0.8.2",
- "from": "optionator@>=0.8.2 <0.9.0",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
- "dev": true,
- "dependencies": {
- "wordwrap": {
- "version": "1.0.0",
- "from": "wordwrap@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "dev": true
- }
- }
- },
- "os-homedir": {
- "version": "1.0.2",
- "from": "os-homedir@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz"
- },
- "os-locale": {
- "version": "1.4.0",
- "from": "os-locale@>=1.4.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz"
- },
- "os-tmpdir": {
- "version": "1.0.2",
- "from": "os-tmpdir@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz"
- },
- "output-file-sync": {
- "version": "1.1.2",
- "from": "output-file-sync@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz"
- },
- "parse-glob": {
- "version": "3.0.4",
- "from": "parse-glob@>=3.0.4 <4.0.0",
- "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
- "optional": true
- },
- "parse-json": {
- "version": "2.2.0",
- "from": "parse-json@>=2.2.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz"
- },
- "path-exists": {
- "version": "2.1.0",
- "from": "path-exists@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz"
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "from": "path-is-absolute@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
- },
- "path-is-inside": {
- "version": "1.0.2",
- "from": "path-is-inside@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
- "dev": true
- },
- "path-parse": {
- "version": "1.0.5",
- "from": "path-parse@>=1.0.5 <2.0.0",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
- "dev": true
- },
- "path-to-regexp": {
- "version": "1.7.0",
- "from": "path-to-regexp@>=1.7.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
- "dependencies": {
- "isarray": {
- "version": "0.0.1",
- "from": "isarray@0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
- }
- }
- },
- "path-type": {
- "version": "1.1.0",
- "from": "path-type@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz"
- },
- "paypal-rest-sdk": {
- "version": "1.7.1",
- "from": "paypal-rest-sdk@>=1.7.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/paypal-rest-sdk/-/paypal-rest-sdk-1.7.1.tgz",
- "dependencies": {
- "uuid": {
- "version": "2.0.3",
- "from": "uuid@>=2.0.1 <3.0.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz"
- }
- }
- },
- "performance-now": {
- "version": "0.2.0",
- "from": "performance-now@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz"
- },
- "pify": {
- "version": "2.3.0",
- "from": "pify@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz"
- },
- "pinkie": {
- "version": "2.0.4",
- "from": "pinkie@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz"
- },
- "pinkie-promise": {
- "version": "2.0.1",
- "from": "pinkie-promise@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
- },
- "pluralize": {
- "version": "1.2.1",
- "from": "pluralize@>=1.2.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz",
- "dev": true
- },
- "postcss": {
- "version": "5.2.17",
- "from": "postcss@>=5.2.16 <6.0.0",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz"
- },
- "postcss-js": {
- "version": "0.3.0",
- "from": "postcss-js@>=0.3.0 <0.4.0",
- "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-0.3.0.tgz"
- },
- "postcss-value-parser": {
- "version": "3.3.0",
- "from": "postcss-value-parser@>=3.2.3 <4.0.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz"
- },
- "prelude-ls": {
- "version": "1.1.2",
- "from": "prelude-ls@>=1.1.2 <1.2.0",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "dev": true
- },
- "prerender-node": {
- "version": "2.7.1",
- "from": "prerender-node@>=2.7.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/prerender-node/-/prerender-node-2.7.1.tgz"
- },
- "preserve": {
- "version": "0.2.0",
- "from": "preserve@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
- "optional": true
- },
- "private": {
- "version": "0.1.7",
- "from": "private@>=0.1.6 <0.2.0",
- "resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz"
- },
- "process-nextick-args": {
- "version": "1.0.7",
- "from": "process-nextick-args@>=1.0.6 <1.1.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz"
- },
- "progress": {
- "version": "1.1.8",
- "from": "progress@>=1.1.8 <2.0.0",
- "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
- "dev": true
- },
- "promise": {
- "version": "7.1.1",
- "from": "promise@>=7.1.1 <8.0.0",
- "resolved": "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz"
- },
- "prop-types": {
- "version": "15.5.8",
- "from": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.8.tgz",
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.8.tgz"
- },
- "punycode": {
- "version": "1.4.1",
- "from": "punycode@>=1.4.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz"
- },
- "q": {
- "version": "0.9.7",
- "from": "q@0.9.7",
- "resolved": "https://registry.npmjs.org/q/-/q-0.9.7.tgz"
- },
- "qs": {
- "version": "6.4.0",
- "from": "qs@>=6.4.0 <6.5.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz"
- },
- "query-parse": {
- "version": "1.0.0",
- "from": "query-parse@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/query-parse/-/query-parse-1.0.0.tgz"
- },
- "querystring": {
- "version": "0.2.0",
- "from": "querystring@0.2.0",
- "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz"
- },
- "radium": {
- "version": "0.18.2",
- "from": "radium@>=0.18.2 <0.19.0",
- "resolved": "https://registry.npmjs.org/radium/-/radium-0.18.2.tgz",
- "dependencies": {
- "array-find": {
- "version": "1.0.0",
- "from": "array-find@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/array-find/-/array-find-1.0.0.tgz"
- },
- "rimraf": {
- "version": "2.6.1",
- "from": "rimraf@>=2.6.1 <3.0.0",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz"
- }
- }
- },
- "randomatic": {
- "version": "1.1.6",
- "from": "randomatic@>=1.1.3 <2.0.0",
- "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.6.tgz",
- "optional": true
- },
- "rc": {
- "version": "1.1.7",
- "from": "rc@>=1.1.6 <1.2.0",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.1.7.tgz",
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "from": "minimist@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz"
- }
- }
- },
- "react": {
- "version": "15.4.2",
- "from": "react@15.4.2",
- "resolved": "https://registry.npmjs.org/react/-/react-15.4.2.tgz"
- },
- "react-addons-create-fragment": {
- "version": "15.4.2",
- "from": "react-addons-create-fragment@15.4.2",
- "resolved": "https://registry.npmjs.org/react-addons-create-fragment/-/react-addons-create-fragment-15.4.2.tgz"
- },
- "react-addons-pure-render-mixin": {
- "version": "15.4.2",
- "from": "react-addons-pure-render-mixin@15.4.2",
- "resolved": "https://registry.npmjs.org/react-addons-pure-render-mixin/-/react-addons-pure-render-mixin-15.4.2.tgz"
- },
- "react-addons-test-utils": {
- "version": "15.4.2",
- "from": "react-addons-test-utils@15.4.2",
- "resolved": "https://registry.npmjs.org/react-addons-test-utils/-/react-addons-test-utils-15.4.2.tgz",
- "dev": true
- },
- "react-addons-transition-group": {
- "version": "15.5.2",
- "from": "react-addons-transition-group@>=0.14.0 <0.15.0||>=15.0.0 <16.0.0",
- "resolved": "https://registry.npmjs.org/react-addons-transition-group/-/react-addons-transition-group-15.5.2.tgz"
- },
- "react-autosuggest": {
- "version": "9.0.1",
- "from": "react-autosuggest@>=9.0.0 <10.0.0",
- "resolved": "https://registry.npmjs.org/react-autosuggest/-/react-autosuggest-9.0.1.tgz"
- },
- "react-autowhatever": {
- "version": "10.0.0",
- "from": "react-autowhatever@>=10.0.0 <11.0.0",
- "resolved": "https://registry.npmjs.org/react-autowhatever/-/react-autowhatever-10.0.0.tgz"
- },
- "react-color": {
- "version": "2.11.7",
- "from": "react-color@>=2.11.4 <3.0.0",
- "resolved": "https://registry.npmjs.org/react-color/-/react-color-2.11.7.tgz"
- },
- "react-dnd": {
- "version": "2.3.0",
- "from": "react-dnd@>=2.3.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/react-dnd/-/react-dnd-2.3.0.tgz"
- },
- "react-dnd-html5-backend": {
- "version": "2.3.0",
- "from": "react-dnd-html5-backend@>=2.3.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/react-dnd-html5-backend/-/react-dnd-html5-backend-2.3.0.tgz"
- },
- "react-dom": {
- "version": "15.4.2",
- "from": "react-dom@15.4.2",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.4.2.tgz"
- },
- "react-dropzone": {
- "version": "3.13.1",
- "from": "react-dropzone@>=3.12.3 <4.0.0",
- "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-3.13.1.tgz"
- },
- "react-helmet": {
- "version": "5.0.3",
- "from": "react-helmet@>=5.0.1 <6.0.0",
- "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-5.0.3.tgz"
- },
- "react-input-autosize": {
- "version": "1.1.0",
- "from": "react-input-autosize@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-1.1.0.tgz"
- },
- "react-komposer": {
- "version": "2.0.0",
- "from": "react-komposer@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/react-komposer/-/react-komposer-2.0.0.tgz"
- },
- "react-measure": {
- "version": "1.4.7",
- "from": "react-measure@>=1.4.6 <2.0.0",
- "resolved": "https://registry.npmjs.org/react-measure/-/react-measure-1.4.7.tgz"
- },
- "react-nouislider": {
- "version": "2.0.0",
- "from": "react-nouislider@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/react-nouislider/-/react-nouislider-2.0.0.tgz"
- },
- "react-onclickoutside": {
- "version": "5.11.1",
- "from": "react-onclickoutside@>=5.10.0 <6.0.0",
- "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-5.11.1.tgz"
- },
- "react-router": {
- "version": "4.1.1",
- "from": "react-router@>=4.1.1 <5.0.0",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.1.1.tgz"
- },
- "react-router-dom": {
- "version": "4.1.1",
- "from": "react-router-dom@>=4.1.1 <5.0.0",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-4.1.1.tgz"
- },
- "react-select": {
- "version": "1.0.0-rc.3",
- "from": "react-select@>=1.0.0-rc.3 <2.0.0",
- "resolved": "https://registry.npmjs.org/react-select/-/react-select-1.0.0-rc.3.tgz"
- },
- "react-side-effect": {
- "version": "1.1.0",
- "from": "react-side-effect@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-1.1.0.tgz"
- },
- "react-simple-di": {
- "version": "1.2.0",
- "from": "react-simple-di@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/react-simple-di/-/react-simple-di-1.2.0.tgz"
- },
- "react-stubber": {
- "version": "1.0.0",
- "from": "react-stubber@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/react-stubber/-/react-stubber-1.0.0.tgz"
- },
- "react-taco-table": {
- "version": "0.5.0",
- "from": "react-taco-table@>=0.5.0 <0.6.0",
- "resolved": "https://registry.npmjs.org/react-taco-table/-/react-taco-table-0.5.0.tgz"
- },
- "react-tether": {
- "version": "0.5.6",
- "from": "react-tether@>=0.5.6 <0.6.0",
- "resolved": "https://registry.npmjs.org/react-tether/-/react-tether-0.5.6.tgz"
- },
- "react-textarea-autosize": {
- "version": "4.1.0",
- "from": "react-textarea-autosize@>=4.0.5 <5.0.0",
- "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-4.1.0.tgz"
- },
- "react-themeable": {
- "version": "1.1.0",
- "from": "react-themeable@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/react-themeable/-/react-themeable-1.1.0.tgz",
- "dependencies": {
- "object-assign": {
- "version": "3.0.0",
- "from": "object-assign@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz"
- }
- }
- },
- "reactcss": {
- "version": "1.2.2",
- "from": "reactcss@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/reactcss/-/reactcss-1.2.2.tgz"
- },
- "read-pkg": {
- "version": "1.1.0",
- "from": "read-pkg@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz"
- },
- "read-pkg-up": {
- "version": "1.0.1",
- "from": "read-pkg-up@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz"
- },
- "readable-stream": {
- "version": "2.2.9",
- "from": "readable-stream@>=2.0.6 <3.0.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz"
- },
- "readdirp": {
- "version": "2.1.0",
- "from": "readdirp@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
- "optional": true
- },
- "readline2": {
- "version": "1.0.1",
- "from": "readline2@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz",
- "dev": true
- },
- "rechoir": {
- "version": "0.6.2",
- "from": "rechoir@>=0.6.2 <0.7.0",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
- "dev": true
- },
- "redent": {
- "version": "1.0.0",
- "from": "redent@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
- "dev": true
- },
- "redeyed": {
- "version": "0.5.0",
- "from": "redeyed@>=0.5.0 <0.6.0",
- "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-0.5.0.tgz"
- },
- "redux": {
- "version": "3.6.0",
- "from": "redux@>=3.2.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/redux/-/redux-3.6.0.tgz"
- },
- "regenerate": {
- "version": "1.3.2",
- "from": "regenerate@>=1.2.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.2.tgz"
- },
- "regenerator-runtime": {
- "version": "0.10.4",
- "from": "regenerator-runtime@>=0.10.0 <0.11.0",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.4.tgz"
- },
- "regenerator-transform": {
- "version": "0.9.11",
- "from": "regenerator-transform@0.9.11",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.9.11.tgz"
- },
- "regex-cache": {
- "version": "0.4.3",
- "from": "regex-cache@>=0.4.2 <0.5.0",
- "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz",
- "optional": true
- },
- "regexpu-core": {
- "version": "2.0.0",
- "from": "regexpu-core@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz"
- },
- "regjsgen": {
- "version": "0.2.0",
- "from": "regjsgen@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz"
- },
- "regjsparser": {
- "version": "0.1.5",
- "from": "regjsparser@>=0.1.4 <0.2.0",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
- "dependencies": {
- "jsesc": {
- "version": "0.5.0",
- "from": "jsesc@>=0.5.0 <0.6.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz"
- }
- }
- },
- "remove-trailing-separator": {
- "version": "1.0.1",
- "from": "remove-trailing-separator@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz"
- },
- "repeat-element": {
- "version": "1.1.2",
- "from": "repeat-element@>=1.1.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz"
- },
- "repeat-string": {
- "version": "1.6.1",
- "from": "repeat-string@>=1.5.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz"
- },
- "repeating": {
- "version": "2.0.1",
- "from": "repeating@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz"
- },
- "request": {
- "version": "2.81.0",
- "from": "request@>=2.75.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz"
- },
- "request-promise": {
- "version": "4.2.0",
- "from": "request-promise@>=4.1.1 <5.0.0",
- "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.0.tgz",
- "dependencies": {
- "bluebird": {
- "version": "3.5.0",
- "from": "bluebird@>=3.5.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz"
- }
- }
- },
- "request-promise-core": {
- "version": "1.1.1",
- "from": "request-promise-core@1.1.1",
- "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz"
- },
- "require-directory": {
- "version": "2.1.1",
- "from": "require-directory@>=2.1.1 <3.0.0",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz"
- },
- "require-main-filename": {
- "version": "1.0.1",
- "from": "require-main-filename@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz"
- },
- "require-uncached": {
- "version": "1.0.3",
- "from": "require-uncached@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
- "dev": true
- },
- "resize-observer-polyfill": {
- "version": "1.4.2",
- "from": "resize-observer-polyfill@>=1.4.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.4.2.tgz"
- },
- "resolve": {
- "version": "1.3.3",
- "from": "resolve@>=1.1.6 <2.0.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.3.3.tgz",
- "dev": true
- },
- "resolve-from": {
- "version": "1.0.1",
- "from": "resolve-from@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
- "dev": true
- },
- "resolve-pathname": {
- "version": "2.1.0",
- "from": "resolve-pathname@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-2.1.0.tgz"
- },
- "resolve-url": {
- "version": "0.2.1",
- "from": "resolve-url@>=0.2.1 <0.3.0",
- "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
- "dev": true
- },
- "restore-cursor": {
- "version": "1.0.1",
- "from": "restore-cursor@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
- "dev": true
- },
- "rgb2hex": {
- "version": "0.1.0",
- "from": "rgb2hex@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npmjs.org/rgb2hex/-/rgb2hex-0.1.0.tgz",
- "dev": true
- },
- "right-align": {
- "version": "0.1.3",
- "from": "right-align@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
- "optional": true
- },
- "rimraf": {
- "version": "2.5.4",
- "from": "rimraf@>=2.5.4 <2.6.0",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz"
- },
- "run-async": {
- "version": "0.1.0",
- "from": "run-async@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz",
- "dev": true
- },
- "run-parallel": {
- "version": "1.1.6",
- "from": "run-parallel@>=1.1.6 <2.0.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.6.tgz"
- },
- "run-series": {
- "version": "1.1.4",
- "from": "run-series@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/run-series/-/run-series-1.1.4.tgz"
- },
- "rx": {
- "version": "4.1.0",
- "from": "rx@>=4.1.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz",
- "dev": true
- },
- "rx-lite": {
- "version": "3.1.2",
- "from": "rx-lite@>=3.1.2 <4.0.0",
- "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz",
- "dev": true
- },
- "safe-buffer": {
- "version": "5.0.1",
- "from": "safe-buffer@>=5.0.1 <6.0.0",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz"
- },
- "safe-json-parse": {
- "version": "2.0.0",
- "from": "safe-json-parse@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-2.0.0.tgz"
- },
- "safe-json-stringify": {
- "version": "1.0.4",
- "from": "safe-json-stringify@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.0.4.tgz",
- "optional": true
- },
- "samsam": {
- "version": "1.1.2",
- "from": "samsam@1.1.2",
- "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz",
- "dev": true
- },
- "sax": {
- "version": "1.2.2",
- "from": "sax@>=0.6.0",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.2.tgz"
- },
- "scmp": {
- "version": "0.0.3",
- "from": "scmp@0.0.3",
- "resolved": "https://registry.npmjs.org/scmp/-/scmp-0.0.3.tgz"
- },
- "section-iterator": {
- "version": "2.0.0",
- "from": "section-iterator@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/section-iterator/-/section-iterator-2.0.0.tgz"
- },
- "semver": {
- "version": "5.3.0",
- "from": "semver@>=5.3.0 <5.4.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz"
- },
- "set-blocking": {
- "version": "2.0.0",
- "from": "set-blocking@>=2.0.0 <2.1.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz"
- },
- "set-immediate-shim": {
- "version": "1.0.1",
- "from": "set-immediate-shim@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
- "optional": true
- },
- "setimmediate": {
- "version": "1.0.5",
- "from": "setimmediate@>=1.0.5 <2.0.0",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz"
- },
- "shallow-equal": {
- "version": "1.0.0",
- "from": "shallow-equal@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.0.0.tgz"
- },
- "shallowequal": {
- "version": "0.2.2",
- "from": "shallowequal@>=0.2.2 <0.3.0",
- "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-0.2.2.tgz"
- },
- "shelljs": {
- "version": "0.7.7",
- "from": "shelljs@>=0.7.5 <0.8.0",
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.7.tgz",
- "dev": true
- },
- "shippo": {
- "version": "1.3.0",
- "from": "shippo@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/shippo/-/shippo-1.3.0.tgz"
- },
- "signal-exit": {
- "version": "3.0.2",
- "from": "signal-exit@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz"
- },
- "sinon": {
- "version": "1.17.7",
- "from": "sinon@>=1.17.6 <2.0.0",
- "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.17.7.tgz",
- "dev": true
- },
- "slash": {
- "version": "1.0.0",
- "from": "slash@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz"
- },
- "slice-ansi": {
- "version": "0.0.4",
- "from": "slice-ansi@0.0.4",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz",
- "dev": true
- },
- "smart-buffer": {
- "version": "1.1.15",
- "from": "smart-buffer@>=1.0.4 <2.0.0",
- "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz"
- },
- "smtp-connection": {
- "version": "2.12.0",
- "from": "smtp-connection@2.12.0",
- "resolved": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz"
- },
- "sntp": {
- "version": "1.0.9",
- "from": "sntp@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz"
- },
- "socks": {
- "version": "1.1.9",
- "from": "socks@1.1.9",
- "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.9.tgz"
- },
- "sortablejs": {
- "version": "1.5.1",
- "from": "sortablejs@>=1.5.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.5.1.tgz"
- },
- "sorted-object": {
- "version": "1.0.0",
- "from": "sorted-object@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/sorted-object/-/sorted-object-1.0.0.tgz"
- },
- "source-map": {
- "version": "0.5.6",
- "from": "source-map@>=0.5.6 <0.6.0",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz"
- },
- "source-map-resolve": {
- "version": "0.3.1",
- "from": "source-map-resolve@>=0.3.0 <0.4.0",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.3.1.tgz",
- "dev": true
- },
- "source-map-support": {
- "version": "0.2.9",
- "from": "source-map-support@0.2.9",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.2.9.tgz",
- "optional": true,
- "dependencies": {
- "source-map": {
- "version": "0.1.32",
- "from": "source-map@0.1.32",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz",
- "optional": true
- }
- }
- },
- "source-map-url": {
- "version": "0.3.0",
- "from": "source-map-url@>=0.3.0 <0.4.0",
- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.3.0.tgz",
- "dev": true
- },
- "spdx-correct": {
- "version": "1.0.2",
- "from": "spdx-correct@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz"
- },
- "spdx-expression-parse": {
- "version": "1.0.4",
- "from": "spdx-expression-parse@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz"
- },
- "spdx-license-ids": {
- "version": "1.2.2",
- "from": "spdx-license-ids@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz"
- },
- "sprintf-js": {
- "version": "1.0.3",
- "from": "sprintf-js@>=1.0.2 <1.1.0",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "dev": true
- },
- "sshpk": {
- "version": "1.13.0",
- "from": "sshpk@>=1.7.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.0.tgz",
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "from": "assert-plus@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
- }
- }
- },
- "stable": {
- "version": "0.1.6",
- "from": "stable@>=0.1.5 <0.2.0",
- "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.6.tgz"
- },
- "stealthy-require": {
- "version": "1.1.0",
- "from": "stealthy-require@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.0.tgz"
- },
- "string_decoder": {
- "version": "1.0.0",
- "from": "string_decoder@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.0.tgz"
- },
- "string-template": {
- "version": "0.2.1",
- "from": "string-template@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz"
- },
- "string-width": {
- "version": "1.0.2",
- "from": "string-width@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz"
- },
- "string.prototype.startswith": {
- "version": "0.2.0",
- "from": "string.prototype.startswith@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npmjs.org/string.prototype.startswith/-/string.prototype.startswith-0.2.0.tgz"
- },
- "stringstream": {
- "version": "0.0.5",
- "from": "stringstream@>=0.0.4 <0.1.0",
- "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz"
- },
- "strip-ansi": {
- "version": "3.0.1",
- "from": "strip-ansi@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
- },
- "strip-bom": {
- "version": "2.0.0",
- "from": "strip-bom@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz"
- },
- "strip-indent": {
- "version": "1.0.1",
- "from": "strip-indent@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
- "dev": true
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "from": "strip-json-comments@>=2.0.1 <2.1.0",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz"
- },
- "stripe": {
- "version": "4.18.0",
- "from": "stripe@>=4.16.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/stripe/-/stripe-4.18.0.tgz",
- "dependencies": {
- "qs": {
- "version": "6.0.4",
- "from": "qs@>=6.0.4 <6.1.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.0.4.tgz"
- }
- }
- },
- "supports-color": {
- "version": "3.2.3",
- "from": "supports-color@>=3.2.3 <4.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz"
- },
- "sweetalert2": {
- "version": "6.6.2",
- "from": "sweetalert2@>=6.4.4 <7.0.0",
- "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-6.6.2.tgz"
- },
- "swiper": {
- "version": "3.4.2",
- "from": "swiper@>=3.4.2 <4.0.0",
- "resolved": "https://registry.npmjs.org/swiper/-/swiper-3.4.2.tgz"
- },
- "symbol-observable": {
- "version": "1.0.4",
- "from": "symbol-observable@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz"
- },
- "table": {
- "version": "3.8.3",
- "from": "table@>=3.7.8 <4.0.0",
- "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz",
- "dev": true,
- "dependencies": {
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "from": "is-fullwidth-code-point@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "dev": true
- },
- "string-width": {
- "version": "2.0.0",
- "from": "string-width@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.0.0.tgz",
- "dev": true
- }
- }
- },
- "tar": {
- "version": "2.2.1",
- "from": "tar@>=2.2.1 <2.3.0",
- "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz"
- },
- "tar-pack": {
- "version": "3.3.0",
- "from": "tar-pack@>=3.3.0 <3.4.0",
- "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.3.0.tgz",
- "dependencies": {
- "once": {
- "version": "1.3.3",
- "from": "once@>=1.3.3 <1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz"
- },
- "readable-stream": {
- "version": "2.1.5",
- "from": "readable-stream@>=2.1.4 <2.2.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz"
- },
- "string_decoder": {
- "version": "0.10.31",
- "from": "string_decoder@>=0.10.0 <0.11.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- }
- }
- },
- "tar-stream": {
- "version": "1.5.2",
- "from": "tar-stream@>=1.5.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.2.tgz",
- "dev": true,
- "dependencies": {
- "xtend": {
- "version": "4.0.1",
- "from": "xtend@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
- "dev": true
- }
- }
- },
- "temp-fs": {
- "version": "0.9.9",
- "from": "temp-fs@>=0.9.9 <0.10.0",
- "resolved": "https://registry.npmjs.org/temp-fs/-/temp-fs-0.9.9.tgz",
- "dev": true
- },
- "tether": {
- "version": "1.4.0",
- "from": "tether@>=1.3.7 <2.0.0",
- "resolved": "https://registry.npmjs.org/tether/-/tether-1.4.0.tgz"
- },
- "tether-drop": {
- "version": "1.4.2",
- "from": "tether-drop@>=1.4.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/tether-drop/-/tether-drop-1.4.2.tgz"
- },
- "tether-tooltip": {
- "version": "1.2.0",
- "from": "tether-tooltip@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/tether-tooltip/-/tether-tooltip-1.2.0.tgz"
- },
- "text-table": {
- "version": "0.2.0",
- "from": "text-table@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "dev": true
- },
- "through": {
- "version": "2.3.8",
- "from": "through@>=2.3.6 <3.0.0",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "dev": true
- },
- "timespan": {
- "version": "2.3.0",
- "from": "timespan@>=2.3.0 <2.4.0",
- "resolved": "https://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz"
- },
- "tinycolor2": {
- "version": "1.4.1",
- "from": "tinycolor2@>=1.1.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz"
- },
- "tmp": {
- "version": "0.0.31",
- "from": "tmp@>=0.0.31 <0.0.32",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz",
- "dev": true
- },
- "to-fast-properties": {
- "version": "1.0.2",
- "from": "to-fast-properties@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz"
- },
- "topo": {
- "version": "1.1.0",
- "from": "topo@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/topo/-/topo-1.1.0.tgz"
- },
- "tough-cookie": {
- "version": "2.3.2",
- "from": "tough-cookie@>=2.3.0 <2.4.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz"
- },
- "transliteration": {
- "version": "1.5.2",
- "from": "transliteration@1.5.2",
- "resolved": "https://registry.npmjs.org/transliteration/-/transliteration-1.5.2.tgz",
- "dependencies": {
- "camelcase": {
- "version": "3.0.0",
- "from": "camelcase@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz"
- },
- "cliui": {
- "version": "3.2.0",
- "from": "cliui@>=3.2.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz"
- },
- "yargs": {
- "version": "6.6.0",
- "from": "yargs@>=6.6.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz"
- }
- }
- },
- "trim-newlines": {
- "version": "1.0.0",
- "from": "trim-newlines@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
- "dev": true
- },
- "trim-right": {
- "version": "1.0.1",
- "from": "trim-right@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz"
- },
- "tryit": {
- "version": "1.0.3",
- "from": "tryit@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz",
- "dev": true
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "from": "tunnel-agent@>=0.6.0 <0.7.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz"
- },
- "tweetnacl": {
- "version": "0.14.5",
- "from": "tweetnacl@>=0.14.0 <0.15.0",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "optional": true
- },
- "twilio": {
- "version": "2.11.1",
- "from": "twilio@>=2.11.1 <3.0.0",
- "resolved": "https://registry.npmjs.org/twilio/-/twilio-2.11.1.tgz",
- "dependencies": {
- "async": {
- "version": "2.3.0",
- "from": "async@>=2.0.1 <3.0.0",
- "resolved": "https://registry.npmjs.org/async/-/async-2.3.0.tgz"
- },
- "caseless": {
- "version": "0.11.0",
- "from": "caseless@>=0.11.0 <0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz"
- },
- "form-data": {
- "version": "1.0.1",
- "from": "form-data@>=1.0.0-rc4 <1.1.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz"
- },
- "har-validator": {
- "version": "2.0.6",
- "from": "har-validator@>=2.0.6 <2.1.0",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz"
- },
- "jsonwebtoken": {
- "version": "5.4.1",
- "from": "jsonwebtoken@>=5.4.0 <5.5.0",
- "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-5.4.1.tgz"
- },
- "node-uuid": {
- "version": "1.4.8",
- "from": "node-uuid@~1.4.7",
- "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz"
- },
- "qs": {
- "version": "6.2.3",
- "from": "qs@>=6.2.0 <6.3.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz"
- },
- "request": {
- "version": "2.74.0",
- "from": "request@>=2.74.0 <2.75.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.74.0.tgz"
- },
- "tunnel-agent": {
- "version": "0.4.3",
- "from": "tunnel-agent@>=0.4.1 <0.5.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz"
- }
- }
- },
- "type-check": {
- "version": "0.3.2",
- "from": "type-check@>=0.3.2 <0.4.0",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "dev": true
- },
- "type-detect": {
- "version": "1.0.0",
- "from": "type-detect@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz",
- "dev": true
- },
- "typedarray": {
- "version": "0.0.6",
- "from": "typedarray@>=0.0.6 <0.0.7",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "dev": true
- },
- "ua-parser-js": {
- "version": "0.7.12",
- "from": "ua-parser-js@>=0.7.9 <0.8.0",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.12.tgz"
- },
- "uglify-js": {
- "version": "2.8.22",
- "from": "uglify-js@>=2.6.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.22.tgz",
- "optional": true
- },
- "uglify-to-browserify": {
- "version": "1.0.2",
- "from": "uglify-to-browserify@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
- "optional": true
- },
- "uid-number": {
- "version": "0.0.6",
- "from": "uid-number@>=0.0.6 <0.1.0",
- "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz"
- },
- "underscore": {
- "version": "1.8.3",
- "from": "underscore@1.8.3",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz"
- },
- "urix": {
- "version": "0.1.0",
- "from": "urix@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
- "dev": true
- },
- "url": {
- "version": "0.11.0",
- "from": "url@>=0.11.0 <0.12.0",
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
- "dependencies": {
- "punycode": {
- "version": "1.3.2",
- "from": "punycode@1.3.2",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz"
- }
- }
- },
- "user-home": {
- "version": "1.1.1",
- "from": "user-home@>=1.1.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz"
- },
- "util": {
- "version": "0.10.3",
- "from": "util@>=0.10.3 <1.0.0",
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
- "dev": true,
- "dependencies": {
- "inherits": {
- "version": "2.0.1",
- "from": "inherits@2.0.1",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
- "dev": true
- }
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "from": "util-deprecate@>=1.0.1 <1.1.0",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
- },
- "uuid": {
- "version": "3.0.1",
- "from": "uuid@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz"
- },
- "v8flags": {
- "version": "2.1.1",
- "from": "v8flags@>=2.0.10 <3.0.0",
- "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz"
- },
- "validate-npm-package-license": {
- "version": "3.0.1",
- "from": "validate-npm-package-license@>=3.0.1 <4.0.0",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz"
- },
- "validator": {
- "version": "7.0.0",
- "from": "validator@>=7.0.0 <7.1.0",
- "resolved": "https://registry.npmjs.org/validator/-/validator-7.0.0.tgz",
- "dev": true
- },
- "value-equal": {
- "version": "0.2.1",
- "from": "value-equal@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-0.2.1.tgz"
- },
- "velocity-animate": {
- "version": "1.5.0",
- "from": "velocity-animate@>=1.5.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/velocity-animate/-/velocity-animate-1.5.0.tgz"
- },
- "velocity-react": {
- "version": "1.2.2",
- "from": "velocity-react@>=1.2.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/velocity-react/-/velocity-react-1.2.2.tgz",
- "dependencies": {
- "lodash": {
- "version": "3.10.1",
- "from": "lodash@>=3.10.1 <4.0.0",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz"
- }
- }
- },
- "verror": {
- "version": "1.3.6",
- "from": "verror@1.3.6",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz"
- },
- "walkdir": {
- "version": "0.0.11",
- "from": "walkdir@>=0.0.11 <0.0.12",
- "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz",
- "dev": true
- },
- "warning": {
- "version": "3.0.0",
- "from": "warning@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz"
- },
- "wdio-allure-reporter": {
- "version": "0.1.2",
- "from": "wdio-allure-reporter@>=0.1.2 <0.2.0",
- "resolved": "https://registry.npmjs.org/wdio-allure-reporter/-/wdio-allure-reporter-0.1.2.tgz",
- "dev": true,
- "dependencies": {
- "babel-runtime": {
- "version": "5.8.38",
- "from": "babel-runtime@>=5.8.25 <6.0.0",
- "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-5.8.38.tgz",
- "dev": true
- },
- "core-js": {
- "version": "1.2.7",
- "from": "core-js@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
- "dev": true
- }
- }
- },
- "wdio-dot-reporter": {
- "version": "0.0.8",
- "from": "wdio-dot-reporter@>=0.0.8 <0.1.0",
- "resolved": "https://registry.npmjs.org/wdio-dot-reporter/-/wdio-dot-reporter-0.0.8.tgz",
- "dev": true
- },
- "wdio-mocha-framework": {
- "version": "0.5.10",
- "from": "wdio-mocha-framework@>=0.5.9 <0.6.0",
- "resolved": "https://registry.npmjs.org/wdio-mocha-framework/-/wdio-mocha-framework-0.5.10.tgz",
- "dev": true
- },
- "wdio-sync": {
- "version": "0.6.14",
- "from": "wdio-sync@0.6.14",
- "resolved": "https://registry.npmjs.org/wdio-sync/-/wdio-sync-0.6.14.tgz",
- "dev": true
- },
- "webdriverio": {
- "version": "4.7.1",
- "from": "webdriverio@>=4.6.2 <5.0.0",
- "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-4.7.1.tgz",
- "dev": true,
- "dependencies": {
- "cli-cursor": {
- "version": "2.1.0",
- "from": "cli-cursor@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
- "dev": true
- },
- "figures": {
- "version": "2.0.0",
- "from": "figures@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
- "dev": true
- },
- "inquirer": {
- "version": "3.0.6",
- "from": "inquirer@>=3.0.6 <3.1.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.0.6.tgz",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "from": "is-fullwidth-code-point@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "dev": true
- },
- "mute-stream": {
- "version": "0.0.7",
- "from": "mute-stream@0.0.7",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
- "dev": true
- },
- "onetime": {
- "version": "2.0.1",
- "from": "onetime@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
- "dev": true
- },
- "q": {
- "version": "1.5.0",
- "from": "q@>=1.5.0 <1.6.0",
- "resolved": "https://registry.npmjs.org/q/-/q-1.5.0.tgz",
- "dev": true
- },
- "restore-cursor": {
- "version": "2.0.0",
- "from": "restore-cursor@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
- "dev": true
- },
- "run-async": {
- "version": "2.3.0",
- "from": "run-async@>=2.2.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
- "dev": true
- },
- "string-width": {
- "version": "2.0.0",
- "from": "string-width@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.0.0.tgz",
- "dev": true
- }
- }
- },
- "wgxpath": {
- "version": "1.0.0",
- "from": "wgxpath@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/wgxpath/-/wgxpath-1.0.0.tgz",
- "dev": true
- },
- "whatwg-fetch": {
- "version": "2.0.3",
- "from": "whatwg-fetch@>=0.10.0",
- "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz"
- },
- "when": {
- "version": "2.4.0",
- "from": "when@>=2.4.0 <2.5.0",
- "resolved": "https://registry.npmjs.org/when/-/when-2.4.0.tgz"
- },
- "which-module": {
- "version": "1.0.0",
- "from": "which-module@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz"
- },
- "wide-align": {
- "version": "1.1.0",
- "from": "wide-align@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz"
- },
- "window-size": {
- "version": "0.1.0",
- "from": "window-size@0.1.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
- "optional": true
- },
- "wordwrap": {
- "version": "0.0.3",
- "from": "wordwrap@>=0.0.2 <0.1.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz"
- },
- "wrap-ansi": {
- "version": "2.1.0",
- "from": "wrap-ansi@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz"
- },
- "wrappy": {
- "version": "1.0.2",
- "from": "wrappy@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
- },
- "write": {
- "version": "0.2.1",
- "from": "write@>=0.2.1 <0.3.0",
- "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
- "dev": true
- },
- "xml2js": {
- "version": "0.4.17",
- "from": "xml2js@>=0.4.17 <0.5.0",
- "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz"
- },
- "xmlbuilder": {
- "version": "4.2.1",
- "from": "xmlbuilder@>=4.1.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz"
- },
- "xtend": {
- "version": "2.1.2",
- "from": "xtend@>=2.1.1 <2.2.0",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz"
- },
- "y18n": {
- "version": "3.2.1",
- "from": "y18n@>=3.2.1 <4.0.0",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz"
- },
- "yargs": {
- "version": "3.10.0",
- "from": "yargs@>=3.10.0 <3.11.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
- "optional": true
- },
- "yargs-parser": {
- "version": "4.2.1",
- "from": "yargs-parser@>=4.2.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz",
- "dependencies": {
- "camelcase": {
- "version": "3.0.0",
- "from": "camelcase@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz"
- }
- }
- },
- "zip-stream": {
- "version": "1.1.1",
- "from": "zip-stream@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.1.1.tgz",
- "dev": true
- }
- }
-}
diff --git a/package.json b/package.json
index 2964704e3ca..24159cd0537 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "reaction",
"description": "Reaction is a modern reactive, real-time event driven ecommerce platform.",
- "version": "1.2.0",
+ "version": "1.3.0",
"main": "main.js",
"directories": {
"test": "tests"
@@ -20,17 +20,18 @@
},
"dependencies": {
"@reactioncommerce/authorize-net": "^1.0.8",
+ "@reactioncommerce/nodemailer": "^5.0.4",
"accounting-js": "^1.1.1",
- "autoprefixer": "^6.7.7",
+ "autoprefixer": "^7.1.1",
"autosize": "^3.0.20",
"babel-runtime": "^6.23.0",
"bcrypt": "^1.0.2",
"bootstrap": "^3.3.7",
"braintree": "^2.0.2",
- "bunyan": "^1.8.9",
+ "bunyan": "^2.0.0",
"bunyan-format": "^0.2.1",
- "bunyan-loggly": "^1.2.0",
"classnames": "^2.2.5",
+ "copy-to-clipboard": "^3.0.6",
"country-data": "^0.0.31",
"css-annotation": "^0.6.2",
"deep-diff": "^0.3.4",
@@ -42,8 +43,8 @@
"griddle-react": "0.7.1",
"handlebars": "^4.0.6",
"history": "^4.6.1",
- "i18next": "7.1.3",
- "i18next-browser-languagedetector": "^1.0.1",
+ "i18next": "8.4.2",
+ "i18next-browser-languagedetector": "^2.0.0",
"i18next-localstorage-cache": "^1.1.0",
"i18next-sprintf-postprocessor": "^0.2.2",
"immutable": "^3.8.1",
@@ -52,28 +53,30 @@
"later": "^1.2.0",
"lodash": "^4.17.4",
"lodash.pick": "^4.4.0",
- "meteor-node-stubs": "^0.2.6",
+ "meteor-node-stubs": "^0.2.11",
"moment": "^2.18.1",
"moment-timezone": "^0.5.11",
- "nexmo": "^1.2.0",
+ "nexmo": "^2.0.2",
"node-geocoder": "^3.16.0",
- "nodemailer": "2.7.2",
+ "node-loggly-bulk": "^2.0.0",
"nodemailer-wellknown": "^0.2.1",
"nouislider-algolia-fork": "^10.0.0",
"npm-shrinkwrap": "^6.0.2",
"path-to-regexp": "^1.7.0",
"paypal-rest-sdk": "^1.7.1",
- "postcss": "^5.2.16",
- "postcss-js": "^0.3.0",
+ "postcss": "^6.0.2",
+ "postcss-js": "^1.0.0",
"prerender-node": "^2.7.0",
"prop-types": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.8.tgz",
"query-parse": "^1.0.0",
- "radium": "^0.18.2",
+ "radium": "^0.19.1",
"react": "15.4.2",
"react-addons-create-fragment": "15.4.2",
"react-addons-pure-render-mixin": "15.4.2",
"react-autosuggest": "^9.0.0",
+ "react-avatar": "^2.3.0",
"react-color": "^2.11.4",
+ "react-copy-to-clipboard": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.0.tgz",
"react-dnd": "^2.3.0",
"react-dnd-html5-backend": "^2.3.0",
"react-dom": "15.4.2",
@@ -97,25 +100,29 @@
"swiper": "^3.4.2",
"tether-drop": "^1.4.2",
"tether-tooltip": "^1.2.0",
- "transliteration": "1.5.2",
- "twilio": "^2.11.1",
+ "transliteration": "1.6.2",
+ "twilio": "^3.4.0",
"url": "^0.11.0",
"velocity-animate": "^1.5.0",
"velocity-react": "^1.2.1"
},
"devDependencies": {
"babel-eslint": "^7.2.1",
+ "babel-jest": "^20.0.3",
"babel-plugin-lodash": "^3.2.11",
+ "babel-plugin-module-resolver": "^2.7.1",
+ "babel-preset-es2015": "^6.22.0",
+ "babel-preset-react": "^6.24.1",
"babel-preset-stage-2": "^6.22.0",
"browserstack-local": "^1.3.0",
- "chai": "^3.5.0",
+ "chai": "^4.0.2",
+ "enzyme": "^2.8.2",
+ "enzyme-to-json": "^1.5.1",
"eslint": "^3.18.0",
"eslint-plugin-react": "^6.10.3",
+ "jest": "^20.0.4",
"js-yaml": "^3.8.2",
- "react-addons-test-utils": "15.4.2",
- "wdio-allure-reporter": "^0.1.2",
- "wdio-mocha-framework": "^0.5.9",
- "webdriverio": "^4.6.2"
+ "react-addons-test-utils": "15.4.2"
},
"postcss": {
"plugins": {
@@ -127,10 +134,28 @@
}
},
"scripts": {
- "create-report": "allure generate allure-results/ -o ~/allure-report",
- "open-report": "cd && allure report open",
- "del-report": "rm -rf ~/allure-report && rm -rf allure-results",
- "test-local": "wdio tests/runner/local.conf.js",
- "test-browserstack": "wdio tests/runner/browserstack.conf.js; kill $(ps aux | grep '[b]rowserstack' | awk '{print $2}')"
+ "test": "jest"
+ },
+ "jest": {
+ "moduleNameMapper": {
+ "^\/lib(.*)": "/lib/$1",
+ "^\/imports\/plugins(.*)": "/imports/plugins/$1",
+ "^\/client\/api(.*)": "/imports/test-utils/__mocks__/client/api$1",
+ "^meteor/aldeed:simple-schema": "/imports/test-utils/__mocks__/meteor/aldeed-simple-schema",
+ "^meteor/(.*)": "/imports/test-utils/__mocks__/meteor/$1"
+ }
+ },
+ "babel": {
+ "plugins": [
+ "lodash", ["module-resolver", {
+ "root": ["./"],
+ "alias": {
+ "underscore": "lodash",
+ "@reactioncommerce/reaction-ui": "./imports/plugins/core/ui/client/components",
+ "@reactioncommerce/reaction-router": "./imports/plugins/core/router/lib"
+ }
+ }]
+ ],
+ "presets": ["es2015", "react", "stage-2"]
}
}
diff --git a/packages/tempstore/.npm/package/.gitignore b/packages/tempstore/.npm/package/.gitignore
new file mode 100644
index 00000000000..3c3629e647f
--- /dev/null
+++ b/packages/tempstore/.npm/package/.gitignore
@@ -0,0 +1 @@
+node_modules
diff --git a/packages/tempstore/.npm/package/README b/packages/tempstore/.npm/package/README
new file mode 100644
index 00000000000..3d492553a43
--- /dev/null
+++ b/packages/tempstore/.npm/package/README
@@ -0,0 +1,7 @@
+This directory and the files immediately inside it are automatically generated
+when you change this package's NPM dependencies. Commit the files in this
+directory (npm-shrinkwrap.json, .gitignore, and this README) to source control
+so that others run the same versions of sub-dependencies.
+
+You should NOT check in the node_modules directory that Meteor automatically
+creates; if you are using git, the .gitignore file tells git to ignore it.
diff --git a/packages/tempstore/.npm/package/npm-shrinkwrap.json b/packages/tempstore/.npm/package/npm-shrinkwrap.json
new file mode 100644
index 00000000000..80fbce75b66
--- /dev/null
+++ b/packages/tempstore/.npm/package/npm-shrinkwrap.json
@@ -0,0 +1,14 @@
+{
+ "dependencies": {
+ "combined-stream": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz",
+ "from": "combined-stream@0.0.4"
+ },
+ "delayed-stream": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz",
+ "from": "delayed-stream@0.0.5"
+ }
+ }
+}
diff --git a/packages/tempstore/.travis.yml b/packages/tempstore/.travis.yml
new file mode 100644
index 00000000000..6a464003387
--- /dev/null
+++ b/packages/tempstore/.travis.yml
@@ -0,0 +1,5 @@
+language: node_js
+node_js:
+ - "0.10"
+before_install:
+ - "curl -L http://git.io/s0Zu-w | /bin/sh"
\ No newline at end of file
diff --git a/packages/tempstore/.versions b/packages/tempstore/.versions
new file mode 100644
index 00000000000..8fdf6def2dd
--- /dev/null
+++ b/packages/tempstore/.versions
@@ -0,0 +1,29 @@
+base64@1.0.3
+binary-heap@1.0.3
+callback-hook@1.0.3
+cfs:base-package@0.0.30
+cfs:data-man@0.0.6
+cfs:file@0.1.16
+cfs:storage-adapter@0.2.1
+cfs:tempstore@0.1.5
+check@1.0.5
+ddp@1.1.0
+deps@1.0.7
+ejson@1.0.6
+geojson-utils@1.0.3
+http@1.1.0
+id-map@1.0.3
+json@1.0.3
+livedata@1.0.13
+logging@1.0.7
+meteor@1.1.6
+minimongo@1.0.8
+mongo@1.1.0
+mongo-livedata@1.0.8
+ordered-dict@1.0.3
+raix:eventemitter@0.1.1
+random@1.0.3
+retry@1.0.3
+tracker@1.0.7
+underscore@1.0.3
+url@1.0.4
diff --git a/packages/tempstore/CHANGELOG.md b/packages/tempstore/CHANGELOG.md
new file mode 100644
index 00000000000..64b4f4394f6
--- /dev/null
+++ b/packages/tempstore/CHANGELOG.md
@@ -0,0 +1,169 @@
+# Changelog
+
+## vCurrent
+## [v0.1.2] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.1.2)
+#### 17/12/14 by Morten Henriksen
+## [v0.1.1] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.1.1)
+#### 17/12/14 by Morten Henriksen
+- mbr update, remove versions.json
+
+- Bump to version 0.1.1
+
+## [v0.1.0] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.1.0)
+#### 17/12/14 by Morten Henriksen
+- mbr update versions and fix warnings
+
+- fix 0.9.1 package scope
+
+- don't rely on package names; fix for 0.9.1
+
+- 0.9.1 support
+
+## [v0.0.29] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.29)
+#### 28/08/14 by Morten Henriksen
+- Meteor Package System Update
+
+## [v0.0.28] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.28)
+#### 27/08/14 by Eric Dobbertin
+- change package name to lowercase
+
+## [v0.0.27] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.27)
+#### 17/06/14 by Eric Dobbertin
+- add `FS.TempStore.removeAll` method
+
+## [v0.0.26] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.26)
+#### 30/04/14 by Eric Dobbertin
+## [v0.0.25] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.25)
+#### 30/04/14 by Eric Dobbertin
+- use third-party combined-stream node pkg as attempt to resolve pesky streaming issues
+
+## [v0.0.24] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.24)
+#### 29/04/14 by Eric Dobbertin
+- generate api docs
+
+- fileKey methods now expect an FS.File always, so we give them one
+
+- small FS.File API change
+
+## [v0.0.23] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.23)
+#### 12/04/14 by Eric Dobbertin
+- test for packages since we're assigning default error functions for stores
+
+## [v0.0.22] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.22)
+#### 12/04/14 by Eric Dobbertin
+- avoid errors if file already removed from temp store
+
+## [v0.0.21] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.21)
+#### 12/04/14 by Eric Dobbertin
+## [v0.0.20] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.20)
+#### 08/04/14 by Eric Dobbertin
+- cleanup stored/uploaded events and further improve chunk tracking
+
+## [v0.0.19] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.19)
+#### 08/04/14 by Eric Dobbertin
+- use internal tracking collection
+
+- Have TempStore set the size
+
+- Add the SA on stored result
+
+- allow unset chunkSum
+
+## [v0.0.18] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.18)
+#### 06/04/14 by Eric Dobbertin
+- delete chunkCount and chunkSize props from fileObj after upload is complete
+
+## [v0.0.17] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.17)
+#### 06/04/14 by Eric Dobbertin
+- We now wait to mount storage until it's needed (first upload begins); this ensures that we are able to accurately check for the cfs-worker package, which loads after this one. It also makes the code a bit cleaner.
+
+## [v0.0.16] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.16)
+#### 04/04/14 by Morten Henriksen
+- Temporary workaround: We currently we generate a mongoId if gridFS is used for TempStore
+
+- Note: At the moment tempStore will only use gridfs if no filesystem is installed
+
+## [v0.0.15] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.15)
+#### 02/04/14 by Morten Henriksen
+- Use the stored event and object instead (result object is not used at the moment - but we could store an id at some point)
+
+## [v0.0.14] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.14)
+#### 31/03/14 by Eric Dobbertin
+- use latest releases
+
+- use latest releases
+
+## [v0.0.13] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.13)
+#### 31/03/14 by Morten Henriksen
+- Try to use latest when using weak deps
+
+## [v0.0.12] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.12)
+#### 30/03/14 by Morten Henriksen
+## [v0.0.11] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.11)
+#### 30/03/14 by Morten Henriksen
+- Set noon callback - we just want the file gone
+
+## [v0.0.10] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.10)
+#### 29/03/14 by Morten Henriksen
+- add filesystem and gridfs as weak deps
+
+## [v0.0.9] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.9)
+#### 29/03/14 by Morten Henriksen
+- Add check to see if FS.TempStore.Storage is set
+
+## [v0.0.8] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.8)
+#### 29/03/14 by Morten Henriksen
+- Converting TempStore to use SA api
+
+## [v0.0.7] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.7)
+#### 25/03/14 by Morten Henriksen
+- use `new Date`
+
+- Have TempStore emit relevant events
+
+## [v0.0.6] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.6)
+#### 23/03/14 by Morten Henriksen
+- Rollback to specific git dependency
+
+- use collectionFS travis version force update
+
+## [v0.0.5] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.5)
+#### 22/03/14 by Morten Henriksen
+- try to fix travis test by using general package references
+
+## [v0.0.4] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.4)
+#### 21/03/14 by Morten Henriksen
+- fix chunk files not actually being deleted
+
+## [v0.0.3] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.3)
+#### 18/03/14 by Morten Henriksen
+- * TempStore is now an EventEmitter * progress event * uploaded * (start) should perhaps be created * remove * Added FS.TempStore.listParts - will return lookup object listing the parts already uploaded
+
+- Allow chunk to be undefined an thereby have the createWriteStream follow normal streaming api
+
+- Allow undefined in chunkPath
+
+- added comments
+
+- bug hunting
+
+- Add streaming WIP
+
+- rename temp store collection to 'cfs.tempstore'
+
+- fix ensureForFile
+
+- track tempstore chunks in our own collection rather than in the file object
+
+- change to accept buffer; less converting
+
+- prevent bytesUploaded from getting bigger than size
+
+## [v0.0.2] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.2)
+#### 15/02/14 by Morten Henriksen
+- fix typo
+
+## [v0.0.1] (https://github.com/CollectionFS/Meteor-cfs-tempstore/tree/v0.0.1)
+#### 13/02/14 by Morten Henriksen
+- init commit
+
diff --git a/packages/tempstore/LICENSE.md b/packages/tempstore/LICENSE.md
new file mode 100644
index 00000000000..1a3820821f4
--- /dev/null
+++ b/packages/tempstore/LICENSE.md
@@ -0,0 +1,20 @@
+The MIT License (MIT)
+
+Copyright (c) 2013 [@raix](https://github.com/raix) and [@aldeed](https://github.com/aldeed), aka Morten N.O. Nørgaard Henriksen, mh@gi-software.com
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/packages/tempstore/README.md b/packages/tempstore/README.md
new file mode 100644
index 00000000000..62ae16e78f7
--- /dev/null
+++ b/packages/tempstore/README.md
@@ -0,0 +1,24 @@
+cfs:tempstore
+=========================
+
+This is a Meteor package used by
+[CollectionFS](https://github.com/CollectionFS/Meteor-CollectionFS). It provides
+an API for quickly storing chunks of file data in temporary files. If also supports deleting those chunks, and combining them into one
+binary object and attaching it to an FS.File instance.
+
+You don't need to manually add this package to your app, but you could replace
+this package with your own if you want to handle temporary storage in another
+way.
+
+> `FS.TempStore` uses the `cfs:storage-adapter` compatible Storage Adapters, both `FS.Store.FileSystem` and `FS.Store.GridFS` will be defaulted. *for more information read the [internal.api.md](internal.api.md)*
+
+##Documentation
+[API Documentation](api.md)
+
+##Contribute
+Here's the [complete API documentation](internal.api.md), including private methods.
+
+Update docs, `npm install docmeteor`
+```bash
+$ docmeteor
+```
\ No newline at end of file
diff --git a/packages/tempstore/api.md b/packages/tempstore/api.md
new file mode 100644
index 00000000000..cbb34632e6b
--- /dev/null
+++ b/packages/tempstore/api.md
@@ -0,0 +1,112 @@
+## cfs-tempstore Public API ##
+
+CollectionFS, temporary storage
+
+_API documentation automatically generated by [docmeteor](https://github.com/raix/docmeteor)._
+
+##Temporary Storage
+
+Temporary storage is used for chunked uploads until all chunks are received
+and all copies have been made or given up. In some cases, the original file
+is stored only in temporary storage (for example, if all copies do some
+manipulation in beforeSave). This is why we use the temporary file as the
+basis for each saved copy, and then remove it after all copies are saved.
+
+Every chunk is saved as an individual temporary file. This is safer than
+attempting to write multiple incoming chunks to different positions in a
+single temporary file, which can lead to write conflicts.
+
+Using temp files also allows us to easily resume uploads, even if the server
+restarts, and to keep the working memory clear.
+The FS.TempStore emits events that others are able to listen to
+-
+
+### *fs*.TempStore {object} Server ###
+
+*This property __TempStore__ is defined in `FS`*
+it's an event emitter*
+
+> ```FS.TempStore = new EventEmitter();``` [tempStore.js:28](tempStore.js#L28)
+
+
+
+-
+We will not mount a storage adapter until needed. This allows us to check for the
+existance of FS.FileWorker, which is loaded after this package because it
+depends on this package.
+
+-
+XXX: TODO
+FS.TempStore.on('stored', function(fileObj, chunkCount, result) {
+This should work if we pass on result from the SA on stored event...
+fileObj.update({ $set: { chunkSum: 1, chunkCount: chunkCount, size: result.size } });
+});
+Stream implementation
+-
+
+### *fsTempstore*.removeFile(fileObj) Server ###
+
+*This method __removeFile__ is defined in `FS.TempStore`*
+
+__Arguments__
+
+* __fileObj__ *{[FS.File](#FS.File)}*
+
+This function removes the file from tempstorage - it cares not if file is
+already removed or not found, goal is reached anyway.
+
+> ```FS.TempStore.removeFile = function(fileObj) { ...``` [tempStore.js:169](tempStore.js#L169)
+
+
+-
+
+### *fsTempstore*.createWriteStream(fileObj, [options]) Server ###
+
+*This method __createWriteStream__ is defined in `FS.TempStore`*
+
+__Arguments__
+
+* __fileObj__ *{[FS.File](#FS.File)}*
+
+ File to store in temporary storage
+
+* __options__ *{[Number ](#Number )|[ String](# String)}* (Optional)
+
+__Returns__ *{Stream}*
+Writeable stream
+
+
+`options` of different types mean differnt things:
+`undefined` We store the file in one part
+(Normal server-side api usage)*
+`Number` the number is the part number total
+(multipart uploads will use this api)*
+`String` the string is the name of the `store` that wants to store file data
+(stores that want to sync their data to the rest of the files stores will use this)*
+
+> Note: fileObj must be mounted on a `FS.Collection`, it makes no sense to store otherwise
+
+> ```FS.TempStore.createWriteStream = function(fileObj, options) { ...``` [tempStore.js:217](tempStore.js#L217)
+
+
+-
+
+### *fsTempstore*.createReadStream(fileObj) Server ###
+
+*This method __createReadStream__ is defined in `FS.TempStore`*
+
+__Arguments__
+
+* __fileObj__ *{[FS.File](#FS.File)}*
+
+ The file to read
+
+
+__Returns__ *{Stream}*
+Returns readable stream
+
+
+
+> ```FS.TempStore.createReadStream = function(fileObj) { ...``` [tempStore.js:313](tempStore.js#L313)
+
+
diff --git a/packages/tempstore/internal.api.md b/packages/tempstore/internal.api.md
new file mode 100644
index 00000000000..4b6e1f6d5ee
--- /dev/null
+++ b/packages/tempstore/internal.api.md
@@ -0,0 +1,225 @@
+## Public and Private API ##
+
+_API documentation automatically generated by [docmeteor](https://github.com/raix/docmeteor)._
+
+***
+
+__File: ["tempStore.js"](tempStore.js) Where: {server}__
+
+***
+
+##Temporary Storage
+
+Temporary storage is used for chunked uploads until all chunks are received
+and all copies have been made or given up. In some cases, the original file
+is stored only in temporary storage (for example, if all copies do some
+manipulation in beforeSave). This is why we use the temporary file as the
+basis for each saved copy, and then remove it after all copies are saved.
+
+Every chunk is saved as an individual temporary file. This is safer than
+attempting to write multiple incoming chunks to different positions in a
+single temporary file, which can lead to write conflicts.
+
+Using temp files also allows us to easily resume uploads, even if the server
+restarts, and to keep the working memory clear.
+The FS.TempStore emits events that others are able to listen to
+-
+
+### *fs*.TempStore {object} Server ###
+
+*This property __TempStore__ is defined in `FS`*
+it's an event emitter*
+
+> ```FS.TempStore = new EventEmitter();``` [tempStore.js:28](tempStore.js#L28)
+
+
+-
+
+### *fsTempstore*.Storage {StorageAdapter} Server ###
+
+*This property is private*
+*This property __Storage__ is defined in `FS.TempStore`*
+
+This property is set to either `FS.Store.FileSystem` or `FS.Store.GridFS`
+
+__When and why:__
+We normally default to `cfs-filesystem` unless its not installed. *(we default to gridfs if installed)*
+But if `cfs-gridfs` and `cfs-worker` is installed we default to `cfs-gridfs`
+
+If `cfs-gridfs` and `cfs-filesystem` is not installed we log a warning.
+the user can set `FS.TempStore.Storage` them selfs eg.:
+```js
+// Its important to set `internal: true` this lets the SA know that we
+// are using this internally and it will give us direct SA api
+FS.TempStore.Storage = new FS.Store.GridFS('_tempstore', { internal: true });
+```
+
+> Note: This is considered as `advanced` use, its not a common pattern.
+
+> ```FS.TempStore.Storage = null;``` [tempStore.js:54](tempStore.js#L54)
+
+
+
+-
+We will not mount a storage adapter until needed. This allows us to check for the
+existance of FS.FileWorker, which is loaded after this package because it
+depends on this package.
+
+-
+XXX: TODO
+FS.TempStore.on('stored', function(fileObj, chunkCount, result) {
+This should work if we pass on result from the SA on stored event...
+fileObj.update({ $set: { chunkSum: 1, chunkCount: chunkCount, size: result.size } });
+});
+Stream implementation
+-
+
+### _chunkPath([n]) Server ###
+
+*This method is private*
+
+__Arguments__
+
+* __n__ *{Number}* (Optional)
+
+ Chunk number
+
+
+__Returns__ *{String}*
+Chunk naming convention
+
+
+> ```_chunkPath = function(n) { ...``` [tempStore.js:104](tempStore.js#L104)
+
+
+-
+
+### _fileReference(fileObj, chunk) Server ###
+
+*This method is private*
+
+__Arguments__
+
+* __fileObj__ *{[FS.File](#FS.File)}*
+* __chunk__ *{Number}*
+
+__Returns__ *{String}*
+Generated SA specific fileKey for the chunk
+
+
+Note: Calling function should call mountStorage() first, and
+make sure that fileObj is mounted.
+
+> ```_fileReference = function(fileObj, chunk, existing) { ...``` [tempStore.js:118](tempStore.js#L118)
+
+
+-
+
+### *fsTempstore*.exists(File) Server ###
+
+*This method __exists__ is defined in `FS.TempStore`*
+
+__Arguments__
+
+* __File__ *{[FS.File](#FS.File)}*
+
+ object
+
+
+__Returns__ *{Boolean}*
+Is this file, or parts of it, currently stored in the TempStore
+
+
+> ```FS.TempStore.exists = function(fileObj) { ...``` [tempStore.js:145](tempStore.js#L145)
+
+
+-
+
+### *fsTempstore*.listParts(fileObj) Server ###
+
+*This method __listParts__ is defined in `FS.TempStore`*
+
+__Arguments__
+
+* __fileObj__ *{[FS.File](#FS.File)}*
+
+__Returns__ *{Object}*
+of parts already stored
+
+__TODO__
+```
+* This is not yet implemented, milestone 1.1.0
+```
+
+
+> ```FS.TempStore.listParts = function(fileObj) { ...``` [tempStore.js:156](tempStore.js#L156)
+
+
+-
+
+### *fsTempstore*.removeFile(fileObj) Server ###
+
+*This method __removeFile__ is defined in `FS.TempStore`*
+
+__Arguments__
+
+* __fileObj__ *{[FS.File](#FS.File)}*
+
+This function removes the file from tempstorage - it cares not if file is
+already removed or not found, goal is reached anyway.
+
+> ```FS.TempStore.removeFile = function(fileObj) { ...``` [tempStore.js:169](tempStore.js#L169)
+
+
+-
+
+### *fsTempstore*.createWriteStream(fileObj, [options]) Server ###
+
+*This method __createWriteStream__ is defined in `FS.TempStore`*
+
+__Arguments__
+
+* __fileObj__ *{[FS.File](#FS.File)}*
+
+ File to store in temporary storage
+
+* __options__ *{[Number ](#Number )|[ String](# String)}* (Optional)
+
+__Returns__ *{Stream}*
+Writeable stream
+
+
+`options` of different types mean differnt things:
+`undefined` We store the file in one part
+(Normal server-side api usage)*
+`Number` the number is the part number total
+(multipart uploads will use this api)*
+`String` the string is the name of the `store` that wants to store file data
+(stores that want to sync their data to the rest of the files stores will use this)*
+
+> Note: fileObj must be mounted on a `FS.Collection`, it makes no sense to store otherwise
+
+> ```FS.TempStore.createWriteStream = function(fileObj, options) { ...``` [tempStore.js:217](tempStore.js#L217)
+
+
+-
+
+### *fsTempstore*.createReadStream(fileObj) Server ###
+
+*This method __createReadStream__ is defined in `FS.TempStore`*
+
+__Arguments__
+
+* __fileObj__ *{[FS.File](#FS.File)}*
+
+ The file to read
+
+
+__Returns__ *{Stream}*
+Returns readable stream
+
+
+
+> ```FS.TempStore.createReadStream = function(fileObj) { ...``` [tempStore.js:313](tempStore.js#L313)
+
+
diff --git a/packages/tempstore/package.js b/packages/tempstore/package.js
new file mode 100644
index 00000000000..f339ef51a00
--- /dev/null
+++ b/packages/tempstore/package.js
@@ -0,0 +1,34 @@
+ Package.describe({
+ git: 'https://github.com/CollectionFS/Meteor-cfs-tempstore.git',
+ name: 'cfs:tempstore',
+ version: '0.1.5',
+ summary: 'CollectionFS, temporary storage'
+});
+
+Npm.depends({
+ 'combined-stream': '0.0.4'
+});
+
+Package.onUse(function(api) {
+ api.versionsFrom('1.0');
+
+ api.use(['cfs:base-package@0.0.30', 'cfs:file@0.1.16', "ecmascript"]);
+
+ api.use('cfs:filesystem@0.1.2', { weak: true });
+ api.use('cfs:gridfs@0.0.30', { weak: true });
+
+ api.use('mongo');
+
+ api.addFiles([
+ 'tempStore.js'
+ ], 'server');
+});
+
+// Package.on_test(function (api) {
+// api.use('collectionfs');
+// api.use('test-helpers', 'server');
+// api.use(['tinytest', 'underscore', 'ejson', 'ordered-dict',
+// 'random', 'deps']);
+
+// api.addFiles('tests/server-tests.js', 'server');
+// });
diff --git a/packages/tempstore/tempStore.js b/packages/tempstore/tempStore.js
new file mode 100644
index 00000000000..b372dd0580d
--- /dev/null
+++ b/packages/tempstore/tempStore.js
@@ -0,0 +1,399 @@
+// ##Temporary Storage
+//
+// Temporary storage is used for chunked uploads until all chunks are received
+// and all copies have been made or given up. In some cases, the original file
+// is stored only in temporary storage (for example, if all copies do some
+// manipulation in beforeSave). This is why we use the temporary file as the
+// basis for each saved copy, and then remove it after all copies are saved.
+//
+// Every chunk is saved as an individual temporary file. This is safer than
+// attempting to write multiple incoming chunks to different positions in a
+// single temporary file, which can lead to write conflicts.
+//
+// Using temp files also allows us to easily resume uploads, even if the server
+// restarts, and to keep the working memory clear.
+
+// The FS.TempStore emits events that others are able to listen to
+var EventEmitter = Npm.require('events').EventEmitter;
+
+// We have a special stream concating all chunk files into one readable stream
+var CombinedStream = Npm.require('combined-stream');
+
+/** @namespace FS.TempStore
+ * @property FS.TempStore
+ * @type {object}
+ * @public
+ * *it's an event emitter*
+ */
+FS.TempStore = new EventEmitter();
+
+// Create a tracker collection for keeping track of all chunks for any files that are currently in the temp store
+var tracker = FS.TempStore.Tracker = new Mongo.Collection('cfs._tempstore.chunks');
+
+/**
+ * @property FS.TempStore.Storage
+ * @type {StorageAdapter}
+ * @namespace FS.TempStore
+ * @private
+ * This property is set to either `FS.Store.FileSystem` or `FS.Store.GridFS`
+ *
+ * __When and why:__
+ * We normally default to `cfs-filesystem` unless its not installed. *(we default to gridfs if installed)*
+ * But if `cfs-gridfs` and `cfs-worker` is installed we default to `cfs-gridfs`
+ *
+ * If `cfs-gridfs` and `cfs-filesystem` is not installed we log a warning.
+ * the user can set `FS.TempStore.Storage` them selfs eg.:
+ * ```js
+ * // Its important to set `internal: true` this lets the SA know that we
+ * // are using this internally and it will give us direct SA api
+ * FS.TempStore.Storage = new FS.Store.GridFS('_tempstore', { internal: true });
+ * ```
+ *
+ * > Note: This is considered as `advanced` use, its not a common pattern.
+ */
+FS.TempStore.Storage = null;
+
+// We will not mount a storage adapter until needed. This allows us to check for the
+// existance of FS.FileWorker, which is loaded after this package because it
+// depends on this package.
+function mountStorage() {
+
+ if (FS.TempStore.Storage) return;
+
+ // XXX: We could replace this test, testing the FS scope for grifFS etc.
+ // This is on the todo later when we get "stable"
+ if (Package["cfs:gridfs"] && (Package["cfs:worker"] || !Package["cfs:filesystem"])) {
+ // If the file worker is installed we would prefer to use the gridfs sa
+ // for scalability. We also default to gridfs if filesystem is not found
+
+ // Use the gridfs
+ FS.TempStore.Storage = new FS.Store.GridFS('_tempstore', { internal: true });
+ } else if (Package["cfs:filesystem"]) {
+
+ // use the Filesystem
+ FS.TempStore.Storage = new FS.Store.FileSystem('_tempstore', { internal: true });
+ } else {
+ throw new Error('FS.TempStore.Storage is not set: Install cfs:filesystem or cfs:gridfs or set it manually');
+ }
+
+ FS.debug && console.log('TempStore is mounted on', FS.TempStore.Storage.typeName);
+}
+
+function mountFile(fileObj, name) {
+ if (!fileObj.isMounted()) {
+ throw new Error(name + ' cannot work with unmounted file');
+ }
+}
+
+// We update the fileObj on progress
+FS.TempStore.on('progress', function(fileObj, chunkNum, count, total, result) {
+ FS.debug && console.log('TempStore progress: Received ' + count + ' of ' + total + ' chunks for ' + fileObj.name());
+});
+
+// XXX: TODO
+// FS.TempStore.on('stored', function(fileObj, chunkCount, result) {
+// // This should work if we pass on result from the SA on stored event...
+// fileObj.update({ $set: { chunkSum: 1, chunkCount: chunkCount, size: result.size } });
+// });
+
+// Stream implementation
+
+/**
+ * @method _chunkPath
+ * @private
+ * @param {Number} [n] Chunk number
+ * @returns {String} Chunk naming convention
+ */
+_chunkPath = function(n) {
+ return (n || 0) + '.chunk';
+};
+
+/**
+ * @method _fileReference
+ * @param {FS.File} fileObj
+ * @param {Number} chunk
+ * @private
+ * @returns {String} Generated SA specific fileKey for the chunk
+ *
+ * Note: Calling function should call mountStorage() first, and
+ * make sure that fileObj is mounted.
+ */
+_fileReference = function(fileObj, chunk, existing) {
+ // Maybe it's a chunk we've already saved
+ existing = existing || tracker.findOne({fileId: fileObj._id, collectionName: fileObj.collectionName});
+
+ // Make a temporary fileObj just for fileKey generation
+ var tempFileObj = new FS.File({
+ collectionName: fileObj.collectionName,
+ _id: fileObj._id,
+ original: {
+ name: _chunkPath(chunk)
+ },
+ copies: {
+ _tempstore: {
+ key: existing && existing.keys[chunk]
+ }
+ }
+ });
+
+ // Return a fitting fileKey SA specific
+ return FS.TempStore.Storage.adapter.fileKey(tempFileObj);
+};
+
+/**
+ * @method FS.TempStore.exists
+ * @param {FS.File} File object
+ * @returns {Boolean} Is this file, or parts of it, currently stored in the TempStore
+ */
+FS.TempStore.exists = function(fileObj) {
+ var existing = tracker.findOne({fileId: fileObj._id, collectionName: fileObj.collectionName});
+ return !!existing;
+};
+
+/**
+ * @method FS.TempStore.listParts
+ * @param {FS.File} fileObj
+ * @returns {Object} of parts already stored
+ * @todo This is not yet implemented, milestone 1.1.0
+ */
+FS.TempStore.listParts = function fsTempStoreListParts(fileObj) {
+ var self = this;
+ console.warn('This function is not correctly implemented using SA in TempStore');
+ //XXX This function might be necessary for resume. Not currently supported.
+};
+
+/**
+ * @method FS.TempStore.removeFile
+ * @public
+ * @param {FS.File} fileObj
+ * This function removes the file from tempstorage - it cares not if file is
+ * already removed or not found, goal is reached anyway.
+ */
+FS.TempStore.removeFile = function fsTempStoreRemoveFile(fileObj) {
+ var self = this;
+
+ // Ensure that we have a storage adapter mounted; if not, throw an error.
+ mountStorage();
+
+ // If fileObj is not mounted or can't be, throw an error
+ mountFile(fileObj, 'FS.TempStore.removeFile');
+
+ // Emit event
+ self.emit('remove', fileObj);
+
+ var chunkInfo = tracker.findOne({
+ fileId: fileObj._id,
+ collectionName: fileObj.collectionName
+ });
+
+ if (chunkInfo) {
+
+ // Unlink each file
+ FS.Utility.each(chunkInfo.keys || {}, function (key, chunk) {
+ var fileKey = _fileReference(fileObj, chunk, chunkInfo);
+ FS.TempStore.Storage.adapter.remove(fileKey, FS.Utility.noop);
+ });
+
+ // Remove fileObj from tracker collection, too
+ tracker.remove({_id: chunkInfo._id});
+
+ }
+};
+
+/**
+ * @method FS.TempStore.removeAll
+ * @public
+ * This function removes all files from tempstorage - it cares not if file is
+ * already removed or not found, goal is reached anyway.
+ */
+FS.TempStore.removeAll = function fsTempStoreRemoveAll() {
+ var self = this;
+
+ // Ensure that we have a storage adapter mounted; if not, throw an error.
+ mountStorage();
+
+ tracker.find().forEach(function (chunkInfo) {
+ // Unlink each file
+ FS.Utility.each(chunkInfo.keys || {}, function (key, chunk) {
+ var fileKey = _fileReference({_id: chunkInfo.fileId, collectionName: chunkInfo.collectionName}, chunk, chunkInfo);
+ FS.TempStore.Storage.adapter.remove(fileKey, FS.Utility.noop);
+ });
+
+ // Remove from tracker collection, too
+ tracker.remove({_id: chunkInfo._id});
+ });
+};
+
+/**
+ * @method FS.TempStore.createWriteStream
+ * @public
+ * @param {FS.File} fileObj File to store in temporary storage
+ * @param {Number | String} [options]
+ * @returns {Stream} Writeable stream
+ *
+ * `options` of different types mean differnt things:
+ * * `undefined` We store the file in one part
+ * *(Normal server-side api usage)*
+ * * `Number` the number is the part number total
+ * *(multipart uploads will use this api)*
+ * * `String` the string is the name of the `store` that wants to store file data
+ * *(stores that want to sync their data to the rest of the files stores will use this)*
+ *
+ * > Note: fileObj must be mounted on a `FS.Collection`, it makes no sense to store otherwise
+ */
+FS.TempStore.createWriteStream = function(fileObj, options) {
+ var self = this;
+
+ // Ensure that we have a storage adapter mounted; if not, throw an error.
+ mountStorage();
+
+ // If fileObj is not mounted or can't be, throw an error
+ mountFile(fileObj, 'FS.TempStore.createWriteStream');
+
+ // Cache the selector for use multiple times below
+ var selector = {fileId: fileObj._id, collectionName: fileObj.collectionName};
+
+ // TODO, should pass in chunkSum so we don't need to use FS.File for it
+ var chunkSum = fileObj.chunkSum || 1;
+
+ // Add fileObj to tracker collection
+ tracker.upsert(selector, {$setOnInsert: {keys: {}}});
+
+ // Determine how we're using the writeStream
+ var isOnePart = false, isMultiPart = false, isStoreSync = false, chunkNum = 0;
+ if (options === +options) {
+ isMultiPart = true;
+ chunkNum = options;
+ } else if (options === ''+options) {
+ isStoreSync = true;
+ } else {
+ isOnePart = true;
+ }
+
+ // XXX: it should be possible for a store to sync by storing data into the
+ // tempstore - this could be done nicely by setting the store name as string
+ // in the chunk variable?
+ // This store name could be passed on the the fileworker via the uploaded
+ // event
+ // So the uploaded event can return:
+ // undefined - if data is stored into and should sync out to all storage adapters
+ // number - if a chunk has been uploaded
+ // string - if a storage adapter wants to sync its data to the other SA's
+
+ // Find a nice location for the chunk data
+ var fileKey = _fileReference(fileObj, chunkNum);
+
+ // Create the stream as Meteor safe stream
+ var writeStream = FS.TempStore.Storage.adapter.createWriteStream(fileKey);
+
+ // When the stream closes we update the chunkCount
+ writeStream.safeOn('stored', function(result) {
+ // Save key in tracker document
+ var setObj = {};
+ setObj['keys.' + chunkNum] = result.fileKey;
+ tracker.update(selector, {$set: setObj});
+
+
+ var temp = tracker.findOne(selector);
+
+ if(!temp){
+ FS.debug && console.log('NOT FOUND FROM TEMPSTORE => EXIT (REMOVED)');
+ return;
+ }
+
+ // Get updated chunkCount
+ var chunkCount = FS.Utility.size(temp.keys);
+
+ // Progress
+ self.emit('progress', fileObj, chunkNum, chunkCount, chunkSum, result);
+
+ // If upload is completed
+ if (chunkCount === chunkSum) {
+ // We no longer need the chunk info
+ var modifier = { $set: {}, $unset: {chunkCount: 1, chunkSum: 1, chunkSize: 1} };
+
+ if(!fileObj.instance_id)
+ modifier.$set.instance_id = process.env.COLLECTIONFS_ENV_NAME_UNIQUE_ID ? process.env[process.env.COLLECTIONFS_ENV_NAME_UNIQUE_ID] : process.env.METEOR_PARENT_PID;
+
+ // Check if the file has been uploaded before
+ if (typeof fileObj.uploadedAt === 'undefined') {
+ // We set the uploadedAt date
+ modifier.$set.uploadedAt = new Date();
+ } else {
+ // We have been uploaded so an event were file data is updated is
+ // called synchronizing - so this must be a synchronizedAt?
+ modifier.$set.synchronizedAt = new Date();
+ }
+
+ // Update the fileObject
+ fileObj.update(modifier);
+
+ // Fire ending events
+ var eventName = isStoreSync ? 'synchronized' : 'stored';
+ self.emit(eventName, fileObj, result);
+
+ // XXX is emitting "ready" necessary?
+ self.emit('ready', fileObj, chunkCount, result);
+ } else {
+
+ var modifier = { $set: {}};
+ if(!fileObj.instance_id)
+ modifier.$set.instance_id = process.env.COLLECTIONFS_ENV_NAME_UNIQUE_ID ? process.env[process.env.COLLECTIONFS_ENV_NAME_UNIQUE_ID] : process.env.METEOR_PARENT_PID;
+
+ modifier.$set.chunkCount = chunkCount;
+
+ fileObj.update(modifier);
+ }
+ });
+
+ // Emit errors
+ writeStream.on('error', function (error) {
+ FS.debug && console.log('TempStore writeStream error:', error);
+ self.emit('error', error, fileObj);
+ });
+
+ return writeStream;
+};
+
+/**
+ * @method FS.TempStore.createReadStream
+ * @public
+ * @param {FS.File} fileObj The file to read
+ * @return {Stream} Returns readable stream
+ *
+ */
+FS.TempStore.createReadStream = function(fileObj) {
+ // Ensure that we have a storage adapter mounted; if not, throw an error.
+ mountStorage();
+
+ // If fileObj is not mounted or can't be, throw an error
+ mountFile(fileObj, 'FS.TempStore.createReadStream');
+
+ FS.debug && console.log('FS.TempStore creating read stream for ' + fileObj._id);
+
+ // Determine how many total chunks there are from the tracker collection
+ var chunkInfo = tracker.findOne({fileId: fileObj._id, collectionName: fileObj.collectionName}) || {};
+ var totalChunks = FS.Utility.size(chunkInfo.keys);
+
+ function getNextStreamFunc(chunk) {
+ return Meteor.bindEnvironment(function(next) {
+ var fileKey = _fileReference(fileObj, chunk);
+ var chunkReadStream = FS.TempStore.Storage.adapter.createReadStream(fileKey);
+ next(chunkReadStream);
+ }, function (error) {
+ throw error;
+ });
+ }
+
+ // Make a combined stream
+ var combinedStream = CombinedStream.create();
+
+ // Add each chunk stream to the combined stream when the previous chunk stream ends
+ var currentChunk = 0;
+ for (var chunk = 0; chunk < totalChunks; chunk++) {
+ combinedStream.append(getNextStreamFunc(chunk));
+ }
+
+ // Return the combined stream
+ return combinedStream;
+};
diff --git a/packages/tempstore/tests/server-tests.js b/packages/tempstore/tests/server-tests.js
new file mode 100644
index 00000000000..242aa89ca3a
--- /dev/null
+++ b/packages/tempstore/tests/server-tests.js
@@ -0,0 +1,39 @@
+function equals(a, b) {
+ return !!(EJSON.stringify(a) === EJSON.stringify(b));
+}
+
+Tinytest.add('cfs-tempstore - server - test environment', function(test) {
+ test.isTrue(typeof FS.Collection !== 'undefined', 'test environment not initialized FS.Collection');
+});
+
+/*
+ * This is a server-only package so only server tests are needed.
+ * Need to test each API method:
+ * FS.TempStore.saveChunk
+ * FS.TempStore.getDataForFile
+ * FS.TempStore.getDataForFileSync
+ * FS.TempStore.deleteChunks
+ * FS.TempStore.ensureForFile
+ *
+ */
+
+
+//Test API:
+//test.isFalse(v, msg)
+//test.isTrue(v, msg)
+//test.equalactual, expected, message, not
+//test.length(obj, len)
+//test.include(s, v)
+//test.isNaN(v, msg)
+//test.isUndefined(v, msg)
+//test.isNotNull
+//test.isNull
+//test.throws(func)
+//test.instanceOf(obj, klass)
+//test.notEqual(actual, expected, message)
+//test.runId()
+//test.exception(exception)
+//test.expect_fail()
+//test.ok(doc)
+//test.fail(doc)
+//test.equal(a, b, msg)
diff --git a/packages/worker/.travis.yml b/packages/worker/.travis.yml
new file mode 100644
index 00000000000..6a464003387
--- /dev/null
+++ b/packages/worker/.travis.yml
@@ -0,0 +1,5 @@
+language: node_js
+node_js:
+ - "0.10"
+before_install:
+ - "curl -L http://git.io/s0Zu-w | /bin/sh"
\ No newline at end of file
diff --git a/packages/worker/.versions b/packages/worker/.versions
new file mode 100644
index 00000000000..3d899f64021
--- /dev/null
+++ b/packages/worker/.versions
@@ -0,0 +1,32 @@
+base64@1.0.3
+binary-heap@1.0.3
+callback-hook@1.0.3
+cfs:base-package@0.0.30
+cfs:data-man@0.0.6
+cfs:file@0.1.16
+cfs:power-queue@0.9.11
+cfs:reactive-property@0.0.4
+cfs:storage-adapter@0.2.1
+cfs:tempstore@0.1.4
+cfs:worker@0.1.4
+check@1.0.5
+ddp@1.1.0
+deps@1.0.7
+ejson@1.0.6
+geojson-utils@1.0.3
+http@1.1.0
+id-map@1.0.3
+json@1.0.3
+livedata@1.0.13
+logging@1.0.7
+meteor@1.1.6
+minimongo@1.0.8
+mongo@1.1.0
+mongo-livedata@1.0.8
+ordered-dict@1.0.3
+raix:eventemitter@0.1.1
+random@1.0.3
+retry@1.0.3
+tracker@1.0.7
+underscore@1.0.3
+url@1.0.4
diff --git a/packages/worker/CHANGELOG.md b/packages/worker/CHANGELOG.md
new file mode 100644
index 00000000000..3899e6848cb
--- /dev/null
+++ b/packages/worker/CHANGELOG.md
@@ -0,0 +1,123 @@
+# Changelog
+
+## vCurrent
+## [v0.1.2] (https://github.com/CollectionFS/Meteor-cfs-worker/tree/v0.1.2)
+#### 17/12/14 by Morten Henriksen
+## [v0.1.1] (https://github.com/CollectionFS/Meteor-cfs-worker/tree/v0.1.1)
+#### 17/12/14 by Morten Henriksen
+- Bump to version 0.1.1
+
+- mbr update, remove versions.json
+
+## [v0.1.0] (https://github.com/CollectionFS/Meteor-cfs-worker/tree/v0.1.0)
+#### 17/12/14 by Morten Henriksen
+- mbr update versions and fix warnings
+
+- *Merged pull-request:* "Remove the unused function makeSafeCallback()." [#4](https://github.com/CollectionFS/Meteor-cfs-worker/issues/4) ([DouglasUrner](https://github.com/DouglasUrner))
+
+- Remove the unused function makeSafeCallback().
+
+- *Merged pull-request:* "Minor formatting edit." [#2](https://github.com/CollectionFS/Meteor-cfs-worker/issues/2) ([DouglasUrner](https://github.com/DouglasUrner))
+
+- Minor formatting edit.
+
+- 0.9.1 support
+
+Patches by GitHub user [@DouglasUrner](https://github.com/DouglasUrner).
+
+## [v0.0.20] (https://github.com/CollectionFS/Meteor-cfs-worker/tree/v0.0.20)
+#### 28/08/14 by Morten Henriksen
+- Meteor Package System Update
+
+## [v0.0.19] (https://github.com/CollectionFS/Meteor-cfs-worker/tree/v0.0.19)
+#### 27/08/14 by Eric Dobbertin
+## [v0.0.18] (https://github.com/CollectionFS/Meteor-cfs-worker/tree/v0.0.18)
+#### 27/08/14 by Eric Dobbertin
+- Merge branch 'master' of https://github.com/CollectionFS/Meteor-cfs-worker
+
+- change package name to lowercase
+
+## [v0.0.17] (https://github.com/CollectionFS/Meteor-cfs-worker/tree/v0.0.17)
+#### 09/08/14 by Eric Dobbertin
+- *Merged pull-request:* "Fixed bug preventing temp chunks deletion" [#1](https://github.com/CollectionFS/Meteor-cfs-worker/issues/1) ([GuillaumeZuff](https://github.com/GuillaumeZuff))
+
+- Fixed bug preventing temp chunks deletion
+
+Patches by GitHub user [@GuillaumeZuff](https://github.com/GuillaumeZuff).
+
+## [v0.0.16] (https://github.com/CollectionFS/Meteor-cfs-worker/tree/v0.0.16)
+#### 06/04/14 by Eric Dobbertin
+- use uploadedAt so that we can remove chunk info when it's no longer needed
+
+## [v0.0.15] (https://github.com/CollectionFS/Meteor-cfs-worker/tree/v0.0.15)
+#### 05/04/14 by Morten Henriksen
+## [v0.0.14] (https://github.com/CollectionFS/Meteor-cfs-worker/tree/v0.0.14)
+#### 31/03/14 by Eric Dobbertin
+- use latest releases
+
+## [v0.0.13] (https://github.com/CollectionFS/Meteor-cfs-worker/tree/v0.0.13)
+#### 29/03/14 by Morten Henriksen
+- remove underscore deps
+
+## [v0.0.12] (https://github.com/CollectionFS/Meteor-cfs-worker/tree/v0.0.12)
+#### 29/03/14 by Morten Henriksen
+- Refactoring and clean ups
+
+## [v0.0.11] (https://github.com/CollectionFS/Meteor-cfs-worker/tree/v0.0.11)
+#### 23/03/14 by Morten Henriksen
+- Rollback to specific git dependency
+
+- use collectionFS travis version force update
+
+## [v0.0.10] (https://github.com/CollectionFS/Meteor-cfs-worker/tree/v0.0.10)
+#### 22/03/14 by Morten Henriksen
+- try to fix travis test by using general package references
+
+## [v0.0.9] (https://github.com/CollectionFS/Meteor-cfs-worker/tree/v0.0.9)
+#### 22/03/14 by Morten Henriksen
+- out factor fileobj update when file is stored
+
+- clean up and use the correct end event for streams
+
+- reference released collectionFS pkg
+
+## [v0.0.8] (https://github.com/CollectionFS/Meteor-cfs-worker/tree/v0.0.8)
+#### 21/03/14 by Morten Henriksen
+## [v0.0.7] (https://github.com/CollectionFS/Meteor-cfs-worker/tree/v0.0.7)
+#### 18/03/14 by Eric Dobbertin
+- Remove from temp store when removed from collection
+
+## [v0.0.6] (https://github.com/CollectionFS/Meteor-cfs-worker/tree/v0.0.6)
+#### 18/03/14 by Morten Henriksen
+- fix refactor name for removeFile
+
+- add back code for running beforeSave function, with stream support (just getting it working for now, can be switched to transform streams later)
+
+- changed method name
+
+- minor changes using chunks in file record
+
+- Add streaming WIP
+
+## [v0.0.5] (https://github.com/CollectionFS/Meteor-cfs-worker/tree/v0.0.5)
+#### 07/03/14 by Eric Dobbertin
+- should be installing devel
+
+- small change because tempstore no longer tracks chunks in the file object
+
+## [v0.0.4] (https://github.com/CollectionFS/Meteor-cfs-worker/tree/v0.0.4)
+#### 03/03/14 by Eric Dobbertin
+- moved beforeSave out of SA and into here
+
+- move saveCopy here, out of fs.collection
+
+- just package and doc tweaks
+
+## [v0.0.3] (https://github.com/CollectionFS/Meteor-cfs-worker/tree/v0.0.3)
+#### 15/02/14 by Morten Henriksen
+## [v0.0.2] (https://github.com/CollectionFS/Meteor-cfs-worker/tree/v0.0.2)
+#### 13/02/14 by Morten Henriksen
+## [v0.0.1] (https://github.com/CollectionFS/Meteor-cfs-worker/tree/v0.0.1)
+#### 13/02/14 by Morten Henriksen
+- init commit
+
diff --git a/packages/worker/LICENSE.md b/packages/worker/LICENSE.md
new file mode 100644
index 00000000000..1a3820821f4
--- /dev/null
+++ b/packages/worker/LICENSE.md
@@ -0,0 +1,20 @@
+The MIT License (MIT)
+
+Copyright (c) 2013 [@raix](https://github.com/raix) and [@aldeed](https://github.com/aldeed), aka Morten N.O. Nørgaard Henriksen, mh@gi-software.com
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/packages/worker/README.md b/packages/worker/README.md
new file mode 100644
index 00000000000..b21022b95e6
--- /dev/null
+++ b/packages/worker/README.md
@@ -0,0 +1,8 @@
+cfs:worker
+=========================
+
+This is a Meteor package used by
+[CollectionFS](https://github.com/CollectionFS/Meteor-CollectionFS).
+
+You don't need to manually add this package to your app. It is added when you
+add the `cfs:standard-packages` package.
\ No newline at end of file
diff --git a/packages/worker/api.md b/packages/worker/api.md
new file mode 100644
index 00000000000..cab1605d50a
--- /dev/null
+++ b/packages/worker/api.md
@@ -0,0 +1,38 @@
+## cfs-worker Public API ##
+
+CollectionFS, file worker - handles file copies/versions
+
+_API documentation automatically generated by [docmeteor](https://github.com/raix/docmeteor)._
+
+TODO: Use power queue to handle throttling etc.
+Use observe to monitor changes and have it create tasks for the power queue
+to perform.
+-
+
+### *fs*.FileWorker Object Server ###
+
+*This property __FileWorker__ is defined in `FS`*
+
+
+> ```FS.FileWorker = { ...``` [fileWorker.js:9](fileWorker.js#L9)
+
+
+-
+
+### *fsFileworker*.observe(fsCollection) Server ###
+
+*This method __observe__ is defined in `FS.FileWorker`*
+
+__Arguments__
+
+* __fsCollection__ *{[FS.Collection](#FS.Collection)}*
+
+__Returns__ *{undefined}*
+
+
+Sets up observes on the fsCollection to store file copies and delete
+temp files at the appropriate times.
+
+> ```FS.FileWorker.observe = function(fsCollection) { ...``` [fileWorker.js:20](fileWorker.js#L20)
+
+
diff --git a/packages/worker/fileWorker.js b/packages/worker/fileWorker.js
new file mode 100644
index 00000000000..baa5eef8ef6
--- /dev/null
+++ b/packages/worker/fileWorker.js
@@ -0,0 +1,186 @@
+//// TODO: Use power queue to handle throttling etc.
+//// Use observe to monitor changes and have it create tasks for the power queue
+//// to perform.
+
+/**
+ * @public
+ * @type Object
+ */
+FS.FileWorker = {};
+
+/**
+ * @method FS.FileWorker.observe
+ * @public
+ * @param {FS.Collection} fsCollection
+ * @returns {undefined}
+ *
+ * Sets up observes on the fsCollection to store file copies and delete
+ * temp files at the appropriate times.
+ */
+FS.FileWorker.observe = function(fsCollection) {
+
+ // Initiate observe for finding newly uploaded/added files that need to be stored
+ // per store.
+ FS.Utility.each(fsCollection.options.stores, function(store) {
+ var storeName = store.name;
+ fsCollection.files.find(getReadyQuery(storeName), {
+ fields: {
+ copies: 0
+ }
+ }).observe({
+ added: function(fsFile) {
+ // added will catch fresh files
+ FS.debug && console.log("FileWorker ADDED - calling saveCopy", storeName, "for", fsFile._id);
+ saveCopy(fsFile, storeName);
+ },
+ changed: function(fsFile) {
+ // changed will catch failures and retry them
+ FS.debug && console.log("FileWorker CHANGED - calling saveCopy", storeName, "for", fsFile._id);
+ saveCopy(fsFile, storeName);
+ }
+ });
+ });
+
+ // Initiate observe for finding files that have been stored so we can delete
+ // any temp files
+ fsCollection.files.find(getDoneQuery(fsCollection.options.stores)).observe({
+ added: function(fsFile) {
+ FS.debug && console.log("FileWorker ADDED - calling deleteChunks for", fsFile._id);
+ try {
+ FS.TempStore.removeFile(fsFile);
+ } catch(err) {
+ console.log(err);
+ }
+ }
+ });
+
+ // Initiate observe for catching files that have been removed and
+ // removing the data from all stores as well
+ fsCollection.files.find().observe({
+ removed: function(fsFile) {
+ FS.debug && console.log('FileWorker REMOVED - removing all stored data for', fsFile._id);
+ //remove from temp store
+ FS.TempStore.removeFile(fsFile);
+ //delete from all stores
+ FS.Utility.each(fsCollection.options.stores, function(storage) {
+ storage.adapter.remove(fsFile);
+ });
+ }
+ });
+};
+
+/**
+ * @method getReadyQuery
+ * @private
+ * @param {string} storeName - The name of the store to observe
+ *
+ * Returns a selector that will be used to identify files that
+ * have been uploaded but have not yet been stored to the
+ * specified store.
+ *
+ * {
+ * uploadedAt: {$exists: true},
+ * 'copies.storeName`: null,
+ * 'failures.copies.storeName.doneTrying': {$ne: true}
+ * }
+ */
+function getReadyQuery(storeName) {
+ var selector = {uploadedAt: {$exists: true}};
+ selector['copies.' + storeName] = null;
+ selector['failures.copies.' + storeName + '.doneTrying'] = {$ne: true};
+ return selector;
+}
+
+/**
+ * @method getDoneQuery
+ * @private
+ * @param {Array} stores - The stores array from the FS.Collection options
+ *
+ * Returns a selector that will be used to identify files where all
+ * stores have successfully save or have failed the
+ * max number of times but still have chunks. The resulting selector
+ * should be something like this:
+ *
+ * {
+ * $and: [
+ * {chunks: {$exists: true}},
+ * {
+ * $or: [
+ * {
+ * $and: [
+ * {
+ * 'copies.storeName': {$ne: null}
+ * },
+ * {
+ * 'copies.storeName': {$ne: false}
+ * }
+ * ]
+ * },
+ * {
+ * 'failures.copies.storeName.doneTrying': true
+ * }
+ * ]
+ * },
+ * REPEATED FOR EACH STORE
+ * ]
+ * }
+ *
+ */
+function getDoneQuery(stores) {
+ var selector = {
+ $and: [{chunks: {$exists: true}}]
+ };
+
+ // Add conditions for all defined stores
+ FS.Utility.each(stores, function(store) {
+ var storeName = store.name;
+ var copyCond = {$or: [{$and: []}]};
+ var tempCond = {};
+ tempCond["copies." + storeName] = {$ne: null};
+ copyCond.$or[0].$and.push(tempCond);
+ tempCond = {};
+ tempCond["copies." + storeName] = {$ne: false};
+ copyCond.$or[0].$and.push(tempCond);
+ tempCond = {};
+ tempCond['failures.copies.' + storeName + '.doneTrying'] = true;
+ copyCond.$or.push(tempCond);
+ selector.$and.push(copyCond);
+ })
+
+ return selector;
+}
+
+/**
+ * @method saveCopy
+ * @private
+ * @param {FS.File} fsFile
+ * @param {string} storeName
+ * @param {Object} options
+ * @param {Boolean} [options.overwrite=false] - Force save to the specified store?
+ * @returns {undefined}
+ *
+ * Saves to the specified store. If the
+ * `overwrite` option is `true`, will save to the store even if we already
+ * have, potentially overwriting any previously saved data. Synchronous.
+ */
+function saveCopy(fsFile, storeName, options) {
+ options = options || {};
+
+ var storage = FS.StorageAdapter(storeName);
+ if (!storage) {
+ throw new Error('No store named "' + storeName + '" exists');
+ }
+
+ FS.debug && console.log('saving to store ' + storeName);
+
+ try {
+
+ var writeStream = storage.adapter.createWriteStream(fsFile);
+ var readStream = FS.TempStore.createReadStream(fsFile);
+
+ // Pipe the temp data into the storage adapter
+ readStream.pipe(writeStream);
+ } catch(err){
+ console.log(err);
+ }
+}
diff --git a/packages/worker/internal.api.md b/packages/worker/internal.api.md
new file mode 100644
index 00000000000..92cce610b69
--- /dev/null
+++ b/packages/worker/internal.api.md
@@ -0,0 +1,143 @@
+## Public and Private API ##
+
+_API documentation automatically generated by [docmeteor](https://github.com/raix/docmeteor)._
+
+***
+
+__File: ["fileWorker.js"](fileWorker.js) Where: {server}__
+
+***
+
+TODO: Use power queue to handle throttling etc.
+Use observe to monitor changes and have it create tasks for the power queue
+to perform.
+
+-
+
+### *fs*.FileWorker Object Server ###
+
+*This property __FileWorker__ is defined in `FS`*
+
+
+> ```FS.FileWorker = { ...``` [fileWorker.js:9](fileWorker.js#L9)
+
+
+-
+
+### *fsFileworker*.observe(fsCollection) Server ###
+
+*This method __observe__ is defined in `FS.FileWorker`*
+
+__Arguments__
+
+* __fsCollection__ *{[FS.Collection](#FS.Collection)}*
+
+__Returns__ *{undefined}*
+
+
+Sets up observes on the fsCollection to store file copies and delete
+temp files at the appropriate times.
+
+> ```FS.FileWorker.observe = function(fsCollection) { ...``` [fileWorker.js:20](fileWorker.js#L20)
+
+
+-
+
+### getReadyQuery(storeName) undefined ###
+
+*This method is private*
+
+__Arguments__
+
+* __storeName__ *{string}*
+
+ The name of the store to observe
+
+
+
+Returns a selector that will be used to identify files that
+have been uploaded but have not yet been stored to the
+specified store.
+
+{
+$where: "this.chunkSum === this.chunkCount",
+'copies.storeName`: null,
+'failures.copies.storeName.doneTrying': {$ne: true}
+}
+
+> ```function getReadyQuery(storeName) { ...``` [fileWorker.js:83](fileWorker.js#L83)
+
+
+-
+
+### getDoneQuery(stores) undefined ###
+
+*This method is private*
+
+__Arguments__
+
+* __stores__ *{Object}*
+
+ The stores object from the FS.Collection options
+
+
+
+Returns a selector that will be used to identify files where all
+stores have successfully save or have failed the
+max number of times but still have chunks. The resulting selector
+should be something like this:
+
+{
+$and: [
+{chunks: {$exists: true}},
+{
+$or: [
+{
+$and: [
+{
+'copies.storeName': {$ne: null}
+},
+{
+'copies.storeName': {$ne: false}
+}
+]
+},
+{
+'failures.copies.storeName.doneTrying': true
+}
+]
+},
+REPEATED FOR EACH STORE
+]
+}
+
+
+> ```function getDoneQuery(stores) { ...``` [fileWorker.js:129](fileWorker.js#L129)
+
+
+-
+
+### saveCopy(fsFile, storeName, options) Server ###
+
+*This method is private*
+
+__Arguments__
+
+* __fsFile__ *{[FS.File](#FS.File)}*
+* __storeName__ *{string}*
+* __options__ *{Object}*
+ * __overwrite__ *{Boolean}* (Optional, Default = false)
+
+ Force save to the specified store?
+
+
+__Returns__ *{undefined}*
+
+
+Saves to the specified store. If the
+`overwrite` option is `true`, will save to the store even if we already
+have, potentially overwriting any previously saved data. Synchronous.
+
+> ```var makeSafeCallback = function (callback) { ...``` [fileWorker.js:168](fileWorker.js#L168)
+
+
diff --git a/packages/worker/package.js b/packages/worker/package.js
new file mode 100644
index 00000000000..435a9bcdffe
--- /dev/null
+++ b/packages/worker/package.js
@@ -0,0 +1,36 @@
+Package.describe({
+ git: 'https://github.com/CollectionFS/Meteor-cfs-worker.git',
+ name: 'cfs:worker',
+ version: '0.1.4',
+ summary: 'CollectionFS, file worker - handles file copies/versions'
+});
+
+Package.onUse(function(api) {
+ api.versionsFrom('1.0');
+
+ api.use([
+ 'cfs:base-package@0.0.30',
+ 'cfs:tempstore@0.1.4',
+ 'cfs:storage-adapter@0.2.1'
+ ]);
+
+ api.use([
+ 'livedata',
+ 'mongo-livedata',
+ 'cfs:power-queue@0.9.11'
+ ]);
+
+ api.addFiles([
+ 'fileWorker.js'
+ ], 'server');
+});
+
+// Package.on_test(function (api) {
+// api.use('cfs:standard-packages@0.0.0');
+
+// api.use('test-helpers', 'server');
+// api.use(['tinytest', 'underscore', 'ejson', 'ordered-dict', 'random']);
+
+// api.addFiles('tests/client-tests.js', 'client');
+// api.addFiles('tests/server-tests.js', 'server');
+// });
diff --git a/packages/worker/tests/client-tests.js b/packages/worker/tests/client-tests.js
new file mode 100644
index 00000000000..49a1008467d
--- /dev/null
+++ b/packages/worker/tests/client-tests.js
@@ -0,0 +1,44 @@
+function equals(a, b) {
+ return !!(EJSON.stringify(a) === EJSON.stringify(b));
+}
+
+Tinytest.add('cfs-worker - client - test environment', function(test) {
+ test.isTrue(typeof FS.Collection !== 'undefined', 'test environment not initialized FS.Collection');
+ test.isTrue(typeof CFSErrorType !== 'undefined', 'test environment not initialized CFSErrorType');
+});
+
+/*
+ * FS.File Client Tests
+ *
+ * construct FS.File with no arguments
+ * construct FS.File passing in File
+ * construct FS.File passing in Blob
+ * load blob into FS.File and then call FS.File.toDataUrl
+ * call FS.File.setDataFromBinary, then FS.File.getBlob(); make sure correct data is returned
+ * load blob into FS.File and then call FS.File.getBinary() with and without start/end; make sure correct data is returned
+ * construct FS.File, set FS.File.collectionName to a CFS name, and then test FS.File.update/remove/get/put/del/url
+ * set FS.File.name to a filename and test that FS.File.getExtension() returns the extension
+ * load blob into FS.File and make sure FS.File.saveLocal initiates a download (possibly can't do automatically)
+ *
+ */
+
+
+//Test API:
+//test.isFalse(v, msg)
+//test.isTrue(v, msg)
+//test.equalactual, expected, message, not
+//test.length(obj, len)
+//test.include(s, v)
+//test.isNaN(v, msg)
+//test.isUndefined(v, msg)
+//test.isNotNull
+//test.isNull
+//test.throws(func)
+//test.instanceOf(obj, klass)
+//test.notEqual(actual, expected, message)
+//test.runId()
+//test.exception(exception)
+//test.expect_fail()
+//test.ok(doc)
+//test.fail(doc)
+//test.equal(a, b, msg)
diff --git a/packages/worker/tests/server-tests.js b/packages/worker/tests/server-tests.js
new file mode 100644
index 00000000000..713ebc07c95
--- /dev/null
+++ b/packages/worker/tests/server-tests.js
@@ -0,0 +1,49 @@
+function equals(a, b) {
+ return !!(EJSON.stringify(a) === EJSON.stringify(b));
+}
+
+Tinytest.add('cfs-worker - server - test environment', function(test) {
+ test.isTrue(typeof FS.Collection !== 'undefined', 'test environment not initialized FS.Collection');
+ test.isTrue(typeof CFSErrorType !== 'undefined', 'test environment not initialized CFSErrorType');
+});
+
+/*
+ * FS.File Server Tests
+ *
+ * construct FS.File with no arguments
+ * load data with FS.File.setDataFromBuffer
+ * load data with FS.File.setDataFromBinary
+ * load data and then call FS.File.toDataUrl with and without callback
+ * load buffer into FS.File and then call FS.File.getBinary with and without start/end; make sure correct data is returned
+ * construct FS.File, set FS.File.collectionName to a CFS name, and then test FS.File.update/remove/get/put/del/url
+ * (call these with and without callback to test sync vs. async)
+ * set FS.File.name to a filename and test that FS.File.getExtension() returns the extension
+ *
+ *
+ * FS.Collection Server Tests
+ *
+ * Make sure options.filter is respected
+ *
+ *
+ */
+
+
+//Test API:
+//test.isFalse(v, msg)
+//test.isTrue(v, msg)
+//test.equalactual, expected, message, not
+//test.length(obj, len)
+//test.include(s, v)
+//test.isNaN(v, msg)
+//test.isUndefined(v, msg)
+//test.isNotNull
+//test.isNull
+//test.throws(func)
+//test.instanceOf(obj, klass)
+//test.notEqual(actual, expected, message)
+//test.runId()
+//test.exception(exception)
+//test.expect_fail()
+//test.ok(doc)
+//test.fail(doc)
+//test.equal(a, b, msg)
diff --git a/private/data/Shops.json b/private/data/Shops.json
index de322b76858..a5e17a30c81 100755
--- a/private/data/Shops.json
+++ b/private/data/Shops.json
@@ -474,6 +474,15 @@
"symbol": "₴",
"decimal": ","
},
+ "VND": {
+ "enabled": false,
+ "format": "%v %s",
+ "symbol": "₫",
+ "decimal": ",",
+ "thousand": ".",
+ "scale": -2,
+ "where": "right"
+ },
"XAF": {
"enabled": false,
"format": "%v %s",
@@ -3675,6 +3684,15 @@
"symbol": "₴",
"decimal": ","
},
+ "VND": {
+ "enabled": false,
+ "format": "%v %s",
+ "symbol": "₫",
+ "decimal": ",",
+ "thousand": ".",
+ "scale": -2,
+ "where": "right"
+ },
"XAF": {
"enabled": false,
"format": "%v %s",
@@ -6381,6 +6399,7 @@
"defaultVisitorRole": [
"anonymous",
"guest",
+ "account/verify",
"product",
"tag",
"index",
@@ -6391,6 +6410,7 @@
"account/profile",
"guest",
"product",
+ "account/verify",
"tag",
"index",
"cart/checkout",
diff --git a/private/data/i18n/ar.json b/private/data/i18n/ar.json
index d716334c09c..bb862b340a0 100644
--- a/private/data/i18n/ar.json
+++ b/private/data/i18n/ar.json
@@ -95,8 +95,6 @@
"noProductsFound": ".لم يتم إيجاد منتجات",
"private": "خاص",
"public": "عامة",
- "allOn": "الكل في",
- "allOff": "كل معطلة",
"shortcut": {
"addProductLabel": "إضافة المنتج",
"accountsLabel": "الحسابات"
@@ -122,24 +120,12 @@
"settingsfailed": "فشل تحديث إعدادات البحث"
},
"shopSettings": {
- "general": "عنوان",
- "address": "عناوين",
- "import": "إستيراد",
"localization": "توطين",
"options": "خيارات",
- "availableOptions": "خيارات متاحة",
"paymentMethods": "طريقة الدفع",
"externalServices": "خدمات خارجية",
- "shopGeneralSettingsSaved": ".تم حفظ الإعدادات العامة للمتجر",
- "shopGeneralSettingsFailed": ". فشل تحديث الإعدادات العامة للمتجر",
- "shopAddressSettingsSaved": "تم حفظ عناوين إعدادات المتجر",
- "shopAddressSettingsFailed": ".فشل تحديث إعدادات عناوين التسوق",
- "shopExternalServicesSettingsSaved": ".متجر إعدادات الخدمات الخارجية محفوظة",
- "shopExternalServicesSettingsFailed": " فشل تحديث شراء الخدمات الخارجية.",
"shopLocalizationSettingsSaved": ".تم حفظ إعدادات توطين المتجر",
"shopLocalizationSettingsFailed": ".فشل تحديث إعدادات توطين المتجر ",
- "shopOptionsSettingsSaved": ".خيارات الشراء محفوظة",
- "shopOptionsSettingsFailed": "فشل تحديث خيارات الشراء",
"shopPaymentMethodsSaved": ".تم حفظ إعدادات طريقة الدفع",
"shopPaymentMethodsFailed": ".تحديث إعدادات طريقة الدفع للشراء فشلت"
},
@@ -155,7 +141,7 @@
"newOrder": "طلبك قيد التنفيذ.",
"forAdmin": "لديك النظام الجديد.",
"orderDelivered": "وقد تم تسليم طلبك.",
- "orderAccepted": "تم قبول طلبك.",
+ "orderProcessing": "تتم معالجة طلبك.",
"orderShipped": "وقد تم شحن طلبك."
}
},
@@ -312,7 +298,12 @@
"cartDrawer": {
"empty": "نشعر بالحزن. .عربتك فارغة",
"keepShopping": "الأستمرار بالتسوق",
- "checkout": "الدفع الان"
+ "checkout": "الدفع الان",
+ "new": "جديد",
+ "coreOrderWorkflow/created": "تم الانشاء",
+ "coreOrderWorkflow/processing": "جاري المعالجة",
+ "coreOrderWorkflow/completed": "مكتمل",
+ "coreOrderWorkflow/canceled": "تم الإلغاء"
},
"cartSubTotals": {
"discount": "خصم",
@@ -394,9 +385,7 @@
"resendNotification": "إعادة إرسال إشعارات الشحنة"
},
"orderWorkflow": {
- "fulfillment": "تلبية الطلب",
"orderDetails": "تفاصيل الطلب",
- "summary": "ملخص",
"invoice": "فاتورة",
"shipmentTracking": "تتبع الشحنة"
},
@@ -443,6 +432,7 @@
},
"addressBookEdit": {
"editAddress": "تعديل هذا العنوان ",
+ "addressValidation": "عنوان التحقق من صحة",
"somethingWentWrong": "حدث خطأ ما: {{err}}"
},
"corePackageConfig": {
@@ -473,12 +463,6 @@
"keywords": "الكلمات الدالة",
"keywordsPlaceholder": "الكلمات المفتاحية للظهور في محركات البحث",
"language": "اللغة الأساسية",
- "languageTooltip": "سوف يتم استخدام هذه اللغة إذا فشل التعرف على لغة جهازك",
- "timezone": "التوقيت",
- "timezoneOptions": "أختيار التوقيت",
- "currency": "العملة الأساسية",
- "currencyTooltip": "عملة المتجر الإفتراضية",
- "baseUOM": "قاعدة وحدة القياس",
"addressBook": {
"company": "شركة",
"companyPlaceholder": "اسم العمل",
@@ -715,6 +699,12 @@
"unknownError": "خطأ غير معروف"
}
},
+ "loginServices": {
+ "appId": "معرف التطبيق",
+ "secret": "سر",
+ "clientId": "معرف العميل",
+ "consumerKey": "مفتاح API"
+ },
"error": {
"nameRequired": "الأسم مطلوب",
"isRequired": "{{field}} مطلوب.",
diff --git a/private/data/i18n/bg.json b/private/data/i18n/bg.json
index 476801e7b34..2b0af042f01 100644
--- a/private/data/i18n/bg.json
+++ b/private/data/i18n/bg.json
@@ -95,8 +95,6 @@
"noProductsFound": "Няма намерени продукти.",
"private": "частен",
"public": "обществен",
- "allOn": "All On",
- "allOff": "Всички Off",
"shortcut": {
"addProductLabel": "Добави продукта",
"accountsLabel": "Профили"
@@ -122,24 +120,12 @@
"settingsfailed": "актуализация Настройки за търсенето провали"
},
"shopSettings": {
- "general": "Общ",
- "address": "адрес",
- "import": "внос",
"localization": "Локализация",
"options": "Настроики",
- "availableOptions": "Налични варианти",
"paymentMethods": "Методи на плащане",
"externalServices": "външни услуги",
- "shopGeneralSettingsSaved": "Магазин общи настройки, запаметени.",
- "shopGeneralSettingsFailed": "Магазин актуализация на общите настройки провали.",
- "shopAddressSettingsSaved": "настройки Shop адрес спасени.",
- "shopAddressSettingsFailed": "Магазин актуализация адрес настройки провали.",
- "shopExternalServicesSettingsSaved": "Магазин настройки външни услуги, запаметени.",
- "shopExternalServicesSettingsFailed": "Магазин актуализация на настройките външни услуги се провали.",
"shopLocalizationSettingsSaved": "настройки Shop локализация спасени.",
"shopLocalizationSettingsFailed": "Магазин актуализация на настройките за локализация провали.",
- "shopOptionsSettingsSaved": "запаметени опции магазин.",
- "shopOptionsSettingsFailed": "опции магазин актуализация неуспешно.",
"shopPaymentMethodsSaved": "Магазин Методи на плащане настройки, запаметени.",
"shopPaymentMethodsFailed": "Магазин актуализация Методи на плащане настройки провали."
},
@@ -155,7 +141,7 @@
"newOrder": "Вашата поръчка се обработва.",
"forAdmin": "Имате нов ред.",
"orderDelivered": "Вашата цел е бил доставен.",
- "orderAccepted": "Вашата цел е била приета.",
+ "orderProcessing": "Вашата поръчка се обработва.",
"orderShipped": "Вашата поръчка е изпратена."
}
},
@@ -312,7 +298,12 @@
"cartDrawer": {
"empty": "За съжаление кошницата Ви е празна.",
"keepShopping": "Продължете с пазаруването.",
- "checkout": "Към кошницата"
+ "checkout": "Към кошницата",
+ "new": "Нов",
+ "coreOrderWorkflow/created": "Създадено",
+ "coreOrderWorkflow/processing": "обработване",
+ "coreOrderWorkflow/completed": "завършен",
+ "coreOrderWorkflow/canceled": "отменен"
},
"cartSubTotals": {
"discount": "отстъпка",
@@ -394,9 +385,7 @@
"resendNotification": "Изпрати съобщението за поръчката отново"
},
"orderWorkflow": {
- "fulfillment": "изпълняване",
"orderDetails": "подробности за поръчката",
- "summary": "обобщение",
"invoice": "фактура",
"shipmentTracking": "пратка проследяване"
},
@@ -443,6 +432,7 @@
},
"addressBookEdit": {
"editAddress": "Редактирайте адреса",
+ "addressValidation": "Адрес за потвърждаване",
"somethingWentWrong": "Нещо се обърка: {{err}}"
},
"corePackageConfig": {
@@ -473,12 +463,6 @@
"keywords": "Ключови думи",
"keywordsPlaceholder": "Мета ключови думи за SEO",
"language": "Base Език",
- "languageTooltip": "Този език ще се използва, ако откриване на езика на устройството ще се провали",
- "timezone": "Часова зона",
- "timezoneOptions": "Изберете часова зона",
- "currency": "Базова валута",
- "currencyTooltip": "Магазин валута по подразбиране",
- "baseUOM": "Base Мерна единица",
"addressBook": {
"company": "Компания",
"companyPlaceholder": "Това име на фирма",
@@ -715,6 +699,12 @@
"unknownError": "Неизвестна грешка"
}
},
+ "loginServices": {
+ "appId": "ID на приложението",
+ "secret": "Тайна",
+ "clientId": "Клиентски идентификационен номер",
+ "consumerKey": "API Key"
+ },
"error": {
"nameRequired": "се изисква име.",
"isRequired": "се изисква {{field}}.",
diff --git a/private/data/i18n/cs.json b/private/data/i18n/cs.json
index 0d63e98ca85..8561cff1d67 100644
--- a/private/data/i18n/cs.json
+++ b/private/data/i18n/cs.json
@@ -95,8 +95,6 @@
"noProductsFound": "Nebyly nalezeny žádné produkty.",
"private": "soukromý",
"public": "Veřejnost",
- "allOn": "Vše On",
- "allOff": "All Off",
"shortcut": {
"addProductLabel": "Přidat produkt",
"accountsLabel": "účty"
@@ -122,24 +120,12 @@
"settingsfailed": "Aktualizace nastavení vyhledávání se nezdařilo"
},
"shopSettings": {
- "general": "Obecný",
- "address": "Adresa",
- "import": "Import",
"localization": "lokalizace",
"options": "Možnosti",
- "availableOptions": "dostupné možnosti",
"paymentMethods": "platební metody",
"externalServices": "Externí služby",
- "shopGeneralSettingsSaved": "Obchod obecné uložené nastavení.",
- "shopGeneralSettingsFailed": "Obchod aktualizace obecná nastavení se nezdařila.",
- "shopAddressSettingsSaved": "Nastavení Shop adresa uložena.",
- "shopAddressSettingsFailed": "Obchod aktualizace nastavení adresy se nezdařilo.",
- "shopExternalServicesSettingsSaved": "Shopu nastavení externích služeb uložených.",
- "shopExternalServicesSettingsFailed": "Obchod aktualizaci nastavení externí služby se nezdařilo.",
"shopLocalizationSettingsSaved": "Nastavení Shop lokalizační uložena.",
"shopLocalizationSettingsFailed": "Obchod aktualizace nastavení lokalizace nezdařila.",
- "shopOptionsSettingsSaved": "Možnosti Shop uložen.",
- "shopOptionsSettingsFailed": "Aktualizace možnosti Shop nezdařila.",
"shopPaymentMethodsSaved": "Shop nastavení Platební metody uložena.",
"shopPaymentMethodsFailed": "Obchod aktualizace nastavení Platební metody selhaly."
},
@@ -155,7 +141,7 @@
"newOrder": "Vaše objednávka se zpracovává.",
"forAdmin": "Máte novou objednávku.",
"orderDelivered": "Vaše objednávka byla doručena.",
- "orderAccepted": "Vaše objednávka byla přijata.",
+ "orderProcessing": "Vaše objednávka se zpracovává.",
"orderShipped": "Vaše objednávka byla odeslána."
}
},
@@ -312,7 +298,12 @@
"cartDrawer": {
"empty": "Jsme smutní. Tvůj vozík je prázdný.",
"keepShopping": "Mějte na nákupy",
- "checkout": "Zkontrolovat teď"
+ "checkout": "Zkontrolovat teď",
+ "new": "Nový",
+ "coreOrderWorkflow/created": "Vytvořeno",
+ "coreOrderWorkflow/processing": "zpracování",
+ "coreOrderWorkflow/completed": "Dokončeno",
+ "coreOrderWorkflow/canceled": "Zrušeno"
},
"cartSubTotals": {
"discount": "Sleva",
@@ -394,9 +385,7 @@
"resendNotification": "Znovu poslat zásilky Oznámení"
},
"orderWorkflow": {
- "fulfillment": "Splnění",
"orderDetails": "Podrobnosti o objednávce",
- "summary": "Souhrn",
"invoice": "Faktura",
"shipmentTracking": "Sledování zásilky"
},
@@ -443,6 +432,7 @@
},
"addressBookEdit": {
"editAddress": "Úpravou tohoto zadání adresy",
+ "addressValidation": "Ověření adresy",
"somethingWentWrong": "Něco se pokazilo: {{err}}"
},
"corePackageConfig": {
@@ -473,12 +463,6 @@
"keywords": "Klíčová slova",
"keywordsPlaceholder": "Meta klíčová slova pro SEO",
"language": "základna Language",
- "languageTooltip": "Tento jazyk bude použit v případě detekce jazyka zařízení bude selhalo",
- "timezone": "Časové pásmo",
- "timezoneOptions": "vyberte si časové pásmo",
- "currency": "Základní měna",
- "currencyTooltip": "Obchod Výchozí měna",
- "baseUOM": "Základna Měrná jednotka",
"addressBook": {
"company": "Firma",
"companyPlaceholder": "Tento obchodní jméno",
@@ -715,6 +699,12 @@
"unknownError": "Neznámá chyba"
}
},
+ "loginServices": {
+ "appId": "ID aplikace",
+ "secret": "Tajný",
+ "clientId": "ID klienta",
+ "consumerKey": "klíč API"
+ },
"error": {
"nameRequired": "je nutné názvu.",
"isRequired": "je nutné {{field}}.",
diff --git a/private/data/i18n/de.json b/private/data/i18n/de.json
index 742708dbf04..7869a242341 100644
--- a/private/data/i18n/de.json
+++ b/private/data/i18n/de.json
@@ -95,8 +95,6 @@
"noProductsFound": "Es wurden keine Produkte gefunden",
"private": "Privat",
"public": "Öffentliche",
- "allOn": "all On",
- "allOff": "all Off",
"shortcut": {
"addProductLabel": "Produkt hinzufügen",
"accountsLabel": "Buchhaltung"
@@ -122,24 +120,12 @@
"settingsfailed": "Die Aktualisierung der Sucheinstellungen ist fehlgeschlagen"
},
"shopSettings": {
- "general": "Allgemein",
- "address": "Adresse",
- "import": "Importieren",
"localization": "Lokalisierung",
"options": "Optionen",
- "availableOptions": "Verfügbare Optionen",
"paymentMethods": "Zahlungsarten",
"externalServices": "Externe Dienste",
- "shopGeneralSettingsSaved": "Die allgemeinen Einstellungen des Geschäfts wurden gespeichert.",
- "shopGeneralSettingsFailed": "Die Aktualisierung der allgemeinen Geschäfts-Einstellungen ist fehlgeschlagen. ",
- "shopAddressSettingsSaved": "Die Adresseinstellungen des Geschäfts wurden gespeichert. ",
- "shopAddressSettingsFailed": "Die Aktualisierung der Geschäfts-Adresse ist fehlgeschlagen.",
- "shopExternalServicesSettingsSaved": "Die Einstellungen der externen Dienste des Geschäfts wurden gespeichert.",
- "shopExternalServicesSettingsFailed": "Die Aktualisierung der externen Dienst-Einstellungen des Geschäfts ist fehlgeschlagen. ",
"shopLocalizationSettingsSaved": "Die Lokalisierungs-Einstellungen des Geschäfts wurden gespeichert.",
"shopLocalizationSettingsFailed": "Die Aktualisierung der Lokalisierungseinstellungen des Geschäfts ist fehlgeschlagen.",
- "shopOptionsSettingsSaved": "Die Geschäfts-Optionen wurden gespeichert.",
- "shopOptionsSettingsFailed": "Die Aktualisierung der Shop-Optionen ist fehlgeschlagen.",
"shopPaymentMethodsSaved": "Die Zahlungsarten-Einstellungen des Geschäfts wurden gespeichert.",
"shopPaymentMethodsFailed": "Die Aktualisierung der Zahlungsarten-Einstellung des Geschäfts ist fehlgeschlagen."
},
@@ -155,7 +141,7 @@
"newOrder": "Ihre Bestellung wird verarbeitet.",
"forAdmin": "Sie haben einen neuen Auftrag.",
"orderDelivered": "Ihre Bestellung wurde geliefert.",
- "orderAccepted": "Ihre Bestellung wurde angenommen.",
+ "orderProcessing": "Ihre Bestellung wird bearbeitet.",
"orderShipped": "Ihre Bestellung wurde versandt."
}
},
@@ -312,7 +298,12 @@
"cartDrawer": {
"empty": "Ihr Warenkorb ist leer.",
"keepShopping": "Zurück zum Shop",
- "checkout": "Zur Kasse"
+ "checkout": "Zur Kasse",
+ "new": "Neu",
+ "coreOrderWorkflow/created": "Erstellt",
+ "coreOrderWorkflow/processing": "Bearbeiten",
+ "coreOrderWorkflow/completed": "Beendet",
+ "coreOrderWorkflow/canceled": "Abgebrochen"
},
"cartSubTotals": {
"discount": "Rabatt",
@@ -394,10 +385,9 @@
"resendNotification": "Versand-Benachrichtigung erneut senden"
},
"orderWorkflow": {
- "fulfillment": "Abwicklung",
"orderDetails": "Bestellungs-Details",
- "summary": "Zusammenfassung",
"invoice": "Rechnung",
+ "lineItems": "Einzelposten",
"shipmentTracking": "Versand-Tracking"
},
"cartCheckout": {
@@ -443,7 +433,11 @@
},
"addressBookEdit": {
"editAddress": "Adresse editieren",
- "somethingWentWrong": "Ein Fehler ist aufgetreten: {{err}}"
+ "addressValidation": "Adressvalidierung",
+ "reviewAddress": "Für die beste Einhaltung, bitte bestätigen Sie Ihre Adresse",
+ "somethingWentWrong": "Ein Fehler ist aufgetreten: {{err}}",
+ "enteredAddress": "Eingegebene Adresse",
+ "validatedAddress": "Adresse bestätigen"
},
"corePackageConfig": {
"settings": {
@@ -473,12 +467,6 @@
"keywords": "Schlüsselwörter",
"keywordsPlaceholder": "Meta-Schlüsselwörter für die SEO",
"language": "Grund-Sprache",
- "languageTooltip": "Diese Sprache wird verwendet, wenn die automatische Spracherkennung des Geräts fehlschlägt",
- "timezone": "Zeitzone",
- "timezoneOptions": "Zeitzone wählen",
- "currency": "Grund-Währung",
- "currencyTooltip": "Standard-Währung des Geschäfts",
- "baseUOM": "Grund-Maßeinheit",
"addressBook": {
"company": "Firma",
"companyPlaceholder": "Dieser Firmenname",
@@ -715,6 +703,12 @@
"unknownError": "Unbekannter Fehler"
}
},
+ "loginServices": {
+ "appId": "App-ID",
+ "secret": "Geheimnis",
+ "clientId": "Client-ID",
+ "consumerKey": "API-Schlüssel"
+ },
"error": {
"nameRequired": "Der Name ist erforderlich.",
"isRequired": "{{field}} ist erforderlicht.",
diff --git a/private/data/i18n/el.json b/private/data/i18n/el.json
index 55d27e6f025..aaccd856159 100644
--- a/private/data/i18n/el.json
+++ b/private/data/i18n/el.json
@@ -95,8 +95,6 @@
"noProductsFound": "Δεν βρέθηκαν προϊόντα.",
"private": "Ιδιωτικός",
"public": "Δημόσιο",
- "allOn": "όλα On",
- "allOff": "όλα Off",
"shortcut": {
"addProductLabel": "Προσθέστε το προϊόν",
"accountsLabel": "λογαριασμοί"
@@ -122,24 +120,12 @@
"settingsfailed": "ενημέρωση ρυθμίσεις αναζήτησης απέτυχε"
},
"shopSettings": {
- "general": "Γενικός",
- "address": "Διεύθυνση",
- "import": "Εισαγωγή",
"localization": "Εντοπισμός",
"options": "επιλογές",
- "availableOptions": "διαθέσιμες Επιλογές",
"paymentMethods": "Τρόποι Πληρωμής",
"externalServices": "εξωτερικές Υπηρεσίες",
- "shopGeneralSettingsSaved": "Κατάστημα γενικές ρυθμίσεις αποθηκεύονται.",
- "shopGeneralSettingsFailed": "Κατάστημα ενημέρωση γενικές ρυθμίσεις απέτυχε.",
- "shopAddressSettingsSaved": "ρυθμίσεις της διεύθυνσης Shop σωθεί.",
- "shopAddressSettingsFailed": "Κατάστημα ενημέρωση ρυθμίσεις της διεύθυνσης απέτυχε.",
- "shopExternalServicesSettingsSaved": "Κατάστημα εξωτερικές ρυθμίσεις υπηρεσίες σωθεί.",
- "shopExternalServicesSettingsFailed": "Κατάστημα ενημέρωση ρυθμίσεις εξωτερικές υπηρεσίες απέτυχε.",
"shopLocalizationSettingsSaved": "Ρυθμίσεις κατάστημα εντοπισμού σωθεί.",
"shopLocalizationSettingsFailed": "Κατάστημα ενημέρωση ρυθμίσεις εντοπισμού απέτυχε.",
- "shopOptionsSettingsSaved": "επιλογές Shop σωθεί.",
- "shopOptionsSettingsFailed": "ενημέρωση επιλογές Shop απέτυχε.",
"shopPaymentMethodsSaved": "Κατάστημα ρυθμίσεις Τρόποι Πληρωμής σωθεί.",
"shopPaymentMethodsFailed": "Κατάστημα ενημέρωση ρυθμίσεις Τρόποι Πληρωμής απέτυχε."
},
@@ -155,7 +141,7 @@
"newOrder": "Η παραγγελία σας βρίσκεται υπό επεξεργασία.",
"forAdmin": "Έχετε μια νέα τάξη πραγμάτων.",
"orderDelivered": "Η παραγγελία σας έχει παραδοθεί.",
- "orderAccepted": "Η παραγγελία σας έχει γίνει αποδεκτή.",
+ "orderProcessing": "Η παραγγελία σας βρίσκεται υπό επεξεργασία.",
"orderShipped": "Η παραγγελία σας έχει αποσταλεί."
}
},
@@ -312,7 +298,12 @@
"cartDrawer": {
"empty": "Λυπούμαστε. Το καλάθι σου είναι άδειο.",
"keepShopping": "Συνεχίσε να ψωνίζεις",
- "checkout": "Πήγαινε στο ταμείο"
+ "checkout": "Πήγαινε στο ταμείο",
+ "new": "Νέος",
+ "coreOrderWorkflow/created": "δημιουργήθηκε",
+ "coreOrderWorkflow/processing": "Επεξεργασία",
+ "coreOrderWorkflow/completed": "Ολοκληρώθηκε το",
+ "coreOrderWorkflow/canceled": "Ακυρώθηκε"
},
"cartSubTotals": {
"discount": "Εκπτωση",
@@ -394,9 +385,7 @@
"resendNotification": "Επανάληψη αποστολής ειδοποιήσεων αποστολή"
},
"orderWorkflow": {
- "fulfillment": "Εκπλήρωση",
"orderDetails": "Λεπτομέρειες Παραγγελίας",
- "summary": "Περίληψη",
"invoice": "Τιμολόγιο",
"shipmentTracking": "Παρακολούθηση αποστολής"
},
@@ -443,6 +432,7 @@
},
"addressBookEdit": {
"editAddress": "Επεξεργασία διεύθυνσης",
+ "addressValidation": "διεύθυνση Επικύρωση",
"somethingWentWrong": "Κάτι πήγε στραβά: {{err}}"
},
"corePackageConfig": {
@@ -473,12 +463,6 @@
"keywords": "Λέξεις-κλειδιά",
"keywordsPlaceholder": "Meta λέξεις-κλειδιά για SEO",
"language": "βάση Γλώσσα",
- "languageTooltip": "Αυτή η γλώσσα θα χρησιμοποιηθεί αν η ανίχνευση γλώσσα της συσκευής θα αποτύχει να",
- "timezone": "Ζώνη ώρας",
- "timezoneOptions": "Επιλέξτε ζώνη ώρας",
- "currency": "Νόμισμα βάσης",
- "currencyTooltip": "Κατάστημα προεπιλεγμένο νόμισμα",
- "baseUOM": "Βάση Μονάδα Μέτρησης",
"addressBook": {
"company": "Εταιρεία",
"companyPlaceholder": "Αυτή η εταιρική επωνυμία",
@@ -715,6 +699,12 @@
"unknownError": "Αγνωστο σφάλμα"
}
},
+ "loginServices": {
+ "appId": "Αναγνωριστικό εφαρμογής",
+ "secret": "Μυστικό",
+ "clientId": "Αναγνωριστικό πελάτη",
+ "consumerKey": "Κλειδί API"
+ },
"error": {
"nameRequired": "Όνομα απαιτείται.",
"isRequired": "{{field}} απαιτείται.",
diff --git a/private/data/i18n/en.json b/private/data/i18n/en.json
index b9956e37635..76eb7289af3 100644
--- a/private/data/i18n/en.json
+++ b/private/data/i18n/en.json
@@ -95,8 +95,6 @@
"noProductsFound": "No products found.",
"private": "Private",
"public": "Public",
- "allOn": "All On",
- "allOff": "All Off",
"shortcut": {
"addProductLabel": "Add Product",
"accountsLabel": "Accounts"
@@ -122,24 +120,12 @@
"settingsfailed": "Search settings update failed"
},
"shopSettings": {
- "general": "General",
- "address": "Address",
- "import": "Import",
"localization": "Localization",
"options": "Options",
- "availableOptions": "Available Options",
"paymentMethods": "Payment Methods",
"externalServices": "External Services",
- "shopGeneralSettingsSaved": "Shop general settings saved.",
- "shopGeneralSettingsFailed": "Shop general settings update failed.",
- "shopAddressSettingsSaved": "Shop address settings saved.",
- "shopAddressSettingsFailed": "Shop address settings update failed.",
- "shopExternalServicesSettingsSaved": "Shop external services settings saved.",
- "shopExternalServicesSettingsFailed": "Shop external services settings update failed.",
"shopLocalizationSettingsSaved": "Shop localization settings saved.",
"shopLocalizationSettingsFailed": "Shop localization settings update failed.",
- "shopOptionsSettingsSaved": "Shop options saved.",
- "shopOptionsSettingsFailed": "Shop options update failed.",
"shopPaymentMethodsSaved": "Shop Payment Methods settings saved.",
"shopPaymentMethodsFailed": "Shop Payment Methods settings update failed."
},
@@ -152,10 +138,10 @@
},
"messages": {
"orderCancelled": "Your order was canceled.",
- "newOrder": "Your order is being processed.",
+ "newOrder": "Your order was accepted.",
"forAdmin": "You have a new order.",
"orderDelivered": "Your order has been delivered.",
- "orderAccepted": "Your order has been accepted.",
+ "orderProcessing": "Your order is being processed.",
"orderShipped": "Your order has been shipped."
}
},
@@ -312,7 +298,12 @@
"cartDrawer": {
"empty": "We're sad. Your cart is empty.",
"keepShopping": "Keep on shopping",
- "checkout": "Checkout now"
+ "checkout": "Checkout now",
+ "new": "New",
+ "coreOrderWorkflow/created": "Created",
+ "coreOrderWorkflow/processing": "Processing",
+ "coreOrderWorkflow/completed": "Completed",
+ "coreOrderWorkflow/canceled": "Canceled"
},
"cartSubTotals": {
"discount": "Discount",
@@ -394,10 +385,9 @@
"resendNotification": "Resend Shipment Notification"
},
"orderWorkflow": {
- "fulfillment": "Fulfillment",
"orderDetails": "Order Details",
- "summary": "Summary",
"invoice": "Invoice",
+ "lineItems": "Line Items",
"shipmentTracking": "Shipment"
},
"cartCheckout": {
@@ -443,7 +433,11 @@
},
"addressBookEdit": {
"editAddress": "Editing this address entry",
- "somethingWentWrong": "Something went wrong: {{err}}"
+ "addressValidation": "Address Validation",
+ "reviewAddress": "For best compliance, please validate your address",
+ "somethingWentWrong": "Something went wrong: {{err}}",
+ "enteredAddress": "Entered Address",
+ "validatedAddress": "Validate Address"
},
"corePackageConfig": {
"settings": {
@@ -473,12 +467,6 @@
"keywords": "Keywords",
"keywordsPlaceholder": "Meta keywords for SEO",
"language": "Base Language",
- "languageTooltip": "This language will be used if device language detection will be failed",
- "timezone": "Timezone",
- "timezoneOptions": "Choose timezone",
- "currency": "Base Currency",
- "currencyTooltip": "Shop default currency",
- "baseUOM": "Base Unit of Measure",
"addressBook": {
"company": "Company",
"companyPlaceholder": "This business name",
@@ -715,6 +703,12 @@
"unknownError": "Unknown error"
}
},
+ "loginServices": {
+ "appId": "App ID",
+ "secret": "Secret",
+ "clientId": "Client ID",
+ "consumerKey": "API Key"
+ },
"error": {
"nameRequired": "Name is required.",
"isRequired": "{{field}} is required.",
diff --git a/private/data/i18n/es.json b/private/data/i18n/es.json
index d3f2cd1cd4b..658cffbf7c0 100644
--- a/private/data/i18n/es.json
+++ b/private/data/i18n/es.json
@@ -95,8 +95,6 @@
"noProductsFound": "No se han encontrado productos.",
"private": "Privado",
"public": "Público",
- "allOn": "todos de la",
- "allOff": "Todo apagado",
"shortcut": {
"addProductLabel": "Agregar producto",
"accountsLabel": "Cuentas"
@@ -122,24 +120,12 @@
"settingsfailed": "Actualización de opciones de búsqueda fallida"
},
"shopSettings": {
- "general": "General",
- "address": "Dirección",
- "import": "Importar",
"localization": "Ubicación",
"options": "Opciones",
- "availableOptions": "Opciones disponibles",
"paymentMethods": "Métodos de pago",
"externalServices": "Servicios externos",
- "shopGeneralSettingsSaved": "Opciones de generales de tienda guardadas.",
- "shopGeneralSettingsFailed": "Actualización de las opciones generales de la tienda fallida.",
- "shopAddressSettingsSaved": "Configuración de dirección de la tienda guardada.",
- "shopAddressSettingsFailed": "Actualización de opciones de dirección de tienda fallida.",
- "shopExternalServicesSettingsSaved": "Opciones de servicios externos de la tienda guardados.",
- "shopExternalServicesSettingsFailed": "Actualización de opciones de servicios externos de la tienda fallida.",
"shopLocalizationSettingsSaved": "Opciones de ubicación de tienda guardadas.",
"shopLocalizationSettingsFailed": "Actualización de las opciones de localización de la tienda fallida. ",
- "shopOptionsSettingsSaved": "Opciones de la tienda guardadas.",
- "shopOptionsSettingsFailed": "Actualización de opciones de tienda fallida.",
"shopPaymentMethodsSaved": "Opciones de métodos de pago guardadas.",
"shopPaymentMethodsFailed": "Actualización de las opciones de métodos de pago fallida."
},
@@ -155,7 +141,7 @@
"newOrder": "Su pedido se está procesando.",
"forAdmin": "Tienes un nuevo orden.",
"orderDelivered": "Su pedido ha sido entregado.",
- "orderAccepted": "Su pedido ha sido aceptado.",
+ "orderProcessing": "Tu pedido está siendo procesado.",
"orderShipped": "Su pedido ha sido enviado."
}
},
@@ -312,7 +298,12 @@
"cartDrawer": {
"empty": "Estamos tristes. Tu carrito está vacío.",
"keepShopping": "Seguir con la compra",
- "checkout": "Pagar ahora"
+ "checkout": "Pagar ahora",
+ "new": "Nuevo",
+ "coreOrderWorkflow/created": "Creado",
+ "coreOrderWorkflow/processing": "Procesando",
+ "coreOrderWorkflow/completed": "Completado",
+ "coreOrderWorkflow/canceled": "Cancelado"
},
"cartSubTotals": {
"discount": "Descuento",
@@ -394,9 +385,7 @@
"resendNotification": "Reenviar aviso de envío"
},
"orderWorkflow": {
- "fulfillment": "Satisfacción",
"orderDetails": "Información de envío",
- "summary": "Resumen",
"invoice": "Factura",
"shipmentTracking": "Seguimiento de envío"
},
@@ -443,6 +432,7 @@
},
"addressBookEdit": {
"editAddress": "Editar esta dirección",
+ "addressValidation": "La validación de direcciones",
"somethingWentWrong": "Algo ha salido mal: {{err}}"
},
"corePackageConfig": {
@@ -473,12 +463,6 @@
"keywords": "Palabras clave",
"keywordsPlaceholder": "Etiquetas meta para posicionamiento SEO",
"language": "Idioma base",
- "languageTooltip": "Se utilizará este idioma si el sistema de detección de idiomas del dispositivo falla",
- "timezone": "Zonha horaria",
- "timezoneOptions": "Elegir zona horaria",
- "currency": "Divisa base",
- "currencyTooltip": "Divisa predeterminada",
- "baseUOM": "Unidad de medida base",
"addressBook": {
"company": "Empresa",
"companyPlaceholder": "Nombre de este negocio",
@@ -715,6 +699,12 @@
"unknownError": "Error desconocido"
}
},
+ "loginServices": {
+ "appId": "ID de la aplicación",
+ "secret": "Secreto",
+ "clientId": "Identificación del cliente",
+ "consumerKey": "Clave API"
+ },
"error": {
"nameRequired": "Se necesita un nombre.",
"isRequired": "{{field}} es un campo obligatorio.",
diff --git a/private/data/i18n/fr.json b/private/data/i18n/fr.json
index df9134967c6..856d9ec6381 100644
--- a/private/data/i18n/fr.json
+++ b/private/data/i18n/fr.json
@@ -95,8 +95,6 @@
"noProductsFound": "Aucun produit trouvé.",
"private": "Privé",
"public": "Publique",
- "allOn": "Tous Sur",
- "allOff": "All Off",
"shortcut": {
"addProductLabel": "Ajouter le produit",
"accountsLabel": "Comptes"
@@ -122,24 +120,12 @@
"settingsfailed": "Echec de la mise à jour des paramètres de recherche"
},
"shopSettings": {
- "general": "Général",
- "address": "Adresse",
- "import": "Importer",
"localization": "Localisation",
"options": "Options",
- "availableOptions": "Options disponibles",
"paymentMethods": "Méthodes de paiement",
"externalServices": "Services externes",
- "shopGeneralSettingsSaved": "Paramètres généraux du magasin enregistrés.",
- "shopGeneralSettingsFailed": "Echec de la mise à jour des paramètres généraux du magasin.",
- "shopAddressSettingsSaved": "Les paramètres de l'adresse du magasin sont enregistrés.",
- "shopAddressSettingsFailed": "Echec de la mise à jour des paramètres de l'adresse du magasin.",
- "shopExternalServicesSettingsSaved": "Paramètres des services externes du magasin enregistrés.",
- "shopExternalServicesSettingsFailed": "Echec de la mise à jour des paramètres des services externes du magasin.",
"shopLocalizationSettingsSaved": "Paramètres de localisation du magasin enregistrés.",
"shopLocalizationSettingsFailed": "Echec de la mise à jour des paramètres de localisation du magasin.",
- "shopOptionsSettingsSaved": "Options du magasin enregistrées.",
- "shopOptionsSettingsFailed": "Echec de la mise à jour des options du magasin.",
"shopPaymentMethodsSaved": "Modalités de paiement enregistrées.",
"shopPaymentMethodsFailed": "Echec de la mise à jour des paramètres de mode de paiement du magasin."
},
@@ -155,7 +141,7 @@
"newOrder": "Votre commande est en cours de traitement.",
"forAdmin": "Vous avez un nouvel ordre.",
"orderDelivered": "Votre commande a été livrée.",
- "orderAccepted": "Votre commande a été acceptée.",
+ "orderProcessing": "Votre commande est en traitement.",
"orderShipped": "Votre commande a été expédiée."
}
},
@@ -312,7 +298,12 @@
"cartDrawer": {
"empty": "Nous sommes désolés. Votre panier est vide.",
"keepShopping": "Poursuivre les achats",
- "checkout": "Payer maintenant"
+ "checkout": "Payer maintenant",
+ "new": "Nouveau",
+ "coreOrderWorkflow/created": "Créé",
+ "coreOrderWorkflow/processing": "Traitement",
+ "coreOrderWorkflow/completed": "Complété",
+ "coreOrderWorkflow/canceled": "Annulé"
},
"cartSubTotals": {
"discount": "Réduction",
@@ -394,9 +385,7 @@
"resendNotification": "Envoyer de nouveau la notification d'expédition"
},
"orderWorkflow": {
- "fulfillment": "Exécution",
"orderDetails": "Détails de la commande",
- "summary": "Récapitulatif",
"invoice": "Facture",
"shipmentTracking": "Suivi de l'expédition"
},
@@ -443,6 +432,7 @@
},
"addressBookEdit": {
"editAddress": "Editer cette adresse",
+ "addressValidation": "Adresse validation",
"somethingWentWrong": "Quelque chose ne s'est pas passé comme prévu : {{err}}"
},
"corePackageConfig": {
@@ -473,12 +463,6 @@
"keywords": "Mots clés",
"keywordsPlaceholder": "Mots-clés méta",
"language": "Langue de référence",
- "languageTooltip": "Cette langue sera utilisée en cas d'échec de la détection automatique de la langue.",
- "timezone": "Fuseau horaire",
- "timezoneOptions": "Sélectionner un fuseau horaire",
- "currency": "Devise de référence",
- "currencyTooltip": "Devise par défaut du magasin.",
- "baseUOM": "Unité de mesure de base",
"addressBook": {
"company": "Entreprise",
"companyPlaceholder": "Nom de l'entreprise",
@@ -715,6 +699,12 @@
"unknownError": "Erreur inconnue"
}
},
+ "loginServices": {
+ "appId": "ID de l'application",
+ "secret": "Secret",
+ "clientId": "identité du client",
+ "consumerKey": "Clé API"
+ },
"error": {
"nameRequired": "Le nom est requis.",
"isRequired": "{{field}} est requis.",
diff --git a/private/data/i18n/he.json b/private/data/i18n/he.json
index 70e39d15114..437211eaa23 100644
--- a/private/data/i18n/he.json
+++ b/private/data/i18n/he.json
@@ -107,24 +107,12 @@
"settingsfailed": "עדכון הגדרות חיפוש נכשל."
},
"shopSettings": {
- "general": "כללי",
- "address": "כתובת",
- "import": "ייבוא",
"localization": "מיקום",
"options": "אפשרויות",
- "availableOptions": "אפשרויות זמינות",
"paymentMethods": "שיטות תשלום",
"externalServices": "שירותים חיצוניים",
- "shopGeneralSettingsSaved": "הגדרות החנות הכלליות נשמרו.",
- "shopGeneralSettingsFailed": "עדכון הגדרות כלליות לחנות נכשל.",
- "shopAddressSettingsSaved": "הגדרות כתובת החנות נשמרו.",
- "shopAddressSettingsFailed": "עדכון הגדרות כתובת החנות נכשל.",
- "shopExternalServicesSettingsSaved": "הגדרות שירותי חנות חיצוניים נשמרו.",
- "shopExternalServicesSettingsFailed": "עדכון הגדרות שירותי חנות חיצוניים נכשל.",
"shopLocalizationSettingsSaved": "הגדרות מיקום החנות נשמרו.",
"shopLocalizationSettingsFailed": "עדכון הגדרות מיקום החנות נכשל.",
- "shopOptionsSettingsSaved": "אפשרויות החנות נשמרו.",
- "shopOptionsSettingsFailed": "עדכון אפשרויות חנות נכשל.",
"shopPaymentMethodsSaved": "הגדרות שיטות התשלום של החנות נשמרו.",
"shopPaymentMethodsFailed": "עדכון הגדרות שיטות התשלום לחנות נכשל."
},
@@ -140,7 +128,6 @@
"newOrder": "שההזמנה מעובדת.",
"forAdmin": "יש לך הזמנה חדשה.",
"orderDelivered": "ההזמנה נשלחה.",
- "orderAccepted": "הזמנתך התקבלה.",
"orderShipped": "ההזמנה נשלחה."
}
},
@@ -281,7 +268,12 @@
"cartDrawer": {
"empty": "כמה חבל... הסל שלך ריק.",
"keepShopping": "המשך בקניות",
- "checkout": "לך לקופה עכשיו"
+ "checkout": "לך לקופה עכשיו",
+ "new": "חדש",
+ "coreOrderWorkflow/created": "נוצר",
+ "coreOrderWorkflow/processing": "מעבד",
+ "coreOrderWorkflow/completed": "הושלם",
+ "coreOrderWorkflow/canceled": "בוטל"
},
"cartSubTotals": {
"discount": "הנחה",
@@ -349,9 +341,7 @@
"resendNotification": "שלח שוב התראה על משלוח"
},
"orderWorkflow": {
- "fulfillment": "ביצוע",
"orderDetails": "פרטי הזמנה",
- "summary": "סיכום",
"invoice": "חשבונית",
"shipmentTracking": "מעקב אחר משלוח"
},
@@ -425,12 +415,6 @@
"keywords": "מילות מפתח",
"keywordsPlaceholder": "מילות מפתח-מטא ל- SEO",
"language": "שפת בסיס",
- "languageTooltip": "ייעשה שימוש בשפה זו אם זיהוי שפת המכשיר ייכשל",
- "timezone": "אזור זמן",
- "timezoneOptions": "בחר באזור זמן",
- "currency": "מטבע בסיס",
- "currencyTooltip": "מטבע ברירת המחדל של החנות",
- "baseUOM": "יחידת הכמות הבסיסית",
"addressBook": {
"company": "חברה",
"companyPlaceholder": "שם עסק זה",
@@ -667,6 +651,9 @@
"unknownError": "שגיאה לא ידועה"
}
},
+ "loginServices": {
+ "consumerKey": "מפתח API"
+ },
"error": {
"nameRequired": "חובה להזין שם.",
"isRequired": " חובה להזין {{field}}.",
diff --git a/private/data/i18n/hr.json b/private/data/i18n/hr.json
index 40643f052cc..d8d97f9ccea 100644
--- a/private/data/i18n/hr.json
+++ b/private/data/i18n/hr.json
@@ -95,8 +95,6 @@
"noProductsFound": "Nema pronađenih proizvoda.",
"private": "Privatna",
"public": "Javnost",
- "allOn": "Sve o",
- "allOff": "Sve Isključeno",
"shortcut": {
"addProductLabel": "Dodaj proizvod",
"accountsLabel": "Računi"
@@ -122,24 +120,12 @@
"settingsfailed": "Ažuriranje postavki za pretraživanje nije uspjelo"
},
"shopSettings": {
- "general": "General",
- "address": "Adresa",
- "import": "Uvoz",
"localization": "lokalizacija",
"options": "Opcije",
- "availableOptions": "Dostupne opcije",
"paymentMethods": "Metode Plačanja",
"externalServices": "Vanjske usluge",
- "shopGeneralSettingsSaved": "Trgovina opće postavke spremljene.",
- "shopGeneralSettingsFailed": "Trgovina opće postavke ažuriranje nije uspjelo.",
- "shopAddressSettingsSaved": "Postavke Shop adresa spremljena.",
- "shopAddressSettingsFailed": "Trgovina postavke adresa ažuriranje nije uspjelo.",
- "shopExternalServicesSettingsSaved": "Trgovina vanjske postavke usluge spremljene.",
- "shopExternalServicesSettingsFailed": "Trgovina ažuriranje postavki vanjskih usluga nije uspio.",
"shopLocalizationSettingsSaved": "Postavke Shop lokalizaciju spasio.",
"shopLocalizationSettingsFailed": "Trgovina Postavke za lokalizaciju ažuriranje nije uspjelo.",
- "shopOptionsSettingsSaved": "Opcije Shop spasio.",
- "shopOptionsSettingsFailed": "Opcije Shop ažuriranje nije uspjelo.",
"shopPaymentMethodsSaved": "Shop Načini plaćanja postavke spremljene.",
"shopPaymentMethodsFailed": "Trgovina Načini plaćanja postavke ažuriranje nije uspjelo."
},
@@ -155,7 +141,7 @@
"newOrder": "Vaša narudžba obrađuje.",
"forAdmin": "Imate novi poredak.",
"orderDelivered": "Vaša narudžba dostavljena.",
- "orderAccepted": "Vaš nalog je prihvaćen.",
+ "orderProcessing": "Vaša narudžba obrađuje.",
"orderShipped": "Vaša je narudžba poslana."
}
},
@@ -312,7 +298,12 @@
"cartDrawer": {
"empty": "Nažalost, vaša košarica je prazna.",
"keepShopping": "Nastavi s kupovinom",
- "checkout": "Završi"
+ "checkout": "Završi",
+ "new": "Novi",
+ "coreOrderWorkflow/created": "Stvoren",
+ "coreOrderWorkflow/processing": "Obrada",
+ "coreOrderWorkflow/completed": "dovršen",
+ "coreOrderWorkflow/canceled": "otkazan"
},
"cartSubTotals": {
"discount": "Popust",
@@ -394,9 +385,7 @@
"resendNotification": "Ponovno slanje pošiljke obavijesti"
},
"orderWorkflow": {
- "fulfillment": "Ispunjenje",
"orderDetails": "Detalji narudžbe",
- "summary": "Sažetak",
"invoice": "Dostavnica",
"shipmentTracking": "praćenje pošiljke"
},
@@ -443,6 +432,7 @@
},
"addressBookEdit": {
"editAddress": "Uređivanje adrese",
+ "addressValidation": "Adresa valjanosti",
"somethingWentWrong": "Nešto je pošlo po zlu: {{err}}"
},
"corePackageConfig": {
@@ -473,12 +463,6 @@
"keywords": "ključne riječi",
"keywordsPlaceholder": "Meta ključne riječi za SEO",
"language": "Baza Jezik",
- "languageTooltip": "Ovaj jezik će se koristiti ako detekcija jezika će se uređaj nije uspio",
- "timezone": "Vremenska zona",
- "timezoneOptions": "Odaberite vremensku zonu",
- "currency": "Osnovna valuta",
- "currencyTooltip": "Trgovina Zadana valuta",
- "baseUOM": "Osnovna mjerna jedinica",
"addressBook": {
"company": "Društvo",
"companyPlaceholder": "Ovaj naziv tvrtke",
@@ -715,6 +699,12 @@
"unknownError": "Nepoznata greška"
}
},
+ "loginServices": {
+ "appId": "ID aplikacije",
+ "secret": "Tajna",
+ "clientId": "ID klijenta",
+ "consumerKey": "API ključ"
+ },
"error": {
"nameRequired": "Ime je obavezno.",
"isRequired": "{{field}} je potrebno.",
diff --git a/private/data/i18n/hu.json b/private/data/i18n/hu.json
index 09ef622e174..912941306f0 100644
--- a/private/data/i18n/hu.json
+++ b/private/data/i18n/hu.json
@@ -95,8 +95,6 @@
"noProductsFound": "Nem talált termékek.",
"private": "Magán",
"public": "Nyilvános",
- "allOn": "minden On",
- "allOff": "All Off",
"shortcut": {
"addProductLabel": "Termék hozzáadása",
"accountsLabel": "Fiókok"
@@ -122,24 +120,12 @@
"settingsfailed": "Keresési beállítások frissítése sikertelen"
},
"shopSettings": {
- "general": "Tábornok",
- "address": "Lakcim",
- "import": "import",
"localization": "Honosítás",
"options": "Lehetőségek",
- "availableOptions": "elérhető opciók",
"paymentMethods": "fizetési módok",
"externalServices": "külső szolgáltatások",
- "shopGeneralSettingsSaved": "Shop általános beállítások mentve.",
- "shopGeneralSettingsFailed": "N általános beállítások frissítése nem sikerült.",
- "shopAddressSettingsSaved": "Shop cím beállítások mentve.",
- "shopAddressSettingsFailed": "Shop címbeállításokat sikertelen volt.",
- "shopExternalServicesSettingsSaved": "Shop külső szolgáltatások elmentett beállításokat.",
- "shopExternalServicesSettingsFailed": "Shop külső szolgáltatások beállításainak frissítése sikertelen.",
"shopLocalizationSettingsSaved": "Shop lokalizációs beállítások mentve.",
"shopLocalizationSettingsFailed": "Shop lokalizációs beállítások frissítése nem sikerült.",
- "shopOptionsSettingsSaved": "Shop lehetőségek mentve.",
- "shopOptionsSettingsFailed": "Shop lehetőségek sikertelen volt.",
"shopPaymentMethodsSaved": "Shop Fizetési módok beállításai mentve.",
"shopPaymentMethodsFailed": "Shop Fizetési módok beállításait sikertelen volt."
},
@@ -155,7 +141,7 @@
"newOrder": "A rendelés feldolgozása folyamatban van.",
"forAdmin": "Van egy új rendet.",
"orderDelivered": "Rendelését szállítani.",
- "orderAccepted": "A rendelés elfogadták.",
+ "orderProcessing": "A rendelés feldolgozása folyamatban van.",
"orderShipped": "Rendelését szállították."
}
},
@@ -312,7 +298,12 @@
"cartDrawer": {
"empty": "Szomorúan vesszük tudomásul, hogy üres a kosarad.",
"keepShopping": "Folytasd a vásárlást",
- "checkout": "Fizetés most"
+ "checkout": "Fizetés most",
+ "new": "Új",
+ "coreOrderWorkflow/created": "Létrehozott",
+ "coreOrderWorkflow/processing": "Feldolgozás",
+ "coreOrderWorkflow/completed": "befejezték",
+ "coreOrderWorkflow/canceled": "Törölve"
},
"cartSubTotals": {
"discount": "Kedvezmény",
@@ -394,9 +385,7 @@
"resendNotification": "Újraküldése Szállítmány Notification"
},
"orderWorkflow": {
- "fulfillment": "Teljesítés",
"orderDetails": "Rendelési információk",
- "summary": "összefoglalás",
"invoice": "Számla",
"shipmentTracking": "szállítmány követés"
},
@@ -443,6 +432,7 @@
},
"addressBookEdit": {
"editAddress": "Cím szerkesztése",
+ "addressValidation": "cím érvényesítése",
"somethingWentWrong": "Valami elromlott: {{err}}"
},
"corePackageConfig": {
@@ -473,12 +463,6 @@
"keywords": "Kulcsszavak",
"keywordsPlaceholder": "Meta kulcsszavak SEO",
"language": "alapnyelv",
- "languageTooltip": "Ez a nyelv lesz használva, ha az eszköz nyelvfelismerés lesz sikertelen",
- "timezone": "Időzóna",
- "timezoneOptions": "Válasszon időzónát",
- "currency": "Bázisvaluta",
- "currencyTooltip": "Shop alapértelmezett pénznem",
- "baseUOM": "Base Mértékegység",
"addressBook": {
"company": "Vállalat",
"companyPlaceholder": "Ez az üzlet neve",
@@ -715,6 +699,12 @@
"unknownError": "Ismeretlen hiba"
}
},
+ "loginServices": {
+ "appId": "App ID",
+ "secret": "Titok",
+ "clientId": "ügyfél-azonosító",
+ "consumerKey": "API-kulcs"
+ },
"error": {
"nameRequired": "Név szükséges.",
"isRequired": "{{field}} van szükség.",
diff --git a/private/data/i18n/it.json b/private/data/i18n/it.json
index b050e713d8d..b42fe82002e 100644
--- a/private/data/i18n/it.json
+++ b/private/data/i18n/it.json
@@ -95,8 +95,6 @@
"noProductsFound": "Nessun prodotto trovato.",
"private": "Privato",
"public": "Pubblico",
- "allOn": "All On",
- "allOff": "All Off",
"shortcut": {
"addProductLabel": "Aggiungi prodotto",
"accountsLabel": "Conti"
@@ -122,24 +120,12 @@
"settingsfailed": "aggiornamento Impostazioni di ricerca non è riuscita"
},
"shopSettings": {
- "general": "Generico",
- "address": "Indirizzo",
- "import": "Importazione",
"localization": "Localizzazione",
"options": "Opzioni",
- "availableOptions": "Opzioni disponibili",
"paymentMethods": "Modalità di pagamento",
"externalServices": "Servizi esterni",
- "shopGeneralSettingsSaved": "Negozio impostazioni generali salvate.",
- "shopGeneralSettingsFailed": "Negozio aggiornamento impostazioni generali non è riuscito.",
- "shopAddressSettingsSaved": "impostazioni di indirizzo del negozio salvate.",
- "shopAddressSettingsFailed": "Negozio aggiornamento impostazioni dell'indirizzo non è riuscito.",
- "shopExternalServicesSettingsSaved": "Negozio impostazioni dei servizi esterni salvate.",
- "shopExternalServicesSettingsFailed": "Negozio aggiornamento impostazioni dei servizi esterni non è riuscita.",
"shopLocalizationSettingsSaved": "impostazioni negozio di localizzazione salvate.",
"shopLocalizationSettingsFailed": "Negozio aggiornamento impostazioni di localizzazione non è riuscito.",
- "shopOptionsSettingsSaved": "opzioni negozio salvate.",
- "shopOptionsSettingsFailed": "aggiornamento opzioni negozio non è riuscito.",
"shopPaymentMethodsSaved": "Negozio impostazioni Metodi di Pagamento salvate.",
"shopPaymentMethodsFailed": "Negozio aggiornamento impostazioni dei metodi di pagamento non è riuscita."
},
@@ -155,7 +141,7 @@
"newOrder": "Il vostro ordine è in fase di elaborazione.",
"forAdmin": "Hai un nuovo ordine.",
"orderDelivered": "L'ordine è stato consegnato.",
- "orderAccepted": "L'ordine è stato accettato.",
+ "orderProcessing": "Il vostro ordine è in fase di elaborazione.",
"orderShipped": "Il tuo ordine è stato spedito."
}
},
@@ -312,7 +298,12 @@
"cartDrawer": {
"empty": "Il tuo carrello è vuoto :(",
"keepShopping": "Continua lo shopping!",
- "checkout": "Vai al checkout"
+ "checkout": "Vai al checkout",
+ "new": "Nuovo",
+ "coreOrderWorkflow/created": "Creato",
+ "coreOrderWorkflow/processing": "lavorazione",
+ "coreOrderWorkflow/completed": "Completato",
+ "coreOrderWorkflow/canceled": "Annullato"
},
"cartSubTotals": {
"discount": "Sconto",
@@ -394,9 +385,7 @@
"resendNotification": "Notifica della spedizione Rispedisci"
},
"orderWorkflow": {
- "fulfillment": "Compimento",
"orderDetails": "Dettagli ordine",
- "summary": "Sommario",
"invoice": "Fattura",
"shipmentTracking": "monitoraggio delle spedizioni"
},
@@ -443,6 +432,7 @@
},
"addressBookEdit": {
"editAddress": "Modificare questa voce indirizzo",
+ "addressValidation": "Validazione indirizzo",
"somethingWentWrong": "Qualcosa è andato storto: {{err}}"
},
"corePackageConfig": {
@@ -473,12 +463,6 @@
"keywords": "parole",
"keywordsPlaceholder": "Meta parole chiave per SEO",
"language": "Lingua Base",
- "languageTooltip": "Questo linguaggio viene utilizzato se il rilevamento lingua del dispositivo può essere considerata negativa",
- "timezone": "Fuso orario",
- "timezoneOptions": "Scegli fuso orario",
- "currency": "Valuta di Base",
- "currencyTooltip": "valuta di default negozio",
- "baseUOM": "Unità base di misura",
"addressBook": {
"company": "Società",
"companyPlaceholder": "Questo nome commerciale",
@@ -715,6 +699,12 @@
"unknownError": "Errore Sconosciuto"
}
},
+ "loginServices": {
+ "appId": "ID dell'app",
+ "secret": "Segreto",
+ "clientId": "Identificativo cliente",
+ "consumerKey": "API Key"
+ },
"error": {
"nameRequired": "è richiesto nome.",
"isRequired": "{{field}} è richiesto.",
diff --git a/private/data/i18n/my.json b/private/data/i18n/my.json
index dc3093f1c6c..a74a7ab19ac 100644
--- a/private/data/i18n/my.json
+++ b/private/data/i18n/my.json
@@ -95,8 +95,6 @@
"noProductsFound": "အဘယ်သူမျှမကုန်ပစ္စည်းများတွေ့ရှိခဲ့ပါတယ်။",
"private": "ကိုယ်ပိုင်",
"public": "ပြည်သူ့",
- "allOn": "အားလုံးတွင်",
- "allOff": "အားလုံးပိတ်",
"shortcut": {
"addProductLabel": "ကုန်ပစ္စည်း Add",
"accountsLabel": "ငွေစာရင်း"
@@ -122,24 +120,12 @@
"settingsfailed": "ရှာဖွေမှုဆက်တင်များရှုံးနိမ့်ခဲ့ရကို update"
},
"shopSettings": {
- "general": "ယေဘုယျ",
- "address": "လိပ်စာ",
- "import": "တင်သွင်း",
"localization": "localization",
"options": "Options ကို",
- "availableOptions": "ရရှိနိုင် Options ကို",
"paymentMethods": "ငွေပေးချေမှုရမည့်နည်းလမ်းများ",
"externalServices": "ပြင်ပန်ဆောင်မှုများ",
- "shopGeneralSettingsSaved": "ကယ်တင်ခြင်းသို့ရောက်သောယေဘုယျ setting များကိုစျေးဝယ်။",
- "shopGeneralSettingsFailed": "update ကိုပျက်ကွက်ယေဘုယျ setting များကိုစျေးဝယ်။",
- "shopAddressSettingsSaved": "ဆိုင်လိပ်စာ settings ကိုကယ်လွှတ်တော်မူ၏။",
- "shopAddressSettingsFailed": "ဆိုင်လိပ်စာ setting များကို update ကိုပျက်ကွက်ခဲ့သည်။",
- "shopExternalServicesSettingsSaved": "setting များကိုကယ်တင်ခြင်းသို့ရောက်ရ၏ပြင်ပဝန်ဆောင်မှုများကိုစျေးဝယ်။",
- "shopExternalServicesSettingsFailed": "update ကိုပျက်ကွက်ပြင်ပဝန်ဆောင်မှုများကို setting များကိုစျေးဝယ်။",
"shopLocalizationSettingsSaved": "ဆိုင်ဒေသခံ settings ကိုကယ်လွှတ်တော်မူ၏။",
"shopLocalizationSettingsFailed": "ဆိုင်ဒေသခံ setting များကို update ကိုပျက်ကွက်ခဲ့သည်။",
- "shopOptionsSettingsSaved": "ဆိုင်ရွေးချယ်စရာကယ်တင်ခြင်းသို့ရောက်ရ၏။",
- "shopOptionsSettingsFailed": "ဆိုင်ရွေးချယ်စရာ update ကိုပျက်ကွက်ခဲ့သည်။",
"shopPaymentMethodsSaved": "ဆိုင်ငွေပေးချေမှုရမည့်နည်းလမ်းများ settings ကိုကယ်လွှတ်တော်မူ၏။",
"shopPaymentMethodsFailed": "ဆိုင်ငွေပေးချေမှုရမည့်နည်းလမ်းများ setting များကို update ကိုပျက်ကွက်ခဲ့သည်။"
},
@@ -155,7 +141,7 @@
"newOrder": "သင့်ရဲ့အမိန့်လုပ်ငန်းများ၌လျက်ရှိသည်။",
"forAdmin": "သငျသညျသစ်တစ်ခုအလို့ငှာရှိသည်။",
"orderDelivered": "သင့်ရဲ့အမိန့်ကိုအပ်ခဲ့တာဖြစ်ပါတယ်။",
- "orderAccepted": "သင့်ရဲ့အမိန့်ကိုလက်ခံခဲ့တာဖြစ်ပါတယ်။",
+ "orderProcessing": "သင့်ရဲ့အမိန့်လုပ်ငန်းများ၌လျက်ရှိသည်။",
"orderShipped": "သင့်ရဲ့အမိန့်တင်ပို့ခဲ့တာဖြစ်ပါတယ်။"
}
},
@@ -312,7 +298,12 @@
"cartDrawer": {
"empty": "စျေးခြင်းတောင်းတွင် ဘာမှ ရှိမနေပါ :(",
"keepShopping": "စျေးဆက်ဝယ်မည်",
- "checkout": "ငွေပေးချေမည်"
+ "checkout": "ငွေပေးချေမည်",
+ "new": "နယူး",
+ "coreOrderWorkflow/created": "Created",
+ "coreOrderWorkflow/processing": "လုပ်ဆောင်နေသည်",
+ "coreOrderWorkflow/completed": "completed",
+ "coreOrderWorkflow/canceled": "ဖျက်သိမ်း"
},
"cartSubTotals": {
"discount": "လျှော့စျေး",
@@ -394,9 +385,7 @@
"resendNotification": "တင်ပို့ခြင်းသတိပေးချက်ပြန်ပို့မည်"
},
"orderWorkflow": {
- "fulfillment": "ပွညျ့စုံ",
"orderDetails": "အမိန့်အသေးစိတ်",
- "summary": "အကျဉ်းချုပ်",
"invoice": "ဝယ်ကုန်စာရင်း",
"shipmentTracking": "တင်ပို့ခြေရာကောက်"
},
@@ -443,6 +432,7 @@
},
"addressBookEdit": {
"editAddress": "ဒီလိပ်စာ entry ကိုတည်းဖြတ်ခြင်း",
+ "addressValidation": "လိပ်စာ Validation",
"somethingWentWrong": "တစ်ခုခုမှားသွား: {{err}}"
},
"corePackageConfig": {
@@ -473,12 +463,6 @@
"keywords": "keywords",
"keywordsPlaceholder": "SEO ဆိုသည်မှာအဘို့အ meta သော့ချက်စာလုံးများ",
"language": "base ဘာသာစကားများ",
- "languageTooltip": "device ကိုဘာသာစကားထောက်လှမ်းပျက်ကွက်ပါလိမ့်မည်ဆိုပါကဤသည်ဘာသာစကားအသုံးပြုလိမ့်မည်",
- "timezone": "စံတော်ချိန်",
- "timezoneOptions": "စံတော်ချိန် Choose",
- "currency": "base ငွေကြေးစနစ်",
- "currencyTooltip": "ဆိုင်က default ငွေကြေးကို",
- "baseUOM": "တိုင်းတာ၏အခြေစိုက်စခန်းယူနစ်",
"addressBook": {
"company": "ကုမ္ပဏီ",
"companyPlaceholder": "ဒီစီးပွားရေးဘွဲ့နာမ",
@@ -715,6 +699,12 @@
"unknownError": "အမျိုးအမည်မသိသော error"
}
},
+ "loginServices": {
+ "appId": "App ကို ID ကို",
+ "secret": "လျှို့ဝှက်ချက်",
+ "clientId": "client ID ကို",
+ "consumerKey": "API ကို Key ကို"
+ },
"error": {
"nameRequired": "Name ကိုလိုအပ်ပါသည်။",
"isRequired": "{{field}} လိုအပ်ပါသည်။",
diff --git a/private/data/i18n/nb.json b/private/data/i18n/nb.json
index 813dcc0ebc2..c397cd74424 100644
--- a/private/data/i18n/nb.json
+++ b/private/data/i18n/nb.json
@@ -92,7 +92,11 @@
"cartDrawer": {
"empty": "Vi er lei handlekurven din er tom.",
"keepShopping": "Fortsett å handle",
- "checkout": "Fortsett til kassen"
+ "checkout": "Fortsett til kassen",
+ "new": "Ny",
+ "coreOrderWorkflow/created": "Opprettet",
+ "coreOrderWorkflow/completed": "Fullført",
+ "coreOrderWorkflow/canceled": "Avbrutt"
},
"cartSubTotals": {
"head": "Din handlekurv",
diff --git a/private/data/i18n/nl.json b/private/data/i18n/nl.json
index 5cdc0660012..46f98bac875 100644
--- a/private/data/i18n/nl.json
+++ b/private/data/i18n/nl.json
@@ -95,8 +95,6 @@
"noProductsFound": "Geen producten gevonden.",
"private": "Privaat",
"public": "Openbaar",
- "allOn": "All On",
- "allOff": "All Off",
"shortcut": {
"addProductLabel": "Product toevoegen",
"accountsLabel": "Rekeningen"
@@ -122,24 +120,12 @@
"settingsfailed": "updaten zoekinstellingen is mislukt"
},
"shopSettings": {
- "general": "Algemeen",
- "address": "Adres",
- "import": "Import",
"localization": "Localization",
"options": "opties",
- "availableOptions": "Beschikbare opties",
"paymentMethods": "Betaalmethoden",
"externalServices": "externe Services",
- "shopGeneralSettingsSaved": "Shop algemene instellingen opgeslagen.",
- "shopGeneralSettingsFailed": "Shop-update algemene instellingen is mislukt.",
- "shopAddressSettingsSaved": "Shop-adres instellingen opgeslagen.",
- "shopAddressSettingsFailed": "Shop-update-adres instellingen is mislukt.",
- "shopExternalServicesSettingsSaved": "Shop buitendiensten instellingen opgeslagen.",
- "shopExternalServicesSettingsFailed": "Shop-update buitendiensten instellingen is mislukt.",
"shopLocalizationSettingsSaved": "Shop lokalisatie instellingen opgeslagen.",
"shopLocalizationSettingsFailed": "Shop-update lokalisatie instellingen is mislukt.",
- "shopOptionsSettingsSaved": "Shop opties opgeslagen.",
- "shopOptionsSettingsFailed": "Shop opties update is mislukt.",
"shopPaymentMethodsSaved": "Shop betalingsmethoden instellingen opgeslagen.",
"shopPaymentMethodsFailed": "Shop-update betalingsmethoden instellingen is mislukt."
},
@@ -155,7 +141,7 @@
"newOrder": "Je bestelling wordt verwerkt.",
"forAdmin": "U heeft een nieuwe bestelling.",
"orderDelivered": "Uw bestelling is afgeleverd.",
- "orderAccepted": "Uw bestelling is geaccepteerd.",
+ "orderProcessing": "Je bestelling wordt verwerkt.",
"orderShipped": "Je bestelling is verzonden."
}
},
@@ -312,7 +298,12 @@
"cartDrawer": {
"empty": "Uw winkelwagen is leeg.",
"keepShopping": "Verder winkelen",
- "checkout": "Nu betalen"
+ "checkout": "Nu betalen",
+ "new": "Nieuw",
+ "coreOrderWorkflow/created": "Gemaakt",
+ "coreOrderWorkflow/processing": "verwerking",
+ "coreOrderWorkflow/completed": "Voltooid",
+ "coreOrderWorkflow/canceled": "Geannuleerd"
},
"cartSubTotals": {
"discount": "Korting",
@@ -394,9 +385,7 @@
"resendNotification": "Opnieuw verzenden Shipment Notification"
},
"orderWorkflow": {
- "fulfillment": "Vervulling",
"orderDetails": "Bestel Details",
- "summary": "Overzicht",
"invoice": "Factuur",
"shipmentTracking": "Verzending volgen"
},
@@ -443,6 +432,7 @@
},
"addressBookEdit": {
"editAddress": "Dit adres bewerken",
+ "addressValidation": "Address Validation",
"somethingWentWrong": "Er is iets misgegaan: {{err}}"
},
"corePackageConfig": {
@@ -473,12 +463,6 @@
"keywords": "trefwoorden",
"keywordsPlaceholder": "Meta keywords voor SEO",
"language": "Base Taal",
- "languageTooltip": "Deze taal wordt gebruikt als apparaat taaldetectie niet worden afgekeurd",
- "timezone": "Tijdzone",
- "timezoneOptions": "Kies tijdzone",
- "currency": "Basisvaluta",
- "currencyTooltip": "Shop prijslijst",
- "baseUOM": "Base maateenheid",
"addressBook": {
"company": "Bedrijf",
"companyPlaceholder": "Deze bedrijfsnaam",
@@ -715,6 +699,12 @@
"unknownError": "Onbekende fout"
}
},
+ "loginServices": {
+ "appId": "App ID",
+ "secret": "Geheim",
+ "clientId": "Client ID",
+ "consumerKey": "API Key"
+ },
"error": {
"nameRequired": "Naam is verplicht.",
"isRequired": "{{field}} vereist.",
diff --git a/private/data/i18n/pl.json b/private/data/i18n/pl.json
index 7475725cef2..5691f322b9e 100644
--- a/private/data/i18n/pl.json
+++ b/private/data/i18n/pl.json
@@ -95,8 +95,6 @@
"noProductsFound": "Nie znaleziono produktów.",
"private": "Prywatne",
"public": "Publiczny",
- "allOn": "wszystko na temat",
- "allOff": "All Off",
"shortcut": {
"addProductLabel": "Dodaj produkt",
"accountsLabel": "Konta"
@@ -122,24 +120,12 @@
"settingsfailed": "Ustawienia wyszukiwania aktualizacja nie powiodła się"
},
"shopSettings": {
- "general": "Generał",
- "address": "Adres",
- "import": "Import",
"localization": "Lokalizacja",
"options": "Opcje",
- "availableOptions": "Dostępne opcje",
"paymentMethods": "Metody Płatności",
"externalServices": "External Services",
- "shopGeneralSettingsSaved": "Sklep ogólne ustawienia zapisane.",
- "shopGeneralSettingsFailed": "Sklep ustawienia ogólne aktualizacja nie powiodła się.",
- "shopAddressSettingsSaved": "Ustawienia adresu Shop zapisane.",
- "shopAddressSettingsFailed": "Sklep ustawienia adresu aktualizacja nie powiodła się.",
- "shopExternalServicesSettingsSaved": "Sklep ustawienia usługi zewnętrzne zapisane.",
- "shopExternalServicesSettingsFailed": "Sklep z ustawieniami usługi zewnętrzne aktualizacji nie powiodło się.",
"shopLocalizationSettingsSaved": "Ustawienia lokalizacji Shop zapisane.",
"shopLocalizationSettingsFailed": "Sklep ustawienia lokalizacyjne aktualizacja nie powiodła się.",
- "shopOptionsSettingsSaved": "Opcje sklepowe zapisane.",
- "shopOptionsSettingsFailed": "Opcje sklepowe aktualizacja nie powiodła się.",
"shopPaymentMethodsSaved": "Sklep ustawienia Metody płatności zapisane.",
"shopPaymentMethodsFailed": "Sklep ustawienia Metody płatności aktualizacja nie powiodła się."
},
@@ -155,7 +141,7 @@
"newOrder": "Twoje zamówienie jest przetwarzane.",
"forAdmin": "Masz nowy porządek.",
"orderDelivered": "Twoje zamówienie zostało dostarczone.",
- "orderAccepted": "Twoje zamówienie zostało przyjęte.",
+ "orderProcessing": "Twoje zamówienie jest przetwarzane.",
"orderShipped": "Twoje zamówienie zostało wysłane."
}
},
@@ -312,7 +298,12 @@
"cartDrawer": {
"empty": "Jesteśmy smutni. Twój koszyk jest pusty.",
"keepShopping": "Lek na zakupy",
- "checkout": "Sprawdź teraz"
+ "checkout": "Sprawdź teraz",
+ "new": "Nowy",
+ "coreOrderWorkflow/created": "Utworzono",
+ "coreOrderWorkflow/processing": "Przetwarzanie",
+ "coreOrderWorkflow/completed": "Zakończony",
+ "coreOrderWorkflow/canceled": "Odwołany"
},
"cartSubTotals": {
"discount": "Zniżka",
@@ -394,9 +385,7 @@
"resendNotification": "Ponowna Powiadomienie przesyłki"
},
"orderWorkflow": {
- "fulfillment": "Spełnienie",
"orderDetails": "Szczegóły zamówienia",
- "summary": "Podsumowanie",
"invoice": "Faktura",
"shipmentTracking": "Śledzenie przesyłek"
},
@@ -443,6 +432,7 @@
},
"addressBookEdit": {
"editAddress": "Montaż tego wpisu adresu",
+ "addressValidation": "adres Validation",
"somethingWentWrong": "Coś poszło nie tak: {{err}}"
},
"corePackageConfig": {
@@ -473,12 +463,6 @@
"keywords": "Słowa kluczowe",
"keywordsPlaceholder": "Meta słów kluczowych dla SEO",
"language": "Język bazowy",
- "languageTooltip": "Język ten będzie stosowany, jeśli wykrywanie języka urządzenie zostanie zawiodły",
- "timezone": "Strefa czasowa",
- "timezoneOptions": "Wybierz strefę czasową",
- "currency": "Waluta bazowa",
- "currencyTooltip": "Sklep domyślną walutą",
- "baseUOM": "Jednostka podstawowa miary",
"addressBook": {
"company": "Firma",
"companyPlaceholder": "Ta nazwa firmy",
@@ -715,6 +699,12 @@
"unknownError": "Nieznany błąd"
}
},
+ "loginServices": {
+ "appId": "Identyfikator aplikacji",
+ "secret": "Sekret",
+ "clientId": "Identyfikator klienta",
+ "consumerKey": "Klucz API"
+ },
"error": {
"nameRequired": "Nazwa jest wymagana.",
"isRequired": "{{field}} jest wymagane.",
diff --git a/private/data/i18n/pt.json b/private/data/i18n/pt.json
index 860214b0084..1d8f2df0f46 100644
--- a/private/data/i18n/pt.json
+++ b/private/data/i18n/pt.json
@@ -95,8 +95,6 @@
"noProductsFound": "Nenhum produto encontrado.",
"private": "Particular",
"public": "Público",
- "allOn": "Tudo em cima",
- "allOff": "All Off",
"shortcut": {
"addProductLabel": "Adicionar produto",
"accountsLabel": "Contas"
@@ -122,24 +120,12 @@
"settingsfailed": "Falha ao atualizar definições de pesquisa"
},
"shopSettings": {
- "general": "Geral",
- "address": "Endereço",
- "import": "Importar",
"localization": "Localização",
"options": "Opções",
- "availableOptions": "Opções disponíveis",
"paymentMethods": "Métodos de pagamento",
"externalServices": "Serviços externos",
- "shopGeneralSettingsSaved": "Definições gerais da loja guardadas.",
- "shopGeneralSettingsFailed": "Falha ao atualizar as definições gerais da loja.",
- "shopAddressSettingsSaved": "Definições do endereço da loja guardadas.",
- "shopAddressSettingsFailed": "Falha ao atualizar as definições do endereço da loja.",
- "shopExternalServicesSettingsSaved": "Definições dos serviços externos da loja guardadas.",
- "shopExternalServicesSettingsFailed": "Falha ao atualizar as definições dos serviços externos da loja.",
"shopLocalizationSettingsSaved": "Definições de localização da loja guardadas.",
"shopLocalizationSettingsFailed": "Falha ao atualizar as definições de localização da loja.",
- "shopOptionsSettingsSaved": "Opções da loja guardadas.",
- "shopOptionsSettingsFailed": "Falha ao atualizar as opções da loja.",
"shopPaymentMethodsSaved": "Definições dos métodos de pagamento da loja guardadas.",
"shopPaymentMethodsFailed": "Falha ao atualizar as definições dos métodos de pagamento da loja."
},
@@ -155,7 +141,7 @@
"newOrder": "Seu pedido está sendo processado.",
"forAdmin": "Você tem uma nova ordem.",
"orderDelivered": "Seu pedido foi entregue.",
- "orderAccepted": "Seu pedido foi aceito.",
+ "orderProcessing": "Seu pedido está sendo processado.",
"orderShipped": "Sua ordem foi enviada."
}
},
@@ -312,7 +298,12 @@
"cartDrawer": {
"empty": "Lamentamos. O seu carrinho está vazio.",
"keepShopping": "Continuar a comprar",
- "checkout": "Finalizar compra agora"
+ "checkout": "Finalizar compra agora",
+ "new": "Novo",
+ "coreOrderWorkflow/created": "Criado",
+ "coreOrderWorkflow/processing": "A processar",
+ "coreOrderWorkflow/completed": "Concluído",
+ "coreOrderWorkflow/canceled": "Cancelado"
},
"cartSubTotals": {
"discount": "Desconto",
@@ -394,9 +385,7 @@
"resendNotification": "Reenviar notificação de envio"
},
"orderWorkflow": {
- "fulfillment": "Conclusão",
"orderDetails": "Detalhes da encomenda",
- "summary": "Resumo",
"invoice": "Fatura",
"shipmentTracking": "Monitorização de transporte"
},
@@ -443,6 +432,7 @@
},
"addressBookEdit": {
"editAddress": "Editar esta entrada de endereço",
+ "addressValidation": "Validação de endereço",
"somethingWentWrong": "Ocorreu um erro: {{err}}"
},
"corePackageConfig": {
@@ -473,12 +463,6 @@
"keywords": "Palavras-chave",
"keywordsPlaceholder": "Meta palavras-chave para SEO",
"language": "Idioma base",
- "languageTooltip": "Este idioma será utilizado se a deteção do idioma do dispositivo falhar",
- "timezone": "Fuso horário",
- "timezoneOptions": "Escolher fuso horário",
- "currency": "Moeda base",
- "currencyTooltip": "Moeda predefinida da loja",
- "baseUOM": "Unidade de medida base",
"addressBook": {
"company": "Empresa",
"companyPlaceholder": "Nome desta empresa",
@@ -715,6 +699,12 @@
"unknownError": "Erro desconhecido"
}
},
+ "loginServices": {
+ "appId": "ID da aplicação",
+ "secret": "Segredo",
+ "clientId": "ID do cliente",
+ "consumerKey": "Chave da API"
+ },
"error": {
"nameRequired": "O nome é obrigatório.",
"isRequired": " {{field}} é obrigatório.",
diff --git a/private/data/i18n/ro.json b/private/data/i18n/ro.json
index 35edad1e632..9a42a6bae76 100644
--- a/private/data/i18n/ro.json
+++ b/private/data/i18n/ro.json
@@ -95,8 +95,6 @@
"noProductsFound": "Nu s-au găsit produse.",
"private": "Privat",
"public": "Public",
- "allOn": "Pe tot",
- "allOff": "Toate oprite",
"shortcut": {
"addProductLabel": "Adăugare produs",
"accountsLabel": "Conturi"
@@ -122,24 +120,12 @@
"settingsfailed": "Actualizarea setărilor de căutare a eșuat"
},
"shopSettings": {
- "general": "General",
- "address": "Adresă",
- "import": "Import",
"localization": "Localizare",
"options": "Opțiuni",
- "availableOptions": "Opțiuni disponibile",
"paymentMethods": "Metode de plata",
"externalServices": "Servicii externe",
- "shopGeneralSettingsSaved": "Setările generale ale magazinului au fost salvate.",
- "shopGeneralSettingsFailed": "Actualizarea setărilor generale ale magazinului a eșuat.",
- "shopAddressSettingsSaved": "Setările adresei magazinului au fost salvate.",
- "shopAddressSettingsFailed": "Actualizarea setării adresei magazinului eșuat.",
- "shopExternalServicesSettingsSaved": "Setările serviciilor externe ale magazinului au fost salvate.",
- "shopExternalServicesSettingsFailed": "Setările serviciilor externe ale magazinului au eșuat.",
"shopLocalizationSettingsSaved": "Actualizarea setărileor de localizare ale magazinului au fost salvate.",
"shopLocalizationSettingsFailed": "Actualizarea setărilor de localizare ale magazinului au fost au eșuat.",
- "shopOptionsSettingsSaved": "Opțiunile magazinului au fost salvate.",
- "shopOptionsSettingsFailed": "Actualizarea opțiunilor magazinului au eșuat.",
"shopPaymentMethodsSaved": "Setările modalități de plată au fost salvate.",
"shopPaymentMethodsFailed": "Actualizarea setărilor modalități de plată au eșuat."
},
@@ -155,7 +141,7 @@
"newOrder": "Comanda dumneavoastră este în curs de procesare.",
"forAdmin": "Ai o noua ordine.",
"orderDelivered": "Comanda dumneavoastra a fost emis.",
- "orderAccepted": "Comanda dvs a fost acceptata.",
+ "orderProcessing": "Comanda dvs. este in curs de procesare.",
"orderShipped": "Comanda dumneavoastra a fost expediat."
}
},
@@ -312,7 +298,12 @@
"cartDrawer": {
"empty": "Suntem triști. Coșul dumneavoastră este gol.",
"keepShopping": "Continuați cumpărăturile",
- "checkout": "Finalizează comanda"
+ "checkout": "Finalizează comanda",
+ "new": "Nou",
+ "coreOrderWorkflow/created": "Creată",
+ "coreOrderWorkflow/processing": "Prelucrare",
+ "coreOrderWorkflow/completed": "Completă",
+ "coreOrderWorkflow/canceled": "Anulată"
},
"cartSubTotals": {
"discount": "Reducere",
@@ -394,9 +385,7 @@
"resendNotification": "Retrimitere Notificarea de Transport"
},
"orderWorkflow": {
- "fulfillment": "Onorarea comenzilor",
"orderDetails": "Detalii Comandă",
- "summary": "Rezumat",
"invoice": "Factură",
"shipmentTracking": "Urmărirea pachetului"
},
@@ -443,6 +432,7 @@
},
"addressBookEdit": {
"editAddress": "Editează această adresă",
+ "addressValidation": "adrese de validare",
"somethingWentWrong": "Ceva nu a mers bine: {{err}}"
},
"corePackageConfig": {
@@ -473,12 +463,6 @@
"keywords": "Cuvinte cheie",
"keywordsPlaceholder": "Cuvinte cheie (meta keywords) pentru SEO",
"language": "Limba de bază",
- "languageTooltip": "Această limbă va fi utilizată în cazul în care limba dispozitivului nu a putut fi detectată",
- "timezone": "Fus orar",
- "timezoneOptions": "Alege fus orar",
- "currency": "Moneda de bază",
- "currencyTooltip": "Moneda implicită a magazinului",
- "baseUOM": "Unitatea de bază a măsurii",
"addressBook": {
"company": "Companie",
"companyPlaceholder": "Această organizație",
@@ -715,6 +699,12 @@
"unknownError": "Eroare necunoscută"
}
},
+ "loginServices": {
+ "appId": "ID-ul aplicației",
+ "secret": "Secret",
+ "clientId": "ID Client",
+ "consumerKey": "API-cheie"
+ },
"error": {
"nameRequired": "Este necesar numele.",
"isRequired": "{{field}} este obligatoriu.",
diff --git a/private/data/i18n/ru.json b/private/data/i18n/ru.json
index 41d06975772..b3d00025d4a 100644
--- a/private/data/i18n/ru.json
+++ b/private/data/i18n/ru.json
@@ -95,8 +95,6 @@
"noProductsFound": "Товар не найден.",
"private": "Частный",
"public": "Общественного",
- "allOn": "All On",
- "allOff": "Все выключить",
"shortcut": {
"addProductLabel": "Добавить продукт",
"accountsLabel": "Счета"
@@ -122,24 +120,12 @@
"settingsfailed": "Не удалось обновить настройки поиска"
},
"shopSettings": {
- "general": "Основные",
- "address": "Адрес",
- "import": "Импорт",
"localization": "Локализация",
"options": "Настройки",
- "availableOptions": "Доступные опции",
"paymentMethods": "Платёжные системы",
"externalServices": "Сторонние сервисы",
- "shopGeneralSettingsSaved": "Настройки магазина обновлены.",
- "shopGeneralSettingsFailed": "Не удалось изменить основные настройки магазина. ",
- "shopAddressSettingsSaved": "Адрес магазина изменён.",
- "shopAddressSettingsFailed": "Не удалось изменить адрес магазина. ",
- "shopExternalServicesSettingsSaved": "Настройки внешних сервисов обновлены.",
- "shopExternalServicesSettingsFailed": "Не удалось изменить настройки внешних сервисов. ",
"shopLocalizationSettingsSaved": "Настройки локализации обновлены.",
"shopLocalizationSettingsFailed": "Не удалось изменить настройки локализации. ",
- "shopOptionsSettingsSaved": "Настройка магазина обновлена.",
- "shopOptionsSettingsFailed": "Не удалось изменить настройку. ",
"shopPaymentMethodsSaved": "Настройки платёжных систем обновлены.",
"shopPaymentMethodsFailed": "Не удалось изменить настройки платёжных систем. "
},
@@ -155,7 +141,7 @@
"newOrder": "Ваш заказ обрабатывается.",
"forAdmin": "У вас новый заказ.",
"orderDelivered": "Ваш заказ был доставлен.",
- "orderAccepted": "Ваш заказ был принят.",
+ "orderProcessing": "Ваш заказ обрабатывается.",
"orderShipped": "Ваш заказ был отправлен."
}
},
@@ -312,7 +298,12 @@
"cartDrawer": {
"empty": "Очень жаль, ваша корзина пуста",
"keepShopping": "Продолжить покупки",
- "checkout": "Оформить заказ"
+ "checkout": "Оформить заказ",
+ "new": "Новых",
+ "coreOrderWorkflow/created": "Создан",
+ "coreOrderWorkflow/processing": "В работе",
+ "coreOrderWorkflow/completed": "Завершенных",
+ "coreOrderWorkflow/canceled": "Отмененных"
},
"cartSubTotals": {
"discount": "Скидка",
@@ -394,9 +385,7 @@
"resendNotification": "Отправить уведомление о доставке еще раз"
},
"orderWorkflow": {
- "fulfillment": "Движение заказа",
"orderDetails": "Детали заказа",
- "summary": "Сводка",
"invoice": "Счёт",
"shipmentTracking": "Отслеживание посылки"
},
@@ -443,6 +432,7 @@
},
"addressBookEdit": {
"editAddress": "Редактирование адреса",
+ "addressValidation": "Адрес Validation",
"somethingWentWrong": "Что-то пошло не так: {{err}}"
},
"corePackageConfig": {
@@ -473,12 +463,6 @@
"keywords": "Ключевые слова",
"keywordsPlaceholder": "Ключевые слова для SEO",
"language": "Основной язык",
- "languageTooltip": "Язык будет использован, если не удастся определить язык устройства",
- "timezone": "Часовой пояс",
- "timezoneOptions": "Выберите часовой пояс",
- "currency": "Основная валюта",
- "currencyTooltip": "Базовая валюта в магазине",
- "baseUOM": "Основные единицы измерения",
"addressBook": {
"company": "Компания",
"companyPlaceholder": "Название компании",
@@ -715,6 +699,12 @@
"unknownError": "Неизвестная ошибка"
}
},
+ "loginServices": {
+ "appId": "Идентификатор приложения",
+ "secret": "Секрет",
+ "clientId": "ID клиента",
+ "consumerKey": "Ключ API"
+ },
"error": {
"nameRequired": "Название обязательно.",
"isRequired": "Поле \"{{field}}\" обязательно.",
diff --git a/private/data/i18n/sl.json b/private/data/i18n/sl.json
index ab15ea8d933..340efb2bf27 100644
--- a/private/data/i18n/sl.json
+++ b/private/data/i18n/sl.json
@@ -95,8 +95,6 @@
"noProductsFound": "Ni izdelkov.",
"private": "zasebno",
"public": "javni",
- "allOn": "vse On",
- "allOff": "vse Off",
"shortcut": {
"addProductLabel": "Dodaj izdelek",
"accountsLabel": "računi"
@@ -122,24 +120,12 @@
"settingsfailed": "Nastavitve iskanja posodobitev ni uspela"
},
"shopSettings": {
- "general": "Splošno",
- "address": "naslov",
- "import": "Uvoz",
"localization": "lokalizacija",
"options": "Opcije",
- "availableOptions": "Opcije na voljo",
"paymentMethods": "načini plačila",
"externalServices": "zunanje storitve",
- "shopGeneralSettingsSaved": "Shop splošne nastavitve shranjene.",
- "shopGeneralSettingsFailed": "Trgovina splošne nastavitve posodobitev ni uspela.",
- "shopAddressSettingsSaved": "Nastavitve Shop naslov shranjene.",
- "shopAddressSettingsFailed": "Trgovina nastavitve naslov posodobitev ni uspela.",
- "shopExternalServicesSettingsSaved": "Shop zunanje nastavitve storitev shranjene.",
- "shopExternalServicesSettingsFailed": "Shop posodobitev nastavitev zunanjih storitev ni uspelo.",
"shopLocalizationSettingsSaved": "Nastavitve Shop lokalizacijo shranjene.",
"shopLocalizationSettingsFailed": "Trgovina nastavitve lokalizacijo posodobitev ni uspela.",
- "shopOptionsSettingsSaved": "Možnosti Trgovina shranjene.",
- "shopOptionsSettingsFailed": "Možnosti Shop posodobitev ni uspela.",
"shopPaymentMethodsSaved": "Trgovina nastavitve Načini plačila shranjene.",
"shopPaymentMethodsFailed": "Trgovina nastavitve Načini plačila posodobitev ni uspela."
},
@@ -155,7 +141,7 @@
"newOrder": "Vaše naročilo je v obdelavi.",
"forAdmin": "Imate novo naročilo.",
"orderDelivered": "Vaše naročilo je bilo dostavljeno.",
- "orderAccepted": "Vaše naročilo je bilo sprejeto.",
+ "orderProcessing": "Vaše naročilo je v obdelavi.",
"orderShipped": "Vaše naročilo je bilo poslano."
}
},
@@ -312,7 +298,12 @@
"cartDrawer": {
"empty": "Mi smo žalostni. Košara je prazna.",
"keepShopping": "Obdržati na nakupovanje",
- "checkout": "Naročilo zdaj"
+ "checkout": "Naročilo zdaj",
+ "new": "New",
+ "coreOrderWorkflow/created": "Ustvarjeno",
+ "coreOrderWorkflow/processing": "Obravnavati",
+ "coreOrderWorkflow/completed": "končan",
+ "coreOrderWorkflow/canceled": "preklicana"
},
"cartSubTotals": {
"discount": "popust",
@@ -394,9 +385,7 @@
"resendNotification": "Ponovno pošlji Pošiljka Obvestilo"
},
"orderWorkflow": {
- "fulfillment": "izpolnitev",
"orderDetails": "podrobnosti naročila",
- "summary": "Povzetek",
"invoice": "Račun",
"shipmentTracking": "pošiljka sledenje"
},
@@ -443,6 +432,7 @@
},
"addressBookEdit": {
"editAddress": "Urejanje ta vnos naslova",
+ "addressValidation": "naslov Validation",
"somethingWentWrong": "Nekaj je šlo narobe: {{err}}"
},
"corePackageConfig": {
@@ -473,12 +463,6 @@
"keywords": "ključne besede",
"keywordsPlaceholder": "Meta ključne besede za SEO",
"language": "Osnovna jezik",
- "languageTooltip": "Ta jezik bo uporabljen, če bo odkrivanje jezik naprave ni",
- "timezone": "Časovni pas",
- "timezoneOptions": "Izberite časovni pas",
- "currency": "Osnovna valuta",
- "currencyTooltip": "Trgovina privzeta valuta",
- "baseUOM": "Osnovna mersko enoto",
"addressBook": {
"company": "Podjetje",
"companyPlaceholder": "Ta firma",
@@ -715,6 +699,12 @@
"unknownError": "Neznana napaka"
}
},
+ "loginServices": {
+ "appId": "App ID",
+ "secret": "Skrivnost",
+ "clientId": "ID stranke",
+ "consumerKey": "ključ API"
+ },
"error": {
"nameRequired": "Ime je obvezno.",
"isRequired": "{{field}} je potrebno.",
diff --git a/private/data/i18n/sv.json b/private/data/i18n/sv.json
index 7e91aa0ff8a..8f6585859fe 100644
--- a/private/data/i18n/sv.json
+++ b/private/data/i18n/sv.json
@@ -95,8 +95,6 @@
"noProductsFound": "Inga produkter hittades.",
"private": "Privat",
"public": "offentlig",
- "allOn": "alla på",
- "allOff": "Alla",
"shortcut": {
"addProductLabel": "Lägg Produkt",
"accountsLabel": "Konton"
@@ -122,24 +120,12 @@
"settingsfailed": "Sökinställningar gick inte att uppdatera"
},
"shopSettings": {
- "general": "Allmänt",
- "address": "Adress",
- "import": "Import",
"localization": "Localization",
"options": "Val",
- "availableOptions": "tillgängliga alternativ",
"paymentMethods": "Betalningsmetoder",
"externalServices": "externa tjänster",
- "shopGeneralSettingsSaved": "Handla allmänna inställningar sparas.",
- "shopGeneralSettingsFailed": "Shop allmänna inställningar uppdatering misslyckades.",
- "shopAddressSettingsSaved": "Shop adressinställningar sparas.",
- "shopAddressSettingsFailed": "Shop adressinställningar uppdatering misslyckades.",
- "shopExternalServicesSettingsSaved": "Handla inställningar externa tjänster som sparats.",
- "shopExternalServicesSettingsFailed": "Handla inställningar externa tjänster uppdatering misslyckades.",
"shopLocalizationSettingsSaved": "Shop lokaliserings inställningar sparas.",
"shopLocalizationSettingsFailed": "Shop lokaliseringsinställningar uppdatering misslyckades.",
- "shopOptionsSettingsSaved": "Shop alternativ sparas.",
- "shopOptionsSettingsFailed": "Shop alternativ uppdatering misslyckades.",
"shopPaymentMethodsSaved": "Shop Betalning inställningar sparas.",
"shopPaymentMethodsFailed": "Shop Betalning inställningar uppdatering misslyckades."
},
@@ -155,7 +141,7 @@
"newOrder": "Din beställning behandlas.",
"forAdmin": "Du har en ny beställning.",
"orderDelivered": "Din beställning har levererats.",
- "orderAccepted": "Din beställning har accepterats.",
+ "orderProcessing": "Din beställning behandlas.",
"orderShipped": "Din beställning har skickats."
}
},
@@ -312,7 +298,12 @@
"cartDrawer": {
"empty": "Vi är ledsna. Din vagn är tom.",
"keepShopping": "Håll på shopping",
- "checkout": "kassan nu"
+ "checkout": "kassan nu",
+ "new": "Ny",
+ "coreOrderWorkflow/created": "Skapad",
+ "coreOrderWorkflow/processing": "bearbetning",
+ "coreOrderWorkflow/completed": "Avslutad",
+ "coreOrderWorkflow/canceled": "Avbrutet"
},
"cartSubTotals": {
"discount": "Rabatt",
@@ -394,9 +385,7 @@
"resendNotification": "Återsänd sändning Anmälan"
},
"orderWorkflow": {
- "fulfillment": "Uppfyllelse",
"orderDetails": "Orderdetaljer",
- "summary": "Sammanfattning",
"invoice": "Faktura",
"shipmentTracking": "Leveransspårning"
},
@@ -443,6 +432,7 @@
},
"addressBookEdit": {
"editAddress": "Redigera den här adressen inträde",
+ "addressValidation": "adress Validering",
"somethingWentWrong": "Något gick fel: {{err}}"
},
"corePackageConfig": {
@@ -473,12 +463,6 @@
"keywords": "Nyckelord",
"keywordsPlaceholder": "Meta sökord för SEO",
"language": "Base språk",
- "languageTooltip": "Detta språk kommer att användas när enheten språkidentifiering kommer att misslyckades",
- "timezone": "Tidszon",
- "timezoneOptions": "Välj tidszon",
- "currency": "basvaluta",
- "currencyTooltip": "Shop standardvaluta",
- "baseUOM": "Base mätenhet",
"addressBook": {
"company": "Företag",
"companyPlaceholder": "Denna firma",
@@ -715,6 +699,12 @@
"unknownError": "Okänt fel"
}
},
+ "loginServices": {
+ "appId": "App ID",
+ "secret": "Hemlighet",
+ "clientId": "Klient ID",
+ "consumerKey": "API-nyckel"
+ },
"error": {
"nameRequired": "Namn krävs.",
"isRequired": "{{field}} krävs.",
diff --git a/private/data/i18n/tr.json b/private/data/i18n/tr.json
index df1b7ee91f0..1b94ed6cd02 100644
--- a/private/data/i18n/tr.json
+++ b/private/data/i18n/tr.json
@@ -95,8 +95,6 @@
"noProductsFound": "Hiçbir ürün bulundu.",
"private": "Özel",
"public": "halka açık",
- "allOn": "Hepsi Açık",
- "allOff": "Hepsi Kapalı",
"shortcut": {
"addProductLabel": "Ürün ekle",
"accountsLabel": "Hesaplar"
@@ -122,24 +120,12 @@
"settingsfailed": "Arama ayarları güncellemesi başarısız"
},
"shopSettings": {
- "general": "Genel",
- "address": "Adres",
- "import": "Ithalat",
"localization": "yerelleştirme",
"options": "Seçenekler",
- "availableOptions": "mevcut seçenekler",
"paymentMethods": "Ödeme Yöntemleri",
"externalServices": "dış Hizmetler",
- "shopGeneralSettingsSaved": "Kaydedilen genel ayarları alışveriş.",
- "shopGeneralSettingsFailed": "Mağaza genel ayarlar güncelleme başarısız oldu.",
- "shopAddressSettingsSaved": "Mağaza adres ayarları kaydedildi.",
- "shopAddressSettingsFailed": "Mağaza adres ayarları güncellemesi başarısız oldu.",
- "shopExternalServicesSettingsSaved": "Kaydedilen dış hizmetler ayarlarını alışveriş.",
- "shopExternalServicesSettingsFailed": "dış hizmetler ayarları güncelleştirme alışveriş başarısız oldu.",
"shopLocalizationSettingsSaved": "Mağaza yerelleştirme ayarları kaydedildi.",
"shopLocalizationSettingsFailed": "Mağaza yerelleştirme ayarları güncellemesi başarısız oldu.",
- "shopOptionsSettingsSaved": "Mağaza seçenekleri kaydedildi.",
- "shopOptionsSettingsFailed": "Mağaza seçenekleri güncelleme başarısız oldu.",
"shopPaymentMethodsSaved": "Mağaza Ödeme Yöntemleri ayarları kaydedildi.",
"shopPaymentMethodsFailed": "Mağaza Ödeme Yöntemleri ayarları güncellemesi başarısız oldu."
},
@@ -155,7 +141,7 @@
"newOrder": "Siparişiniz işleniyor.",
"forAdmin": "Yeni bir düzen var.",
"orderDelivered": "Siparişiniz teslim edildi.",
- "orderAccepted": "Siparişiniz kabul edildi.",
+ "orderProcessing": "Siparişiniz işleniyor.",
"orderShipped": "Siparişiniz kargolandı."
}
},
@@ -312,7 +298,12 @@
"cartDrawer": {
"empty": "Üzgünüz. Sepetiniz boş.",
"keepShopping": "Alışverişe devam et",
- "checkout": "Ödemeye geç"
+ "checkout": "Ödemeye geç",
+ "new": "Yeni",
+ "coreOrderWorkflow/created": "oluşturuldu",
+ "coreOrderWorkflow/processing": "Işleme",
+ "coreOrderWorkflow/completed": "Tamamlanan",
+ "coreOrderWorkflow/canceled": "Iptal edildi"
},
"cartSubTotals": {
"discount": "İndirim",
@@ -394,9 +385,7 @@
"resendNotification": "Yeniden Gönder Gönderi Bildirimi"
},
"orderWorkflow": {
- "fulfillment": "yerine getirme",
"orderDetails": "sipariş detayları",
- "summary": "özet",
"invoice": "Fatura",
"shipmentTracking": "Sevk Takibi"
},
@@ -443,6 +432,7 @@
},
"addressBookEdit": {
"editAddress": "Bu adresi düzenleyin",
+ "addressValidation": "Adres Doğrulama",
"somethingWentWrong": "Bir şeyler ters gitti: {{err}}"
},
"corePackageConfig": {
@@ -473,12 +463,6 @@
"keywords": "Anahtar Kelimeler",
"keywordsPlaceholder": "SEO için Meta anahtar kelimeler",
"language": "baz Dili",
- "languageTooltip": "Cihaz dil algılama başarısız olacak, bu dil kullanılacaktır",
- "timezone": "Saat dilimi",
- "timezoneOptions": "dilimini seçin",
- "currency": "baz Döviz",
- "currencyTooltip": "Mağaza varsayılan para birimi",
- "baseUOM": "Ölçü Ana Ünite",
"addressBook": {
"company": "Şirket",
"companyPlaceholder": "Bu işletme adı",
@@ -715,6 +699,12 @@
"unknownError": "Bilinmeyen Hata"
}
},
+ "loginServices": {
+ "appId": "Uygulama kimliği",
+ "secret": "Gizli",
+ "clientId": "Müşteri Kimliği",
+ "consumerKey": "API Anahtarı"
+ },
"error": {
"nameRequired": "Adı gereklidir.",
"isRequired": "{{field}} gereklidir.",
diff --git a/private/data/i18n/vi.json b/private/data/i18n/vi.json
index b7f9bb0bbba..b36a45ce5d1 100644
--- a/private/data/i18n/vi.json
+++ b/private/data/i18n/vi.json
@@ -95,8 +95,6 @@
"noProductsFound": "Không tìm thấy sản phẩm.",
"private": "Riêng tư",
"public": "Công cộng",
- "allOn": "Tất cả Mở",
- "allOff": "Tất cả đều tắt",
"shortcut": {
"addProductLabel": "Thêm sản phẩm",
"accountsLabel": "tài khoản"
@@ -122,24 +120,12 @@
"settingsfailed": "Cài đặt tìm kiếm cập nhật thất bại"
},
"shopSettings": {
- "general": "Chung",
- "address": "Địa chỉ nhà",
- "import": "nhập",
"localization": "Localization",
"options": "Tùy chọn",
- "availableOptions": "Tùy chọn có sẵn",
"paymentMethods": "Phương thức thanh toán",
"externalServices": "Dịch vụ bên ngoài",
- "shopGeneralSettingsSaved": "Mua sắm thiết lập chung lưu.",
- "shopGeneralSettingsFailed": "Cửa hàng thiết lập chung cập nhật thất bại.",
- "shopAddressSettingsSaved": "thiết lập địa chỉ cửa hàng lưu.",
- "shopAddressSettingsFailed": "Cửa hàng thiết lập địa chỉ cập nhật thất bại.",
- "shopExternalServicesSettingsSaved": "Mua sắm các thiết lập dịch vụ bên ngoài lưu.",
- "shopExternalServicesSettingsFailed": "Mua sắm các thiết lập dịch vụ bên ngoài cập nhật thất bại.",
"shopLocalizationSettingsSaved": "thiết lập địa hóa cửa hàng lưu.",
"shopLocalizationSettingsFailed": "Cửa hàng thiết lập địa hóa cập nhật thất bại.",
- "shopOptionsSettingsSaved": "Cửa hàng tùy chọn lưu.",
- "shopOptionsSettingsFailed": "Cửa hàng tùy chọn cập nhật thất bại.",
"shopPaymentMethodsSaved": "Cửa hàng thiết lập Phương thức thanh toán lưu.",
"shopPaymentMethodsFailed": "Cửa hàng Phương thức thanh toán thiết lập cập nhật thất bại."
},
@@ -155,7 +141,7 @@
"newOrder": "Đơn hàng của bạn đang được xử lý.",
"forAdmin": "Bạn có một trật tự mới.",
"orderDelivered": "Chỗ đặt của bạn đã được gửi.",
- "orderAccepted": "Chỗ đặt của bạn đã được chấp nhận.",
+ "orderProcessing": "Đơn hàng của bạn đang được xử lý.",
"orderShipped": "Đặt hàng của bạn đã được chuyển đi."
}
},
@@ -312,7 +298,12 @@
"cartDrawer": {
"empty": "Chúng tôi đang buồn. Giỏ của bạn trống trơn.",
"keepShopping": "Tiếp tục mua sắm",
- "checkout": "Thanh toán tại"
+ "checkout": "Thanh toán tại",
+ "new": "Mới",
+ "coreOrderWorkflow/created": "Tạo",
+ "coreOrderWorkflow/processing": "Chế biến",
+ "coreOrderWorkflow/completed": "Đã hoàn thành",
+ "coreOrderWorkflow/canceled": "bị hủy bỏ"
},
"cartSubTotals": {
"discount": "Giảm giá",
@@ -394,9 +385,7 @@
"resendNotification": "Gửi lại lô hàng thông báo"
},
"orderWorkflow": {
- "fulfillment": "hoàn thành",
"orderDetails": "Đặt hàng Chi tiết",
- "summary": "Tóm lược",
"invoice": "Hóa đơn",
"shipmentTracking": "Theo dõi lô hàng"
},
@@ -443,6 +432,7 @@
},
"addressBookEdit": {
"editAddress": "Chỉnh sửa mục nhập địa chỉ này",
+ "addressValidation": "địa chỉ Validation",
"somethingWentWrong": "Một cái gì đó đã đi sai: {{err}}"
},
"corePackageConfig": {
@@ -473,12 +463,6 @@
"keywords": "Từ khóa",
"keywordsPlaceholder": "Meta từ khóa cho SEO",
"language": "cơ sở Ngôn ngữ",
- "languageTooltip": "Ngôn ngữ này sẽ được sử dụng nếu phát hiện ngôn ngữ thiết bị sẽ được thất bại",
- "timezone": "Múi giờ",
- "timezoneOptions": "Chọn múi giờ",
- "currency": "base Currency",
- "currencyTooltip": "tiền tệ mặc định cửa hàng",
- "baseUOM": "Đơn vị cơ sở của Đo",
"addressBook": {
"company": "Công ty",
"companyPlaceholder": "tên doanh nghiệp này",
@@ -715,6 +699,12 @@
"unknownError": "Lỗi không rõ"
}
},
+ "loginServices": {
+ "appId": "ID ứng dụng",
+ "secret": "Bí mật",
+ "clientId": "Client ID",
+ "consumerKey": "API Key"
+ },
"error": {
"nameRequired": "Tên là bắt buộc.",
"isRequired": "{{field}} là bắt buộc.",
diff --git a/private/data/i18n/zh.json b/private/data/i18n/zh.json
index 4cc9594b189..026d0373729 100644
--- a/private/data/i18n/zh.json
+++ b/private/data/i18n/zh.json
@@ -95,8 +95,6 @@
"noProductsFound": "未找到任何产品。",
"private": "私人",
"public": "上市",
- "allOn": "全部打开",
- "allOff": "全部关闭",
"shortcut": {
"addProductLabel": "添加产品",
"accountsLabel": "帐户"
@@ -122,24 +120,12 @@
"settingsfailed": "搜索设置更新失败"
},
"shopSettings": {
- "general": "通用",
- "address": "地址",
- "import": "导入",
"localization": "本地化",
"options": "选项",
- "availableOptions": "可用选项",
"paymentMethods": "支付方式",
"externalServices": "外部服务",
- "shopGeneralSettingsSaved": "商店常规设置已保存。",
- "shopGeneralSettingsFailed": "商店常规设置更新失败。",
- "shopAddressSettingsSaved": "商店地址设置已保存。",
- "shopAddressSettingsFailed": "商店地址设置更新失败。",
- "shopExternalServicesSettingsSaved": "商店外部服务设置已保存。",
- "shopExternalServicesSettingsFailed": "商店外部服务设置更新失败。",
"shopLocalizationSettingsSaved": "商店位置设置已保存。",
"shopLocalizationSettingsFailed": "商店位置设置更新失败。",
- "shopOptionsSettingsSaved": "商店选项已保存。",
- "shopOptionsSettingsFailed": "商店选项更新失败。",
"shopPaymentMethodsSaved": "商店付款方式设置已保存。",
"shopPaymentMethodsFailed": "商店付款方式设置更新失败。"
},
@@ -155,7 +141,7 @@
"newOrder": "正在处理您的订单。",
"forAdmin": "你有一个新的秩序。",
"orderDelivered": "您的订单已交付。",
- "orderAccepted": "您的订单已被接受。",
+ "orderProcessing": "您的订单正在处理中。",
"orderShipped": "您的订单已发货。"
}
},
@@ -312,7 +298,12 @@
"cartDrawer": {
"empty": "我们非常抱歉,您的购物车是空的。",
"keepShopping": "继续购物",
- "checkout": "立刻结算"
+ "checkout": "立刻结算",
+ "new": "新订单",
+ "coreOrderWorkflow/created": "已生成",
+ "coreOrderWorkflow/processing": "正在处理",
+ "coreOrderWorkflow/completed": "已完成",
+ "coreOrderWorkflow/canceled": "已取消"
},
"cartSubTotals": {
"discount": "折扣",
@@ -394,9 +385,7 @@
"resendNotification": "重新发送出货通知"
},
"orderWorkflow": {
- "fulfillment": "履行",
"orderDetails": "订单详细信息",
- "summary": "概要",
"invoice": "账单",
"shipmentTracking": "发货跟踪"
},
@@ -443,6 +432,7 @@
},
"addressBookEdit": {
"editAddress": "编辑地址",
+ "addressValidation": "地址验证",
"somethingWentWrong": "出现了错误:{{err}}"
},
"corePackageConfig": {
@@ -473,12 +463,6 @@
"keywords": "关键字",
"keywordsPlaceholder": "SEO 元关键字",
"language": "基本语言",
- "languageTooltip": "如果设备语言检测失败,将使用此种语言",
- "timezone": "时区",
- "timezoneOptions": "选择时区",
- "currency": "基本币种",
- "currencyTooltip": "商店默认币种",
- "baseUOM": "基本度量单位",
"addressBook": {
"company": "公司",
"companyPlaceholder": "此公司名称",
@@ -715,6 +699,12 @@
"unknownError": "未知错误。"
}
},
+ "loginServices": {
+ "appId": "应用程式ID",
+ "secret": "秘密",
+ "clientId": "客户端ID",
+ "consumerKey": "API密钥"
+ },
"error": {
"nameRequired": "需要填写姓名。",
"isRequired": "{{field}} 为必填项。",
diff --git a/private/email/templates/accounts/sendWelcomeEmail.html b/private/email/templates/accounts/sendWelcomeEmail.html
index e7aa5ddde37..5bd945a7c79 100644
--- a/private/email/templates/accounts/sendWelcomeEmail.html
+++ b/private/email/templates/accounts/sendWelcomeEmail.html
@@ -75,7 +75,7 @@
|
diff --git a/server/api/core/core.js b/server/api/core/core.js
index 8ede7f52183..1b4cdc0445d 100644
--- a/server/api/core/core.js
+++ b/server/api/core/core.js
@@ -6,7 +6,6 @@ import { EJSON } from "meteor/ejson";
import { Jobs, Packages, Shops } from "/lib/collections";
import { Hooks, Logger } from "/server/api";
import ProcessJobs from "/server/jobs";
-import { getRegistryDomain } from "./setDomain";
import { registerTemplate } from "./templates";
import { sendVerificationEmail } from "./accounts";
import { getMailUrl } from "./email/config";
@@ -79,6 +78,7 @@ export default {
let permissions;
// default group to the shop or global if shop isn't defined for some reason.
+ let group;
if (checkGroup !== undefined && typeof checkGroup === "string") {
group = checkGroup;
} else {
@@ -246,18 +246,11 @@ export default {
* createDefaultAdminUser
* @summary Method that creates default admin user
* Settings load precendence:
- * 1. settings in meteor.settings
- * 2. environment variables
+ * 1. environment variables
+ * 2. settings in meteor.settings
* @returns {String} return userId
*/
createDefaultAdminUser() {
- const domain = getRegistryDomain();
- const env = process.env;
- const defaultAdminRoles = ["owner", "admin", "guest", "account/profile"];
- let options = {};
- let configureEnv = false;
- let accountId;
-
const shopId = this.getShopId();
// if an admin user has already been created, we'll exit
@@ -267,28 +260,49 @@ export default {
}
// run hooks on options object before creating user (the options object must be returned from all callbacks)
+ let options = {};
options = Hooks.Events.run("beforeCreateDefaultAdminUser", options);
- //
- // process Meteor settings and env variables for initial user config if ENV variables are set, these always override
- // "settings.json" this is to allow for testing environments. where we don't want to use users configured in a settings
- // file.
- //
- if (env.REACTION_EMAIL && env.REACTION_USER && env.REACTION_AUTH) {
+ // If $REACTION_SECURE_DEFAULT_ADMIN is set to "true" on first run,
+ // a random email/password will be generated instead of using the
+ // default email and password (email: admin@localhost pw: r3@cti0n)
+ // and the new admin user will need to verify their email to log in.
+ // If a random email and password are generated, the console will be
+ // the only place to retrieve them.
+ // If the admin email/password is provided via environment or Meteor settings,
+ // the $REACTION_SECURE_DEFAULT_ADMIN will only enforce the email validation part.
+ const isSecureSetup = process.env.REACTION_SECURE_DEFAULT_ADMIN === "true";
+
+ // generate default values to use if none are supplied
+ const defaultEmail = isSecureSetup ? `${Random.id(8).toLowerCase()}@localhost` : "admin@localhost";
+ const defaultPassword = isSecureSetup ? Random.secret(8) : "r3@cti0n";
+ const defaultUsername = "admin";
+ const defaultName = "Admin";
+
+ // Process environment variables and Meteor settings for initial user config.
+ // If ENV variables are set, they always override Meteor settings (settings.json).
+ // This is to allow for testing environments where we don't want to use users configured in a settings file.
+ const env = process.env;
+ let configureEnv = false;
+
+ if (env.REACTION_EMAIL && env.REACTION_AUTH) {
configureEnv = true;
+ Logger.info("Using environment variables to create admin user");
}
- // defaults use either env or generated
- options.email = env.REACTION_EMAIL || Random.id(8).toLowerCase() + "@" + domain;
- options.username = env.REACTION_USER || "Admin"; // username
- options.password = env.REACTION_AUTH || Random.secret(8);
+ // defaults use either env or generated values
+ options.email = env.REACTION_EMAIL || defaultEmail;
+ options.password = env.REACTION_AUTH || defaultPassword;
+ options.username = env.REACTION_USER_NAME || defaultUsername;
+ options.name = env.REACTION_USER || defaultName;
- // but we can override with provided `meteor --settings`
+ // or use `meteor --settings`
if (Meteor.settings && !configureEnv) {
if (Meteor.settings.reaction) {
- options.username = Meteor.settings.reaction.REACTION_USER || "Admin";
- options.password = Meteor.settings.reaction.REACTION_AUTH || Random.secret(8);
- options.email = Meteor.settings.reaction.REACTION_EMAIL || Random.id(8).toLowerCase() + "@" + domain;
+ options.email = Meteor.settings.reaction.REACTION_EMAIL || defaultEmail;
+ options.password = Meteor.settings.reaction.REACTION_AUTH || defaultPassword;
+ options.username = Meteor.settings.reaction.REACTION_USER || defaultUsername;
+ options.name = Meteor.settings.reaction.REACTION_USER_NAME || defaultName;
Logger.info("Using meteor --settings to create admin user");
}
}
@@ -299,15 +313,27 @@ export default {
emails: {
address: options.email,
verified: true
- },
- domains: Meteor.settings.ROOT_URL
+ }
}
});
+ // get the current shop
+ const shop = Shops.findOne(shopId);
+
+ // add the current domain to the shop if it doesn't already exist
+ if (!shop.domains.includes(this.getDomain())) {
+ // set the default shop email to the default admin email
+ Shops.update(shopId, {
+ $addToSet: {
+ domains: domain
+ }
+ });
+ }
+
//
// create the new admin user
//
-
+ let accountId;
// we're checking again to see if this user was created but not specifically for this shop.
if (Meteor.users.find({ "emails.address": options.email }).count() === 0) {
accountId = Accounts.createUser(options);
@@ -316,12 +342,16 @@ export default {
accountId = Meteor.users.findOne({ "emails.address": options.email })._id;
}
- //
- // send verification email
- //
+ // update the user's name if it was provided
+ // (since Accounts.createUser() doesn't allow that field and strips it out)
+ Meteor.users.update(accountId, {
+ $set: {
+ name: options.name
+ }
+ });
- // we dont need to validate admin user in development
- if (process.env.NODE_ENV === "development") {
+ // unless strict security is enabled, mark the admin's email as validated
+ if (!isSecureSetup) {
Meteor.users.update({
"_id": accountId,
"emails.address": options.email
@@ -338,11 +368,11 @@ export default {
//
// Set Default Roles
//
-
+ const defaultAdminRoles = ["owner", "admin", "guest", "account/profile"];
// we don't use accounts/addUserPermissions here because we may not yet have permissions
- Roles.setUserRoles(accountId, _.uniq(defaultAdminRoles), shopId);
+ Roles.setUserRoles(accountId, defaultAdminRoles, shopId);
// // the reaction owner has permissions to all sites by default
- Roles.setUserRoles(accountId, _.uniq(defaultAdminRoles), Roles.GLOBAL_GROUP);
+ Roles.setUserRoles(accountId, defaultAdminRoles, Roles.GLOBAL_GROUP);
// initialize package permissions we don't need to do any further permission configuration it is taken care of in the
// assignOwnerRoles
const packages = Packages.find().fetch();
@@ -350,10 +380,8 @@ export default {
this.assignOwnerRoles(shopId, pkg.name, pkg.registry);
}
- //
- // notify user that admin was created account email should print on console
- //
-
+ // notify user that the default admin was created by
+ // printing the account info to the console
Logger.warn(`\n *********************************
\n IMPORTANT! DEFAULT ADMIN INFO
\n EMAIL/LOGIN: ${options.email}
@@ -363,6 +391,7 @@ export default {
// run hooks on new user object
const user = Meteor.users.findOne(accountId);
Hooks.Events.run("afterCreateDefaultAdminUser", user);
+
return accountId;
},
diff --git a/server/api/core/email/config.js b/server/api/core/email/config.js
index eb279c35da2..56d6ecb97df 100644
--- a/server/api/core/email/config.js
+++ b/server/api/core/email/config.js
@@ -1,4 +1,4 @@
-import nodemailer from "nodemailer";
+import nodemailer from "@reactioncommerce/nodemailer";
import getServiceConfig from "nodemailer-wellknown";
import url from "url";
import { Meteor } from "meteor/meteor";
@@ -78,23 +78,29 @@ export function getMailConfig() {
if (mailString) {
// parse the url
const parsedUrl = url.parse(mailString);
- const creds = parsedUrl.auth.split(":");
+ const creds = !!parsedUrl.auth && parsedUrl.auth.split(":");
parsedUrl.port = Number(parsedUrl.port);
Logger.debug(`Using ${parsedUrl.hostname} to send email`);
// create a nodemailer config from the SMTP url string
- return {
+ const config = {
host: parsedUrl.hostname,
port: parsedUrl.port,
// since the port is casted to number above
secure: parsedUrl.port === 465,
- auth: {
- user: creds[0],
- pass: creds[1]
- },
logger: process.env.EMAIL_DEBUG === "true"
};
+
+ // add user/pass to the config object if they were found
+ if (!!creds) {
+ config.auth = {
+ user: creds[0],
+ pass: creds[1]
+ };
+ }
+
+ return config;
}
// check for mail settings in the database
diff --git a/server/api/core/import.js b/server/api/core/import.js
index b05ff4331fb..6e7787c33f1 100644
--- a/server/api/core/import.js
+++ b/server/api/core/import.js
@@ -2,7 +2,7 @@ import { Mongo } from "meteor/mongo";
import { EJSON } from "meteor/ejson";
import * as Collections from "/lib/collections";
import Hooks from "../hooks";
-import Logger from "../logger";
+import { Logger } from "../logger";
import doRightJoinNoIntersection from "./rightJoin";
/**
@@ -223,9 +223,7 @@ Import.buffer = function (collection) {
* * Push the variant if it doesn't exist.
* * Update the variant.
*/
-Import.product = function (key, product, parent) {
- check(parent, Object);
-
+Import.product = function (key, product) {
return this.object(Collections.Products, key, product);
};
diff --git a/server/api/geocoder.js b/server/api/geocoder.js
index dcf97609f45..bab001cdd80 100644
--- a/server/api/geocoder.js
+++ b/server/api/geocoder.js
@@ -1,7 +1,7 @@
-import { Packages } from "/lib/collections";
-import { Logger, Reaction } from "/server/api";
import { HTTP } from "meteor/http";
import { Meteor } from "meteor/meteor";
+import { Packages } from "/lib/collections";
+import { Logger, Reaction } from "/server/api";
/**
* meteor-geocoder
@@ -12,14 +12,9 @@ import { Meteor } from "meteor/meteor";
* Copyright (c) 2014 Eric Dobbertin
*/
-// backwards compatibility
-if (typeof Meteor.wrapAsync === "undefined") {
- Meteor.wrapAsync = Meteor._wrapAsync;
-}
-/* eslint func-style: 1 */
//
// init geocoder
-export const GeoCoder = (options) => {
+function GeoCoder(options) {
let extra;
const self = this;
// fetch shop settings for api auth credentials
@@ -46,7 +41,7 @@ export const GeoCoder = (options) => {
httpAdapter: "https",
extra: extra
}, options || {});
-};
+}
function gc(address, options, callback) {
const g = require("node-geocoder")(options.geocoderProvider, options.httpAdapter,
@@ -86,7 +81,7 @@ GeoCoder.prototype.reverse = function geoCoderReverse(lat, lng, callback) {
rv(lat, lng, this.options, geoCallback);
} else {
try {
- address = Meteor.wrapAsync(rv)(lat, lng, this.options);
+ const address = Meteor.wrapAsync(rv)(lat, lng, this.options);
return address[0];
} catch (_error) {
return {
@@ -135,3 +130,5 @@ GeoCoder.prototype.geoip = function geoCoderGeocode(address, callback) {
}
}
};
+
+export default GeoCoder;
diff --git a/server/api/index.js b/server/api/index.js
index 3048814ad61..438a604454a 100644
--- a/server/api/index.js
+++ b/server/api/index.js
@@ -1,26 +1,11 @@
import Reaction from "./core";
import * as Accounts from "./core/accounts";
import Router from "./router";
-import { GeoCoder } from "./geocoder";
+import GeoCoder from "./geocoder";
import Hooks from "./hooks";
-import Logger from "./logger";
+import { Logger } from "./logger";
import { MethodHooks } from "./method-hooks";
-// Legacy globals
-// TODO: add deprecation warnings
-ReactionCore = Reaction;
-ReactionRouter = Router;
-ReactionRegistry = {
- assignOwnerRoles: Reaction.assignOwnerRoles,
- createDefaultAdminUser: Reaction.createDefaultAdminUser,
- getRegistryDomain: Reaction.getRegistryDomain,
- loadPackages: Reaction.loadPackages,
- loadSettings: Reaction.loadSettings,
- Packages: Reaction.Packages,
- setDomain: Reaction.setDomain,
- setShopName: Reaction.setShopName
-};
-
export {
Reaction,
Accounts,
diff --git a/server/api/logger/index.js b/server/api/logger/index.js
new file mode 100644
index 00000000000..ddc3ef84dda
--- /dev/null
+++ b/server/api/logger/index.js
@@ -0,0 +1 @@
+export { default as Logger } from "./main";
diff --git a/server/api/logger/loggly.js b/server/api/logger/loggly.js
new file mode 100644
index 00000000000..ba09ab12d3d
--- /dev/null
+++ b/server/api/logger/loggly.js
@@ -0,0 +1,67 @@
+import loggly from "node-loggly-bulk";
+
+class Bunyan2Loggly {
+ constructor(logglyConfig, bufferLength = 1, bufferTimeout, callback) {
+ if (!logglyConfig || !logglyConfig.token || !logglyConfig.subdomain) {
+ throw new Error("bunyan-loggly requires a config object with token and subdomain");
+ }
+
+ logglyConfig.json = true;
+
+ this.logglyClient = loggly.createClient(logglyConfig);
+
+ this._buffer = [];
+ this.bufferLength = bufferLength;
+ this.bufferTimeout = bufferTimeout;
+ this.callback = callback || function () {};
+ }
+
+ write(data) {
+ if (typeof data !== "object") {
+ throw new Error("bunyan-loggly requires a raw stream. Please define the type as raw when setting up the bunyan stream.");
+ }
+
+ // loggly prefers timestamp over time
+ if (data.time) {
+ data.timestamp = data.time;
+ delete data.time;
+ }
+
+ this._buffer.push(data);
+
+ this._checkBuffer();
+ }
+
+ _processBuffer() {
+ clearTimeout(this._timeoutId);
+
+ let content = this._buffer.slice();
+
+ this._buffer = [];
+
+ if (content.length === 1) {
+ content = content[0];
+ }
+
+ this.logglyClient.log(content, (error, result) => {
+ this.callback(error, result, content);
+ });
+ }
+
+ _checkBuffer() {
+ if (!this._buffer.length) {
+ return;
+ }
+
+ if (this._buffer.length >= this.bufferLength) {
+ return this._processBuffer();
+ }
+
+ if (this.bufferTimeout) {
+ clearTimeout(this._timeoutId);
+ this._timeoutId = setTimeout(() => { this._processBuffer(); }, this.bufferTimeout);
+ }
+ }
+}
+
+export default Bunyan2Loggly;
diff --git a/server/api/logger.js b/server/api/logger/main.js
similarity index 73%
rename from server/api/logger.js
rename to server/api/logger/main.js
index 561591bff15..f7436e3b2d1 100644
--- a/server/api/logger.js
+++ b/server/api/logger/main.js
@@ -1,7 +1,8 @@
+import _ from "lodash";
import bunyan from "bunyan";
import bunyanFormat from "bunyan-format";
-import Bunyan2Loggly from "bunyan-loggly";
-import { includes } from "lodash";
+import { Meteor } from "meteor/meteor";
+import Bunyan2Loggly from "./loggly";
// configure bunyan logging module for reaction server
// See: https://github.com/trentm/node-bunyan#levels
@@ -9,18 +10,18 @@ const levels = ["FATAL", "ERROR", "WARN", "INFO", "DEBUG", "TRACE"];
// set stdout log level
let level = process.env.REACTION_LOG_LEVEL || Meteor.settings.REACTION_LOG_LEVEL || "INFO";
-let outputMode = "short";
+
+// allow overriding the stdout log formatting
+// available options: short|long|simple|json|bunyan
+// https://www.npmjs.com/package/bunyan-format
+const outputMode = process.env.REACTION_LOG_FORMAT || "short";
level = level.toUpperCase();
-if (!includes(levels, level)) {
+if (!_.includes(levels, level)) {
level = "INFO";
}
-if (level === "TRACE") {
- outputMode = "json";
-}
-
// default console config (stdout)
const streams = [{
level,
@@ -38,7 +39,7 @@ if (logglyToken && logglySubdomain) {
stream: new Bunyan2Loggly({
token: logglyToken,
subdomain: logglySubdomain
- })
+ }, process.env.LOGGLY_BUFFER_LENGTH || 1)
};
streams.push(logglyStream);
}
diff --git a/server/jobs/email.js b/server/jobs/email.js
index b6fe3605ab0..4bbcaf39afb 100644
--- a/server/jobs/email.js
+++ b/server/jobs/email.js
@@ -1,4 +1,4 @@
-import nodemailer from "nodemailer";
+import nodemailer from "@reactioncommerce/nodemailer";
import { Emails, Jobs } from "/lib/collections";
import { Reaction, Logger } from "/server/api";
diff --git a/server/methods/accounts/accounts.js b/server/methods/accounts/accounts.js
index cce0e9bc93c..c00d9478a6d 100644
--- a/server/methods/accounts/accounts.js
+++ b/server/methods/accounts/accounts.js
@@ -1,12 +1,61 @@
import _ from "lodash";
import moment from "moment";
import path from "path";
+import { Meteor } from "meteor/meteor";
import { Accounts as MeteorAccounts } from "meteor/accounts-base";
+import { check, Match } from "meteor/check";
import { Accounts, Cart, Media, Shops, Packages } from "/lib/collections";
import * as Schemas from "/lib/collections/schemas";
import { Logger, Reaction } from "/server/api";
+/**
+ * verifyAccount
+ * @summary verify registered user account
+ * @param {String} email - user email
+ * @param {String} token - user token, if the user is invited
+ * @returns {Boolean} - returns boolean
+ */
+export function verifyAccount(email, token) {
+ check(email, String);
+ check(token, Match.Optional(String));
+
+ let account;
+ if (token) {
+ account = Meteor.users.findOne({
+ "services.password.reset.token": token
+ });
+ } else {
+ account = Accounts.findOne({
+ "emails.address": email
+ });
+ }
+
+ if (account) {
+ const verified = account.emails[0].verified;
+ if (!verified) {
+ Meteor.users.update({
+ "_id": account._id,
+ "emails.address": account.emails[0].address
+ }, {
+ $set: {
+ "emails.$.verified": true
+ }
+ });
+ Accounts.update({
+ "userId": account._id,
+ "emails.address": account.emails[0].address
+ }, {
+ $set: {
+ "emails.$.verified": true
+ }
+ });
+ }
+ return true;
+ }
+ return false;
+}
+
/**
* @summary Returns the name of the geocoder method to use
* @returns {string} Name of the Geocoder method to use
@@ -55,57 +104,77 @@ function getValidator() {
* @summary Compare individual fields of address and accumulate errors
* @param {Object} address - the address provided by the customer
* @param {Object} validationAddress - address provided by validator
- * @returns {Array} Array of errors (or empty)
+ * @returns {Object} An object with an array of errors per field
*/
function compareAddress(address, validationAddress) {
- const errors = [];
+ const errors = {
+ address1: [],
+ address2: [],
+ city: [],
+ postal: [],
+ region: [],
+ country: [],
+ totalErrors: 0
+ };
// first check, if a field is missing (and was present in original address), that means it didn't validate
// TODO rewrite with just a loop over field names but KISS for now
if (address.address1 && !validationAddress.address1) {
- errors.push({ address1: "Address line one did not validate" });
+ errors.address1.push("Address line one did not validate");
+ errors.totalErrors++;
}
if (address.address2 && validationAddress.address2 && _.trim(_.upperCase(address.address2)) !== _.trim(_.upperCase(validationAddress.address2))) {
- errors.push({ address2: "Address line 2 did not validate" });
+ errors.address2.push("Address line 2 did not validate");
+ errors.totalErrors++;
}
if (!validationAddress.city) {
- errors.push({ city: "City did not validate" });
+ errors.city.push("City did not validate");
+ errors.totalErrors++;
}
if (address.postal && !validationAddress.postal) {
- errors.push({ postal: "Postal did not validate" });
+ errors.postal.push("Postal did not validate");
+ errors.totalErrors++;
}
if (address.region && !validationAddress.region) {
- errors.push({ region: "Region did not validate" });
+ errors.region.push("Region did not validate");
+ errors.totalErrors++;
}
if (address.country && !validationAddress.country) {
- errors.push({ country: "Country did not validate" });
+ errors.country.push("Country did not validate");
+ errors.totalErrors++;
}
// second check if both fields exist, but they don't match (which almost always happen for certain fields on first time)
if (validationAddress.address1 && address.address1 && _.trim(_.upperCase(address.address1)) !== _.trim(_.upperCase(validationAddress.address1))) {
- errors.push({ address1: "Address line 1 did not match" });
+ errors.address1.push({ address1: "Address line 1 did not match" });
+ errors.totalErrors++;
}
if (validationAddress.address2 && address.address2 && (_.upperCase(address.address2) !== _.upperCase(validationAddress.address2))) {
- errors.push({ address2: "Address line 2" });
+ errors.address2.push("Address line 2 did not match");
+ errors.totalErrors++;
}
if (validationAddress.city && address.city && _.trim(_.upperCase(address.city)) !== _.trim(_.upperCase(validationAddress.city))) {
- errors.push({ city: "City did not match" });
+ errors.city.push("City did not match");
+ errors.totalErrors++;
}
if (validationAddress.postal && address.postal && _.trim(_.upperCase(address.postal)) !== _.trim(_.upperCase(validationAddress.postal))) {
- errors.push({ postal: "Postal Code did not match" });
+ errors.postal.push("Postal Code did not match");
+ errors.totalErrors++;
}
if (validationAddress.region && address.region && _.trim(_.upperCase(address.region)) !== _.trim(_.upperCase(validationAddress.region))) {
- errors.push({ region: "Region did not match" });
+ errors.region.push("Region did not match");
+ errors.totalErrors++;
}
if (validationAddress.country && address.country && _.upperCase(address.country) !== _.upperCase(validationAddress.country)) {
- errors.push({ country: "Country did not match" });
+ errors.country.push("Country did not match");
+ errors.totalErrors++;
}
return errors;
}
@@ -115,7 +184,7 @@ function compareAddress(address, validationAddress) {
* @param {Object} address - The address object to validate
* @returns {{validated: boolean, address: *}} - The results of the validation
*/
-function validateAddress(address) {
+export function validateAddress(address) {
check(address, Object);
let validated = true;
let validationErrors;
@@ -129,77 +198,166 @@ function validateAddress(address) {
formErrors = validationResult.errors;
if (validatedAddress) {
validationErrors = compareAddress(address, validatedAddress);
- if (validationErrors.length || formErrors.length) {
+ if (validationErrors.totalErrors || formErrors.length) {
validated = false;
+ validatedAddress.failedValidation = false;
}
} else {
// No address, fail validation
validated = false;
+ validatedAddress.failedValidation = false;
}
}
const validationResults = { validated, fieldErrors: validationErrors, formErrors, validatedAddress };
return validationResults;
}
-/**
- * Reaction Account Methods
- */
-Meteor.methods({
- "accounts/validateAddress": validateAddress,
- /*
+/*
* check if current user has password
*/
- "accounts/currentUserHasPassword": function () {
- const user = Meteor.users.findOne(Meteor.userId());
- if (user.services.password) {
- return true;
- }
- return false;
- },
+function currentUserHasPassword() {
+ const user = Meteor.users.findOne(Meteor.userId());
+ return !!user.services.password;
+}
- /**
- * accounts/addressBookAdd
- * @description add new addresses to an account
- * @param {Object} address - address
- * @param {String} [accountUserId] - `account.userId` used by admin to edit
- * users
- * @return {Object} with keys `numberAffected` and `insertedId` if doc was
- * inserted
- */
- "accounts/addressBookAdd": function (address, accountUserId) {
- check(address, Schemas.Address);
- check(accountUserId, Match.Optional(String));
- // security, check for admin access. We don't need to check every user call
- // here because we are calling `Meteor.userId` from within this Method.
- if (typeof accountUserId === "string") { // if this will not be a String -
- // `check` will not pass it.
- if (!Reaction.hasAdminAccess()) {
- throw new Meteor.Error(403, "Access denied");
- }
+/**
+ * addressBookAdd
+ * @description add new addresses to an account
+ * @param {Object} address - address
+ * @param {String} [accountUserId] - `account.userId` used by admin to edit
+ * users
+ * @return {Object} with keys `numberAffected` and `insertedId` if doc was
+ * inserted
+ */
+export function addressBookAdd(address, accountUserId) {
+ check(address, Schemas.Address);
+ check(accountUserId, Match.Optional(String));
+ // security, check for admin access. We don't need to check every user call
+ // here because we are calling `Meteor.userId` from within this Method.
+ if (typeof accountUserId === "string") { // if this will not be a String -
+ // `check` will not pass it.
+ if (!Reaction.hasAdminAccess()) {
+ throw new Meteor.Error(403, "Access denied");
}
- this.unblock();
+ }
+ this.unblock();
- const userId = accountUserId || Meteor.userId();
- // required default id
- if (!address._id) {
- address._id = Random.id();
+ const userId = accountUserId || Meteor.userId();
+ // required default id
+ if (!address._id) {
+ address._id = Random.id();
+ }
+ // if address got shippment or billing default, we need to update cart
+ // addresses accordingly
+ if (address.isShippingDefault || address.isBillingDefault) {
+ const cart = Cart.findOne({ userId: userId });
+ // if cart exists
+ // First amend the cart,
+ if (typeof cart === "object") {
+ if (address.isShippingDefault) {
+ Meteor.call("cart/setShipmentAddress", cart._id, address);
+ }
+ if (address.isBillingDefault) {
+ Meteor.call("cart/setPaymentAddress", cart._id, address);
+ }
}
- // if address got shippment or billing default, we need to update cart
- // addresses accordingly
- if (address.isShippingDefault || address.isBillingDefault) {
- const cart = Cart.findOne({ userId: userId });
- // if cart exists
- // First amend the cart,
- if (typeof cart === "object") {
- if (address.isShippingDefault) {
- Meteor.call("cart/setShipmentAddress", cart._id, address);
+ // then change the address that has been affected
+ if (address.isShippingDefault) {
+ Accounts.update({
+ "userId": userId,
+ "profile.addressBook.isShippingDefault": true
+ }, {
+ $set: {
+ "profile.addressBook.$.isShippingDefault": false
}
- if (address.isBillingDefault) {
- Meteor.call("cart/setPaymentAddress", cart._id, address);
+ });
+ }
+ if (address.isBillingDefault) {
+ Accounts.update({
+ "userId": userId,
+ "profile.addressBook.isBillingDefault": true
+ }, {
+ $set: {
+ "profile.addressBook.$.isBillingDefault": false
}
- }
- // then change the address that has been affected
+ });
+ }
+ }
+
+ Meteor.users.update(Meteor.userId(), {
+ $set: {
+ "name": address.fullName,
+ "profile.addressBook": address
+ }
+ });
+
+ return Accounts.upsert({
+ userId: userId
+ }, {
+ $set: {
+ name: address.fullName,
+ userId: userId
+ },
+ $addToSet: {
+ "profile.addressBook": address
+ }
+ });
+}
+
+/**
+ * addressBookUpdate
+ * @description update existing address in user's profile
+ * @param {Object} address - address
+ * @param {String|null} [accountUserId] - `account.userId` used by admin to
+ * edit users
+ * @param {shipping|billing} [type] - name of selected address type
+ * @return {Number} The number of affected documents
+ */
+export function addressBookUpdate(address, accountUserId, type) {
+ check(address, Schemas.Address);
+ check(accountUserId, Match.OneOf(String, null, undefined));
+ check(type, Match.Optional(String));
+ // security, check for admin access. We don't need to check every user call
+ // here because we are calling `Meteor.userId` from within this Method.
+ if (typeof accountUserId === "string") { // if this will not be a String -
+ // `check` will not pass it.
+ if (!Reaction.hasAdminAccess()) {
+ throw new Meteor.Error(403, "Access denied");
+ }
+ }
+ this.unblock();
+
+ const userId = accountUserId || Meteor.userId();
+ // we need to compare old state of isShippingDefault, isBillingDefault with
+ // new state and if it was enabled/disabled reflect this changes in cart
+ const account = Accounts.findOne({
+ userId: userId
+ });
+ const oldAddress = account.profile.addressBook.find(function (addr) {
+ return addr._id === address._id;
+ });
+
+ // happens when the user clicked the address in grid. We need to set type
+ // to `true`
+ if (typeof type === "string") {
+ Object.assign(address, { [type]: true });
+ }
+
+ // We want the cart addresses to be updated when current default address
+ // (shipping or Billing) are different than the previous one, but also
+ // when the current default address(ship or bill) gets edited(so Current and Previous default are the same).
+ // This check can be simplified to :
+ if (address.isShippingDefault || address.isBillingDefault ||
+ oldAddress.isShippingDefault || address.isBillingDefault) {
+ const cart = Cart.findOne({ userId: userId });
+ // Cart should exist to this moment, so we doesn't need to to verify its
+ // existence.
+ if (oldAddress.isShippingDefault !== address.isShippingDefault) {
+ // if isShippingDefault was changed and now it is `true`
if (address.isShippingDefault) {
+ // we need to add this address to cart
+ Meteor.call("cart/setShipmentAddress", cart._id, address);
+ // then, if another address was `ShippingDefault`, we need to unset it
Accounts.update({
"userId": userId,
"profile.addressBook.isShippingDefault": true
@@ -208,8 +366,20 @@ Meteor.methods({
"profile.addressBook.$.isShippingDefault": false
}
});
+ } else {
+ // if new `isShippingDefault` state is false, then we need to remove
+ // this address from `cart.shipping`
+ Meteor.call("cart/unsetAddresses", address._id, userId, "shipping");
}
+ } else if (address.isShippingDefault && oldAddress.isShippingDefault) {
+ // If current Shipping Address was edited but not changed update it to cart too
+ Meteor.call("cart/setShipmentAddress", cart._id, address);
+ }
+
+ // the same logic used for billing
+ if (oldAddress.isBillingDefault !== address.isBillingDefault) {
if (address.isBillingDefault) {
+ Meteor.call("cart/setPaymentAddress", cart._id, address);
Accounts.update({
"userId": userId,
"profile.addressBook.isBillingDefault": true
@@ -218,163 +388,72 @@ Meteor.methods({
"profile.addressBook.$.isBillingDefault": false
}
});
+ } else {
+ Meteor.call("cart/unsetAddresses", address._id, userId, "billing");
}
+ } else if (address.isBillingDefault && oldAddress.isBillingDefault) {
+ // If current Billing Address was edited but not changed update it to cart too
+ Meteor.call("cart/setPaymentAddress", cart._id, address);
}
+ }
- return Accounts.upsert({
- userId: userId
- }, {
- $set: {
- userId: userId
- },
- $addToSet: {
- "profile.addressBook": address
- }
- });
- },
-
- /**
- * accounts/addressBookUpdate
- * @description update existing address in user's profile
- * @param {Object} address - address
- * @param {String|null} [accountUserId] - `account.userId` used by admin to
- * edit users
- * @param {shipping|billing} [type] - name of selected address type
- * @return {Number} The number of affected documents
- */
- "accounts/addressBookUpdate": function (address, accountUserId, type) {
- check(address, Schemas.Address);
- check(accountUserId, Match.OneOf(String, null, undefined));
- check(type, Match.Optional(String));
- // security, check for admin access. We don't need to check every user call
- // here because we are calling `Meteor.userId` from within this Method.
- if (typeof accountUserId === "string") { // if this will not be a String -
- // `check` will not pass it.
- if (!Reaction.hasAdminAccess()) {
- throw new Meteor.Error(403, "Access denied");
- }
- }
- this.unblock();
-
- const userId = accountUserId || Meteor.userId();
- // we need to compare old state of isShippingDefault, isBillingDefault with
- // new state and if it was enabled/disabled reflect this changes in cart
- const account = Accounts.findOne({
- userId: userId
- });
- const oldAddress = account.profile.addressBook.find(function (addr) {
- return addr._id === address._id;
- });
-
- // happens when the user clicked the address in grid. We need to set type
- // to `true`
- if (typeof type === "string") {
- Object.assign(address, { [type]: true });
+ Meteor.users.update(Meteor.userId(), {
+ $set: {
+ "name": address.fullName,
+ "profile.addressBook": address
}
-
- // We want the cart addresses to be updated when current default address
- // (shipping or Billing) are different than the previous one, but also
- // when the current default address(ship or bill) gets edited(so Current and Previous default are the same).
- // This check can be simplified to :
- if (address.isShippingDefault || address.isBillingDefault ||
- oldAddress.isShippingDefault || address.isBillingDefault) {
- const cart = Cart.findOne({ userId: userId });
- // Cart should exist to this moment, so we doesn't need to to verify its
- // existence.
- if (oldAddress.isShippingDefault !== address.isShippingDefault) {
- // if isShippingDefault was changed and now it is `true`
- if (address.isShippingDefault) {
- // we need to add this address to cart
- Meteor.call("cart/setShipmentAddress", cart._id, address);
- // then, if another address was `ShippingDefault`, we need to unset it
- Accounts.update({
- "userId": userId,
- "profile.addressBook.isShippingDefault": true
- }, {
- $set: {
- "profile.addressBook.$.isShippingDefault": false
- }
- });
- } else {
- // if new `isShippingDefault` state is false, then we need to remove
- // this address from `cart.shipping`
- Meteor.call("cart/unsetAddresses", address._id, userId, "shipping");
- }
- } else if (address.isShippingDefault && oldAddress.isShippingDefault) {
- // If current Shipping Address was edited but not changed update it to cart too
- Meteor.call("cart/setShipmentAddress", cart._id, address);
- }
-
- // the same logic used for billing
- if (oldAddress.isBillingDefault !== address.isBillingDefault) {
- if (address.isBillingDefault) {
- Meteor.call("cart/setPaymentAddress", cart._id, address);
- Accounts.update({
- "userId": userId,
- "profile.addressBook.isBillingDefault": true
- }, {
- $set: {
- "profile.addressBook.$.isBillingDefault": false
- }
- });
- } else {
- Meteor.call("cart/unsetAddresses", address._id, userId, "billing");
- }
- } else if (address.isBillingDefault && oldAddress.isBillingDefault) {
- // If current Billing Address was edited but not changed update it to cart too
- Meteor.call("cart/setPaymentAddress", cart._id, address);
- }
+ });
+
+ return Accounts.update({
+ "userId": userId,
+ "profile.addressBook._id": address._id
+ }, {
+ $set: {
+ "name": address.fullName,
+ "profile.addressBook.$": address
}
+ });
+}
- return Accounts.update({
- "userId": userId,
- "profile.addressBook._id": address._id
- }, {
- $set: {
- "profile.addressBook.$": address
- }
- });
- },
-
- /**
- * accounts/addressBookRemove
+/**
+ * addressBookRemove
* @description remove existing address in user's profile
* @param {String} addressId - address `_id`
* @param {String} [accountUserId] - `account.userId` used by admin to edit
* users
* @return {Number|Object} The number of removed documents or error object
*/
- "accounts/addressBookRemove": function (addressId, accountUserId) {
- check(addressId, String);
- check(accountUserId, Match.Optional(String));
- // security, check for admin access. We don't need to check every user call
- // here because we are calling `Meteor.userId` from within this Method.
- if (typeof accountUserId === "string") { // if this will not be a String -
- // `check` will not pass it.
- if (!Reaction.hasAdminAccess()) {
- throw new Meteor.Error(403, "Access denied");
- }
+export function addressBookRemove(addressId, accountUserId) {
+ check(addressId, String);
+ check(accountUserId, Match.Optional(String));
+ // security, check for admin access. We don't need to check every user call
+ // here because we are calling `Meteor.userId` from within this Method.
+ if (typeof accountUserId === "string") { // if this will not be a String -
+ // `check` will not pass it.
+ if (!Reaction.hasAdminAccess()) {
+ throw new Meteor.Error(403, "Access denied");
}
- this.unblock();
-
- const userId = accountUserId || Meteor.userId();
- // remove this address in cart, if used, before completely removing
- Meteor.call("cart/unsetAddresses", addressId, userId);
-
- return Accounts.update({
- "userId": userId,
- "profile.addressBook._id": addressId
- }, {
- $pull: {
- "profile.addressBook": {
- _id: addressId
- }
+ }
+ this.unblock();
+
+ const userId = accountUserId || Meteor.userId();
+ // remove this address in cart, if used, before completely removing
+ Meteor.call("cart/unsetAddresses", addressId, userId);
+
+ return Accounts.update({
+ "userId": userId,
+ "profile.addressBook._id": addressId
+ }, {
+ $pull: {
+ "profile.addressBook": {
+ _id: addressId
}
- });
- },
+ }
+ });
+}
- /**
- * accounts/inviteShopMember
+/**
+ * inviteShopMember
* invite new admin users
* (not consumers) to secure access in the dashboard
* to permissions as specified in packages/roles
@@ -383,152 +462,67 @@ Meteor.methods({
* @param {String} name - name to address email
* @returns {Boolean} returns true
*/
- "accounts/inviteShopMember": function (shopId, email, name) {
- check(shopId, String);
- check(email, String);
- check(name, String);
+export function inviteShopMember(shopId, email, name) {
+ check(shopId, String);
+ check(email, String);
+ check(name, String);
- this.unblock();
+ this.unblock();
- const shop = Shops.findOne(shopId);
+ const shop = Shops.findOne(shopId);
- if (!shop) {
- const msg = `accounts/inviteShopMember - Shop ${shopId} not found`;
- Logger.error(msg);
- throw new Meteor.Error("shop-not-found", msg);
- }
+ if (!shop) {
+ const msg = `accounts/inviteShopMember - Shop ${shopId} not found`;
+ Logger.error(msg);
+ throw new Meteor.Error("shop-not-found", msg);
+ }
- if (!Reaction.hasPermission("reaction-accounts", this.userId, shopId)) {
- Logger.error(`User ${this.userId} does not have reaction-accounts permissions`);
- throw new Meteor.Error("access-denied", "Access denied");
- }
+ if (!Reaction.hasPermission("reaction-accounts", this.userId, shopId)) {
+ Logger.error(`User ${this.userId} does not have reaction-accounts permissions`);
+ throw new Meteor.Error("access-denied", "Access denied");
+ }
- const currentUser = Meteor.users.findOne(this.userId);
+ const currentUser = Meteor.users.findOne(this.userId);
- let currentUserName;
+ let currentUserName;
- if (currentUser) {
- if (currentUser.profile) {
- currentUserName = currentUser.profile.name || currentUser.username;
- } else {
- currentUserName = currentUser.username;
- }
+ if (currentUser) {
+ if (currentUser.profile) {
+ currentUserName = currentUser.profile.name || currentUser.username;
} else {
- currentUserName = "Admin";
+ currentUserName = currentUser.username;
}
+ } else {
+ currentUserName = "Admin";
+ }
- const user = Meteor.users.findOne({
- "emails.address": email
- });
-
- if (!user) {
- const userId = MeteorAccounts.createUser({
- email: email,
- username: name
- });
-
- const newUser = Meteor.users.findOne(userId);
+ const user = Meteor.users.findOne({
+ "emails.address": email
+ });
- if (!newUser) {
- throw new Error("Can't find user");
+ if (!user) {
+ const userId = MeteorAccounts.createUser({
+ email: email,
+ name: name,
+ profile: {
+ invited: true
}
+ });
- const token = Random.id();
-
- Meteor.users.update(userId, {
- $set: {
- "services.password.reset": { token, email, when: new Date() }
- }
- });
-
- // Get shop logo, if available. If not, use default logo from file-system
- let emailLogo;
- if (Array.isArray(shop.brandAssets)) {
- const brandAsset = _.find(shop.brandAssets, (asset) => asset.type === "navbarBrandImage");
- const mediaId = Media.findOne(brandAsset.mediaId);
- emailLogo = path.join(Meteor.absoluteUrl(), mediaId.url());
- } else {
- emailLogo = Meteor.absoluteUrl() + "resources/email-templates/shop-logo.png";
- }
+ const newUser = Meteor.users.findOne(userId);
- const dataForEmail = {
- // Shop Data
- shop: shop,
- contactEmail: shop.emails[0].address,
- homepage: Meteor.absoluteUrl(),
- emailLogo: emailLogo,
- copyrightDate: moment().format("YYYY"),
- legalName: shop.addressBook[0].company,
- physicalAddress: {
- address: shop.addressBook[0].address1 + " " + shop.addressBook[0].address2,
- city: shop.addressBook[0].city,
- region: shop.addressBook[0].region,
- postal: shop.addressBook[0].postal
- },
- shopName: shop.name,
- socialLinks: {
- display: true,
- facebook: {
- display: true,
- icon: Meteor.absoluteUrl() + "resources/email-templates/facebook-icon.png",
- link: "https://www.facebook.com"
- },
- googlePlus: {
- display: true,
- icon: Meteor.absoluteUrl() + "resources/email-templates/google-plus-icon.png",
- link: "https://plus.google.com"
- },
- twitter: {
- display: true,
- icon: Meteor.absoluteUrl() + "resources/email-templates/twitter-icon.png",
- link: "https://www.twitter.com"
- }
- },
- // Account Data
- user: Meteor.user(),
- currentUserName,
- invitedUserName: name,
- url: MeteorAccounts.urls.enrollAccount(token)
- };
-
- // Compile Email with SSR
- const tpl = "accounts/inviteShopMember";
- const subject = "accounts/inviteShopMember/subject";
- SSR.compileTemplate(tpl, Reaction.Email.getTemplate(tpl));
- SSR.compileTemplate(subject, Reaction.Email.getSubject(tpl));
-
- Reaction.Email.send({
- to: email,
- from: `${shop.name} <${shop.emails[0].address}>`,
- subject: SSR.render(subject, dataForEmail),
- html: SSR.render(tpl, dataForEmail)
- });
- } else {
- Reaction.Email.send({
- to: email,
- from: `${shop.name} <${shop.emails[0].address}>`,
- subject: SSR.render(subject, dataForEmail),
- html: SSR.render(tpl, dataForEmail)
- });
+ if (!newUser) {
+ throw new Error("Can't find user");
}
- return true;
- },
-
- /**
- * accounts/sendWelcomeEmail
- * send an email to consumers on sign up
- * @param {String} shopId - shopId of new User
- * @param {String} userId - new userId to welcome
- * @returns {Boolean} returns boolean
- */
- "accounts/sendWelcomeEmail": function (shopId, userId) {
- check(shopId, String);
- check(userId, String);
- this.unblock();
+ const token = Random.id();
- const user = Accounts.findOne(userId);
- const shop = Shops.findOne(shopId);
+ Meteor.users.update(userId, {
+ $set: {
+ "services.password.reset": { token, email, when: new Date() },
+ "name": name
+ }
+ });
// Get shop logo, if available. If not, use default logo from file-system
let emailLogo;
@@ -574,41 +568,133 @@ Meteor.methods({
}
},
// Account Data
- user: Meteor.user()
+ user: Meteor.user(),
+ currentUserName,
+ invitedUserName: name,
+ url: MeteorAccounts.urls.enrollAccount(token)
};
- // anonymous users arent welcome here
- if (!user.emails || !user.emails.length > 0) {
- return true;
- }
-
- const userEmail = user.emails[0].address;
-
- let shopEmail;
- // provide some defaults for missing shop email.
- if (!shop.emails) {
- shopEmail = `${shop.name}@localhost`;
- Logger.debug(`Shop email address not configured. Using ${shopEmail}`);
- } else {
- shopEmail = shop.emails[0].address;
- }
-
- const tpl = "accounts/sendWelcomeEmail";
- const subject = "accounts/sendWelcomeEmail/subject";
+ // Compile Email with SSR
+ const tpl = "accounts/inviteShopMember";
+ const subject = "accounts/inviteShopMember/subject";
SSR.compileTemplate(tpl, Reaction.Email.getTemplate(tpl));
SSR.compileTemplate(subject, Reaction.Email.getSubject(tpl));
Reaction.Email.send({
- to: userEmail,
- from: `${shop.name} <${shopEmail}>`,
+ to: email,
+ from: `${shop.name} <${shop.emails[0].address}>`,
subject: SSR.render(subject, dataForEmail),
html: SSR.render(tpl, dataForEmail)
});
+ } else {
+ Reaction.Email.send({
+ to: email,
+ from: `${shop.name} <${shop.emails[0].address}>`,
+ subject: SSR.render(subject, dataForEmail),
+ html: SSR.render(tpl, dataForEmail)
+ });
+ }
+ return true;
+}
+
+
+/**
+ * accounts/sendWelcomeEmail
+ * send an email to consumers on sign up
+ * @param {String} shopId - shopId of new User
+ * @param {String} userId - new userId to welcome
+ * @returns {Boolean} returns boolean
+ */
+export function sendWelcomeEmail(shopId, userId) {
+ check(shopId, String);
+ check(userId, String);
+
+ this.unblock();
+
+ const user = Accounts.findOne(userId);
+ const shop = Shops.findOne(shopId);
+
+ // Get shop logo, if available. If not, use default logo from file-system
+ let emailLogo;
+ if (Array.isArray(shop.brandAssets)) {
+ const brandAsset = _.find(shop.brandAssets, (asset) => asset.type === "navbarBrandImage");
+ const mediaId = Media.findOne(brandAsset.mediaId);
+ emailLogo = path.join(Meteor.absoluteUrl(), mediaId.url());
+ } else {
+ emailLogo = Meteor.absoluteUrl() + "resources/email-templates/shop-logo.png";
+ }
+
+ const dataForEmail = {
+ // Shop Data
+ shop: shop,
+ contactEmail: shop.emails[0].address,
+ emailLogo: emailLogo,
+ copyrightDate: moment().format("YYYY"),
+ legalName: shop.addressBook[0].company,
+ physicalAddress: {
+ address: shop.addressBook[0].address1 + " " + shop.addressBook[0].address2,
+ city: shop.addressBook[0].city,
+ region: shop.addressBook[0].region,
+ postal: shop.addressBook[0].postal
+ },
+ shopName: shop.name,
+ socialLinks: {
+ display: true,
+ facebook: {
+ display: true,
+ icon: Meteor.absoluteUrl() + "resources/email-templates/facebook-icon.png",
+ link: "https://www.facebook.com"
+ },
+ googlePlus: {
+ display: true,
+ icon: Meteor.absoluteUrl() + "resources/email-templates/google-plus-icon.png",
+ link: "https://plus.google.com"
+ },
+ twitter: {
+ display: true,
+ icon: Meteor.absoluteUrl() + "resources/email-templates/twitter-icon.png",
+ link: "https://www.twitter.com"
+ }
+ },
+ // Account Data
+ user: Meteor.user()
+ };
+ // anonymous users arent welcome here
+ if (!user.emails || !user.emails.length > 0) {
return true;
- },
+ }
+
+ // assign verification url
+ const prefix = Reaction.getShopPrefix().replace(/\//, "");
+ dataForEmail.verificationUrl = `${Meteor.absoluteUrl()}${prefix}/account/profile/verify?email=${user.emails[0].address}`;
+ const userEmail = user.emails[0].address;
+
+ let shopEmail;
+ // provide some defaults for missing shop email.
+ if (!shop.emails) {
+ shopEmail = `${shop.name}@localhost`;
+ Logger.debug(`Shop email address not configured. Using ${shopEmail}`);
+ } else {
+ shopEmail = shop.emails[0].address;
+ }
- /**
+ const tpl = "accounts/sendWelcomeEmail";
+ const subject = "accounts/sendWelcomeEmail/subject";
+ SSR.compileTemplate(tpl, Reaction.Email.getTemplate(tpl));
+ SSR.compileTemplate(subject, Reaction.Email.getSubject(tpl));
+
+ Reaction.Email.send({
+ to: userEmail,
+ from: `${shop.name} <${shopEmail}>`,
+ subject: SSR.render(subject, dataForEmail),
+ html: SSR.render(tpl, dataForEmail)
+ });
+
+ return true;
+}
+
+/**
* accounts/addUserPermissions
* @param {String} userId - userId
* @param {Array|String} permissions -
@@ -619,61 +705,77 @@ Meteor.methods({
* User"s Roles.GLOBAL_GROUP will also be checked.
* @returns {Boolean} success/failure
*/
- "accounts/addUserPermissions": function (userId, permissions, group) {
- if (!Reaction.hasPermission("reaction-accounts", Meteor.userId(), group)) {
- throw new Meteor.Error(403, "Access denied");
- }
- check(userId, Match.OneOf(String, Array));
- check(permissions, Match.OneOf(String, Array));
- check(group, Match.Optional(String));
- this.unblock();
- try {
- return Roles.addUsersToRoles(userId, permissions, group);
- } catch (error) {
- return Logger.error(error);
- }
- },
+export function addUserPermissions(userId, permissions, group) {
+ if (!Reaction.hasPermission("reaction-accounts", Meteor.userId(), group)) {
+ throw new Meteor.Error(403, "Access denied");
+ }
+ check(userId, Match.OneOf(String, Array));
+ check(permissions, Match.OneOf(String, Array));
+ check(group, Match.Optional(String));
+ this.unblock();
+ try {
+ return Roles.addUsersToRoles(userId, permissions, group);
+ } catch (error) {
+ return Logger.error(error);
+ }
+}
- /*
- * accounts/removeUserPermissions
- */
- "accounts/removeUserPermissions": function (userId, permissions, group) {
- if (!Reaction.hasPermission("reaction-accounts", Meteor.userId(), group)) {
- throw new Meteor.Error(403, "Access denied");
- }
- check(userId, String);
- check(permissions, Match.OneOf(String, Array));
- check(group, Match.Optional(String, null));
- this.unblock();
-
- try {
- return Roles.removeUsersFromRoles(userId, permissions, group);
- } catch (error) {
- Logger.error(error);
- throw new Meteor.Error(403, "Access Denied");
- }
- },
+/*
+ * removeUserPermissions
+ */
+export function removeUserPermissions(userId, permissions, group) {
+ if (!Reaction.hasPermission("reaction-accounts", Meteor.userId(), group)) {
+ throw new Meteor.Error(403, "Access denied");
+ }
+ check(userId, String);
+ check(permissions, Match.OneOf(String, Array));
+ check(group, Match.Optional(String, null));
+ this.unblock();
+
+ try {
+ return Roles.removeUsersFromRoles(userId, permissions, group);
+ } catch (error) {
+ Logger.error(error);
+ throw new Meteor.Error(403, "Access Denied");
+ }
+}
- /**
- * accounts/setUserPermissions
- * @param {String} userId - userId
- * @param {String|Array} permissions - string/array of permissions
- * @param {String} group - group
- * @returns {Boolean} returns Roles.setUserRoles result
- */
- "accounts/setUserPermissions": function (userId, permissions, group) {
- if (!Reaction.hasPermission("reaction-accounts", Meteor.userId(), group)) {
- throw new Meteor.Error(403, "Access denied");
- }
- check(userId, String);
- check(permissions, Match.OneOf(String, Array));
- check(group, Match.Optional(String));
- this.unblock();
- try {
- return Roles.setUserRoles(userId, permissions, group);
- } catch (error) {
- Logger.error(error);
- return error;
- }
+/**
+ * accounts/setUserPermissions
+ * @param {String} userId - userId
+ * @param {String|Array} permissions - string/array of permissions
+ * @param {String} group - group
+ * @returns {Boolean} returns Roles.setUserRoles result
+ */
+export function setUserPermissions(userId, permissions, group) {
+ if (!Reaction.hasPermission("reaction-accounts", Meteor.userId(), group)) {
+ throw new Meteor.Error(403, "Access denied");
+ }
+ check(userId, String);
+ check(permissions, Match.OneOf(String, Array));
+ check(group, Match.Optional(String));
+ this.unblock();
+ try {
+ return Roles.setUserRoles(userId, permissions, group);
+ } catch (error) {
+ Logger.error(error);
+ return error;
}
+}
+
+/**
+ * Reaction Account Methods
+ */
+Meteor.methods({
+ "accounts/verifyAccount": verifyAccount,
+ "accounts/validateAddress": validateAddress,
+ "accounts/currentUserHasPassword": currentUserHasPassword,
+ "accounts/addressBookAdd": addressBookAdd,
+ "accounts/addressBookUpdate": addressBookUpdate,
+ "accounts/addressBookRemove": addressBookRemove,
+ "accounts/inviteShopMember": inviteShopMember,
+ "accounts/sendWelcomeEmail": sendWelcomeEmail,
+ "accounts/addUserPermissions": addUserPermissions,
+ "accounts/removeUserPermissions": removeUserPermissions,
+ "accounts/setUserPermissions": setUserPermissions
});
diff --git a/server/methods/core/cart-merge.app-test.js b/server/methods/core/cart-merge.app-test.js
index c80b701c929..181e7a64493 100644
--- a/server/methods/core/cart-merge.app-test.js
+++ b/server/methods/core/cart-merge.app-test.js
@@ -90,6 +90,34 @@ describe("Merge Cart function ", function () {
expect(cart.items.length).to.equal(2);
});
+ it("should increase product quantity if anonymous cart items exists in user's cart before merge", function () {
+ sandbox.stub(Reaction, "getShopId", () => shop._id);
+ const anonymousCart = Factory.create("anonymousCart");
+ let cart = Factory.create("cartOne"); // registered user cart
+ let cartCount = Collections.Cart.find().count();
+ expect(cartCount).to.equal(2);
+ const initialCartQty = cart.items[0].quantity;
+ Collections.Cart.update({
+ "_id": anonymousCart._id, "items._id": anonymousCart.items[0]._id
+ }, { $set: { "items.$.variants._id": cart.items[0].variants_id } });
+ spyOnMethod("mergeCart", cart.userId);
+ const cartRemoveSpy = sandbox.spy(Collections.Cart, "remove");
+ Collections.Cart.update({}, {
+ $set: {
+ sessionId: sessionId
+ }
+ });
+ const mergeResult = Meteor.call("cart/mergeCart", cart._id, sessionId);
+ expect(mergeResult).to.be.ok;
+ const anonymousCartAfterMerge = Collections.Cart.findOne(anonymousCart._id);
+ cart = Collections.Cart.findOne(cart._id);
+ cartCount = Collections.Cart.find().count();
+ expect(cartCount).to.equal(1);
+ expect(cartRemoveSpy).to.have.been.called;
+ expect(anonymousCartAfterMerge).to.be.undefined;
+ expect(cart.items[0].quantity).to.be.above(initialCartQty);
+ });
+
it("should merge only into registered user cart", function (done) {
sandbox.stub(Reaction, "getShopId", function () {
return shop._id;
diff --git a/server/methods/core/cart.js b/server/methods/core/cart.js
index e595cf6a612..496f768782f 100644
--- a/server/methods/core/cart.js
+++ b/server/methods/core/cart.js
@@ -1,6 +1,6 @@
import _ from "lodash";
import { Meteor } from "meteor/meteor";
-import { check } from "meteor/check";
+import { check, Match } from "meteor/check";
import * as Collections from "/lib/collections";
import { Logger, Reaction } from "/server/api";
@@ -167,15 +167,22 @@ Meteor.methods({
Meteor.call("workflow/revertCartWorkflow", "checkoutAddressBook");
}
- // We got an additional db call because of `workflow/revertCartWorkflow`
- // call, but we also got things more cleaner in my opinion.
- // merge session cart into current cart
- Collections.Cart.update(currentCart._id, {
- $addToSet: {
- items: {
- $each: sessionCart.items
+ const cartSum = sessionCart.items.concat(currentCart.items);
+ const mergedItems = cartSum.reduce((newItems, item) => {
+ if (item) {
+ const existingItem = newItems.find(cartItem => cartItem.variants._id === item.variants._id);
+ if (existingItem) {
+ existingItem.quantity += item.quantity;
+ } else {
+ newItems.push(item);
}
}
+ return newItems;
+ }, []);
+ Collections.Cart.update(currentCart._id, {
+ $push: {
+ items: { $each: mergedItems, $slice: -(mergedItems.length) }
+ }
});
}
diff --git a/server/methods/core/orders.js b/server/methods/core/orders.js
index a13c58bc547..916a9f88b43 100644
--- a/server/methods/core/orders.js
+++ b/server/methods/core/orders.js
@@ -831,7 +831,6 @@ export const methods = {
shopId: Reaction.getShopId()
}).settings[settingsKey].support;
- const orderStatus = paymentMethod.status;
const orderMode = paymentMethod.mode;
let result;
@@ -849,7 +848,7 @@ export const methods = {
Logger.fatal("Attempt for de-authorize transaction failed", order._id, paymentMethod.transactionId, result.error);
throw new Meteor.Error("Attempt to de-authorize transaction failed", result.error);
}
- } else if (orderStatus === "completed" && orderMode === "capture") {
+ } else if (orderMode === "capture") {
result = Meteor.call(`${processor}/refund/create`, paymentMethod, amount);
query = {
$push: {
diff --git a/server/publications/collections/accounts.js b/server/publications/collections/accounts.js
index 4eedc96567c..5e7695f1bc4 100644
--- a/server/publications/collections/accounts.js
+++ b/server/publications/collections/accounts.js
@@ -84,6 +84,7 @@ Meteor.publish("UserProfile", function (profileUserId) {
// no need to normal user so see his password hash
const fields = {
"emails": 1,
+ "name": 1,
"profile.lang": 1,
"profile.firstName": 1,
"profile.lastName": 1,
diff --git a/server/publications/collections/members-publications.app-test.js b/server/publications/collections/members-publications.app-test.js
index ee8075dac05..b543c1e7fec 100644
--- a/server/publications/collections/members-publications.app-test.js
+++ b/server/publications/collections/members-publications.app-test.js
@@ -36,7 +36,7 @@ describe("Account Publications", function () {
};
const cursor = publication.apply(thisContext);
// verify
- data = cursor.fetch()[0];
+ const data = cursor.fetch()[0];
expect(data._id).to.equal(user._id);
});
@@ -64,7 +64,7 @@ describe("Account Publications", function () {
const publication = Meteor.server.publish_handlers["ShopMembers"];
const cursor = publication.apply(thisContext);
// verify
- data = cursor.fetch();
+ const data = cursor.fetch();
// we expect services will be clean object
expect(data.some(_user => {
// we expect two users. First will be without services, second with
diff --git a/server/publications/collections/orders-publications.app-test.js b/server/publications/collections/orders-publications.app-test.js
index 43f604f0e92..70bb33b512c 100644
--- a/server/publications/collections/orders-publications.app-test.js
+++ b/server/publications/collections/orders-publications.app-test.js
@@ -62,7 +62,7 @@ describe("Order Publication", function () {
});
sandbox.stub(Reaction, "getShopId", () => shop._id);
sandbox.stub(Roles, "userIsInRole", () => true);
- order = Factory.create("order", { status: "created" });
+ const order = Factory.create("order", { status: "created" });
const publication = Meteor.server.publish_handlers["Orders"];
const cursor = publication.apply(thisContext);
const data = cursor.fetch()[0];
@@ -81,7 +81,7 @@ describe("Order Publication", function () {
});
sandbox.stub(Reaction, "getShopId", () => shop._id);
sandbox.stub(Roles, "userIsInRole", () => false);
- order = Factory.create("order", { status: "created" });
+ Factory.create("order", { status: "created" });
const publication = Meteor.server.publish_handlers["Orders"];
const cursor = publication.apply(thisContext);
expect(cursor.fetch().length).to.equal(0);
diff --git a/server/publications/collections/products.js b/server/publications/collections/products.js
index 60a385b2565..3f4b3c3c79c 100644
--- a/server/publications/collections/products.js
+++ b/server/publications/collections/products.js
@@ -111,13 +111,6 @@ Meteor.publish("Products", function (productScrollLimit = 24, productFilters, so
$in: productFilters.shops
}
});
-
- // check if this user is a shopAdmin
- for (const thisShopId of productFilters.shops) {
- if (Roles.userIsInRole(this.userId, ["admin", "createProduct"], thisShopId)) {
- shopAdmin = true;
- }
- }
}
// filter by tags
diff --git a/server/publications/collections/sessions.js b/server/publications/collections/sessions.js
index 608d0abed44..3122f9ea2e0 100644
--- a/server/publications/collections/sessions.js
+++ b/server/publications/collections/sessions.js
@@ -9,7 +9,6 @@ import { Reaction } from "/server/api";
*/
export const ServerSessions = new Mongo.Collection("Sessions");
-this.ServerSessions = ServerSessions;
Meteor.publish("Sessions", function (sessionId) {
check(sessionId, Match.OneOf(String, null));
diff --git a/server/startup/accounts.js b/server/startup/accounts.js
index 4983d5c09d4..3dfbfb7322e 100644
--- a/server/startup/accounts.js
+++ b/server/startup/accounts.js
@@ -84,6 +84,7 @@ export default function () {
const defaultRoles = ["guest", "account/profile", "product", "tag", "index", "cart/checkout", "cart/completed"];
const roles = {};
const additionals = {
+ name: options && options.name,
profile: Object.assign({}, options && options.profile)
};
if (!user.emails) user.emails = [];
@@ -142,10 +143,14 @@ export default function () {
account.userId = user._id;
Collections.Accounts.insert(account);
+ const userDetails = Collections.Accounts.findOne({
+ _id: user._id
+ });
+
// send a welcome email to new users,
// but skip the first default admin user
// (default admins already get a verification email)
- if (!(Meteor.users.find().count() === 0)) {
+ if (!(Meteor.users.find().count() === 0) && !userDetails.profile.invited) {
Meteor.call("accounts/sendWelcomeEmail", shopId, user._id);
}
@@ -168,7 +173,7 @@ export default function () {
Accounts.onLogin((opts) => {
// run onLogin hooks
// (the options object must be returned by all callbacks)
- options = Hooks.Events.run("onLogin", opts);
+ const options = Hooks.Events.run("onLogin", opts);
// remove anonymous role
// all users are guest, but anonymous user don't have profile access
diff --git a/server/startup/load-data.js b/server/startup/load-data.js
index f831c6880a4..e1e60eb2246 100644
--- a/server/startup/load-data.js
+++ b/server/startup/load-data.js
@@ -9,29 +9,39 @@ export default function () {
Logger.info("Load default data from /private/data/");
try {
+ Logger.debug("Loading Shop Data");
Reaction.Import.process(Assets.getText("data/Shops.json"), ["name"], Reaction.Import.shop);
// ensure Shops are loaded first.
Reaction.Import.flush(Shops);
} catch (error) {
- Logger.info("Bypassing loading Shop default data");
+ Logger.error(error, "Bypassing loading Shop default data");
+ }
+
+ // make sure the default shop has been created before going further
+ while (!Reaction.getShopId()) {
+ Logger.debug("Loading default shop, waiting until it's ready before moving on...");
+ Meteor._sleepForMs(1000);
}
try {
+ Logger.debug("Loading Shipping Data");
Fixture.process(Assets.getText("data/Shipping.json"), ["name"], Reaction.Import.shipping);
} catch (error) {
- Logger.info("Bypassing loading Shipping default data.");
+ Logger.error(error, "Bypassing loading Shipping default data.");
}
try {
- Fixture.process(Assets.getText("data/Products.json"), ["title"], Reaction.Import.load);
+ Logger.debug("Loading Product Data");
+ Fixture.process(Assets.getText("data/Products.json"), ["title"], Reaction.Import.product);
} catch (error) {
- Logger.info("Bypassing loading Products default data.");
+ Logger.error(error, "Bypassing loading Products default data.");
}
try {
- Fixture.process(Assets.getText("data/Tags.json"), ["name"], Reaction.Import.load);
+ Logger.debug("Loading Tag Data");
+ Fixture.process(Assets.getText("data/Tags.json"), ["name"], Reaction.Import.tag);
} catch (error) {
- Logger.info("Bypassing loading Tags default data.");
+ Logger.error(error, "Bypassing loading Tags default data.");
}
//
// these will flush and import with the rest of the imports from core init.
diff --git a/tests/acceptance-tests/config/settings.yml b/tests/acceptance-tests/config/settings.yml
deleted file mode 100644
index 6ae24c0a97d..00000000000
--- a/tests/acceptance-tests/config/settings.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-#This setting describes the url to test against
-#Sould also be a command line setting for this
-base_url: http://localhost:3000
-
-browser: chrome
-
-# browserstack additional capabilities
-browser_version: "52.0"
-os: Windows
-os_version: "10"
-resolution: "1920x1080"
diff --git a/tests/acceptance-tests/config/test-suite-config.yml b/tests/acceptance-tests/config/test-suite-config.yml
deleted file mode 100644
index 07c324f81e2..00000000000
--- a/tests/acceptance-tests/config/test-suite-config.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-# Enable and disable different suites of tests
-
-# Payment Processor specific tests
-braintree: false
-stripe: false
-authnet: false
-paypal: false
-example: false
-
-# Admin functionality
-permissions: false
-
-# Regression suites
-smoke_test: true
-
-# Test reporter
-allure: true
diff --git a/tests/acceptance-tests/config/user-data.yml b/tests/acceptance-tests/config/user-data.yml
deleted file mode 100644
index aec167b201b..00000000000
--- a/tests/acceptance-tests/config/user-data.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-admin_user: Administrator
-admin_email: testing@reactioncommerce.com
-admin_pw: password123
-
-guest_email: "guest@reactioncommerce.com"
-guest_pw: password123
-
-# shop address
-country: US
-name: Lewis Hamilton
-address1: 2110 Main Street.
-postal: 90405
-city: Santa Monica
-region: CA
-phone: 555-555-5555
-
-# payment info
-card_holder: Nico Roseberg
-visa: 4242424242424242
-paypal_visa: 4111111111111111
-stripe_visa: 4000000000000077
-exp_month: 1
-exp_year: 2020
-cvv: 123
diff --git a/tests/acceptance-tests/elements/element-ids.yml b/tests/acceptance-tests/elements/element-ids.yml
deleted file mode 100644
index 545260f122f..00000000000
--- a/tests/acceptance-tests/elements/element-ids.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-login_dropdown: Sign In
-login_email_fld_id: email
-login_pw_fld_id: password
diff --git a/tests/acceptance-tests/elements/element-map.yml b/tests/acceptance-tests/elements/element-map.yml
deleted file mode 100644
index 47e770ed8d5..00000000000
--- a/tests/acceptance-tests/elements/element-map.yml
+++ /dev/null
@@ -1,94 +0,0 @@
-login_dropdown_btn: "[data-event-action='accounts-dropdown-click']"
-login_email_fld: "[class='form-control login-input-email']"
-login_pw_fld: "[class='form-control login-input-password']"
-login_btn: "[data-event-action='submitSignInForm']"
-
-#account profile
-pl_email_address_fld: "//div[2]/div/div/div/form/div/input"
-pl_password_fld: "//div[2]/div/div/div/form/div[2]/input"
-pl_register_lnk: "//div[2]/div/div/div/form/div[4]/a[2]"
-pl_register_btn: "//button[@type='Submit']"
-
-# dashoard locators
-dashboard_btn: "span.icon > i.icon-reaction-logo"
-dashboard_hdr_txt: "h3.nav-dashboard-title > span"
-db_accounts: "span.icon > i.fa.fa-users"
-core_settings_btn_txt: "h3.title > span"
-orders_settings_btn_txt: "//div[2]/div/div/div/h3/span"
-shipping_settings_btn_txt: "//div[3]/div/div/div/h3/span"
-account_settings_btn_txt: "//div[4]/div/div/div/h3/span"
-catalog_settings_btn_txt: "//div[5]/div/div/div/h3/span"
-
-# orders page
-orders_page_btn: "span.icon > i.fa.fa-sun-o"
-first_order_new_btn: "button.btn.btn-success"
-order_total: "//div[2]/div[2]/span"
-order_total_w_tax: "//div[3]/div[2]/span"
-order_total_post_discount: "//div[4]/div[2]/span"
-new_orders_header: "span.label"
-
-# orders details
-approve_btn: "//button[@type='submit']"
-capture_payment_btn: "//div[8]/button[2]"
-captured_total: "//div[7]/div/span"
-refund_amnt_txt_box: "input.form-control.amount"
-apply_refund_btn: "//button[@type='submit']"
-apply_refund_pop_up_btn: "button.swal2-confirm.styled"
-discount_txt_box: "//div[5]/div/div/input"
-apply_discount_btn: "button.swal2-confirm.styled"
-
-
-# account page locators
-# xpath required here, sadly since data-event-action tags are shared between 'Manage' buttons
-account_manage_btn: "//main[@id='main']/div[2]/div[2]/ul/li/div[3]/button"
-account_manage_btn_in_group: "//li[2]/div[3]/button"
-
-# account permissions
-# xpath required here, sadly since data-event-action tags are shared between checkboxes
-perm_dashboard_chkb: "//div[2]/ul/li/div[2]/input"
-perm_shop_settings_chkb: "//div[2]/ul/li[2]/div[2]/input"
-
-# shop
-shop_btn: "//div[2]/div/a"
-product: "//a/div/span"
-red_option: "div.variant-select-option > button.btn.btn-default"
-add_to_cart: "//div[3]/div/button"
-add_to_cart_logged_in: "//div[3]/div[3]/div/button"
-checkout_btn: "#btn-checkout"
-continue_as_guest: "//a[contains(text(),'Continue as Guest')]"
-country_dd: "select[name='country']"
-save_and_continue_btn: "button.btn.btn-primary"
-free_shipping: "li.list-group-item"
-authorizenet: "h4.panel-title > span"
-authorizenet_cc: "//form/div/div[2]/input"
-authorizenet_cvv: "//div[3]/input"
-authorizenet_exp_month: "select[name='expireMonth']"
-authorizenet_exp_year: "select[name='expireYear']"
-authorizenet_complete_order_btn: "//button[@type='submit']"
-braintree: "//div[2]/a/h4/span"
-braintree_cc: "//div[2]/div/div/form/div/div[2]/input"
-braintree_exp_month: "//form[@id='braintree-payment-form']/div[2]/div/select"
-braintree_exp_year: "//div[2]/div/div/form/div[2]/div[2]/select"
-braintree_cvv: "//div[3]/input"
-braintree_complete_order_btn: "//div[2]/div/div/form/button"
-example_payment: "//div[3]/a/h4/span"
-example_payment_cc: "//form[@id='example-payment-form']/div/div[2]/input"
-example_payment_exp_month: "//form[@id='example-payment-form']/div[2]/div/select"
-example_payment_exp_year: "//form[@id='example-payment-form']/div[2]/div[2]/select"
-example_payment_cvv: "//form[@id='example-payment-form']/div[3]/div/input"
-example_payment_complete_order_btn: "//form[@id='example-payment-form']/button"
-paypal: "//div[@id='payment-methods-accordian']/div[4]/a"
-paypal_cc: "//form[@id='paypal-payment-form']/div/div[2]/input"
-paypal_exp_month: "//form[@id='paypal-payment-form']/div[2]/div/select"
-paypal_exp_year: "//form[@id='paypal-payment-form']/div[2]/div[2]/select"
-paypal_cvv: "//form[@id='paypal-payment-form']/div[3]/div/input"
-paypal_complete_order_btn: "//form[@id='paypal-payment-form']/button"
-stripe: "//div[@id='payment-methods-accordian']/div[5]/a/h4/span"
-stripe_cc: "//form[@id='stripe-payment-form']/div/div[2]/input"
-stripe_exp_month: "//form[@id='stripe-payment-form']/div[2]/div/select"
-stripe_exp_year: "//form[@id='stripe-payment-form']/div[2]/div[2]/select"
-stripe_cvv: "//form[@id='stripe-payment-form']/div[3]/div/input"
-stripe_complete_order_btn: "//form[@id='stripe-payment-form']/button"
-
-# order confirmation page
-thank_you_txt: "h3 > span"
diff --git a/tests/acceptance-tests/lib/admin-order-actions.js b/tests/acceptance-tests/lib/admin-order-actions.js
deleted file mode 100644
index c438f4ce91d..00000000000
--- a/tests/acceptance-tests/lib/admin-order-actions.js
+++ /dev/null
@@ -1,23 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-
-const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
-
-module.exports = {
- refundAmount: function () {
- browser.waitForVisible(eleMap.captured_total, 2000);
- const captTotal = browser.getText(eleMap.captured_total);
- browser.waitForEnabled(eleMap.refund_amnt_txt_box, 20000);
- browser.setValue(eleMap.refund_amnt_txt_box, captTotal);
- browser.pause("7000");
- },
- voidAmount: function () {
- browser.waitForVisible(eleMap.order_total_w_tax, 20000);
- const captTotalWTax = browser.getText(eleMap.order_total_w_tax);
- // const orderTotal = browser.getText(eleMap.order_total);
- browser.pause("2000");
- browser.setValue(eleMap.discount_txt_box, captTotalWTax[0]);
- browser.pause("7000");
- }
-};
diff --git a/tests/acceptance-tests/lib/basic-user-actions.js b/tests/acceptance-tests/lib/basic-user-actions.js
deleted file mode 100644
index f2f337386b5..00000000000
--- a/tests/acceptance-tests/lib/basic-user-actions.js
+++ /dev/null
@@ -1,59 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-
-const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
-const usrData = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/config/user-data.yml", "utf8"));
-const browserConfig = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/config/settings.yml", "utf8"));
-
-// default to process env if we've got that
-const adminEmail = process.env.REACTION_EMAIL || usrData.admin_email;
-const adminPassword = process.env.REACTION_AUTH || usrData.admin_pw;
-
-module.exports = {
- UserActions: {
- userLogin: function (user) {
- browser.pause("5000");
- browser.click(eleMap.login_dropdown_btn);
- if (user === "admin") {
- browser.setValue(eleMap.login_email_fld, adminEmail);
- browser.setValue(eleMap.login_pw_fld, adminPassword);
- }
- if (user === "guest") {
- browser.setValue(eleMap.login_email_fld, usrData.guest_email);
- browser.setValue(eleMap.login_pw_fld, usrData.guest_pw);
- }
- browser.click(eleMap.login_btn);
- browser.pause("5000");
- },
- userLogout: function () {
- browser.click("#logged-in-display-name");
- browser.pause("5000");
- browser.click("#logout");
- },
- refreshShop: function () {
- browser.click(eleMap.shop_btn);
- browser.pause("10000");
- while (browser.isVisible("span.product-image") === false) {
- browser.refresh();
- browser.pause("2000");
- browser.click(eleMap.shop_btn);
- browser.pause("3000");
- }
- },
- registerUser: function () {
- const baseUrl = browserConfig.base_url.toString();
- const regUrl = baseUrl + "/reaction/account/profile";
- browser.url(regUrl);
- browser.pause(5000);
- const ep = (new Date).getTime();
- const email = ep + "email@reactioncommerce.com";
- browser.setValue(eleMap.pl_email_address_fld, email);
- browser.setValue(eleMap.pl_password_fld, usrData.guest_pw);
- browser.click(eleMap.pl_register_lnk);
- browser.pause(2000);
- browser.click(eleMap.pl_register_btn);
- browser.pause(2000);
- }
- }
-};
diff --git a/tests/acceptance-tests/lib/get-elements.js b/tests/acceptance-tests/lib/get-elements.js
deleted file mode 100644
index 46b589e2316..00000000000
--- a/tests/acceptance-tests/lib/get-elements.js
+++ /dev/null
@@ -1,18 +0,0 @@
-"use strict";
-
-module.exports = {
- getElementByXpath: function (path) {
- return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
- },
- getElementById: function (elem) {
- const grabElement = browser.execute(function (ele) {
- const elementStr = ele;
- const elementId = '[id^="' + elementStr + '-"]';
- return "#" + document.querySelector(elementId).id;
- }, elem);
- return grabElement;
- },
- retId: function (element) {
- return this.getElementById(element).value;
- }
-};
diff --git a/tests/acceptance-tests/lib/get-test-config.js b/tests/acceptance-tests/lib/get-test-config.js
deleted file mode 100644
index c8c175e6329..00000000000
--- a/tests/acceptance-tests/lib/get-test-config.js
+++ /dev/null
@@ -1,11 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-
-module.exports = {
- init: function () {
- const browserConfig = yaml.safeLoad(fs.readFileSync("../config/settings.yml", "utf8"));
- const baseUrl = browserConfig.base_url.toString();
- browser.url(baseUrl);
- }
-};
diff --git a/tests/acceptance-tests/lib/user-permissions-reset.js b/tests/acceptance-tests/lib/user-permissions-reset.js
deleted file mode 100644
index 1bcf2cd1829..00000000000
--- a/tests/acceptance-tests/lib/user-permissions-reset.js
+++ /dev/null
@@ -1,27 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-const adminUser = require("./basic-user-actions.js");
-
-module.exports = {
- resetUserPermissions: function () {
- const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
- adminUser.UserActions.userLogin("admin");
- browser.click(eleMap.dashboard_btn);
- browser.pause("5000");
- browser.click(eleMap.db_accounts);
- browser.pause("5000");
- browser.click(eleMap.account_manage_btn_in_group);
- browser.pause("5000");
- const dashboardCheckbox = browser.element(eleMap.perm_dashboard_chkb);
- const dashboardCheckboxValue = dashboardCheckbox.getValue();
- if (dashboardCheckboxValue === "on") {
- browser.click(eleMap.perm_dashboard_chkb);
- }
- const shopSettingsCheckbox = browser.element(eleMap.perm_shop_settings_chkb);
- const shopSettingsCheckboxValue = shopSettingsCheckbox.getValue();
- if (shopSettingsCheckboxValue === "on") {
- browser.click(eleMap.perm_shop_settings_chkb);
- }
- }
-};
diff --git a/tests/acceptance-tests/lib/user-shop-actions.js b/tests/acceptance-tests/lib/user-shop-actions.js
deleted file mode 100644
index 6da4c4826d5..00000000000
--- a/tests/acceptance-tests/lib/user-shop-actions.js
+++ /dev/null
@@ -1,112 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-
-const userData = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/config/user-data.yml", "utf8"));
-const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
-
-module.exports = {
- userAddress: function () {
- browser.pause("5000");
- browser.waitForEnabled(eleMap.country_dd, 6000);
- browser.selectByValue(eleMap.country_dd, userData.country);
- browser.setValue("input[name='fullName']", userData.name);
- browser.setValue("input[name='address1']", userData.address1);
- browser.setValue("input[name='postal']", userData.postal);
- browser.setValue("input[name='city']", userData.city);
- browser.pause("3000");
- browser.selectByValue("select[name='region']", userData.region);
- browser.setValue("input[name='phone']", userData.phone);
- browser.click(eleMap.save_and_continue_btn);
- browser.pause("5000");
- },
- authorizeNetPaymentInfo: function () {
- browser.waitForEnabled(eleMap.authorizenet_cc, 6000);
- try {
- browser.setValue(eleMap.authorizenet_cc, userData.visa);
- } catch (e) {
- browser.pause("1");
- } finally {
- browser.pause("1000");
- }
- browser.pause("5000");
- browser.selectByValue("select[name='expireMonth']", userData.exp_month);
- browser.selectByValue("select[name='expireYear']", userData.exp_year);
- browser.waitForEnabled(eleMap.authorizenet_cvv, 8000);
- try {
- browser.setValue(eleMap.authorizenet_cvv, userData.cvv);
- } catch (e) {
- browser.pause("1");
- } finally {
- browser.pause("1000");
- }
- },
- braintreePaymentInfo: function () {
- browser.waitForEnabled(eleMap.braintree_cc, 6000);
- browser.setValue(eleMap.braintree_cc, userData.visa);
- browser.pause("5000");
- browser.selectByValue(eleMap.braintree_exp_month, userData.exp_month);
- browser.selectByValue(eleMap.braintree_exp_year, userData.exp_year);
- browser.waitForEnabled(eleMap.braintree_cvv, 8000);
- try {
- browser.setValue(eleMap.braintree_cvv, userData.cvv);
- } catch (e) {
- browser.pause("1");
- } finally {
- browser.pause("1000");
- }
- },
- examplePaymentInfo: function () {
- browser.pause(6000);
- browser.setValue(eleMap.example_payment_cc, userData.visa);
- browser.pause("5000");
- browser.selectByValue(eleMap.example_payment_exp_month, userData.exp_month);
- browser.selectByValue(eleMap.example_payment_exp_year, userData.exp_year);
- browser.waitForEnabled(eleMap.example_payment_cvv, 8000);
- try {
- browser.setValue(eleMap.example_payment_cvv, userData.cvv);
- } catch (e) {
- browser.pause("1");
- } finally {
- browser.pause("1000");
- }
- },
- paypalPaymentInfo: function () {
- browser.pause(6000);
- browser.setValue(eleMap.paypal_cc, userData.paypal_visa);
- browser.pause("5000");
- browser.selectByValue(eleMap.paypal_exp_month, userData.exp_month);
- browser.selectByValue(eleMap.paypal_exp_year, userData.exp_year);
- browser.waitForEnabled(eleMap.paypal_cvv, 8000);
- try {
- browser.setValue(eleMap.paypal_cvv, userData.cvv);
- } catch (e) {
- browser.pause("1");
- } finally {
- browser.pause("1000");
- }
- },
- stripePaymentInfo: function () {
- browser.pause(6000);
- browser.setValue(eleMap.stripe_cc, userData.stripe_visa);
- browser.pause("5000");
- browser.selectByValue(eleMap.stripe_exp_month, userData.exp_month);
- browser.selectByValue(eleMap.stripe_exp_year, userData.exp_year);
- browser.waitForEnabled(eleMap.stripe_cvv, 8000);
- try {
- browser.setValue(eleMap.stripe_cvv, userData.cvv);
- } catch (e) {
- browser.pause("1");
- } finally {
- browser.pause("1000");
- }
- },
- checkForAddress: function () {
- browser.pause("2000");
- if (browser.isExisting("address")) {
- browser.pause("1000");
- } else {
- this.userAddress();
- }
- }
-};
diff --git a/tests/acceptance-tests/lib/visa-generator.js b/tests/acceptance-tests/lib/visa-generator.js
deleted file mode 100644
index cb4688e67f0..00000000000
--- a/tests/acceptance-tests/lib/visa-generator.js
+++ /dev/null
@@ -1,13 +0,0 @@
-"use strict";
-
-module.exports = {
- visaGenerate: function () {
- const newCardArr = [];
- for (let i = 0; i < 16; i++) {
- newCardArr.push(Math.floor((Math.random() * 9)));
- }
- newCardArr[0] = 4;
- const cardNumber = newCardArr.join("");
- return cardNumber;
- }
-};
diff --git a/tests/acceptance-tests/test/specs/payment-processors/authnet/authorizenet-refund.app-test.js b/tests/acceptance-tests/test/specs/payment-processors/authnet/authorizenet-refund.app-test.js
deleted file mode 100644
index b732aa06b8a..00000000000
--- a/tests/acceptance-tests/test/specs/payment-processors/authnet/authorizenet-refund.app-test.js
+++ /dev/null
@@ -1,56 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-const expect = require("chai").expect;
-const shopUser = require("../../../../lib/user-shop-actions.js");
-const userDo = require("../../../../lib/basic-user-actions.js");
-const adminUser = require("../../../../lib/admin-order-actions.js");
-
-
-beforeEach(function () {
- const browserConfig = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/config/settings.yml", "utf8"));
- const baseUrl = browserConfig.base_url.toString();
- browser.url(baseUrl);
-});
-
-
-describe("authorize net refund test", function () {
- const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
- it("verify user can refund with authorize net", function () {
- userDo.UserActions.userLogin("admin");
- browser.pause("5000");
- userDo.UserActions.refreshShop();
- browser.click(eleMap.product);
- browser.waitForEnabled(eleMap.red_option, 5000);
- browser.click(eleMap.red_option);
- browser.waitForEnabled(eleMap.add_to_cart_logged_in, 3000);
- browser.click(eleMap.add_to_cart_logged_in);
- browser.waitForEnabled(eleMap.checkout_btn);
- browser.click(eleMap.checkout_btn);
- shopUser.checkForAddress();
- // free shipping option
- browser.click(eleMap.free_shipping);
- browser.waitForEnabled(eleMap.authorizenet, 5000);
- browser.click(eleMap.authorizenet);
- shopUser.authorizeNetPaymentInfo();
- browser.click(eleMap.authorizenet_complete_order_btn);
- browser.pause("6000");
- // navigate to orders page
- browser.click(eleMap.orders_page_btn);
- browser.pause("5000");
- browser.click(eleMap.first_order_new_btn);
- browser.waitForEnabled(eleMap.approve_btn, 5000);
- browser.click(eleMap.approve_btn);
- browser.waitForEnabled(eleMap.capture_payment_btn, 2000);
- browser.click(eleMap.capture_payment_btn);
- adminUser.refundAmount();
- browser.click(eleMap.apply_refund_btn);
- browser.waitForEnabled(eleMap.apply_refund_pop_up_btn, 5000);
- browser.click(eleMap.apply_refund_pop_up_btn);
- browser.waitForVisible("h2", 5000);
- expect(browser.getText("h2"))
- .to.equal("Reaction does not yet support direct refund processing from Authorize.net. Please visit their web portal to perform this action.");
- // error pop up ok btn
- browser.click("button.swal2-confirm.styled");
- });
-});
diff --git a/tests/acceptance-tests/test/specs/payment-processors/authnet/authorizenet-void.app-test.js b/tests/acceptance-tests/test/specs/payment-processors/authnet/authorizenet-void.app-test.js
deleted file mode 100644
index 1cf5993b78a..00000000000
--- a/tests/acceptance-tests/test/specs/payment-processors/authnet/authorizenet-void.app-test.js
+++ /dev/null
@@ -1,50 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-const expect = require("chai").expect;
-const shopUser = require("../../../../lib/user-shop-actions.js");
-const userDo = require("../../../../lib/basic-user-actions.js");
-const adminUser = require("../../../../lib/admin-order-actions.js");
-const getTestConfig = require("../../../../lib/get-test-config.js");
-
-beforeEach(function () {
- getTestConfig.init();
-});
-
-describe("authorize net void test", function () {
- const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
- it("verify user can void an order with authorize net", function () {
- userDo.UserActions.userLogin("admin");
- browser.pause("5000");
- userDo.UserActions.refreshShop();
- browser.click(eleMap.product);
- browser.waitForEnabled(eleMap.red_option, 5000);
- browser.click(eleMap.red_option);
- browser.waitForEnabled(eleMap.add_to_cart_logged_in, 3000);
- browser.click(eleMap.add_to_cart_logged_in);
- browser.waitForEnabled(eleMap.checkout_btn);
- browser.click(eleMap.checkout_btn);
- shopUser.checkForAddress();
- // free shipping option
- browser.click(eleMap.free_shipping);
- browser.waitForEnabled(eleMap.authorizenet, 5000);
- browser.click(eleMap.authorizenet);
- shopUser.authorizeNetPaymentInfo();
- browser.click(eleMap.authorizenet_complete_order_btn);
- browser.pause("6000");
- // navigate to orders page
- browser.click(eleMap.orders_page_btn);
- browser.pause("5000");
- browser.click(eleMap.first_order_new_btn);
- adminUser.voidAmount();
- browser.click(eleMap.approve_btn);
- browser.waitForVisible("h2", 5000);
- expect(browser.getText("h2")).to.equal("Applying a 100% discount will void / cancel this order with your payment provider");
- browser.click(eleMap.apply_discount_btn);
- browser.waitForVisible(eleMap.order_total_post_discount, 5000);
- const getTotal = browser.getText(eleMap.order_total_post_discount);
- expect(getTotal[0]).to.equal("$0.00");
- browser.click(eleMap.capture_payment_btn);
- browser.pause("3000");
- });
-});
diff --git a/tests/acceptance-tests/test/specs/payment-processors/authnet/guest-authorizenet-checkout.app-test.js b/tests/acceptance-tests/test/specs/payment-processors/authnet/guest-authorizenet-checkout.app-test.js
deleted file mode 100644
index 82a6e121ee4..00000000000
--- a/tests/acceptance-tests/test/specs/payment-processors/authnet/guest-authorizenet-checkout.app-test.js
+++ /dev/null
@@ -1,38 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-const expect = require("chai").expect;
-const shopUser = require("../../../../lib/user-shop-actions.js");
-const userDo = require("../../../../lib/basic-user-actions.js");
-const getTestConfig = require("../../../../lib/get-test-config.js");
-
-beforeEach(function () {
- getTestConfig.init();
-});
-
-
-describe("authorize net guest checkout test", function () {
- const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
- it("verify guest can checkout with authorize net", function () {
- browser.pause("5000");
- userDo.UserActions.refreshShop();
- browser.click(eleMap.product);
- browser.waitForEnabled(eleMap.red_option, 5000);
- browser.click(eleMap.red_option);
- browser.waitForEnabled(eleMap.add_to_cart, 5000);
- browser.click(eleMap.add_to_cart);
- browser.waitForEnabled(eleMap.checkout_btn, 3000);
- browser.click(eleMap.checkout_btn);
- browser.waitForEnabled(eleMap.continue_as_guest, 5000);
- browser.click(eleMap.continue_as_guest);
- shopUser.userAddress();
- // free shipping option
- browser.click(eleMap.free_shipping);
- browser.waitForEnabled(eleMap.authorizenet, 5000);
- browser.click(eleMap.authorizenet);
- shopUser.authorizeNetPaymentInfo();
- browser.click(eleMap.authorizenet_complete_order_btn);
- browser.waitForVisible("#order-status", 10000);
- expect(browser.getText("#order-status")).to.equal("Your order is now submitted.");
- });
-});
diff --git a/tests/acceptance-tests/test/specs/payment-processors/authnet/register-authorizenet-checkout.app-test.js b/tests/acceptance-tests/test/specs/payment-processors/authnet/register-authorizenet-checkout.app-test.js
deleted file mode 100644
index a943801c1b5..00000000000
--- a/tests/acceptance-tests/test/specs/payment-processors/authnet/register-authorizenet-checkout.app-test.js
+++ /dev/null
@@ -1,37 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-const expect = require("chai").expect;
-const shopUser = require("../../../../lib/user-shop-actions.js");
-const userDo = require("../../../../lib/basic-user-actions.js");
-const getTestConfig = require("../../../../lib/get-test-config.js");
-
-beforeEach(function () {
- getTestConfig.init();
-});
-
-
-describe("authorize net register user and checkout test", function () {
- const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
- it("verify user can register checkout with authorize net", function () {
- userDo.UserActions.registerUser();
- browser.pause("5000");
- userDo.UserActions.refreshShop();
- browser.click(eleMap.product);
- browser.waitForEnabled(eleMap.red_option, 5000);
- browser.click(eleMap.red_option);
- browser.waitForEnabled(eleMap.add_to_cart, 5000);
- browser.click(eleMap.add_to_cart);
- browser.waitForEnabled(eleMap.checkout_btn, 3000);
- browser.click(eleMap.checkout_btn);
- shopUser.checkForAddress();
- // free shipping option
- browser.click(eleMap.free_shipping);
- browser.waitForEnabled(eleMap.authorizenet, 5000);
- browser.click(eleMap.authorizenet);
- shopUser.authorizeNetPaymentInfo();
- browser.click(eleMap.authorizenet_complete_order_btn);
- browser.waitForVisible("#order-status", 20000);
- expect(browser.getText("#order-status")).to.equal("Your order is now submitted.");
- });
-});
diff --git a/tests/acceptance-tests/test/specs/payment-processors/braintree/braintree-refund.app-test.js b/tests/acceptance-tests/test/specs/payment-processors/braintree/braintree-refund.app-test.js
deleted file mode 100644
index 0dabe61b0ec..00000000000
--- a/tests/acceptance-tests/test/specs/payment-processors/braintree/braintree-refund.app-test.js
+++ /dev/null
@@ -1,54 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-const expect = require("chai").expect;
-const shopUser = require("../../../../lib/user-shop-actions.js");
-const userDo = require("../../../../lib/basic-user-actions.js");
-const adminUser = require("../../../../lib/admin-order-actions.js");
-const getTestConfig = require("../../../../lib/get-test-config.js");
-
-beforeEach(function () {
- getTestConfig.init();
-});
-
-
-describe("braintree refund test", function () {
- const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
- it("verify user can refund with braintree", function () {
- userDo.UserActions.userLogin("admin");
- browser.pause("5000");
- userDo.UserActions.refreshShop();
- browser.click(eleMap.product);
- browser.waitForEnabled(eleMap.red_option, 5000);
- browser.click(eleMap.red_option);
- browser.waitForEnabled(eleMap.add_to_cart_logged_in, 5000);
- browser.click(eleMap.add_to_cart_logged_in);
- browser.waitForEnabled(eleMap.checkout_btn, 5000);
- browser.click(eleMap.checkout_btn);
- shopUser.checkForAddress();
- // free shipping option
- browser.click(eleMap.free_shipping);
- browser.waitForEnabled(eleMap.braintree, 5000);
- browser.click(eleMap.braintree);
- shopUser.braintreePaymentInfo();
- browser.waitForEnabled(eleMap.braintree_complete_order_btn, 5000);
- browser.click(eleMap.braintree_complete_order_btn);
- browser.pause(5000);
- browser.click(eleMap.orders_page_btn);
- browser.pause("15000");
- browser.click(eleMap.first_order_new_btn);
- browser.waitForEnabled(eleMap.approve_btn, 10000);
- browser.click(eleMap.approve_btn);
- browser.waitForEnabled(eleMap.capture_payment_btn, 5000);
- browser.click(eleMap.capture_payment_btn);
- adminUser.refundAmount();
- browser.click(eleMap.apply_refund_btn);
- browser.pause(5000);
- browser.click(eleMap.apply_refund_pop_up_btn);
- browser.pause(5000);
- expect(browser.getText("h2"))
- .to.equal("Braintree does not allow refunds until transactions are settled. This can take up to 24 hours. Please try again later.");
- // error pop up ok btn
- browser.click("button.swal2-confirm.styled");
- });
-});
diff --git a/tests/acceptance-tests/test/specs/payment-processors/braintree/braintree-void.app-test.js b/tests/acceptance-tests/test/specs/payment-processors/braintree/braintree-void.app-test.js
deleted file mode 100644
index 708cf79058c..00000000000
--- a/tests/acceptance-tests/test/specs/payment-processors/braintree/braintree-void.app-test.js
+++ /dev/null
@@ -1,51 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-const expect = require("chai").expect;
-const shopUser = require("../../../../lib/user-shop-actions.js");
-const userDo = require("../../../../lib/basic-user-actions.js");
-const adminUser = require("../../../../lib/admin-order-actions.js");
-const getTestConfig = require("../../../../lib/get-test-config.js");
-
-beforeEach(function () {
- getTestConfig.init();
-});
-
-
-describe("braintree net void test", function () {
- const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
- it("verify user can void an order with braintree", function () {
- userDo.UserActions.userLogin("admin");
- browser.pause("5000");
- userDo.UserActions.refreshShop();
- browser.click(eleMap.product);
- browser.waitForEnabled(eleMap.red_option, 5000);
- browser.click(eleMap.red_option);
- browser.waitForEnabled(eleMap.add_to_cart_logged_in, 3000);
- browser.click(eleMap.add_to_cart_logged_in);
- browser.waitForEnabled(eleMap.checkout_btn);
- browser.click(eleMap.checkout_btn);
- shopUser.checkForAddress();
- // free shipping option
- browser.click(eleMap.free_shipping);
- browser.waitForEnabled(eleMap.braintree, 5000);
- browser.click(eleMap.braintree);
- browser.pause("6000");
- shopUser.braintreePaymentInfo();
- browser.click(eleMap.braintree_complete_order_btn);
- browser.pause("6000");
- // navigate to orders page
- browser.click(eleMap.orders_page_btn);
- browser.pause("5000");
- browser.click(eleMap.first_order_new_btn);
- adminUser.voidAmount();
- browser.click(eleMap.approve_btn);
- browser.waitForVisible("h2", 5000);
- expect(browser.getText("h2")).to.equal("Applying a 100% discount will void / cancel this order with your payment provider");
- browser.click(eleMap.apply_discount_btn);
- browser.pause("5000");
- const getTotal = browser.getText(eleMap.order_total_post_discount);
- expect(getTotal[0]).to.equal("$0.00");
- browser.click(eleMap.capture_payment_btn);
- });
-});
diff --git a/tests/acceptance-tests/test/specs/payment-processors/braintree/guest-braintree-checkout.app-test.js b/tests/acceptance-tests/test/specs/payment-processors/braintree/guest-braintree-checkout.app-test.js
deleted file mode 100644
index 4261790d06b..00000000000
--- a/tests/acceptance-tests/test/specs/payment-processors/braintree/guest-braintree-checkout.app-test.js
+++ /dev/null
@@ -1,39 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-const expect = require("chai").expect;
-const shopUser = require("../../../../lib/user-shop-actions.js");
-const userDo = require("../../../../lib/basic-user-actions.js");
-const getTestConfig = require("../../../../lib/get-test-config.js");
-
-beforeEach(function () {
- getTestConfig.init();
-});
-
-
-describe("braintree guest checkout test", function () {
- const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
- it("verify guest can checkout with braintree", function () {
- browser.pause("5000");
- userDo.UserActions.refreshShop();
- browser.click(eleMap.product);
- browser.waitForEnabled(eleMap.red_option, 5000);
- browser.click(eleMap.red_option);
- browser.waitForEnabled(eleMap.add_to_cart, 5000);
- browser.click(eleMap.add_to_cart);
- browser.waitForEnabled(eleMap.checkout_btn, 5000);
- browser.click(eleMap.checkout_btn);
- browser.waitForEnabled(eleMap.continue_as_guest, 5000);
- browser.click(eleMap.continue_as_guest);
- shopUser.userAddress();
- // free shipping option
- browser.click(eleMap.free_shipping);
- browser.waitForEnabled(eleMap.braintree, 5000);
- browser.click(eleMap.braintree);
- shopUser.braintreePaymentInfo();
- browser.waitForEnabled(eleMap.braintree_complete_order_btn, 5000);
- browser.click(eleMap.braintree_complete_order_btn);
- browser.waitForVisible("#order-status", 10000);
- expect(browser.getText("#order-status")).to.equal("Your order is now submitted.");
- });
-});
diff --git a/tests/acceptance-tests/test/specs/payment-processors/braintree/register-braintree-checkout.app-test.js b/tests/acceptance-tests/test/specs/payment-processors/braintree/register-braintree-checkout.app-test.js
deleted file mode 100644
index 658cd686ca0..00000000000
--- a/tests/acceptance-tests/test/specs/payment-processors/braintree/register-braintree-checkout.app-test.js
+++ /dev/null
@@ -1,38 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-const expect = require("chai").expect;
-const shopUser = require("../../../../lib/user-shop-actions.js");
-const userDo = require("../../../../lib/basic-user-actions.js");
-const getTestConfig = require("../../../../lib/get-test-config.js");
-
-beforeEach(function () {
- getTestConfig.init();
-});
-
-
-describe("braintree register user and checkout test", function () {
- const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
- it("verify user can register and checkout with braintree", function () {
- userDo.UserActions.registerUser();
- browser.pause("5000");
- userDo.UserActions.refreshShop();
- browser.click(eleMap.product);
- browser.waitForEnabled(eleMap.red_option, 5000);
- browser.click(eleMap.red_option);
- browser.waitForEnabled(eleMap.add_to_cart, 5000);
- browser.click(eleMap.add_to_cart);
- browser.waitForEnabled(eleMap.checkout_btn, 5000);
- browser.click(eleMap.checkout_btn);
- shopUser.checkForAddress();
- // free shipping option
- browser.click(eleMap.free_shipping);
- browser.waitForEnabled(eleMap.braintree, 5000);
- browser.click(eleMap.braintree);
- shopUser.braintreePaymentInfo();
- browser.waitForEnabled(eleMap.braintree_complete_order_btn, 5000);
- browser.click(eleMap.braintree_complete_order_btn);
- browser.waitForVisible("#order-status", 20000);
- expect(browser.getText("#order-status")).to.equal("Your order is now submitted.");
- });
-});
diff --git a/tests/acceptance-tests/test/specs/payment-processors/example/example-payment-refund.app-test.js b/tests/acceptance-tests/test/specs/payment-processors/example/example-payment-refund.app-test.js
deleted file mode 100644
index 8014b92385d..00000000000
--- a/tests/acceptance-tests/test/specs/payment-processors/example/example-payment-refund.app-test.js
+++ /dev/null
@@ -1,48 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-const shopUser = require("../../../../lib/user-shop-actions.js");
-const userDo = require("../../../../lib/basic-user-actions.js");
-const adminUser = require("../../../../lib/admin-order-actions.js");
-const getTestConfig = require("../../../../lib/get-test-config.js");
-
-beforeEach(function () {
- getTestConfig.init();
-});
-
-
-describe("example payment refund test", function () {
- const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
- it("verify user can refund with example payment", function () {
- userDo.UserActions.userLogin("admin");
- browser.pause("5000");
- userDo.UserActions.refreshShop();
- browser.click(eleMap.product);
- browser.waitForEnabled(eleMap.red_option, 5000);
- browser.click(eleMap.red_option);
- browser.waitForEnabled(eleMap.add_to_cart_logged_in, 3000);
- browser.click(eleMap.add_to_cart_logged_in);
- browser.waitForEnabled(eleMap.checkout_btn);
- browser.click(eleMap.checkout_btn);
- shopUser.checkForAddress();
- // free shipping option
- browser.click(eleMap.free_shipping);
- browser.waitForEnabled(eleMap.example_payment, 5000);
- browser.click(eleMap.example_payment);
- shopUser.examplePaymentInfo();
- browser.pause("5000");
- browser.click(eleMap.example_payment_complete_order_btn);
- browser.pause("6000");
- browser.click(eleMap.orders_page_btn);
- browser.pause("5000");
- browser.click(eleMap.first_order_new_btn);
- browser.waitForEnabled(eleMap.approve_btn, 5000);
- browser.click(eleMap.approve_btn);
- browser.waitForEnabled(eleMap.capture_payment_btn, 5000);
- browser.click(eleMap.capture_payment_btn);
- adminUser.refundAmount();
- browser.click(eleMap.apply_refund_btn);
- browser.waitForEnabled(eleMap.apply_refund_pop_up_btn, 5000);
- browser.click(eleMap.apply_refund_pop_up_btn);
- });
-});
diff --git a/tests/acceptance-tests/test/specs/payment-processors/example/guest-example-payment-checkout.app-test.js b/tests/acceptance-tests/test/specs/payment-processors/example/guest-example-payment-checkout.app-test.js
deleted file mode 100644
index b6910f40ab9..00000000000
--- a/tests/acceptance-tests/test/specs/payment-processors/example/guest-example-payment-checkout.app-test.js
+++ /dev/null
@@ -1,39 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-const expect = require("chai").expect;
-const shopUser = require("../../../../lib/user-shop-actions.js");
-const userDo = require("../../../../lib/basic-user-actions.js");
-const getTestConfig = require("../../../../lib/get-test-config.js");
-
-beforeEach(function () {
- getTestConfig.init();
-});
-
-
-describe("example payment guest checkout test", function () {
- const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
- it("verify guest can checkout with example payment", function () {
- browser.pause("5000");
- userDo.UserActions.refreshShop();
- browser.click(eleMap.product);
- browser.waitForEnabled(eleMap.red_option, 5000);
- browser.click(eleMap.red_option);
- browser.waitForEnabled(eleMap.add_to_cart, 5000);
- browser.click(eleMap.add_to_cart);
- browser.waitForEnabled(eleMap.checkout_btn, 2000);
- browser.click(eleMap.checkout_btn);
- browser.waitForEnabled(eleMap.continue_as_guest, 5000);
- browser.click(eleMap.continue_as_guest);
- shopUser.userAddress();
- // free shipping option
- browser.click(eleMap.free_shipping);
- browser.waitForEnabled(eleMap.example_payment, 5000);
- browser.click(eleMap.example_payment);
- shopUser.examplePaymentInfo();
- browser.waitForEnabled(eleMap.example_payment_complete_order_btn, 5000);
- browser.click(eleMap.example_payment_complete_order_btn);
- browser.waitForVisible("#order-status", 10000);
- expect(browser.getText("#order-status")).to.equal("Your order is now submitted.");
- });
-});
diff --git a/tests/acceptance-tests/test/specs/payment-processors/example/register-example-payment-checkout.app-test.js b/tests/acceptance-tests/test/specs/payment-processors/example/register-example-payment-checkout.app-test.js
deleted file mode 100644
index 8384dab9153..00000000000
--- a/tests/acceptance-tests/test/specs/payment-processors/example/register-example-payment-checkout.app-test.js
+++ /dev/null
@@ -1,37 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-const expect = require("chai").expect;
-const shopUser = require("../../../../lib/user-shop-actions.js");
-const userDo = require("../../../../lib/basic-user-actions.js");
-const getTestConfig = require("../../../../lib/get-test-config.js");
-
-beforeEach(function () {
- getTestConfig.init();
-});
-
-
-describe("example payment register user and checkout test", function () {
- const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
- it("verify user can register and checkout with example payment", function () {
- userDo.UserActions.registerUser();
- browser.pause("5000");
- userDo.UserActions.refreshShop();
- browser.click(eleMap.product);
- browser.waitForEnabled(eleMap.red_option, 5000);
- browser.click(eleMap.red_option);
- browser.waitForEnabled(eleMap.add_to_cart, 5000);
- browser.click(eleMap.add_to_cart);
- browser.waitForEnabled(eleMap.checkout_btn, 5000);
- browser.click(eleMap.checkout_btn);
- shopUser.checkForAddress();
- browser.click(eleMap.free_shipping);
- browser.waitForEnabled(eleMap.example_payment, 5000);
- browser.click(eleMap.example_payment);
- shopUser.examplePaymentInfo();
- browser.waitForEnabled(eleMap.example_payment_complete_order_btn, 5000);
- browser.click(eleMap.example_payment_complete_order_btn);
- browser.waitForVisible("#order-status", 20000);
- expect(browser.getText("#order-status")).to.equal("Your order is now submitted.");
- });
-});
diff --git a/tests/acceptance-tests/test/specs/payment-processors/paypal/guest-paypal-checkout.app-test.js b/tests/acceptance-tests/test/specs/payment-processors/paypal/guest-paypal-checkout.app-test.js
deleted file mode 100644
index 2f845383aa3..00000000000
--- a/tests/acceptance-tests/test/specs/payment-processors/paypal/guest-paypal-checkout.app-test.js
+++ /dev/null
@@ -1,40 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-const expect = require("chai").expect;
-const shopUser = require("../../../../lib/user-shop-actions.js");
-const userDo = require("../../../../lib/basic-user-actions.js");
-const getTestConfig = require("../../../../lib/get-test-config.js");
-
-beforeEach(function () {
- getTestConfig.init();
-});
-
-
-describe("paypal guest checkout test", function () {
- const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
- it("verify guest can checkout with paypal", function () {
- browser.pause("5000");
- userDo.UserActions.refreshShop();
- browser.click(eleMap.product);
- browser.waitForEnabled(eleMap.red_option, 5000);
- browser.click(eleMap.red_option);
- browser.waitForEnabled(eleMap.add_to_cart, 2000);
- browser.click(eleMap.add_to_cart);
- browser.waitForEnabled(eleMap.checkout_btn, 2000);
- browser.click(eleMap.checkout_btn);
- browser.waitForEnabled(eleMap.continue_as_guest, 5000);
- browser.click(eleMap.continue_as_guest);
- shopUser.userAddress();
- // free shipping option
- browser.click(eleMap.free_shipping);
- browser.waitForEnabled(eleMap.paypal, 3000);
- browser.click(eleMap.paypal);
- shopUser.paypalPaymentInfo();
- browser.waitForEnabled(eleMap.paypal_complete_order_btn, 5000);
- browser.click(eleMap.paypal_complete_order_btn);
- // paypal takes forever 45sec wait
- browser.waitForVisible("#order-status", 45000);
- expect(browser.getText("#order-status")).to.equal("Your order is now submitted.");
- });
-});
diff --git a/tests/acceptance-tests/test/specs/payment-processors/paypal/paypal-refund.app-test.js b/tests/acceptance-tests/test/specs/payment-processors/paypal/paypal-refund.app-test.js
deleted file mode 100644
index 666733b4f07..00000000000
--- a/tests/acceptance-tests/test/specs/payment-processors/paypal/paypal-refund.app-test.js
+++ /dev/null
@@ -1,49 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-const shopUser = require("../../../../lib/user-shop-actions.js");
-const userDo = require("../../../../lib/basic-user-actions.js");
-const adminUser = require("../../../../lib/admin-order-actions.js");
-const getTestConfig = require("../../../../lib/get-test-config.js");
-
-beforeEach(function () {
- getTestConfig.init();
-});
-
-
-describe("paypal refund test", function () {
- const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
- it("verify user can refund with paypal", function () {
- userDo.UserActions.userLogin("admin");
- browser.pause("5000");
- userDo.UserActions.refreshShop();
- browser.click(eleMap.product);
- browser.waitForEnabled(eleMap.red_option, 5000);
- browser.click(eleMap.red_option);
- browser.waitForEnabled(eleMap.add_to_cart_logged_in, 5000);
- browser.click(eleMap.add_to_cart_logged_in);
- browser.waitForEnabled(eleMap.checkout_btn, 5000);
- browser.click(eleMap.checkout_btn);
- shopUser.checkForAddress();
- // free shipping option
- browser.click(eleMap.free_shipping);
- browser.waitForEnabled(eleMap.paypal, 5000);
- browser.click(eleMap.paypal);
- shopUser.paypalPaymentInfo();
- browser.click(eleMap.paypal_complete_order_btn);
- // paypal takes forever 45sec wait
- browser.pause("45000");
- browser.click(eleMap.orders_page_btn);
- browser.pause("5000");
- browser.click(eleMap.first_order_new_btn);
- browser.pause("2000");
- browser.click(eleMap.approve_btn);
- browser.waitForEnabled(eleMap.capture_payment_btn, 5000);
- browser.click(eleMap.capture_payment_btn);
- adminUser.refundAmount();
- browser.click(eleMap.apply_refund_btn);
- browser.pause("5000");
- browser.click(eleMap.apply_refund_pop_up_btn);
- browser.pause("2000");
- });
-});
diff --git a/tests/acceptance-tests/test/specs/payment-processors/paypal/register-paypal-checkout.app-test.js b/tests/acceptance-tests/test/specs/payment-processors/paypal/register-paypal-checkout.app-test.js
deleted file mode 100644
index 914eb6ebdb7..00000000000
--- a/tests/acceptance-tests/test/specs/payment-processors/paypal/register-paypal-checkout.app-test.js
+++ /dev/null
@@ -1,39 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-const expect = require("chai").expect;
-const shopUser = require("../../../../lib/user-shop-actions.js");
-const userDo = require("../../../../lib/basic-user-actions.js");
-const getTestConfig = require("../../../../lib/get-test-config.js");
-
-beforeEach(function () {
- getTestConfig.init();
-});
-
-
-describe("paypal logged in checkout test", function () {
- const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
- it("verify logged in user can checkout with paypal", function () {
- userDo.UserActions.registerUser();
- browser.pause("5000");
- userDo.UserActions.refreshShop();
- browser.click(eleMap.product);
- browser.waitForEnabled(eleMap.red_option, 5000);
- browser.click(eleMap.red_option);
- browser.waitForEnabled(eleMap.add_to_cart, 5000);
- browser.click(eleMap.add_to_cart);
- browser.waitForEnabled(eleMap.checkout_btn, 5000);
- browser.click(eleMap.checkout_btn);
- shopUser.checkForAddress();
- // free shipping option
- browser.click(eleMap.free_shipping);
- browser.waitForEnabled(eleMap.paypal, 5000);
- browser.click(eleMap.paypal);
- shopUser.paypalPaymentInfo();
- browser.waitForEnabled(eleMap.paypal_complete_order_btn, 5000);
- browser.click(eleMap.paypal_complete_order_btn);
- // paypal takes forever 45sec wait
- browser.waitForVisible("#order-status", 45000);
- expect(browser.getText("#order-status")).to.equal("Your order is now submitted.");
- });
-});
diff --git a/tests/acceptance-tests/test/specs/payment-processors/stripe/guest-stripe-checkout.app-test.js b/tests/acceptance-tests/test/specs/payment-processors/stripe/guest-stripe-checkout.app-test.js
deleted file mode 100644
index 1ccac93cbbb..00000000000
--- a/tests/acceptance-tests/test/specs/payment-processors/stripe/guest-stripe-checkout.app-test.js
+++ /dev/null
@@ -1,38 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-const expect = require("chai").expect;
-const shopUser = require("../../../../lib/user-shop-actions.js");
-const userDo = require("../../../../lib/basic-user-actions.js");
-const getTestConfig = require("../../../../lib/get-test-config.js");
-
-beforeEach(function () {
- getTestConfig.init();
-});
-
-
-describe("stripe guest checkout test", function () {
- const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
- it("verify guest can checkout with stripe", function () {
- browser.pause("5000");
- userDo.UserActions.refreshShop();
- browser.click(eleMap.product);
- browser.waitForEnabled(eleMap.red_option, 5000);
- browser.click(eleMap.red_option);
- browser.waitForEnabled(eleMap.add_to_cart, 5000);
- browser.click(eleMap.add_to_cart);
- browser.waitForEnabled(eleMap.checkout_btn, 2000);
- browser.click(eleMap.checkout_btn);
- browser.waitForEnabled(eleMap.continue_as_guest, 5000);
- browser.click(eleMap.continue_as_guest);
- shopUser.userAddress();
- // free shipping option
- browser.click(eleMap.free_shipping);
- browser.waitForEnabled(eleMap.stripe, 3000);
- browser.click(eleMap.stripe);
- shopUser.stripePaymentInfo();
- browser.click(eleMap.stripe_complete_order_btn);
- browser.waitForVisible("#order-status", 20000);
- expect(browser.getText("#order-status")).to.equal("Your order is now submitted.");
- });
-});
diff --git a/tests/acceptance-tests/test/specs/payment-processors/stripe/register-stripe-checkout.app-test.js b/tests/acceptance-tests/test/specs/payment-processors/stripe/register-stripe-checkout.app-test.js
deleted file mode 100644
index b025bf56a0a..00000000000
--- a/tests/acceptance-tests/test/specs/payment-processors/stripe/register-stripe-checkout.app-test.js
+++ /dev/null
@@ -1,38 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-const expect = require("chai").expect;
-const shopUser = require("../../../../lib/user-shop-actions.js");
-const userDo = require("../../../../lib/basic-user-actions.js");
-const getTestConfig = require("../../../../lib/get-test-config.js");
-
-beforeEach(function () {
- getTestConfig.init();
-});
-
-
-describe("stripe register user and checkout test", function () {
- const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
- it("verify user can register and checkout with stripe", function () {
- userDo.UserActions.registerUser();
- browser.pause("5000");
- userDo.UserActions.refreshShop();
- browser.click(eleMap.product);
- browser.waitForEnabled(eleMap.red_option, 5000);
- browser.click(eleMap.red_option);
- browser.waitForEnabled(eleMap.add_to_cart, 5000);
- browser.click(eleMap.add_to_cart);
- browser.waitForEnabled(eleMap.checkout_btn, 5000);
- browser.click(eleMap.checkout_btn);
- shopUser.checkForAddress();
- // free shipping option
- browser.click(eleMap.free_shipping);
- browser.waitForEnabled(eleMap.stripe, 5000);
- browser.click(eleMap.stripe);
- shopUser.stripePaymentInfo();
- browser.waitForEnabled(eleMap.stripe_complete_order_btn, 5000);
- browser.click(eleMap.stripe_complete_order_btn);
- browser.waitForVisible("#order-status", 10000);
- expect(browser.getText("#order-status")).to.equal("Your order is now submitted.");
- });
-});
diff --git a/tests/acceptance-tests/test/specs/payment-processors/stripe/stripe-refund.app-test.js b/tests/acceptance-tests/test/specs/payment-processors/stripe/stripe-refund.app-test.js
deleted file mode 100644
index a12c918b5af..00000000000
--- a/tests/acceptance-tests/test/specs/payment-processors/stripe/stripe-refund.app-test.js
+++ /dev/null
@@ -1,49 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-const shopUser = require("../../../../lib/user-shop-actions.js");
-const userDo = require("../../../../lib/basic-user-actions.js");
-const adminUser = require("../../../../lib/admin-order-actions.js");
-const getTestConfig = require("../../../../lib/get-test-config.js");
-
-beforeEach(function () {
- getTestConfig.init();
-});
-
-
-describe("stripe refund test", function () {
- const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
- it("verify user can refund with stripe", function () {
- userDo.UserActions.userLogin("admin");
- browser.pause("5000");
- userDo.UserActions.refreshShop();
- browser.click(eleMap.product);
- browser.waitForEnabled(eleMap.red_option, 5000);
- browser.click(eleMap.red_option);
- browser.waitForEnabled(eleMap.add_to_cart_logged_in, 5000);
- browser.click(eleMap.add_to_cart_logged_in);
- browser.waitForEnabled(eleMap.checkout_btn, 5000);
- browser.click(eleMap.checkout_btn);
- shopUser.checkForAddress();
- // free shipping option
- browser.click(eleMap.free_shipping);
- browser.waitForEnabled(eleMap.stripe, 5000);
- browser.click(eleMap.stripe);
- shopUser.stripePaymentInfo();
- browser.waitForEnabled(eleMap.stripe_complete_order_btn, 5000);
- browser.click(eleMap.stripe_complete_order_btn);
- browser.pause("9000");
- browser.click(eleMap.orders_page_btn);
- browser.pause("5000");
- browser.click(eleMap.first_order_new_btn);
- browser.waitForEnabled(eleMap.approve_btn, 5000);
- browser.click(eleMap.approve_btn);
- browser.waitForEnabled(eleMap.capture_payment_btn, 5000);
- browser.click(eleMap.capture_payment_btn);
- adminUser.refundAmount();
- browser.click(eleMap.apply_refund_btn);
- browser.pause("5000");
- browser.click(eleMap.apply_refund_pop_up_btn);
- browser.pause("2000");
- });
-});
diff --git a/tests/acceptance-tests/test/specs/permissions/dashboard-permissions.app-test.js b/tests/acceptance-tests/test/specs/permissions/dashboard-permissions.app-test.js
deleted file mode 100644
index e78c0ddef56..00000000000
--- a/tests/acceptance-tests/test/specs/permissions/dashboard-permissions.app-test.js
+++ /dev/null
@@ -1,41 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-const expect = require("chai").expect;
-const adminUser = require("../../../lib/basic-user-actions.js");
-const resetUser = require("../../../lib/user-permissions-reset.js");
-const getTestConfig = require("../../../../lib/get-test-config.js");
-
-beforeEach(function () {
- getTestConfig.init();
-});
-
-afterEach(function () {
- resetUser.resetUserPermissions();
-});
-
-describe("dashboard permissions test", function () {
- const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
- it("verify admin adding dashboard permissions to guest user", function () {
- adminUser.UserActions.userLogin("admin");
- // navigate to dashboard
- browser.click(eleMap.dashboard_btn);
- browser.pause("5000");
- // select guest user from user page
- browser.click(eleMap.db_accounts);
- browser.pause("5000");
- browser.click(eleMap.account_manage_btn);
- browser.pause("5000");
- browser.click(eleMap.perm_dashboard_chkb);
- browser.pause("5000");
- adminUser.UserActions.userLogout();
- browser.pause("5000");
- // login as guest user
- adminUser.UserActions.userLogin("guest");
- // user should be able to enter the dashboard now
- browser.click(eleMap.dashboard_btn);
- browser.pause("5000");
- expect(browser.getText(eleMap.dashboard_hdr_txt)).to.equal("Dashboard");
- adminUser.UserActions.userLogout();
- });
-});
diff --git a/tests/acceptance-tests/test/specs/permissions/shop-settings-permissions.app-test.js b/tests/acceptance-tests/test/specs/permissions/shop-settings-permissions.app-test.js
deleted file mode 100644
index 40e777ef1d8..00000000000
--- a/tests/acceptance-tests/test/specs/permissions/shop-settings-permissions.app-test.js
+++ /dev/null
@@ -1,38 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-const expect = require("chai").expect;
-const adminUser = require("../../../lib/basic-user-actions.js");
-const getTestConfig = require("../../../lib/get-test-config.js");
-
-beforeEach(function () {
- getTestConfig.init();
-});
-
-
-afterEach(function () {
-
-});
-
-describe("core permissions test", function () {
- const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
- it("verify admin adding dashboard permissions to guest", function () {
- adminUser.UserActions.userLogin("admin");
- // navigate to dashboard
- browser.click(eleMap.dashboard_btn);
- browser.pause("5000");
- browser.click(eleMap.db_accounts);
- browser.pause("5000");
- browser.click(eleMap.account_manage_btn);
- browser.pause("5000");
- browser.click(eleMap.perm_dashboard_chkb);
- browser.click(eleMap.perm_shop_settings_chkb);
- adminUser.UserActions.userLogout();
- adminUser.UserActions.userLogin("guest");
- browser.click(eleMap.dashboard_btn);
- browser.pause("5000");
- // verify Core settings option/button is present
- expect(browser.getText(eleMap.core_settings_btn_txt)).to.equal("Core");
- adminUser.UserActions.userLogout();
- });
-});
diff --git a/tests/acceptance-tests/test/specs/smoke-tests/simple-login.app-test.js b/tests/acceptance-tests/test/specs/smoke-tests/simple-login.app-test.js
deleted file mode 100644
index 5b5056010c4..00000000000
--- a/tests/acceptance-tests/test/specs/smoke-tests/simple-login.app-test.js
+++ /dev/null
@@ -1,32 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-const expect = require("chai").expect;
-const getId = require("../../../lib/get-elements.js");
-const getTestConfig = require("../../../../lib/get-test-config.js");
-
-beforeEach(function () {
- getTestConfig.init();
-});
-
-describe("simple login test", function () {
- it("verify user is able to login - and verifies user name in dropdown", function () {
- const eleMap = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-map.yml", "utf8"));
- const eleIds = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/elements/element-ids.yml", "utf8"));
- const usrData = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/config/user-data.yml", "utf8"));
-
- // default to process env if we've got that
- const adminEmail = process.env.REACTION_EMAIL || usrData.admin_email;
- const adminPassword = process.env.REACTION_AUTH || usrData.admin_pw;
- const adminUserName = process.env.REACTION_USER || usrData.admin_user;
-
- browser.pause("5000");
- browser.click(eleMap.login_dropdown_btn);
- browser.pause(5000);
- browser.setValue(getId.retId(eleIds.login_email_fld_id), adminEmail);
- browser.setValue(getId.retId(eleIds.login_pw_fld_id), adminPassword);
- browser.click(eleMap.login_btn);
- browser.pause("5000");
- expect(browser.getText("#logged-in-display-name")).to.equal(adminUserName);
- });
-});
diff --git a/tests/runner/browserstack.conf.js b/tests/runner/browserstack.conf.js
deleted file mode 100644
index 921638a59a3..00000000000
--- a/tests/runner/browserstack.conf.js
+++ /dev/null
@@ -1,70 +0,0 @@
-const browserstack = require("browserstack-local");
-const yaml = require("js-yaml");
-const fs = require("fs");
-const testSuite = require("./test-suite.js");
-
-const testSettings = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/config/settings.yml", "utf8"));
-const getSpecs = testSuite.getToggles();
-const getResult = testSuite.getResults();
-
-exports.config = {
- user: process.env.BROWSERSTACK_USERNAME || "BROWSERSTACK_USERNAME",
- key: process.env.BROWSERSTACK_ACCESS_KEY || "BROWSERSTACK_ACCESS_KEY",
-
- updateJob: false,
- specs: getSpecs,
- exclude: [],
-
- capabilities: [{
- "browserName": testSettings.browser,
- "browser_version": testSettings.browser_version,
- "os": testSettings.os,
- "os_version": testSettings.os_version,
- "resolution": testSettings.resolution,
- "browserstack.local": true,
- "browserstack.debug": true
- }],
-
- logLevel: "silent",
- coloredLogs: true,
- // screenshotPath: "./errorShots/",
- baseUrl: "http://localhost",
- waitforTimeout: 10000,
- connectionRetryTimeout: 90000,
- connectionRetryCount: 3,
-
- framework: "mocha",
- mochaOpts: {
- ui: "bdd",
- timeout: 999999
- },
-
- // Code to start browserstack local before start of test
- onPrepare: function (config, capabilities) { // eslint-disable-line no-unused-vars
- // console.log("Connecting local");
- return new Promise(function (resolve, reject) {
- exports.bsLocal = new browserstack.Local();
- exports.bsLocal.start({ key: exports.config.key }, function (error) {
- if (error) return reject(error);
- // console.log("Connected. Now testing...");
- resolve();
- });
- });
- },
-
- // Code to stop browserstack local after end of test
- onComplete: function (capabilties, specs) { // eslint-disable-line no-unused-vars
- try {
- exports.bs_local.stop(function () {});
- } catch (e) {
- // console.log("oops!");
- }
- },
-
- reporters: getResult,
- reporterOptions: {
- allure: {
- outputDir: "allure-results"
- }
- }
-};
diff --git a/tests/runner/local.conf.js b/tests/runner/local.conf.js
deleted file mode 100644
index c6a0f483b20..00000000000
--- a/tests/runner/local.conf.js
+++ /dev/null
@@ -1,40 +0,0 @@
-const yaml = require("js-yaml");
-const fs = require("fs");
-const testSuite = require("./test-suite.js");
-
-
-const testSettings = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/config/settings.yml", "utf8"));
-const browserType = testSettings.browser;
-
-const getSpecs = testSuite.getToggles();
-const getResult = testSuite.getResults();
-
-exports.config = {
- updateJob: false,
- specs: getSpecs,
- exclude: [],
-
- capabilities: [{
- maxInstances: 1,
- browserName: browserType
- }],
-
- logLevel: "silent",
- coloredLogs: true,
- // screenshotPath: "./errorShots/",
- waitforTimeout: 10000,
- connectionRetryTimeout: 90000,
- connectionRetryCount: 3,
-
- framework: "mocha",
- mochaOpts: {
- ui: "bdd",
- timeout: 999999
- },
- reporters: getResult,
- reporterOptions: {
- allure: {
- outputDir: "allure-results"
- }
- }
-};
diff --git a/tests/runner/test-suite.js b/tests/runner/test-suite.js
deleted file mode 100644
index e7863b2297a..00000000000
--- a/tests/runner/test-suite.js
+++ /dev/null
@@ -1,48 +0,0 @@
-"use strict";
-const yaml = require("js-yaml");
-const fs = require("fs");
-
-const suiteConfig = yaml.safeLoad(fs.readFileSync("./tests/acceptance-tests/config/test-suite-config.yml", "utf8"));
-
-const braintreeSpecs = ["./tests/acceptance-tests/test/specs/payment-processors/braintree/**/*.js"];
-
-const stripeSpecs = ["./tests/acceptance-tests/test/specs/payment-processors/stripe/**/*.js"];
-
-const paypalSpecs = ["./tests/acceptance-tests/test/specs/payment-processors/paypal/**/*.js"];
-
-const authNetSpecs = ["./tests/acceptance-tests/test/specs/payment-processors/authnet/**/*.js"];
-
-const examplePaymentSpecs = ["./tests/acceptance-tests/test/specs/payment-processors/example/**/*.js"];
-
-const permissionSpecs = ["./tests/acceptance-tests/test/specs/permissions/**/*.js"];
-
-const smokeTestSpecs = ["./tests/acceptance-tests/test/specs/smoke-tests/**/*.js"];
-
-module.exports = {
- getToggles: function () {
- const toggles = [];
- if (suiteConfig.braintree === true) {
- toggles.push(braintreeSpecs[0]);
- } if (suiteConfig.stripe === true) {
- toggles.push(stripeSpecs[0]);
- } if (suiteConfig.authnet === true) {
- toggles.push(authNetSpecs[0]);
- } if (suiteConfig.paypal === true) {
- toggles.push(paypalSpecs[0]);
- } if (suiteConfig.example === true) {
- toggles.push(examplePaymentSpecs[0]);
- } if (suiteConfig.permissions === true) {
- toggles.push(permissionSpecs[0]);
- } if (suiteConfig.smoke_test === true) {
- toggles.push(smokeTestSpecs[0]);
- }
- return toggles;
- },
- getResults: function () {
- const allureArr = [];
- if (suiteConfig.allure === true) {
- allureArr.push("allure");
- }
- return allureArr;
- }
-};
diff --git a/yarn.lock b/yarn.lock
index 24674cf163b..0e83acda638 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -26,6 +26,10 @@ Base64@~0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/Base64/-/Base64-0.2.1.tgz#ba3a4230708e186705065e66babdd4c35cf60028"
+abab@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d"
+
abbrev@1, abbrev@~1.0.9:
version "1.0.9"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135"
@@ -37,13 +41,19 @@ accounting-js@^1.1.1:
is-string "^1.0.4"
object-assign "^4.0.1"
+acorn-globals@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-3.1.0.tgz#fd8270f71fbb4996b004fa880ee5d46573a731bf"
+ dependencies:
+ acorn "^4.0.4"
+
acorn-jsx@^3.0.0, acorn-jsx@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
dependencies:
acorn "^3.0.4"
-acorn@4.0.4:
+acorn@4.0.4, acorn@^4.0.4:
version "4.0.4"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a"
@@ -96,11 +106,11 @@ amdefine@>=0.0.4:
version "1.0.1"
resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
-ansi-escapes@^1.1.0:
+ansi-escapes@^1.1.0, ansi-escapes@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
-ansi-regex@^2.0.0:
+ansi-regex@^2.0.0, ansi-regex@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
@@ -108,6 +118,12 @@ ansi-styles@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
+ansi-styles@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.0.0.tgz#5404e93a544c4fec7f048262977bebfe3155e0c1"
+ dependencies:
+ color-convert "^1.0.0"
+
ansi-styles@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178"
@@ -128,6 +144,19 @@ ansistyles@~0.1.1, ansistyles@~0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/ansistyles/-/ansistyles-0.1.3.tgz#5de60415bda071bb37127854c864f41b23254539"
+anymatch@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507"
+ dependencies:
+ arrify "^1.0.0"
+ micromatch "^2.1.5"
+
+append-transform@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991"
+ dependencies:
+ default-require-extensions "^1.0.0"
+
aproba@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.0.4.tgz#2713680775e7614c8ba186c065d4e2e52d1072c0"
@@ -173,6 +202,20 @@ argparse@^1.0.7:
dependencies:
sprintf-js "~1.0.2"
+arr-diff@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
+ dependencies:
+ arr-flatten "^1.0.1"
+
+arr-flatten@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.3.tgz#a274ed85ac08849b6bd7847c4580745dc51adfb1"
+
+array-equal@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93"
+
array-find-index@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
@@ -206,6 +249,10 @@ array-uniq@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
+array-unique@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
+
array.prototype.find@^2.0.1:
version "2.0.3"
resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.0.3.tgz#08c3ec33e32ec4bab362a2958e686ae92f59271d"
@@ -213,7 +260,7 @@ array.prototype.find@^2.0.1:
define-properties "^1.1.2"
es-abstract "^1.7.0"
-arrify@^1.0.0:
+arrify@^1.0.0, arrify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
@@ -251,6 +298,10 @@ assertion-error@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c"
+async-each@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
+
async-some@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/async-some/-/async-some-1.0.2.tgz#4d8a81620d5958791b5b98f802d3207776e95509"
@@ -261,7 +312,7 @@ async@^1.4.0, async@^1.5.0:
version "1.5.2"
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
-async@^2.0.1:
+async@^2.0.1, async@^2.1.4:
version "2.1.4"
resolved "https://registry.yarnpkg.com/async/-/async-2.1.4.tgz#2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4"
dependencies:
@@ -283,15 +334,15 @@ attr-accept@^1.0.3:
version "1.1.0"
resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-1.1.0.tgz#b5cd35227f163935a8f1de10ed3eba16941f6be6"
-autoprefixer@^6.7.3:
- version "6.7.3"
- resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.3.tgz#bc2c28018e9a226f24f0ded36ce81014dccec817"
+autoprefixer@^6.7.7:
+ version "6.7.7"
+ resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014"
dependencies:
- browserslist "^1.7.2"
- caniuse-db "^1.0.30000623"
+ browserslist "^1.7.6"
+ caniuse-db "^1.0.30000634"
normalize-range "^0.1.2"
num2fraction "^1.2.2"
- postcss "^5.2.13"
+ postcss "^5.2.16"
postcss-value-parser "^3.2.3"
autosize@^3.0.20:
@@ -306,6 +357,27 @@ aws4@^1.2.1:
version "1.5.0"
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755"
+babel-cli@^6.24.0:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.24.1.tgz#207cd705bba61489b2ea41b5312341cf6aca2283"
+ dependencies:
+ babel-core "^6.24.1"
+ babel-polyfill "^6.23.0"
+ babel-register "^6.24.1"
+ babel-runtime "^6.22.0"
+ commander "^2.8.1"
+ convert-source-map "^1.1.0"
+ fs-readdir-recursive "^1.0.0"
+ glob "^7.0.0"
+ lodash "^4.2.0"
+ output-file-sync "^1.1.0"
+ path-is-absolute "^1.0.0"
+ slash "^1.0.0"
+ source-map "^0.5.0"
+ v8flags "^2.0.10"
+ optionalDependencies:
+ chokidar "^1.6.1"
+
babel-code-frame@^6.16.0, babel-code-frame@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4"
@@ -314,15 +386,51 @@ babel-code-frame@^6.16.0, babel-code-frame@^6.22.0:
esutils "^2.0.2"
js-tokens "^3.0.0"
-babel-eslint@^7.1.1:
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.1.1.tgz#8a6a884f085aa7060af69cfc77341c2f99370fb2"
+babel-core@^6.0.0, babel-core@^6.24.0, babel-core@^6.24.1:
+ version "6.25.0"
+ resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.25.0.tgz#7dd42b0463c742e9d5296deb3ec67a9322dad729"
dependencies:
- babel-code-frame "^6.16.0"
- babel-traverse "^6.15.0"
- babel-types "^6.15.0"
- babylon "^6.13.0"
- lodash.pickby "^4.6.0"
+ babel-code-frame "^6.22.0"
+ babel-generator "^6.25.0"
+ babel-helpers "^6.24.1"
+ babel-messages "^6.23.0"
+ babel-register "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-template "^6.25.0"
+ babel-traverse "^6.25.0"
+ babel-types "^6.25.0"
+ babylon "^6.17.2"
+ convert-source-map "^1.1.0"
+ debug "^2.1.1"
+ json5 "^0.5.0"
+ lodash "^4.2.0"
+ minimatch "^3.0.2"
+ path-is-absolute "^1.0.0"
+ private "^0.1.6"
+ slash "^1.0.0"
+ source-map "^0.5.0"
+
+babel-eslint@^7.2.1:
+ version "7.2.3"
+ resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.2.3.tgz#b2fe2d80126470f5c19442dc757253a897710827"
+ dependencies:
+ babel-code-frame "^6.22.0"
+ babel-traverse "^6.23.1"
+ babel-types "^6.23.0"
+ babylon "^6.17.0"
+
+babel-generator@^6.18.0, babel-generator@^6.25.0:
+ version "6.25.0"
+ resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.25.0.tgz#33a1af70d5f2890aeb465a4a7793c1df6a9ea9fc"
+ dependencies:
+ babel-messages "^6.23.0"
+ babel-runtime "^6.22.0"
+ babel-types "^6.25.0"
+ detect-indent "^4.0.0"
+ jsesc "^1.3.0"
+ lodash "^4.2.0"
+ source-map "^0.5.0"
+ trim-right "^1.0.1"
babel-helper-bindify-decorators@^6.22.0:
version "6.22.0"
@@ -332,6 +440,14 @@ babel-helper-bindify-decorators@^6.22.0:
babel-traverse "^6.22.0"
babel-types "^6.22.0"
+babel-helper-bindify-decorators@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz#14c19e5f142d7b47f19a52431e52b1ccbc40a330"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
+
babel-helper-builder-binary-assignment-operator-visitor@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.22.0.tgz#29df56be144d81bdeac08262bfa41d2c5e91cdcd"
@@ -340,6 +456,40 @@ babel-helper-builder-binary-assignment-operator-visitor@^6.22.0:
babel-runtime "^6.22.0"
babel-types "^6.22.0"
+babel-helper-builder-binary-assignment-operator-visitor@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664"
+ dependencies:
+ babel-helper-explode-assignable-expression "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-helper-builder-react-jsx@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.24.1.tgz#0ad7917e33c8d751e646daca4e77cc19377d2cbc"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+ esutils "^2.0.0"
+
+babel-helper-call-delegate@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d"
+ dependencies:
+ babel-helper-hoist-variables "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
+
+babel-helper-define-map@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz#7a9747f258d8947d32d515f6aa1c7bd02204a080"
+ dependencies:
+ babel-helper-function-name "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+ lodash "^4.2.0"
+
babel-helper-explode-assignable-expression@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.22.0.tgz#c97bf76eed3e0bae4048121f2b9dae1a4e7d0478"
@@ -348,6 +498,14 @@ babel-helper-explode-assignable-expression@^6.22.0:
babel-traverse "^6.22.0"
babel-types "^6.22.0"
+babel-helper-explode-assignable-expression@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
+
babel-helper-explode-class@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.22.0.tgz#646304924aa6388a516843ba7f1855ef8dfeb69b"
@@ -357,6 +515,15 @@ babel-helper-explode-class@^6.22.0:
babel-traverse "^6.22.0"
babel-types "^6.22.0"
+babel-helper-explode-class@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz#7dc2a3910dee007056e1e31d640ced3d54eaa9eb"
+ dependencies:
+ babel-helper-bindify-decorators "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
+
babel-helper-function-name@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.22.0.tgz#51f1bdc4bb89b15f57a9b249f33d742816dcbefc"
@@ -367,6 +534,16 @@ babel-helper-function-name@^6.22.0:
babel-traverse "^6.22.0"
babel-types "^6.22.0"
+babel-helper-function-name@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9"
+ dependencies:
+ babel-helper-get-function-arity "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
+
babel-helper-get-function-arity@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz#0beb464ad69dc7347410ac6ade9f03a50634f5ce"
@@ -374,6 +551,35 @@ babel-helper-get-function-arity@^6.22.0:
babel-runtime "^6.22.0"
babel-types "^6.22.0"
+babel-helper-get-function-arity@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-helper-hoist-variables@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-helper-optimise-call-expression@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-helper-regex@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz#d36e22fab1008d79d88648e32116868128456ce8"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+ lodash "^4.2.0"
+
babel-helper-remap-async-to-generator@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.22.0.tgz#2186ae73278ed03b8b15ced089609da981053383"
@@ -384,12 +590,76 @@ babel-helper-remap-async-to-generator@^6.22.0:
babel-traverse "^6.22.0"
babel-types "^6.22.0"
+babel-helper-remap-async-to-generator@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b"
+ dependencies:
+ babel-helper-function-name "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
+
+babel-helper-replace-supers@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a"
+ dependencies:
+ babel-helper-optimise-call-expression "^6.24.1"
+ babel-messages "^6.23.0"
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
+
+babel-helpers@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+
+babel-jest@^20.0.3:
+ version "20.0.3"
+ resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-20.0.3.tgz#e4a03b13dc10389e140fc645d09ffc4ced301671"
+ dependencies:
+ babel-core "^6.0.0"
+ babel-plugin-istanbul "^4.0.0"
+ babel-preset-jest "^20.0.3"
+
babel-messages@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.22.0.tgz#36066a214f1217e4ed4164867669ecb39e3ea575"
dependencies:
babel-runtime "^6.22.0"
+babel-messages@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-add-module-exports@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-0.2.1.tgz#9ae9a1f4a8dc67f0cdec4f4aeda1e43a5ff65e25"
+
+babel-plugin-check-es2015-constants@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-istanbul@^4.0.0:
+ version "4.1.4"
+ resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.4.tgz#18dde84bf3ce329fddf3f4103fae921456d8e587"
+ dependencies:
+ find-up "^2.1.0"
+ istanbul-lib-instrument "^1.7.2"
+ test-exclude "^4.1.1"
+
+babel-plugin-jest-hoist@^20.0.3:
+ version "20.0.3"
+ resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-20.0.3.tgz#afedc853bd3f8dc3548ea671fbe69d03cc2c1767"
+
babel-plugin-lodash@^3.2.11:
version "3.2.11"
resolved "https://registry.yarnpkg.com/babel-plugin-lodash/-/babel-plugin-lodash-3.2.11.tgz#21c8fdec9fe1835efaa737873e3902bdd66d5701"
@@ -405,11 +675,15 @@ babel-plugin-syntax-async-generators@^6.5.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a"
+babel-plugin-syntax-class-constructor-call@^6.18.0:
+ version "6.18.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz#9cb9d39fe43c8600bec8146456ddcbd4e1a76416"
+
babel-plugin-syntax-class-properties@^6.8.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de"
-babel-plugin-syntax-decorators@^6.13.0:
+babel-plugin-syntax-decorators@^6.1.18, babel-plugin-syntax-decorators@^6.13.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b"
@@ -421,6 +695,18 @@ babel-plugin-syntax-exponentiation-operator@^6.8.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de"
+babel-plugin-syntax-export-extensions@^6.8.0:
+ version "6.13.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz#70a1484f0f9089a4e84ad44bac353c95b9b12721"
+
+babel-plugin-syntax-flow@^6.18.0:
+ version "6.18.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d"
+
+babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0:
+ version "6.18.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
+
babel-plugin-syntax-object-rest-spread@^6.8.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5"
@@ -437,6 +723,14 @@ babel-plugin-transform-async-generator-functions@^6.22.0:
babel-plugin-syntax-async-generators "^6.5.0"
babel-runtime "^6.22.0"
+babel-plugin-transform-async-generator-functions@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz#f058900145fd3e9907a6ddf28da59f215258a5db"
+ dependencies:
+ babel-helper-remap-async-to-generator "^6.24.1"
+ babel-plugin-syntax-async-generators "^6.5.0"
+ babel-runtime "^6.22.0"
+
babel-plugin-transform-async-to-generator@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.22.0.tgz#194b6938ec195ad36efc4c33a971acf00d8cd35e"
@@ -445,6 +739,22 @@ babel-plugin-transform-async-to-generator@^6.22.0:
babel-plugin-syntax-async-functions "^6.8.0"
babel-runtime "^6.22.0"
+babel-plugin-transform-async-to-generator@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761"
+ dependencies:
+ babel-helper-remap-async-to-generator "^6.24.1"
+ babel-plugin-syntax-async-functions "^6.8.0"
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-class-constructor-call@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz#80dc285505ac067dcb8d6c65e2f6f11ab7765ef9"
+ dependencies:
+ babel-plugin-syntax-class-constructor-call "^6.18.0"
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+
babel-plugin-transform-class-properties@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.22.0.tgz#aa78f8134495c7de06c097118ba061844e1dc1d8"
@@ -454,6 +764,23 @@ babel-plugin-transform-class-properties@^6.22.0:
babel-runtime "^6.22.0"
babel-template "^6.22.0"
+babel-plugin-transform-class-properties@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac"
+ dependencies:
+ babel-helper-function-name "^6.24.1"
+ babel-plugin-syntax-class-properties "^6.8.0"
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+
+babel-plugin-transform-decorators-legacy@^1.3.4:
+ version "1.3.4"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz#741b58f6c5bce9e6027e0882d9c994f04f366925"
+ dependencies:
+ babel-plugin-syntax-decorators "^6.1.18"
+ babel-runtime "^6.2.0"
+ babel-template "^6.3.0"
+
babel-plugin-transform-decorators@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.22.0.tgz#c03635b27a23b23b7224f49232c237a73988d27c"
@@ -464,6 +791,184 @@ babel-plugin-transform-decorators@^6.22.0:
babel-template "^6.22.0"
babel-types "^6.22.0"
+babel-plugin-transform-decorators@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz#788013d8f8c6b5222bdf7b344390dfd77569e24d"
+ dependencies:
+ babel-helper-explode-class "^6.24.1"
+ babel-plugin-syntax-decorators "^6.13.0"
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+ babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-arrow-functions@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-block-scoped-functions@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-block-scoping@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz#76c295dc3a4741b1665adfd3167215dcff32a576"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
+ lodash "^4.2.0"
+
+babel-plugin-transform-es2015-classes@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db"
+ dependencies:
+ babel-helper-define-map "^6.24.1"
+ babel-helper-function-name "^6.24.1"
+ babel-helper-optimise-call-expression "^6.24.1"
+ babel-helper-replace-supers "^6.24.1"
+ babel-messages "^6.23.0"
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-computed-properties@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+
+babel-plugin-transform-es2015-destructuring@^6.22.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-duplicate-keys@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-for-of@^6.22.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-function-name@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b"
+ dependencies:
+ babel-helper-function-name "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-literals@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-modules-amd@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154"
+ dependencies:
+ babel-plugin-transform-es2015-modules-commonjs "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+
+babel-plugin-transform-es2015-modules-commonjs@^6.24.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz#d3e310b40ef664a36622200097c6d440298f2bfe"
+ dependencies:
+ babel-plugin-transform-strict-mode "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+ babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-modules-systemjs@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23"
+ dependencies:
+ babel-helper-hoist-variables "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+
+babel-plugin-transform-es2015-modules-umd@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468"
+ dependencies:
+ babel-plugin-transform-es2015-modules-amd "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+
+babel-plugin-transform-es2015-object-super@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d"
+ dependencies:
+ babel-helper-replace-supers "^6.24.1"
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-parameters@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b"
+ dependencies:
+ babel-helper-call-delegate "^6.24.1"
+ babel-helper-get-function-arity "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-shorthand-properties@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-spread@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-sticky-regex@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc"
+ dependencies:
+ babel-helper-regex "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-template-literals@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-typeof-symbol@^6.22.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-unicode-regex@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9"
+ dependencies:
+ babel-helper-regex "^6.24.1"
+ babel-runtime "^6.22.0"
+ regexpu-core "^2.0.0"
+
babel-plugin-transform-exponentiation-operator@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.22.0.tgz#d57c8335281918e54ef053118ce6eb108468084d"
@@ -472,6 +977,28 @@ babel-plugin-transform-exponentiation-operator@^6.22.0:
babel-plugin-syntax-exponentiation-operator "^6.8.0"
babel-runtime "^6.22.0"
+babel-plugin-transform-exponentiation-operator@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e"
+ dependencies:
+ babel-helper-builder-binary-assignment-operator-visitor "^6.24.1"
+ babel-plugin-syntax-exponentiation-operator "^6.8.0"
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-export-extensions@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz#53738b47e75e8218589eea946cbbd39109bbe653"
+ dependencies:
+ babel-plugin-syntax-export-extensions "^6.8.0"
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-flow-strip-types@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf"
+ dependencies:
+ babel-plugin-syntax-flow "^6.18.0"
+ babel-runtime "^6.22.0"
+
babel-plugin-transform-object-rest-spread@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.22.0.tgz#1d419b55e68d2e4f64a5ff3373bd67d73c8e83bc"
@@ -479,6 +1006,115 @@ babel-plugin-transform-object-rest-spread@^6.22.0:
babel-plugin-syntax-object-rest-spread "^6.8.0"
babel-runtime "^6.22.0"
+babel-plugin-transform-react-display-name@^6.23.0:
+ version "6.25.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz#67e2bf1f1e9c93ab08db96792e05392bf2cc28d1"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-react-jsx-self@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz#df6d80a9da2612a121e6ddd7558bcbecf06e636e"
+ dependencies:
+ babel-plugin-syntax-jsx "^6.8.0"
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-react-jsx-source@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz#66ac12153f5cd2d17b3c19268f4bf0197f44ecd6"
+ dependencies:
+ babel-plugin-syntax-jsx "^6.8.0"
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-react-jsx@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz#840a028e7df460dfc3a2d29f0c0d91f6376e66a3"
+ dependencies:
+ babel-helper-builder-react-jsx "^6.24.1"
+ babel-plugin-syntax-jsx "^6.8.0"
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-regenerator@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz#b8da305ad43c3c99b4848e4fe4037b770d23c418"
+ dependencies:
+ regenerator-transform "0.9.11"
+
+babel-plugin-transform-strict-mode@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-polyfill@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d"
+ dependencies:
+ babel-runtime "^6.22.0"
+ core-js "^2.4.0"
+ regenerator-runtime "^0.10.0"
+
+babel-preset-es2015@^6.22.0, babel-preset-es2015@^6.24.0:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939"
+ dependencies:
+ babel-plugin-check-es2015-constants "^6.22.0"
+ babel-plugin-transform-es2015-arrow-functions "^6.22.0"
+ babel-plugin-transform-es2015-block-scoped-functions "^6.22.0"
+ babel-plugin-transform-es2015-block-scoping "^6.24.1"
+ babel-plugin-transform-es2015-classes "^6.24.1"
+ babel-plugin-transform-es2015-computed-properties "^6.24.1"
+ babel-plugin-transform-es2015-destructuring "^6.22.0"
+ babel-plugin-transform-es2015-duplicate-keys "^6.24.1"
+ babel-plugin-transform-es2015-for-of "^6.22.0"
+ babel-plugin-transform-es2015-function-name "^6.24.1"
+ babel-plugin-transform-es2015-literals "^6.22.0"
+ babel-plugin-transform-es2015-modules-amd "^6.24.1"
+ babel-plugin-transform-es2015-modules-commonjs "^6.24.1"
+ babel-plugin-transform-es2015-modules-systemjs "^6.24.1"
+ babel-plugin-transform-es2015-modules-umd "^6.24.1"
+ babel-plugin-transform-es2015-object-super "^6.24.1"
+ babel-plugin-transform-es2015-parameters "^6.24.1"
+ babel-plugin-transform-es2015-shorthand-properties "^6.24.1"
+ babel-plugin-transform-es2015-spread "^6.22.0"
+ babel-plugin-transform-es2015-sticky-regex "^6.24.1"
+ babel-plugin-transform-es2015-template-literals "^6.22.0"
+ babel-plugin-transform-es2015-typeof-symbol "^6.22.0"
+ babel-plugin-transform-es2015-unicode-regex "^6.24.1"
+ babel-plugin-transform-regenerator "^6.24.1"
+
+babel-preset-flow@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz#e71218887085ae9a24b5be4169affb599816c49d"
+ dependencies:
+ babel-plugin-transform-flow-strip-types "^6.22.0"
+
+babel-preset-jest@^20.0.3:
+ version "20.0.3"
+ resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-20.0.3.tgz#cbacaadecb5d689ca1e1de1360ebfc66862c178a"
+ dependencies:
+ babel-plugin-jest-hoist "^20.0.3"
+
+babel-preset-react@^6.23.0, babel-preset-react@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.24.1.tgz#ba69dfaea45fc3ec639b6a4ecea6e17702c91380"
+ dependencies:
+ babel-plugin-syntax-jsx "^6.3.13"
+ babel-plugin-transform-react-display-name "^6.23.0"
+ babel-plugin-transform-react-jsx "^6.24.1"
+ babel-plugin-transform-react-jsx-self "^6.22.0"
+ babel-plugin-transform-react-jsx-source "^6.22.0"
+ babel-preset-flow "^6.23.0"
+
+babel-preset-stage-1@^6.22.0:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz#7692cd7dcd6849907e6ae4a0a85589cfb9e2bfb0"
+ dependencies:
+ babel-plugin-transform-class-constructor-call "^6.24.1"
+ babel-plugin-transform-export-extensions "^6.22.0"
+ babel-preset-stage-2 "^6.24.1"
+
babel-preset-stage-2@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.22.0.tgz#ccd565f19c245cade394b21216df704a73b27c07"
@@ -488,6 +1124,15 @@ babel-preset-stage-2@^6.22.0:
babel-plugin-transform-decorators "^6.22.0"
babel-preset-stage-3 "^6.22.0"
+babel-preset-stage-2@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz#d9e2960fb3d71187f0e64eec62bc07767219bdc1"
+ dependencies:
+ babel-plugin-syntax-dynamic-import "^6.18.0"
+ babel-plugin-transform-class-properties "^6.24.1"
+ babel-plugin-transform-decorators "^6.24.1"
+ babel-preset-stage-3 "^6.24.1"
+
babel-preset-stage-3@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.22.0.tgz#a4e92bbace7456fafdf651d7a7657ee0bbca9c2e"
@@ -498,9 +1143,31 @@ babel-preset-stage-3@^6.22.0:
babel-plugin-transform-exponentiation-operator "^6.22.0"
babel-plugin-transform-object-rest-spread "^6.22.0"
-babel-runtime@6.x.x, babel-runtime@^6.11.6, babel-runtime@^6.5.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.22.0.tgz#1cf8b4ac67c77a4ddb0db2ae1f74de52ac4ca611"
+babel-preset-stage-3@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz#836ada0a9e7a7fa37cb138fb9326f87934a48395"
+ dependencies:
+ babel-plugin-syntax-trailing-function-commas "^6.22.0"
+ babel-plugin-transform-async-generator-functions "^6.24.1"
+ babel-plugin-transform-async-to-generator "^6.24.1"
+ babel-plugin-transform-exponentiation-operator "^6.24.1"
+ babel-plugin-transform-object-rest-spread "^6.22.0"
+
+babel-register@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.24.1.tgz#7e10e13a2f71065bdfad5a1787ba45bca6ded75f"
+ dependencies:
+ babel-core "^6.24.1"
+ babel-runtime "^6.22.0"
+ core-js "^2.4.0"
+ home-or-tmp "^2.0.0"
+ lodash "^4.2.0"
+ mkdirp "^0.5.1"
+ source-map-support "^0.4.2"
+
+babel-runtime@6.23.0, babel-runtime@6.x.x, babel-runtime@>=5.0.0, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.2.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.5.0, babel-runtime@^6.9.2:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b"
dependencies:
core-js "^2.4.0"
regenerator-runtime "^0.10.0"
@@ -511,14 +1178,17 @@ babel-runtime@^5.8.25:
dependencies:
core-js "^1.0.0"
-babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.9.2:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b"
+babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.25.0:
+ version "6.25.0"
+ resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.25.0.tgz#665241166b7c2aa4c619d71e192969552b10c071"
dependencies:
- core-js "^2.4.0"
- regenerator-runtime "^0.10.0"
+ babel-runtime "^6.22.0"
+ babel-traverse "^6.25.0"
+ babel-types "^6.25.0"
+ babylon "^6.17.2"
+ lodash "^4.2.0"
-babel-template@^6.22.0:
+babel-template@^6.22.0, babel-template@^6.3.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.22.0.tgz#403d110905a4626b317a2a1fcb8f3b73204b2edb"
dependencies:
@@ -528,7 +1198,21 @@ babel-template@^6.22.0:
babylon "^6.11.0"
lodash "^4.2.0"
-babel-traverse@^6.15.0, babel-traverse@^6.22.0:
+babel-traverse@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1, babel-traverse@^6.25.0:
+ version "6.25.0"
+ resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.25.0.tgz#2257497e2fcd19b89edc13c4c91381f9512496f1"
+ dependencies:
+ babel-code-frame "^6.22.0"
+ babel-messages "^6.23.0"
+ babel-runtime "^6.22.0"
+ babel-types "^6.25.0"
+ babylon "^6.17.2"
+ debug "^2.2.0"
+ globals "^9.0.0"
+ invariant "^2.2.0"
+ lodash "^4.2.0"
+
+babel-traverse@^6.22.0:
version "6.22.1"
resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.22.1.tgz#3b95cd6b7427d6f1f757704908f2fc9748a5f59f"
dependencies:
@@ -542,7 +1226,16 @@ babel-traverse@^6.15.0, babel-traverse@^6.22.0:
invariant "^2.2.0"
lodash "^4.2.0"
-babel-types@^6.15.0, babel-types@^6.22.0:
+babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1, babel-types@^6.25.0:
+ version "6.25.0"
+ resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.25.0.tgz#70afb248d5660e5d18f811d91c8303b54134a18e"
+ dependencies:
+ babel-runtime "^6.22.0"
+ esutils "^2.0.2"
+ lodash "^4.2.0"
+ to-fast-properties "^1.0.1"
+
+babel-types@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.22.0.tgz#2a447e8d0ea25d2512409e4175479fd78cc8b1db"
dependencies:
@@ -551,10 +1244,14 @@ babel-types@^6.15.0, babel-types@^6.22.0:
lodash "^4.2.0"
to-fast-properties "^1.0.1"
-babylon@^6.11.0, babylon@^6.13.0, babylon@^6.15.0:
+babylon@^6.11.0, babylon@^6.15.0:
version "6.15.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e"
+babylon@^6.13.0, babylon@^6.17.0, babylon@^6.17.2:
+ version "6.17.3"
+ resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.3.tgz#1327d709950b558f204e5352587fd0290f8d8e48"
+
balanced-match@^0.4.1:
version "0.4.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
@@ -581,6 +1278,10 @@ bcrypt@^1.0.2:
nan "2.5.0"
node-pre-gyp "0.6.32"
+binary-extensions@^1.0.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774"
+
bindings@1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.2.1.tgz#14ad6113812d2d37d72e67b4cacb4bb726505f11"
@@ -609,6 +1310,10 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
version "4.11.6"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215"
+boolbase@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
+
boom@2.x.x:
version "2.10.1"
resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
@@ -630,6 +1335,14 @@ brace-expansion@^1.0.0:
balanced-match "^0.4.1"
concat-map "0.0.1"
+braces@^1.8.2:
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
+ dependencies:
+ expand-range "^1.8.1"
+ preserve "^0.2.0"
+ repeat-element "^1.1.2"
+
braintree@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/braintree/-/braintree-2.0.2.tgz#3c898c40404969f34d31e158fe0b17c09d7955f5"
@@ -647,6 +1360,12 @@ brorand@^1.0.1:
version "1.0.6"
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.0.6.tgz#4028706b915f91f7b349a2e0bf3c376039d216e5"
+browser-resolve@^1.11.2:
+ version "1.11.2"
+ resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce"
+ dependencies:
+ resolve "1.1.7"
+
browser-stdout@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f"
@@ -702,12 +1421,12 @@ browserify-zlib@^0.1.4:
dependencies:
pako "~0.2.0"
-browserslist@^1.7.2:
- version "1.7.3"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.3.tgz#25ead9c917b278ad668b83f39c8025697797b2ab"
+browserslist@^1.7.6:
+ version "1.7.7"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9"
dependencies:
- caniuse-db "^1.0.30000623"
- electron-to-chromium "^1.2.2"
+ caniuse-db "^1.0.30000639"
+ electron-to-chromium "^1.2.7"
browserstack-local@^1.3.0:
version "1.3.0"
@@ -718,6 +1437,18 @@ browserstack-local@^1.3.0:
sinon "^1.17.6"
temp-fs "^0.9.9"
+bser@1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/bser/-/bser-1.0.2.tgz#381116970b2a6deea5646dd15dd7278444b56169"
+ dependencies:
+ node-int64 "^0.4.0"
+
+bser@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719"
+ dependencies:
+ node-int64 "^0.4.0"
+
buffer-crc32@^0.2.1, buffer-crc32@^0.2.3:
version "0.2.13"
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
@@ -777,9 +1508,9 @@ bunyan-loggly@^1.2.0:
json-stringify-safe "^5.0.1"
loggly "^1.1.0"
-bunyan@^1.8.5:
- version "1.8.5"
- resolved "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.5.tgz#0d619e83005fb89070f5f47982fc1bf00600878a"
+bunyan@^1.8.9:
+ version "1.8.10"
+ resolved "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.10.tgz#201fedd26c7080b632f416072f53a90b9a52981c"
optionalDependencies:
dtrace-provider "~0.8"
moment "^2.10.6"
@@ -796,6 +1527,10 @@ callsites@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
+callsites@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
+
camelcase-css@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-1.0.1.tgz#157c4238265f5cf94a1dffde86446552cbf3f705"
@@ -819,13 +1554,17 @@ camelcase@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
+camelcase@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
+
camelize@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b"
-caniuse-db@^1.0.30000623:
- version "1.0.30000623"
- resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000623.tgz#6e9dc4385d00a8f587efbb23fcbed7916f186e5d"
+caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
+ version "1.0.30000680"
+ resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000680.tgz#d76ebeaaeb82e3d9952bfdc5c231c4f83cd48144"
cardinal@^0.5.0:
version "0.5.0"
@@ -875,14 +1614,58 @@ char-spinner@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/char-spinner/-/char-spinner-1.0.1.tgz#e6ea67bd247e107112983b7ab0479ed362800081"
+charenc@~0.0.1:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667"
+
+cheerio@^0.22.0:
+ version "0.22.0"
+ resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e"
+ dependencies:
+ css-select "~1.2.0"
+ dom-serializer "~0.1.0"
+ entities "~1.1.1"
+ htmlparser2 "^3.9.1"
+ lodash.assignin "^4.0.9"
+ lodash.bind "^4.1.4"
+ lodash.defaults "^4.0.1"
+ lodash.filter "^4.4.0"
+ lodash.flatten "^4.2.0"
+ lodash.foreach "^4.3.0"
+ lodash.map "^4.4.0"
+ lodash.merge "^4.4.0"
+ lodash.pick "^4.2.1"
+ lodash.reduce "^4.4.0"
+ lodash.reject "^4.4.0"
+ lodash.some "^4.4.0"
+
chmodr@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/chmodr/-/chmodr-1.0.2.tgz#04662b932d0f02ec66deaa2b0ea42811968e3eb9"
+chokidar@^1.6.1:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
+ dependencies:
+ anymatch "^1.3.0"
+ async-each "^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"
+ optionalDependencies:
+ fsevents "^1.0.0"
+
chownr@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181"
+ci-info@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.0.0.tgz#dc5285f2b4e251821683681c381c3388f46ec534"
+
cipher-base@^1.0.0, cipher-base@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.3.tgz#eeabf194419ce900da3018c207d212f2a6df0a07"
@@ -893,7 +1676,7 @@ circular-json@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d"
-classnames@^2.2.0, classnames@^2.2.4, classnames@^2.2.5:
+classnames@^2.2.4, classnames@^2.2.5:
version "2.2.5"
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d"
@@ -948,6 +1731,16 @@ 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"
+color-convert@^1.0.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a"
+ dependencies:
+ color-name "^1.1.1"
+
+color-name@^1.1.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.2.tgz#5c8ab72b64bd2215d617ae9559ebb148475cf98d"
+
columnify@~1.5.4:
version "1.5.4"
resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb"
@@ -961,7 +1754,7 @@ combined-stream@^1.0.5, combined-stream@~1.0.5:
dependencies:
delayed-stream "~1.0.0"
-commander@2.9.0, commander@^2.9.0:
+commander@2.9.0, commander@^2.8.1, commander@^2.9.0:
version "2.9.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
dependencies:
@@ -980,7 +1773,7 @@ concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
-concat-stream@^1.4.6, concat-stream@^1.4.7, concat-stream@^1.5.2:
+concat-stream@^1.4.7, concat-stream@^1.5.2:
version "1.6.0"
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7"
dependencies:
@@ -1009,6 +1802,20 @@ constants-browserify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
+content-type-parser@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/content-type-parser/-/content-type-parser-1.0.1.tgz#c3e56988c53c65127fb46d4032a3a900246fdc94"
+
+convert-source-map@^1.1.0, convert-source-map@^1.4.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5"
+
+copy-to-clipboard@^3, copy-to-clipboard@^3.0.6:
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.0.6.tgz#13c09bfea0408a5dc5bb987fee3b3986518c9d69"
+ dependencies:
+ toggle-selection "^1.0.3"
+
core-js@^1.0.0:
version "1.2.7"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
@@ -1062,6 +1869,25 @@ create-hmac@^1.1.0, create-hmac@^1.1.2:
create-hash "^1.1.0"
inherits "^2.0.1"
+create-react-class@^15.5.x:
+ version "15.5.3"
+ resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.5.3.tgz#fb0f7cae79339e9a179e194ef466efa3923820fe"
+ dependencies:
+ fbjs "^0.8.9"
+ loose-envify "^1.3.1"
+ object-assign "^4.1.1"
+
+cross-spawn@^4.0.0:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41"
+ dependencies:
+ lru-cache "^4.0.1"
+ which "^1.2.9"
+
+crypt@~0.0.1:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b"
+
cryptiles@2.x.x:
version "2.0.5"
resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
@@ -1095,10 +1921,23 @@ css-parse@~2.0.0:
dependencies:
css "^2.0.0"
+css-select@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
+ dependencies:
+ boolbase "~1.0.0"
+ css-what "2.1"
+ domutils "1.5.1"
+ nth-check "~1.0.1"
+
css-value@~0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/css-value/-/css-value-0.0.1.tgz#5efd6c2eea5ea1fd6b6ac57ec0427b18452424ea"
+css-what@2.1:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd"
+
css@^2.0.0:
version "2.2.1"
resolved "https://registry.yarnpkg.com/css/-/css-2.2.1.tgz#73a4c81de85db664d4ee674f7d47085e3b2d55dc"
@@ -1108,6 +1947,16 @@ css@^2.0.0:
source-map-resolve "^0.3.0"
urix "^0.1.0"
+cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0":
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b"
+
+"cssstyle@>= 0.2.37 < 0.3.0":
+ version "0.2.37"
+ resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54"
+ dependencies:
+ cssom "0.3.x"
+
currency-symbol-map@~2:
version "2.2.0"
resolved "https://registry.yarnpkg.com/currency-symbol-map/-/currency-symbol-map-2.2.0.tgz#2b3c1872ff1ac2ce595d8273e58e1fff0272aea2"
@@ -1188,12 +2037,24 @@ dateformat@1.0.1-1.2.3:
version "1.0.1-1.2.3"
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.1-1.2.3.tgz#2e5d03039eca89f9d8797f99389de5fb0f4aa2fc"
-debug@2, debug@2.2.0, debug@^2.1.1, debug@^2.2.0, debug@~2.2.0:
+debug@2, debug@^2.1.1, debug@^2.2.0, debug@~2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
dependencies:
ms "0.7.1"
+debug@2.6.0:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b"
+ dependencies:
+ ms "0.7.2"
+
+debug@^2.6.3:
+ version "2.6.8"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc"
+ dependencies:
+ ms "2.0.0"
+
debuglog@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-0.0.2.tgz#6c0dcf07e2c3f74524629b741668bd46c7b362eb"
@@ -1216,7 +2077,7 @@ deep-eql@^0.1.3:
dependencies:
type-detect "0.1.1"
-deep-equal@1.0.1:
+deep-equal@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5"
@@ -1232,6 +2093,12 @@ deepmerge@^0.2.10:
version "0.2.10"
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-0.2.10.tgz#8906bf9e525a4fbf1b203b2afcb4640249821219"
+default-require-extensions@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8"
+ dependencies:
+ strip-bom "^2.0.0"
+
defaults@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
@@ -1280,6 +2147,12 @@ des.js@^1.0.0:
inherits "^2.0.1"
minimalistic-assert "^1.0.0"
+detect-indent@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
+ dependencies:
+ repeating "^2.0.0"
+
dezalgo@^1.0.0, dezalgo@^1.0.1, dezalgo@^1.0.2, dezalgo@~1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456"
@@ -1287,9 +2160,9 @@ dezalgo@^1.0.0, dezalgo@^1.0.1, dezalgo@^1.0.2, dezalgo@~1.0.3:
asap "^2.0.0"
wrappy "1"
-diff@1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf"
+diff@3.2.0, diff@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9"
diffie-hellman@^5.0.0:
version "5.0.2"
@@ -1309,9 +2182,9 @@ disposables@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/disposables/-/disposables-1.0.1.tgz#064727a25b54f502bd82b89aa2dfb8df9f1b39e3"
-dnd-core@^2.2.3:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/dnd-core/-/dnd-core-2.2.3.tgz#91acba9e1a377be1e9a02e890dcd9907ac9eb829"
+dnd-core@^2.3.0, dnd-core@^2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/dnd-core/-/dnd-core-2.4.0.tgz#c4a5bc2aea75164f8a295d769d5f551810e7d411"
dependencies:
asap "^2.0.3"
invariant "^2.0.0"
@@ -1325,14 +2198,49 @@ doctrine@^1.2.2:
esutils "^2.0.2"
isarray "^1.0.0"
-dom-helpers@^2.4.0:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-2.4.0.tgz#9bb4b245f637367b1fa670274272aa28fe06c367"
+doctrine@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63"
+ dependencies:
+ esutils "^2.0.2"
+ isarray "^1.0.0"
+
+dom-serializer@0, dom-serializer@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82"
+ dependencies:
+ domelementtype "~1.1.1"
+ entities "~1.1.1"
domain-browser@^1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc"
+domelementtype@1, domelementtype@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2"
+
+domelementtype@~1.1.1:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b"
+
+domhandler@^2.3.0:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259"
+ dependencies:
+ domelementtype "1"
+
+domutils@1.5.1, domutils@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
+ dependencies:
+ dom-serializer "0"
+ domelementtype "1"
+
+double-ended-queue@^2.1.0-0:
+ version "2.1.0-0"
+ resolved "https://registry.yarnpkg.com/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz#103d3527fd31528f40188130c841efdd78264e5c"
+
dreamopt@~0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/dreamopt/-/dreamopt-0.6.0.tgz#d813ccdac8d39d8ad526775514a13dda664d6b4b"
@@ -1366,9 +2274,9 @@ ejs@^2.3.1:
version "2.5.5"
resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.5.tgz#6ef4e954ea7dcf54f66aad2fe7aa421932d9ed77"
-electron-to-chromium@^1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.2.2.tgz#e41bc9488c88e3cfa1e94bde28e8420d7d47c47c"
+electron-to-chromium@^1.2.7:
+ version "1.3.14"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.14.tgz#64af0f9efd3c3c6acd57d71f83b49ca7ee9c4b43"
elliptic@^6.0.0:
version "6.3.2"
@@ -1391,6 +2299,43 @@ end-of-stream@^1.0.0:
dependencies:
once "~1.3.0"
+entities@^1.1.1, entities@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0"
+
+enzyme-to-json@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/enzyme-to-json/-/enzyme-to-json-1.5.1.tgz#e34f4d126bb3f4696ce3800b51f9ed83df708799"
+ dependencies:
+ lodash.filter "^4.6.0"
+ lodash.isnil "^4.0.0"
+ lodash.isplainobject "^4.0.6"
+ lodash.omitby "^4.5.0"
+ lodash.range "^3.2.0"
+ object-values "^1.0.0"
+ object.entries "^1.0.3"
+
+enzyme@^2.8.2:
+ version "2.8.2"
+ resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-2.8.2.tgz#6c8bcb05012abc4aa4bc3213fb23780b9b5b1714"
+ dependencies:
+ cheerio "^0.22.0"
+ function.prototype.name "^1.0.0"
+ is-subset "^0.1.1"
+ lodash "^4.17.2"
+ object-is "^1.0.1"
+ object.assign "^4.0.4"
+ object.entries "^1.0.3"
+ object.values "^1.0.3"
+ prop-types "^15.5.4"
+ uuid "^2.0.3"
+
+"errno@>=0.1.1 <0.2.0-0":
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d"
+ dependencies:
+ prr "~0.0.0"
+
error-ex@^1.2.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9"
@@ -1405,7 +2350,7 @@ error@^4.2.0:
string-template "~0.2.0"
xtend "~4.0.0"
-es-abstract@^1.7.0:
+es-abstract@^1.6.1, es-abstract@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.7.0.tgz#dfade774e01bfcd97f96180298c449c8623fb94c"
dependencies:
@@ -1452,10 +2397,6 @@ es6-map@^0.1.3:
es6-symbol "~3.1.0"
event-emitter "~0.3.4"
-es6-promise@^4.0.5:
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.0.5.tgz#7882f30adde5b240ccfa7f7d78c548330951ae42"
-
es6-set@~0.1.3:
version "0.1.4"
resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.4.tgz#9516b6761c2964b92ff479456233a247dc707ce8"
@@ -1486,6 +2427,17 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+escodegen@^1.6.1:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018"
+ dependencies:
+ esprima "^2.7.1"
+ estraverse "^1.9.1"
+ esutils "^2.0.2"
+ optionator "^0.8.1"
+ optionalDependencies:
+ source-map "~0.2.0"
+
escope@^3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3"
@@ -1495,9 +2447,9 @@ escope@^3.6.0:
esrecurse "^4.1.0"
estraverse "^4.1.1"
-eslint-plugin-react@^6.10.0:
- version "6.10.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.10.0.tgz#9c48b48d101554b5355413e7c64238abde6ef1ef"
+eslint-plugin-react@^6.10.3:
+ version "6.10.3"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz#c5435beb06774e12c7db2f6abaddcbf900cd3f78"
dependencies:
array.prototype.find "^2.0.1"
doctrine "^1.2.2"
@@ -1505,17 +2457,18 @@ eslint-plugin-react@^6.10.0:
jsx-ast-utils "^1.3.4"
object.assign "^4.0.4"
-eslint@^3.15.0:
- version "3.15.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.15.0.tgz#bdcc6a6c5ffe08160e7b93c066695362a91e30f2"
+eslint@^3.18.0:
+ version "3.19.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc"
dependencies:
babel-code-frame "^6.16.0"
chalk "^1.1.3"
- concat-stream "^1.4.6"
+ concat-stream "^1.5.2"
debug "^2.1.1"
- doctrine "^1.2.2"
+ doctrine "^2.0.0"
escope "^3.6.0"
espree "^3.4.0"
+ esquery "^1.0.0"
estraverse "^4.2.0"
esutils "^2.0.2"
file-entry-cache "^2.0.0"
@@ -1555,10 +2508,20 @@ esprima-fb@~12001.1.0-dev-harmony-fb:
version "12001.1.0-dev-harmony-fb"
resolved "https://registry.yarnpkg.com/esprima-fb/-/esprima-fb-12001.1.0-dev-harmony-fb.tgz#d84400384ba95ce2678c617ad24a7f40808da915"
+esprima@^2.7.1:
+ version "2.7.3"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
+
esprima@^3.1.1:
version "3.1.3"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
+esquery@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa"
+ dependencies:
+ estraverse "^4.0.0"
+
esrecurse@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220"
@@ -1566,7 +2529,11 @@ esrecurse@^4.1.0:
estraverse "~4.1.0"
object-assign "^4.0.1"
-estraverse@^4.1.1, estraverse@^4.2.0:
+estraverse@^1.9.1:
+ version "1.9.3"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44"
+
+estraverse@^4.0.0, estraverse@^4.1.1, estraverse@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
@@ -1574,7 +2541,7 @@ estraverse@~4.1.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2"
-esutils@^2.0.2:
+esutils@^2.0.0, esutils@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
@@ -1595,7 +2562,25 @@ evp_bytestokey@^1.0.0:
dependencies:
create-hash "^1.1.1"
-exenv@^1.2.0, exenv@^1.2.1:
+exec-sh@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.0.tgz#14f75de3f20d286ef933099b2ce50a90359cef10"
+ dependencies:
+ merge "^1.1.3"
+
+execa@^0.5.0:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-0.5.1.tgz#de3fb85cb8d6e91c85bcbceb164581785cb57b36"
+ dependencies:
+ cross-spawn "^4.0.0"
+ get-stream "^2.2.0"
+ is-stream "^1.1.0"
+ npm-run-path "^2.0.0"
+ p-finally "^1.0.0"
+ signal-exit "^3.0.0"
+ strip-eof "^1.0.0"
+
+exenv@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.1.tgz#75de1c8dee02e952b102aa17f8875973e0df14f9"
@@ -1603,6 +2588,18 @@ exit-hook@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
+expand-brackets@^0.1.4:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
+ 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"
+ dependencies:
+ fill-range "^2.1.0"
+
extend@3, extend@^3.0.0, extend@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4"
@@ -1615,18 +2612,36 @@ external-editor@^1.1.0:
spawn-sync "^1.0.15"
tmp "^0.0.29"
+extglob@^0.3.1:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
+ dependencies:
+ is-extglob "^1.0.0"
+
extsprintf@1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550"
-faker@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/faker/-/faker-3.1.0.tgz#0f908faf4e6ec02524e54a57e432c5c013e08c9f"
+faker@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/faker/-/faker-4.1.0.tgz#1e45bbbecc6774b3c195fad2835109c6d748cc3f"
fast-levenshtein@~2.0.4:
version "2.0.6"
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+fb-watchman@^1.8.0:
+ version "1.9.2"
+ resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-1.9.2.tgz#a24cf47827f82d38fb59a69ad70b76e3b6ae7383"
+ dependencies:
+ bser "1.0.2"
+
+fb-watchman@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58"
+ dependencies:
+ bser "^2.0.0"
+
fbjs@^0.8.1, fbjs@^0.8.4:
version "0.8.8"
resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.8.tgz#02f1b6e0ea0d46c24e0b51a2d24df069563a5ad6"
@@ -1639,7 +2654,19 @@ fbjs@^0.8.1, fbjs@^0.8.4:
setimmediate "^1.0.5"
ua-parser-js "^0.7.9"
-fibers@^1.0.15, fibers@^1.0.9:
+fbjs@^0.8.9:
+ version "0.8.12"
+ resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04"
+ dependencies:
+ core-js "^1.0.0"
+ isomorphic-fetch "^2.1.1"
+ loose-envify "^1.0.0"
+ object-assign "^4.1.0"
+ promise "^7.1.1"
+ setimmediate "^1.0.5"
+ ua-parser-js "^0.7.9"
+
+fibers@^1.0.15, fibers@~1.0.15:
version "1.0.15"
resolved "https://registry.yarnpkg.com/fibers/-/fibers-1.0.15.tgz#22f039c8f18b856190fbbe4decf056154c1eae9c"
@@ -1663,6 +2690,27 @@ file-type@2.6.0:
dependencies:
meow "^3.0.0"
+filename-regex@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
+
+fileset@^2.0.2:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0"
+ dependencies:
+ glob "^7.0.3"
+ minimatch "^3.0.3"
+
+fill-range@^2.1.0:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723"
+ dependencies:
+ is-number "^2.1.0"
+ isobject "^2.0.0"
+ randomatic "^1.1.3"
+ repeat-element "^1.1.2"
+ repeat-string "^1.5.2"
+
find-up@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
@@ -1670,6 +2718,12 @@ find-up@^1.0.0:
path-exists "^2.0.0"
pinkie-promise "^2.0.0"
+find-up@^2.0.0, find-up@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
+ dependencies:
+ locate-path "^2.0.0"
+
flat-cache@^1.2.1:
version "1.2.2"
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96"
@@ -1689,6 +2743,16 @@ font-awesome@^4.7.0:
version "4.7.0"
resolved "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz#8fa8cf0411a1a31afd07b06d2902bb9fc815a133"
+for-in@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
+
+for-own@^0.1.4:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
+ dependencies:
+ for-in "^1.0.1"
+
foreach@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
@@ -1737,6 +2801,10 @@ fs-extra@^0.30.0:
path-is-absolute "^1.0.0"
rimraf "^2.2.8"
+fs-readdir-recursive@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz#8cd1745c8b4f8a29c8caec392476921ba195f560"
+
fs-vacuum@~1.2.9:
version "1.2.9"
resolved "https://registry.yarnpkg.com/fs-vacuum/-/fs-vacuum-1.2.9.tgz#4f90193ab8ea02890995bcd4e804659a5d366b2d"
@@ -1758,6 +2826,13 @@ fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+fsevents@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.1.tgz#f19fd28f43eeaf761680e519a203c4d0b3d31aff"
+ dependencies:
+ nan "^2.3.0"
+ node-pre-gyp "^0.6.29"
+
fstream-ignore@^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"
@@ -1786,6 +2861,14 @@ function-bind@^1.0.2, function-bind@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771"
+function.prototype.name@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.0.0.tgz#5f523ca64e491a5f95aba80cc1e391080a14482e"
+ dependencies:
+ define-properties "^1.1.2"
+ function-bind "^1.1.0"
+ is-callable "^1.1.2"
+
gauge@~1.2.5:
version "1.2.7"
resolved "https://registry.yarnpkg.com/gauge/-/gauge-1.2.7.tgz#e9cec5483d3d4ee0ef44b60a7d99e4935e136d93"
@@ -1838,6 +2921,13 @@ get-stdin@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
+get-stream@^2.2.0:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de"
+ dependencies:
+ object-assign "^4.0.1"
+ pinkie-promise "^2.0.0"
+
getpass@^0.1.1:
version "0.1.6"
resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6"
@@ -1852,9 +2942,22 @@ github-url-from-username-repo@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/github-url-from-username-repo/-/github-url-from-username-repo-1.0.2.tgz#7dd79330d2abe69c10c2cef79714c97215791dfa"
-glob@7.0.5:
- version "7.0.5"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.5.tgz#b4202a69099bbb4d292a7c1b95b6682b67ebdc95"
+glob-base@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
+ dependencies:
+ glob-parent "^2.0.0"
+ is-glob "^2.0.0"
+
+glob-parent@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
+ dependencies:
+ is-glob "^2.0.0"
+
+glob@7.1.1, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@~7.1.1:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
@@ -1873,18 +2976,7 @@ glob@^6.0.0, glob@^6.0.1:
once "^1.3.0"
path-is-absolute "^1.0.0"
-glob@^7.0.0, glob@^7.1.1, glob@~7.1.1:
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
- dependencies:
- 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"
-
-glob@^7.0.3, glob@^7.0.5, glob@~7.0.6:
+glob@~7.0.6:
version "7.0.6"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a"
dependencies:
@@ -1918,7 +3010,7 @@ globule@^1.0.0:
lodash "~4.16.4"
minimatch "~3.0.2"
-graceful-fs@^4.1.0, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@~4.1.6:
+graceful-fs@^4.1.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@~4.1.6:
version "4.1.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
@@ -1926,7 +3018,7 @@ graceful-fs@^4.1.0, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9,
version "1.0.1"
resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
-griddle-react@^0.7.1:
+griddle-react@0.7.1:
version "0.7.1"
resolved "https://registry.yarnpkg.com/griddle-react/-/griddle-react-0.7.1.tgz#6e27bfda9c85b73ff73ac7bed08827b906018902"
dependencies:
@@ -1936,7 +3028,11 @@ growl@1.9.2:
version "1.9.2"
resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f"
-handlebars@^4.0.6:
+growly@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
+
+handlebars@^4.0.3, handlebars@^4.0.6:
version "4.0.6"
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.6.tgz#2ce4484850537f9c97a8026d5399b935c4ed4ed7"
dependencies:
@@ -1998,6 +3094,16 @@ hawk@~3.1.3:
version "0.2.6"
resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.6.tgz#087e1f10b046932fc8594dd9e6d378afc9d1e5ac"
+history@^4.5.1, history@^4.6.0, history@^4.6.1:
+ version "4.6.1"
+ resolved "https://registry.yarnpkg.com/history/-/history-4.6.1.tgz#911cf8eb65728555a94f2b12780a0c531a14d2fd"
+ dependencies:
+ invariant "^2.2.1"
+ loose-envify "^1.2.0"
+ resolve-pathname "^2.0.0"
+ value-equal "^0.2.0"
+ warning "^3.0.0"
+
hoek@2.x.x:
version "2.16.3"
resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
@@ -2006,10 +3112,34 @@ hoist-non-react-statics@1.x.x, hoist-non-react-statics@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz#aa448cf0986d55cc40773b17174b7dd066cb7cfb"
+home-or-tmp@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
+ dependencies:
+ os-homedir "^1.0.0"
+ os-tmpdir "^1.0.1"
+
hosted-git-info@^2.1.4, hosted-git-info@~2.1.5:
version "2.1.5"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b"
+html-encoding-sniffer@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz#79bf7a785ea495fe66165e734153f363ff5437da"
+ dependencies:
+ whatwg-encoding "^1.0.1"
+
+htmlparser2@^3.9.1:
+ version "3.9.2"
+ resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338"
+ dependencies:
+ domelementtype "^1.3.0"
+ domhandler "^2.3.0"
+ domutils "^1.5.1"
+ entities "^1.1.1"
+ inherits "^2.0.1"
+ readable-stream "^2.0.2"
+
http-browserify@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/http-browserify/-/http-browserify-1.7.0.tgz#33795ade72df88acfbfd36773cefeda764735b20"
@@ -2048,21 +3178,29 @@ https-proxy-agent@^1.0.0:
debug "2"
extend "3"
+hyphenate-style-name@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz#31160a36930adaf1fc04c6074f7eb41465d4ec4b"
+
i18next-browser-languagedetector@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/i18next-browser-languagedetector/-/i18next-browser-languagedetector-1.0.1.tgz#73e43aa46fc1c909cac6178b9d1b803d02610faa"
-i18next-localstorage-cache@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/i18next-localstorage-cache/-/i18next-localstorage-cache-0.3.0.tgz#124cc8b6291160e2bd44127ff361879000314385"
+i18next-localstorage-cache@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/i18next-localstorage-cache/-/i18next-localstorage-cache-1.1.1.tgz#575256cc35e8cb2d88148f754766fdd2d24bb1b7"
i18next-sprintf-postprocessor@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/i18next-sprintf-postprocessor/-/i18next-sprintf-postprocessor-0.2.2.tgz#2e409f1043579382698b6a2da70cdaa551d67ea4"
-i18next@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/i18next/-/i18next-7.0.0.tgz#8944ec20a31244fe85fa464350f48373efea3103"
+i18next@7.1.3:
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/i18next/-/i18next-7.1.3.tgz#4548579502d85fac1de5e646a0bbb85e6cc732e1"
+
+iconv-lite@0.4.13:
+ version "0.4.13"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2"
iconv-lite@0.4.15, iconv-lite@~0.4.13:
version "0.4.15"
@@ -2130,16 +3268,12 @@ init-package-json@~1.9.4:
validate-npm-package-license "^3.0.1"
validate-npm-package-name "^2.0.1"
-inline-style-prefix-all@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/inline-style-prefix-all/-/inline-style-prefix-all-2.0.2.tgz#44e23c00d3521a36041e07c9b1e81bf36770b08c"
-
-inline-style-prefixer@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-1.0.4.tgz#849f657373a5cfbd8141cfddb013df6f68c6df39"
+inline-style-prefixer@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-2.0.5.tgz#c153c7e88fd84fef5c602e95a8168b2770671fe7"
dependencies:
bowser "^1.0.0"
- inline-style-prefix-all "^2.0.2"
+ hyphenate-style-name "^1.0.1"
inquirer@^0.12.0:
version "0.12.0"
@@ -2182,7 +3316,7 @@ interpret@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c"
-invariant@^2.0.0, invariant@^2.1.0, invariant@^2.2.0, invariant@^2.2.1:
+invariant@^2.0.0, invariant@^2.1.0, invariant@^2.2.0, invariant@^2.2.1, invariant@^2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360"
dependencies:
@@ -2200,7 +3334,13 @@ is-arrayish@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
-is-buffer@^1.0.2:
+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"
+ dependencies:
+ binary-extensions "^1.0.0"
+
+is-buffer@^1.0.2, is-buffer@~1.1.1:
version "1.1.4"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b"
@@ -2210,14 +3350,38 @@ is-builtin-module@^1.0.0:
dependencies:
builtin-modules "^1.0.0"
-is-callable@^1.1.1, is-callable@^1.1.3:
+is-callable@^1.1.1, is-callable@^1.1.2, is-callable@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2"
+is-ci@^1.0.10:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e"
+ dependencies:
+ ci-info "^1.0.0"
+
is-date-object@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
+is-dotfile@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
+
+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"
+ 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"
+
+is-extglob@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
+
is-finite@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
@@ -2234,6 +3398,12 @@ is-fullwidth-code-point@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+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"
+ dependencies:
+ is-extglob "^1.0.0"
+
is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4:
version "2.15.0"
resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b"
@@ -2243,6 +3413,12 @@ is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4:
jsonpointer "^4.0.0"
xtend "^4.0.0"
+is-number@^2.0.2, is-number@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
+ dependencies:
+ kind-of "^3.0.2"
+
is-path-cwd@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
@@ -2259,6 +3435,14 @@ is-path-inside@^1.0.0:
dependencies:
path-is-inside "^1.0.1"
+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"
+
+is-primitive@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
+
is-promise@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
@@ -2277,11 +3461,15 @@ is-resolvable@^1.0.0:
dependencies:
tryit "^1.0.1"
+is-retina@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-retina/-/is-retina-1.0.3.tgz#d7401b286bea2ae37f62477588de504d0b8647e3"
+
is-running@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-running/-/is-running-2.1.0.tgz#30a73ff5cc3854e4fc25490809e9f5abf8de09e0"
-is-stream@^1.0.1:
+is-stream@^1.0.1, is-stream@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
@@ -2289,6 +3477,10 @@ is-string@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.4.tgz#cc3a9b69857d621e963725a24caeec873b826e64"
+is-subset@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6"
+
is-symbol@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572"
@@ -2301,7 +3493,11 @@ is-utf8@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
-isarray@^1.0.0, isarray@~1.0.0:
+isarray@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
+
+isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
@@ -2317,6 +3513,12 @@ isobj@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isobj/-/isobj-1.0.0.tgz#67ba28f9c6dc98130eba1a379bdcbd1d939c73f4"
+isobject@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
+ dependencies:
+ isarray "1.0.0"
+
isomorphic-fetch@^2.1.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
@@ -2328,6 +3530,280 @@ isstream@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+istanbul-api@^1.1.1:
+ version "1.1.9"
+ resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.1.9.tgz#2827920d380d4286d857d57a2968a841db8a7ec8"
+ dependencies:
+ async "^2.1.4"
+ fileset "^2.0.2"
+ istanbul-lib-coverage "^1.1.1"
+ istanbul-lib-hook "^1.0.7"
+ istanbul-lib-instrument "^1.7.2"
+ istanbul-lib-report "^1.1.1"
+ istanbul-lib-source-maps "^1.2.1"
+ istanbul-reports "^1.1.1"
+ js-yaml "^3.7.0"
+ mkdirp "^0.5.1"
+ once "^1.4.0"
+
+istanbul-lib-coverage@^1.0.1, istanbul-lib-coverage@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz#73bfb998885299415c93d38a3e9adf784a77a9da"
+
+istanbul-lib-hook@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz#dd6607f03076578fe7d6f2a630cf143b49bacddc"
+ dependencies:
+ append-transform "^0.4.0"
+
+istanbul-lib-instrument@^1.4.2, istanbul-lib-instrument@^1.7.2:
+ version "1.7.2"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.2.tgz#6014b03d3470fb77638d5802508c255c06312e56"
+ dependencies:
+ babel-generator "^6.18.0"
+ babel-template "^6.16.0"
+ babel-traverse "^6.18.0"
+ babel-types "^6.18.0"
+ babylon "^6.13.0"
+ istanbul-lib-coverage "^1.1.1"
+ semver "^5.3.0"
+
+istanbul-lib-report@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#f0e55f56655ffa34222080b7a0cd4760e1405fc9"
+ dependencies:
+ istanbul-lib-coverage "^1.1.1"
+ mkdirp "^0.5.1"
+ path-parse "^1.0.5"
+ supports-color "^3.1.2"
+
+istanbul-lib-source-maps@^1.1.0, istanbul-lib-source-maps@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz#a6fe1acba8ce08eebc638e572e294d267008aa0c"
+ dependencies:
+ debug "^2.6.3"
+ istanbul-lib-coverage "^1.1.1"
+ mkdirp "^0.5.1"
+ rimraf "^2.6.1"
+ source-map "^0.5.3"
+
+istanbul-reports@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.1.1.tgz#042be5c89e175bc3f86523caab29c014e77fee4e"
+ dependencies:
+ handlebars "^4.0.3"
+
+jest-changed-files@^20.0.3:
+ version "20.0.3"
+ resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-20.0.3.tgz#9394d5cc65c438406149bef1bf4d52b68e03e3f8"
+
+jest-cli@^20.0.4:
+ version "20.0.4"
+ resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-20.0.4.tgz#e532b19d88ae5bc6c417e8b0593a6fe954b1dc93"
+ dependencies:
+ ansi-escapes "^1.4.0"
+ callsites "^2.0.0"
+ chalk "^1.1.3"
+ graceful-fs "^4.1.11"
+ is-ci "^1.0.10"
+ istanbul-api "^1.1.1"
+ istanbul-lib-coverage "^1.0.1"
+ istanbul-lib-instrument "^1.4.2"
+ istanbul-lib-source-maps "^1.1.0"
+ jest-changed-files "^20.0.3"
+ jest-config "^20.0.4"
+ jest-docblock "^20.0.3"
+ jest-environment-jsdom "^20.0.3"
+ jest-haste-map "^20.0.4"
+ jest-jasmine2 "^20.0.4"
+ jest-message-util "^20.0.3"
+ jest-regex-util "^20.0.3"
+ jest-resolve-dependencies "^20.0.3"
+ jest-runtime "^20.0.4"
+ jest-snapshot "^20.0.3"
+ jest-util "^20.0.3"
+ micromatch "^2.3.11"
+ node-notifier "^5.0.2"
+ pify "^2.3.0"
+ slash "^1.0.0"
+ string-length "^1.0.1"
+ throat "^3.0.0"
+ which "^1.2.12"
+ worker-farm "^1.3.1"
+ yargs "^7.0.2"
+
+jest-config@^20.0.4:
+ version "20.0.4"
+ resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-20.0.4.tgz#e37930ab2217c913605eff13e7bd763ec48faeea"
+ dependencies:
+ chalk "^1.1.3"
+ glob "^7.1.1"
+ jest-environment-jsdom "^20.0.3"
+ jest-environment-node "^20.0.3"
+ jest-jasmine2 "^20.0.4"
+ jest-matcher-utils "^20.0.3"
+ jest-regex-util "^20.0.3"
+ jest-resolve "^20.0.4"
+ jest-validate "^20.0.3"
+ pretty-format "^20.0.3"
+
+jest-diff@^20.0.3:
+ version "20.0.3"
+ resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-20.0.3.tgz#81f288fd9e675f0fb23c75f1c2b19445fe586617"
+ dependencies:
+ chalk "^1.1.3"
+ diff "^3.2.0"
+ jest-matcher-utils "^20.0.3"
+ pretty-format "^20.0.3"
+
+jest-docblock@^20.0.3:
+ version "20.0.3"
+ resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-20.0.3.tgz#17bea984342cc33d83c50fbe1545ea0efaa44712"
+
+jest-environment-jsdom@^20.0.3:
+ version "20.0.3"
+ resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-20.0.3.tgz#048a8ac12ee225f7190417713834bb999787de99"
+ dependencies:
+ jest-mock "^20.0.3"
+ jest-util "^20.0.3"
+ jsdom "^9.12.0"
+
+jest-environment-node@^20.0.3:
+ version "20.0.3"
+ resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-20.0.3.tgz#d488bc4612af2c246e986e8ae7671a099163d403"
+ dependencies:
+ jest-mock "^20.0.3"
+ jest-util "^20.0.3"
+
+jest-haste-map@^20.0.4:
+ version "20.0.4"
+ resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-20.0.4.tgz#653eb55c889ce3c021f7b94693f20a4159badf03"
+ dependencies:
+ fb-watchman "^2.0.0"
+ graceful-fs "^4.1.11"
+ jest-docblock "^20.0.3"
+ micromatch "^2.3.11"
+ sane "~1.6.0"
+ worker-farm "^1.3.1"
+
+jest-jasmine2@^20.0.4:
+ version "20.0.4"
+ resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-20.0.4.tgz#fcc5b1411780d911d042902ef1859e852e60d5e1"
+ dependencies:
+ chalk "^1.1.3"
+ graceful-fs "^4.1.11"
+ jest-diff "^20.0.3"
+ jest-matcher-utils "^20.0.3"
+ jest-matchers "^20.0.3"
+ jest-message-util "^20.0.3"
+ jest-snapshot "^20.0.3"
+ once "^1.4.0"
+ p-map "^1.1.1"
+
+jest-matcher-utils@^20.0.3:
+ version "20.0.3"
+ resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-20.0.3.tgz#b3a6b8e37ca577803b0832a98b164f44b7815612"
+ dependencies:
+ chalk "^1.1.3"
+ pretty-format "^20.0.3"
+
+jest-matchers@^20.0.3:
+ version "20.0.3"
+ resolved "https://registry.yarnpkg.com/jest-matchers/-/jest-matchers-20.0.3.tgz#ca69db1c32db5a6f707fa5e0401abb55700dfd60"
+ dependencies:
+ jest-diff "^20.0.3"
+ jest-matcher-utils "^20.0.3"
+ jest-message-util "^20.0.3"
+ jest-regex-util "^20.0.3"
+
+jest-message-util@^20.0.3:
+ version "20.0.3"
+ resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-20.0.3.tgz#6aec2844306fcb0e6e74d5796c1006d96fdd831c"
+ dependencies:
+ chalk "^1.1.3"
+ micromatch "^2.3.11"
+ slash "^1.0.0"
+
+jest-mock@^20.0.3:
+ version "20.0.3"
+ resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-20.0.3.tgz#8bc070e90414aa155c11a8d64c869a0d5c71da59"
+
+jest-regex-util@^20.0.3:
+ version "20.0.3"
+ resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-20.0.3.tgz#85bbab5d133e44625b19faf8c6aa5122d085d762"
+
+jest-resolve-dependencies@^20.0.3:
+ version "20.0.3"
+ resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-20.0.3.tgz#6e14a7b717af0f2cb3667c549de40af017b1723a"
+ dependencies:
+ jest-regex-util "^20.0.3"
+
+jest-resolve@^20.0.4:
+ version "20.0.4"
+ resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-20.0.4.tgz#9448b3e8b6bafc15479444c6499045b7ffe597a5"
+ dependencies:
+ browser-resolve "^1.11.2"
+ is-builtin-module "^1.0.0"
+ resolve "^1.3.2"
+
+jest-runtime@^20.0.4:
+ version "20.0.4"
+ resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-20.0.4.tgz#a2c802219c4203f754df1404e490186169d124d8"
+ dependencies:
+ babel-core "^6.0.0"
+ babel-jest "^20.0.3"
+ babel-plugin-istanbul "^4.0.0"
+ chalk "^1.1.3"
+ convert-source-map "^1.4.0"
+ graceful-fs "^4.1.11"
+ jest-config "^20.0.4"
+ jest-haste-map "^20.0.4"
+ jest-regex-util "^20.0.3"
+ jest-resolve "^20.0.4"
+ jest-util "^20.0.3"
+ json-stable-stringify "^1.0.1"
+ micromatch "^2.3.11"
+ strip-bom "3.0.0"
+ yargs "^7.0.2"
+
+jest-snapshot@^20.0.3:
+ version "20.0.3"
+ resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-20.0.3.tgz#5b847e1adb1a4d90852a7f9f125086e187c76566"
+ dependencies:
+ chalk "^1.1.3"
+ jest-diff "^20.0.3"
+ jest-matcher-utils "^20.0.3"
+ jest-util "^20.0.3"
+ natural-compare "^1.4.0"
+ pretty-format "^20.0.3"
+
+jest-util@^20.0.3:
+ version "20.0.3"
+ resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-20.0.3.tgz#0c07f7d80d82f4e5a67c6f8b9c3fe7f65cfd32ad"
+ dependencies:
+ chalk "^1.1.3"
+ graceful-fs "^4.1.11"
+ jest-message-util "^20.0.3"
+ jest-mock "^20.0.3"
+ jest-validate "^20.0.3"
+ leven "^2.1.0"
+ mkdirp "^0.5.1"
+
+jest-validate@^20.0.3:
+ version "20.0.3"
+ resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-20.0.3.tgz#d0cfd1de4f579f298484925c280f8f1d94ec3cab"
+ dependencies:
+ chalk "^1.1.3"
+ jest-matcher-utils "^20.0.3"
+ leven "^2.1.0"
+ pretty-format "^20.0.3"
+
+jest@^20.0.4:
+ version "20.0.4"
+ resolved "https://registry.yarnpkg.com/jest/-/jest-20.0.4.tgz#3dd260c2989d6dad678b1e9cc4d91944f6d602ac"
+ dependencies:
+ jest-cli "^20.0.4"
+
jju@^1.1.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/jju/-/jju-1.3.0.tgz#dadd9ef01924bc728b03f2f7979bdbd62f7a2aaa"
@@ -2351,9 +3827,9 @@ jquery-i18next@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/jquery-i18next/-/jquery-i18next-1.2.0.tgz#8d03036bb8a9d6fd3dd0c5fb1fe8cad233bde2a3"
-jquery@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.1.1.tgz#347c1c21c7e004115e0a4da32cece041fad3c8a3"
+jquery@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.2.1.tgz#5c4d9de652af6cd0a770154a631bba12b015c787"
js-base64@^2.1.9:
version "2.1.9"
@@ -2363,9 +3839,9 @@ js-tokens@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.0.tgz#a2f2a969caae142fb3cd56228358c89366957bd1"
-js-yaml@^3.5.1, js-yaml@^3.8.1:
- version "3.8.1"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.1.tgz#782ba50200be7b9e5a8537001b7804db3ad02628"
+js-yaml@^3.5.1, js-yaml@^3.7.0, js-yaml@^3.8.2:
+ version "3.8.4"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.4.tgz#520b4564f86573ba96662af85a8cafa7b4b5a6f6"
dependencies:
argparse "^1.0.7"
esprima "^3.1.1"
@@ -2378,6 +3854,38 @@ jsbn@~0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd"
+jsdom@^9.12.0:
+ version "9.12.0"
+ resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-9.12.0.tgz#e8c546fffcb06c00d4833ca84410fed7f8a097d4"
+ dependencies:
+ abab "^1.0.3"
+ acorn "^4.0.4"
+ acorn-globals "^3.1.0"
+ array-equal "^1.0.0"
+ content-type-parser "^1.0.1"
+ cssom ">= 0.3.2 < 0.4.0"
+ cssstyle ">= 0.2.37 < 0.3.0"
+ escodegen "^1.6.1"
+ html-encoding-sniffer "^1.0.1"
+ nwmatcher ">= 1.3.9 < 2.0.0"
+ parse5 "^1.5.1"
+ request "^2.79.0"
+ sax "^1.2.1"
+ symbol-tree "^3.2.1"
+ tough-cookie "^2.3.2"
+ webidl-conversions "^4.0.0"
+ whatwg-encoding "^1.0.1"
+ whatwg-url "^4.3.0"
+ xml-name-validator "^2.0.1"
+
+jsesc@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
+
+jsesc@~0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
+
json-diff@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/json-diff/-/json-diff-0.3.1.tgz#6dbc3ae2d25e075a7fd71bcd9874458666fb681b"
@@ -2410,6 +3918,10 @@ json3@3.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
+json5@^0.5.0:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
+
jsonfile@^2.1.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
@@ -2473,10 +3985,6 @@ jws@^3.0.0, jws@^3.1.4:
jwa "^1.1.4"
safe-buffer "^5.0.1"
-keycode@^2.1.2:
- version "2.1.8"
- resolved "https://registry.yarnpkg.com/keycode/-/keycode-2.1.8.tgz#94d2b7098215eff0e8f9a8931d5a59076c4532fb"
-
kind-of@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47"
@@ -2509,6 +4017,10 @@ lcid@^1.0.0:
dependencies:
invert-kv "^1.0.0"
+leven@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580"
+
levn@^0.3.0, levn@~0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
@@ -2542,6 +4054,22 @@ load-json-file@^1.0.0:
pinkie-promise "^2.0.0"
strip-bom "^2.0.0"
+load-json-file@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ strip-bom "^3.0.0"
+
+locate-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+ dependencies:
+ p-locate "^2.0.0"
+ path-exists "^3.0.0"
+
lockfile@~1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/lockfile/-/lockfile-1.0.3.tgz#2638fc39a0331e9cac1a04b71799931c9c50df79"
@@ -2573,6 +4101,14 @@ lodash._isiterateecall@^3.0.0:
version "3.0.9"
resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c"
+lodash.assignin@^4.0.9:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz#ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2"
+
+lodash.bind@^4.1.4:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35"
+
lodash.create@3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7"
@@ -2585,6 +4121,22 @@ lodash.curry@^4.0.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/lodash.curry/-/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170"
+lodash.defaults@^4.0.1:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
+
+lodash.filter@^4.4.0, lodash.filter@^4.6.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace"
+
+lodash.flatten@^4.2.0:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
+
+lodash.foreach@^4.3.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53"
+
lodash.isarguments@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
@@ -2593,6 +4145,10 @@ lodash.isarray@^3.0.0:
version "3.0.4"
resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
+lodash.isnil@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/lodash.isnil/-/lodash.isnil-4.0.0.tgz#49e28cd559013458c814c5479d3c663a21bfaa6c"
+
lodash.isplainobject@^4.0.6:
version "4.0.6"
resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
@@ -2605,6 +4161,18 @@ lodash.keys@^3.0.0, lodash.keys@^3.1.2:
lodash.isarguments "^3.0.0"
lodash.isarray "^3.0.0"
+lodash.map@^4.4.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3"
+
+lodash.merge@^4.4.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5"
+
+lodash.omitby@^4.5.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/lodash.omitby/-/lodash.omitby-4.6.0.tgz#5c15ff4754ad555016b53c041311e8f079204791"
+
lodash.once@^4.0.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
@@ -2621,13 +4189,25 @@ lodash.padstart@^4.1.0:
version "4.6.1"
resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b"
-lodash.pick@^4.4.0:
+lodash.pick@^4.2.1, lodash.pick@^4.4.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
-lodash.pickby@^4.6.0:
+lodash.range@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.range/-/lodash.range-3.2.0.tgz#f461e588f66683f7eadeade513e38a69a565a15d"
+
+lodash.reduce@^4.4.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b"
+
+lodash.reject@^4.4.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-4.6.0.tgz#80d6492dc1470864bbf583533b651f42a9f52415"
+
+lodash.some@^4.4.0:
version "4.6.0"
- resolved "https://registry.yarnpkg.com/lodash.pickby/-/lodash.pickby-4.6.0.tgz#7dea21d8c18d7703a27c704c15d3b84a67e33aff"
+ resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d"
lodash@^3.10.1, lodash@^3.7.0:
version "3.10.1"
@@ -2657,7 +4237,7 @@ longest@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
-loose-envify@^1.0.0, loose-envify@^1.1.0:
+loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
dependencies:
@@ -2670,7 +4250,7 @@ loud-rejection@^1.0.0:
currently-unhandled "^0.4.1"
signal-exit "^3.0.0"
-lru-cache@~4.0.1:
+lru-cache@^4.0.1, lru-cache@~4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e"
dependencies:
@@ -2684,6 +4264,12 @@ mailcomposer@4.0.1:
buildmail "4.0.1"
libmime "3.0.0"
+makeerror@1.0.x:
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c"
+ dependencies:
+ tmpl "1.0.x"
+
map-obj@^1.0.0, map-obj@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
@@ -2696,6 +4282,20 @@ material-colors@^1.2.1:
version "1.2.5"
resolved "https://registry.yarnpkg.com/material-colors/-/material-colors-1.2.5.tgz#5292593e6754cb1bcc2b98030e4e0d6a3afc9ea1"
+md5@^2.0.0:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/md5/-/md5-2.2.1.tgz#53ab38d5fe3c8891ba465329ea23fac0540126f9"
+ dependencies:
+ charenc "~0.0.1"
+ crypt "~0.0.1"
+ is-buffer "~1.1.1"
+
+mem@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76"
+ dependencies:
+ mimic-fn "^1.0.0"
+
meow@^3.0.0:
version "3.7.0"
resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
@@ -2711,13 +4311,13 @@ meow@^3.0.0:
redent "^1.0.0"
trim-newlines "^1.0.0"
-merge@^1.2.0:
+merge@^1.1.3:
version "1.2.0"
resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da"
-meteor-node-stubs@^0.2.5:
- version "0.2.5"
- resolved "https://registry.yarnpkg.com/meteor-node-stubs/-/meteor-node-stubs-0.2.5.tgz#e7d24aabdc4aab6120f43157d61807b94849e9de"
+meteor-node-stubs@^0.2.6:
+ version "0.2.11"
+ resolved "https://registry.yarnpkg.com/meteor-node-stubs/-/meteor-node-stubs-0.2.11.tgz#715e4ec1ce888248b29604e16d092256b0cb7e34"
dependencies:
assert "^1.4.1"
browserify-zlib "^0.1.4"
@@ -2734,15 +4334,33 @@ meteor-node-stubs@^0.2.5:
process "^0.11.9"
punycode "^1.4.1"
querystring-es3 "^0.2.1"
- readable-stream "^2.2.1"
+ readable-stream "git+https://github.com/meteor/readable-stream.git"
stream-browserify "^2.0.1"
- string_decoder "^0.10.31"
+ string_decoder "^1.0.1"
timers-browserify "^1.4.2"
tty-browserify "0.0.0"
url "^0.11.0"
util "^0.10.3"
vm-browserify "0.0.4"
+micromatch@^2.1.5, micromatch@^2.3.11:
+ version "2.3.11"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
+ dependencies:
+ 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"
+
miller-rabin@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d"
@@ -2764,11 +4382,15 @@ mime@1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53"
+mimic-fn@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18"
+
minimalistic-assert@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3"
-"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@~3.0.2, minimatch@~3.0.3:
+"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@~3.0.2, minimatch@~3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774"
dependencies:
@@ -2778,7 +4400,7 @@ minimist@0.0.8, minimist@~0.0.1:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
-minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0:
+minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
@@ -2788,16 +4410,16 @@ mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkd
dependencies:
minimist "0.0.8"
-mocha@^3.1.2:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.2.0.tgz#7dc4f45e5088075171a68896814e6ae9eb7a85e3"
+mocha@^3.2.0:
+ version "3.4.2"
+ resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.4.2.tgz#d0ef4d332126dbf18d0d640c9b382dd48be97594"
dependencies:
browser-stdout "1.3.0"
commander "2.9.0"
- debug "2.2.0"
- diff "1.4.0"
+ debug "2.6.0"
+ diff "3.2.0"
escape-string-regexp "1.0.5"
- glob "7.0.5"
+ glob "7.1.1"
growl "1.9.2"
json3 "3.3.2"
lodash.create "3.1.1"
@@ -2810,18 +4432,26 @@ moment-timezone@^0.5.11:
dependencies:
moment ">= 2.6.0"
-moment@2.x.x, "moment@>= 2.6.0", moment@^2.10.6, moment@^2.17.1:
+moment@2.x.x, "moment@>= 2.6.0", moment@^2.10.6:
version "2.17.1"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.17.1.tgz#fed9506063f36b10f066c8b59a144d7faebe1d82"
+moment@^2.18.1:
+ version "2.18.1"
+ resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f"
+
ms@0.7.1:
version "0.7.1"
resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
-ms@^0.7.1:
+ms@0.7.2, ms@^0.7.1:
version "0.7.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
+ms@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+
msee@^0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/msee/-/msee-0.1.2.tgz#f2d1e20ef94b8cd45243f2d5c817e97143f0286d"
@@ -2848,7 +4478,7 @@ mv@~2:
ncp "~2.0.0"
rimraf "~2.4.0"
-nan@2.5.0, nan@^2.3.3:
+nan@2.5.0, nan@^2.3.0, nan@^2.3.3:
version "2.5.0"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.0.tgz#aa8f1e34531d807e9e27755b234b4a6ec0c152a8"
@@ -2901,7 +4531,20 @@ node-gyp@~3.4.0:
tar "^2.0.0"
which "1"
-node-pre-gyp@0.6.32:
+node-int64@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
+
+node-notifier@^5.0.2:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.1.2.tgz#2fa9e12605fa10009d44549d6fcd8a63dde0e4ff"
+ dependencies:
+ growly "^1.3.0"
+ semver "^5.3.0"
+ shellwords "^0.1.0"
+ which "^1.2.12"
+
+node-pre-gyp@0.6.32, node-pre-gyp@^0.6.29:
version "0.6.32"
resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.32.tgz#fc452b376e7319b3d255f5f34853ef6fd8fe1fd5"
dependencies:
@@ -2960,7 +4603,7 @@ nodemailer-wellknown@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/nodemailer-wellknown/-/nodemailer-wellknown-0.2.1.tgz#492afb9c681f635080f610c0337a3a622f975935"
-nodemailer@^2.7.2:
+nodemailer@2.7.2:
version "2.7.2"
resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-2.7.2.tgz#f242e649aeeae39b6c7ed740ef7b061c404d30f9"
dependencies:
@@ -3001,7 +4644,7 @@ normalize-package-data@^2.0.0, normalize-package-data@^2.3.2, normalize-package-
semver "2 || 3 || 4 || 5"
validate-npm-package-license "^3.0.1"
-normalize-path@^2.0.0:
+normalize-path@^2.0.0, normalize-path@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a"
@@ -3013,6 +4656,10 @@ nouislider-algolia-fork@^10.0.0:
version "10.0.0"
resolved "https://registry.yarnpkg.com/nouislider-algolia-fork/-/nouislider-algolia-fork-10.0.0.tgz#66d0a941aaa0ca64e58379e67bd320956f3cf3ce"
+nouislider@^9.2.0:
+ version "9.2.0"
+ resolved "https://registry.yarnpkg.com/nouislider/-/nouislider-9.2.0.tgz#e87c507de2b0b4d075038b5a42547c7dbbebaf69"
+
npm-cache-filename@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz#ded306c5b0bfc870a9e9faf823bc5f283e05ae11"
@@ -3053,6 +4700,12 @@ npm-registry-client@~7.2.1:
optionalDependencies:
npmlog "~2.0.0 || ~3.1.0"
+npm-run-path@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
+ dependencies:
+ path-key "^2.0.0"
+
npm-shrinkwrap@^6.0.2:
version "6.0.2"
resolved "https://registry.yarnpkg.com/npm-shrinkwrap/-/npm-shrinkwrap-6.0.2.tgz#0a4e269bcc64fdb1741a2c46c2b0457a0072d437"
@@ -3168,6 +4821,12 @@ npmlog@^4.0.1:
gauge "~2.7.1"
set-blocking "~2.0.0"
+nth-check@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4"
+ dependencies:
+ boolbase "~1.0.0"
+
num2fraction@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
@@ -3176,6 +4835,10 @@ 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"
+"nwmatcher@>= 1.3.9 < 2.0.0":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.0.tgz#b4389362170e7ef9798c3c7716d80ebc0106fccf"
+
oauth-sign@~0.8.1:
version "0.8.2"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
@@ -3184,27 +4847,60 @@ object-assign@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2"
-object-assign@^4.0.1, object-assign@^4.1.0:
+object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+object-is@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6"
+
object-keys@^1.0.10, object-keys@^1.0.8:
version "1.0.11"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
-object-keys@~0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336"
+object-keys@~0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336"
+
+object-values@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/object-values/-/object-values-1.0.0.tgz#72af839630119e5b98c3b02bb8c27e3237158105"
+
+object.assign@^4.0.3, object.assign@^4.0.4:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.0.4.tgz#b1c9cc044ef1b9fe63606fc141abbb32e14730cc"
+ dependencies:
+ define-properties "^1.1.2"
+ function-bind "^1.1.0"
+ object-keys "^1.0.10"
+
+object.entries@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.0.4.tgz#1bf9a4dd2288f5b33f3a993d257661f05d161a5f"
+ dependencies:
+ define-properties "^1.1.2"
+ es-abstract "^1.6.1"
+ function-bind "^1.1.0"
+ has "^1.0.1"
+
+object.omit@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
+ dependencies:
+ for-own "^0.1.4"
+ is-extendable "^0.1.1"
-object.assign@^4.0.3, object.assign@^4.0.4:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.0.4.tgz#b1c9cc044ef1b9fe63606fc141abbb32e14730cc"
+object.values@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.0.4.tgz#e524da09b4f66ff05df457546ec72ac99f13069a"
dependencies:
define-properties "^1.1.2"
+ es-abstract "^1.6.1"
function-bind "^1.1.0"
- object-keys "^1.0.10"
+ has "^1.0.1"
-once@^1.3.0, once@^1.3.3, once@~1.4.0:
+once@^1.3.0, once@^1.3.3, once@^1.4.0, once@~1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
dependencies:
@@ -3231,7 +4927,7 @@ optimist@^0.6.1:
minimist "~0.0.1"
wordwrap "~0.0.2"
-optionator@^0.8.2:
+optionator@^0.8.1, optionator@^0.8.2:
version "0.8.2"
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
dependencies:
@@ -3256,11 +4952,19 @@ os-locale@^1.4.0:
dependencies:
lcid "^1.0.0"
+os-locale@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.0.0.tgz#15918ded510522b81ee7ae5a309d54f639fc39a4"
+ dependencies:
+ execa "^0.5.0"
+ lcid "^1.0.0"
+ mem "^1.1.0"
+
os-shim@^0.1.2:
version "0.1.3"
resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917"
-os-tmpdir@^1.0.0, os-tmpdir@~1.0.1:
+os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
@@ -3271,6 +4975,32 @@ osenv@0, osenv@~0.1.3:
os-homedir "^1.0.0"
os-tmpdir "^1.0.0"
+output-file-sync@^1.1.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76"
+ dependencies:
+ graceful-fs "^4.1.4"
+ mkdirp "^0.5.1"
+ object-assign "^4.1.0"
+
+p-finally@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
+
+p-limit@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc"
+
+p-locate@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+ dependencies:
+ p-limit "^1.1.0"
+
+p-map@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.1.1.tgz#05f5e4ae97a068371bc2a5cc86bfbdbc19c4ae7a"
+
pako@~0.2.0:
version "0.2.9"
resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
@@ -3285,12 +5015,25 @@ parse-asn1@^5.0.0:
evp_bytestokey "^1.0.0"
pbkdf2 "^3.0.3"
+parse-glob@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
+ dependencies:
+ glob-base "^0.3.0"
+ is-dotfile "^1.0.0"
+ is-extglob "^1.0.0"
+ is-glob "^2.0.0"
+
parse-json@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
dependencies:
error-ex "^1.2.0"
+parse5@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94"
+
path-array@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-array/-/path-array-1.0.1.tgz#7e2f0f35f07a2015122b868b7eac0eb2c4fec271"
@@ -3307,6 +5050,10 @@ path-exists@^2.0.0:
dependencies:
pinkie-promise "^2.0.0"
+path-exists@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
+
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"
@@ -3315,6 +5062,20 @@ path-is-inside@^1.0.1, path-is-inside@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
+path-key@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
+
+path-parse@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
+
+path-to-regexp@^1.5.3, path-to-regexp@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d"
+ dependencies:
+ isarray "0.0.1"
+
path-type@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
@@ -3323,6 +5084,12 @@ path-type@^1.0.0:
pify "^2.0.0"
pinkie-promise "^2.0.0"
+path-type@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
+ dependencies:
+ pify "^2.0.0"
+
paypal-rest-sdk@^1.7.1:
version "1.7.1"
resolved "https://registry.yarnpkg.com/paypal-rest-sdk/-/paypal-rest-sdk-1.7.1.tgz#1d73885cc775c38fb9b165d060a6c62138f400bd"
@@ -3337,7 +5104,7 @@ pbkdf2@^3.0.3:
dependencies:
create-hmac "^1.1.2"
-pify@^2.0.0:
+pify@^2.0.0, pify@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
@@ -3355,18 +5122,18 @@ pluralize@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45"
-postcss-js@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-0.2.0.tgz#56e6db0cd910a6dffec3dfb34462693ac72e3882"
+postcss-js@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-0.3.0.tgz#a5b690e24e7697d94eb293104da0f8e5cc10adf7"
dependencies:
camelcase-css "^1.0.1"
- postcss "^5.2.6"
+ postcss "^5.2.14"
postcss-value-parser@^3.2.3:
version "3.3.0"
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15"
-postcss@^5.0.8, postcss@^5.2.6:
+postcss@^5.0.8:
version "5.2.11"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.11.tgz#ff29bcd6d2efb98bfe08a022055ec599bbe7b761"
dependencies:
@@ -3375,9 +5142,9 @@ postcss@^5.0.8, postcss@^5.2.6:
source-map "^0.5.6"
supports-color "^3.2.3"
-postcss@^5.2.13:
- version "5.2.13"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.13.tgz#1be52a32cf2ef58c0d75f1aedb3beabcf257cef3"
+postcss@^5.2.14, postcss@^5.2.16:
+ version "5.2.17"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.17.tgz#cf4f597b864d65c8a492b2eabe9d706c879c388b"
dependencies:
chalk "^1.1.3"
js-base64 "^2.1.9"
@@ -3394,6 +5161,21 @@ prerender-node@^2.7.0:
dependencies:
request "^2.40.0"
+preserve@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
+
+pretty-format@^20.0.3:
+ version "20.0.3"
+ resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-20.0.3.tgz#020e350a560a1fe1a98dc3beb6ccffb386de8b14"
+ dependencies:
+ ansi-regex "^2.1.1"
+ ansi-styles "^3.0.0"
+
+private@^0.1.6:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1"
+
process-nextick-args@~1.0.6:
version "1.0.7"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
@@ -3418,10 +5200,20 @@ promzard@^0.3.0:
dependencies:
read "1"
+prop-types@^15.5.4, prop-types@^15.5.7, prop-types@^15.5.8, "prop-types@https://registry.npmjs.org/prop-types/-/prop-types-15.5.8.tgz":
+ version "15.5.8"
+ resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.5.8.tgz#6b7b2e141083be38c8595aa51fc55775c7199394"
+ dependencies:
+ fbjs "^0.8.9"
+
proto-list@~1.2.1:
version "1.2.4"
resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
+prr@~0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a"
+
pseudomap@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
@@ -3452,9 +5244,9 @@ q@~1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e"
-qs@^2.4.2:
- version "2.4.2"
- resolved "https://registry.yarnpkg.com/qs/-/qs-2.4.2.tgz#f7ce788e5777df0b5010da7f7c4e73ba32470f5a"
+qs@~6.0.4:
+ version "6.0.4"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.0.4.tgz#51019d84720c939b82737e84556a782338ecea7b"
qs@~6.2.0:
version "6.2.1"
@@ -3464,6 +5256,12 @@ qs@~6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442"
+query-parse@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/query-parse/-/query-parse-1.0.0.tgz#9e0f76ba1d192ab7cada362451fd2611b8b6aed3"
+ dependencies:
+ lodash "^4.17.4"
+
querystring-es3@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
@@ -3472,14 +5270,21 @@ querystring@0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
-radium@^0.18.1:
- version "0.18.1"
- resolved "https://registry.yarnpkg.com/radium/-/radium-0.18.1.tgz#a01db9b4c6e6364de3b02d5976adf28d0b98351d"
+radium@^0.18.2:
+ version "0.18.4"
+ resolved "https://registry.yarnpkg.com/radium/-/radium-0.18.4.tgz#a5da9573add6a2af99b528d07b4fd403eac2ca58"
dependencies:
array-find "^1.0.0"
- exenv "^1.2.0"
- inline-style-prefixer "^1.0.3"
- rimraf "^2.4.0"
+ exenv "^1.2.1"
+ inline-style-prefixer "^2.0.5"
+ rimraf "^2.6.1"
+
+randomatic@^1.1.3:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb"
+ dependencies:
+ is-number "^2.0.2"
+ kind-of "^3.0.2"
randombytes@^2.0.0, randombytes@^2.0.1:
version "2.0.3"
@@ -3494,21 +5299,28 @@ rc@~1.1.6:
minimist "^1.2.0"
strip-json-comments "~1.0.4"
-react-addons-create-fragment@^15.4.2:
+react-addons-create-fragment@15.4.2:
version "15.4.2"
resolved "https://registry.yarnpkg.com/react-addons-create-fragment/-/react-addons-create-fragment-15.4.2.tgz#11372924f730a97dff4c690535211bb73d8f8815"
dependencies:
fbjs "^0.8.4"
object-assign "^4.1.0"
-react-addons-pure-render-mixin@^15.4.2:
+react-addons-pure-render-mixin@15.4.2:
version "15.4.2"
resolved "https://registry.yarnpkg.com/react-addons-pure-render-mixin/-/react-addons-pure-render-mixin-15.4.2.tgz#a8433c71c45e2368503721921dc47bdaf1fbabcd"
dependencies:
fbjs "^0.8.4"
object-assign "^4.1.0"
-react-addons-test-utils@^15.4.2:
+react-addons-shallow-compare@>=0.14.0:
+ version "15.5.2"
+ resolved "https://registry.yarnpkg.com/react-addons-shallow-compare/-/react-addons-shallow-compare-15.5.2.tgz#7cb0ee7acc8d7c93fcc202df0bf47ba916a7bdad"
+ dependencies:
+ fbjs "^0.8.4"
+ object-assign "^4.1.0"
+
+react-addons-test-utils@15.4.2:
version "15.4.2"
resolved "https://registry.yarnpkg.com/react-addons-test-utils/-/react-addons-test-utils-15.4.2.tgz#93bcaa718fcae7360d42e8fb1c09756cc36302a2"
dependencies:
@@ -3522,46 +5334,67 @@ react-addons-test-utils@^15.4.2:
fbjs "^0.8.4"
object-assign "^4.1.0"
-react-autosuggest@^8.0.0:
- version "8.0.0"
- resolved "https://registry.yarnpkg.com/react-autosuggest/-/react-autosuggest-8.0.0.tgz#dca8211f07d0f6956f41b7904eef18bf3437c725"
+react-autosuggest@^9.0.0:
+ version "9.0.1"
+ resolved "https://registry.yarnpkg.com/react-autosuggest/-/react-autosuggest-9.0.1.tgz#b56eaf8fc3dd46d36b92c5395b6b07174bc10912"
dependencies:
- react-autowhatever "^7.0.0"
+ prop-types "^15.5.8"
+ react-autowhatever "^10.0.0"
shallow-equal "^1.0.0"
-react-autowhatever@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/react-autowhatever/-/react-autowhatever-7.0.0.tgz#7ea19f8024183acf1568fc8e4b76c0d0cc250d00"
+react-autowhatever@^10.0.0:
+ version "10.1.0"
+ resolved "https://registry.yarnpkg.com/react-autowhatever/-/react-autowhatever-10.1.0.tgz#41f6d69382437d3447a0a3c8913bb8ca2feaabc1"
dependencies:
+ prop-types "^15.5.8"
react-themeable "^1.1.0"
section-iterator "^2.0.0"
-react-color@^2.11.1:
- version "2.11.1"
- resolved "https://registry.yarnpkg.com/react-color/-/react-color-2.11.1.tgz#7a1fabd599a49c21ef2a548de00335a392d5d410"
+react-avatar@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/react-avatar/-/react-avatar-2.3.0.tgz#d3d22f499dcd2628f5be9d287f03877ccb0b8f06"
+ dependencies:
+ babel-runtime ">=5.0.0"
+ is-retina "^1.0.3"
+ md5 "^2.0.0"
+ react ">=0.14.0"
+ react-addons-shallow-compare ">=0.14.0"
+
+react-color@^2.11.4:
+ version "2.12.0"
+ resolved "https://registry.yarnpkg.com/react-color/-/react-color-2.12.0.tgz#54bf93e51bb8dc2c76282ac127f85b34b86cd734"
dependencies:
lodash "^4.0.1"
material-colors "^1.2.1"
- reactcss "^1.1.1"
+ prop-types "^15.5.4"
+ reactcss "^1.2.0"
tinycolor2 "^1.1.2"
-react-dnd-html5-backend@^2.2.3:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/react-dnd-html5-backend/-/react-dnd-html5-backend-2.2.3.tgz#96cb65a0df5968b8ef5cf5afb4da02daaefe5681"
+"react-copy-to-clipboard@https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.0.tgz":
+ version "5.0.0"
+ resolved "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.0.tgz#23ccdd7c4d9ec2cc763839e2a55b1220aeb4f33d"
+ dependencies:
+ copy-to-clipboard "^3"
+ prop-types "^15.5.8"
+
+react-dnd-html5-backend@^2.3.0:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/react-dnd-html5-backend/-/react-dnd-html5-backend-2.4.1.tgz#439d2bcaf8bd8b87a51386beb51c128826182ddd"
dependencies:
lodash "^4.2.0"
-react-dnd@^2.2.3:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/react-dnd/-/react-dnd-2.2.3.tgz#75f6a66081fb32a41afa500755b4252fe5dd7a42"
+react-dnd@^2.3.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/react-dnd/-/react-dnd-2.4.0.tgz#96f0042cd4cd375b4f0c3413f6ec84d267b7d792"
dependencies:
disposables "^1.0.1"
- dnd-core "^2.2.3"
+ dnd-core "^2.4.0"
hoist-non-react-statics "^1.2.0"
invariant "^2.1.0"
lodash "^4.2.0"
+ prop-types "^15.5.8"
-react-dom@^15.4.2:
+react-dom@15.4.2:
version "15.4.2"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.4.2.tgz#015363f05b0a1fd52ae9efdd3a0060d90695208f"
dependencies:
@@ -3569,18 +5402,20 @@ react-dom@^15.4.2:
loose-envify "^1.1.0"
object-assign "^4.1.0"
-react-dropzone@^3.10.0:
- version "3.10.0"
- resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-3.10.0.tgz#d17193f816c038a1c29f1e92411db4a12210f19b"
+react-dropzone@^3.12.3:
+ version "3.13.2"
+ resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-3.13.2.tgz#318745c03007ca6b948cdd4431abc009b16a6588"
dependencies:
attr-accept "^1.0.3"
+ prop-types "^15.5.7"
-react-helmet@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/react-helmet/-/react-helmet-4.0.0.tgz#df74bcd6ff585a1ccbbfba5aaa1c346cabc43d03"
+react-helmet@^5.0.1:
+ version "5.1.3"
+ resolved "https://registry.yarnpkg.com/react-helmet/-/react-helmet-5.1.3.tgz#cd40626593a29eecf684b6d38d711f44c48188af"
dependencies:
- deep-equal "1.0.1"
- object-assign "^4.0.1"
+ deep-equal "^1.0.1"
+ object-assign "^4.1.1"
+ prop-types "^15.5.4"
react-side-effect "^1.1.0"
react-input-autosize@^1.1.0:
@@ -3597,36 +5432,45 @@ react-komposer@^2.0.0:
react-stubber "^1.0.0"
shallowequal "^0.2.2"
-react-measure@^1.4.5:
- version "1.4.5"
- resolved "https://registry.yarnpkg.com/react-measure/-/react-measure-1.4.5.tgz#4aa1565872e071a642971eb4d529628c000c8802"
+react-measure@^1.4.6:
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/react-measure/-/react-measure-1.4.7.tgz#a1d2ca0dcfef04978b7ac263a765dcb6a0936fdb"
dependencies:
get-node-dimensions "^1.2.0"
- resize-observer-polyfill "1.3.1"
+ prop-types "^15.5.4"
+ resize-observer-polyfill "^1.4.1"
-react-nouislider@^1.14.2:
- version "1.14.2"
- resolved "https://registry.yarnpkg.com/react-nouislider/-/react-nouislider-1.14.2.tgz#44be62ba53fa10bd3b7ceaaabd685dd98ff46e5e"
+react-nouislider@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/react-nouislider/-/react-nouislider-2.0.0.tgz#77b21895153dc2553df79821c52f3dcada9d3397"
dependencies:
- nouislider-algolia-fork "^10.0.0"
+ nouislider "^9.2.0"
-react-onclickoutside@^5.9.0:
- version "5.9.0"
- resolved "https://registry.yarnpkg.com/react-onclickoutside/-/react-onclickoutside-5.9.0.tgz#c47bb506384adc98d686d134b34412ed17b97437"
+react-onclickoutside@^5.10.0:
+ version "5.11.1"
+ resolved "https://registry.yarnpkg.com/react-onclickoutside/-/react-onclickoutside-5.11.1.tgz#00314e52567cf55faba94cabbacd119619070623"
+ dependencies:
+ create-react-class "^15.5.x"
-react-overlays@^0.6.10:
- version "0.6.10"
- resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-0.6.10.tgz#e7e52dad47f00a0fc784eb044428c3a9e874bfa3"
+react-router-dom@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.1.1.tgz#3021ade1f2c160af97cf94e25594c5f294583025"
dependencies:
- classnames "^2.2.5"
- dom-helpers "^2.4.0"
- react-prop-types "^0.4.0"
- warning "^3.0.0"
+ history "^4.5.1"
+ loose-envify "^1.3.1"
+ prop-types "^15.5.4"
+ react-router "^4.1.1"
-react-prop-types@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/react-prop-types/-/react-prop-types-0.4.0.tgz#f99b0bfb4006929c9af2051e7c1414a5c75b93d0"
+react-router@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/react-router/-/react-router-4.1.1.tgz#d448f3b7c1b429a6fbb03395099949c606b1fe95"
dependencies:
+ history "^4.6.0"
+ hoist-non-react-statics "^1.2.0"
+ invariant "^2.2.2"
+ loose-envify "^1.3.1"
+ path-to-regexp "^1.5.3"
+ prop-types "^15.5.4"
warning "^3.0.0"
react-select@^1.0.0-rc.3:
@@ -3667,10 +5511,11 @@ react-taco-table@^0.5.0:
lodash.curry "^4.0.1"
stable "^0.1.5"
-react-tether@^0.5.5:
- version "0.5.5"
- resolved "https://registry.yarnpkg.com/react-tether/-/react-tether-0.5.5.tgz#df43c04d8d9dc44852c8be90aed1db8a04bdb464"
+react-tether@^0.5.6:
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/react-tether/-/react-tether-0.5.7.tgz#418ea61041b65b958271478489b71a3572f01422"
dependencies:
+ prop-types "^15.5.8"
tether "^1.3.7"
react-textarea-autosize@^4.0.5:
@@ -3683,7 +5528,7 @@ react-themeable@^1.1.0:
dependencies:
object-assign "^3.0.0"
-react@^15.4.2:
+react@15.4.2, react@>=0.14.0:
version "15.4.2"
resolved "https://registry.yarnpkg.com/react/-/react-15.4.2.tgz#41f7991b26185392ba9bae96c8889e7e018397ef"
dependencies:
@@ -3691,14 +5536,11 @@ react@^15.4.2:
loose-envify "^1.1.0"
object-assign "^4.1.0"
-reactcss@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/reactcss/-/reactcss-1.1.1.tgz#9f16fc737fae08daa23bf8a3429bd9f54e162b52"
+reactcss@^1.2.0:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/reactcss/-/reactcss-1.2.2.tgz#41b0ef43e01d54880357c34b11ac1531209350ef"
dependencies:
- classnames "^2.2.0"
lodash "^4.0.1"
- merge "^1.2.0"
- object-assign "^4.1.0"
read-installed@~4.0.3:
version "4.0.3"
@@ -3730,6 +5572,13 @@ read-pkg-up@^1.0.1:
find-up "^1.0.0"
read-pkg "^1.0.0"
+read-pkg-up@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
+ dependencies:
+ find-up "^2.0.0"
+ read-pkg "^2.0.0"
+
read-pkg@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
@@ -3738,13 +5587,21 @@ read-pkg@^1.0.0:
normalize-package-data "^2.3.2"
path-type "^1.0.0"
+read-pkg@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
+ dependencies:
+ load-json-file "^2.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^2.0.0"
+
read@1, read@~1.0.1, read@~1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4"
dependencies:
mute-stream "~0.0.4"
-"readable-stream@1 || 2", "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2, readable-stream@~2.1.4, readable-stream@~2.1.5:
+"readable-stream@1 || 2", readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2, readable-stream@~2.1.4, readable-stream@~2.1.5:
version "2.1.5"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0"
dependencies:
@@ -3765,7 +5622,7 @@ readable-stream@1.1.10:
optionalDependencies:
debuglog "0.0.2"
-readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.2.1, readable-stream@^2.2.2:
+readable-stream@^2.0.5, readable-stream@^2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e"
dependencies:
@@ -3777,6 +5634,17 @@ readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.2.1, readable
string_decoder "~0.10.x"
util-deprecate "~1.0.1"
+"readable-stream@git+https://github.com/meteor/readable-stream.git":
+ version "2.2.10"
+ resolved "git+https://github.com/meteor/readable-stream.git#2e9112d7d31a2af6e0682db0e18679b1e5fd4694"
+ dependencies:
+ inherits "~2.0.1"
+ isarray "~1.0.0"
+ process-nextick-args "~1.0.6"
+ safe-buffer "^5.0.1"
+ string_decoder "~1.0.0"
+ util-deprecate "~1.0.1"
+
readable-stream@~2.0.5:
version "2.0.6"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e"
@@ -3797,6 +5665,15 @@ readdir-scoped-modules@^1.0.0:
graceful-fs "^4.1.2"
once "^1.3.0"
+readdirp@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
+ dependencies:
+ graceful-fs "^4.1.2"
+ minimatch "^3.0.2"
+ readable-stream "^2.0.2"
+ set-immediate-shim "^1.0.1"
+
readline2@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35"
@@ -3840,10 +5717,51 @@ redux@^3.2.0:
loose-envify "^1.1.0"
symbol-observable "^1.0.2"
+regenerate@^1.2.1:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260"
+
regenerator-runtime@^0.10.0:
version "0.10.1"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz#257f41961ce44558b18f7814af48c17559f9faeb"
+regenerator-transform@0.9.11:
+ version "0.9.11"
+ resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.11.tgz#3a7d067520cb7b7176769eb5ff868691befe1283"
+ dependencies:
+ babel-runtime "^6.18.0"
+ babel-types "^6.19.0"
+ private "^0.1.6"
+
+regex-cache@^0.4.2:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145"
+ dependencies:
+ is-equal-shallow "^0.1.3"
+ is-primitive "^2.0.0"
+
+regexpu-core@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240"
+ dependencies:
+ regenerate "^1.2.1"
+ regjsgen "^0.2.0"
+ regjsparser "^0.1.4"
+
+regjsgen@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7"
+
+regjsparser@^0.1.4:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c"
+ dependencies:
+ jsesc "~0.5.0"
+
+repeat-element@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
+
repeat-string@^1.5.2:
version "1.6.1"
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
@@ -3960,22 +5878,36 @@ require-uncached@^1.0.2:
caller-path "^0.1.0"
resolve-from "^1.0.0"
-resize-observer-polyfill@1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.3.1.tgz#4d87e372532c867520b8fcee6d7a27962f1ce3f8"
+resize-observer-polyfill@^1.4.1:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.4.2.tgz#a37198e6209e888acb1532a9968e06d38b6788e5"
resolve-from@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
+resolve-pathname@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.1.0.tgz#e8358801b86b83b17560d4e3c382d7aef2100944"
+
resolve-url@~0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
+resolve@1.1.7:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
+
resolve@^1.1.6:
version "1.2.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.2.0.tgz#9589c3f2f6149d1417a40becc1663db6ec6bc26c"
+resolve@^1.3.2:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5"
+ dependencies:
+ path-parse "^1.0.5"
+
restore-cursor@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
@@ -3997,12 +5929,18 @@ right-align@^0.1.1:
dependencies:
align-text "^0.1.1"
-rimraf@2, rimraf@^2.2.8, rimraf@^2.4.0, rimraf@^2.5.2, rimraf@~2.5.1, rimraf@~2.5.2, rimraf@~2.5.4:
+rimraf@2, rimraf@^2.2.8, rimraf@^2.5.2, rimraf@~2.5.1, rimraf@~2.5.2, rimraf@~2.5.4:
version "2.5.4"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04"
dependencies:
glob "^7.0.5"
+rimraf@^2.6.1:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
+ dependencies:
+ glob "^7.0.5"
+
rimraf@~2.4.0:
version "2.4.5"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da"
@@ -4041,7 +5979,7 @@ rx@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782"
-safe-buffer@^5.0.1:
+safe-buffer@^5.0.1, safe-buffer@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7"
@@ -4057,7 +5995,19 @@ samsam@1.1.2, samsam@~1.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/samsam/-/samsam-1.1.2.tgz#bec11fdc83a9fda063401210e40176c3024d1567"
-sax@>=0.1.1, sax@>=0.6.0:
+sane@~1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/sane/-/sane-1.6.0.tgz#9610c452307a135d29c1fdfe2547034180c46775"
+ dependencies:
+ anymatch "^1.3.0"
+ exec-sh "^0.2.0"
+ fb-watchman "^1.8.0"
+ minimatch "^3.0.2"
+ minimist "^1.1.1"
+ walker "~1.0.5"
+ watch "~0.10.0"
+
+sax@>=0.1.1, sax@>=0.6.0, sax@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a"
@@ -4069,11 +6019,11 @@ section-iterator@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/section-iterator/-/section-iterator-2.0.0.tgz#bf444d7afeeb94ad43c39ad2fb26151627ccba2a"
-"semver@2 >=2.2.1 || 3.x || 4 || 5", "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", "semver@4 || 5", "semver@^2.3.0 || 3.x || 4 || 5", semver@^5.0.3, semver@~5.3.0:
+"semver@2 >=2.2.1 || 3.x || 4 || 5", "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", "semver@4 || 5", "semver@^2.3.0 || 3.x || 4 || 5", semver@^5.3.0, semver@~5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
-semver@5.1.0, semver@~5.1.0:
+semver@5.1.0, semver@^5.0.3, semver@~5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.1.0.tgz#85f2cf8550465c4df000cf7d86f6b054106ab9e5"
@@ -4089,6 +6039,10 @@ set-blocking@^2.0.0, set-blocking@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+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"
+
setimmediate@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
@@ -4124,6 +6078,10 @@ shelljs@^0.7.5:
interpret "^1.0.0"
rechoir "^0.6.2"
+shellwords@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.0.tgz#66afd47b6a12932d9071cbfd98a52e785cd0ba14"
+
shippo@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/shippo/-/shippo-1.2.0.tgz#ddb7ecc8392dd7ed3036b229ded2b9ce6ea1d602"
@@ -4143,6 +6101,10 @@ sinon@^1.17.6:
samsam "1.1.2"
util ">=0.10.3 <1"
+slash@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
+
slice-ansi@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
@@ -4175,9 +6137,9 @@ socks@1.1.9:
ip "^1.1.2"
smart-buffer "^1.0.4"
-sortablejs@^1.5.0-rc1:
- version "1.5.0-rc1"
- resolved "https://registry.yarnpkg.com/sortablejs/-/sortablejs-1.5.0-rc1.tgz#c3407e9a6fc4a54b4d0804926a2e2993544d91b3"
+sortablejs@^1.5.1:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/sortablejs/-/sortablejs-1.6.0.tgz#097cc19267218af2ca1cd455ed858f380136ab68"
sorted-object@^1.0.0:
version "1.0.0"
@@ -4202,6 +6164,12 @@ source-map-support@0.2.9:
dependencies:
source-map "0.1.32"
+source-map-support@^0.4.2:
+ version "0.4.15"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.15.tgz#03202df65c06d2bd8c7ec2362a193056fef8d3b1"
+ dependencies:
+ source-map "^0.5.6"
+
source-map-url@~0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.3.0.tgz#7ecaf13b57bcd09da8a40c5d269db33799d4aaf9"
@@ -4224,10 +6192,16 @@ source-map@^0.4.4:
dependencies:
amdefine ">=0.0.4"
-source-map@^0.5.6, source-map@~0.5.1:
+source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1:
version "0.5.6"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
+source-map@~0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d"
+ dependencies:
+ amdefine ">=0.0.4"
+
spawn-sync@^1.0.15:
version "1.0.15"
resolved "https://registry.yarnpkg.com/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476"
@@ -4283,6 +6257,12 @@ stream-browserify@^2.0.1:
inherits "~2.0.1"
readable-stream "^2.0.2"
+string-length@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac"
+ dependencies:
+ strip-ansi "^3.0.0"
+
string-template@^0.2.0, string-template@~0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add"
@@ -4306,7 +6286,13 @@ string.prototype.startswith@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/string.prototype.startswith/-/string.prototype.startswith-0.2.0.tgz#da68982e353a4e9ac4a43b450a2045d1c445ae7b"
-string_decoder@^0.10.31, string_decoder@~0.10.x:
+string_decoder@^1.0.1, string_decoder@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.2.tgz#b29e1f4e1125fa97a10382b8a533737b7491e179"
+ dependencies:
+ safe-buffer "~5.0.1"
+
+string_decoder@~0.10.x:
version "0.10.31"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
@@ -4324,15 +6310,19 @@ strip-ansi@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991"
+strip-bom@3.0.0, strip-bom@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
+
strip-bom@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
dependencies:
is-utf8 "^0.2.0"
-strip-bom@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
+strip-eof@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
strip-indent@^1.0.1:
version "1.0.1"
@@ -4348,14 +6338,14 @@ 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"
-stripe@^4.15.0:
- version "4.15.0"
- resolved "https://registry.yarnpkg.com/stripe/-/stripe-4.15.0.tgz#b97beb4a2c33f7347b9563e2a197203e6e23db63"
+stripe@^4.16.0:
+ version "4.22.0"
+ resolved "https://registry.yarnpkg.com/stripe/-/stripe-4.22.0.tgz#6cdc35e0d6f4eb13c299e8a6b2f4837cb2d4d732"
dependencies:
bluebird "^2.10.2"
lodash.isplainobject "^4.0.6"
object-assign "^4.1.0"
- qs "^2.4.2"
+ qs "~6.0.4"
supports-color@3.1.2:
version "3.1.2"
@@ -4377,20 +6367,22 @@ supports-color@^3.1.2, supports-color@^3.2.3:
dependencies:
has-flag "^1.0.0"
-sweetalert2@^6.4.2:
- version "6.4.2"
- resolved "https://registry.yarnpkg.com/sweetalert2/-/sweetalert2-6.4.2.tgz#0505b3acaf812af1ad04f00980a83625508e3d61"
- dependencies:
- es6-promise "^4.0.5"
+sweetalert2@^6.4.4:
+ version "6.6.5"
+ resolved "https://registry.yarnpkg.com/sweetalert2/-/sweetalert2-6.6.5.tgz#ffffc1064711ff7870bc8aefe1678f95ecc290db"
-swiper@^3.4.1:
- version "3.4.1"
- resolved "https://registry.yarnpkg.com/swiper/-/swiper-3.4.1.tgz#05f2e72c4fdc8f618e3570f5583696c54641d3a2"
+swiper@^3.4.2:
+ version "3.4.2"
+ resolved "https://registry.yarnpkg.com/swiper/-/swiper-3.4.2.tgz#39d6b410b1a39833e1f72d3b72999df5f5e38392"
symbol-observable@^1.0.2:
version "1.0.4"
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d"
+symbol-tree@^3.2.1:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
+
table@^3.7.8:
version "3.8.3"
resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f"
@@ -4438,6 +6430,16 @@ temp-fs@^0.9.9:
dependencies:
rimraf "~2.5.2"
+test-exclude@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.1.1.tgz#4d84964b0966b0087ecc334a2ce002d3d9341e26"
+ dependencies:
+ arrify "^1.0.1"
+ micromatch "^2.3.11"
+ object-assign "^4.1.0"
+ read-pkg-up "^1.0.1"
+ require-main-filename "^1.0.1"
+
tether-drop@^1.4.0, tether-drop@^1.4.2:
version "1.4.2"
resolved "https://registry.yarnpkg.com/tether-drop/-/tether-drop-1.4.2.tgz#28e240cce077f4ae1d8e5990a03b71e0cd6fbfec"
@@ -4459,6 +6461,12 @@ text-table@~0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+throat@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/throat/-/throat-3.1.0.tgz#ef22d8855963b3fdc626d043508f24c4cdf7d3c3"
+ dependencies:
+ double-ended-queue "^2.1.0-0"
+
through@^2.3.6:
version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
@@ -4483,32 +6491,48 @@ tmp@^0.0.29:
dependencies:
os-tmpdir "~1.0.1"
+tmpl@1.0.x:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1"
+
to-fast-properties@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320"
+toggle-selection@^1.0.3:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.5.tgz#726c703de607193a73c32c7df49cd24950fc574f"
+
topo@1.x.x:
version "1.1.0"
resolved "https://registry.yarnpkg.com/topo/-/topo-1.1.0.tgz#e9d751615d1bb87dc865db182fa1ca0a5ef536d5"
dependencies:
hoek "2.x.x"
-tough-cookie@~2.3.0:
+tough-cookie@^2.3.2, tough-cookie@~2.3.0:
version "2.3.2"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a"
dependencies:
punycode "^1.4.1"
-transliteration@^1.5.3:
- version "1.5.3"
- resolved "https://registry.yarnpkg.com/transliteration/-/transliteration-1.5.3.tgz#067241a43bb2bc75f52fe562a8d9ad4d4f2b1d43"
+tr46@~0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
+
+transliteration@1.6.2:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/transliteration/-/transliteration-1.6.2.tgz#335c91bf70f3b211bb81e8d03992b2078c0dac96"
dependencies:
- yargs "^6.6.0"
+ yargs "^8.0.1"
trim-newlines@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
+trim-right@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
+
tryit@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb"
@@ -4580,12 +6604,6 @@ umask@~1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d"
-uncontrollable@^4.0.1:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/uncontrollable/-/uncontrollable-4.0.3.tgz#06ec76cb9e02914756085d9cea0354fc746b09b4"
- dependencies:
- invariant "^2.1.0"
-
underscore@1.8.3, underscore@1.x, underscore@>1.4.4:
version "1.8.3"
resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022"
@@ -4605,6 +6623,10 @@ url@^0.11.0:
punycode "1.3.2"
querystring "0.2.0"
+user-home@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190"
+
user-home@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f"
@@ -4625,7 +6647,7 @@ util@0.10.3, "util@>=0.10.3 <1", util@^0.10.3:
dependencies:
inherits "2.0.1"
-uuid@^2.0.1, uuid@^2.0.2:
+uuid@^2.0.1, uuid@^2.0.2, uuid@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a"
@@ -4633,6 +6655,12 @@ uuid@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1"
+v8flags@^2.0.10:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4"
+ dependencies:
+ user-home "^1.1.1"
+
validate-npm-package-license@^3.0.1, validate-npm-package-license@~3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc"
@@ -4650,10 +6678,18 @@ validator@^5.4.0:
version "5.7.0"
resolved "https://registry.yarnpkg.com/validator/-/validator-5.7.0.tgz#7a87a58146b695ac486071141c0c49d67da05e5c"
-velocity-animate@^1.4.0, velocity-animate@^1.4.2:
+value-equal@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.2.1.tgz#c220a304361fce6994dbbedaa3c7e1a1b895871d"
+
+velocity-animate@^1.4.0:
version "1.4.2"
resolved "https://registry.yarnpkg.com/velocity-animate/-/velocity-animate-1.4.2.tgz#035fa1e4348f2ddcf751f2dda4833196237b5b37"
+velocity-animate@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/velocity-animate/-/velocity-animate-1.5.0.tgz#fc8771d8dfe1136ff02a707e10fbb0957c4b030f"
+
velocity-react@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/velocity-react/-/velocity-react-1.2.1.tgz#d0cb59289a3b666c596da109d5f541d6e6f8ad98"
@@ -4674,12 +6710,22 @@ vm-browserify@0.0.4:
dependencies:
indexof "0.0.1"
+walker@~1.0.5:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb"
+ dependencies:
+ makeerror "1.0.x"
+
warning@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c"
dependencies:
loose-envify "^1.0.0"
+watch@~0.10.0:
+ version "0.10.0"
+ resolved "https://registry.yarnpkg.com/watch/-/watch-0.10.0.tgz#77798b2da0f9910d595f1ace5b0c2258521f21dc"
+
wcwidth@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
@@ -4699,19 +6745,20 @@ wdio-dot-reporter@^0.0.6:
dependencies:
babel-runtime "^5.8.25"
-wdio-mocha-framework@^0.5.8:
- version "0.5.8"
- resolved "https://registry.yarnpkg.com/wdio-mocha-framework/-/wdio-mocha-framework-0.5.8.tgz#cb9dd90eee3ccc2a94b96362a4a4ffce774d19b7"
+wdio-mocha-framework@^0.5.9:
+ version "0.5.10"
+ resolved "https://registry.yarnpkg.com/wdio-mocha-framework/-/wdio-mocha-framework-0.5.10.tgz#d1f6b5b1129a845f273672d9b2ad0c4b4f37cba1"
dependencies:
- babel-runtime "^5.8.25"
- mocha "^3.1.2"
- wdio-sync "0.6.10"
+ babel-runtime "^6.23.0"
+ mocha "^3.2.0"
+ wdio-sync "0.6.14"
-wdio-sync@0.6.10:
- version "0.6.10"
- resolved "https://registry.yarnpkg.com/wdio-sync/-/wdio-sync-0.6.10.tgz#e67ec663b0dca733bf2b676c7561f23876378387"
+wdio-sync@0.6.14:
+ version "0.6.14"
+ resolved "https://registry.yarnpkg.com/wdio-sync/-/wdio-sync-0.6.14.tgz#a1dcd5907ba1d04154aae6176c622d910c3ca9b3"
dependencies:
- fibers "^1.0.9"
+ babel-runtime "6.23.0"
+ fibers "~1.0.15"
object.assign "^4.0.3"
webdriverio@^4.6.2:
@@ -4740,14 +6787,35 @@ webdriverio@^4.6.2:
wdio-dot-reporter "^0.0.6"
wgxpath "~1.0.0"
+webidl-conversions@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
+
+webidl-conversions@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.1.tgz#8015a17ab83e7e1b311638486ace81da6ce206a0"
+
wgxpath@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/wgxpath/-/wgxpath-1.0.0.tgz#eef8a4b9d558cc495ad3a9a2b751597ecd9af690"
+whatwg-encoding@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz#3c6c451a198ee7aec55b1ec61d0920c67801a5f4"
+ dependencies:
+ iconv-lite "0.4.13"
+
whatwg-fetch@>=0.10.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.2.tgz#fe294d1d89e36c5be8b3195057f2e4bc74fc980e"
+whatwg-url@^4.3.0:
+ version "4.8.0"
+ resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-4.8.0.tgz#d2981aa9148c1e00a41c5a6131166ab4683bbcc0"
+ dependencies:
+ tr46 "~0.0.3"
+ webidl-conversions "^3.0.0"
+
when@~2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/when/-/when-2.4.0.tgz#4b762170a4dee67135bd62ac3d22cc4fc64cf831"
@@ -4756,7 +6824,11 @@ which-module@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
-which@1, which@~1.2.11:
+which-module@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
+
+which@1, which@^1.2.12, which@^1.2.9, which@~1.2.11:
version "1.2.12"
resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192"
dependencies:
@@ -4776,13 +6848,20 @@ wordwrap@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
-wordwrap@>=0.0.2, wordwrap@~1.0.0:
+wordwrap@>=0.0.2, wordwrap@~0.0.2:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
+
+wordwrap@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
-wordwrap@~0.0.2:
- version "0.0.3"
- resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
+worker-farm@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.3.1.tgz#4333112bb49b17aa050b87895ca6b2cacf40e5ff"
+ dependencies:
+ errno ">=0.1.1 <0.2.0-0"
+ xtend ">=4.0.0 <4.1.0-0"
wrap-ansi@^2.0.0:
version "2.1.0"
@@ -4809,6 +6888,10 @@ write@^0.2.1:
dependencies:
mkdirp "^0.5.1"
+xml-name-validator@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635"
+
xml2js@0.1.13:
version "0.1.13"
resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.1.13.tgz#438ff3b1d85a51ad659ffc2ebe83403e10c98722"
@@ -4828,7 +6911,7 @@ xmlbuilder@^4.1.0:
dependencies:
lodash "^4.0.0"
-xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0:
+"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
@@ -4846,15 +6929,21 @@ yallist@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.0.0.tgz#306c543835f09ee1a4cb23b7bce9ab341c91cdd4"
-yargs-parser@^4.2.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c"
+yargs-parser@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a"
dependencies:
camelcase "^3.0.0"
-yargs@^6.6.0:
- version "6.6.0"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208"
+yargs-parser@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9"
+ dependencies:
+ camelcase "^4.1.0"
+
+yargs@^7.0.2:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8"
dependencies:
camelcase "^3.0.0"
cliui "^3.2.0"
@@ -4868,7 +6957,25 @@ yargs@^6.6.0:
string-width "^1.0.2"
which-module "^1.0.0"
y18n "^3.2.1"
- yargs-parser "^4.2.0"
+ yargs-parser "^5.0.0"
+
+yargs@^8.0.1:
+ version "8.0.1"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.1.tgz#420ef75e840c1457a80adcca9bc6fa3849de51aa"
+ dependencies:
+ camelcase "^4.1.0"
+ cliui "^3.2.0"
+ decamelize "^1.1.1"
+ get-caller-file "^1.0.1"
+ os-locale "^2.0.0"
+ read-pkg-up "^2.0.0"
+ require-directory "^2.1.1"
+ require-main-filename "^1.0.1"
+ set-blocking "^2.0.0"
+ string-width "^2.0.0"
+ which-module "^2.0.0"
+ y18n "^3.2.1"
+ yargs-parser "^7.0.0"
yargs@~3.10.0:
version "3.10.0"