From c05cfc92ce33cdf7348bbf057818116cb98bc30c Mon Sep 17 00:00:00 2001 From: Derek Adams Date: Sun, 7 Jul 2019 13:17:51 -0400 Subject: [PATCH 01/31] Refactoring for 2.1.0 release. --- build/icon.icns | Bin 228573 -> 0 bytes build/icon.ico | Bin 370070 -> 0 bytes build/icon.png | Bin 54244 -> 0 bytes package-lock.json | 5014 +++++++++++------ package.json | 36 +- src/renderer/components/Login.vue | 74 +- src/renderer/components/areas/AreaChooser.vue | 123 +- .../components/areas/AreaDeleteDialog.vue | 83 +- .../components/areas/AreaUpdateDialog.vue | 2 +- .../components/assets/AssetAssignments.vue | 2 +- .../components/assets/AssetDetail.vue | 2 +- .../assettypes/AssetTypeDetailHeader.vue | 2 +- .../components/assettypes/AssetTypeDialog.vue | 2 +- .../components/assettypes/AssetTypesList.vue | 2 +- .../assignments/AssignmentListEntry.vue | 15 +- .../assignments/AssignmentStatusIndicator.vue | 79 + .../assignments/AssignmentsList.vue | 127 + .../components/common/ApplicationModel.ts | 19 + .../components/common/NoResultsPanel.vue | 79 +- .../components/common/TreeNodePanel.vue | 25 + src/renderer/components/common/Utils.ts | 36 + .../customers/CustomerAlertEvents.vue | 5 +- .../customers/CustomerAssignments.vue | 5 +- .../components/customers/CustomerChooser.vue | 127 +- .../customers/CustomerCreateDialog.vue | 3 - .../customers/CustomerDeleteDialog.vue | 96 +- .../components/customers/CustomerDetail.vue | 3 - .../customers/CustomerDetailFields.vue | 3 - .../components/customers/CustomerDialog.vue | 9 +- .../customers/CustomerListEntry.vue | 2 +- .../components/customers/CustomerSelector.vue | 93 +- .../components/customers/CustomersList.vue | 4 +- .../CustomerTypeCreateDialog.vue | 3 - .../customertypes/CustomerTypeCustomers.vue | 3 - .../CustomerTypeDeleteDialog.vue | 102 +- .../customertypes/CustomerTypeDetail.vue | 11 +- .../CustomerTypeDetailFields.vue | 3 - .../CustomerTypeDetailHeader.vue | 3 - .../customertypes/CustomerTypeDialog.vue | 3 - .../customertypes/CustomerTypeListEntry.vue | 2 +- .../customertypes/CustomerTypeSelector.vue | 3 - .../CustomerTypeUpdateDialog.vue | 3 - .../customertypes/CustomerTypesList.vue | 3 - .../CustomerTypesMultiselect.vue | 3 - .../devicegroups/DeviceGroupCreateDialog.vue | 2 +- .../devicegroups/DeviceGroupDetailHeader.vue | 2 +- .../components/devicegroups/RolesField.vue | 2 +- .../components/devices/DeviceDeleteDialog.vue | 3 - .../devices/DeviceListAreaFilter.vue | 32 + .../devices/DeviceListFilterDialog.vue | 224 +- .../devicetypes/DeviceTypeDetailHeader.vue | 2 +- .../devicetypes/DeviceTypeSelector.vue | 5 +- .../global/GlobalMicroserviceEditor.vue | 3 - .../global/GlobalMicroservicesList.vue | 3 - .../login/RemoteConnectionDetails.vue | 139 + .../login/RemoteConnectionsList.vue | 173 + .../components/login/RemotesDialog.vue | 86 + .../components/login/RemotesDropdown.vue | 48 + .../microservice/ScriptCloneDialog.vue | 3 +- .../microservice/ScriptContentFields.vue | 1 - .../microservice/ScriptCreateCloneDialog.vue | 6 - .../microservice/ScriptsContentEditor.vue | 2 +- .../microservice/ScriptsCreateDialog.vue | 2 - .../components/microservice/ScriptsDialog.vue | 5 +- .../microservice/ScriptsManager.vue | 21 +- .../tenants/TenantAdministration.vue | 7 + src/renderer/libraries/constants.ts | 7 +- src/renderer/router/index.ts | 5 + src/renderer/store/index.ts | 46 +- tsconfig.json | 1 - 70 files changed, 4629 insertions(+), 2415 deletions(-) delete mode 100644 build/icon.icns delete mode 100644 build/icon.ico delete mode 100644 build/icon.png create mode 100644 src/renderer/components/assignments/AssignmentStatusIndicator.vue create mode 100644 src/renderer/components/assignments/AssignmentsList.vue create mode 100644 src/renderer/components/common/TreeNodePanel.vue create mode 100644 src/renderer/components/devices/DeviceListAreaFilter.vue create mode 100644 src/renderer/components/login/RemoteConnectionDetails.vue create mode 100644 src/renderer/components/login/RemoteConnectionsList.vue create mode 100644 src/renderer/components/login/RemotesDialog.vue create mode 100644 src/renderer/components/login/RemotesDropdown.vue diff --git a/build/icon.icns b/build/icon.icns deleted file mode 100644 index d26c9a1d7f5f9dc24615d588e64bcf2f7c0b3319..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228573 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

`eT?nZ7=?W_{}>^yy%@!zR_< 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 Hlz8G|tvkAuOkb))Gk#uXl?OmI#s9 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 z

nP^XjudA-Lw3rDgNZplkKUc7BJOi}+UVBrpV~GnYl}EGl#jB>AaHJOi9SNWoV4 z>%D@U!8-L^fheb-EEzRBxmZ*e;d)#Ys#3o6uF4xEpFTT!)g-PcN*t6bfU*!!=^PI*{V*`3QgJ=niGqfsAwO`jf`GhA=kAnqP|rjyu9;(@g+y z@P_@bI_t|$(1cdhBV<*D!wmu##J}x?c}X!^_fiZu#!h5tI|M=@zyJHw04 z$3~hh=yB)U_9Q@j%PDTIOc{cH?|XP;c1?6~T;QXdW=sF*SG=!>D7IuTA*eB=3a4L- zjbG*Gmu&9g!lYOE1kb9qbf32^1JkHKNFSXF4zfh{ACLv&@i&!3TbHH*;@}Me)n?f3OOdd*Basd`~;`!JlNbw%3Jq| zfDgxUL>IYrt^6x01_)VBW|VNn)4(678_xO9UX8BLmb~^~3}Th}2U7AHl=YcU{p3xv zl_!=h-9xur>leJdv%Oa< z|M|oLQSl_x1dJFx=yoFu&K>heu>L{Sa03>}*h9zaINr7)`nx?3Kt;~Ofkp}~(JrF* zx^y63uI?2Xy!NAUhU{t;lbb1lZ!i9i<9PN2dsIxFy+}6sXH|g?<9E0zPylF06GhZ!(aGS?+Yl*k;nnPa3@*m1I6#W| z+d=R;Z9-k{Dx8Y)Me#~*}fX~ zJ%7q}-MI&vTrEorrW)7^lxx;$%K(g9xt&h~;E&yRy;o+?l^NOy@JYntJljB8w8c}L ze()=zU;MqtyALmijSI$;6m)LDJuMu838&Wz<~m_u28DXUwyGbHdPK73E@=u`MwFA6 z5?~X%T6&}O=9!nVR zQ4TqRcxyc_SFkFLUuU(0?ZekL%;aRCal<}II&{UHf~6{JI@Pcx|Bn=AtBbecjd z0J9G|Re9zB#Jre{tSKIzmtPD?M9a*W;Q0Ch1Ar8oXO8O8}EH%U&ZP8TXtz zP%BI_xfO>X4IEd(c- zmvJ9N=$zrG`P?hdUrdNgVjxtq1A&9w%)sA|YR!2@txacuR1NiEI{rR#T^PT8OeRN9 z`~=6Sz)uTdE8E-_6K>;^Q8l;^olKSMG|5`1ow0`8J9D=Mz`;f~azXg> zp^(Czct7nVTF|6==k*j0y1f@f%E>u7w-*f%d3S^dgsKIVU^WaA+64bM<`!>_zIEKK z#$jpR8kED3x>Ke*B1bf{(;5)X6nz&W66&u!D8LhwEEZRSbKnKOLL=n!Qw@f)M?2nz z*0)k@(y4-qqf+h$7#em+5%<%HYn;<`MzO0(uq_`QR`B`;8-1Rytc>ZNdQQ=TaM+8*KSpeTp;(wOQ36$k^&Sc3 zgTWYKF769zY4f{QFHb-s9}v|xc$0!bqbH3(z<~fc(~^V{ac|J`e%(GRgbG>y zk=LEIOFe*qHr3^PTZ5O?|FOgjywO^0(B6PoS8W5yNVHIFWb8*JYFmHYb9#Ix4-FNb zIlk!}VOLdx$z4c*w8vnnY8I<<0q|^oAOh;6dAxyqwCit;NysMTEfU#q^ZJeHk;L2v#wK%Z#C(An%HV}%h#NjFCWxlh`K~-p zIkJrrh>|}4de%QhktM5tc8T>=2#>L8N&Ma!zvkLkeDs`5g|JgAp3?O6zE}STmxhHh diff --git a/build/icon.ico b/build/icon.ico deleted file mode 100644 index 15344ae17634dcf1ab0f3e476b0a1ea4825b5b55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 370070 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 S1carI|A<4}CXKn0_WuJr5c;G5 diff --git a/build/icon.png b/build/icon.png deleted file mode 100644 index 3470122d122ead63690136b95970632758029887..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54244 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 P|BgFrpz%ii(yjjop5d%+ diff --git a/package-lock.json b/package-lock.json index 75ffea8..259844a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,23 +22,23 @@ "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "dev": true, "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "7.5.0" } }, "@babel/core": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.3.4.tgz", - "integrity": "sha512-jRsuseXBo9pN197KnDwhhaaBzyZr2oIcLHHTt2oDdQrej5Qp57dCCJafWx5ivU8/alEYDpssYqv1MUqcxwQlrA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.5.0.tgz", + "integrity": "sha512-6Isr4X98pwXqHvtigw71CKgmhL1etZjPs5A67jL/w0TkLM9eqmFR40YrnJvEc1WnMZFsskjsmid8bHZyxKEAnw==", "dev": true, "requires": { "@babel/code-frame": "7.0.0", - "@babel/generator": "7.3.4", - "@babel/helpers": "7.3.1", - "@babel/parser": "7.3.4", - "@babel/template": "7.2.2", - "@babel/traverse": "7.3.4", - "@babel/types": "7.3.4", - "convert-source-map": "1.5.1", + "@babel/generator": "7.5.0", + "@babel/helpers": "7.5.1", + "@babel/parser": "7.5.0", + "@babel/template": "7.4.4", + "@babel/traverse": "7.5.0", + "@babel/types": "7.5.0", + "convert-source-map": "1.6.0", "debug": "4.1.1", "json5": "2.1.0", "lodash": "4.17.11", @@ -53,7 +53,7 @@ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.1.1" + "ms": "2.1.2" } }, "json5": { @@ -72,32 +72,26 @@ "dev": true }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } }, "@babel/generator": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.3.4.tgz", - "integrity": "sha512-8EXhHRFqlVVWXPezBW5keTiQi/rJMQTg/Y9uVCEZ0CAF3PKtCCaVRnp64Ii1ujhkoDhhF1fVsImoN4yJ2uz4Wg==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.0.tgz", + "integrity": "sha512-1TTVrt7J9rcG5PMjvO7VEG3FrEoEJNHxumRq66GemPmzboLWtIjjcJgk8rokuAS7IiRSpgVSu5Vb9lc99iJkOA==", "dev": true, "requires": { - "@babel/types": "7.3.4", + "@babel/types": "7.5.0", "jsesc": "2.5.2", "lodash": "4.17.11", "source-map": "0.5.7", "trim-right": "1.0.1" }, "dependencies": { - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, "lodash": { "version": "4.17.11", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", @@ -112,7 +106,7 @@ "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "dev": true, "requires": { - "@babel/types": "7.3.4" + "@babel/types": "7.5.0" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { @@ -122,29 +116,37 @@ "dev": true, "requires": { "@babel/helper-explode-assignable-expression": "7.1.0", - "@babel/types": "7.3.4" + "@babel/types": "7.5.0" } }, "@babel/helper-call-delegate": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz", - "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz", + "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "7.0.0", - "@babel/traverse": "7.3.4", - "@babel/types": "7.3.4" + "@babel/helper-hoist-variables": "7.4.4", + "@babel/traverse": "7.5.0", + "@babel/types": "7.5.0" } }, "@babel/helper-define-map": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", - "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.4.4.tgz", + "integrity": "sha512-IX3Ln8gLhZpSuqHJSnTNBWGDE9kdkTEWl21A/K7PQ00tseBwbqCHTvNLHSBd9M0R5rER4h5Rsvj9vw0R5SieBg==", "dev": true, "requires": { "@babel/helper-function-name": "7.1.0", - "@babel/types": "7.3.4", - "lodash": "4.17.10" + "@babel/types": "7.5.0", + "lodash": "4.17.11" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } } }, "@babel/helper-explode-assignable-expression": { @@ -153,8 +155,8 @@ "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", "dev": true, "requires": { - "@babel/traverse": "7.3.4", - "@babel/types": "7.3.4" + "@babel/traverse": "7.5.0", + "@babel/types": "7.5.0" } }, "@babel/helper-function-name": { @@ -164,8 +166,8 @@ "dev": true, "requires": { "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.3.4" + "@babel/template": "7.4.4", + "@babel/types": "7.5.0" } }, "@babel/helper-get-function-arity": { @@ -174,16 +176,16 @@ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "dev": true, "requires": { - "@babel/types": "7.3.4" + "@babel/types": "7.5.0" } }, "@babel/helper-hoist-variables": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz", - "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz", + "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==", "dev": true, "requires": { - "@babel/types": "7.3.4" + "@babel/types": "7.5.0" } }, "@babel/helper-member-expression-to-functions": { @@ -192,7 +194,7 @@ "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "dev": true, "requires": { - "@babel/types": "7.3.4" + "@babel/types": "7.5.0" } }, "@babel/helper-module-imports": { @@ -201,21 +203,29 @@ "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", "dev": true, "requires": { - "@babel/types": "7.3.4" + "@babel/types": "7.5.0" } }, "@babel/helper-module-transforms": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz", - "integrity": "sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.4.4.tgz", + "integrity": "sha512-3Z1yp8TVQf+B4ynN7WoHPKS8EkdTbgAEy0nU0rs/1Kw4pDgmvYH3rz3aI11KgxKCba2cn7N+tqzV1mY2HMN96w==", "dev": true, "requires": { "@babel/helper-module-imports": "7.0.0", "@babel/helper-simple-access": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.3.4", - "lodash": "4.17.10" + "@babel/helper-split-export-declaration": "7.4.4", + "@babel/template": "7.4.4", + "@babel/types": "7.5.0", + "lodash": "4.17.11" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } } }, "@babel/helper-optimise-call-expression": { @@ -224,7 +234,7 @@ "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "dev": true, "requires": { - "@babel/types": "7.3.4" + "@babel/types": "7.5.0" } }, "@babel/helper-plugin-utils": { @@ -234,12 +244,20 @@ "dev": true }, "@babel/helper-regex": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", - "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.4.4.tgz", + "integrity": "sha512-Y5nuB/kESmR3tKjU8Nkn1wMGEx1tjJX076HBMeL3XLQCu6vA/YRzuTW0bbb+qRnXvQGn+d6Rx953yffl8vEy7Q==", "dev": true, "requires": { - "lodash": "4.17.10" + "lodash": "4.17.11" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } } }, "@babel/helper-remap-async-to-generator": { @@ -250,21 +268,21 @@ "requires": { "@babel/helper-annotate-as-pure": "7.0.0", "@babel/helper-wrap-function": "7.2.0", - "@babel/template": "7.2.2", - "@babel/traverse": "7.3.4", - "@babel/types": "7.3.4" + "@babel/template": "7.4.4", + "@babel/traverse": "7.5.0", + "@babel/types": "7.5.0" } }, "@babel/helper-replace-supers": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.3.4.tgz", - "integrity": "sha512-pvObL9WVf2ADs+ePg0jrqlhHoxRXlOa+SHRHzAXIz2xkYuOHfGl+fKxPMaS4Fq+uje8JQPobnertBBvyrWnQ1A==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.4.4.tgz", + "integrity": "sha512-04xGEnd+s01nY1l15EuMS1rfKktNF+1CkKmHoErDppjAAZL+IUBZpzT748x262HF7fibaQPhbvWUl5HeSt1EXg==", "dev": true, "requires": { "@babel/helper-member-expression-to-functions": "7.0.0", "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/traverse": "7.3.4", - "@babel/types": "7.3.4" + "@babel/traverse": "7.5.0", + "@babel/types": "7.5.0" } }, "@babel/helper-simple-access": { @@ -273,17 +291,17 @@ "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", "dev": true, "requires": { - "@babel/template": "7.2.2", - "@babel/types": "7.3.4" + "@babel/template": "7.4.4", + "@babel/types": "7.5.0" } }, "@babel/helper-split-export-declaration": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", - "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", + "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", "dev": true, "requires": { - "@babel/types": "7.3.4" + "@babel/types": "7.5.0" } }, "@babel/helper-wrap-function": { @@ -293,26 +311,26 @@ "dev": true, "requires": { "@babel/helper-function-name": "7.1.0", - "@babel/template": "7.2.2", - "@babel/traverse": "7.3.4", - "@babel/types": "7.3.4" + "@babel/template": "7.4.4", + "@babel/traverse": "7.5.0", + "@babel/types": "7.5.0" } }, "@babel/helpers": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.3.1.tgz", - "integrity": "sha512-Q82R3jKsVpUV99mgX50gOPCWwco9Ec5Iln/8Vyu4osNIOQgSrd9RFrQeUvmvddFNoLwMyOUWU+5ckioEKpDoGA==", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.5.1.tgz", + "integrity": "sha512-rVOTDv8sH8kNI72Unenusxw6u+1vEepZgLxeV+jHkhsQlYhzVhzL1EpfoWT7Ub3zpWSv2WV03V853dqsnyoQzA==", "dev": true, "requires": { - "@babel/template": "7.2.2", - "@babel/traverse": "7.3.4", - "@babel/types": "7.3.4" + "@babel/template": "7.4.4", + "@babel/traverse": "7.5.0", + "@babel/types": "7.5.0" } }, "@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", "dev": true, "requires": { "chalk": "2.4.1", @@ -329,9 +347,9 @@ } }, "@babel/parser": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.3.4.tgz", - "integrity": "sha512-tXZCqWtlOOP4wgCp6RjRvLmfuhnqTLy9VHwRochJBCP2nDm27JnnuFEnXFASVyQNHk36jD1tAammsCEEqgscIQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.0.tgz", + "integrity": "sha512-I5nW8AhGpOXGCCNYGc+p7ExQIBxRFnS2fd/d862bNOKvmoEPjYPcfIjsfdy0ujagYOIYPczKgD9l3FsgTkAzKA==", "dev": true }, "@babel/plugin-proposal-async-generator-functions": { @@ -345,6 +363,16 @@ "@babel/plugin-syntax-async-generators": "7.2.0" } }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz", + "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-dynamic-import": "7.2.0" + } + }, "@babel/plugin-proposal-json-strings": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", @@ -356,9 +384,9 @@ } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.3.4.tgz", - "integrity": "sha512-j7VQmbbkA+qrzNqbKHrBsW3ddFnOeva6wzSe/zB7T+xaxGc+RCpwo44wCmRixAIGRoIpmVgvzFzNJqQcO3/9RA==", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.1.tgz", + "integrity": "sha512-PVGXx5LYHcT7L4MdoE+rM5uq68IKlvU9lljVQ4OXY6aUEnGvezcGbM4VNY57Ug+3R2Zg/nYHlEdiWoIBoRA0mw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0", @@ -376,45 +404,14 @@ } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.2.0.tgz", - "integrity": "sha512-LvRVYb7kikuOtIoUeWTkOxQEV1kYvL5B6U3iWEGCzPNRus1MzJweFqORTj+0jkxozkTSYNJozPOddxmqdqsRpw==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz", + "integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-regex": "7.0.0", - "regexpu-core": "4.4.0" - }, - "dependencies": { - "regexpu-core": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.4.0.tgz", - "integrity": "sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA==", - "dev": true, - "requires": { - "regenerate": "1.4.0", - "regenerate-unicode-properties": "7.0.0", - "regjsgen": "0.5.0", - "regjsparser": "0.6.0", - "unicode-match-property-ecmascript": "1.0.4", - "unicode-match-property-value-ecmascript": "1.0.2" - } - }, - "regjsgen": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", - "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", - "dev": true - }, - "regjsparser": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", - "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", - "dev": true, - "requires": { - "jsesc": "0.5.0" - } - } + "@babel/helper-regex": "7.4.4", + "regexpu-core": "4.5.4" } }, "@babel/plugin-syntax-async-generators": { @@ -472,9 +469,9 @@ } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.3.4.tgz", - "integrity": "sha512-Y7nCzv2fw/jEZ9f678MuKdMo99MFDJMT/PvD9LisrR5JDFcJH6vYeH6RnjVt3p5tceyGRvTtEN0VOlU+rgHZjA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz", + "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==", "dev": true, "requires": { "@babel/helper-module-imports": "7.0.0", @@ -492,9 +489,9 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.3.4.tgz", - "integrity": "sha512-blRr2O8IOZLAOJklXLV4WhcEzpYafYQKSGT3+R26lWG41u/FODJuBggehtOwilVAcFu393v3OFj+HmaE6tVjhA==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.4.tgz", + "integrity": "sha512-jkTUyWZcTrwxu5DD4rWz6rDB5Cjdmgz6z7M7RLXOJyCUkFBawssDGcGh8M/0FTSB87avyJI1HsTwUXp9nKA1PA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0", @@ -510,19 +507,19 @@ } }, "@babel/plugin-transform-classes": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.3.4.tgz", - "integrity": "sha512-J9fAvCFBkXEvBimgYxCjvaVDzL6thk0j0dBvCeZmIUDBwyt+nv6HfbImsSrWsYXfDNDivyANgJlFXDUWRTZBuA==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.4.tgz", + "integrity": "sha512-/e44eFLImEGIpL9qPxSRat13I5QNRgBLu2hOQJCF7VLy/otSM/sypV1+XaIw5+502RX/+6YaSAPmldk+nhHDPw==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "7.0.0", - "@babel/helper-define-map": "7.1.0", + "@babel/helper-define-map": "7.4.4", "@babel/helper-function-name": "7.1.0", "@babel/helper-optimise-call-expression": "7.0.0", "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-replace-supers": "7.3.4", - "@babel/helper-split-export-declaration": "7.0.0", - "globals": "11.11.0" + "@babel/helper-replace-supers": "7.4.4", + "@babel/helper-split-export-declaration": "7.4.4", + "globals": "11.12.0" } }, "@babel/plugin-transform-computed-properties": { @@ -535,60 +532,29 @@ } }, "@babel/plugin-transform-destructuring": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.3.2.tgz", - "integrity": "sha512-Lrj/u53Ufqxl/sGxyjsJ2XNtNuEjDyjpqdhMNh5aZ+XFOdThL46KBj27Uem4ggoezSYBxKWAil6Hu8HtwqesYw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz", + "integrity": "sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz", - "integrity": "sha512-sKxnyHfizweTgKZf7XsXu/CNupKhzijptfTM+bozonIuyVrLWVUvYjE2bhuSBML8VQeMxq4Mm63Q9qvcvUcciQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz", + "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-regex": "7.0.0", - "regexpu-core": "4.4.0" - }, - "dependencies": { - "regexpu-core": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.4.0.tgz", - "integrity": "sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA==", - "dev": true, - "requires": { - "regenerate": "1.4.0", - "regenerate-unicode-properties": "7.0.0", - "regjsgen": "0.5.0", - "regjsparser": "0.6.0", - "unicode-match-property-ecmascript": "1.0.4", - "unicode-match-property-value-ecmascript": "1.0.2" - } - }, - "regjsgen": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", - "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", - "dev": true - }, - "regjsparser": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", - "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", - "dev": true, - "requires": { - "jsesc": "0.5.0" - } - } + "@babel/helper-regex": "7.4.4", + "regexpu-core": "4.5.4" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz", - "integrity": "sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz", + "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0" @@ -605,18 +571,18 @@ } }, "@babel/plugin-transform-for-of": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", - "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz", + "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-function-name": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz", - "integrity": "sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz", + "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==", "dev": true, "requires": { "@babel/helper-function-name": "7.1.0", @@ -632,35 +598,47 @@ "@babel/helper-plugin-utils": "7.0.0" } }, - "@babel/plugin-transform-modules-amd": { + "@babel/plugin-transform-member-expression-literals": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz", - "integrity": "sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", + "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "7.2.2", "@babel/helper-plugin-utils": "7.0.0" } }, + "@babel/plugin-transform-modules-amd": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz", + "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "7.4.4", + "@babel/helper-plugin-utils": "7.0.0", + "babel-plugin-dynamic-import-node": "2.3.0" + } + }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz", - "integrity": "sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz", + "integrity": "sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "7.2.2", + "@babel/helper-module-transforms": "7.4.4", "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-simple-access": "7.1.0" + "@babel/helper-simple-access": "7.1.0", + "babel-plugin-dynamic-import-node": "2.3.0" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.3.4.tgz", - "integrity": "sha512-VZ4+jlGOF36S7TjKs8g4ojp4MEI+ebCQZdswWb/T9I4X84j8OtFAyjXjt/M16iIm5RIZn0UMQgg/VgIwo/87vw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz", + "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-hoist-variables": "7.4.4", + "@babel/helper-plugin-utils": "7.0.0", + "babel-plugin-dynamic-import-node": "2.3.0" } }, "@babel/plugin-transform-modules-umd": { @@ -669,23 +647,23 @@ "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "7.2.2", + "@babel/helper-module-transforms": "7.4.4", "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.3.0.tgz", - "integrity": "sha512-NxIoNVhk9ZxS+9lSoAQ/LM0V2UEvARLttEHUrRDGKFaAxOYQcrkN/nLRE+BbbicCAvZPl7wMP0X60HsHE5DtQw==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz", + "integrity": "sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg==", "dev": true, "requires": { - "regexp-tree": "0.1.5" + "regexp-tree": "0.1.11" } }, "@babel/plugin-transform-new-target": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz", - "integrity": "sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz", + "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0" @@ -698,27 +676,45 @@ "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-replace-supers": "7.3.4" + "@babel/helper-replace-supers": "7.4.4" } }, "@babel/plugin-transform-parameters": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.3.3.tgz", - "integrity": "sha512-IrIP25VvXWu/VlBWTpsjGptpomtIkYrN/3aDp4UKm7xK6UxZY88kcJ1UwETbzHAlwN21MnNfwlar0u8y3KpiXw==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz", + "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", "dev": true, "requires": { - "@babel/helper-call-delegate": "7.1.0", + "@babel/helper-call-delegate": "7.4.4", "@babel/helper-get-function-arity": "7.0.0", "@babel/helper-plugin-utils": "7.0.0" } }, + "@babel/plugin-transform-property-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", + "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0" + } + }, "@babel/plugin-transform-regenerator": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.3.4.tgz", - "integrity": "sha512-hvJg8EReQvXT6G9H2MvNPXkv9zK36Vxa1+csAVTpE1J3j0zlHplw76uudEbJxgvqZzAq9Yh45FLD4pk5mKRFQA==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz", + "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==", + "dev": true, + "requires": { + "regenerator-transform": "0.14.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz", + "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==", "dev": true, "requires": { - "regenerator-transform": "0.13.4" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-shorthand-properties": { @@ -746,13 +742,13 @@ "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-regex": "7.0.0" + "@babel/helper-regex": "7.4.4" } }, "@babel/plugin-transform-template-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz", - "integrity": "sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz", + "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "7.0.0", @@ -769,123 +765,99 @@ } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz", - "integrity": "sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz", + "integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-regex": "7.0.0", - "regexpu-core": "4.4.0" - }, - "dependencies": { - "regexpu-core": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.4.0.tgz", - "integrity": "sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA==", - "dev": true, - "requires": { - "regenerate": "1.4.0", - "regenerate-unicode-properties": "7.0.0", - "regjsgen": "0.5.0", - "regjsparser": "0.6.0", - "unicode-match-property-ecmascript": "1.0.4", - "unicode-match-property-value-ecmascript": "1.0.2" - } - }, - "regjsgen": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", - "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", - "dev": true - }, - "regjsparser": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", - "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", - "dev": true, - "requires": { - "jsesc": "0.5.0" - } - } + "@babel/helper-regex": "7.4.4", + "regexpu-core": "4.5.4" } }, "@babel/preset-env": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.3.4.tgz", - "integrity": "sha512-2mwqfYMK8weA0g0uBKOt4FE3iEodiHy9/CW0b+nWXcbL+pGzLx8ESYc+j9IIxr6LTDHWKgPm71i9smo02bw+gA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.5.0.tgz", + "integrity": "sha512-/5oQ7cYg+6sH9Dt9yx5IiylnLPiUdyMHl5y+K0mKVNiW2wJ7FpU5bg8jKcT8PcCbxdYzfv6OuC63jLEtMuRSmQ==", "dev": true, "requires": { "@babel/helper-module-imports": "7.0.0", "@babel/helper-plugin-utils": "7.0.0", "@babel/plugin-proposal-async-generator-functions": "7.2.0", + "@babel/plugin-proposal-dynamic-import": "7.5.0", "@babel/plugin-proposal-json-strings": "7.2.0", - "@babel/plugin-proposal-object-rest-spread": "7.3.4", + "@babel/plugin-proposal-object-rest-spread": "7.5.1", "@babel/plugin-proposal-optional-catch-binding": "7.2.0", - "@babel/plugin-proposal-unicode-property-regex": "7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "7.4.4", "@babel/plugin-syntax-async-generators": "7.2.0", + "@babel/plugin-syntax-dynamic-import": "7.2.0", "@babel/plugin-syntax-json-strings": "7.2.0", "@babel/plugin-syntax-object-rest-spread": "7.2.0", "@babel/plugin-syntax-optional-catch-binding": "7.2.0", "@babel/plugin-transform-arrow-functions": "7.2.0", - "@babel/plugin-transform-async-to-generator": "7.3.4", + "@babel/plugin-transform-async-to-generator": "7.5.0", "@babel/plugin-transform-block-scoped-functions": "7.2.0", - "@babel/plugin-transform-block-scoping": "7.3.4", - "@babel/plugin-transform-classes": "7.3.4", + "@babel/plugin-transform-block-scoping": "7.4.4", + "@babel/plugin-transform-classes": "7.4.4", "@babel/plugin-transform-computed-properties": "7.2.0", - "@babel/plugin-transform-destructuring": "7.3.2", - "@babel/plugin-transform-dotall-regex": "7.2.0", - "@babel/plugin-transform-duplicate-keys": "7.2.0", + "@babel/plugin-transform-destructuring": "7.5.0", + "@babel/plugin-transform-dotall-regex": "7.4.4", + "@babel/plugin-transform-duplicate-keys": "7.5.0", "@babel/plugin-transform-exponentiation-operator": "7.2.0", - "@babel/plugin-transform-for-of": "7.2.0", - "@babel/plugin-transform-function-name": "7.2.0", + "@babel/plugin-transform-for-of": "7.4.4", + "@babel/plugin-transform-function-name": "7.4.4", "@babel/plugin-transform-literals": "7.2.0", - "@babel/plugin-transform-modules-amd": "7.2.0", - "@babel/plugin-transform-modules-commonjs": "7.2.0", - "@babel/plugin-transform-modules-systemjs": "7.3.4", + "@babel/plugin-transform-member-expression-literals": "7.2.0", + "@babel/plugin-transform-modules-amd": "7.5.0", + "@babel/plugin-transform-modules-commonjs": "7.5.0", + "@babel/plugin-transform-modules-systemjs": "7.5.0", "@babel/plugin-transform-modules-umd": "7.2.0", - "@babel/plugin-transform-named-capturing-groups-regex": "7.3.0", - "@babel/plugin-transform-new-target": "7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "7.4.5", + "@babel/plugin-transform-new-target": "7.4.4", "@babel/plugin-transform-object-super": "7.2.0", - "@babel/plugin-transform-parameters": "7.3.3", - "@babel/plugin-transform-regenerator": "7.3.4", + "@babel/plugin-transform-parameters": "7.4.4", + "@babel/plugin-transform-property-literals": "7.2.0", + "@babel/plugin-transform-regenerator": "7.4.5", + "@babel/plugin-transform-reserved-words": "7.2.0", "@babel/plugin-transform-shorthand-properties": "7.2.0", "@babel/plugin-transform-spread": "7.2.2", "@babel/plugin-transform-sticky-regex": "7.2.0", - "@babel/plugin-transform-template-literals": "7.2.0", + "@babel/plugin-transform-template-literals": "7.4.4", "@babel/plugin-transform-typeof-symbol": "7.2.0", - "@babel/plugin-transform-unicode-regex": "7.2.0", - "browserslist": "4.4.2", + "@babel/plugin-transform-unicode-regex": "7.4.4", + "@babel/types": "7.5.0", + "browserslist": "4.6.3", + "core-js-compat": "3.1.4", "invariant": "2.2.4", "js-levenshtein": "1.1.6", "semver": "5.5.0" } }, "@babel/template": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", - "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", + "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==", "dev": true, "requires": { "@babel/code-frame": "7.0.0", - "@babel/parser": "7.3.4", - "@babel/types": "7.3.4" + "@babel/parser": "7.5.0", + "@babel/types": "7.5.0" } }, "@babel/traverse": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.3.4.tgz", - "integrity": "sha512-TvTHKp6471OYEcE/91uWmhR6PrrYywQntCHSaZ8CM8Vmp+pjAusal4nGB2WCCQd0rvI7nOMKn9GnbcvTUz3/ZQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.5.0.tgz", + "integrity": "sha512-SnA9aLbyOCcnnbQEGwdfBggnc142h/rbqqsXcaATj2hZcegCl903pUD/lfpsNBlBSuWow/YDfRyJuWi2EPR5cg==", "dev": true, "requires": { "@babel/code-frame": "7.0.0", - "@babel/generator": "7.3.4", + "@babel/generator": "7.5.0", "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.3.4", - "@babel/types": "7.3.4", + "@babel/helper-split-export-declaration": "7.4.4", + "@babel/parser": "7.5.0", + "@babel/types": "7.5.0", "debug": "4.1.1", - "globals": "11.11.0", + "globals": "11.12.0", "lodash": "4.17.11" }, "dependencies": { @@ -895,7 +867,7 @@ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.1.1" + "ms": "2.1.2" } }, "lodash": { @@ -905,17 +877,17 @@ "dev": true }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } }, "@babel/types": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.4.tgz", - "integrity": "sha512-WEkp8MsLftM7O/ty580wAmZzN1nDmCACc5+jFzUt+GUFNNIi3LdRlueYz0YIlmJhlZx1QYDMZL5vdWCL0fNjFQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.0.tgz", + "integrity": "sha512-UFpDVqRABKsW01bvw7/wSUe56uy6RXM5+VJibVVAybDGxEW25jdwiFJEf7ASvSaC7sN7rbE/l3cLp2izav+CtQ==", "dev": true, "requires": { "esutils": "2.0.2", @@ -963,10 +935,31 @@ "integrity": "sha512-dEVG+ITnvqKGa4v040tP+n8LOKOqr94qjLva7bE5pnfm2KHJwsKz69J4KMxgWLznbpBJzy8vQfCayEk3vLZnZQ==", "dev": true }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "requires": { + "defer-to-connect": "1.0.2" + } + }, "@trodi/electron-splashscreen": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@trodi/electron-splashscreen/-/electron-splashscreen-0.3.1.tgz", - "integrity": "sha512-2NilGoVuVNBKoOwjnDp9MIsb5gPJZTxEK5Dg/Vd/TaOvgMwFl4aPAWky3+O3OH2SISUdmvQyWo0UmWMnjY+04A==" + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@trodi/electron-splashscreen/-/electron-splashscreen-0.3.4.tgz", + "integrity": "sha512-nYF+sfNIEUhZPyzYUOpcqyCZoDYmMfZq8jLhEolvQFSVwrJ7gAlPhhMxpuw/qpCzPErUkFLEtdGGvK1tGtLuvQ==" + }, + "@types/debug": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.4.tgz", + "integrity": "sha512-D9MyoQFI7iP5VdpEyPZyjjqIJ8Y8EDNQFIFVLOmeg1rI1xiHOChyUPMPRUVfqFCerxfE+yS3vMyj37F6IdtOoQ==", + "dev": true }, "@types/electron-is-dev": { "version": "0.3.0", @@ -974,16 +967,39 @@ "integrity": "sha512-Y7ur72wnUrPACXLnw8RyO+vPMOPTB1zGm0yJBPZ750+jTk2mEpC4EgoRSBpjrQW21v6p39ZPk7tPDMxIVyDMcg==", "dev": true }, + "@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", + "dev": true + }, + "@types/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", + "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "dev": true, + "requires": { + "@types/events": "3.0.0", + "@types/minimatch": "3.0.3", + "@types/node": "10.14.12" + } + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, "@types/node": { - "version": "10.7.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.7.1.tgz", - "integrity": "sha512-EGoI4ylB/lPOaqXqtzAyL8HcgOuCtH2hkEaLmkueOYufsTFWBn4VCvlCDC2HW8Q+9iF+QVC3sxjDKQYjHQeZ9w==", + "version": "10.14.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.12.tgz", + "integrity": "sha512-QcAKpaO6nhHLlxWBvpc4WeLrTvPqlHOvaj0s5GriKkA1zq+bsFBPpfYCvQhLqLgYlIko8A9YrPdaMHCo5mBcpg==", "dev": true }, "@types/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.1.tgz", - "integrity": "sha512-eqz8c/0kwNi/OEHQfvIuJVLTst3in0e7uTKeuY+WL/zfKn0xVujOTp42bS/vUUokhK5P2BppLd9JXMOMHcgbjA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", + "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==", "dev": true }, "@types/universal-analytics": { @@ -993,12 +1009,12 @@ "dev": true }, "@types/uuid": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.3.tgz", - "integrity": "sha512-5fRLCYhLtDb3hMWqQyH10qtF+Ud2JnNCXTCZ+9ktNdCcgslcuXkDTkFcJNk++MT29yDntDnlF1+jD+uVGumsbw==", + "version": "3.4.5", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.5.tgz", + "integrity": "sha512-MNL15wC3EKyw1VLF+RoVO4hJJdk9t/Hlv3rt1OL65Qvuadm4BYo6g9ZJQqoq7X8NBFSsQXgAujWciovh2lpVjA==", "dev": true, "requires": { - "@types/node": "10.7.1" + "@types/node": "10.14.12" } }, "@types/vue-color": { @@ -1011,18 +1027,18 @@ } }, "@types/vuelidate": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/@types/vuelidate/-/vuelidate-0.7.4.tgz", - "integrity": "sha512-fdDm9M3AlisXAvu+POuzQQlO4luxF0J9KHuxiPM+HuSshVizF+QN6u1/lhqNE0wq5L/Us8oJmTVWbx40iNsdwA==", + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@types/vuelidate/-/vuelidate-0.7.5.tgz", + "integrity": "sha512-Xz4znSLv5VAiTvxaCvF5mlXwzJiOWAV0BysCHk0cyXUK7LpMSnXQcYNSbPioa821O1Vcs4SBuM+VAuHbIhFdqw==", "dev": true, "requires": { "vue": "2.6.10" } }, "@types/webpack-env": { - "version": "1.13.8", - "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.13.8.tgz", - "integrity": "sha512-PWkdsHTGMQHbiZwCJrFRhookFnOBw5gboW7cLcx+QyTMpwCVEr3SxzVO3L52krDnuoq50S02IiMLGIt6AmhFug==", + "version": "1.13.9", + "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.13.9.tgz", + "integrity": "sha512-p8zp5xqkly3g4cCmo2mKOHI9+Z/kObmDj0BmjbDDJQlgDTiEGTbm17MEwTAusV6XceCy+bNw9q/ZHXHyKo3zkg==", "dev": true }, "@vue/component-compiler-utils": { @@ -1262,19 +1278,36 @@ "dev": true }, "accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", "dev": true, "requires": { - "mime-types": "2.1.19", - "negotiator": "0.6.1" + "mime-types": "2.1.24", + "negotiator": "0.6.2" + }, + "dependencies": { + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", + "dev": true + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "dev": true, + "requires": { + "mime-db": "1.40.0" + } + } } }, "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.2.0.tgz", + "integrity": "sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw==", "dev": true }, "acorn-dynamic-import": { @@ -1341,18 +1374,18 @@ "dev": true }, "ansi-align": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", - "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", + "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "3.1.0" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, "is-fullwidth-code-point": { @@ -1362,30 +1395,31 @@ "dev": true }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { + "emoji-regex": "7.0.3", "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "strip-ansi": "5.2.0" } }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "4.1.0" } } } }, "ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", "dev": true }, "ansi-html": { @@ -1420,52 +1454,52 @@ } }, "app-builder-bin": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-2.6.4.tgz", - "integrity": "sha512-wC9HYqiC1XqpunT/9y2VuF90KbarnIHL90Tv8BD3TITTgbVIdRTXAsvWvmaR/ImvAX0+l5Z3jZtXjdJ7Pw3bLQ==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-2.7.1.tgz", + "integrity": "sha512-ubIBeiL9XysjMW4HETBKxj3DC8ika6dGyC0vftPc0kZwGh1iXQ5bycsjoAqY/3t3BBEEIg0VruicvBaUl1pOSQ==", "dev": true }, "app-builder-lib": { - "version": "20.39.0", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-20.39.0.tgz", - "integrity": "sha512-lkxGyBrQwueYb3ViqHt5WjyzVVBQqXMXc7TF+JqkuuUWp5DF7SXAYZYd+rsR3gmCbdNxw4SPIEmWmm+I9LK2gw==", + "version": "20.44.4", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-20.44.4.tgz", + "integrity": "sha512-1K1xfrhyqDgnibwyuYMgvfwGilGLMF31YwOUJ8IXreyjRef9lUjWW+BZuBXqk4Uqd0C0EYPjhofgpuN0WoAQ+A==", "dev": true, "requires": { "7zip-bin": "4.1.0", - "app-builder-bin": "2.6.4", + "app-builder-bin": "2.7.1", "async-exit-hook": "2.0.1", - "bluebird-lst": "1.0.7", - "builder-util": "9.7.0", - "builder-util-runtime": "8.2.0", + "bluebird-lst": "1.0.9", + "builder-util": "10.1.2", + "builder-util-runtime": "8.2.5", "chromium-pickle-js": "0.2.0", "debug": "4.1.1", - "ejs": "2.6.1", + "ejs": "2.6.2", "electron-osx-sign": "0.4.11", - "electron-publish": "20.39.0", - "fs-extra-p": "7.0.1", + "electron-publish": "20.44.4", + "fs-extra-p": "8.1.0", "hosted-git-info": "2.7.1", "is-ci": "2.0.0", - "isbinaryfile": "4.0.0", - "js-yaml": "3.12.2", + "isbinaryfile": "4.0.1", + "js-yaml": "3.13.1", "lazy-val": "1.0.4", "minimatch": "3.0.4", "normalize-package-data": "2.5.0", "plist": "3.0.1", "read-config-file": "3.2.2", "sanitize-filename": "1.6.1", - "semver": "5.6.0", - "temp-file": "3.3.2" + "semver": "6.2.0", + "temp-file": "3.3.3" }, "dependencies": { "builder-util-runtime": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.2.0.tgz", - "integrity": "sha512-2Q3YrxANTrDs2NjSG5mbNGLPuUhPnSNYF9w5i4jWfHcNfQ3TgRrGXq4UfnkCiZVX8Axp4eAOSscaLLScKp/XLg==", + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.2.5.tgz", + "integrity": "sha512-YILT+YUlxrE3yNB6mDC1tF+Q24mr1LSYdjP5U861jbBeDZfvy1/VPDzW3boMVrDtzYnDnvkYrzLJnoh6TXA75w==", "dev": true, "requires": { - "bluebird-lst": "1.0.7", + "bluebird-lst": "1.0.9", "debug": "4.1.1", - "fs-extra-p": "7.0.1", + "fs-extra-p": "8.1.0", "sax": "1.2.4" } }, @@ -1475,7 +1509,7 @@ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.1.1" + "ms": "2.1.2" } }, "esprima": { @@ -1485,9 +1519,9 @@ "dev": true }, "js-yaml": { - "version": "3.12.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.2.tgz", - "integrity": "sha512-QHn/Lh/7HhZ/Twc7vJYQTkjuCa0kaCcDcjK5Zlk2rvnUpy7DxMJ23+Jc2dcyvltwQVg1nygAVlB2oRDFHoRS5Q==", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, "requires": { "argparse": "1.0.10", @@ -1501,9 +1535,9 @@ "dev": true }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "normalize-package-data": { @@ -1513,24 +1547,32 @@ "dev": true, "requires": { "hosted-git-info": "2.7.1", - "resolve": "1.10.0", - "semver": "5.6.0", + "resolve": "1.11.1", + "semver": "5.7.0", "validate-npm-package-license": "3.0.4" + }, + "dependencies": { + "semver": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "dev": true + } } }, "resolve": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", - "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", + "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", "dev": true, "requires": { "path-parse": "1.0.6" } }, "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz", + "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==", "dev": true } } @@ -1663,11 +1705,12 @@ } }, "assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dev": true, "requires": { + "object-assign": "4.1.1", "util": "0.10.3" }, "dependencies": { @@ -1752,7 +1795,7 @@ "dev": true, "requires": { "browserslist": "1.7.7", - "caniuse-db": "1.0.30000939", + "caniuse-db": "1.0.30000980", "normalize-range": "0.1.2", "num2fraction": "1.2.2", "postcss": "5.2.18", @@ -1771,8 +1814,8 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "1.0.30000939", - "electron-to-chromium": "1.3.113" + "caniuse-db": "1.0.30000980", + "electron-to-chromium": "1.3.188" } }, "chalk": { @@ -1814,6 +1857,12 @@ "supports-color": "3.2.3" } }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", @@ -1836,12 +1885,35 @@ "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" }, "axios": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", - "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz", + "integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==", "requires": { - "follow-redirects": "1.5.5", - "is-buffer": "1.1.6" + "follow-redirects": "1.5.10", + "is-buffer": "2.0.3" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "requires": { + "debug": "3.1.0" + } + }, + "is-buffer": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", + "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==" + } } }, "babel-code-frame": { @@ -1883,15 +1955,23 @@ } }, "babel-loader": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.5.tgz", - "integrity": "sha512-NTnHnVRd2JnRqPC0vW+iOQWU5pchDbYXsG2E6DMXEpMfUcQKclF9gmf3G3ZMhzG7IG9ji4coL0cm+FxeWxDpnw==", + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", + "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", "dev": true, "requires": { - "find-cache-dir": "2.0.0", + "find-cache-dir": "2.1.0", "loader-utils": "1.1.0", "mkdirp": "0.5.1", - "util.promisify": "1.0.0" + "pify": "4.0.1" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + } } }, "babel-plugin-component": { @@ -1926,6 +2006,15 @@ } } }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "dev": true, + "requires": { + "object.assign": "4.1.0" + } + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -2073,18 +2162,18 @@ "dev": true }, "bluebird-lst": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.7.tgz", - "integrity": "sha512-5ix04IbXVIZ6nSRM4aZnwQfk40Td0D57WAl8LfhnICF6XwT4efCZYh0veOHvfDmgpbqE4ju5L5XEAMIcAe13Kw==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz", + "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==", "dev": true, "requires": { - "bluebird": "3.5.3" + "bluebird": "3.5.5" }, "dependencies": { "bluebird": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", - "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==", + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", + "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", "dev": true } } @@ -2096,21 +2185,35 @@ "dev": true }, "body-parser": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", - "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", "dev": true, "requires": { - "bytes": "3.0.0", + "bytes": "3.1.0", "content-type": "1.0.4", "debug": "2.6.9", "depd": "1.1.2", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", "on-finished": "2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "1.6.16" + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "1.6.18" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + } } }, "bonjour": { @@ -2134,32 +2237,44 @@ "dev": true }, "boxen": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", - "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", + "integrity": "sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==", "dev": true, "requires": { - "ansi-align": "2.0.0", - "camelcase": "4.1.0", - "chalk": "2.4.1", - "cli-boxes": "1.0.0", - "string-width": "2.1.1", + "ansi-align": "3.0.0", + "camelcase": "5.3.1", + "chalk": "2.4.2", + "cli-boxes": "2.2.0", + "string-width": "3.1.0", "term-size": "1.2.0", + "type-fest": "0.3.1", "widest-line": "2.0.1" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", @@ -2167,22 +2282,23 @@ "dev": true }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { + "emoji-regex": "7.0.3", "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "strip-ansi": "5.2.0" } }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "4.1.0" } } } @@ -2294,7 +2410,7 @@ "browserify-rsa": "4.0.1", "create-hash": "1.2.0", "create-hmac": "1.1.7", - "elliptic": "6.4.1", + "elliptic": "6.5.0", "inherits": "2.0.3", "parse-asn1": "5.1.4" } @@ -2309,14 +2425,14 @@ } }, "browserslist": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.2.tgz", - "integrity": "sha512-ISS/AIAiHERJ3d45Fz0AVYKkgcy+F/eJHzKEvv1j0wwKGKD9T3BrwKr/5g45L+Y4XIK5PlTqefHciRFcfE1Jxg==", + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.3.tgz", + "integrity": "sha512-CNBqTCq22RKM8wKJNowcqihHJ4SkI8CGeK7KOR9tPboXUuS5Zk5lQgzzTbs4oxD8x+6HUshZUa2OyNI9lR93bQ==", "dev": true, "requires": { - "caniuse-lite": "1.0.30000939", - "electron-to-chromium": "1.3.113", - "node-releases": "1.1.8" + "caniuse-lite": "1.0.30000980", + "electron-to-chromium": "1.3.188", + "node-releases": "1.1.25" } }, "buffer": { @@ -2326,7 +2442,7 @@ "dev": true, "requires": { "base64-js": "1.3.0", - "ieee754": "1.1.12", + "ieee754": "1.1.13", "isarray": "1.0.0" }, "dependencies": { @@ -2378,34 +2494,33 @@ "dev": true }, "builder-util": { - "version": "9.7.0", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-9.7.0.tgz", - "integrity": "sha512-QA2RxbaSKvaFVNGcYsjmlkTn03tcdPxgIxHCOgw38G7NK91QWc76RBY9+T1sU8BLVEZJ4qNRWx+pd5rG9tTi+Q==", + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-10.1.2.tgz", + "integrity": "sha512-LQMh36Cg0r4ZfKqNlaUclndS/IXxZ3OdCgmXvw1vdP3QwYT2NkyE7LfMikAFIHpXOs6zsVH+iW+Fe/AX1jfFag==", "dev": true, "requires": { "7zip-bin": "4.1.0", - "app-builder-bin": "2.6.4", - "bluebird-lst": "1.0.7", - "builder-util-runtime": "8.2.0", + "@types/debug": "4.1.4", + "app-builder-bin": "2.7.1", + "bluebird-lst": "1.0.9", + "builder-util-runtime": "8.3.0", "chalk": "2.4.2", "debug": "4.1.1", - "fs-extra-p": "7.0.1", + "fs-extra-p": "8.1.0", "is-ci": "2.0.0", - "js-yaml": "3.12.2", - "source-map-support": "0.5.10", - "stat-mode": "0.2.2", - "temp-file": "3.3.2" + "js-yaml": "3.13.1", + "source-map-support": "0.5.12", + "stat-mode": "0.3.0", + "temp-file": "3.3.3" }, "dependencies": { "builder-util-runtime": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.2.0.tgz", - "integrity": "sha512-2Q3YrxANTrDs2NjSG5mbNGLPuUhPnSNYF9w5i4jWfHcNfQ3TgRrGXq4UfnkCiZVX8Axp4eAOSscaLLScKp/XLg==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.3.0.tgz", + "integrity": "sha512-CSOdsYqf4RXIHh1HANPbrZHlZ9JQJXSuDDloblZPcWQVN62inyYoTQuSmY3KrgefME2Sv3Kn2MxHvbGQHRf8Iw==", "dev": true, "requires": { - "bluebird-lst": "1.0.7", "debug": "4.1.1", - "fs-extra-p": "7.0.1", "sax": "1.2.4" } }, @@ -2426,7 +2541,7 @@ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.1.1" + "ms": "2.1.2" } }, "esprima": { @@ -2436,9 +2551,9 @@ "dev": true }, "js-yaml": { - "version": "3.12.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.2.tgz", - "integrity": "sha512-QHn/Lh/7HhZ/Twc7vJYQTkjuCa0kaCcDcjK5Zlk2rvnUpy7DxMJ23+Jc2dcyvltwQVg1nygAVlB2oRDFHoRS5Q==", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, "requires": { "argparse": "1.0.10", @@ -2446,9 +2561,9 @@ } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "source-map": { @@ -2458,9 +2573,9 @@ "dev": true }, "source-map-support": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", - "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==", + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", + "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", "dev": true, "requires": { "buffer-from": "1.1.1", @@ -2561,6 +2676,80 @@ "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", "dev": true }, + "cacache": { + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.3.tgz", + "integrity": "sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==", + "dev": true, + "requires": { + "bluebird": "3.5.5", + "chownr": "1.1.2", + "figgy-pudding": "3.5.1", + "glob": "7.1.4", + "graceful-fs": "4.2.0", + "lru-cache": "5.1.1", + "mississippi": "3.0.0", + "mkdirp": "0.5.1", + "move-concurrently": "1.0.1", + "promise-inflight": "1.0.1", + "rimraf": "2.6.3", + "ssri": "6.0.1", + "unique-filename": "1.1.1", + "y18n": "4.0.0" + }, + "dependencies": { + "bluebird": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", + "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", + "dev": true + }, + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", + "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==", + "dev": true + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "3.0.3" + } + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "7.1.4" + } + }, + "yallist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "dev": true + } + } + }, "cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", @@ -2578,6 +2767,54 @@ "unset-value": "1.0.0" } }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "requires": { + "clone-response": "1.0.2", + "get-stream": "5.1.0", + "http-cache-semantics": "4.0.3", + "keyv": "3.1.0", + "lowercase-keys": "2.0.0", + "normalize-url": "4.3.0", + "responselike": "1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "dev": true, + "requires": { + "pump": "3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + }, + "normalize-url": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.3.0.tgz", + "integrity": "sha512-0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + } + } + }, "callback-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/callback-stream/-/callback-stream-1.1.0.tgz", @@ -2620,7 +2857,7 @@ "dev": true, "requires": { "browserslist": "1.7.7", - "caniuse-db": "1.0.30000939", + "caniuse-db": "1.0.30000980", "lodash.memoize": "4.1.2", "lodash.uniq": "4.5.0" }, @@ -2631,28 +2868,22 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "1.0.30000939", - "electron-to-chromium": "1.3.113" + "caniuse-db": "1.0.30000980", + "electron-to-chromium": "1.3.188" } } } }, "caniuse-db": { - "version": "1.0.30000939", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000939.tgz", - "integrity": "sha512-nB5tLf3hOs+biXl1lhKjHRgNC0J1I7H52h/t1FP7qxARKKwpB0z+P/JewJLYAlxCBP/q7rxJzQzHHrQMl0viKg==", + "version": "1.0.30000980", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000980.tgz", + "integrity": "sha512-MyRMeniBxnVPL7gxgX4y//az9Rq1ZEr80tVxQHu82M7Lq6TpgSdwHLTzJztFMVmed23hGiln9+gIuH2xE+ka5g==", "dev": true }, "caniuse-lite": { - "version": "1.0.30000939", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000939.tgz", - "integrity": "sha512-oXB23ImDJOgQpGjRv1tCtzAvJr4/OvrHi5SO2vUgB0g0xpdZZoA/BxfImiWfdwoYdUTtQrPsXsvYU/dmCSM8gg==", - "dev": true - }, - "capture-stack-trace": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", - "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", + "version": "1.0.30000980", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000980.tgz", + "integrity": "sha512-as0PRtWHaX3gl2gpC7qA7bX88lr+qLacMMXm1QKLLQtBCwT/Ljbgrv5EXKMNBoeEX6yFZ4vIsBb4Nh+PEwW2Rw==", "dev": true }, "caseless": { @@ -2728,10 +2959,16 @@ "upath": "1.1.0" } }, + "chownr": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz", + "integrity": "sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==", + "dev": true + }, "chrome-trace-event": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", - "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", "dev": true, "requires": { "tslib": "1.9.3" @@ -2841,9 +3078,9 @@ } }, "cli-boxes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", - "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz", + "integrity": "sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==", "dev": true }, "clipboard": { @@ -2929,6 +3166,15 @@ } } }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "requires": { + "mimic-response": "1.0.1" + } + }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -3053,31 +3299,31 @@ "dev": true }, "compressible": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.16.tgz", - "integrity": "sha512-JQfEOdnI7dASwCuSPWIeVYwc/zMsu/+tRhoUvEfXz2gxOA2DNjmG5vhtFdBlhWPPGo+RdT9S3tgc/uH5qgDiiA==", + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", + "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", "dev": true, "requires": { - "mime-db": "1.38.0" + "mime-db": "1.40.0" }, "dependencies": { "mime-db": { - "version": "1.38.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz", - "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==", + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", "dev": true } } }, "compression": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", - "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "dev": true, "requires": { - "accepts": "1.3.5", + "accepts": "1.3.7", "bytes": "3.0.0", - "compressible": "2.0.16", + "compressible": "2.0.17", "debug": "2.6.9", "on-headers": "1.0.2", "safe-buffer": "5.1.2", @@ -3130,16 +3376,16 @@ } }, "configstore": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", - "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-4.0.0.tgz", + "integrity": "sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==", "dev": true, "requires": { "dot-prop": "4.2.0", "graceful-fs": "4.1.11", "make-dir": "1.3.0", "unique-string": "1.0.0", - "write-file-atomic": "2.4.2", + "write-file-atomic": "2.4.3", "xdg-basedir": "3.0.0" } }, @@ -3190,10 +3436,13 @@ "dev": true }, "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", - "dev": true + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } }, "content-type": { "version": "1.0.4", @@ -3202,15 +3451,18 @@ "dev": true }, "convert-source-map": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", - "dev": true + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } }, "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", "dev": true }, "cookie-signature": { @@ -3239,6 +3491,31 @@ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, + "core-js-compat": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.1.4.tgz", + "integrity": "sha512-Z5zbO9f1d0YrJdoaQhphVAnKPimX92D6z8lCGphH89MNRxlL1prI9ExJPqVwP0/kgkQCv8c4GJGT8X16yUncOg==", + "dev": true, + "requires": { + "browserslist": "4.6.3", + "core-js-pure": "3.1.4", + "semver": "6.2.0" + }, + "dependencies": { + "semver": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz", + "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==", + "dev": true + } + } + }, + "core-js-pure": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.1.4.tgz", + "integrity": "sha512-uJ4Z7iPNwiu1foygbcZYJsJs1jiXrTTCvxfLDXNhI/I+NHbSIEyr548y4fcsCEyWY0XgfAG/qqaunJ1SThHenA==", + "dev": true + }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -3251,16 +3528,7 @@ "dev": true, "requires": { "bn.js": "4.11.8", - "elliptic": "6.4.1" - } - }, - "create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", - "dev": true, - "requires": { - "capture-stack-trace": "1.0.1" + "elliptic": "6.5.0" } }, "create-hash": { @@ -3350,9 +3618,9 @@ "dev": true }, "css-hot-loader": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/css-hot-loader/-/css-hot-loader-1.4.3.tgz", - "integrity": "sha512-akm6gN57sCirABQuT+BZIHWf/UZGX0y4zMnrbZIKOPyTdpg2+teP9kQ3StBi4d+bZbdJWGW78VmsgtXBYw4ukA==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/css-hot-loader/-/css-hot-loader-1.4.4.tgz", + "integrity": "sha512-J/qXHz+r7FOT92qMIJfxUk0LC9fecQNZVr0MswQ4FOpKLyOCBjofVMfc6R268bh/5ktkTShrweMr0wWqerC92g==", "dev": true, "requires": { "loader-utils": "1.1.0", @@ -3361,20 +3629,22 @@ } }, "css-loader": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.0.tgz", - "integrity": "sha512-MoOu+CStsGrSt5K2OeZ89q3Snf+IkxRfAIt9aAKg4piioTrhtP1iEFPu+OVn3Ohz24FO6L+rw9UJxBILiSBw5Q==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.0.0.tgz", + "integrity": "sha512-WR6KZuCkFbnMhRrGPlkwAA7SSCtwqPwpyXJAPhotYkYsc0mKU9n/fu5wufy4jl2WhBw9Ia8gUQMIp/1w98DuPw==", "dev": true, "requires": { - "icss-utils": "4.1.0", + "camelcase": "5.3.1", + "cssesc": "3.0.0", + "icss-utils": "4.1.1", "loader-utils": "1.2.3", - "lodash": "4.17.11", - "postcss": "7.0.14", + "normalize-path": "3.0.0", + "postcss": "7.0.17", "postcss-modules-extract-imports": "2.0.0", - "postcss-modules-local-by-default": "2.0.5", - "postcss-modules-scope": "2.0.1", - "postcss-modules-values": "2.0.0", - "postcss-value-parser": "3.3.1", + "postcss-modules-local-by-default": "3.0.2", + "postcss-modules-scope": "2.1.0", + "postcss-modules-values": "3.0.0", + "postcss-value-parser": "4.0.0", "schema-utils": "1.0.0" }, "dependencies": { @@ -3384,6 +3654,34 @@ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, "json5": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", @@ -3404,11 +3702,37 @@ "json5": "1.0.1" } }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "postcss": { + "version": "7.0.17", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.17.tgz", + "integrity": "sha512-546ZowA+KZ3OasvQZHsbuEpysvwTZNGJv9EfyCQdsIDltPSWHAeTQ5fQy/Npi2ZDtLI3zs7Ps/p6wThErhm9fQ==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "source-map": "0.6.1", + "supports-color": "6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } } } }, @@ -3430,17 +3754,6 @@ "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", "dev": true }, - "css-selector-tokenizer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz", - "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==", - "dev": true, - "requires": { - "cssesc": "0.1.0", - "fastparse": "1.1.1", - "regexpu-core": "1.0.0" - } - }, "css-tree": { "version": "1.0.0-alpha.28", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.28.tgz", @@ -3464,9 +3777,9 @@ "dev": true }, "cssesc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", - "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true }, "cssnano": { @@ -3554,6 +3867,12 @@ "supports-color": "3.2.3" } }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", @@ -3630,6 +3949,15 @@ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "1.0.1" + } + }, "deep-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", @@ -3642,10 +3970,15 @@ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true }, + "deepmerge": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", + "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==" + }, "default-gateway": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.1.2.tgz", - "integrity": "sha512-xhJUAp3u02JsBGovj0V6B6uYhKCUOmiNc8xGmReUwGu77NmvcpxPVB0pCielxMFumO7CmXBG02XjM8HB97k8Hw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", "dev": true, "requires": { "execa": "1.0.0", @@ -3688,19 +4021,25 @@ } } }, + "defer-to-connect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.0.2.tgz", + "integrity": "sha512-k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw==", + "dev": true + }, "define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, "requires": { - "object-keys": "1.1.0" + "object-keys": "1.1.1" }, "dependencies": { "object-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz", - "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true } } @@ -3753,24 +4092,48 @@ "dev": true }, "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", "dev": true, "requires": { + "@types/glob": "7.1.1", "globby": "6.1.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.1", - "p-map": "1.2.0", - "pify": "3.0.0", - "rimraf": "2.6.2" + "is-path-cwd": "2.2.0", + "is-path-in-cwd": "2.1.0", + "p-map": "2.1.0", + "pify": "4.0.1", + "rimraf": "2.6.3" }, "dependencies": { + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "7.1.4" + } } } }, @@ -3842,17 +4205,17 @@ } }, "dmg-builder": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-6.6.0.tgz", - "integrity": "sha512-voodd3qdpdRiaciFZTfrFq/e82UPmUqSJq6R3Wc2Ql6XqXYLQcKo1h9rSZiivwls8PqE4Mk1IHTIOwmvJaq+MA==", + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-6.7.2.tgz", + "integrity": "sha512-xfYOwhHjOSOIqkk8A0h8zcaio/WyzrAWpMTu9hzV3Z5PI4tOG0Pq6a9Lh/mHr1r3bydif8R21qGvKU1Re9CpUg==", "dev": true, "requires": { - "app-builder-lib": "20.39.0", - "bluebird-lst": "1.0.7", - "builder-util": "9.7.0", - "fs-extra-p": "7.0.1", + "app-builder-lib": "20.44.4", + "bluebird-lst": "1.0.9", + "builder-util": "10.1.2", + "fs-extra-p": "8.1.0", "iconv-lite": "0.4.24", - "js-yaml": "3.12.2", + "js-yaml": "3.13.1", "parse-color": "1.0.0", "sanitize-filename": "1.6.1" }, @@ -3863,19 +4226,10 @@ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": "2.1.2" - } - }, "js-yaml": { - "version": "3.12.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.2.tgz", - "integrity": "sha512-QHn/Lh/7HhZ/Twc7vJYQTkjuCa0kaCcDcjK5Zlk2rvnUpy7DxMJ23+Jc2dcyvltwQVg1nygAVlB2oRDFHoRS5Q==", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, "requires": { "argparse": "1.0.10", @@ -4052,75 +4406,63 @@ "dev": true }, "ejs": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz", - "integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.2.tgz", + "integrity": "sha512-PcW2a0tyTuPHz3tWyYqtK6r1fZ3gp+3Sop8Ph+ZYN81Ob5rwmbHEzaqs10N3BEsaGTkh/ooniXK+WwszGlc2+Q==", "dev": true }, "electron": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/electron/-/electron-4.1.0.tgz", - "integrity": "sha512-q/yTi9dT5UEFK/s+vOQaHNkTHWiRK9kEBYVJt34nmWc9piW42hXT+nhKUEHHhccMPr3q18gG0iPZqeR+LG76ow==", + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/electron/-/electron-4.2.6.tgz", + "integrity": "sha512-qnaQXQcRKugXoQ7/4J4lYKzyU/RJMK/qrIGyC8KsgGG/IVVagolNPYy7QrsGpJ7YwpQHzNjwtDNaJ/UI7VTCyA==", "dev": true, "requires": { - "@types/node": "10.14.1", + "@types/node": "10.14.12", "electron-download": "4.1.1", "extract-zip": "1.6.7" }, "dependencies": { "@types/node": { - "version": "10.14.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.1.tgz", - "integrity": "sha512-Rymt08vh1GaW4vYB6QP61/5m/CFLGnFZP++bJpWbiNxceNa6RBipDmb413jvtSf/R1gg5a/jQVl2jY4XVRscEA==", + "version": "10.14.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.12.tgz", + "integrity": "sha512-QcAKpaO6nhHLlxWBvpc4WeLrTvPqlHOvaj0s5GriKkA1zq+bsFBPpfYCvQhLqLgYlIko8A9YrPdaMHCo5mBcpg==", "dev": true } } }, "electron-builder": { - "version": "20.39.0", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.39.0.tgz", - "integrity": "sha512-50SNZ/G+iE9MpTwxzeHt1Cqg8jZKeFLuJ9wubR4e/8VIzAe0ERUmwAQw+77UrlwXZD/PKKoYblc0Sr08Vm4exg==", + "version": "20.44.4", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.44.4.tgz", + "integrity": "sha512-H8zzP01albkKh2Ec1zc0A7RGriUkHb5M99NJskaYtgKtGATTAGH+r9OIWVk5Hk9c1dLMVudbqEeaSlygMF2asw==", "dev": true, "requires": { - "app-builder-lib": "20.39.0", - "bluebird-lst": "1.0.7", - "builder-util": "9.7.0", - "builder-util-runtime": "8.2.0", + "app-builder-lib": "20.44.4", + "bluebird-lst": "1.0.9", + "builder-util": "10.1.2", + "builder-util-runtime": "8.2.5", "chalk": "2.4.2", - "dmg-builder": "6.6.0", - "fs-extra-p": "7.0.1", + "dmg-builder": "6.7.2", + "fs-extra-p": "8.1.0", "is-ci": "2.0.0", "lazy-val": "1.0.4", "read-config-file": "3.2.2", "sanitize-filename": "1.6.1", - "update-notifier": "2.5.0", - "yargs": "13.2.1" + "update-notifier": "3.0.1", + "yargs": "13.2.4" }, "dependencies": { - "ansi-regex": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz", - "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==", - "dev": true - }, "builder-util-runtime": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.2.0.tgz", - "integrity": "sha512-2Q3YrxANTrDs2NjSG5mbNGLPuUhPnSNYF9w5i4jWfHcNfQ3TgRrGXq4UfnkCiZVX8Axp4eAOSscaLLScKp/XLg==", + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.2.5.tgz", + "integrity": "sha512-YILT+YUlxrE3yNB6mDC1tF+Q24mr1LSYdjP5U861jbBeDZfvy1/VPDzW3boMVrDtzYnDnvkYrzLJnoh6TXA75w==", "dev": true, "requires": { - "bluebird-lst": "1.0.7", + "bluebird-lst": "1.0.9", "debug": "4.1.1", - "fs-extra-p": "7.0.1", + "fs-extra-p": "8.1.0", "sax": "1.2.4" } }, - "camelcase": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", - "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", - "dev": true - }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -4138,30 +4480,9 @@ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.1.1" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "3.0.0" + "ms": "2.1.2" } }, - "get-caller-file": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.1.tgz", - "integrity": "sha512-SpOZHfz845AH0wJYVuZk2jWDqFmu7Xubsx+ldIpwzy5pDUpu7OJHK7QYNSA2NPlDSKQwM1GFaAkciOWjjW92Sg==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, "lazy-val": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.4.tgz", @@ -4169,65 +4490,10 @@ "dev": true }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true - }, - "string-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.0.0.tgz", - "integrity": "sha512-rr8CUxBbvOZDUvc5lNIJ+OC1nPVpz+Siw9VBtUjB9b6jZehZLFt0JMCZzShFHIsI8cbhm0EsNIfWJMFV3cu3Ew==", - "dev": true, - "requires": { - "emoji-regex": "7.0.3", - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "5.0.0" - } - }, - "strip-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz", - "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==", - "dev": true, - "requires": { - "ansi-regex": "4.0.0" - } - }, - "yargs": { - "version": "13.2.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.1.tgz", - "integrity": "sha512-HgY0xHGmPPakg6kEDufqxZuXVtvPZcipORC8O7S44iEnwsUmP+qnhReHc6d1dyeIZkrPmYFblh45Z2oeDn++fQ==", - "dev": true, - "requires": { - "cliui": "4.1.0", - "find-up": "3.0.0", - "get-caller-file": "2.0.1", - "os-locale": "3.1.0", - "require-directory": "2.1.1", - "require-main-filename": "2.0.0", - "set-blocking": "2.0.0", - "string-width": "3.0.0", - "which-module": "2.0.0", - "y18n": "4.0.0", - "yargs-parser": "13.0.0" - } - }, - "yargs-parser": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz", - "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==", - "dev": true, - "requires": { - "camelcase": "5.0.0", - "decamelize": "1.2.0" - } } } }, @@ -4266,13 +4532,13 @@ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "ms": "2.1.1" + "ms": "2.1.2" } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "path-exists": { @@ -4319,29 +4585,27 @@ } }, "electron-publish": { - "version": "20.39.0", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.39.0.tgz", - "integrity": "sha512-PWrGUru994CSmtsA56GnjyLB3EnIS3zyEmrW0hDXtwuctZLGMnrxjK/7WEORYkgTQ/GufD5b/8T05Q2Kr42nqQ==", + "version": "20.44.4", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.44.4.tgz", + "integrity": "sha512-50NzsKOnNqOpGJzPl04vMyitdguUvp15FWKWtu4KISsHfgdLMWGgxHGZwfMphc/vf364zXvPHsYQza3MASgaEQ==", "dev": true, "requires": { - "bluebird-lst": "1.0.7", - "builder-util": "9.7.0", - "builder-util-runtime": "8.2.0", + "bluebird-lst": "1.0.9", + "builder-util": "10.1.2", + "builder-util-runtime": "8.3.0", "chalk": "2.4.2", - "fs-extra-p": "7.0.1", + "fs-extra-p": "8.1.0", "lazy-val": "1.0.4", - "mime": "2.4.0" + "mime": "2.4.4" }, "dependencies": { "builder-util-runtime": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.2.0.tgz", - "integrity": "sha512-2Q3YrxANTrDs2NjSG5mbNGLPuUhPnSNYF9w5i4jWfHcNfQ3TgRrGXq4UfnkCiZVX8Axp4eAOSscaLLScKp/XLg==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.3.0.tgz", + "integrity": "sha512-CSOdsYqf4RXIHh1HANPbrZHlZ9JQJXSuDDloblZPcWQVN62inyYoTQuSmY3KrgefME2Sv3Kn2MxHvbGQHRf8Iw==", "dev": true, "requires": { - "bluebird-lst": "1.0.7", "debug": "4.1.1", - "fs-extra-p": "7.0.1", "sax": "1.2.4" } }, @@ -4362,7 +4626,7 @@ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.1.1" + "ms": "2.1.2" } }, "lazy-val": { @@ -4372,17 +4636,17 @@ "dev": true }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } }, "electron-to-chromium": { - "version": "1.3.113", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz", - "integrity": "sha512-De+lPAxEcpxvqPTyZAXELNpRZXABRxf+uL/rSykstQhzj/B0l1150G/ExIIxKc16lI89Hgz81J0BHAcbTqK49g==", + "version": "1.3.188", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.188.tgz", + "integrity": "sha512-tEQcughYIMj8WDMc59EGEtNxdGgwal/oLLTDw+NEqJRJwGflQvH3aiyiexrWeZOETP4/ko78PVr6gwNhdozvuQ==", "dev": true }, "electron-updater": { @@ -4489,42 +4753,81 @@ } }, "electron-webpack": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/electron-webpack/-/electron-webpack-2.6.2.tgz", - "integrity": "sha512-/bl9FIRrk5/zCP0MyRB10sqHCIFWsuAF0QvhkS0kb+b7ezRCeY6ru8c0vO5kVt76XZY72JsVYEwPqrarAz36Zg==", + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/electron-webpack/-/electron-webpack-2.7.2.tgz", + "integrity": "sha512-vIXWOcZJI9ePc4iW+OyJEtI+HqF1JIR+WTjjrzTQmk4cKtNUDHsZ27TjKvqjL2fJZC1Ug9Kr8FfaYz4I/6Hahw==", "dev": true, "requires": { - "@types/webpack-env": "1.13.8", + "@types/webpack-env": "1.13.9", "async-exit-hook": "2.0.1", - "bluebird-lst": "1.0.7", + "bluebird-lst": "1.0.9", "chalk": "2.4.2", "crocket": "0.9.11", - "css-hot-loader": "1.4.3", - "css-loader": "2.1.0", + "css-hot-loader": "1.4.4", + "css-loader": "3.0.0", "debug": "4.1.1", - "dotenv": "6.2.0", - "dotenv-expand": "4.2.0", + "dotenv": "8.0.0", + "dotenv-expand": "5.1.0", "electron-devtools-installer": "2.2.4", - "electron-webpack-js": "2.3.1", - "file-loader": "3.0.1", - "fs-extra-p": "7.0.1", + "electron-webpack-js": "2.3.2", + "file-loader": "4.0.0", + "fs-extra-p": "8.1.0", "html-loader": "1.0.0-alpha.0", "html-webpack-plugin": "3.2.0", - "lazy-val": "1.0.3", - "mini-css-extract-plugin": "0.5.0", + "lazy-val": "1.0.4", + "mini-css-extract-plugin": "0.7.0", "node-loader": "0.6.0", - "read-config-file": "3.2.2", - "semver": "5.6.0", - "source-map-support": "0.5.10", + "read-config-file": "3.3.0", + "semver": "6.2.0", + "source-map-support": "0.5.12", "style-loader": "0.23.1", - "terser-webpack-plugin": "1.2.3", - "url-loader": "1.1.2", - "webpack-cli": "3.2.3", - "webpack-dev-server": "3.2.1", + "terser-webpack-plugin": "1.3.0", + "url-loader": "2.0.1", + "webpack-cli": "3.3.5", + "webpack-dev-server": "3.7.2", "webpack-merge": "4.2.1", - "yargs": "12.0.5" + "yargs": "13.2.4" }, "dependencies": { + "ajv": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.1.tgz", + "integrity": "sha512-w1YQaVGNC6t2UCPjEawK/vo/dG8OOrVtUmhBT1uJJYxbl5kU2Tj3v6LGqBcsysN1yhuCStJCCA3GqdvKY8sqXQ==", + "dev": true, + "requires": { + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" + } + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "bluebird": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", + "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", + "dev": true + }, + "bluebird-lst": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz", + "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==", + "dev": true, + "requires": { + "bluebird": "3.5.5" + } + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -4536,25 +4839,158 @@ "supports-color": "5.4.0" } }, + "commander": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "dev": true + }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.1.1" + "ms": "2.1.2" + } + }, + "dotenv": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.0.0.tgz", + "integrity": "sha512-30xVGqjLjiUOArT4+M5q9sYdvuR4riM6yK9wMcas9Vbp6zZa+ocC9dp6QoftuhTPhFAiLK/0C5Ni2nou/Bk8lg==", + "dev": true + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "4.2.0", + "jsonfile": "4.0.0", + "universalify": "0.1.2" + } + }, + "fs-extra-p": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-8.1.0.tgz", + "integrity": "sha512-sCLpU5kk5CvrWZvFM9dUlqPgHrE02AEt6XYzF7kDscr5COc7DHfhNfODTXt0bkVNmt5DkvU2uJSYjorxY3bRKA==", + "dev": true, + "requires": { + "bluebird-lst": "1.0.9", + "fs-extra": "8.1.0" + } + }, + "graceful-fs": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", + "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==", + "dev": true + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "4.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json5": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", + "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "dev": true, + "requires": { + "minimist": "1.2.0" + } + }, + "lazy-val": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.4.tgz", + "integrity": "sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q==", + "dev": true + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "5.2.2", + "emojis-list": "2.1.0", + "json5": "1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "1.2.0" + } + } } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "read-config-file": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-3.3.0.tgz", + "integrity": "sha512-VzA1UVvNwEYQi9wGVa7Cji/E6YNr3VwbPXUcHed00cYoZsqg1kYcMnHgIx8nt0NQjFz/ai/8n8Xq0rmHD153Gg==", + "dev": true, + "requires": { + "ajv": "6.10.1", + "ajv-keywords": "3.4.1", + "bluebird-lst": "1.0.9", + "dotenv": "8.0.0", + "dotenv-expand": "5.1.0", + "fs-extra-p": "8.1.0", + "js-yaml": "3.13.1", + "json5": "2.1.0", + "lazy-val": "1.0.4" + } + }, "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz", + "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==", + "dev": true + }, + "serialize-javascript": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.7.0.tgz", + "integrity": "sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA==", "dev": true }, "source-map": { @@ -4564,65 +5000,105 @@ "dev": true }, "source-map-support": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", - "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==", + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", + "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", "dev": true, "requires": { "buffer-from": "1.1.1", "source-map": "0.6.1" } - } - } - }, - "electron-webpack-js": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/electron-webpack-js/-/electron-webpack-js-2.3.1.tgz", - "integrity": "sha512-RI+Vw/LwqOQMGGpdkm2sWtrdfqgFhXXul+RkMXJ+T9LJht38kg9qq9OtCievrGQyxfcpgB99EDr4GcKMVFShGA==", - "dev": true, - "requires": { - "@babel/core": "7.3.4", - "@babel/plugin-syntax-dynamic-import": "7.2.0", - "@babel/preset-env": "7.3.4", - "babel-loader": "8.0.5", - "babel-plugin-component": "1.1.1" - } - }, - "electron-webpack-ts": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/electron-webpack-ts/-/electron-webpack-ts-3.1.1.tgz", - "integrity": "sha512-tBU+s08gDVPGppWY2YrT0g7lMjthA2CoprgqXdb/M9lFaKM169M/Otw0YvmKrbzIAmsGx3nP0/ZvuaLlPqrlMQ==", - "dev": true, - "requires": { - "fork-ts-checker-webpack-plugin": "0.5.2", - "ts-loader": "5.3.3" + }, + "terser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.1.0.tgz", + "integrity": "sha512-O2MzVShUr/B+bxTh83ycpDR+Ocesg5qLR8kphWApRbWCkSnfKq1YPmydnVNfsJuJKHvzSgDNqFq4cr1O36oQ2A==", + "dev": true, + "requires": { + "commander": "2.20.0", + "source-map": "0.6.1", + "source-map-support": "0.5.12" + } + }, + "terser-webpack-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.3.0.tgz", + "integrity": "sha512-W2YWmxPjjkUcOWa4pBEv4OP4er1aeQJlSo2UhtCFQCuRXEHjOFscO8VyWHj9JLlA0RzQb8Y2/Ta78XZvT54uGg==", + "dev": true, + "requires": { + "cacache": "11.3.3", + "find-cache-dir": "2.1.0", + "is-wsl": "1.1.0", + "loader-utils": "1.2.3", + "schema-utils": "1.0.0", + "serialize-javascript": "1.7.0", + "source-map": "0.6.1", + "terser": "4.1.0", + "webpack-sources": "1.3.0", + "worker-farm": "1.7.0" + } + }, + "webpack-sources": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", + "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", + "dev": true, + "requires": { + "source-list-map": "2.0.0", + "source-map": "0.6.1" + } + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "0.1.7" + } + } + } + }, + "electron-webpack-js": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/electron-webpack-js/-/electron-webpack-js-2.3.2.tgz", + "integrity": "sha512-6xQLugQSOzbqxPpMjRLFo46vCYWOdTQmVZ5UrKspQVAYS9JvKCk/QZgVWSmgaAiQQL0NldhYQEDbFafLOuUoEw==", + "dev": true, + "requires": { + "@babel/core": "7.5.0", + "@babel/plugin-syntax-dynamic-import": "7.2.0", + "@babel/preset-env": "7.5.0", + "babel-loader": "8.0.6", + "babel-plugin-component": "1.1.1" + } + }, + "electron-webpack-ts": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/electron-webpack-ts/-/electron-webpack-ts-3.2.0.tgz", + "integrity": "sha512-m6+F9lv7EDHso/w4wk4M1o7soTnO1tOCGjq5VpYLNMJkcGFdi6tkGjwB03fyiLhHVtHhVadDSR0VcGIRvDok2Q==", + "dev": true, + "requires": { + "fork-ts-checker-webpack-plugin": "1.3.7", + "ts-loader": "6.0.4" } }, "electron-webpack-vue": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/electron-webpack-vue/-/electron-webpack-vue-2.2.3.tgz", - "integrity": "sha512-ajvSvAiPZyICOzOyLa+gG/ZkbOYYGSVoBGKmFvpb94GOiMgNGnCB9Vw64UeRnnuvRIhdzb7Fu6FkIvghqFXUEw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/electron-webpack-vue/-/electron-webpack-vue-2.3.0.tgz", + "integrity": "sha512-3F8G+1rJ8AaD38DTUN+VOcdGezLI4eRJxg+71a6LNxxU1D8WZFbQJem9bmGrjQ11/ErIifJs/V2QRnNyuJtg7g==", "dev": true, "requires": { - "vue-class-component": "6.3.2", + "vue-class-component": "7.1.0", "vue-html-loader": "1.2.4", "vue-loader": "15.7.0", "vue-style-loader": "4.1.2", "vue-template-compiler": "2.6.10" - }, - "dependencies": { - "vue-class-component": { - "version": "6.3.2", - "resolved": "https://registry.npmjs.org/vue-class-component/-/vue-class-component-6.3.2.tgz", - "integrity": "sha512-cH208IoM+jgZyEf/g7mnFyofwPDJTM/QvBNhYMjqGB8fCsRyTf68rH2ISw/G20tJv+5mIThQ3upKwoL4jLTr1A==", - "dev": true - } } }, "elliptic": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", - "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.0.tgz", + "integrity": "sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg==", "dev": true, "requires": { "bn.js": "4.11.8", @@ -4712,13 +5188,13 @@ "has": "1.0.3", "is-callable": "1.1.4", "is-regex": "1.0.4", - "object-keys": "1.1.0" + "object-keys": "1.1.1" }, "dependencies": { "object-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz", - "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true } } @@ -4757,9 +5233,9 @@ "dev": true }, "eslint-scope": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", - "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, "requires": { "esrecurse": "4.2.1", @@ -4800,9 +5276,9 @@ "dev": true }, "eventemitter3": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", - "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==", "dev": true }, "events": { @@ -4902,39 +5378,39 @@ } }, "express": { - "version": "4.16.4", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", - "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", "dev": true, "requires": { - "accepts": "1.3.5", + "accepts": "1.3.7", "array-flatten": "1.1.1", - "body-parser": "1.18.3", - "content-disposition": "0.5.2", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", "content-type": "1.0.4", - "cookie": "0.3.1", + "cookie": "0.4.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "1.1.2", "encodeurl": "1.0.2", "escape-html": "1.0.3", "etag": "1.8.1", - "finalhandler": "1.1.1", + "finalhandler": "1.1.2", "fresh": "0.5.2", "merge-descriptors": "1.0.1", "methods": "1.1.2", "on-finished": "2.3.0", - "parseurl": "1.3.2", + "parseurl": "1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.4", - "qs": "6.5.2", - "range-parser": "1.2.0", + "proxy-addr": "2.0.5", + "qs": "6.7.0", + "range-parser": "1.2.1", "safe-buffer": "5.1.2", - "send": "0.16.2", - "serve-static": "1.13.2", - "setprototypeof": "1.1.0", - "statuses": "1.4.0", - "type-is": "1.6.16", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "1.5.0", + "type-is": "1.6.18", "utils-merge": "1.0.1", "vary": "1.1.2" }, @@ -4944,6 +5420,12 @@ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true } } }, @@ -5066,9 +5548,9 @@ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" }, "fastparse": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", - "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", "dev": true }, "faye-websocket": { @@ -5096,13 +5578,41 @@ "dev": true }, "file-loader": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz", - "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.0.0.tgz", + "integrity": "sha512-roAbL6IdSGczwfXxhMi6Zq+jD4IfUpL0jWHD7fvmjdOVb7xBfdRUHe4LpBgO23VtVK5AW1OlWZo0p34Jvx3iWg==", "dev": true, "requires": { - "loader-utils": "1.1.0", + "loader-utils": "1.2.3", "schema-utils": "1.0.0" + }, + "dependencies": { + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "5.2.2", + "emojis-list": "2.1.0", + "json5": "1.0.1" + } + } } }, "fill-range": { @@ -5129,29 +5639,53 @@ } }, "finalhandler": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, "requires": { "debug": "2.6.9", "encodeurl": "1.0.2", "escape-html": "1.0.3", "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.4.0", + "parseurl": "1.3.3", + "statuses": "1.5.0", "unpipe": "1.0.0" } }, "find-cache-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz", - "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dev": true, "requires": { "commondir": "1.0.1", - "make-dir": "1.3.0", + "make-dir": "2.1.0", "pkg-dir": "3.0.0" + }, + "dependencies": { + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "4.0.1", + "semver": "5.7.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "semver": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "dev": true + } } }, "find-up": { @@ -5165,26 +5699,15 @@ } }, "findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", "dev": true, "requires": { "detect-file": "1.0.0", - "is-glob": "3.1.0", + "is-glob": "4.0.0", "micromatch": "3.1.10", "resolve-dir": "1.0.1" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "2.1.1" - } - } } }, "flatpickr": { @@ -5244,6 +5767,7 @@ "version": "1.5.5", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.5.tgz", "integrity": "sha512-GHjtHDlY/ehslqv0Gr5N0PUJppgg/q0rOBvX0na1s7y1A3LWxPqCYU76s3Z1bM4+UZB4QF0usaXLT5wFpof5PA==", + "dev": true, "requires": { "debug": "3.1.0" }, @@ -5252,6 +5776,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -5270,9 +5795,9 @@ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" }, "fork-ts-checker-webpack-plugin": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.5.2.tgz", - "integrity": "sha512-a5IG+xXyKnpruI0CP/anyRLAoxWtp3lzdG6flxicANnoSzz64b12dJ7ASAVRrI2OaWwZR2JyBaMHFQqInhWhIw==", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.3.7.tgz", + "integrity": "sha512-n55O6fIIZrPdWFSQ0WYBs6Umdx0EatCvCM7xstegycDucnDQJmyUO9tc1lvabTh8ojL6a9aN/Sh0iFXZxq4mfA==", "dev": true, "requires": { "babel-code-frame": "6.26.0", @@ -5280,7 +5805,17 @@ "chokidar": "2.0.4", "micromatch": "3.1.10", "minimatch": "3.0.4", - "tapable": "1.0.0" + "semver": "5.7.0", + "tapable": "1.0.0", + "worker-rpc": "0.1.1" + }, + "dependencies": { + "semver": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "dev": true + } } }, "form-data": { @@ -5368,34 +5903,31 @@ } }, "fs-extra-p": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-7.0.1.tgz", - "integrity": "sha512-yhd2OV0HnHt2oitlp+X9hl2ReX4X/7kQeL7/72qzPHTZj5eUPGzAKOvEglU02Fa1OeG2rSy/aKB4WGVaLiF8tw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-8.1.0.tgz", + "integrity": "sha512-sCLpU5kk5CvrWZvFM9dUlqPgHrE02AEt6XYzF7kDscr5COc7DHfhNfODTXt0bkVNmt5DkvU2uJSYjorxY3bRKA==", "dev": true, "requires": { - "bluebird-lst": "1.0.7", - "fs-extra": "7.0.1" + "bluebird-lst": "1.0.9", + "fs-extra": "8.1.0" }, "dependencies": { "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, "requires": { - "graceful-fs": "4.1.11", + "graceful-fs": "4.2.0", "jsonfile": "4.0.0", "universalify": "0.1.2" } }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11" - } + "graceful-fs": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", + "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==", + "dev": true } } }, @@ -6108,14 +6640,25 @@ } }, "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", "dev": true, "requires": { - "global-prefix": "1.0.2", - "is-windows": "1.0.2", - "resolve-dir": "1.0.1" + "global-prefix": "3.0.0" + }, + "dependencies": { + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "1.3.5", + "kind-of": "6.0.2", + "which": "1.3.1" + } + } } }, "global-prefix": { @@ -6132,9 +6675,9 @@ } }, "globals": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz", - "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==", + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true }, "globby": { @@ -6170,22 +6713,43 @@ } }, "got": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", "dev": true, "requires": { - "create-error-class": "3.0.2", + "@sindresorhus/is": "0.14.0", + "@szmarczak/http-timer": "1.1.2", + "cacheable-request": "6.1.0", + "decompress-response": "3.3.0", "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", + "get-stream": "4.1.0", "lowercase-keys": "1.0.1", - "safe-buffer": "5.1.2", - "timed-out": "4.0.1", - "unzip-response": "2.0.1", - "url-parse-lax": "1.0.0" + "mimic-response": "1.0.1", + "p-cancelable": "1.1.0", + "to-readable-stream": "1.0.0", + "url-parse-lax": "3.0.0" + }, + "dependencies": { + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "3.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + } } }, "graceful-fs": { @@ -6288,6 +6852,12 @@ } } }, + "has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", + "dev": true + }, "hash-base": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", @@ -6480,14 +7050,14 @@ "@posthtml/esm": "1.0.0", "htmlnano": "0.1.10", "loader-utils": "1.1.0", - "posthtml": "0.11.3", + "posthtml": "0.11.4", "schema-utils": "0.4.7" }, "dependencies": { "ajv": { - "version": "6.9.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.9.2.tgz", - "integrity": "sha512-4UFy0/LgDo7Oa/+wOAlj44tp9K78u38E5/359eSrqEp1Z5PdVfimCcs7SluXMP755RUQu6d2b4AvF0R1C9RZjg==", + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.1.tgz", + "integrity": "sha512-w1YQaVGNC6t2UCPjEawK/vo/dG8OOrVtUmhBT1uJJYxbl5kU2Tj3v6LGqBcsysN1yhuCStJCCA3GqdvKY8sqXQ==", "dev": true, "requires": { "fast-deep-equal": "2.0.1", @@ -6514,7 +7084,7 @@ "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", "dev": true, "requires": { - "ajv": "6.9.2", + "ajv": "6.10.1", "ajv-keywords": "3.2.0" } } @@ -6532,7 +7102,7 @@ "he": "1.2.0", "param-case": "2.1.1", "relateurl": "0.2.7", - "uglify-js": "3.4.9" + "uglify-js": "3.4.10" }, "dependencies": { "commander": { @@ -6586,10 +7156,10 @@ "requires": { "cssnano": "3.10.0", "object-assign": "4.1.1", - "posthtml": "0.11.3", - "posthtml-render": "1.1.4", - "svgo": "1.2.0", - "terser": "3.16.1" + "posthtml": "0.11.4", + "posthtml-render": "1.1.5", + "svgo": "1.2.2", + "terser": "3.17.0" } }, "htmlparser2": { @@ -6603,13 +7173,13 @@ "domutils": "1.7.0", "entities": "1.1.2", "inherits": "2.0.3", - "readable-stream": "3.2.0" + "readable-stream": "3.4.0" }, "dependencies": { "readable-stream": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.2.0.tgz", - "integrity": "sha512-RV20kLjdmpZuTF1INEb9IA3L68Nmi+Ri7ppZqo78wj//Pn62fCoJyV9zalccNzDD/OuJpMG4f+pfMl8+L6QdGw==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", "dev": true, "requires": { "inherits": "2.0.3", @@ -6628,6 +7198,12 @@ } } }, + "http-cache-semantics": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", + "integrity": "sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==", + "dev": true + }, "http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", @@ -6635,15 +7211,16 @@ "dev": true }, "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", "dev": true, "requires": { "depd": "1.1.2", "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": "1.4.0" + "setprototypeof": "1.1.1", + "statuses": "1.5.0", + "toidentifier": "1.0.0" } }, "http-parser-js": { @@ -6657,7 +7234,7 @@ "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", "dev": true, "requires": { - "eventemitter3": "3.1.0", + "eventemitter3": "3.1.2", "follow-redirects": "1.5.5", "requires-port": "1.0.0" } @@ -6699,33 +7276,27 @@ "dev": true }, "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { "safer-buffer": "2.1.2" } }, - "icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", - "dev": true - }, "icss-utils": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.0.tgz", - "integrity": "sha512-3DEun4VOeMvSczifM3F2cKQrDQ5Pj6WKhkOq6HD4QTnDUAq8MQRxy5TX6Sy1iY6WPBe4gQ3p5vTECjbIkglkkQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", "dev": true, "requires": { "postcss": "7.0.14" } }, "ieee754": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", - "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", "dev": true }, "iferr": { @@ -6777,12 +7348,6 @@ "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", "dev": true }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -6804,21 +7369,13 @@ "dev": true }, "internal-ip": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.2.0.tgz", - "integrity": "sha512-ZY8Rk+hlvFeuMmG5uH1MXhhdeMntmIaxaInvAmzMq/SHV8rv4Kh+6GiQNNDQd0wZFrcO+FiTBo8lui/osKOyJw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", "dev": true, "requires": { - "default-gateway": "4.1.2", + "default-gateway": "4.2.0", "ipaddr.js": "1.9.0" - }, - "dependencies": { - "ipaddr.js": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", - "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", - "dev": true - } } }, "interpret": { @@ -6855,9 +7412,9 @@ "dev": true }, "ipaddr.js": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", - "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", "dev": true }, "is-absolute": { @@ -6913,7 +7470,8 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, "is-builtin-module": { "version": "1.0.0", @@ -7047,9 +7605,9 @@ "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=" }, "is-npm": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", - "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-3.0.0.tgz", + "integrity": "sha512-wsigDr1Kkschp2opC4G3yA6r9EgVA6NjRpWzIi9axXqeIaAATPRJc4uLujXe3Nd9uO8KoDyA4MD6aZSeXTADhA==", "dev": true }, "is-number": { @@ -7079,18 +7637,29 @@ "dev": true }, "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", "dev": true }, "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", "dev": true, "requires": { - "is-path-inside": "1.0.1" + "is-path-inside": "2.1.0" + }, + "dependencies": { + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "requires": { + "path-is-inside": "1.0.2" + } + } } }, "is-path-inside": { @@ -7117,12 +7686,6 @@ "isobject": "3.0.1" } }, - "is-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", - "dev": true - }, "is-regex": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", @@ -7140,12 +7703,6 @@ "is-unc-path": "1.0.0" } }, - "is-retry-allowed": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", - "dev": true - }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -7209,15 +7766,21 @@ "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", "dev": true }, + "is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", + "dev": true + }, "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" }, "isbinaryfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.0.tgz", - "integrity": "sha512-RBtmso6l2mCaEsUvXngMTIjg3oheXo0MgYzzfT6sk44RYggPnm9fT+cQJAmzRnJIxPHXg9FZglqDJGW28dvcqA==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.1.tgz", + "integrity": "sha512-bvJxbNWm72dy/1+qeBm9F8wUM4siDnlzid7NN5Ib4nQcc0tNIx/YWgEih1ZRHXr8xVbpGk1ccLlA9gOSlyx3gw==", "dev": true }, "isexe": { @@ -7272,9 +7835,15 @@ "optional": true }, "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", "dev": true }, "json-parse-better-errors": { @@ -7342,6 +7911,15 @@ "verror": "1.10.0" } }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, "killable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", @@ -7355,12 +7933,12 @@ "dev": true }, "latest-version": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", - "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", "dev": true, "requires": { - "package-json": "4.0.1" + "package-json": "6.4.0" } }, "lazy-cache": { @@ -7506,9 +8084,9 @@ "dev": true }, "loglevel": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz", - "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=", + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.3.tgz", + "integrity": "sha512-LoEDv5pgpvWgPF4kNYuIp0qqSJVWak/dML0RY74xlzMZiT9w77teNAwKYKWBTYjlokMirg+o3jBwp+vlLrcfAA==", "dev": true }, "longest": { @@ -7759,6 +8337,12 @@ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", "dev": true }, + "microevent.ts": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", + "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==", + "dev": true + }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -7791,9 +8375,9 @@ } }, "mime": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz", - "integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", "dev": true }, "mime-db": { @@ -7815,13 +8399,20 @@ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, - "mini-css-extract-plugin": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.5.0.tgz", - "integrity": "sha512-IuaLjruM0vMKhUUT51fQdQzBYTX49dLj8w68ALEAe2A4iYNpIC4eMac67mt3NzycvjOlf07/kYxJDc0RTl1Wqw==", + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.7.0.tgz", + "integrity": "sha512-RQIw6+7utTYn8DBGsf/LpRgZCJMpZt+kuawJ/fju0KiOL6nAaTBNmCJwS7HtwSCXfS47gCkmtBFS7HdsquhdxQ==", "dev": true, "requires": { "loader-utils": "1.1.0", + "normalize-url": "1.9.1", "schema-utils": "1.0.0", "webpack-sources": "1.1.0" } @@ -7851,6 +8442,82 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "1.6.2", + "duplexify": "3.6.0", + "end-of-stream": "1.4.1", + "flush-write-stream": "1.0.3", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "3.0.0", + "pumpify": "1.5.1", + "stream-each": "1.2.3", + "through2": "2.0.5" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "2.3.6", + "xtend": "4.0.1" + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + }, "mixin-deep": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", @@ -8056,9 +8723,9 @@ } }, "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", "dev": true }, "neo-async": { @@ -8117,12 +8784,12 @@ } }, "node-libs-browser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.0.tgz", - "integrity": "sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "dev": true, "requires": { - "assert": "1.4.1", + "assert": "1.5.0", "browserify-zlib": "0.2.0", "buffer": "4.9.1", "console-browserify": "1.1.0", @@ -8132,7 +8799,7 @@ "events": "3.0.0", "https-browserify": "1.0.0", "os-browserify": "0.3.0", - "path-browserify": "0.0.0", + "path-browserify": "0.0.1", "process": "0.11.10", "punycode": "1.4.1", "querystring-es3": "0.2.1", @@ -8144,7 +8811,7 @@ "tty-browserify": "0.0.0", "url": "0.11.0", "util": "0.11.1", - "vm-browserify": "0.0.4" + "vm-browserify": "1.1.0" }, "dependencies": { "isarray": { @@ -8197,9 +8864,9 @@ "dev": true }, "node-releases": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.8.tgz", - "integrity": "sha512-gQm+K9mGCiT/NXHy+V/ZZS1N/LOaGGqRAAJJs3X9Ah1g+CIbRcBgNyoNYQ+SEtcyAtB9KqDruu+fF7nWjsqRaA==", + "version": "1.1.25", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.25.tgz", + "integrity": "sha512-fI5BXuk83lKEoZDdH3gRhtsNgh05/wZacuXkgbiYkceE7+QIMXOg98n9ZV7mz27B+kFHnqHcUpscZZlGRSmTpQ==", "dev": true, "requires": { "semver": "5.5.0" @@ -8484,6 +9151,26 @@ "isobject": "3.0.1" } }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "1.1.3", + "function-bind": "1.1.1", + "has-symbols": "1.0.0", + "object-keys": "1.1.1" + }, + "dependencies": { + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + } + } + }, "object.getownpropertydescriptors": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", @@ -8545,9 +9232,9 @@ } }, "opn": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz", - "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", "dev": true, "requires": { "is-wsl": "1.1.0" @@ -8688,6 +9375,12 @@ "os-tmpdir": "1.0.2" } }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true + }, "p-defer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", @@ -8725,11 +9418,20 @@ } }, "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", "dev": true }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "requires": { + "retry": "0.12.0" + } + }, "p-try": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", @@ -8737,15 +9439,23 @@ "dev": true }, "package-json": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", - "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.4.0.tgz", + "integrity": "sha512-bd1T8OBG7hcvMd9c/udgv6u5v9wISP3Oyl9Cm7Weop8EFwrtcQDnS2sb6zhwqus2WslSr5wSTIPiTTpxxmPm7Q==", "dev": true, "requires": { - "got": "6.7.1", - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0", - "semver": "5.5.0" + "got": "9.6.0", + "registry-auth-token": "3.4.0", + "registry-url": "5.1.0", + "semver": "6.2.0" + }, + "dependencies": { + "semver": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz", + "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==", + "dev": true + } } }, "pako": { @@ -8853,9 +9563,9 @@ "dev": true }, "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true }, "pascal-case": { @@ -8875,9 +9585,9 @@ "dev": true }, "path-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", "dev": true }, "path-case": { @@ -8967,6 +9677,12 @@ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, + "picomatch": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz", + "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==", + "dev": true + }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -9209,6 +9925,12 @@ "supports-color": "3.2.3" } }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", @@ -9275,6 +9997,12 @@ "supports-color": "3.2.3" } }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", @@ -9733,6 +10461,12 @@ "supports-color": "3.2.3" } }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", @@ -9819,7 +10553,7 @@ "caniuse-api": "1.6.1", "postcss": "5.2.18", "postcss-selector-parser": "2.2.3", - "vendors": "1.0.2" + "vendors": "1.0.3" }, "dependencies": { "ansi-styles": { @@ -9834,8 +10568,8 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "1.0.30000939", - "electron-to-chromium": "1.3.113" + "caniuse-db": "1.0.30000980", + "electron-to-chromium": "1.3.188" } }, "chalk": { @@ -9877,6 +10611,17 @@ "supports-color": "3.2.3" } }, + "postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "dev": true, + "requires": { + "flatten": "1.0.2", + "indexes-of": "1.0.1", + "uniq": "1.0.1" + } + }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", @@ -9950,6 +10695,12 @@ "supports-color": "3.2.3" } }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", @@ -10016,6 +10767,12 @@ "supports-color": "3.2.3" } }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", @@ -10084,6 +10841,12 @@ "supports-color": "3.2.3" } }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", @@ -10152,6 +10915,17 @@ "supports-color": "3.2.3" } }, + "postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "dev": true, + "requires": { + "flatten": "1.0.2", + "indexes-of": "1.0.1", + "uniq": "1.0.1" + } + }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", @@ -10173,33 +10947,84 @@ } }, "postcss-modules-local-by-default": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.5.tgz", - "integrity": "sha512-iFgxlCAVLno5wIJq+4hyuOmc4VjZEZxzpdeuZcBytLNWEK5Bx2oRF9PPcAz5TALbaFvrZm8sJYtJ3hV+tMSEIg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz", + "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==", "dev": true, "requires": { - "css-selector-tokenizer": "0.7.1", - "postcss": "7.0.14", - "postcss-value-parser": "3.3.1" + "icss-utils": "4.1.1", + "postcss": "7.0.17", + "postcss-selector-parser": "6.0.2", + "postcss-value-parser": "4.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.17", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.17.tgz", + "integrity": "sha512-546ZowA+KZ3OasvQZHsbuEpysvwTZNGJv9EfyCQdsIDltPSWHAeTQ5fQy/Npi2ZDtLI3zs7Ps/p6wThErhm9fQ==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "source-map": "0.6.1", + "supports-color": "6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } } }, "postcss-modules-scope": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.0.1.tgz", - "integrity": "sha512-7+6k9c3/AuZ5c596LJx9n923A/j3nF3ormewYBF1RrIQvjvjXe1xE8V8A1KFyFwXbvnshT6FBZFX0k/F1igneg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz", + "integrity": "sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A==", "dev": true, "requires": { - "css-selector-tokenizer": "0.7.1", - "postcss": "7.0.14" + "postcss": "7.0.14", + "postcss-selector-parser": "6.0.2" } }, "postcss-modules-values": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz", - "integrity": "sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", + "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", "dev": true, "requires": { - "icss-replace-symbols": "1.1.0", + "icss-utils": "4.1.1", "postcss": "7.0.14" } }, @@ -10325,6 +11150,12 @@ "supports-color": "3.2.3" } }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", @@ -10391,6 +11222,12 @@ "supports-color": "3.2.3" } }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", @@ -10457,6 +11294,12 @@ "supports-color": "3.2.3" } }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", @@ -10589,6 +11432,12 @@ "supports-color": "3.2.3" } }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", @@ -10601,12 +11450,12 @@ } }, "postcss-selector-parser": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", - "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", "dev": true, "requires": { - "flatten": "1.0.2", + "cssesc": "3.0.0", "indexes-of": "1.0.1", "uniq": "1.0.1" } @@ -10668,6 +11517,12 @@ "supports-color": "3.2.3" } }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", @@ -10762,9 +11617,9 @@ } }, "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.0.tgz", + "integrity": "sha512-ESPktioptiSUchCKgggAkzdmkgzKfmp0EU8jXH+5kbIUB+unr0Y4CY9SRMvibuvYUBjNh1ACLbxqYNpdTQOteQ==", "dev": true }, "postcss-zindex": { @@ -10835,48 +11690,29 @@ } }, "posthtml": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.11.3.tgz", - "integrity": "sha512-quMHnDckt2DQ9lRi6bYLnuyBDnVzK+McHa8+ar4kTdYbWEo/92hREOu3h70ZirudOOp/my2b3r0m5YtxY52yrA==", + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.11.4.tgz", + "integrity": "sha512-ezlzBkoPoRgh0jkmT1dsM8eT+lr2azyZ546kbda8oHnVnzvyaB3Ywo6UxUz8wPSOkFAAflCxZJhvvpQH1F6qcA==", "dev": true, "requires": { - "object-assign": "4.1.1", - "posthtml-parser": "0.3.3", - "posthtml-render": "1.1.4" + "posthtml-parser": "0.4.1", + "posthtml-render": "1.1.5" } }, "posthtml-parser": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.3.3.tgz", - "integrity": "sha512-H/Z/yXGwl49A7hYQLV1iQ3h87NE0aZ/PMZhFwhw3lKeCAN+Ti4idrHvVvh4/GX10I7u77aQw+QB4vV5/Lzvv5A==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.4.1.tgz", + "integrity": "sha512-h7vXIQ21Ikz2w5wPClPakNP6mJeJCK6BT0GpqnQrNNABdR7/TchNlFyryL1Bz6Ww53YWCKkr6tdZuHlxY1AVdQ==", "dev": true, "requires": { "htmlparser2": "3.10.1", - "isobject": "2.1.0", "object-assign": "4.1.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } } }, "posthtml-render": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.1.4.tgz", - "integrity": "sha512-jL6eFIzoN3xUEvbo33OAkSDE2VIKU4JQ1wENOows1DpfnrdapR/K3Q1/fB43Mq7wQlcSgRm23nFrvoioufM7eA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.1.5.tgz", + "integrity": "sha512-yvt54j0zCBHQVEFAuR+yHld8CZrCa/E1Z/OcFNCV1IEWTLVxT8O7nYnM4IIw1CD4r8kaRd3lc42+0lgCKgm87w==", "dev": true }, "prepend-http": { @@ -10945,13 +11781,13 @@ "dev": true }, "proxy-addr": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", - "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", "dev": true, "requires": { "forwarded": "0.1.2", - "ipaddr.js": "1.8.0" + "ipaddr.js": "1.9.0" } }, "prr": { @@ -11067,21 +11903,29 @@ } }, "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true }, "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", "dev": true, "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + } } }, "rc": { @@ -11102,21 +11946,21 @@ "integrity": "sha512-PuFpMgZF01VB0ydH1dfitAxCP/fh+qnfbA9cYNIPoxPbz0SMngsrafCtaHDWfER7MwlDz4fmrNBhPkakxxFpTg==", "dev": true, "requires": { - "ajv": "6.9.2", - "ajv-keywords": "3.4.0", - "bluebird-lst": "1.0.7", + "ajv": "6.10.1", + "ajv-keywords": "3.4.1", + "bluebird-lst": "1.0.9", "dotenv": "6.2.0", "dotenv-expand": "4.2.0", "fs-extra-p": "7.0.1", - "js-yaml": "3.12.2", + "js-yaml": "3.13.1", "json5": "2.1.0", "lazy-val": "1.0.4" }, "dependencies": { "ajv": { - "version": "6.9.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.9.2.tgz", - "integrity": "sha512-4UFy0/LgDo7Oa/+wOAlj44tp9K78u38E5/359eSrqEp1Z5PdVfimCcs7SluXMP755RUQu6d2b4AvF0R1C9RZjg==", + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.1.tgz", + "integrity": "sha512-w1YQaVGNC6t2UCPjEawK/vo/dG8OOrVtUmhBT1uJJYxbl5kU2Tj3v6LGqBcsysN1yhuCStJCCA3GqdvKY8sqXQ==", "dev": true, "requires": { "fast-deep-equal": "2.0.1", @@ -11126,9 +11970,9 @@ } }, "ajv-keywords": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz", - "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", "dev": true }, "esprima": { @@ -11143,15 +11987,36 @@ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", "dev": true }, - "js-yaml": { - "version": "3.12.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.2.tgz", - "integrity": "sha512-QHn/Lh/7HhZ/Twc7vJYQTkjuCa0kaCcDcjK5Zlk2rvnUpy7DxMJ23+Jc2dcyvltwQVg1nygAVlB2oRDFHoRS5Q==", + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "4.0.1" - } + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.2" + } + }, + "fs-extra-p": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-7.0.1.tgz", + "integrity": "sha512-yhd2OV0HnHt2oitlp+X9hl2ReX4X/7kQeL7/72qzPHTZj5eUPGzAKOvEglU02Fa1OeG2rSy/aKB4WGVaLiF8tw==", + "dev": true, + "requires": { + "bluebird-lst": "1.0.9", + "fs-extra": "7.0.1" + } + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "4.0.1" + } }, "json-schema-traverse": { "version": "0.4.1", @@ -11325,18 +12190,18 @@ "dev": true }, "regenerate-unicode-properties": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz", - "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", + "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", "dev": true, "requires": { "regenerate": "1.4.0" } }, "regenerator-transform": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.4.tgz", - "integrity": "sha512-T0QMBjK3J0MtxjPmdIMXm72Wvj2Abb0Bd4HADdfijwMdoIsyQZ6fWC7kDFhk2YinBBEMZDL7Y7wh0J1sGx3S4A==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.0.tgz", + "integrity": "sha512-rtOelq4Cawlbmq9xuMR5gdFmv7ku/sFoB7sRiywx7aq53bc52b4j6zvH7Te1Vt/X2YveDKnCGUbioieU7FEL3w==", "dev": true, "requires": { "private": "0.1.8" @@ -11353,26 +12218,29 @@ } }, "regexp-tree": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.5.tgz", - "integrity": "sha512-nUmxvfJyAODw+0B13hj8CFVAxhe7fDEAgJgaotBu3nnR+IgGgZq59YedJP5VYTlkEfqjuK6TuRpnymKdatLZfQ==", + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.11.tgz", + "integrity": "sha512-7/l/DgapVVDzZobwMCCgMlqiqyLFJ0cduo/j+3BcDJIB+yJdsYCfKuI3l/04NV+H/rfNRdPIDbXNZHM9XvQatg==", "dev": true }, "regexpu-core": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", - "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.4.tgz", + "integrity": "sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ==", "dev": true, "requires": { "regenerate": "1.4.0", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" + "regenerate-unicode-properties": "8.1.0", + "regjsgen": "0.5.0", + "regjsparser": "0.6.0", + "unicode-match-property-ecmascript": "1.0.4", + "unicode-match-property-value-ecmascript": "1.1.0" } }, "registry-auth-token": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", - "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", + "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", "dev": true, "requires": { "rc": "1.2.8", @@ -11380,27 +12248,35 @@ } }, "registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", "dev": true, "requires": { "rc": "1.2.8" } }, "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", + "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", "dev": true }, "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", "dev": true, "requires": { "jsesc": "0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } } }, "reinterval": { @@ -11547,6 +12423,19 @@ "requires": { "expand-tilde": "2.0.2", "global-modules": "1.0.0" + }, + "dependencies": { + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "1.0.2", + "is-windows": "1.0.2", + "resolve-dir": "1.0.1" + } + } } }, "resolve-from": { @@ -11561,12 +12450,27 @@ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "requires": { + "lowercase-keys": "1.0.1" + } + }, "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, "right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", @@ -11748,15 +12652,15 @@ "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, "requires": { - "ajv": "6.9.2", + "ajv": "6.10.1", "ajv-errors": "1.0.0", "ajv-keywords": "3.2.0" }, "dependencies": { "ajv": { - "version": "6.9.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.9.2.tgz", - "integrity": "sha512-4UFy0/LgDo7Oa/+wOAlj44tp9K78u38E5/359eSrqEp1Z5PdVfimCcs7SluXMP755RUQu6d2b4AvF0R1C9RZjg==", + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.1.tgz", + "integrity": "sha512-w1YQaVGNC6t2UCPjEawK/vo/dG8OOrVtUmhBT1uJJYxbl5kU2Tj3v6LGqBcsysN1yhuCStJCCA3GqdvKY8sqXQ==", "dev": true, "requires": { "fast-deep-equal": "2.0.1", @@ -11836,9 +12740,9 @@ } }, "send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", "dev": true, "requires": { "debug": "2.6.9", @@ -11848,18 +12752,24 @@ "escape-html": "1.0.3", "etag": "1.8.1", "fresh": "0.5.2", - "http-errors": "1.6.3", - "mime": "1.4.1", - "ms": "2.0.0", + "http-errors": "1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.4.0" + "range-parser": "1.2.1", + "statuses": "1.5.0" }, "dependencies": { "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true } } @@ -11875,9 +12785,9 @@ } }, "serialize-javascript": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz", - "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.7.0.tgz", + "integrity": "sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA==", "dev": true }, "serve-index": { @@ -11886,25 +12796,45 @@ "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", "dev": true, "requires": { - "accepts": "1.3.5", + "accepts": "1.3.7", "batch": "0.6.1", "debug": "2.6.9", "escape-html": "1.0.3", "http-errors": "1.6.3", "mime-types": "2.1.19", - "parseurl": "1.3.2" + "parseurl": "1.3.3" + }, + "dependencies": { + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": "1.5.0" + } + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + } } }, "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", "dev": true, "requires": { "encodeurl": "1.0.2", "escape-html": "1.0.3", - "parseurl": "1.3.2", - "send": "0.16.2" + "parseurl": "1.3.3", + "send": "0.17.1" } }, "set-blocking": { @@ -11949,9 +12879,9 @@ "dev": true }, "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", "dev": true }, "sha.js": { @@ -12024,11 +12954,11 @@ "integrity": "sha512-xaHXX8qHGxIZ3a1qfBICiaEcoLbhStpmkFMrfciL+lU/g+UmFsngh28oDFTTq2jRR51p/24NO/fdnHh3eDIhhw==", "dev": true, "requires": { - "axios": "0.18.0", + "axios": "0.18.1", "moment": "2.24.0", "vue": "2.6.10", "vue-property-decorator": "8.2.1", - "vue-router": "3.0.2", + "vue-router": "3.0.7", "vuelidate": "0.7.4" }, "dependencies": { @@ -12052,11 +12982,11 @@ } }, "sitewhere-rest-api": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/sitewhere-rest-api/-/sitewhere-rest-api-1.0.10.tgz", - "integrity": "sha512-PefiY4mBoOsTZkxdhWB1z5LTmc5Iv4pRLJ/JMJXc8q/3X0NswbP7b4tmxXuFhLg0UwqP7IHEA+/4k3RmKWs1/w==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/sitewhere-rest-api/-/sitewhere-rest-api-1.0.11.tgz", + "integrity": "sha512-SR++8MfWN9gc8vJAjZTOG5iq+Jk5oUQKi8T84gnCzQ5lRoUfSMzHprlXU5whLVjIVDFBLhaPDc9w57DEtjJcHA==", "requires": { - "axios": "0.18.0" + "axios": "0.18.1" } }, "snake-case": { @@ -12320,13 +13250,13 @@ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.1.1" + "ms": "2.1.2" } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } @@ -12341,7 +13271,7 @@ "detect-node": "2.0.4", "hpack.js": "2.1.6", "obuf": "1.1.2", - "readable-stream": "3.2.0", + "readable-stream": "3.4.0", "wbuf": "1.7.3" }, "dependencies": { @@ -12351,19 +13281,19 @@ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.1.1" + "ms": "2.1.2" } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "readable-stream": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.2.0.tgz", - "integrity": "sha512-RV20kLjdmpZuTF1INEb9IA3L68Nmi+Ri7ppZqo78wj//Pn62fCoJyV9zalccNzDD/OuJpMG4f+pfMl8+L6QdGw==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", "dev": true, "requires": { "inherits": "2.0.3", @@ -12470,6 +13400,15 @@ "tweetnacl": "0.14.5" } }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "3.5.1" + } + }, "stable": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", @@ -12477,9 +13416,9 @@ "dev": true }, "stat-mode": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz", - "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.3.0.tgz", + "integrity": "sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==", "dev": true }, "static-extend": { @@ -12504,9 +13443,9 @@ } }, "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true }, "stdout-stream": { @@ -12748,9 +13687,9 @@ } }, "svgo": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.2.0.tgz", - "integrity": "sha512-xBfxJxfk4UeVN8asec9jNxHiv3UAMv/ujwBWGYvQhhMb2u3YTGKkiybPcLFDLq7GLLWE9wa73e0/m8L5nTzQbw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.2.2.tgz", + "integrity": "sha512-rAfulcwp2D9jjdGu+0CuqlrAUin6bBWrpoqXWwKDZZZJfXcUXQSxLJOFJCQCSA0x0pP2U0TxSlJu2ROq5Bq6qA==", "dev": true, "requires": { "chalk": "2.4.1", @@ -12760,7 +13699,7 @@ "css-tree": "1.0.0-alpha.28", "css-url-regex": "1.1.0", "csso": "3.5.1", - "js-yaml": "3.12.2", + "js-yaml": "3.13.1", "mkdirp": "0.5.1", "object.values": "1.1.0", "sax": "1.2.4", @@ -12775,7 +13714,7 @@ "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", "dev": true, "requires": { - "@types/q": "1.5.1", + "@types/q": "1.5.2", "chalk": "2.4.1", "q": "1.5.1" } @@ -12808,9 +13747,9 @@ "dev": true }, "js-yaml": { - "version": "3.12.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.2.tgz", - "integrity": "sha512-QHn/Lh/7HhZ/Twc7vJYQTkjuCa0kaCcDcjK5Zlk2rvnUpy7DxMJ23+Jc2dcyvltwQVg1nygAVlB2oRDFHoRS5Q==", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, "requires": { "argparse": "1.0.10", @@ -12847,14 +13786,14 @@ } }, "temp-file": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.3.2.tgz", - "integrity": "sha512-FGKccAW0Mux9hC/2bdUIe4bJRv4OyVo4RpVcuplFird1V/YoplIFbnPZjfzbJSf/qNvRZIRB9/4n/RkI0GziuQ==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.3.3.tgz", + "integrity": "sha512-ErWJ0vfZwkozaH7dn/5QtYdrGwy6fWID0GG3PEzNb9Vmt6urL4mQ3lKz7NWVi1/kmZsWQzgjTL7/P4mwGx5jqg==", "dev": true, "requires": { "async-exit-hook": "2.0.1", - "bluebird-lst": "1.0.7", - "fs-extra-p": "7.0.1" + "bluebird-lst": "1.0.9", + "fs-extra-p": "8.1.0" } }, "term-size": { @@ -12867,22 +13806,16 @@ } }, "terser": { - "version": "3.16.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.16.1.tgz", - "integrity": "sha512-JDJjgleBROeek2iBcSNzOHLKsB/MdDf+E/BOAJ0Tk9r7p9/fVobfv7LMJ/g/k3v9SXdmjZnIlFd5nfn/Rt0Xow==", + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", + "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", "dev": true, "requires": { - "commander": "2.17.1", + "commander": "2.19.0", "source-map": "0.6.1", - "source-map-support": "0.5.10" + "source-map-support": "0.5.12" }, "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -12890,9 +13823,9 @@ "dev": true }, "source-map-support": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", - "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==", + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", + "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", "dev": true, "requires": { "buffer-from": "1.1.1", @@ -12902,318 +13835,91 @@ } }, "terser-webpack-plugin": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.2.3.tgz", - "integrity": "sha512-GOK7q85oAb/5kE12fMuLdn2btOS9OBZn4VsecpHDywoUC/jLhSAKOiYo0ezx7ss2EXPMzyEWFoE0s1WLE+4+oA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.3.0.tgz", + "integrity": "sha512-W2YWmxPjjkUcOWa4pBEv4OP4er1aeQJlSo2UhtCFQCuRXEHjOFscO8VyWHj9JLlA0RzQb8Y2/Ta78XZvT54uGg==", "dev": true, "requires": { - "cacache": "11.3.2", - "find-cache-dir": "2.0.0", + "cacache": "11.3.3", + "find-cache-dir": "2.1.0", + "is-wsl": "1.1.0", + "loader-utils": "1.2.3", "schema-utils": "1.0.0", - "serialize-javascript": "1.5.0", + "serialize-javascript": "1.7.0", "source-map": "0.6.1", - "terser": "3.16.1", - "webpack-sources": "1.1.0", - "worker-farm": "1.6.0" + "terser": "4.1.0", + "webpack-sources": "1.3.0", + "worker-farm": "1.7.0" }, "dependencies": { - "ajv": { - "version": "6.9.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.9.2.tgz", - "integrity": "sha512-4UFy0/LgDo7Oa/+wOAlj44tp9K78u38E5/359eSrqEp1Z5PdVfimCcs7SluXMP755RUQu6d2b4AvF0R1C9RZjg==", - "dev": true, - "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" - } - }, - "bluebird": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", - "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==", - "dev": true - }, - "cacache": { - "version": "11.3.2", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz", - "integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==", - "dev": true, - "requires": { - "bluebird": "3.5.3", - "chownr": "1.1.1", - "figgy-pudding": "3.5.1", - "glob": "7.1.3", - "graceful-fs": "4.1.15", - "lru-cache": "5.1.1", - "mississippi": "3.0.0", - "mkdirp": "0.5.1", - "move-concurrently": "1.0.1", - "promise-inflight": "1.0.1", - "rimraf": "2.6.2", - "ssri": "6.0.1", - "unique-filename": "1.1.1", - "y18n": "4.0.0" - } - }, - "chownr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true }, "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", "dev": true }, - "find-cache-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz", - "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==", - "dev": true, - "requires": { - "commondir": "1.0.1", - "make-dir": "1.3.0", - "pkg-dir": "3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dev": true, "requires": { - "locate-path": "3.0.0" + "minimist": "1.2.0" } }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "big.js": "5.2.2", + "emojis-list": "2.1.0", + "json5": "1.0.1" } }, - "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "3.0.0", - "path-exists": "3.0.0" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "3.0.3" - } - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "1.6.2", - "duplexify": "3.6.0", - "end-of-stream": "1.4.1", - "flush-write-stream": "1.0.3", - "from2": "2.3.0", - "parallel-transform": "1.1.0", - "pump": "3.0.0", - "pumpify": "1.5.1", - "stream-each": "1.2.3", - "through2": "2.0.5" - } - }, - "p-limit": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", - "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", - "dev": true, - "requires": { - "p-try": "2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "source-map-support": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", + "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", "dev": true, "requires": { - "p-limit": "2.1.0" + "buffer-from": "1.1.1", + "source-map": "0.6.1" } }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "terser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.1.0.tgz", + "integrity": "sha512-O2MzVShUr/B+bxTh83ycpDR+Ocesg5qLR8kphWApRbWCkSnfKq1YPmydnVNfsJuJKHvzSgDNqFq4cr1O36oQ2A==", "dev": true, "requires": { - "find-up": "3.0.0" + "commander": "2.20.0", + "source-map": "0.6.1", + "source-map-support": "0.5.12" } }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "webpack-sources": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", + "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" + "source-list-map": "2.0.0", + "source-map": "0.6.1" } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "6.9.2", - "ajv-errors": "1.0.0", - "ajv-keywords": "3.2.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", - "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==", - "dev": true, - "requires": { - "buffer-from": "1.1.1", - "source-map": "0.6.1" - } - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "3.5.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "5.1.2" - } - }, - "terser": { - "version": "3.16.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.16.1.tgz", - "integrity": "sha512-JDJjgleBROeek2iBcSNzOHLKsB/MdDf+E/BOAJ0Tk9r7p9/fVobfv7LMJ/g/k3v9SXdmjZnIlFd5nfn/Rt0Xow==", - "dev": true, - "requires": { - "commander": "2.17.1", - "source-map": "0.6.1", - "source-map-support": "0.5.10" - } - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "2.3.6", - "xtend": "4.0.1" - } - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "requires": { - "unique-slug": "2.0.0" - } - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true - }, - "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", - "dev": true } } }, @@ -13297,12 +14003,6 @@ "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==", "dev": true }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", - "dev": true - }, "timers-browserify": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", @@ -13373,6 +14073,12 @@ } } }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true + }, "to-regex": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", @@ -13395,6 +14101,12 @@ "repeat-string": "1.6.1" } }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true + }, "toposort": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", @@ -13456,16 +14168,67 @@ } }, "ts-loader": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-5.3.3.tgz", - "integrity": "sha512-KwF1SplmOJepnoZ4eRIloH/zXL195F51skt7reEsS6jvDqzgc/YSbz9b8E07GxIUwLXdcD4ssrJu6v8CwaTafA==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-6.0.4.tgz", + "integrity": "sha512-p2zJYe7OtwR+49kv4gs7v4dMrfYD1IPpOtqiSPCbe8oR+4zEBtdHwzM7A7M91F+suReqgzZrlClk4LRSSp882g==", "dev": true, "requires": { "chalk": "2.4.1", "enhanced-resolve": "4.1.0", "loader-utils": "1.1.0", - "micromatch": "3.1.10", - "semver": "5.5.0" + "micromatch": "4.0.2", + "semver": "6.2.0" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "3.0.2", + "picomatch": "2.0.7" + } + }, + "semver": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz", + "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "7.0.0" + } + } } }, "tslib": { @@ -13475,24 +14238,42 @@ "dev": true }, "tslint": { - "version": "5.13.1", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.13.1.tgz", - "integrity": "sha512-fplQqb2miLbcPhyHoMV4FU9PtNRbgmm/zI5d3SZwwmJQM6V0eodju+hplpyfhLWpmwrDNfNYU57uYRb8s0zZoQ==", + "version": "5.18.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.18.0.tgz", + "integrity": "sha512-Q3kXkuDEijQ37nXZZLKErssQVnwCV/+23gFEMROi8IlbaBG6tXqLPQJ5Wjcyt/yHPKBC+hD5SzuGaMora+ZS6w==", "dev": true, "requires": { - "babel-code-frame": "6.26.0", + "@babel/code-frame": "7.0.0", "builtin-modules": "1.1.1", "chalk": "2.4.1", "commander": "2.19.0", "diff": "3.5.0", "glob": "7.1.2", - "js-yaml": "3.7.0", + "js-yaml": "3.13.1", "minimatch": "3.0.4", "mkdirp": "0.5.1", "resolve": "1.8.1", "semver": "5.5.0", "tslib": "1.9.3", "tsutils": "2.29.0" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "4.0.1" + } + } } }, "tsutils": { @@ -13524,14 +14305,37 @@ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "optional": true }, + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "dev": true + }, "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.19" + "mime-types": "2.1.24" + }, + "dependencies": { + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", + "dev": true + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "dev": true, + "requires": { + "mime-db": "1.40.0" + } + } } }, "typedarray": { @@ -13540,27 +14344,21 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "typescript": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.4.5.tgz", - "integrity": "sha512-YycBxUb49UUhdNMU5aJ7z5Ej2XGmaIBL0x34vZ82fn3hGvD+bgrMrVDpatgz2f7YxUMJxMkbWxJZeAvDxVe7Vw==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.2.tgz", + "integrity": "sha512-7KxJovlYhTX5RaRbUdkAXN1KUZ8PwWlTzQdHV6xNqvuFOs7+WBo10TQUqT19Q/Jz2hk5v9TQDIhyLhhJY4p5AA==", "dev": true }, "uglify-js": { - "version": "3.4.9", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", - "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", "dev": true, "requires": { - "commander": "2.17.1", + "commander": "2.19.0", "source-map": "0.6.1" }, "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -13598,19 +14396,19 @@ "dev": true, "requires": { "unicode-canonical-property-names-ecmascript": "1.0.4", - "unicode-property-aliases-ecmascript": "1.0.4" + "unicode-property-aliases-ecmascript": "1.0.5" } }, "unicode-match-property-value-ecmascript": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz", - "integrity": "sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", + "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", "dev": true }, "unicode-property-aliases-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz", - "integrity": "sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", + "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", "dev": true }, "union-value": { @@ -13660,6 +14458,15 @@ "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", "dev": true }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "2.0.0" + } + }, "unique-slug": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", @@ -13776,12 +14583,6 @@ } } }, - "unzip-response": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", - "dev": true - }, "upath": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", @@ -13789,38 +14590,23 @@ "dev": true }, "update-notifier": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", - "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-3.0.1.tgz", + "integrity": "sha512-grrmrB6Zb8DUiyDIaeRTBCkgISYUgETNe7NglEbVsrLWXeESnlCSP50WfRSj/GmzMPl6Uchj24S/p80nP/ZQrQ==", "dev": true, "requires": { - "boxen": "1.3.0", + "boxen": "3.2.0", "chalk": "2.4.1", - "configstore": "3.1.2", + "configstore": "4.0.0", + "has-yarn": "2.1.0", "import-lazy": "2.1.0", - "is-ci": "1.2.1", + "is-ci": "2.0.0", "is-installed-globally": "0.1.0", - "is-npm": "1.0.0", - "latest-version": "3.1.0", + "is-npm": "3.0.0", + "is-yarn-global": "0.3.0", + "latest-version": "5.1.0", "semver-diff": "2.1.0", "xdg-basedir": "3.0.0" - }, - "dependencies": { - "ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", - "dev": true - }, - "is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", - "dev": true, - "requires": { - "ci-info": "1.6.0" - } - } } }, "upper-case": { @@ -13880,14 +14666,22 @@ } }, "url-loader": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz", - "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-2.0.1.tgz", + "integrity": "sha512-nd+jtHG6VgYx/NnXxXSWCJ7FtHIhuyk6Pe48HKhq29Avq3r5FSdIrenvzlbb67A3SNFaQyLk0/lMZfubj0+5ww==", "dev": true, "requires": { "loader-utils": "1.1.0", - "mime": "2.4.0", + "mime": "2.4.4", "schema-utils": "1.0.0" + }, + "dependencies": { + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "dev": true + } } }, "url-parse": { @@ -13900,12 +14694,20 @@ } }, "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, "requires": { - "prepend-http": "1.0.4" + "prepend-http": "2.0.0" + }, + "dependencies": { + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + } } }, "use": { @@ -13962,9 +14764,9 @@ "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" }, "v8-compile-cache": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz", - "integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", + "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", "dev": true }, "validate-npm-package-license": { @@ -13984,9 +14786,9 @@ "dev": true }, "vendors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz", - "integrity": "sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.3.tgz", + "integrity": "sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw==", "dev": true }, "verror": { @@ -14000,13 +14802,10 @@ } }, "vm-browserify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", - "dev": true, - "requires": { - "indexof": "0.0.1" - } + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", + "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==", + "dev": true }, "vue": { "version": "2.6.10", @@ -14067,7 +14866,7 @@ "dev": true, "requires": { "es6-templates": "0.2.3", - "fastparse": "1.1.1", + "fastparse": "1.1.2", "html-minifier": "2.1.7", "loader-utils": "1.1.0", "object-assign": "4.1.1" @@ -14216,9 +15015,9 @@ } }, "vue-router": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.0.2.tgz", - "integrity": "sha512-opKtsxjp9eOcFWdp6xLQPLmRGgfM932Tl56U9chYTnoWqKxQ8M20N7AkdEbM5beUh6wICoFGYugAX9vQjyJLFg==" + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.0.7.tgz", + "integrity": "sha512-utJ+QR3YlIC/6x6xq17UMXeAfxEvXA0VKD3PiSio7hBOZNusA1jXcbxZxVEfJunLp48oonjTepY8ORoIlRx/EQ==" }, "vue-sticky-directive": { "version": "0.0.6", @@ -14283,29 +15082,22 @@ "integrity": "sha512-QHZWYOL325Zo+2K7VBNEJTZ496Kd8Z31p85aQJFldKudUUGBmgw4zu4ghl4CyqPwjRCmqZ9lDdx4FSdMnu4fGg==" }, "vuetify": { - "version": "1.5.7", - "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-1.5.7.tgz", - "integrity": "sha512-e7Vvj9gh41Pth7pXJxH1hrm8wfnvWt3nvxPCnwBWTgr4kiUXTG4CaUBqWVVgyfLjJGJSyR1y1EoRNEP5tJv0HQ==" + "version": "1.5.16", + "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-1.5.16.tgz", + "integrity": "sha512-yBgOsfurKQkeS+l+rrTQZ2bFk0D9ezjHhkuVM5A/yVzcg62sY2nfYaq/H++uezBWC9WYFrp/5OmSocJQcWn9Qw==" }, "vuex": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.1.0.tgz", - "integrity": "sha512-mdHeHT/7u4BncpUZMlxNaIdcN/HIt1GsGG5LKByArvYG/v6DvHcOxvDCts+7SRdCoIRGllK8IMZvQtQXLppDYg==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.1.1.tgz", + "integrity": "sha512-ER5moSbLZuNSMBFnEBVGhQ1uCBNJslH9W/Dw2W7GZN23UQA69uapP5GTT9Vm8Trc0PzBSVt6LzF3hGjmv41xcg==" }, "vuex-persistedstate": { "version": "2.5.4", "resolved": "https://registry.npmjs.org/vuex-persistedstate/-/vuex-persistedstate-2.5.4.tgz", "integrity": "sha512-XYJhKIwO+ZVlTaXyxKxnplrJ88Fnvk5aDw753bxzRw5/yMKLQ6lq9CDCBex2fwZaQcLibhtgJOxGCHjy9GLSlQ==", "requires": { - "deepmerge": "2.1.1", + "deepmerge": "2.2.1", "shvl": "1.3.1" - }, - "dependencies": { - "deepmerge": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.1.1.tgz", - "integrity": "sha512-urQxA1smbLZ2cBbXbaYObM1dJ82aJ2H57A1C/Kklfh/ZN1bgH4G/n5KWhdNfOK11W98gqZfyYj7W4frJJRwA2w==" - } } }, "watchpack": { @@ -14329,22 +15121,22 @@ } }, "webpack": { - "version": "4.29.6", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.29.6.tgz", - "integrity": "sha512-MwBwpiE1BQpMDkbnUUaW6K8RFZjljJHArC6tWQJoFm0oQtfoSebtg4Y7/QHnJ/SddtjYLHaKGX64CFjG5rehJw==", + "version": "4.35.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.35.2.tgz", + "integrity": "sha512-TZAmorNymV4q66gAM/h90cEjG+N3627Q2MnkSgKlX/z3DlNVKUtqy57lz1WmZU2+FUZwzM+qm7cGaO95PyrX5A==", "dev": true, "requires": { "@webassemblyjs/ast": "1.8.5", "@webassemblyjs/helper-module-context": "1.8.5", "@webassemblyjs/wasm-edit": "1.8.5", "@webassemblyjs/wasm-parser": "1.8.5", - "acorn": "6.1.1", + "acorn": "6.2.0", "acorn-dynamic-import": "4.0.0", - "ajv": "6.9.2", + "ajv": "6.10.1", "ajv-keywords": "3.2.0", - "chrome-trace-event": "1.0.0", + "chrome-trace-event": "1.0.2", "enhanced-resolve": "4.1.0", - "eslint-scope": "4.0.0", + "eslint-scope": "4.0.3", "json-parse-better-errors": "1.0.2", "loader-runner": "2.4.0", "loader-utils": "1.1.0", @@ -14352,18 +15144,18 @@ "micromatch": "3.1.10", "mkdirp": "0.5.1", "neo-async": "2.5.2", - "node-libs-browser": "2.2.0", + "node-libs-browser": "2.2.1", "schema-utils": "1.0.0", - "tapable": "1.1.1", - "terser-webpack-plugin": "1.2.3", + "tapable": "1.1.3", + "terser-webpack-plugin": "1.3.0", "watchpack": "1.6.0", "webpack-sources": "1.3.0" }, "dependencies": { "ajv": { - "version": "6.9.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.9.2.tgz", - "integrity": "sha512-4UFy0/LgDo7Oa/+wOAlj44tp9K78u38E5/359eSrqEp1Z5PdVfimCcs7SluXMP755RUQu6d2b4AvF0R1C9RZjg==", + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.1.tgz", + "integrity": "sha512-w1YQaVGNC6t2UCPjEawK/vo/dG8OOrVtUmhBT1uJJYxbl5kU2Tj3v6LGqBcsysN1yhuCStJCCA3GqdvKY8sqXQ==", "dev": true, "requires": { "fast-deep-equal": "2.0.1", @@ -14384,17 +15176,6 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "6.9.2", - "ajv-errors": "1.0.0", - "ajv-keywords": "3.2.0" - } - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -14402,9 +15183,9 @@ "dev": true }, "tapable": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.1.tgz", - "integrity": "sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true }, "webpack-sources": { @@ -14420,73 +15201,130 @@ } }, "webpack-cli": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.2.3.tgz", - "integrity": "sha512-Ik3SjV6uJtWIAN5jp5ZuBMWEAaP5E4V78XJ2nI+paFPh8v4HPSwo/myN0r29Xc/6ZKnd2IdrAlpSgNOu2CDQ6Q==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.5.tgz", + "integrity": "sha512-w0j/s42c5UhchwTmV/45MLQnTVwRoaUTu9fM5LuyOd/8lFoCNCELDogFoecx5NzRUndO0yD/gF2b02XKMnmAWQ==", "dev": true, "requires": { - "chalk": "2.4.1", + "chalk": "2.4.2", "cross-spawn": "6.0.5", "enhanced-resolve": "4.1.0", - "findup-sync": "2.0.0", - "global-modules": "1.0.0", + "findup-sync": "3.0.0", + "global-modules": "2.0.0", "import-local": "2.0.0", "interpret": "1.2.0", - "loader-utils": "1.1.0", - "supports-color": "5.5.0", - "v8-compile-cache": "2.0.2", - "yargs": "12.0.5" + "loader-utils": "1.2.3", + "supports-color": "6.1.0", + "v8-compile-cache": "2.0.3", + "yargs": "13.2.4" }, "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { - "has-flag": "3.0.0" - } - } - } - }, - "webpack-dev-middleware": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.6.0.tgz", - "integrity": "sha512-oeXA3m+5gbYbDBGo4SvKpAHJJEGMoekUbHgo1RK7CP1sz7/WOSeu/dWJtSTk+rzDCLkPwQhGocgIq6lQqOyOwg==", - "dev": true, - "requires": { - "memory-fs": "0.4.1", - "mime": "2.4.0", - "range-parser": "1.2.0", - "webpack-log": "2.0.0" - } - }, - "webpack-dev-server": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.2.1.tgz", - "integrity": "sha512-sjuE4mnmx6JOh9kvSbPYw3u/6uxCLHNWfhWaIPwcXWsvWOPN+nc5baq4i9jui3oOBRXGonK9+OI0jVkaz6/rCw==", + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "5.2.2", + "emojis-list": "2.1.0", + "json5": "1.0.1" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "webpack-dev-middleware": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.0.tgz", + "integrity": "sha512-qvDesR1QZRIAZHOE3iQ4CXLZZSQ1lAUsSpnQmlB1PBfoN/xdRjmge3Dok0W4IdaVLJOGJy3sGI4sZHwjRU0PCA==", + "dev": true, + "requires": { + "memory-fs": "0.4.1", + "mime": "2.4.4", + "range-parser": "1.2.1", + "webpack-log": "2.0.0" + }, + "dependencies": { + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "dev": true + } + } + }, + "webpack-dev-server": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.7.2.tgz", + "integrity": "sha512-mjWtrKJW2T9SsjJ4/dxDC2fkFVUw8jlpemDERqV0ZJIkjjjamR2AbQlr3oz+j4JLhYCHImHnXZK5H06P2wvUew==", "dev": true, "requires": { "ansi-html": "0.0.7", "bonjour": "3.5.0", - "chokidar": "2.0.4", - "compression": "1.7.3", + "chokidar": "2.1.6", + "compression": "1.7.4", "connect-history-api-fallback": "1.6.0", "debug": "4.1.1", - "del": "3.0.0", - "express": "4.16.4", + "del": "4.1.1", + "express": "4.17.1", "html-entities": "1.2.1", "http-proxy-middleware": "0.19.1", "import-local": "2.0.0", - "internal-ip": "4.2.0", + "internal-ip": "4.3.0", "ip": "1.1.5", "killable": "1.0.1", - "loglevel": "1.6.1", - "opn": "5.4.0", + "loglevel": "1.6.3", + "opn": "5.5.0", + "p-retry": "3.0.1", "portfinder": "1.0.20", "schema-utils": "1.0.0", "selfsigned": "1.10.4", - "semver": "5.6.0", + "semver": "6.2.0", "serve-index": "1.9.1", "sockjs": "0.3.19", "sockjs-client": "1.3.0", @@ -14494,9 +15332,9 @@ "strip-ansi": "3.0.1", "supports-color": "6.1.0", "url": "0.11.0", - "webpack-dev-middleware": "3.6.0", + "webpack-dev-middleware": "3.7.0", "webpack-log": "2.0.0", - "yargs": "12.0.2" + "yargs": "12.0.5" }, "dependencies": { "ansi-regex": { @@ -14506,27 +15344,38 @@ "dev": true }, "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "chokidar": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.6.tgz", + "integrity": "sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==", "dev": true, "requires": { - "ms": "2.1.1" + "anymatch": "2.0.0", + "async-each": "1.0.1", + "braces": "2.3.2", + "fsevents": "1.2.9", + "glob-parent": "3.1.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "4.0.0", + "normalize-path": "3.0.0", + "path-is-absolute": "1.0.1", + "readdirp": "2.2.1", + "upath": "1.1.2" } }, - "decamelize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", - "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "xregexp": "4.0.0" + "ms": "2.1.2" } }, "eventsource": { @@ -14539,9 +15388,9 @@ } }, "faye-websocket": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", "dev": true, "requires": { "websocket-driver": "0.7.0" @@ -14556,22 +15405,596 @@ "locate-path": "3.0.0" } }, + "fsevents": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "dev": true, + "optional": true, + "requires": { + "nan": "2.14.0", + "node-pre-gyp": "0.12.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "2.3.5" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.3" + } + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": "2.1.2" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "5.1.2", + "yallist": "3.0.3" + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "2.3.5" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.3.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "4.1.1", + "iconv-lite": "0.4.24", + "sax": "1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.3.0", + "nopt": "4.0.1", + "npm-packlist": "1.4.1", + "npmlog": "4.1.2", + "rc": "1.2.8", + "rimraf": "2.6.3", + "semver": "5.7.0", + "tar": "4.4.8" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1.1.1", + "osenv": "0.1.5" + } + }, + "npm-bundled": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.6" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "1.1.5", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "0.6.0", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "1.1.1", + "fs-minipass": "1.2.5", + "minipass": "2.3.5", + "minizlib": "1.2.1", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.2", + "yallist": "3.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "dev": true + } + } + }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "dev": true, + "optional": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "micromatch": "3.1.10", + "readable-stream": "2.3.6" + } + }, "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz", + "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==", "dev": true }, "sockjs-client": { @@ -14582,7 +16005,7 @@ "requires": { "debug": "3.2.6", "eventsource": "1.0.7", - "faye-websocket": "0.11.1", + "faye-websocket": "0.11.3", "inherits": "2.0.3", "json3": "3.3.2", "url-parse": "1.4.3" @@ -14594,7 +16017,7 @@ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "ms": "2.1.1" + "ms": "2.1.2" } } } @@ -14620,6 +16043,15 @@ } } }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, "supports-color": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", @@ -14629,14 +16061,20 @@ "has-flag": "3.0.0" } }, + "upath": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", + "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==", + "dev": true + }, "yargs": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz", - "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==", + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", "dev": true, "requires": { "cliui": "4.1.0", - "decamelize": "2.0.0", + "decamelize": "1.2.0", "find-up": "3.0.0", "get-caller-file": "1.0.3", "os-locale": "3.1.0", @@ -14646,16 +16084,17 @@ "string-width": "2.1.1", "which-module": "2.0.0", "y18n": "4.0.0", - "yargs-parser": "10.1.0" + "yargs-parser": "11.1.1" } }, "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "5.3.1", + "decamelize": "1.2.0" } } } @@ -14666,7 +16105,7 @@ "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", "dev": true, "requires": { - "ansi-colors": "3.2.3", + "ansi-colors": "3.2.4", "uuid": "3.3.2" } }, @@ -14848,14 +16287,23 @@ "dev": true }, "worker-farm": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", - "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", "dev": true, "requires": { "errno": "0.1.7" } }, + "worker-rpc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz", + "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==", + "dev": true, + "requires": { + "microevent.ts": "0.1.1" + } + }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", @@ -14872,9 +16320,9 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "write-file-atomic": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.2.tgz", - "integrity": "sha512-s0b6vB3xIVRLWywa6X9TOMA7k9zio0TMOsl9ZnDkliA/cfJlpHXAscj0gbHVJiTdIuAYpIyqS5GW91fqm6gG5g==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", "dev": true, "requires": { "graceful-fs": "4.1.11", @@ -14922,12 +16370,6 @@ "integrity": "sha1-jdi/Rfw/f1Xw4FS4ePQ6YmFNr98=", "dev": true }, - "xregexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", - "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==", - "dev": true - }, "xtend": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", @@ -14950,31 +16392,41 @@ "dev": true }, "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "version": "13.2.4", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", + "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", "dev": true, "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", + "cliui": "5.0.0", "find-up": "3.0.0", - "get-caller-file": "1.0.3", + "get-caller-file": "2.0.5", "os-locale": "3.1.0", "require-directory": "2.1.1", - "require-main-filename": "1.0.1", + "require-main-filename": "2.0.0", "set-blocking": "2.0.0", - "string-width": "2.1.1", + "string-width": "3.1.0", "which-module": "2.0.0", "y18n": "4.0.0", - "yargs-parser": "11.1.1" + "yargs-parser": "13.1.1" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "3.1.0", + "strip-ansi": "5.2.0", + "wrap-ansi": "5.1.0" + } + }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -14984,47 +16436,71 @@ "locate-path": "3.0.0" } }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { + "emoji-regex": "7.0.3", "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "strip-ansi": "5.2.0" } }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "4.1.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "string-width": "3.1.0", + "strip-ansi": "5.2.0" } } } }, "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", "dev": true, "requires": { - "camelcase": "5.0.0", + "camelcase": "5.3.1", "decamelize": "1.2.0" }, "dependencies": { "camelcase": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", - "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true } } diff --git a/package.json b/package.json index ff966a1..82ecffb 100644 --- a/package.json +++ b/package.json @@ -52,31 +52,31 @@ }, "devDependencies": { "@types/electron-is-dev": "^0.3.0", - "@types/node": "^10.7.1", + "@types/node": "^10.14.12", "@types/universal-analytics": "^0.4.2", - "@types/uuid": "^3.4.3", - "@types/vuelidate": "^0.7.4", - "electron": "^4.1.0", - "electron-builder": "^20.39.0", + "@types/uuid": "^3.4.5", + "@types/vuelidate": "^0.7.5", + "electron": "^4.2.6", + "electron-builder": "^20.44.4", "electron-updater": "^3.2.3", - "electron-webpack": "^2.6.2", - "electron-webpack-ts": "^3.1.1", - "electron-webpack-vue": "^2.2.3", + "electron-webpack": "^2.7.2", + "electron-webpack-ts": "^3.2.0", + "electron-webpack-vue": "^2.3.0", "node-sass": "^4.9.3", "sass-loader": "^7.1.0", "sitewhere-ide-components": "0.0.28", - "tslint": "^5.13.1", - "typescript": "^3.4.5", + "tslint": "^5.18.0", + "typescript": "^3.5.2", "vue-template-compiler": "^2.6.10", "vue2-ace-editor": "0.0.11", - "webpack": "^4.29.6" + "webpack": "^4.35.2" }, "dependencies": { "@fortawesome/fontawesome-svg-core": "^1.2.2", "@fortawesome/free-solid-svg-icons": "^5.2.0", "@fortawesome/vue-fontawesome": "^0.1.1", - "@trodi/electron-splashscreen": "^0.3.1", - "axios": "^0.18.0", + "@trodi/electron-splashscreen": "^0.3.4", + "axios": "^0.18.1", "electron-is-dev": "^0.3.0", "electron-log": "^2.2.17", "leaflet": "^1.3.1", @@ -85,7 +85,7 @@ "material-icons": "^0.2.3", "moment": "^2.21.0", "mqtt": "^2.16.0", - "sitewhere-rest-api": "^1.0.10", + "sitewhere-rest-api": "^1.0.11", "sockjs-client": "^1.1.4", "source-map-support": "^0.5.8", "universal-analytics": "^0.4.20", @@ -96,14 +96,14 @@ "vue-flatpickr-component": "^2.4.1", "vue-highlightjs": "^1.3.3", "vue-moment": "^3.2.0", - "vue-router": "^3.0.2", + "vue-router": "^3.0.7", "vue-sticky-directive": "0.0.6", "vue2-leaflet": "0.0.58", "vuedraggable": "^2.18.1", "vuelidate": "^0.7.4", - "vuetify": "^1.5.7", - "vuex": "^3.1.0", - "vuex-persistedstate": "^2.4.2", + "vuetify": "^1.5.16", + "vuex": "^3.1.1", + "vuex-persistedstate": "^2.5.4", "webstomp-client": "^1.2.6" } } diff --git a/src/renderer/components/Login.vue b/src/renderer/components/Login.vue index 0fe7924..2865b6e 100644 --- a/src/renderer/components/Login.vue +++ b/src/renderer/components/Login.vue @@ -48,7 +48,7 @@

- + menu @@ -121,9 +126,11 @@ diff --git a/src/renderer/components/common/ApplicationModel.ts b/src/renderer/components/common/ApplicationModel.ts index ef74b8e..a319daa 100644 --- a/src/renderer/components/common/ApplicationModel.ts +++ b/src/renderer/components/common/ApplicationModel.ts @@ -5,3 +5,22 @@ export interface IAlertMessage { message: string; type: string; } + +/** + * Information required to connect to a remote SiteWhere instance. + */ +export interface IRemoteConnection { + id: string; + name: string; + protocol: string; + host: string; + port: number; +} + +/** + * Information about known remote SiteWhere instances. + */ +export interface IRemotes { + connections: IRemoteConnection[]; + default: string; +} diff --git a/src/renderer/components/common/NoResultsPanel.vue b/src/renderer/components/common/NoResultsPanel.vue index 1e18f80..ec5863a 100644 --- a/src/renderer/components/common/NoResultsPanel.vue +++ b/src/renderer/components/common/NoResultsPanel.vue @@ -8,48 +8,49 @@ - diff --git a/src/renderer/components/customers/CustomerAssignments.vue b/src/renderer/components/customers/CustomerAssignments.vue index 59820f5..e231df0 100644 --- a/src/renderer/components/customers/CustomerAssignments.vue +++ b/src/renderer/components/customers/CustomerAssignments.vue @@ -37,7 +37,7 @@ import { AssignmentListEntry } }) -export default class CustomerTypeCustomers extends ListComponent< +export default class CustomerAssignments extends ListComponent< IDeviceAssignment, IDeviceAssignmentSearchCriteria, IDeviceAssignmentResponseFormat, @@ -77,6 +77,3 @@ export default class CustomerTypeCustomers extends ListComponent< } } - - diff --git a/src/renderer/components/customers/CustomerChooser.vue b/src/renderer/components/customers/CustomerChooser.vue index 58d966e..cc7cd93 100644 --- a/src/renderer/components/customers/CustomerChooser.vue +++ b/src/renderer/components/customers/CustomerChooser.vue @@ -5,14 +5,14 @@ - + - + remove_circle @@ -21,11 +21,11 @@
{{ notChosenText }} - + - diff --git a/src/renderer/components/customers/CustomerDeleteDialog.vue b/src/renderer/components/customers/CustomerDeleteDialog.vue index 5bcddce..7bc458d 100644 --- a/src/renderer/components/customers/CustomerDeleteDialog.vue +++ b/src/renderer/components/customers/CustomerDeleteDialog.vue @@ -1,50 +1,56 @@ - - + /** Load payload */ + prepareDelete(customer: ICustomer): AxiosPromise { + return deleteCustomer(this.$store, customer.token); + } + + // Called after create button is clicked. + onDelete(e: any) { + this.delete(); + } + + // Called after cancel button is clicked. + onCancel(e: any) { + this.cancel(); + } +} + diff --git a/src/renderer/components/customers/CustomerDetail.vue b/src/renderer/components/customers/CustomerDetail.vue index cf52e89..460226a 100644 --- a/src/renderer/components/customers/CustomerDetail.vue +++ b/src/renderer/components/customers/CustomerDetail.vue @@ -178,6 +178,3 @@ export default class CustomerDetail extends DetailComponent { } } - - diff --git a/src/renderer/components/customers/CustomerDetailFields.vue b/src/renderer/components/customers/CustomerDetailFields.vue index b04ee6d..b655203 100644 --- a/src/renderer/components/customers/CustomerDetailFields.vue +++ b/src/renderer/components/customers/CustomerDetailFields.vue @@ -113,6 +113,3 @@ export default class CustomerDetailFields extends DialogSection { } } - - diff --git a/src/renderer/components/customers/CustomerDialog.vue b/src/renderer/components/customers/CustomerDialog.vue index 8794c49..c517726 100644 --- a/src/renderer/components/customers/CustomerDialog.vue +++ b/src/renderer/components/customers/CustomerDialog.vue @@ -18,13 +18,13 @@ @@ -122,6 +122,3 @@ export default class CustomerDialog extends DialogComponent { } } - - diff --git a/src/renderer/components/customers/CustomerListEntry.vue b/src/renderer/components/customers/CustomerListEntry.vue index 9c6e965..12ba40e 100644 --- a/src/renderer/components/customers/CustomerListEntry.vue +++ b/src/renderer/components/customers/CustomerListEntry.vue @@ -25,7 +25,7 @@ import { Component, Prop } from "sitewhere-ide-common"; import { ICustomer } from "sitewhere-rest-api"; @Component({}) -export default class DeviceTypeSelector extends Vue { +export default class CustomerListEntry extends Vue { @Prop() readonly customer!: ICustomer; // Compute style of logo. diff --git a/src/renderer/components/customers/CustomerSelector.vue b/src/renderer/components/customers/CustomerSelector.vue index 45603a6..cf1c515 100644 --- a/src/renderer/components/customers/CustomerSelector.vue +++ b/src/renderer/components/customers/CustomerSelector.vue @@ -1,48 +1,69 @@ - - - diff --git a/src/renderer/components/customers/CustomersList.vue b/src/renderer/components/customers/CustomersList.vue index 969237a..d455d32 100644 --- a/src/renderer/components/customers/CustomersList.vue +++ b/src/renderer/components/customers/CustomersList.vue @@ -13,10 +13,10 @@ diff --git a/src/renderer/components/customertypes/CustomerTypeCreateDialog.vue b/src/renderer/components/customertypes/CustomerTypeCreateDialog.vue index f62e85a..84960f6 100644 --- a/src/renderer/components/customertypes/CustomerTypeCreateDialog.vue +++ b/src/renderer/components/customertypes/CustomerTypeCreateDialog.vue @@ -58,6 +58,3 @@ export default class CustomerTypeCreateDialog extends CreateDialogComponent< } } - - diff --git a/src/renderer/components/customertypes/CustomerTypeCustomers.vue b/src/renderer/components/customertypes/CustomerTypeCustomers.vue index 0a3f315..184ea8c 100644 --- a/src/renderer/components/customertypes/CustomerTypeCustomers.vue +++ b/src/renderer/components/customertypes/CustomerTypeCustomers.vue @@ -66,6 +66,3 @@ export default class CustomerTypeCustomers extends ListComponent< } } - - diff --git a/src/renderer/components/customertypes/CustomerTypeDeleteDialog.vue b/src/renderer/components/customertypes/CustomerTypeDeleteDialog.vue index 6cc72ec..13bb393 100644 --- a/src/renderer/components/customertypes/CustomerTypeDeleteDialog.vue +++ b/src/renderer/components/customertypes/CustomerTypeDeleteDialog.vue @@ -1,56 +1,56 @@ - - + // Called after create button is clicked. + onDelete(e: any) { + this.delete(); + } + + // Called after cancel button is clicked. + onCancel(e: any) { + this.cancel(); + } +} + diff --git a/src/renderer/components/customertypes/CustomerTypeDetail.vue b/src/renderer/components/customertypes/CustomerTypeDetail.vue index 90528d9..c014b1a 100644 --- a/src/renderer/components/customertypes/CustomerTypeDetail.vue +++ b/src/renderer/components/customertypes/CustomerTypeDetail.vue @@ -17,7 +17,7 @@ Customers of Type @@ -52,7 +52,6 @@ import CustomerTypeDetailHeader from "./CustomerTypeDetailHeader.vue"; import CustomerTypeCustomers from "./CustomerTypeCustomers.vue"; import CustomerTypeDeleteDialog from "./CustomerTypeDeleteDialog.vue"; import CustomerTypeUpdateDialog from "./CustomerTypeUpdateDialog.vue"; -import CustomerListEntry from "../customers/CustomerListEntry.vue"; import EditButton from "../common/navbuttons/EditButton.vue"; import DeleteButton from "../common/navbuttons/DeleteButton.vue"; @@ -67,7 +66,6 @@ import { ICustomerType, ICustomerTypeResponseFormat } from "sitewhere-rest-api"; NoResultsPanel, CustomerTypeDetailHeader, CustomerTypeCustomers, - CustomerListEntry, CustomerTypeDeleteDialog, CustomerTypeUpdateDialog, EditButton, @@ -134,6 +132,3 @@ export default class CustomerTypeDetail extends DetailComponent { } } - - diff --git a/src/renderer/components/customertypes/CustomerTypeDetailFields.vue b/src/renderer/components/customertypes/CustomerTypeDetailFields.vue index 931dde1..aaa8836 100644 --- a/src/renderer/components/customertypes/CustomerTypeDetailFields.vue +++ b/src/renderer/components/customertypes/CustomerTypeDetailFields.vue @@ -103,6 +103,3 @@ export default class DeviceTypeDetailFields extends DialogSection { } } - - diff --git a/src/renderer/components/customertypes/CustomerTypeDetailHeader.vue b/src/renderer/components/customertypes/CustomerTypeDetailHeader.vue index 262126b..2668b07 100644 --- a/src/renderer/components/customertypes/CustomerTypeDetailHeader.vue +++ b/src/renderer/components/customertypes/CustomerTypeDetailHeader.vue @@ -56,6 +56,3 @@ export default class CustomerTypeDetailHeader extends HeaderComponent< } } - - diff --git a/src/renderer/components/customertypes/CustomerTypeDialog.vue b/src/renderer/components/customertypes/CustomerTypeDialog.vue index e73ef4a..a29e0cd 100644 --- a/src/renderer/components/customertypes/CustomerTypeDialog.vue +++ b/src/renderer/components/customertypes/CustomerTypeDialog.vue @@ -128,6 +128,3 @@ export default class CustomerTypeDialog extends DialogComponent { } } - - diff --git a/src/renderer/components/customertypes/CustomerTypeListEntry.vue b/src/renderer/components/customertypes/CustomerTypeListEntry.vue index 8741efe..f9f6686 100644 --- a/src/renderer/components/customertypes/CustomerTypeListEntry.vue +++ b/src/renderer/components/customertypes/CustomerTypeListEntry.vue @@ -25,7 +25,7 @@ import { Component, Prop } from "sitewhere-ide-common"; import { ICustomerType } from "sitewhere-rest-api"; @Component({}) -export default class DeviceTypeSelector extends Vue { +export default class CustomerTypeListEntry extends Vue { @Prop() readonly customerType!: ICustomerType; // Handle customer type clicked. diff --git a/src/renderer/components/customertypes/CustomerTypeSelector.vue b/src/renderer/components/customertypes/CustomerTypeSelector.vue index 45e8170..cc4b02d 100644 --- a/src/renderer/components/customertypes/CustomerTypeSelector.vue +++ b/src/renderer/components/customertypes/CustomerTypeSelector.vue @@ -65,6 +65,3 @@ export default class CustomerTypeSelector extends Vue { } } - - diff --git a/src/renderer/components/customertypes/CustomerTypeUpdateDialog.vue b/src/renderer/components/customertypes/CustomerTypeUpdateDialog.vue index 684a13d..1cb47c9 100644 --- a/src/renderer/components/customertypes/CustomerTypeUpdateDialog.vue +++ b/src/renderer/components/customertypes/CustomerTypeUpdateDialog.vue @@ -74,6 +74,3 @@ export default class CustomerTypeUpdateDialog extends EditDialogComponent< } } - - diff --git a/src/renderer/components/customertypes/CustomerTypesList.vue b/src/renderer/components/customertypes/CustomerTypesList.vue index 47228d3..4b2e408 100644 --- a/src/renderer/components/customertypes/CustomerTypesList.vue +++ b/src/renderer/components/customertypes/CustomerTypesList.vue @@ -97,6 +97,3 @@ export default class CustomerTypesList extends ListComponent< } } - - diff --git a/src/renderer/components/customertypes/CustomerTypesMultiselect.vue b/src/renderer/components/customertypes/CustomerTypesMultiselect.vue index 6083da0..08756c6 100644 --- a/src/renderer/components/customertypes/CustomerTypesMultiselect.vue +++ b/src/renderer/components/customertypes/CustomerTypesMultiselect.vue @@ -64,6 +64,3 @@ export default { methods: {} }; - - diff --git a/src/renderer/components/devicegroups/DeviceGroupCreateDialog.vue b/src/renderer/components/devicegroups/DeviceGroupCreateDialog.vue index 1bb63fe..b263737 100644 --- a/src/renderer/components/devicegroups/DeviceGroupCreateDialog.vue +++ b/src/renderer/components/devicegroups/DeviceGroupCreateDialog.vue @@ -28,7 +28,7 @@ import { createDeviceGroup } from "../../rest/sitewhere-device-groups-api"; DeviceGroupDialog } }) -export default class DeviceTypeCreateDialog extends CreateDialogComponent< +export default class DeviceGroupCreateDialog extends CreateDialogComponent< IDeviceGroup, IDeviceGroupCreateRequest > { diff --git a/src/renderer/components/devicegroups/DeviceGroupDetailHeader.vue b/src/renderer/components/devicegroups/DeviceGroupDetailHeader.vue index 761bed9..097a6b8 100644 --- a/src/renderer/components/devicegroups/DeviceGroupDetailHeader.vue +++ b/src/renderer/components/devicegroups/DeviceGroupDetailHeader.vue @@ -33,7 +33,7 @@ import AuthenticatedImage from "../common/AuthenticatedImage.vue"; AuthenticatedImage } }) -export default class DeviceDetailHeader extends HeaderComponent { +export default class DeviceGroupDetailHeader extends HeaderComponent { // Reference record as device group. get deviceGroup(): IDeviceGroup { return this.record; diff --git a/src/renderer/components/devicegroups/RolesField.vue b/src/renderer/components/devicegroups/RolesField.vue index 30ccb77..2898e10 100644 --- a/src/renderer/components/devicegroups/RolesField.vue +++ b/src/renderer/components/devicegroups/RolesField.vue @@ -38,7 +38,7 @@ import Vue from "vue"; import { Component, Prop, Watch } from "sitewhere-ide-common"; @Component -export default class Pager extends Vue { +export default class RolesField extends Vue { @Prop() readonly value!: string[]; @Prop() readonly icon!: string; diff --git a/src/renderer/components/devices/DeviceDeleteDialog.vue b/src/renderer/components/devices/DeviceDeleteDialog.vue index b95d059..f96e73d 100644 --- a/src/renderer/components/devices/DeviceDeleteDialog.vue +++ b/src/renderer/components/devices/DeviceDeleteDialog.vue @@ -49,6 +49,3 @@ export default class DeviceDeleteDialog extends DeleteDialogComponent { } } - - diff --git a/src/renderer/components/devices/DeviceListAreaFilter.vue b/src/renderer/components/devices/DeviceListAreaFilter.vue new file mode 100644 index 0000000..dca2e5b --- /dev/null +++ b/src/renderer/components/devices/DeviceListAreaFilter.vue @@ -0,0 +1,32 @@ + + + diff --git a/src/renderer/components/devices/DeviceListFilterDialog.vue b/src/renderer/components/devices/DeviceListFilterDialog.vue index d9fc82f..7d9dcc6 100644 --- a/src/renderer/components/devices/DeviceListFilterDialog.vue +++ b/src/renderer/components/devices/DeviceListFilterDialog.vue @@ -105,149 +105,111 @@ - - + // Called after filter update button is clicked. + onFilterUpdateClicked(e: any) { + var payload = this.generatePayload(); + this.$emit("filter", payload); + } + + // Called after cancel button is clicked. + onCancelClicked(e: any) { + this.$data.dialogVisible = false; + } +} + diff --git a/src/renderer/components/devicetypes/DeviceTypeDetailHeader.vue b/src/renderer/components/devicetypes/DeviceTypeDetailHeader.vue index 04dcaed..8ec40e0 100644 --- a/src/renderer/components/devicetypes/DeviceTypeDetailHeader.vue +++ b/src/renderer/components/devicetypes/DeviceTypeDetailHeader.vue @@ -39,7 +39,7 @@ import AuthenticatedImage from "../common/AuthenticatedImage.vue"; AuthenticatedImage } }) -export default class DeviceDetailHeader extends HeaderComponent { +export default class DeviceTypeDetailHeader extends HeaderComponent { // Reference record as device type. get deviceType(): IDeviceType { return this.record; diff --git a/src/renderer/components/devicetypes/DeviceTypeSelector.vue b/src/renderer/components/devicetypes/DeviceTypeSelector.vue index e3b784b..c8e09db 100644 --- a/src/renderer/components/devicetypes/DeviceTypeSelector.vue +++ b/src/renderer/components/devicetypes/DeviceTypeSelector.vue @@ -8,7 +8,7 @@ v-model="wrapped" icon="settings" > - + @@ -65,6 +65,3 @@ export default class DeviceTypeSelector extends Vue { } } - - diff --git a/src/renderer/components/global/GlobalMicroserviceEditor.vue b/src/renderer/components/global/GlobalMicroserviceEditor.vue index 6529536..03b7488 100644 --- a/src/renderer/components/global/GlobalMicroserviceEditor.vue +++ b/src/renderer/components/global/GlobalMicroserviceEditor.vue @@ -155,6 +155,3 @@ export default class GlobalMicroserviceEditor extends DetailComponent< } } - - diff --git a/src/renderer/components/global/GlobalMicroservicesList.vue b/src/renderer/components/global/GlobalMicroservicesList.vue index 1848b71..533342c 100644 --- a/src/renderer/components/global/GlobalMicroservicesList.vue +++ b/src/renderer/components/global/GlobalMicroservicesList.vue @@ -71,6 +71,3 @@ export default class GlobalMicroservicesList extends DetailComponent< } } - - diff --git a/src/renderer/components/login/RemoteConnectionDetails.vue b/src/renderer/components/login/RemoteConnectionDetails.vue new file mode 100644 index 0000000..0c5c543 --- /dev/null +++ b/src/renderer/components/login/RemoteConnectionDetails.vue @@ -0,0 +1,139 @@ + + + diff --git a/src/renderer/components/login/RemoteConnectionsList.vue b/src/renderer/components/login/RemoteConnectionsList.vue new file mode 100644 index 0000000..3b4ac02 --- /dev/null +++ b/src/renderer/components/login/RemoteConnectionsList.vue @@ -0,0 +1,173 @@ + + + diff --git a/src/renderer/components/login/RemotesDialog.vue b/src/renderer/components/login/RemotesDialog.vue new file mode 100644 index 0000000..743a4f9 --- /dev/null +++ b/src/renderer/components/login/RemotesDialog.vue @@ -0,0 +1,86 @@ + + + diff --git a/src/renderer/components/login/RemotesDropdown.vue b/src/renderer/components/login/RemotesDropdown.vue new file mode 100644 index 0000000..a0b0740 --- /dev/null +++ b/src/renderer/components/login/RemotesDropdown.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/renderer/components/microservice/ScriptCloneDialog.vue b/src/renderer/components/microservice/ScriptCloneDialog.vue index 57bc0c4..db5c8ce 100644 --- a/src/renderer/components/microservice/ScriptCloneDialog.vue +++ b/src/renderer/components/microservice/ScriptCloneDialog.vue @@ -11,7 +11,7 @@ @createClicked="onCreateClicked" @cancelClicked="onCancelClicked" > - + @@ -20,7 +20,6 @@ import { Component, Prop, DialogComponent, - DialogSection, ITabbedComponent, Refs } from "sitewhere-ide-common"; diff --git a/src/renderer/components/microservice/ScriptContentFields.vue b/src/renderer/components/microservice/ScriptContentFields.vue index 1c70c00..dcfb620 100644 --- a/src/renderer/components/microservice/ScriptContentFields.vue +++ b/src/renderer/components/microservice/ScriptContentFields.vue @@ -65,7 +65,6 @@ export default class ScriptContentFields extends DialogSection { /** Load list of script templates */ async loadTemplates() { - var component = this; let response: AxiosResponse = await listScriptTemplates( this.$store, this.identifier diff --git a/src/renderer/components/microservice/ScriptCreateCloneDialog.vue b/src/renderer/components/microservice/ScriptCreateCloneDialog.vue index 48ed627..588e47b 100644 --- a/src/renderer/components/microservice/ScriptCreateCloneDialog.vue +++ b/src/renderer/components/microservice/ScriptCreateCloneDialog.vue @@ -22,13 +22,7 @@ import { import ScriptCloneDialog from "./ScriptCloneDialog.vue"; -import { AxiosPromise } from "axios"; import { IScriptVersion } from "sitewhere-rest-api"; -import { createDevice } from "../../rest/sitewhere-devices-api"; -import { - createGlobalScript, - createTenantScript -} from "../../rest/sitewhere-scripting-api"; @Component({ components: { diff --git a/src/renderer/components/microservice/ScriptsContentEditor.vue b/src/renderer/components/microservice/ScriptsContentEditor.vue index ea142f8..fe58134 100644 --- a/src/renderer/components/microservice/ScriptsContentEditor.vue +++ b/src/renderer/components/microservice/ScriptsContentEditor.vue @@ -18,7 +18,7 @@ - - diff --git a/src/renderer/components/areas/AreaCreateDialog.vue b/src/renderer/components/areas/AreaCreateDialog.vue index 9be353a..735063a 100644 --- a/src/renderer/components/areas/AreaCreateDialog.vue +++ b/src/renderer/components/areas/AreaCreateDialog.vue @@ -11,6 +11,7 @@ diff --git a/src/renderer/components/areas/AreaDetail.vue b/src/renderer/components/areas/AreaDetail.vue index 514dfe0..0bdf574 100644 --- a/src/renderer/components/areas/AreaDetail.vue +++ b/src/renderer/components/areas/AreaDetail.vue @@ -7,7 +7,7 @@ :record="area" > @@ -71,6 +72,7 @@ import ZoneButton from "../common/navbuttons/ZoneButton.vue"; import EditButton from "../common/navbuttons/EditButton.vue"; import DeleteButton from "../common/navbuttons/DeleteButton.vue"; +import { Route } from "vue-router"; import { routeTo } from "../common/Utils"; import { AxiosPromise } from "axios"; import { NavigationIcon } from "../../libraries/constants"; @@ -102,8 +104,12 @@ export default class AreaDetail extends DetailComponent { // References. $refs!: Refs<{ + create: AreaCreateDialog; edit: AreaUpdateDialog; - delete: DialogComponent; + delete: AreaDeleteDialog; + subareas: AreaSubareas; + zoneCreate: ZoneCreateDialog; + zones: AreaZones; }>; /** Record as area */ @@ -121,6 +127,12 @@ export default class AreaDetail extends DetailComponent { return this.area ? this.area.name : ""; } + /** Called when component is reused */ + beforeRouteUpdate(to: Route, from: Route, next: any) { + this.display(to.params.token); + next(); + } + /** Load record */ loadRecord(token: string): AxiosPromise { let format: IAreaResponseFormat = { @@ -149,39 +161,41 @@ export default class AreaDetail extends DetailComponent { } } - // Called to add a subarea. + /** Called to add a subarea */ onAddSubarea() { - (this.$refs["areaCreate"] as any).onOpenDialog(); + this.$refs.create.open(); } - // Called after subarea added. + + /** Called after subarea added */ onSubareaAdded() { - this.$data.active = "areas"; - (this.$refs["subareas"] as any).refresh(); + this.$refs.subareas.refresh(); } - // Called to add a zone. + /** Called to add a zone */ onAddZone() { - (this.$refs["zoneCreate"] as any).onOpenDialog(); + this.$refs.zoneCreate.open(); } - // Called after zone added. + /** Called after zone added */ onZoneAdded() { - this.$data.active = "zones"; - (this.$refs["zones"] as any).refresh(); + this.$refs.zones.refresh(); this.refresh(); } - // Called when area is updated. + /** Called when area is updated */ onAreaUpdated() { this.refresh(); } + /** Called to open the delete dialog */ onDelete() { - (this.$refs["delete"] as any).showDeleteDialog(); + if (this.token) { + this.$refs.delete.open(this.token); + } } - // Called when area is deleted. - onAreaDeleted() { + /** Called when area is deleted */ + afterAreaDeleted() { routeTo(this, "/areas"); } diff --git a/src/renderer/components/areas/AreaListEntry.vue b/src/renderer/components/areas/AreaListEntry.vue index 33ce2a8..1ea3232 100644 --- a/src/renderer/components/areas/AreaListEntry.vue +++ b/src/renderer/components/areas/AreaListEntry.vue @@ -3,9 +3,9 @@ - +
-
+
@@ -44,7 +44,7 @@ export default class AreaListEntry extends Vue { // Handle area clicked. onAreaClicked() { - this.$emit("openArea", this.area); + this.$emit("open", this.area); } } diff --git a/src/renderer/components/areas/AreaSubareas.vue b/src/renderer/components/areas/AreaSubareas.vue index 8a6ebc0..9821f4f 100644 --- a/src/renderer/components/areas/AreaSubareas.vue +++ b/src/renderer/components/areas/AreaSubareas.vue @@ -7,11 +7,11 @@ > - + @@ -73,7 +73,7 @@ export default class AreaSubareas extends ListComponent< // Called to open an area. onOpenArea(area: IArea) { - routeTo(this, "/areas/" + this.areaToken); + routeTo(this, "/areas/" + area.token); } } diff --git a/src/renderer/components/areas/AreasList.vue b/src/renderer/components/areas/AreasList.vue index f1f86b8..4094133 100644 --- a/src/renderer/components/areas/AreasList.vue +++ b/src/renderer/components/areas/AreasList.vue @@ -9,14 +9,14 @@ > - + @@ -84,17 +84,17 @@ export default class AreasList extends ListComponent< return listAreas(this.$store, criteria, format); } - // Called to open an area. + /** Called to open an area */ onOpenArea(area: IArea) { routeTo(this, "/areas/" + area.token); } - // Called to open dialog. + /** Called to open dialog */ onAddArea() { this.$refs.add.open(); } - // Called when a new area is added. + /** Called when a new area is added */ onAreaAdded() { this.refresh(); } diff --git a/src/renderer/components/areas/ZoneCreateDialog.vue b/src/renderer/components/areas/ZoneCreateDialog.vue index 1aed93e..60d7489 100644 --- a/src/renderer/components/areas/ZoneCreateDialog.vue +++ b/src/renderer/components/areas/ZoneCreateDialog.vue @@ -1,62 +1,66 @@ - +}) +export default class ZoneCreateDialog extends CreateDialogComponent< + IZone, + IZoneCreateRequest +> { + @Prop() readonly area!: IArea; + + // References. + $refs!: Refs<{ + dialog: DialogComponent; + }>; + + /** Get wrapped dialog */ + getDialog(): DialogComponent { + return this.$refs.dialog; + } - + diff --git a/src/renderer/components/areas/ZoneDetailFields.vue b/src/renderer/components/areas/ZoneDetailFields.vue new file mode 100644 index 0000000..8e04faf --- /dev/null +++ b/src/renderer/components/areas/ZoneDetailFields.vue @@ -0,0 +1,154 @@ + + + diff --git a/src/renderer/components/areas/ZoneDialog.vue b/src/renderer/components/areas/ZoneDialog.vue index f430cca..cefde4b 100644 --- a/src/renderer/components/areas/ZoneDialog.vue +++ b/src/renderer/components/areas/ZoneDialog.vue @@ -1,228 +1,108 @@ - diff --git a/src/renderer/components/areas/ZoneUpdateDialog.vue b/src/renderer/components/areas/ZoneUpdateDialog.vue index a6b4de8..d0c923c 100644 --- a/src/renderer/components/areas/ZoneUpdateDialog.vue +++ b/src/renderer/components/areas/ZoneUpdateDialog.vue @@ -4,12 +4,12 @@ :area="area" style="display: none;" title="Update Zone" - width="600" + width="700" createLabel="Update" cancelLabel="Cancel" mode="update" @payload="onCommit" - > + /> diff --git a/src/renderer/components/areatypes/AreaTypeListEntry.vue b/src/renderer/components/areatypes/AreaTypeListEntry.vue index a42f05a..aec91a7 100644 --- a/src/renderer/components/areatypes/AreaTypeListEntry.vue +++ b/src/renderer/components/areatypes/AreaTypeListEntry.vue @@ -4,7 +4,7 @@ - + @@ -30,7 +30,7 @@ export default class AreaTypeListEntry extends Vue { // Callen when clicked. onAreaTypeClicked() { - this.$emit("openAreaType", this.areaType); + this.$emit("open", this.areaType); } } diff --git a/src/renderer/components/areatypes/AreaTypesList.vue b/src/renderer/components/areatypes/AreaTypesList.vue index eed307e..8f45812 100644 --- a/src/renderer/components/areatypes/AreaTypesList.vue +++ b/src/renderer/components/areatypes/AreaTypesList.vue @@ -9,14 +9,14 @@ > - + @@ -30,6 +30,7 @@ import AreaTypeCreateDialog from "./AreaTypeCreateDialog.vue"; import AddButton from "../common/navbuttons/AddButton.vue"; import { NavigationIcon } from "../../libraries/constants"; +import { routeTo } from "../common/Utils"; import { AxiosPromise } from "axios"; import { listAreaTypes } from "../../rest/sitewhere-area-types-api"; import { @@ -86,12 +87,7 @@ export default class AreaTypesList extends ListComponent< // Called when an area type is clicked. onOpenAreaType(areaType: IAreaType) { - var tenant = this.$store.getters.selectedTenant; - if (tenant) { - this.$router.push( - "/tenants/" + tenant.id + "/areatypes/" + areaType.token - ); - } + routeTo(this, "/areatypes/" + areaType.token); } // Called to open dialog. diff --git a/src/renderer/components/assets/AssetChooser.vue b/src/renderer/components/assets/AssetChooser.vue index e6033d5..469dff1 100644 --- a/src/renderer/components/assets/AssetChooser.vue +++ b/src/renderer/components/assets/AssetChooser.vue @@ -1,116 +1,62 @@ - - + diff --git a/src/renderer/components/assignments/AssignmentAreaFields.vue b/src/renderer/components/assignments/AssignmentAreaFields.vue new file mode 100644 index 0000000..166725e --- /dev/null +++ b/src/renderer/components/assignments/AssignmentAreaFields.vue @@ -0,0 +1,60 @@ + + + diff --git a/src/renderer/components/assignments/AssignmentAssetFields.vue b/src/renderer/components/assignments/AssignmentAssetFields.vue new file mode 100644 index 0000000..b46a2ac --- /dev/null +++ b/src/renderer/components/assignments/AssignmentAssetFields.vue @@ -0,0 +1,60 @@ + + + diff --git a/src/renderer/components/assignments/AssignmentCreateDialog.vue b/src/renderer/components/assignments/AssignmentCreateDialog.vue index 57b1ff8..d6e8f8e 100644 --- a/src/renderer/components/assignments/AssignmentCreateDialog.vue +++ b/src/renderer/components/assignments/AssignmentCreateDialog.vue @@ -1,56 +1,70 @@ - diff --git a/src/renderer/components/assignments/AssignmentCustomerFields.vue b/src/renderer/components/assignments/AssignmentCustomerFields.vue new file mode 100644 index 0000000..05b88a8 --- /dev/null +++ b/src/renderer/components/assignments/AssignmentCustomerFields.vue @@ -0,0 +1,60 @@ + + + diff --git a/src/renderer/components/assignments/AssignmentDialog.vue b/src/renderer/components/assignments/AssignmentDialog.vue index 4ccfd4f..d3d206e 100644 --- a/src/renderer/components/assignments/AssignmentDialog.vue +++ b/src/renderer/components/assignments/AssignmentDialog.vue @@ -1,288 +1,151 @@ - diff --git a/src/renderer/components/commands/CommandDeleteDialog.vue b/src/renderer/components/commands/CommandDeleteDialog.vue index b8915b3..16f34c5 100644 --- a/src/renderer/components/commands/CommandDeleteDialog.vue +++ b/src/renderer/components/commands/CommandDeleteDialog.vue @@ -1,56 +1,59 @@ - - + /** Called after create button is clicked */ + onDelete(e: any) { + this.delete(); + } + + /** Called after cancel button is clicked */ + onCancel(e: any) { + this.cancel(); + } +} + diff --git a/src/renderer/components/commands/CommandPanel.vue b/src/renderer/components/commands/CommandPanel.vue index f0ee935..faee096 100644 --- a/src/renderer/components/commands/CommandPanel.vue +++ b/src/renderer/components/commands/CommandPanel.vue @@ -1,11 +1,11 @@ @@ -85,8 +81,10 @@ export default class DevicesList extends ListComponent< > { $refs!: Refs<{ add: DeviceCreateDialog; + assign: AssignmentCreateDialog; }>; + selected: IDevice | null = null; filter: {} = {}; pageSizes: IPageSizes = [ { @@ -130,50 +128,46 @@ export default class DevicesList extends ListComponent< return listDevices(this.$store, criteria, format); } - // Called to show filter criteria dialog. + /** Called to show filter criteria dialog */ onShowFilterCriteria() { (this.$refs.filters as any).showFilterCriteriaDialog(); } - // Called when filter criteria are updated. + /** Called when filter criteria are updated */ onFilterUpdated(filter: any) { this.$data.filter = filter; this.refresh(); } - // Open device assignment dialog. + /** Open device assignment dialog */ onAssignDevice(device: IDevice) { - // let assignDialog = this.$refs["assign"]; - // assignDialog.deviceToken = device.token; - // assignDialog.onOpenDialog(); + this.selected = device; + this.$refs.assign.open(); } - // Called after new assignment is created. + /** Called after new assignment is created */ onAssignmentCreated() { this.refresh(); } - // Called when a new device is added. + /** Called when a new device is added */ onDeviceAdded() { this.refresh(); } - // Called to open detail page for device. + /** Called to open detail page for device */ onOpenDevice(device: IDevice) { routeTo(this, "/devices/" + device.token); } - // Called to open dialog. + /** Called to open dialog */ onAddDevice() { this.$refs.add.open(); } - // Called to invoke a batch command. + /** Called to invoke a batch command */ onBatchCommandInvocation() { (this.$refs.batch as any).onOpenDialog(); } } - - diff --git a/src/renderer/components/devicetypes/DeviceTypeCommands.vue b/src/renderer/components/devicetypes/DeviceTypeCommands.vue index 87b158a..c8f3176 100644 --- a/src/renderer/components/devicetypes/DeviceTypeCommands.vue +++ b/src/renderer/components/devicetypes/DeviceTypeCommands.vue @@ -9,11 +9,12 @@ > - + @@ -24,6 +25,7 @@ import { Component, Prop, Refs, ListComponent } from "sitewhere-ide-common"; import NoResultsPanel from "../common/NoResultsPanel.vue"; import CommandPanel from "../commands/CommandPanel.vue"; import CommandUpdateDialog from "../commands/CommandUpdateDialog.vue"; +import CommandDeleteDialog from "../commands/CommandDeleteDialog.vue"; import { AxiosPromise } from "axios"; import { listDeviceCommands } from "../../rest/sitewhere-device-commands-api"; @@ -38,7 +40,8 @@ import { components: { NoResultsPanel, CommandPanel, - CommandUpdateDialog + CommandUpdateDialog, + CommandDeleteDialog } }) export default class DeviceTypeCommands extends ListComponent< @@ -54,6 +57,7 @@ export default class DeviceTypeCommands extends ListComponent< // References. $refs!: Refs<{ edit: CommandUpdateDialog; + delete: CommandDeleteDialog; }>; /** Build search criteria for list */ @@ -79,12 +83,13 @@ export default class DeviceTypeCommands extends ListComponent< /** Edit an existing command */ onEditCommand(command: IDeviceCommand) { - console.log("Edit command"); this.$refs.edit.open(command.token); } /** Delete an existing command */ - onDeleteCommand(command: IDeviceCommand) {} + onDeleteCommand(command: IDeviceCommand) { + this.$refs.delete.open(command.token); + } } diff --git a/src/renderer/components/login/RemotesDropdown.vue b/src/renderer/components/login/RemotesDropdown.vue index a0b0740..d218139 100644 --- a/src/renderer/components/login/RemotesDropdown.vue +++ b/src/renderer/components/login/RemotesDropdown.vue @@ -1,5 +1,5 @@ - + /** Handle device type filter cleared */ + onDeviceTypeFilterCleared() { + this.$emit("clear"); + } + + /** Clear criteria */ + onClearCriteria() { + this.$emit("clear"); + } +} + diff --git a/src/renderer/components/devices/DeviceListFilterDeviceTypeFields.vue b/src/renderer/components/devices/DeviceListFilterDeviceTypeFields.vue new file mode 100644 index 0000000..4f10d2b --- /dev/null +++ b/src/renderer/components/devices/DeviceListFilterDeviceTypeFields.vue @@ -0,0 +1,50 @@ + + + diff --git a/src/renderer/components/devices/DeviceListFilterDialog.vue b/src/renderer/components/devices/DeviceListFilterDialog.vue index 7d9dcc6..0799262 100644 --- a/src/renderer/components/devices/DeviceListFilterDialog.vue +++ b/src/renderer/components/devices/DeviceListFilterDialog.vue @@ -1,215 +1,98 @@ diff --git a/src/renderer/components/devices/DevicesList.vue b/src/renderer/components/devices/DevicesList.vue index 1170db3..cc9d959 100644 --- a/src/renderer/components/devices/DevicesList.vue +++ b/src/renderer/components/devices/DevicesList.vue @@ -10,16 +10,17 @@ > - + @@ -39,14 +40,16 @@ import { } from "sitewhere-ide-common"; import AssignmentListEntry from "./AssignmentListEntry.vue"; +import AssignmentListFilterBar from "./AssignmentListFilterBar.vue"; import AssignmentCreateDialog from "./AssignmentCreateDialog.vue"; +import AssignmentListFilterDialog from "./AssignmentListFilterDialog.vue"; import AddButton from "../common/navbuttons/AddButton.vue"; import FilterButton from "../common/navbuttons/FilterButton.vue"; import { NavigationIcon } from "../../libraries/constants"; import { routeTo } from "../common/Utils"; import { AxiosPromise } from "axios"; -import { listDeviceAssignments } from "../../rest/sitewhere-device-assignments-api"; +import { searchDeviceAssignments } from "../../rest/sitewhere-device-assignments-api"; import { IDeviceAssignment, IDeviceAssignmentSearchCriteria, @@ -57,7 +60,9 @@ import { @Component({ components: { AssignmentListEntry, + AssignmentListFilterBar, AssignmentCreateDialog, + AssignmentListFilterDialog, AddButton, FilterButton } @@ -68,9 +73,11 @@ export default class AssignmentsList extends ListComponent< IDeviceAssignmentResponseFormat, IDeviceAssignmentSearchResults > { - $refs!: Refs<{}>; + $refs!: Refs<{ + filter: AssignmentListFilterDialog; + }>; - filter: {} = {}; + filter: IDeviceAssignmentSearchCriteria = {}; pageSizes: IPageSizes = [ { text: "20", @@ -93,8 +100,7 @@ export default class AssignmentsList extends ListComponent< /** Build search criteria for list */ buildSearchCriteria(): IDeviceAssignmentSearchCriteria { - let criteria: IDeviceAssignmentSearchCriteria = {}; - return criteria; + return this.filter; } /** Build response format for list */ @@ -110,11 +116,34 @@ export default class AssignmentsList extends ListComponent< criteria: IDeviceAssignmentSearchCriteria, format: IDeviceAssignmentResponseFormat ): AxiosPromise { - return listDeviceAssignments(this.$store, criteria, format); + return searchDeviceAssignments(this.$store, criteria, format); } - // Called to show filter criteria dialog. - onShowFilterCriteria() {} + /** Called to show filter criteria dialog */ + onShowFilterCriteria() { + this.$refs.filter.load(this.filter); + this.$refs.filter.openDialog(); + } + + /** Update filter criteria */ + onUpdateFilterCriteria(updated: IDeviceAssignmentSearchCriteria) { + this.filter = updated; + this.refresh(); + } + + /** Clears the filter criteria */ + onClearFilterCriteria() { + this.filter = {}; + this.$refs.filter.reset(); + this.refresh(); + } + + /** Called when filter criteria are updated */ + onFilterUpdated(filter: IDeviceAssignmentSearchCriteria) { + this.$refs.filter.closeDialog(); + this.filter = filter; + this.refresh(); + } /** Open device assignment detail page */ onOpenAssignment(assignment: IDeviceAssignment) { @@ -122,6 +151,3 @@ export default class AssignmentsList extends ListComponent< } } - - diff --git a/src/renderer/components/common/form/DialogForm.vue b/src/renderer/components/common/form/DialogForm.vue index 0499f97..4bd1f35 100644 --- a/src/renderer/components/common/form/DialogForm.vue +++ b/src/renderer/components/common/form/DialogForm.vue @@ -1,7 +1,7 @@ diff --git a/src/renderer/components/common/form/Multichooser.vue b/src/renderer/components/common/form/Multichooser.vue new file mode 100644 index 0000000..d5db586 --- /dev/null +++ b/src/renderer/components/common/form/Multichooser.vue @@ -0,0 +1,79 @@ + + + + + diff --git a/src/renderer/components/common/search/FilterChipComponent.ts b/src/renderer/components/common/search/FilterChipComponent.ts index bcff7cb..50d2bf4 100644 --- a/src/renderer/components/common/search/FilterChipComponent.ts +++ b/src/renderer/components/common/search/FilterChipComponent.ts @@ -1,19 +1,25 @@ import Vue from "vue"; -import { Component, Prop } from "vue-property-decorator"; +import { Component, Prop, Watch } from "vue-property-decorator"; import { handleError } from "../Utils"; import { AxiosPromise, AxiosResponse } from "axios"; +import { IBrandedEntity } from "sitewhere-rest-api"; /** - * Base class for create dialogs. + * Base class for filter chip components. */ @Component -export class FilterChipComponent extends Vue { +export class FilterChipComponent extends Vue { @Prop() readonly token!: string; @Prop() readonly tooltip!: string; record: T | null = null; + @Watch("token", { immediate: true }) + onSelectionUpdated(updated: string) { + this.refresh(); + } + /** Return method to load record */ load(): AxiosPromise | T { throw new Error("Must implement load() method."); @@ -36,6 +42,16 @@ export class FilterChipComponent extends Vue { } } + /** Get image information */ + get image() { + return this.record ? this.record.imageUrl : null; + } + + /** Get label information */ + get label() { + return this.record ? (this.record as any).name : null; + } + /** Called when close button is clicked */ onFilterClosed() { this.$emit("closed", this.token); diff --git a/src/renderer/components/common/search/MultifilterChipComponent.ts b/src/renderer/components/common/search/MultifilterChipComponent.ts new file mode 100644 index 0000000..9073782 --- /dev/null +++ b/src/renderer/components/common/search/MultifilterChipComponent.ts @@ -0,0 +1,76 @@ +import Vue from "vue"; +import { Component, Prop, Watch } from "vue-property-decorator"; + +import { handleError } from "../Utils"; +import { AxiosPromise, AxiosResponse } from "axios"; +import { IBrandedEntity } from "sitewhere-rest-api"; + +/** + * Base class for multiple filter chip components. + */ +@Component +export class MultifilterChipComponent extends Vue { + @Prop() readonly tokens!: string[]; + @Prop() readonly tooltip!: string; + + record: T | null = null; + + @Watch("tokens", { immediate: true }) + onSelectionUpdated(updated: string[]) { + this.refresh(); + } + + /** Return method to load record */ + load(): AxiosPromise | T { + throw new Error("Must implement load() method."); + } + + /** Type guard to differentiate between responses */ + isAxiosResponse( + response: AxiosResponse | T + ): response is AxiosResponse { + return (>response).data !== undefined; + } + + /** Refresh record content based on token */ + async refresh() { + try { + if (this.token) { + let response: AxiosResponse | T = await this.load(); + this.record = this.isAxiosResponse(response) ? response.data : response; + } else { + this.record = null; + } + } catch (err) { + handleError(err); + } + } + + /** Token which will be displayed */ + get token(): string | null { + return this.tokens && this.tokens.length > 0 ? this.tokens[0] : null; + } + + /** Get image information */ + get image() { + return this.record ? this.record.imageUrl : null; + } + + /** Get label information */ + get label() { + if (this.record) { + let name = (this.record as any).name; + if (this.tokens.length === 1) { + return name; + } else if (this.tokens.length > 1) { + return `${name} and ${this.tokens.length - 1} more`; + } + } + return null; + } + + /** Called when close button is clicked */ + onFilterClosed() { + this.$emit("closed", this.tokens); + } +} diff --git a/src/renderer/components/customers/CustomerAssignments.vue b/src/renderer/components/customers/CustomerAssignments.vue index e231df0..d8679e8 100644 --- a/src/renderer/components/customers/CustomerAssignments.vue +++ b/src/renderer/components/customers/CustomerAssignments.vue @@ -49,7 +49,7 @@ export default class CustomerAssignments extends ListComponent< /** Build search criteria for list */ buildSearchCriteria(): IDeviceAssignmentSearchCriteria { let criteria: IDeviceAssignmentSearchCriteria = {}; - criteria.customerToken = this.customerToken; + criteria.customerTokens = [this.customerToken]; return criteria; } diff --git a/src/renderer/components/customers/CustomerMultifilterChip.vue b/src/renderer/components/customers/CustomerMultifilterChip.vue new file mode 100644 index 0000000..2a7e1b9 --- /dev/null +++ b/src/renderer/components/customers/CustomerMultifilterChip.vue @@ -0,0 +1,38 @@ + + + diff --git a/src/renderer/components/customers/CustomerMultiselect.vue b/src/renderer/components/customers/CustomerMultiselect.vue new file mode 100644 index 0000000..abffe4a --- /dev/null +++ b/src/renderer/components/customers/CustomerMultiselect.vue @@ -0,0 +1,57 @@ + + + diff --git a/src/renderer/components/devices/DeviceAssignmentHistory.vue b/src/renderer/components/devices/DeviceAssignmentHistory.vue index 98d6dbd..3c3bb45 100644 --- a/src/renderer/components/devices/DeviceAssignmentHistory.vue +++ b/src/renderer/components/devices/DeviceAssignmentHistory.vue @@ -54,7 +54,7 @@ export default class DeviceAssignmentHistory extends ListComponent< /** Build search criteria for list */ buildSearchCriteria(): IDeviceAssignmentSearchCriteria { let criteria: IDeviceAssignmentSearchCriteria = {}; - criteria.deviceToken = this.deviceToken; + criteria.deviceTokens = [this.deviceToken]; return criteria; } diff --git a/src/renderer/components/devices/DeviceListFilterDialog.vue b/src/renderer/components/devices/DeviceListFilterDialog.vue index 0799262..0760550 100644 --- a/src/renderer/components/devices/DeviceListFilterDialog.vue +++ b/src/renderer/components/devices/DeviceListFilterDialog.vue @@ -26,7 +26,6 @@ diff --git a/src/renderer/components/devicetypes/DeviceTypeMultifilterChip.vue b/src/renderer/components/devicetypes/DeviceTypeMultifilterChip.vue new file mode 100644 index 0000000..ebf3253 --- /dev/null +++ b/src/renderer/components/devicetypes/DeviceTypeMultifilterChip.vue @@ -0,0 +1,38 @@ + + + diff --git a/src/renderer/components/devicetypes/DeviceTypeMultiselect.vue b/src/renderer/components/devicetypes/DeviceTypeMultiselect.vue new file mode 100644 index 0000000..3247bc4 --- /dev/null +++ b/src/renderer/components/devicetypes/DeviceTypeMultiselect.vue @@ -0,0 +1,55 @@ + + + diff --git a/src/renderer/rest/sitewhere-device-assignments-api.ts b/src/renderer/rest/sitewhere-device-assignments-api.ts index 69ce7c3..ffd004c 100644 --- a/src/renderer/rest/sitewhere-device-assignments-api.ts +++ b/src/renderer/rest/sitewhere-device-assignments-api.ts @@ -6,6 +6,7 @@ import { createCoreApiCall, loaderWrapper } from "./sitewhere-api-wrapper"; import { IDeviceAssignmentCreateRequest, IDeviceAssignment, + IDeviceAssignmentSimpleCriteria, IDeviceAssignmentSearchCriteria, IDeviceAssignmentResponseFormat, IDeviceAssignmentSearchResults, @@ -73,7 +74,7 @@ export function getDeviceAssignment( */ export function listDeviceAssignments( store: Store, - criteria: IDeviceAssignmentSearchCriteria, + criteria: IDeviceAssignmentSimpleCriteria, format: IDeviceAssignmentResponseFormat ): Promise> { let axios: AxiosInstance = createCoreApiCall(store); @@ -87,6 +88,28 @@ export function listDeviceAssignments( return loaderWrapper(store, api); } +/** + * Search device assignments that match criteria. + * @param store + * @param criteria + * @param format + */ +export function searchDeviceAssignments( + store: Store, + criteria: IDeviceAssignmentSearchCriteria, + format: IDeviceAssignmentResponseFormat +): Promise> { + let axios: AxiosInstance = createCoreApiCall(store); + let api: AxiosPromise< + IDeviceAssignmentSearchResults + > = SiteWhere.API.DeviceAssignments.searchDeviceAssignments( + axios, + criteria, + format + ); + return loaderWrapper(store, api); +} + /** * Delete an existing device assignment. * @param store From bc8fd0f5ca42f482583818a282ffd10331b2b79a Mon Sep 17 00:00:00 2001 From: Derek Adams Date: Mon, 15 Jul 2019 17:50:08 -0400 Subject: [PATCH 05/31] Assignment filters + updated APIs. --- package-lock.json | 6 +- package.json | 2 +- .../components/areas/AreaMultifilterChip.vue | 2 +- .../assets/AssetMultifilterChip.vue | 2 +- .../commands/CommandCreateDialog.vue | 7 +- .../commands/CommandDeleteDialog.vue | 16 +- .../commands/CommandUpdateDialog.vue | 16 +- .../customers/CustomerMultifilterChip.vue | 2 +- .../components/devices/DeviceDetailHeader.vue | 19 +- .../devicetypes/DeviceTypeCommands.vue | 4 +- .../devicetypes/DeviceTypeDetail.vue | 20 +- .../devicetypes/DeviceTypeFilterChip.vue | 2 +- .../devicetypes/DeviceTypeMultifilterChip.vue | 2 +- .../devicetypes/DeviceTypeStatuses.vue | 25 ++- .../statuses/DeviceStatusCreateDialog.vue | 4 +- .../statuses/DeviceStatusDeleteDialog.vue | 88 ++++---- .../statuses/DeviceStatusListEntry.vue | 5 +- .../statuses/DeviceStatusUpdateDialog.vue | 20 +- .../rest/sitewhere-device-commands-api.ts | 70 ------- .../rest/sitewhere-device-statuses-api.ts | 70 ------- .../rest/sitewhere-device-types-api.ts | 196 +++++++++++++++++- 21 files changed, 327 insertions(+), 251 deletions(-) diff --git a/package-lock.json b/package-lock.json index c5f96ea..d01ac68 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12982,9 +12982,9 @@ } }, "sitewhere-rest-api": { - "version": "1.0.17", - "resolved": "https://registry.npmjs.org/sitewhere-rest-api/-/sitewhere-rest-api-1.0.17.tgz", - "integrity": "sha512-zOuswE5eYNctyCvcvgknpIVfO1Cg9vXgJ1ZjZvwmI5kcvhca4w1HYl5/F11iJYTvw7wz1SGQ2tlq6vjhnm2+5g==", + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/sitewhere-rest-api/-/sitewhere-rest-api-1.0.20.tgz", + "integrity": "sha512-pcC/JkE2TjCZouDF3v/blqLoJF7Nmv0QrfwoSi4qTsynbpIzrTSu+015Ua672UnVmxm7FVKcSWfHwm+fjdbY5A==", "requires": { "axios": "0.18.1" } diff --git a/package.json b/package.json index 92d7ad2..4ba5e40 100644 --- a/package.json +++ b/package.json @@ -85,7 +85,7 @@ "material-icons": "^0.2.3", "moment": "^2.21.0", "mqtt": "^2.16.0", - "sitewhere-rest-api": "^1.0.17", + "sitewhere-rest-api": "^1.0.20", "sockjs-client": "^1.1.4", "source-map-support": "^0.5.8", "universal-analytics": "^0.4.20", diff --git a/src/renderer/components/areas/AreaMultifilterChip.vue b/src/renderer/components/areas/AreaMultifilterChip.vue index 718a313..ff37348 100644 --- a/src/renderer/components/areas/AreaMultifilterChip.vue +++ b/src/renderer/components/areas/AreaMultifilterChip.vue @@ -11,7 +11,7 @@ - - diff --git a/src/renderer/components/commands/CommandDeleteDialog.vue b/src/renderer/components/commands/CommandDeleteDialog.vue index 16f34c5..ea27c63 100644 --- a/src/renderer/components/commands/CommandDeleteDialog.vue +++ b/src/renderer/components/commands/CommandDeleteDialog.vue @@ -12,7 +12,7 @@ diff --git a/src/renderer/components/statuses/DeviceStatusCreateDialog.vue b/src/renderer/components/statuses/DeviceStatusCreateDialog.vue index 3b5faf0..8f1346b 100644 --- a/src/renderer/components/statuses/DeviceStatusCreateDialog.vue +++ b/src/renderer/components/statuses/DeviceStatusCreateDialog.vue @@ -22,7 +22,7 @@ import DeviceStatusDialog from "./DeviceStatusDialog.vue"; import { AxiosPromise } from "axios"; import { IDeviceStatus, IDeviceStatusCreateRequest } from "sitewhere-rest-api"; -import { createDeviceStatus } from "../../rest/sitewhere-device-statuses-api"; +import { createDeviceStatus } from "../../rest/sitewhere-device-types-api"; @Component({ components: { @@ -52,7 +52,7 @@ export default class DeviceStatusCreateDialog extends CreateDialogComponent< /** Implemented in subclasses to save payload */ save(payload: IDeviceStatusCreateRequest): AxiosPromise { - return createDeviceStatus(this.$store, payload); + return createDeviceStatus(this.$store, this.deviceTypeToken, payload); } /** Implemented in subclasses for after-save */ diff --git a/src/renderer/components/statuses/DeviceStatusDeleteDialog.vue b/src/renderer/components/statuses/DeviceStatusDeleteDialog.vue index 0526ac4..abe3bcd 100644 --- a/src/renderer/components/statuses/DeviceStatusDeleteDialog.vue +++ b/src/renderer/components/statuses/DeviceStatusDeleteDialog.vue @@ -1,48 +1,58 @@ - - + /** Load payload */ + prepareDelete(command: IDeviceStatus): AxiosPromise { + return deleteDeviceStatus(this.$store, this.deviceTypeToken, command.token); + } + + /** Called after create button is clicked */ + onDelete(e: any) { + this.delete(); + } + + /** Called after cancel button is clicked */ + onCancel(e: any) { + this.cancel(); + } +} + diff --git a/src/renderer/components/statuses/DeviceStatusListEntry.vue b/src/renderer/components/statuses/DeviceStatusListEntry.vue index 1328c93..09f10ef 100644 --- a/src/renderer/components/statuses/DeviceStatusListEntry.vue +++ b/src/renderer/components/statuses/DeviceStatusListEntry.vue @@ -1,7 +1,7 @@ @@ -93,7 +93,7 @@ export default class AreaTypeDialog extends DialogComponent { if (this.$refs.metadata) { this.$refs.metadata.reset(); } - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); } // Load dialog from a given payload. @@ -113,12 +113,12 @@ export default class AreaTypeDialog extends DialogComponent { // Called after create button is clicked. onCreateClicked(e: any) { if (!this.$refs.details.validate()) { - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); return; } if (!this.$refs.branding.validate()) { - this.$refs.dialog.setActiveTab("branding"); + this.$refs.dialog.setActiveTab(1); return; } diff --git a/src/renderer/components/assets/AssetDialog.vue b/src/renderer/components/assets/AssetDialog.vue index 6a72b4f..87a529c 100644 --- a/src/renderer/components/assets/AssetDialog.vue +++ b/src/renderer/components/assets/AssetDialog.vue @@ -18,13 +18,13 @@ @@ -87,7 +87,7 @@ export default class AssetDialog extends DialogComponent { if (this.$refs.metadata) { this.$refs.metadata.reset(); } - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); } // Load dialog from a given payload. @@ -107,12 +107,12 @@ export default class AssetDialog extends DialogComponent { // Called after create button is clicked. onCreateClicked(e: any) { if (!this.$refs.details.validate()) { - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); return; } if (!this.$refs.branding.validate()) { - this.$refs.dialog.setActiveTab("branding"); + this.$refs.dialog.setActiveTab(1); return; } diff --git a/src/renderer/components/assettypes/AssetTypeDialog.vue b/src/renderer/components/assettypes/AssetTypeDialog.vue index 623631e..4b81bf0 100644 --- a/src/renderer/components/assettypes/AssetTypeDialog.vue +++ b/src/renderer/components/assettypes/AssetTypeDialog.vue @@ -18,13 +18,13 @@ @@ -87,7 +87,7 @@ export default class AssetTypeDialog extends DialogComponent { if (this.$refs.metadata) { this.$refs.metadata.reset(); } - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); } // Load dialog from a given payload. @@ -107,12 +107,12 @@ export default class AssetTypeDialog extends DialogComponent { // Called after create button is clicked. onCreateClicked(e: any) { if (!this.$refs.details.validate()) { - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); return; } if (!this.$refs.branding.validate()) { - this.$refs.dialog.setActiveTab("branding"); + this.$refs.dialog.setActiveTab(1); return; } diff --git a/src/renderer/components/assignments/AssignmentDialog.vue b/src/renderer/components/assignments/AssignmentDialog.vue index 5118149..add579c 100644 --- a/src/renderer/components/assignments/AssignmentDialog.vue +++ b/src/renderer/components/assignments/AssignmentDialog.vue @@ -109,7 +109,7 @@ export default class AssignmentDialog extends DialogComponent< this.$refs.metadata.reset(); } if (this.$refs.dialog) { - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); } } @@ -133,15 +133,15 @@ export default class AssignmentDialog extends DialogComponent< // Called after create button is clicked. onCreateClicked(e: any) { if (!this.$refs.customer.validate()) { - this.$refs.dialog.setActiveTab("customer"); + this.$refs.dialog.setActiveTab(0); return; } if (!this.$refs.area.validate()) { - this.$refs.dialog.setActiveTab("area"); + this.$refs.dialog.setActiveTab(1); return; } if (!this.$refs.asset.validate()) { - this.$refs.dialog.setActiveTab("asset"); + this.$refs.dialog.setActiveTab(2); return; } diff --git a/src/renderer/components/assignments/AssignmentListFilterDialog.vue b/src/renderer/components/assignments/AssignmentListFilterDialog.vue index 16239b3..36fdede 100644 --- a/src/renderer/components/assignments/AssignmentListFilterDialog.vue +++ b/src/renderer/components/assignments/AssignmentListFilterDialog.vue @@ -104,7 +104,7 @@ export default class AssignmentListFilterDialog extends DialogComponent< this.$refs.asset.reset(); } if (this.$refs.dialog) { - this.$refs.dialog.setActiveTab("devicetype"); + this.$refs.dialog.setActiveTab(0); } } @@ -128,19 +128,19 @@ export default class AssignmentListFilterDialog extends DialogComponent< /** Called after create button is clicked */ onCreateClicked(e: any) { if (!this.$refs.devicetype.validate()) { - this.$refs.dialog.setActiveTab("devicetype"); + this.$refs.dialog.setActiveTab(0); return; } if (!this.$refs.customer.validate()) { - this.$refs.dialog.setActiveTab("customer"); + this.$refs.dialog.setActiveTab(1); return; } if (!this.$refs.area.validate()) { - this.$refs.dialog.setActiveTab("area"); + this.$refs.dialog.setActiveTab(2); return; } if (!this.$refs.asset.validate()) { - this.$refs.dialog.setActiveTab("asset"); + this.$refs.dialog.setActiveTab(3); return; } diff --git a/src/renderer/components/commands/CommandDetailFields.vue b/src/renderer/components/commands/CommandDetailFields.vue index ccd81ba..a9cd94d 100644 --- a/src/renderer/components/commands/CommandDetailFields.vue +++ b/src/renderer/components/commands/CommandDetailFields.vue @@ -120,6 +120,3 @@ export default class CommandDetailFields extends DialogSection { } } - - diff --git a/src/renderer/components/commands/CommandDialog.vue b/src/renderer/components/commands/CommandDialog.vue index 6f4bb48..293ec88 100644 --- a/src/renderer/components/commands/CommandDialog.vue +++ b/src/renderer/components/commands/CommandDialog.vue @@ -18,13 +18,13 @@ @@ -92,7 +92,7 @@ export default class CommandDialog extends DialogComponent { if (this.$refs.metadata) { this.$refs.metadata.reset(); } - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); } // Load dialog from a given payload. @@ -112,12 +112,12 @@ export default class CommandDialog extends DialogComponent { // Called after create button is clicked. onCreateClicked(e: any) { if (!this.$refs.details.validate()) { - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); return; } if (!this.$refs.parameters.validate()) { - this.$refs.dialog.setActiveTab("parameters"); + this.$refs.dialog.setActiveTab(1); return; } @@ -127,6 +127,3 @@ export default class CommandDialog extends DialogComponent { } } - - diff --git a/src/renderer/components/commands/CommandNamespaceListEntry.vue b/src/renderer/components/commands/CommandNamespaceListEntry.vue index 7340db7..8318692 100644 --- a/src/renderer/components/commands/CommandNamespaceListEntry.vue +++ b/src/renderer/components/commands/CommandNamespaceListEntry.vue @@ -43,6 +43,3 @@ export default class CommandNamespaceListEntry extends Vue { } } - - diff --git a/src/renderer/components/commands/CommandSelector.vue b/src/renderer/components/commands/CommandSelector.vue index 2150a87..0dfe7b5 100644 --- a/src/renderer/components/commands/CommandSelector.vue +++ b/src/renderer/components/commands/CommandSelector.vue @@ -81,6 +81,3 @@ export default class CommandSelector extends Vue { } } - - diff --git a/src/renderer/components/commands/CommandUpdateDialog.vue b/src/renderer/components/commands/CommandUpdateDialog.vue index 77a475f..18cfb09 100644 --- a/src/renderer/components/commands/CommandUpdateDialog.vue +++ b/src/renderer/components/commands/CommandUpdateDialog.vue @@ -82,6 +82,3 @@ export default class CommandUpdateDialog extends EditDialogComponent< } } - - diff --git a/src/renderer/components/commands/ParametersPanel.vue b/src/renderer/components/commands/ParametersPanel.vue index 0667ccf..5bd3626 100644 --- a/src/renderer/components/commands/ParametersPanel.vue +++ b/src/renderer/components/commands/ParametersPanel.vue @@ -18,7 +18,7 @@ >{{ (props.item.type.length > 25) ? props.item.type.substring(0, 25) + "..." : props.item.type }} - + @@ -36,7 +36,7 @@ - + - + @@ -196,6 +196,3 @@ export default class ParametersPanel extends DialogSection { } } - - diff --git a/src/renderer/components/common/form/DialogForm.vue b/src/renderer/components/common/form/DialogForm.vue index 4bd1f35..8eed358 100644 --- a/src/renderer/components/common/form/DialogForm.vue +++ b/src/renderer/components/common/form/DialogForm.vue @@ -1,5 +1,5 @@ @@ -93,7 +93,7 @@ export default class CustomerTypeDialog extends DialogComponent { if (this.$refs.metadata) { this.$refs.metadata.reset(); } - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); } // Load dialog from a given payload. @@ -113,12 +113,12 @@ export default class CustomerTypeDialog extends DialogComponent { // Called after create button is clicked. onCreateClicked(e: any) { if (!this.$refs.details.validate()) { - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); return; } if (!this.$refs.branding.validate()) { - this.$refs.dialog.setActiveTab("branding"); + this.$refs.dialog.setActiveTab(1); return; } diff --git a/src/renderer/components/devicegroups/DeviceGroupDialog.vue b/src/renderer/components/devicegroups/DeviceGroupDialog.vue index a1e89ff..283ab0e 100644 --- a/src/renderer/components/devicegroups/DeviceGroupDialog.vue +++ b/src/renderer/components/devicegroups/DeviceGroupDialog.vue @@ -18,13 +18,13 @@ @@ -87,7 +87,7 @@ export default class DeviceGroupDialog extends DialogComponent { if (this.$refs.metadata) { this.$refs.metadata.reset(); } - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); } // Load dialog from a given payload. @@ -107,12 +107,12 @@ export default class DeviceGroupDialog extends DialogComponent { // Called after create button is clicked. onCreateClicked(e: any) { if (!this.$refs.details.validate()) { - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); return; } if (!this.$refs.branding.validate()) { - this.$refs.dialog.setActiveTab("branding"); + this.$refs.dialog.setActiveTab(1); return; } @@ -122,6 +122,3 @@ export default class DeviceGroupDialog extends DialogComponent { } } - - diff --git a/src/renderer/components/devices/DeviceDialog.vue b/src/renderer/components/devices/DeviceDialog.vue index 32a95c1..538ec8e 100644 --- a/src/renderer/components/devices/DeviceDialog.vue +++ b/src/renderer/components/devices/DeviceDialog.vue @@ -17,10 +17,10 @@ @@ -76,7 +76,7 @@ export default class DeviceDialog extends DialogComponent { if (this.$refs.metadata) { this.$refs.metadata.reset(); } - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); } // Load dialog from a given payload. @@ -93,7 +93,7 @@ export default class DeviceDialog extends DialogComponent { // Called after create button is clicked. onCreateClicked(e: any) { if (!this.$refs.details.validate()) { - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); return; } @@ -102,6 +102,3 @@ export default class DeviceDialog extends DialogComponent { } } - - diff --git a/src/renderer/components/devicetypes/DeviceTypeDialog.vue b/src/renderer/components/devicetypes/DeviceTypeDialog.vue index 9ba89bb..97df1b3 100644 --- a/src/renderer/components/devicetypes/DeviceTypeDialog.vue +++ b/src/renderer/components/devicetypes/DeviceTypeDialog.vue @@ -18,13 +18,13 @@ @@ -87,7 +87,7 @@ export default class DeviceTypeDialog extends DialogComponent { if (this.$refs.metadata) { this.$refs.metadata.reset(); } - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); } // Load dialog from a given payload. @@ -107,12 +107,12 @@ export default class DeviceTypeDialog extends DialogComponent { // Called after create button is clicked. onCreateClicked(e: any) { if (!this.$refs.details.validate()) { - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); return; } if (!this.$refs.branding.validate()) { - this.$refs.dialog.setActiveTab("branding"); + this.$refs.dialog.setActiveTab(1); return; } @@ -122,6 +122,3 @@ export default class DeviceTypeDialog extends DialogComponent { } } - - diff --git a/src/renderer/components/microservice/ScriptCloneDialog.vue b/src/renderer/components/microservice/ScriptCloneDialog.vue index db5c8ce..87a9406 100644 --- a/src/renderer/components/microservice/ScriptCloneDialog.vue +++ b/src/renderer/components/microservice/ScriptCloneDialog.vue @@ -63,7 +63,7 @@ export default class ScriptsDialog extends DialogComponent { if (this.$refs.details) { this.$refs.details.reset(); } - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); } // Load dialog from a given payload. @@ -77,7 +77,7 @@ export default class ScriptsDialog extends DialogComponent { // Called after create button is clicked. onCreateClicked(e: any) { if (!this.$refs.details.validate()) { - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); return; } diff --git a/src/renderer/components/microservice/ScriptsDialog.vue b/src/renderer/components/microservice/ScriptsDialog.vue index 56d7bd8..186c17b 100644 --- a/src/renderer/components/microservice/ScriptsDialog.vue +++ b/src/renderer/components/microservice/ScriptsDialog.vue @@ -86,7 +86,7 @@ export default class ScriptsDialog extends DialogComponent< if (this.$refs.content) { this.$refs.content.reset(); } - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); } // Load dialog from a given payload. @@ -103,12 +103,12 @@ export default class ScriptsDialog extends DialogComponent< // Called after create button is clicked. onCreateClicked(e: any) { if (!this.$refs.details.validate()) { - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); return; } if (!this.$refs.content.validate()) { - this.$refs.dialog.setActiveTab("content"); + this.$refs.dialog.setActiveTab(1); return; } diff --git a/src/renderer/components/statuses/DeviceStatusDialog.vue b/src/renderer/components/statuses/DeviceStatusDialog.vue index c4cb278..53448a2 100644 --- a/src/renderer/components/statuses/DeviceStatusDialog.vue +++ b/src/renderer/components/statuses/DeviceStatusDialog.vue @@ -17,10 +17,10 @@ @@ -81,7 +81,7 @@ export default class DeviceStatusDialog extends DialogComponent { if (this.$refs.metadata) { this.$refs.metadata.reset(); } - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); } // Load dialog from a given payload. @@ -98,7 +98,7 @@ export default class DeviceStatusDialog extends DialogComponent { // Called after create button is clicked. onCreateClicked(e: any) { if (!this.$refs.details.validate()) { - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); return; } diff --git a/src/renderer/components/tenants/TenantDialog.vue b/src/renderer/components/tenants/TenantDialog.vue index ddb0221..eb2e637 100644 --- a/src/renderer/components/tenants/TenantDialog.vue +++ b/src/renderer/components/tenants/TenantDialog.vue @@ -18,13 +18,13 @@ @@ -87,7 +87,7 @@ export default class TenantDialog extends DialogComponent { if (this.$refs.metadata) { this.$refs.metadata.reset(); } - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); } // Load dialog from a given payload. @@ -107,12 +107,12 @@ export default class TenantDialog extends DialogComponent { // Called after create button is clicked. onCreateClicked(e: any) { if (!this.$refs.details.validate()) { - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); return; } if (!this.$refs.branding.validate()) { - this.$refs.dialog.setActiveTab("branding"); + this.$refs.dialog.setActiveTab(1); return; } diff --git a/src/renderer/components/users/UserDialog.vue b/src/renderer/components/users/UserDialog.vue index 04e3e49..01a4cda 100644 --- a/src/renderer/components/users/UserDialog.vue +++ b/src/renderer/components/users/UserDialog.vue @@ -18,13 +18,13 @@ @@ -87,7 +87,7 @@ export default class UserDialog extends DialogComponent { if (this.$refs.metadata) { this.$refs.metadata.reset(); } - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); } // Load dialog from a given payload. @@ -107,12 +107,12 @@ export default class UserDialog extends DialogComponent { // Called after create button is clicked. onCreateClicked(e: any) { if (!this.$refs.details.validate()) { - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); return; } if (!this.$refs.permissions.validate()) { - this.$refs.dialog.setActiveTab("permissions"); + this.$refs.dialog.setActiveTab(1); return; } @@ -122,6 +122,3 @@ export default class UserDialog extends DialogComponent { } } - - From 2a972645ef4e003c4effdee4dbb309d200c1804e Mon Sep 17 00:00:00 2001 From: Derek Adams Date: Sat, 20 Jul 2019 09:04:31 -0400 Subject: [PATCH 07/31] Fix area bounds editing. --- src/renderer/components/areas/AreaBoundsPanel.vue | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/renderer/components/areas/AreaBoundsPanel.vue b/src/renderer/components/areas/AreaBoundsPanel.vue index 2defa36..a5a762b 100644 --- a/src/renderer/components/areas/AreaBoundsPanel.vue +++ b/src/renderer/components/areas/AreaBoundsPanel.vue @@ -58,8 +58,6 @@ export default class AreaBoundsPanel extends DialogSection { /** Initialize map */ onInitializeMap() { - console.log("initializing map"); - var component = this; let map: Map | null = this.getMap(); if (map) { @@ -99,7 +97,6 @@ export default class AreaBoundsPanel extends DialogSection { /** Load form data from an object */ load(input: any): void { this.bounds = input.bounds; - console.log("loaded from bounds", this.bounds); } /** Save form data to an object */ @@ -254,7 +251,11 @@ export default class AreaBoundsPanel extends DialogSection { /** Edit existing bounds layer */ editBoundsLayer(e: any) { - console.log("bounds edit", e); + if (this.boundsLayer) { + this.bounds = MapUtils.leafletToSwBounds( + this.boundsLayer.getLatLngs()[0] + ); + } } /** Remove existing bounds layer */ From d76f6fed7fd36a627e1c10e3b3576f748e3bdd42 Mon Sep 17 00:00:00 2001 From: Derek Adams Date: Sat, 20 Jul 2019 09:20:38 -0400 Subject: [PATCH 08/31] Fix sub-customer navigation. --- .../components/customers/CustomerDetail.vue | 36 ++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/src/renderer/components/customers/CustomerDetail.vue b/src/renderer/components/customers/CustomerDetail.vue index 460226a..f99d6fb 100644 --- a/src/renderer/components/customers/CustomerDetail.vue +++ b/src/renderer/components/customers/CustomerDetail.vue @@ -7,7 +7,7 @@ :record="customer" > @@ -68,9 +63,11 @@ import CustomerCreateDialog from "./CustomerCreateDialog.vue"; import CustomerUpdateDialog from "./CustomerUpdateDialog.vue"; import CustomerDeleteDialog from "./CustomerDeleteDialog.vue"; import CustomerButton from "../common/navbuttons/CustomerButton.vue"; +import UpButton from "../common/navbuttons/UpButton.vue"; import EditButton from "../common/navbuttons/EditButton.vue"; import DeleteButton from "../common/navbuttons/DeleteButton.vue"; +import { Route } from "vue-router"; import { routeTo } from "../common/Utils"; import { AxiosPromise } from "axios"; import { NavigationIcon } from "../../libraries/constants"; @@ -90,6 +87,7 @@ import { ICustomer, ICustomerResponseFormat } from "sitewhere-rest-api"; CustomerDeleteDialog, CustomerUpdateDialog, CustomerButton, + UpButton, EditButton, DeleteButton } @@ -118,6 +116,12 @@ export default class CustomerDetail extends DetailComponent { return this.customer ? this.customer.name : ""; } + /** Called when component is reused */ + beforeRouteUpdate(to: Route, from: Route, next: any) { + this.display(to.params.token); + next(); + } + /** Load record */ loadRecord(token: string): AxiosPromise { let format: ICustomerResponseFormat = { From 04ee2386ec3fe860a22f02ac88240ad844d0df4e Mon Sep 17 00:00:00 2001 From: Derek Adams Date: Tue, 23 Jul 2019 19:53:31 -0400 Subject: [PATCH 09/31] Zone create/update/delete. Refactor headers. --- package-lock.json | 12 +- package.json | 4 +- .../components/areas/AreaBoundsPanel.vue | 176 +++------ src/renderer/components/areas/AreaDetail.vue | 2 +- .../components/areas/AreaDetailHeader.vue | 54 +-- src/renderer/components/areas/AreaDialog.vue | 1 - .../components/areas/AreaListFilterBar.vue | 50 --- .../components/areas/AreaSelector.vue | 92 +++-- src/renderer/components/areas/AreaZones.vue | 44 ++- src/renderer/components/areas/MapPanel.vue | 33 +- src/renderer/components/areas/MapUtils.js | 28 -- src/renderer/components/areas/MapUtils.ts | 121 ++++++ .../areas/MapWithZoneOverlayPanel.vue | 344 ++++++------------ .../components/areas/ZoneDeleteDialog.vue | 80 ++-- .../components/areas/ZoneDetailFields.vue | 224 ++++++++++-- src/renderer/components/areas/ZoneDialog.vue | 9 +- .../components/areas/ZoneUpdateDialog.vue | 97 ++--- .../areatypes/AreaTypeDetailHeader.vue | 37 +- .../components/assets/AssetDetailHeader.vue | 52 +-- .../assettypes/AssetTypeDetailHeader.vue | 42 ++- .../assignments/AssignmentDetailHeader.vue | 64 ++-- .../AssignmentDetailHeaderImage.vue | 70 ++++ .../assignments/InvocationDialog.vue | 10 +- .../customers/CustomerDetailHeader.vue | 49 +-- .../customertypes/CustomerTypeDetail.vue | 7 + .../CustomerTypeDetailHeader.vue | 37 +- .../devicegroups/DeviceGroupDetailHeader.vue | 21 +- .../components/devices/DeviceDetailHeader.vue | 10 +- .../devices/DeviceDetailHeaderImage.vue | 49 +++ .../devices/DeviceListFilterDialog.vue | 4 +- .../devicetypes/DeviceTypeDetailHeader.vue | 61 ++-- src/renderer/index.ts | 6 +- src/renderer/shims.d.ts | 1 - 33 files changed, 1072 insertions(+), 819 deletions(-) delete mode 100644 src/renderer/components/areas/AreaListFilterBar.vue delete mode 100644 src/renderer/components/areas/MapUtils.js create mode 100644 src/renderer/components/areas/MapUtils.ts create mode 100644 src/renderer/components/assignments/AssignmentDetailHeaderImage.vue create mode 100644 src/renderer/components/devices/DeviceDetailHeaderImage.vue diff --git a/package-lock.json b/package-lock.json index 78b5297..b5484c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12995,9 +12995,9 @@ } }, "sitewhere-ide-components": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/sitewhere-ide-components/-/sitewhere-ide-components-0.0.33.tgz", - "integrity": "sha512-m0Dw2LgY9O/z3+GFal2o0LxVrD6MRg8cjjPOzn2HUYrJpBtviW7ethLogNwri1BhoX2RqSyCRcvuD2aTpQfm6Q==", + "version": "0.0.36", + "resolved": "https://registry.npmjs.org/sitewhere-ide-components/-/sitewhere-ide-components-0.0.36.tgz", + "integrity": "sha512-6jwRa2V3HHHyxLVUboDQkWqRTwD/e2QywPIVybl4blXaIl+YGuI+DVuzNJ/LjD7yOqGDEiAOpSkisL6f6/YVaw==", "dev": true, "requires": { "@types/vue-color": "2.4.2", @@ -13006,9 +13006,9 @@ } }, "sitewhere-rest-api": { - "version": "1.0.20", - "resolved": "https://registry.npmjs.org/sitewhere-rest-api/-/sitewhere-rest-api-1.0.20.tgz", - "integrity": "sha512-pcC/JkE2TjCZouDF3v/blqLoJF7Nmv0QrfwoSi4qTsynbpIzrTSu+015Ua672UnVmxm7FVKcSWfHwm+fjdbY5A==", + "version": "1.0.22", + "resolved": "https://registry.npmjs.org/sitewhere-rest-api/-/sitewhere-rest-api-1.0.22.tgz", + "integrity": "sha512-nsBZv0e4YNTgy0ICn8Onc7KyOJc1t5/lDde2OiHrMueTDVutAC7cfFWI5IGeK/6pO9h0xHFw3T9zhU3dn0nbQA==", "requires": { "axios": "0.18.1" } diff --git a/package.json b/package.json index e83c927..622360c 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "electron-webpack-vue": "^2.3.0", "node-sass": "^4.9.3", "sass-loader": "^7.1.0", - "sitewhere-ide-components": "0.0.33", + "sitewhere-ide-components": "0.0.36", "tslint": "^5.18.0", "typescript": "^3.5.2", "vue-template-compiler": "^2.6.10", @@ -87,7 +87,7 @@ "material-icons": "^0.2.3", "moment": "^2.21.0", "mqtt": "^2.16.0", - "sitewhere-rest-api": "^1.0.20", + "sitewhere-rest-api": "^1.0.22", "sockjs-client": "^1.1.4", "source-map-support": "^0.5.8", "universal-analytics": "^0.4.20", diff --git a/src/renderer/components/areas/AreaBoundsPanel.vue b/src/renderer/components/areas/AreaBoundsPanel.vue index a5a762b..1f85fbd 100644 --- a/src/renderer/components/areas/AreaBoundsPanel.vue +++ b/src/renderer/components/areas/AreaBoundsPanel.vue @@ -1,49 +1,57 @@ diff --git a/src/renderer/components/areas/AreaSelector.vue b/src/renderer/components/areas/AreaSelector.vue index f4d885d..0f6866a 100644 --- a/src/renderer/components/areas/AreaSelector.vue +++ b/src/renderer/components/areas/AreaSelector.vue @@ -1,45 +1,69 @@ - diff --git a/src/renderer/components/areas/AreaZones.vue b/src/renderer/components/areas/AreaZones.vue index 7da6c4a..db08168 100644 --- a/src/renderer/components/areas/AreaZones.vue +++ b/src/renderer/components/areas/AreaZones.vue @@ -33,12 +33,16 @@ :title="formatDate(props.item.updatedDate)" >{{ formatDate(props.item.updatedDate) }} - - - - + + @@ -48,7 +52,8 @@ import { Prop, ListComponent, IPageSizes, - ITableHeaders + ITableHeaders, + Refs } from "sitewhere-ide-common"; import ActionsBlock from "../common/ActionsBlock.vue"; @@ -59,6 +64,7 @@ import { AxiosPromise } from "axios"; import { formatDate } from "../common/Utils"; import { listZones } from "../../rest/sitewhere-zones-api"; import { + IArea, IZone, IZoneSearchCriteria, IZoneResponseFormat, @@ -80,7 +86,13 @@ export default class AreaZones extends ListComponent< > { @Prop() readonly tabkey!: string; @Prop() readonly id!: string; - @Prop() readonly areaToken!: string; + @Prop() readonly area!: IArea; + + // References. + $refs!: Refs<{ + update: ZoneUpdateDialog; + delete: ZoneDeleteDialog; + }>; pageSizes: IPageSizes = [ { @@ -133,7 +145,7 @@ export default class AreaZones extends ListComponent< /** Build search criteria for list */ buildSearchCriteria(): IZoneSearchCriteria { let criteria: IZoneSearchCriteria = {}; - criteria.areaToken = this.areaToken; + criteria.areaToken = this.area.token; return criteria; } @@ -156,15 +168,25 @@ export default class AreaZones extends ListComponent< return formatDate(date); } - // Called when a zone is deleted. - onZoneDeleted() { - this.refresh(); + /** Called to open zone update dialog */ + onEditZone(token: string) { + this.$refs.update.open(token); } - // Called when a zone is updated. + /** Called when a zone is updated */ onZoneUpdated() { this.refresh(); } + + /** Called to open zone delete dialog */ + onDeleteZone(token: string) { + this.$refs.delete.open(token); + } + + /** Called when a zone is deleted */ + onZoneDeleted() { + this.refresh(); + } } diff --git a/src/renderer/components/areas/MapPanel.vue b/src/renderer/components/areas/MapPanel.vue index 13998aa..2fd7589 100644 --- a/src/renderer/components/areas/MapPanel.vue +++ b/src/renderer/components/areas/MapPanel.vue @@ -1,7 +1,7 @@ diff --git a/src/renderer/components/areas/ZoneDialog.vue b/src/renderer/components/areas/ZoneDialog.vue index cefde4b..8d4640b 100644 --- a/src/renderer/components/areas/ZoneDialog.vue +++ b/src/renderer/components/areas/ZoneDialog.vue @@ -17,7 +17,7 @@ @@ -103,7 +103,7 @@ export default class InvocationDialog extends DialogComponent< if (this.$refs.metadata) { this.$refs.metadata.reset(); } - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); } // Load dialog from a given payload. @@ -123,12 +123,12 @@ export default class InvocationDialog extends DialogComponent< // Called after create button is clicked. onCreateClicked(e: any) { if (!this.$refs.details.validate()) { - this.$refs.dialog.setActiveTab("details"); + this.$refs.dialog.setActiveTab(0); return; } if (!this.$refs.schedule.validate()) { - this.$refs.dialog.setActiveTab("schedule"); + this.$refs.dialog.setActiveTab(1); return; } diff --git a/src/renderer/components/customers/CustomerDetailHeader.vue b/src/renderer/components/customers/CustomerDetailHeader.vue index 7b77f8f..2a93383 100644 --- a/src/renderer/components/customers/CustomerDetailHeader.vue +++ b/src/renderer/components/customers/CustomerDetailHeader.vue @@ -1,29 +1,34 @@ diff --git a/src/renderer/components/customertypes/CustomerTypeDetail.vue b/src/renderer/components/customertypes/CustomerTypeDetail.vue index c014b1a..628cea9 100644 --- a/src/renderer/components/customertypes/CustomerTypeDetail.vue +++ b/src/renderer/components/customertypes/CustomerTypeDetail.vue @@ -55,6 +55,7 @@ import CustomerTypeUpdateDialog from "./CustomerTypeUpdateDialog.vue"; import EditButton from "../common/navbuttons/EditButton.vue"; import DeleteButton from "../common/navbuttons/DeleteButton.vue"; +import { Route } from "vue-router"; import { routeTo } from "../common/Utils"; import { AxiosPromise } from "axios"; import { NavigationIcon } from "../../libraries/constants"; @@ -92,6 +93,12 @@ export default class CustomerTypeDetail extends DetailComponent { return this.customerType ? this.customerType.name : ""; } + /** Called when component is reused */ + beforeRouteUpdate(to: Route, from: Route, next: any) { + this.display(to.params.token); + next(); + } + /** Load record */ loadRecord(token: string): AxiosPromise { let format: ICustomerTypeResponseFormat = {}; diff --git a/src/renderer/components/customertypes/CustomerTypeDetailHeader.vue b/src/renderer/components/customertypes/CustomerTypeDetailHeader.vue index 2668b07..260f83a 100644 --- a/src/renderer/components/customertypes/CustomerTypeDetailHeader.vue +++ b/src/renderer/components/customertypes/CustomerTypeDetailHeader.vue @@ -1,24 +1,29 @@ diff --git a/src/renderer/components/devicegroups/DeviceGroupDetailHeader.vue b/src/renderer/components/devicegroups/DeviceGroupDetailHeader.vue index 097a6b8..44afb80 100644 --- a/src/renderer/components/devicegroups/DeviceGroupDetailHeader.vue +++ b/src/renderer/components/devicegroups/DeviceGroupDetailHeader.vue @@ -1,8 +1,11 @@ @@ -33,7 +36,9 @@ import AuthenticatedImage from "../common/AuthenticatedImage.vue"; AuthenticatedImage } }) -export default class DeviceGroupDetailHeader extends HeaderComponent { +export default class DeviceGroupDetailHeader extends HeaderComponent< + IDeviceGroup +> { // Reference record as device group. get deviceGroup(): IDeviceGroup { return this.record; @@ -44,11 +49,6 @@ export default class DeviceGroupDetailHeader extends HeaderComponent - - diff --git a/src/renderer/components/devices/DeviceDetailHeader.vue b/src/renderer/components/devices/DeviceDetailHeader.vue index 3a19518..41bad2c 100644 --- a/src/renderer/components/devices/DeviceDetailHeader.vue +++ b/src/renderer/components/devices/DeviceDetailHeader.vue @@ -1,5 +1,8 @@ @@ -21,7 +30,9 @@ import { Component, Prop, ListComponent } from "sitewhere-ide-common"; import CustomerListEntry from "./CustomerListEntry.vue"; import CustomerCreateDialog from "./CustomerCreateDialog.vue"; +import NoResultsPanel from "../common/NoResultsPanel.vue"; +import { NavigationIcon } from "../../libraries/constants"; import { routeTo } from "../common/Utils"; import { AxiosPromise } from "axios"; import { listCustomers } from "../../rest/sitewhere-customers-api"; @@ -35,7 +46,8 @@ import { @Component({ components: { CustomerListEntry, - CustomerCreateDialog + CustomerCreateDialog, + NoResultsPanel } }) export default class CustomerSubcustomers extends ListComponent< @@ -47,6 +59,8 @@ export default class CustomerSubcustomers extends ListComponent< @Prop() readonly tabkey!: string; @Prop() readonly customer!: ICustomer; + custIcon: string = NavigationIcon.Customer; + /** Build search criteria for list */ buildSearchCriteria(): ICustomerSearchCriteria { let criteria: ICustomerSearchCriteria = {}; @@ -77,6 +91,3 @@ export default class CustomerSubcustomers extends ListComponent< } } - - diff --git a/src/renderer/components/customers/CustomersList.vue b/src/renderer/components/customers/CustomersList.vue index d455d32..6db6359 100644 --- a/src/renderer/components/customers/CustomersList.vue +++ b/src/renderer/components/customers/CustomersList.vue @@ -9,7 +9,7 @@ > - + @@ -19,8 +24,10 @@ import { Component, Prop, ListComponent } from "sitewhere-ide-common"; import CustomerListEntry from "../customers/CustomerListEntry.vue"; +import NoResultsPanel from "../common/NoResultsPanel.vue"; import { AxiosPromise } from "axios"; +import { routeTo } from "../common/Utils"; import { listCustomers } from "../../rest/sitewhere-customers-api"; import { ICustomer, @@ -31,7 +38,8 @@ import { @Component({ components: { - CustomerListEntry + CustomerListEntry, + NoResultsPanel } }) export default class CustomerTypeCustomers extends ListComponent< @@ -64,5 +72,10 @@ export default class CustomerTypeCustomers extends ListComponent< ): AxiosPromise { return listCustomers(this.$store, criteria, format); } + + /** Called to open a customer */ + onOpenCustomer(customer: ICustomer) { + routeTo(this, "/customers/" + customer.token); + } } diff --git a/src/renderer/components/customertypes/CustomerTypeDetail.vue b/src/renderer/components/customertypes/CustomerTypeDetail.vue index 628cea9..b52caa3 100644 --- a/src/renderer/components/customertypes/CustomerTypeDetail.vue +++ b/src/renderer/components/customertypes/CustomerTypeDetail.vue @@ -47,7 +47,6 @@ import { Refs } from "sitewhere-ide-common"; -import NoResultsPanel from "../common/NoResultsPanel.vue"; import CustomerTypeDetailHeader from "./CustomerTypeDetailHeader.vue"; import CustomerTypeCustomers from "./CustomerTypeCustomers.vue"; import CustomerTypeDeleteDialog from "./CustomerTypeDeleteDialog.vue"; @@ -64,7 +63,6 @@ import { ICustomerType, ICustomerTypeResponseFormat } from "sitewhere-rest-api"; @Component({ components: { - NoResultsPanel, CustomerTypeDetailHeader, CustomerTypeCustomers, CustomerTypeDeleteDialog, diff --git a/src/renderer/components/customertypes/CustomerTypeDialog.vue b/src/renderer/components/customertypes/CustomerTypeDialog.vue index 7dffe07..a5c8b3a 100644 --- a/src/renderer/components/customertypes/CustomerTypeDialog.vue +++ b/src/renderer/components/customertypes/CustomerTypeDialog.vue @@ -22,7 +22,7 @@ - + @@ -45,14 +45,14 @@ import { import { NavigationIcon } from "../../libraries/constants"; import CustomerTypeDetailFields from "./CustomerTypeDetailFields.vue"; -import CustomerTypesMultiselect from "./CustomerTypesMultiselect.vue"; +import CustomerTypeContentFields from "./CustomerTypeContentFields.vue"; import BrandingPanel from "../common/BrandingPanel.vue"; import { ICustomerType } from "sitewhere-rest-api"; @Component({ components: { CustomerTypeDetailFields, - CustomerTypesMultiselect, + CustomerTypeContentFields, BrandingPanel } }) @@ -60,8 +60,9 @@ export default class CustomerTypeDialog extends DialogComponent { // References. $refs!: Refs<{ dialog: ITabbedComponent; - details: DialogSection; - branding: DialogSection; + details: CustomerTypeDetailFields; + content: CustomerTypeContentFields; + branding: BrandingPanel; metadata: DialogSection; }>; @@ -76,6 +77,7 @@ export default class CustomerTypeDialog extends DialogComponent { Object.assign( payload, this.$refs.details.save(), + this.$refs.content.save(), this.$refs.branding.save(), this.$refs.metadata.save() ); @@ -87,6 +89,9 @@ export default class CustomerTypeDialog extends DialogComponent { if (this.$refs.details) { this.$refs.details.reset(); } + if (this.$refs.content) { + this.$refs.content.reset(); + } if (this.$refs.branding) { this.$refs.branding.reset(); } @@ -102,6 +107,9 @@ export default class CustomerTypeDialog extends DialogComponent { if (this.$refs.details) { this.$refs.details.load(payload); } + if (this.$refs.content) { + this.$refs.content.load(payload); + } if (this.$refs.branding) { this.$refs.branding.load(payload); } @@ -117,13 +125,17 @@ export default class CustomerTypeDialog extends DialogComponent { return; } + if (!this.$refs.content.validate()) { + this.$refs.dialog.setActiveTab(0); + return; + } + if (!this.$refs.branding.validate()) { this.$refs.dialog.setActiveTab(1); return; } var payload = this.generatePayload(); - console.log("Before payload emit:", this); this.$emit("payload", payload); } } diff --git a/src/renderer/components/customertypes/CustomerTypeListEntry.vue b/src/renderer/components/customertypes/CustomerTypeListEntry.vue index f9f6686..6e48198 100644 --- a/src/renderer/components/customertypes/CustomerTypeListEntry.vue +++ b/src/renderer/components/customertypes/CustomerTypeListEntry.vue @@ -3,13 +3,11 @@ - - - +
-
{{ customerType.name }}
+
{{ customerType.name }}
{{ customerType.description }}
@@ -22,15 +20,30 @@ import Vue from "vue"; import { Component, Prop } from "sitewhere-ide-common"; +import BrandingImage from "../common/BrandingImage.vue"; + +import { IStyle } from "../common/Style"; import { ICustomerType } from "sitewhere-rest-api"; -@Component({}) +@Component({ + components: { + BrandingImage + } +}) export default class CustomerTypeListEntry extends Vue { @Prop() readonly customerType!: ICustomerType; + // Compute style of logo. + get logoStyle(): IStyle { + return { + height: "80px", + width: "80px" + }; + } + // Handle customer type clicked. onCustomerTypeClicked() { - this.$emit("openCustomerType", this.customerType); + this.$emit("open", this.customerType); } } diff --git a/src/renderer/components/customertypes/CustomerTypeMultiselect.vue b/src/renderer/components/customertypes/CustomerTypeMultiselect.vue new file mode 100644 index 0000000..2a00d25 --- /dev/null +++ b/src/renderer/components/customertypes/CustomerTypeMultiselect.vue @@ -0,0 +1,56 @@ + + + diff --git a/src/renderer/components/customertypes/CustomerTypesList.vue b/src/renderer/components/customertypes/CustomerTypesList.vue index 4b2e408..2784ff8 100644 --- a/src/renderer/components/customertypes/CustomerTypesList.vue +++ b/src/renderer/components/customertypes/CustomerTypesList.vue @@ -9,18 +9,14 @@ > - + diff --git a/src/renderer/components/customertypes/CustomerTypesMultiselect.vue b/src/renderer/components/customertypes/CustomerTypesMultiselect.vue deleted file mode 100644 index 08756c6..0000000 --- a/src/renderer/components/customertypes/CustomerTypesMultiselect.vue +++ /dev/null @@ -1,66 +0,0 @@ - - - diff --git a/src/renderer/components/devicegroups/DeviceGroupElementDeleteDialog.vue b/src/renderer/components/devicegroups/DeviceGroupElementDeleteDialog.vue index 0a7aab7..693bf83 100644 --- a/src/renderer/components/devicegroups/DeviceGroupElementDeleteDialog.vue +++ b/src/renderer/components/devicegroups/DeviceGroupElementDeleteDialog.vue @@ -14,9 +14,8 @@ diff --git a/src/renderer/components/devices/DevicesList.vue b/src/renderer/components/devices/DevicesList.vue index 39a55a7..b1c179b 100644 --- a/src/renderer/components/devices/DevicesList.vue +++ b/src/renderer/components/devices/DevicesList.vue @@ -16,6 +16,15 @@ +