From 46ed713a25ea4d879940694a8a3ea8d5676a95e4 Mon Sep 17 00:00:00 2001 From: Jumper Chen Date: Fri, 16 Sep 2022 12:18:54 +0800 Subject: [PATCH 01/77] fix jsdoc --- zk/src/archive/web/js/zk/zk.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zk/src/archive/web/js/zk/zk.ts b/zk/src/archive/web/js/zk/zk.ts index 622def03ced..12a757f0c87 100644 --- a/zk/src/archive/web/js/zk/zk.ts +++ b/zk/src/archive/web/js/zk/zk.ts @@ -1307,7 +1307,7 @@ zk.log('value is", value); }, /** * Encodes and returns the resource URI from Class-Web Resources (CWR). - * Example:
var res = zk.resourceURI('/js/my/path/res.css');
+ * Example:
var res = zk.ajaxResourceURI('/js/my/path/res.css');
* * @param String uri the resource URI. * @param String version [optional] the version string to build the cache-friendly URI. If none is set, use zk.build by default. From 0a66945efd25f24304d5c3ef9512adfda55150bf Mon Sep 17 00:00:00 2001 From: Jumper Chen Date: Fri, 16 Sep 2022 12:19:19 +0800 Subject: [PATCH 02/77] add callback function for zk.loadScript() and zk.loadCSS() --- zk/src/archive/web/js/zk/pkg.ts | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/zk/src/archive/web/js/zk/pkg.ts b/zk/src/archive/web/js/zk/pkg.ts index 633a2802d1a..b1ef1006050 100644 --- a/zk/src/archive/web/js/zk/pkg.ts +++ b/zk/src/archive/web/js/zk/pkg.ts @@ -174,9 +174,10 @@ zk.load('zul.utl', function () { * and ZK Client Engine is halted. * @param String charset the charset. UTF-8 is assumed if null. * @param boolean force the script to be loaded. (no matter it is loading or loaded) + * @param callback the function to execute after the JavaScript file loaded. (since 9.6.3) * @return zk */ - loadScript: function (src, name, charset, force) { + loadScript: function (src, name, charset, force, callback) { if (name) { if (!force && zk.isLoaded(name, true)) return; @@ -187,6 +188,11 @@ zk.load('zul.utl', function () { e.type = 'text/javascript'; e.charset = charset || 'UTF-8'; e.src = src; + if (callback) { + e.onload = function () { + callback(); + } + } jq.head()?.appendChild(e); return this; }, @@ -194,15 +200,22 @@ zk.load('zul.utl', function () { * @param String href the URL of the CSS file. * @param String id the identifier. Ignored if not specified. * @param String media the media attribute. Ignored if not specified. + * @param callback the function to execute after the CSS file loaded. (since 9.6.3) * @since 5.0.4 * @return zk */ - loadCSS: function (href, id, media) { + loadCSS: function (href, id, media, callback) { var ln = document.createElement('link'); if (id) ln.id = id; ln.rel = 'stylesheet'; ln.type = 'text/css'; ln.href = href; + + if (callback) { + ln.onload = function () { + callback(); + } + } if (media) ln.media = media; jq.head()?.appendChild(ln); return this; From 02daf728a5957b3c0cd7ee82c622fa95f344761b Mon Sep 17 00:00:00 2001 From: Jumper Chen Date: Fri, 16 Sep 2022 12:22:32 +0800 Subject: [PATCH 03/77] refine. --- zk/src/archive/web/js/zk/pkg.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/zk/src/archive/web/js/zk/pkg.ts b/zk/src/archive/web/js/zk/pkg.ts index b1ef1006050..0e13eaa0213 100644 --- a/zk/src/archive/web/js/zk/pkg.ts +++ b/zk/src/archive/web/js/zk/pkg.ts @@ -174,7 +174,7 @@ zk.load('zul.utl', function () { * and ZK Client Engine is halted. * @param String charset the charset. UTF-8 is assumed if null. * @param boolean force the script to be loaded. (no matter it is loading or loaded) - * @param callback the function to execute after the JavaScript file loaded. (since 9.6.3) + * @param Function the function to execute after the JavaScript file loaded. (since 9.6.3) * @return zk */ loadScript: function (src, name, charset, force, callback) { @@ -191,7 +191,7 @@ zk.load('zul.utl', function () { if (callback) { e.onload = function () { callback(); - } + }; } jq.head()?.appendChild(e); return this; @@ -200,7 +200,7 @@ zk.load('zul.utl', function () { * @param String href the URL of the CSS file. * @param String id the identifier. Ignored if not specified. * @param String media the media attribute. Ignored if not specified. - * @param callback the function to execute after the CSS file loaded. (since 9.6.3) + * @param Function the function to execute after the CSS file loaded. (since 9.6.3) * @since 5.0.4 * @return zk */ @@ -214,7 +214,7 @@ zk.load('zul.utl', function () { if (callback) { ln.onload = function () { callback(); - } + }; } if (media) ln.media = media; jq.head()?.appendChild(ln); From 86b06803beb3c0ea45a147a760a08c30ce7d3a2b Mon Sep 17 00:00:00 2001 From: learningstud Date: Tue, 27 Sep 2022 15:05:29 +0800 Subject: [PATCH 04/77] ZK-5029: sporadic text wrapping in listbox/grid/tree cells since chrome 90 --- zkdoc/release-note | 1 + zktest/src/archive/test2/B96-ZK-5029.zul | 66 +++++++++++++++++++ zktest/src/archive/test2/config.properties | 1 + .../zktest/zats/test2/B96_ZK_5029Test.java | 32 +++++++++ zul/src/archive/web/js/zul/mesh/MeshWidget.js | 2 +- 5 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 zktest/src/archive/test2/B96-ZK-5029.zul create mode 100644 zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5029Test.java diff --git a/zkdoc/release-note b/zkdoc/release-note index 9ac145e4781..d93525ccb48 100644 --- a/zkdoc/release-note +++ b/zkdoc/release-note @@ -2,6 +2,7 @@ ZK 9.6.3 * Features * Bugs + ZK-5029: sporadic text wrapping in listbox/grid/tree cells since chrome 90 * Upgrade Notes diff --git a/zktest/src/archive/test2/B96-ZK-5029.zul b/zktest/src/archive/test2/B96-ZK-5029.zul new file mode 100644 index 00000000000..fa440dc7590 --- /dev/null +++ b/zktest/src/archive/test2/B96-ZK-5029.zul @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/zktest/src/archive/test2/config.properties b/zktest/src/archive/test2/config.properties index 6ba4b26b3c0..3f7819d9f5e 100644 --- a/zktest/src/archive/test2/config.properties +++ b/zktest/src/archive/test2/config.properties @@ -3078,6 +3078,7 @@ B90-ZK-4431.zul=A,E,Multislider ##zats##B96-ZK-5126.zul=A,E,Chosenbox,escape,XML,emptyMessage ##zats##B96-ZK-5095.zul=A,E,Websocket,Serialization,Cluster ##manually##B96-ZK-5149.zul=A,E,dnd,dropupload,scroll,anchor,position +##zats##B96-ZK-5029.zul=A,E,Listbox,Tree,Grid ## # Features - 3.0.x version diff --git a/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5029Test.java b/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5029Test.java new file mode 100644 index 00000000000..5bb3f184072 --- /dev/null +++ b/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5029Test.java @@ -0,0 +1,32 @@ +package org.zkoss.zktest.zats.test2; + +import static org.junit.Assert.assertTrue; +import org.junit.Test; + +import org.zkoss.zktest.zats.WebDriverTestCase; +import org.zkoss.zktest.zats.ztl.JQuery; + +public class B96_ZK_5029Test extends WebDriverTestCase { + @Test + public void test() { + connect(); + assertContentTextNoWrap("listbox1", "listbox-header", "listitem"); + assertContentTextNoWrap("listbox2", "listbox-header", "listitem"); + assertContentTextNoWrap("grid1", "grid-header", "row"); + assertContentTextNoWrap("tree1", "tree-header", "tree-row"); + } + + void assertContentTextNoWrap(String id, String header, String row) { + final String titleWidgetSelector = "$" + id + " .z-" + header; + final String contentTextWidgetSelector = "$" + id + " .z-" + row; + // The `5` added to `height()` is to account for floating-point imprecision and padding inconsistencies. + // In this testcase, line heights are much larger than 5px. + final int titleHeight = 5 + jq(titleWidgetSelector).height(); + for (JQuery contentTextWidget : jq(contentTextWidgetSelector)) { + final int contentTextHeight = contentTextWidget.height(); + // In this testcase, text in header are so short that they wouldn't wrap, so to make sure that long text in + // other rows didn't wrap, we compare their row heights to that of headers. + assertTrue(contentTextHeight <= titleHeight); + } + } +} \ No newline at end of file diff --git a/zul/src/archive/web/js/zul/mesh/MeshWidget.js b/zul/src/archive/web/js/zul/mesh/MeshWidget.js index a5b8b047aa0..c94e746357e 100644 --- a/zul/src/archive/web/js/zul/mesh/MeshWidget.js +++ b/zul/src/archive/web/js/zul/mesh/MeshWidget.js @@ -121,7 +121,7 @@ it will be useful, but WITHOUT ANY WARRANTY. footcells = ftfaker ? wgt._getFirstRowCells(wgt.efootrows) : null; for (var i = 0; i < len; i++) { - var wd = bodycells && bodycells[i] ? bodycells[i].offsetWidth : 0, + var wd = bodycells && bodycells[i] ? Math.ceil(bodycells[i].getBoundingClientRect().width) : 0, ftwd = footcells && footcells[i] && zk(footcells[i]).isVisible() ? footcells[i].offsetWidth : 0, hdwd = w && w.isVisible() ? w.getContentWidth_() : 0, header; From c1ad559e3f890205a521b9fe6a399e47533cf17e Mon Sep 17 00:00:00 2001 From: learningstud Date: Wed, 28 Sep 2022 12:25:19 +0800 Subject: [PATCH 05/77] Introduce APIs {clientWidth,clientHeightCeil,offsetWidthCeil,offsetHeightCeil,offsetTopCeil,offsetLeftCeil}Ceil due to ZK-5029 --- @types/zk/zk.d.ts | 6 +++ zk/src/archive/web/js/zk/dom.ts | 43 +++++++++++++++++++ zul/src/archive/web/js/zul/mesh/MeshWidget.js | 2 +- 3 files changed, 50 insertions(+), 1 deletion(-) diff --git a/@types/zk/zk.d.ts b/@types/zk/zk.d.ts index e400c6b7262..7d2cec35edb 100644 --- a/@types/zk/zk.d.ts +++ b/@types/zk/zk.d.ts @@ -853,7 +853,9 @@ declare namespace zk { cleanVisibility(): JQuery; clearStyles(): this; clientHeightDoubleValue(): number; + clientHeightCeil(): number; clientWidthDoubleValue(): number; + clientWidthCeil(): number; cmOffset(): zk.Offset; contentHeight(excludeMargin?: boolean): number; contentWidth(excludeMargin?: boolean): number; @@ -880,12 +882,16 @@ declare namespace zk { ncols(visibleOnly?: boolean): number; offsetHeight(): number; offsetHeightDoubleValue(): number; + offsetHeightCeil(): number; offsetLeft(): number; offsetLeftDoubleValue(): number; + offsetLeftCeil(): number; offsetTop(): number; offsetTopDoubleValue(): number; + offsetTopCeil(): number; offsetWidth(): number; offsetWidthDoubleValue(): number; + offsetWidthCeil(): number; padBorderHeight(): number; padBorderWidth(): number; paddingHeight(): number; diff --git a/zk/src/archive/web/js/zk/dom.ts b/zk/src/archive/web/js/zk/dom.ts index a832909827d..d47877dcc56 100644 --- a/zk/src/archive/web/js/zk/dom.ts +++ b/zk/src/archive/web/js/zk/dom.ts @@ -1572,6 +1572,49 @@ jq(el).zk.center(); //same as 'center' return this.jq[0].getBoundingClientRect().left; }, + /** Returns the actual client width rounded "up" to the closest integer. + * @return the actual client width rounded "up" to the closest integer + * @since 9.6.3 + */ + clientWidthCeil: function () { + return Math.ceil(this.clientWidthDoubleValue()); + }, + /** Returns the actual client height rounded "up" to the closest integer. + * @return the actual client height rounded "up" to the closest integer + * @since 9.6.3 + */ + clientHeightCeil: function () { + return Math.ceil(this.clientHeightDoubleValue()); + }, + /** Returns the actual offset width rounded "up" to the closest integer. + * @return the actual offset width rounded "up" to the closest integer + * @since 9.6.3 + */ + offsetWidthCeil: function () { + return Math.ceil(this.offsetWidthDoubleValue()); + }, + /** Returns the actual offset height rounded "up" to the closest integer. + * @return the actual offset height rounded "up" to the closest integer + * @since 9.6.3 + */ + offsetHeightCeil: function () { + return Math.ceil(this.offsetHeightDoubleValue()); + }, + /** Returns the actual offset top rounded "up" to the closest integer. + * @return the actual offset top rounded "up" to the closest integer + * @since 9.6.3 + */ + offsetTopCeil: function () { + return Math.ceil(this.offsetTopDoubleValue()); + }, + /** Returns the actual offset left rounded "up" to the closest integer. + * @return the actual offset left rounded "up" to the closest integer + * @since 9.6.3 + */ + offsetLeftCeil: function () { + return Math.ceil(this.offsetLeftDoubleValue()); + }, + /** Returns the X/Y coordinates of the first matched element relative to the viewport. * @return Offset the coordinates * @see #cmOffset diff --git a/zul/src/archive/web/js/zul/mesh/MeshWidget.js b/zul/src/archive/web/js/zul/mesh/MeshWidget.js index c94e746357e..6020f8fc045 100644 --- a/zul/src/archive/web/js/zul/mesh/MeshWidget.js +++ b/zul/src/archive/web/js/zul/mesh/MeshWidget.js @@ -121,7 +121,7 @@ it will be useful, but WITHOUT ANY WARRANTY. footcells = ftfaker ? wgt._getFirstRowCells(wgt.efootrows) : null; for (var i = 0; i < len; i++) { - var wd = bodycells && bodycells[i] ? Math.ceil(bodycells[i].getBoundingClientRect().width) : 0, + var wd = bodycells && bodycells[i] ? zk(bodycells[i]).offsetWidthCeil() : 0, ftwd = footcells && footcells[i] && zk(footcells[i]).isVisible() ? footcells[i].offsetWidth : 0, hdwd = w && w.isVisible() ? w.getContentWidth_() : 0, header; From df35ef5ca4ee404d60a4eedbc91fabbcb5246b07 Mon Sep 17 00:00:00 2001 From: learningstud Date: Wed, 28 Sep 2022 18:42:11 +0800 Subject: [PATCH 06/77] 5155 --- zkdoc/release-note | 1 + zktest/src/archive/test2/B96-ZK-5155.zul | 40 ++++++++++++ zktest/src/archive/test2/config.properties | 1 + .../zktest/zats/test2/B96_ZK_5155Test.java | 61 +++++++++++++++++++ zul/src/archive/web/js/zul/inp/Bandpopup.js | 4 +- 5 files changed, 105 insertions(+), 2 deletions(-) create mode 100644 zktest/src/archive/test2/B96-ZK-5155.zul create mode 100644 zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5155Test.java diff --git a/zkdoc/release-note b/zkdoc/release-note index 9ac145e4781..339bacaab0c 100644 --- a/zkdoc/release-note +++ b/zkdoc/release-note @@ -2,6 +2,7 @@ ZK 9.6.3 * Features * Bugs + ZK-5155: bandbox closes its popup when switching active page * Upgrade Notes diff --git a/zktest/src/archive/test2/B96-ZK-5155.zul b/zktest/src/archive/test2/B96-ZK-5155.zul new file mode 100644 index 00000000000..443b5e29090 --- /dev/null +++ b/zktest/src/archive/test2/B96-ZK-5155.zul @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/zktest/src/archive/test2/config.properties b/zktest/src/archive/test2/config.properties index 6ba4b26b3c0..275b83d7043 100644 --- a/zktest/src/archive/test2/config.properties +++ b/zktest/src/archive/test2/config.properties @@ -3078,6 +3078,7 @@ B90-ZK-4431.zul=A,E,Multislider ##zats##B96-ZK-5126.zul=A,E,Chosenbox,escape,XML,emptyMessage ##zats##B96-ZK-5095.zul=A,E,Websocket,Serialization,Cluster ##manually##B96-ZK-5149.zul=A,E,dnd,dropupload,scroll,anchor,position +##zats##B96-ZK-5155.zul=A,E,Listbox,Bandbox,Bandpopup ## # Features - 3.0.x version diff --git a/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5155Test.java b/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5155Test.java new file mode 100644 index 00000000000..e5c4618fe11 --- /dev/null +++ b/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5155Test.java @@ -0,0 +1,61 @@ +package org.zkoss.zktest.zats.test2; + +import org.junit.Assert; +import org.junit.Test; +import org.openqa.selenium.Keys; +import org.openqa.selenium.interactions.Actions; +import org.zkoss.zktest.zats.WebDriverTestCase; + +public class B96_ZK_5155Test extends WebDriverTestCase { + Actions act = new Actions(connect()); + + @Test + public void test() { + // 1. Click the magnifier glass. A popup should appear. + openBandbox(); + assertBandboxOpen(); + + // 2. Click the "next page" button in the popup. The popup shouldn't close. + clickOn(".z-paging-button.z-paging-next"); + assertBandboxOpen(); + + // 3. Click the "previous page" button in the popup. The popup shouldn't close. + clickOn(".z-paging-button.z-paging-previous"); + assertBandboxOpen(); + + // 4. Press the "TAB" key. The popup shouldn't close, and the focus (might not be visible) should be on the "next page" button. + pressTab(); + assertBandboxOpen(); + + // 5. Press the "TAB" key. The popup shouldn't close, and the focus (might not be visible) should be on the "last page" button. + pressTab(); + assertBandboxOpen(); + + // 6. Press the "TAB" key. The popup should close, and the focus should be likely on the browser's "omnibox". + pressTab(); + assertBandboxClose(); + } + + void openBandbox() { + click(jq(".z-bandbox-button")); + waitResponse(); + } + + void clickOn(String selector) { + click(jq(selector)); + waitResponse(); + } + + void pressTab() { + act.sendKeys(Keys.TAB).perform(); + waitResponse(); + } + + void assertBandboxOpen() { + Assert.assertTrue(jq(".z-bandbox-open").exists()); + } + + void assertBandboxClose() { + Assert.assertFalse(jq(".z-bandbox-open").exists()); + } +} diff --git a/zul/src/archive/web/js/zul/inp/Bandpopup.js b/zul/src/archive/web/js/zul/inp/Bandpopup.js index c7b622d9031..15ae4f30879 100644 --- a/zul/src/archive/web/js/zul/inp/Bandpopup.js +++ b/zul/src/archive/web/js/zul/inp/Bandpopup.js @@ -47,11 +47,11 @@ zul.inp.Bandpopup = zk.$extends(zul.Widget, { self._shallClosePopup = true; setTimeout(function () { - if (bandbox && bandbox.isOpen() && self._shallClosePopup) { + if (bandbox && bandbox.isOpen() && self._shallClosePopup && !jq.isAncestor(bandbox.$n('pp'), document.activeElement)) { bandbox.close(); self._shallClosePopup = false; } - }); + }, 150); } }, //super From 712392bb5d1d515ac1192d0970035abc703c99ae Mon Sep 17 00:00:00 2001 From: learningstud Date: Thu, 29 Sep 2022 12:47:56 +0800 Subject: [PATCH 07/77] ZK-5159: Firefox Windows 11 scrollbar doesn't have height, cause missing scrollbar --- zk/src/archive/web/js/zk/dom.ts | 45 +++++++- zkdoc/release-note | 1 + zktest/src/archive/test2/B96-ZK-5159.zul | 101 ++++++++++++++++++ zktest/src/archive/test2/config.properties | 1 + .../zktest/zats/test2/B96_ZK_5159Test.java | 14 +++ 5 files changed, 159 insertions(+), 3 deletions(-) create mode 100644 zktest/src/archive/test2/B96-ZK-5159.zul create mode 100644 zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5159Test.java diff --git a/zk/src/archive/web/js/zk/dom.ts b/zk/src/archive/web/js/zk/dom.ts index a832909827d..8ad0a1a62e5 100644 --- a/zk/src/archive/web/js/zk/dom.ts +++ b/zk/src/archive/web/js/zk/dom.ts @@ -2159,11 +2159,50 @@ zk.copy(jq, { } if (!_sbwDiv) { _sbwDiv = document.createElement('div'); - _sbwDiv.style.cssText = 'top:-1000px;left:-1000px;position:absolute;visibility:hidden;border:none;width:50px;height:50px;overflow:scroll;'; - _sbwDiv.appendChild(document.createElement('div')); + const outerDivStyleString = 'top:-1000px;left:-1000px;position:absolute;visibility:hidden;border:none;width:50px;height:50px;overflow:scroll;'; + // `!!` is to prevent the TS error "This condition will always return true" without resorting to `@ts-ignore` or `@ts-expect-error`. + // eslint-disable-next-line no-extra-boolean-cast + if (!!HTMLElement.prototype.attachShadow) { + // Shadow DOM is supported. The purpose of using a shadow DOM is explained in the comment preceding `shadow.appendChild(style)`. + + // `mode` must be `'open'` so that its children can be access externally via `_sbwDiv.shadowRoot` + const shadow = _sbwDiv.attachShadow({mode: 'open'}); + // Append `div` before `style` + shadow.appendChild(document.createElement('div')); + const style = document.createElement('style'); + style.textContent = + ':host{' + outerDivStyleString + '}' + + ':host::-webkit-scrollbar{background-color:gold;}'; // This line is the key. The body of `::-webkit-scrollbar` must not be empty. + // By concretely styling `::-webkit-scrollbar`, the scrollbar will be forced into displaying itself + // "obtrusively" as opposed to "floating" for browsers based on WebKit (e.g., Chrome, Safari, and Edge) + // on macOS and Win11, so that we can compute the scrollbar width through DOM API. + + // Use shadow DOM to create a scoped `style`. This is to prevent name conflicts and tricky rule + // precedence in global CSS, as CSS rules won't leak in to nor leak out of shadow DOM. Also, controlling + // the CSS rule here directly with JS avoids the need to duplicate CSS rules for all ZK themes which + // people often (understandably) forget to do as demonstrated in ZK-5170. + shadow.appendChild(style); + } else { + // Among all browsers we currently support, only IE doesn't support shadow DOM. For IE, `::-webkit-scrollbar` + // won't take effect either. Furthermore, IE can't run on macOS nor Win11 where the "floating" scrollbar + // plagues. Hence, we don't have to do anything fancy. + _sbwDiv.style.cssText = outerDivStyleString; + _sbwDiv.appendChild(document.createElement('div')); + } body.appendChild(_sbwDiv); } - return _sbwDiv._value || (_sbwDiv._value = _sbwDiv.getBoundingClientRect().width - _sbwDiv.firstChild.getBoundingClientRect().width); + if (!_sbwDiv._value) { + const innerDiv = (_sbwDiv.shadowRoot || _sbwDiv).firstChild; + let width = _sbwDiv.getBoundingClientRect().width - innerDiv.getBoundingClientRect().width; + if (width < 2) { + // `width` will result in 0 for Firefox on macOS and Win11 with "floating" scrollbars. In this case, we + // return a scrollbar width of a sensible default value. We use the condition `width < 2` instead of + // `width === 0` to account for possible floating point imprecision. + width = 16; // Many browsers have a default scrollbar width of 16 or 17 pixels. + } + _sbwDiv._value = width; + } + return _sbwDiv._value; }, /** Returns if the specified rectangles are overlapped with each other. * @param Offset ofs1 the offset of the first rectangle diff --git a/zkdoc/release-note b/zkdoc/release-note index 9ac145e4781..22b15e8c6de 100644 --- a/zkdoc/release-note +++ b/zkdoc/release-note @@ -2,6 +2,7 @@ ZK 9.6.3 * Features * Bugs + ZK-5159: Firefox Windows 11 scrollbar doesn't have height, cause missing scrollbar * Upgrade Notes diff --git a/zktest/src/archive/test2/B96-ZK-5159.zul b/zktest/src/archive/test2/B96-ZK-5159.zul new file mode 100644 index 00000000000..01286298f39 --- /dev/null +++ b/zktest/src/archive/test2/B96-ZK-5159.zul @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/zktest/src/archive/test2/config.properties b/zktest/src/archive/test2/config.properties index 6ba4b26b3c0..0c47b81ca09 100644 --- a/zktest/src/archive/test2/config.properties +++ b/zktest/src/archive/test2/config.properties @@ -3078,6 +3078,7 @@ B90-ZK-4431.zul=A,E,Multislider ##zats##B96-ZK-5126.zul=A,E,Chosenbox,escape,XML,emptyMessage ##zats##B96-ZK-5095.zul=A,E,Websocket,Serialization,Cluster ##manually##B96-ZK-5149.zul=A,E,dnd,dropupload,scroll,anchor,position +##zats##B96-ZK-5159.zul=A,E,scrollbarWidth ## # Features - 3.0.x version diff --git a/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5159Test.java b/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5159Test.java new file mode 100644 index 00000000000..5a7bfc0571b --- /dev/null +++ b/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5159Test.java @@ -0,0 +1,14 @@ +package org.zkoss.zktest.zats.test2; + +import static org.junit.Assert.assertTrue; +import org.junit.Test; +import org.zkoss.zktest.zats.WebDriverTestCase; + +public class B96_ZK_5159Test extends WebDriverTestCase { + @Test + public void test() { + connect(); + final int scrollbarHeight = jq(".z-frozen-inner").height(); + assertTrue(scrollbarHeight >= 2); + } +} From bf73b5fd0e3ad58a25a3853d369350809de2f66f Mon Sep 17 00:00:00 2001 From: Jumper Chen Date: Thu, 29 Sep 2022 14:22:21 +0800 Subject: [PATCH 08/77] 1. add new attributes of ZKCharts v10.2.1.0 for zul.xsd 2. add a missing span element for zul.xsd --- zul/src/archive/metainfo/xml/zul.xsd | 78 ++++++++++++++++++++++++---- 1 file changed, 69 insertions(+), 9 deletions(-) diff --git a/zul/src/archive/metainfo/xml/zul.xsd b/zul/src/archive/metainfo/xml/zul.xsd index 454e62648f8..26c9ba780ee 100644 --- a/zul/src/archive/metainfo/xml/zul.xsd +++ b/zul/src/archive/metainfo/xml/zul.xsd @@ -1,6 +1,6 @@ + targetNamespace="http://www.zkoss.org/2005/zul" elementFormDefault="qualified" version="9.6.3.202209291420"> @@ -398,22 +398,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -637,6 +672,10 @@ + + + + + + + + + + From c965b5e22a66452b196b429c7bbd3a20b9ef5e25 Mon Sep 17 00:00:00 2001 From: James Chu Date: Thu, 29 Sep 2022 14:36:25 +0800 Subject: [PATCH 09/77] ZK-5220: a listbox without ROD causes a websocket connection to close --- zkdoc/release-note | 1 + zktest/src/archive/test2/B96-ZK-5220.zul | 41 ++++++++++++++++++++++ zktest/src/archive/test2/config.properties | 1 + 3 files changed, 43 insertions(+) create mode 100644 zktest/src/archive/test2/B96-ZK-5220.zul diff --git a/zkdoc/release-note b/zkdoc/release-note index 9ac145e4781..088aa57746b 100644 --- a/zkdoc/release-note +++ b/zkdoc/release-note @@ -2,6 +2,7 @@ ZK 9.6.3 * Features * Bugs + ZK-5220: a listbox without ROD causes a websocket connection to close * Upgrade Notes diff --git a/zktest/src/archive/test2/B96-ZK-5220.zul b/zktest/src/archive/test2/B96-ZK-5220.zul new file mode 100644 index 00000000000..be519421b3a --- /dev/null +++ b/zktest/src/archive/test2/B96-ZK-5220.zul @@ -0,0 +1,41 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/zktest/src/archive/test2/config.properties b/zktest/src/archive/test2/config.properties index 6ba4b26b3c0..3d252b3f1f4 100644 --- a/zktest/src/archive/test2/config.properties +++ b/zktest/src/archive/test2/config.properties @@ -3078,6 +3078,7 @@ B90-ZK-4431.zul=A,E,Multislider ##zats##B96-ZK-5126.zul=A,E,Chosenbox,escape,XML,emptyMessage ##zats##B96-ZK-5095.zul=A,E,Websocket,Serialization,Cluster ##manually##B96-ZK-5149.zul=A,E,dnd,dropupload,scroll,anchor,position +##manually##B96-ZK-5220.zul=A,E,Websocket,tomcat,partial,buffersize ## # Features - 3.0.x version From db7f19d08191425142548edaa9ee1d1767c37bd1 Mon Sep 17 00:00:00 2001 From: mduchemin Date: Thu, 8 Sep 2022 16:45:49 +0800 Subject: [PATCH 10/77] ClientInfoEvent deprecated javadoc additional info Added more information to the @deprectated field of the javadoc, following customer feedback that the reason to deprecate was unclear --- zk/src/org/zkoss/zk/ui/event/ClientInfoEvent.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/zk/src/org/zkoss/zk/ui/event/ClientInfoEvent.java b/zk/src/org/zkoss/zk/ui/event/ClientInfoEvent.java index 66723f13a8e..d4cc29e1de5 100644 --- a/zk/src/org/zkoss/zk/ui/event/ClientInfoEvent.java +++ b/zk/src/org/zkoss/zk/ui/event/ClientInfoEvent.java @@ -119,7 +119,9 @@ public ClientInfoEvent(String name, int timeZoneOfs, int scrnwd, int scrnhgh, in /** Returns the time zone of the client. * The result is a GMT based time zone without any geographical region info. * @see #getZoneId() - * @deprecated getZoneId() is preferred since 9.0.0 + * @deprecated getZoneId() is preferred since 9.0.0. + * getTimeZone returns a TimeZone object, which is no longer the preferred option to identify time zones. + * Instead, use #getZoneId(), which returns a ZoneId object, which better supports the current Instant and a LocalDateTime java APIs */ @Deprecated public TimeZone getTimeZone() { From 2261d0e8f92c79c533dabe4253b35721237e8d9a Mon Sep 17 00:00:00 2001 From: James Chu Date: Tue, 27 Sep 2022 11:59:40 +0800 Subject: [PATCH 11/77] ZK-5115: Websocket endpoint registers threadpool, doesn't close, prevents tomcat graceful stop, threads remain after stop --- zkdoc/release-note | 1 + zktest/src/archive/test2/B96-ZK-5115.zul | 28 ++++++++++++++++++++++ zktest/src/archive/test2/config.properties | 1 + 3 files changed, 30 insertions(+) create mode 100644 zktest/src/archive/test2/B96-ZK-5115.zul diff --git a/zkdoc/release-note b/zkdoc/release-note index 9ac145e4781..e6daa73d8d7 100644 --- a/zkdoc/release-note +++ b/zkdoc/release-note @@ -2,6 +2,7 @@ ZK 9.6.3 * Features * Bugs + ZK-5115: Websocket endpoint registers threadpool, doesn't close, prevents tomcat graceful stop, threads remain after stop * Upgrade Notes diff --git a/zktest/src/archive/test2/B96-ZK-5115.zul b/zktest/src/archive/test2/B96-ZK-5115.zul new file mode 100644 index 00000000000..de2db63e532 --- /dev/null +++ b/zktest/src/archive/test2/B96-ZK-5115.zul @@ -0,0 +1,28 @@ + + + + +
+
+
\ No newline at end of file diff --git a/zktest/src/archive/test2/config.properties b/zktest/src/archive/test2/config.properties index 6ba4b26b3c0..318a86b882f 100644 --- a/zktest/src/archive/test2/config.properties +++ b/zktest/src/archive/test2/config.properties @@ -3078,6 +3078,7 @@ B90-ZK-4431.zul=A,E,Multislider ##zats##B96-ZK-5126.zul=A,E,Chosenbox,escape,XML,emptyMessage ##zats##B96-ZK-5095.zul=A,E,Websocket,Serialization,Cluster ##manually##B96-ZK-5149.zul=A,E,dnd,dropupload,scroll,anchor,position +##manually##B96-ZK-5115.zul=A,E,Websocket,tomcat,thread,WebAppCleanup ## # Features - 3.0.x version From 752ccadb0f42765bcd3365646203d1bcb0abb997 Mon Sep 17 00:00:00 2001 From: learningstud Date: Thu, 29 Sep 2022 15:00:06 +0800 Subject: [PATCH 12/77] ZK-5170: borderlayout title css rules are missing under sapphire theme --- zkdoc/release-note | 1 + zktest/src/archive/test2/B96-ZK-5170.zul | 8 ++++++++ zktest/src/archive/test2/config.properties | 1 + 3 files changed, 10 insertions(+) create mode 100644 zktest/src/archive/test2/B96-ZK-5170.zul diff --git a/zkdoc/release-note b/zkdoc/release-note index 9ac145e4781..f23ccad4dda 100644 --- a/zkdoc/release-note +++ b/zkdoc/release-note @@ -2,6 +2,7 @@ ZK 9.6.3 * Features * Bugs + ZK-5170: borderlayout title css rules are missing under sapphire theme * Upgrade Notes diff --git a/zktest/src/archive/test2/B96-ZK-5170.zul b/zktest/src/archive/test2/B96-ZK-5170.zul new file mode 100644 index 00000000000..cf3eb872408 --- /dev/null +++ b/zktest/src/archive/test2/B96-ZK-5170.zul @@ -0,0 +1,8 @@ + + + + + north + + + \ No newline at end of file diff --git a/zktest/src/archive/test2/config.properties b/zktest/src/archive/test2/config.properties index 6ba4b26b3c0..7c0e3f11953 100644 --- a/zktest/src/archive/test2/config.properties +++ b/zktest/src/archive/test2/config.properties @@ -3078,6 +3078,7 @@ B90-ZK-4431.zul=A,E,Multislider ##zats##B96-ZK-5126.zul=A,E,Chosenbox,escape,XML,emptyMessage ##zats##B96-ZK-5095.zul=A,E,Websocket,Serialization,Cluster ##manually##B96-ZK-5149.zul=A,E,dnd,dropupload,scroll,anchor,position +##manually##B96-ZK-5170.zul=A,E,Borderlayout,Theme,CSS ## # Features - 3.0.x version From 702f4368fb9fb29d78ab4f90d8a006923569c7e9 Mon Sep 17 00:00:00 2001 From: James Chu Date: Wed, 28 Sep 2022 16:07:27 +0800 Subject: [PATCH 13/77] ZK-5140: ZK loads vulnerable commons-io transitively --- zk/pom.xml | 4 ++++ zkdoc/release-note | 1 + 2 files changed, 5 insertions(+) diff --git a/zk/pom.xml b/zk/pom.xml index ae114098938..84540d52cf0 100644 --- a/zk/pom.xml +++ b/zk/pom.xml @@ -85,6 +85,10 @@ commons-fileupload commons-fileupload + + commons-io + commons-io + diff --git a/zkdoc/release-note b/zkdoc/release-note index 9ac145e4781..b1598fbf1f9 100644 --- a/zkdoc/release-note +++ b/zkdoc/release-note @@ -2,6 +2,7 @@ ZK 9.6.3 * Features * Bugs + ZK-5140: ZK loads vulnerable commons-io transitively * Upgrade Notes From 276138bce8beb1bf9519e579127034610d621480 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 29 Sep 2022 08:35:31 +0000 Subject: [PATCH 14/77] Bump engine.io, browser-sync and socket.io Bumps [engine.io](https://github.com/socketio/engine.io) to 6.2.0 and updates ancestor dependencies [engine.io](https://github.com/socketio/engine.io), [browser-sync](https://github.com/BrowserSync/browser-sync) and [socket.io](https://github.com/socketio/socket.io). These dependencies need to be updated together. Updates `engine.io` from 3.5.0 to 6.2.0 - [Release notes](https://github.com/socketio/engine.io/releases) - [Changelog](https://github.com/socketio/engine.io/blob/main/CHANGELOG.md) - [Commits](https://github.com/socketio/engine.io/compare/3.5.0...6.2.0) Updates `browser-sync` from 2.26.14 to 2.27.10 - [Release notes](https://github.com/BrowserSync/browser-sync/releases) - [Changelog](https://github.com/BrowserSync/browser-sync/blob/master/CHANGELOG.md) - [Commits](https://github.com/BrowserSync/browser-sync/compare/v2.26.14...v2.27.10) Updates `socket.io` from 4.1.2 to 4.5.2 - [Release notes](https://github.com/socketio/socket.io/releases) - [Changelog](https://github.com/socketio/socket.io/blob/main/CHANGELOG.md) - [Commits](https://github.com/socketio/socket.io/compare/4.1.2...4.5.2) --- updated-dependencies: - dependency-name: engine.io dependency-type: indirect - dependency-name: browser-sync dependency-type: direct:development - dependency-name: socket.io dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 1452 +++++++++++---------------------------------- package.json | 2 +- 2 files changed, 351 insertions(+), 1103 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9ef6080711d..98e94768595 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,7 @@ "@types/jquery.transit": "^0.9.30", "@typescript-eslint/eslint-plugin": "^4.26.0", "@typescript-eslint/parser": "^4.26.0", - "browser-sync": "^2.26.14", + "browser-sync": "^2.27.10", "cssnano": "^5.0.11", "eslint": "^7.27.0", "gulp": "^4.0.2", @@ -1686,6 +1686,12 @@ "node": ">= 8" } }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", + "dev": true + }, "node_modules/@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", @@ -1695,22 +1701,16 @@ "node": ">=10.13.0" } }, - "node_modules/@types/component-emitter": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz", - "integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==", - "dev": true - }, "node_modules/@types/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-y7mImlc/rNkvCRmg8gC3/lj87S7pTUIJ6QGjwHR9WQJcFs+ZMTOaoPrkdFA/YdbuqVEmEbb5RdhVxMkAcgOnpg==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", "dev": true }, "node_modules/@types/cors": { - "version": "2.8.10", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.10.tgz", - "integrity": "sha512-C7srjHiVG3Ey1nR6d511dtDkCEjxuN9W1HWAEjGq8kpcwmNM6JJkpC0xvabM7BXTG2wDq8Eu33iH9aQKa7IvLQ==", + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", + "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", "dev": true }, "node_modules/@types/jquery": { @@ -1747,9 +1747,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "15.9.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.9.0.tgz", - "integrity": "sha512-AR1Vq1Ei1GaA5FjKL5PBqblTZsL5M+monvGSZwe6sSIdGiuu7Xr/pNwWJY+0ZQuN8AapD/XMB5IzBAyYRFbocA==", + "version": "18.7.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.23.tgz", + "integrity": "sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg==", "dev": true }, "node_modules/@types/sizzle": { @@ -1979,12 +1979,6 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/after": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", - "dev": true - }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -2029,9 +2023,9 @@ } }, "node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "engines": { "node": ">=8" @@ -2242,12 +2236,6 @@ "node": ">=0.10.0" } }, - "node_modules/arraybuffer.slice": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", - "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", - "dev": true - }, "node_modules/assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", @@ -2267,10 +2255,13 @@ } }, "node_modules/async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } }, "node_modules/async-done": { "version": "1.3.2", @@ -2296,7 +2287,7 @@ "node_modules/async-each-series": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz", - "integrity": "sha1-dhfBkXQB/Yykooqtzj266Yr+tDI=", + "integrity": "sha512-p4jj6Fws4Iy2m0iCmI2am2ZNZCgbdgE+P8F/8csmn2vx7ixXrO2zGcuNsD46X5uZSVecmkEy/M06X2vG8KD6dQ==", "dev": true, "engines": { "node": ">=0.8.0" @@ -2403,12 +2394,6 @@ "node": ">= 0.10" } }, - "node_modules/backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "dev": true - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -2445,15 +2430,6 @@ "node": ">=0.10.0" } }, - "node_modules/base64-arraybuffer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", - "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, "node_modules/base64id": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", @@ -2488,12 +2464,6 @@ "file-uri-to-path": "1.0.0" } }, - "node_modules/blob": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", - "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", - "dev": true - }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -2523,13 +2493,13 @@ } }, "node_modules/browser-sync": { - "version": "2.26.14", - "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.26.14.tgz", - "integrity": "sha512-3TtpsheGolJT6UFtM2CZWEcGJmI4ZEvoCKiKE2bvcDnPxRkhQT4nIGVtfiyPcoHKXGM0LwMOZmYJNWfiNfVXWA==", + "version": "2.27.10", + "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.27.10.tgz", + "integrity": "sha512-xKm+6KJmJu6RuMWWbFkKwOCSqQOxYe3nOrFkKI5Tr/ZzjPxyU3pFShKK3tWnazBo/3lYQzN7fzjixG8fwJh1Xw==", "dev": true, "dependencies": { - "browser-sync-client": "^2.26.14", - "browser-sync-ui": "^2.26.14", + "browser-sync-client": "^2.27.10", + "browser-sync-ui": "^2.27.10", "bs-recipes": "1.3.4", "bs-snippet-injector": "^2.0.1", "chokidar": "^3.5.1", @@ -2546,7 +2516,7 @@ "localtunnel": "^2.0.1", "micromatch": "^4.0.2", "opn": "5.3.0", - "portscanner": "2.1.1", + "portscanner": "2.2.0", "qs": "6.2.3", "raw-body": "^2.3.2", "resp-modifier": "6.0.2", @@ -2555,9 +2525,9 @@ "serve-index": "1.9.1", "serve-static": "1.13.2", "server-destroy": "1.0.1", - "socket.io": "2.4.0", - "ua-parser-js": "^0.7.18", - "yargs": "^15.4.1" + "socket.io": "^4.4.1", + "ua-parser-js": "1.0.2", + "yargs": "^17.3.1" }, "bin": { "browser-sync": "dist/bin.js" @@ -2567,31 +2537,32 @@ } }, "node_modules/browser-sync-client": { - "version": "2.26.14", - "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.26.14.tgz", - "integrity": "sha512-be0m1MchmKv/26r/yyyolxXcBi052aYrmaQep5nm8YNMjFcEyzv0ZoOKn/c3WEXNlEB/KeXWaw70fAOJ+/F1zQ==", + "version": "2.27.10", + "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.27.10.tgz", + "integrity": "sha512-KCFKA1YDj6cNul0VsA28apohtBsdk5Wv8T82ClOZPZMZWxPj4Ny5AUbrj9UlAb/k6pdxE5HABrWDhP9+cjt4HQ==", "dev": true, "dependencies": { "etag": "1.8.1", "fresh": "0.5.2", "mitt": "^1.1.3", - "rxjs": "^5.5.6" + "rxjs": "^5.5.6", + "typescript": "^4.6.2" }, "engines": { "node": ">=8.0.0" } }, "node_modules/browser-sync-ui": { - "version": "2.26.14", - "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.26.14.tgz", - "integrity": "sha512-6oT1sboM4KVNnWCCJDMGbRIeTBw97toMFQ+srImvwQ6J5t9KMgizaIX8HcKLiemsUMSJkgGM9RVKIpq2UblgOA==", + "version": "2.27.10", + "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.27.10.tgz", + "integrity": "sha512-elbJILq4Uo6OQv6gsvS3Y9vRAJlWu+h8j0JDkF0X/ua+3S6SVbbiWnZc8sNOFlG7yvVGIwBED3eaYQ0iBo1Dtw==", "dev": true, "dependencies": { "async-each-series": "0.1.1", "connect-history-api-fallback": "^1", "immutable": "^3", "server-destroy": "1.0.1", - "socket.io-client": "^2.4.0", + "socket.io-client": "^4.4.1", "stream-throttle": "^0.1.3" } }, @@ -2696,15 +2667,6 @@ "node": ">=6" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/caniuse-api": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", @@ -2852,14 +2814,14 @@ } }, "node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "wrap-ansi": "^7.0.0" } }, "node_modules/clone": { @@ -2969,24 +2931,12 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, - "node_modules/component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", - "dev": true - }, "node_modules/component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", "dev": true }, - "node_modules/component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", - "dev": true - }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -3057,9 +3007,9 @@ } }, "node_modules/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", "dev": true, "engines": { "node": ">= 0.6" @@ -3628,77 +3578,46 @@ } }, "node_modules/engine.io": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.5.0.tgz", - "integrity": "sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz", + "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==", "dev": true, "dependencies": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", "accepts": "~1.3.4", "base64id": "2.0.0", "cookie": "~0.4.1", - "debug": "~4.1.0", - "engine.io-parser": "~2.2.0", - "ws": "~7.4.2" + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.2.3" }, "engines": { - "node": ">=8.0.0" + "node": ">=10.0.0" } }, "node_modules/engine.io-client": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.2.tgz", - "integrity": "sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA==", - "dev": true, - "dependencies": { - "component-emitter": "~1.3.0", - "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.2.0", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "ws": "~7.4.2", - "xmlhttprequest-ssl": "~1.6.2", - "yeast": "0.1.2" - } - }, - "node_modules/engine.io-client/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.2.tgz", + "integrity": "sha512-8ZQmx0LQGRTYkHuogVZuGSpDqYZtCM/nv8zQ68VZ+JkOpazJ7ICdsSpaO6iXwvaU30oFg5QJOJWj8zWqhbKjkQ==", "dev": true, "dependencies": { - "ms": "2.0.0" + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.2.3", + "xmlhttprequest-ssl": "~2.0.0" } }, - "node_modules/engine.io-client/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, "node_modules/engine.io-parser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.1.tgz", - "integrity": "sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==", - "dev": true, - "dependencies": { - "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.4", - "blob": "0.0.5", - "has-binary2": "~1.0.2" - } - }, - "node_modules/engine.io/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", + "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==", "dev": true, - "dependencies": { - "ms": "^2.1.1" + "engines": { + "node": ">=10.0.0" } }, "node_modules/enquirer": { @@ -4530,19 +4449,6 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/findup-sync": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", @@ -5750,27 +5656,6 @@ "node": ">=0.10.0" } }, - "node_modules/has-binary2": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", - "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", - "dev": true, - "dependencies": { - "isarray": "2.0.1" - } - }, - "node_modules/has-binary2/node_modules/isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - }, - "node_modules/has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "dev": true - }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -5961,7 +5846,7 @@ "node_modules/immutable": { "version": "3.8.2", "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=", + "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", "dev": true, "engines": { "node": ">=0.10.0" @@ -6025,12 +5910,6 @@ "node": ">=0.8.19" } }, - "node_modules/indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -6642,76 +6521,6 @@ "node": ">=8.3.0" } }, - "node_modules/localtunnel/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/localtunnel/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/localtunnel/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/localtunnel/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/localtunnel/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/localtunnel/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/localtunnel/node_modules/yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", @@ -6739,18 +6548,6 @@ "node": ">=10" } }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -6772,7 +6569,7 @@ "node_modules/lodash.isfinite": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", - "integrity": "sha1-+4m2WpqAKBgz8LdHizpRBPiY67M=", + "integrity": "sha512-7FGG40uhC8Mm633uKW1r58aElFlBlxCrg9JfSi3P6aYiWmfiWF0PgMd86ZUsxE5GwWPdHoS2+48bwTh2VPkIQA==", "dev": true }, "node_modules/lodash.memoize": { @@ -7351,7 +7148,7 @@ "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, "engines": { "node": ">=0.10.0" @@ -7611,42 +7408,6 @@ "node": ">=0.10.0" } }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -7703,18 +7464,6 @@ "node": ">=0.10.0" } }, - "node_modules/parseqs": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", - "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==", - "dev": true - }, - "node_modules/parseuri": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", - "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==", - "dev": true - }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -7739,15 +7488,6 @@ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", "dev": true }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -7879,12 +7619,12 @@ } }, "node_modules/portscanner": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.1.1.tgz", - "integrity": "sha1-6rtAnk3iSVD1oqUW01rnaTQ/u5Y=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.2.0.tgz", + "integrity": "sha512-IFroCz/59Lqa2uBvzK3bKDbDDIEaAY8XJ1jFxcLWTqosrsc32//P4VuSB2vZXoHiHqOmx8B5L5hnKOxL/7FlPw==", "dev": true, "dependencies": { - "async": "1.5.2", + "async": "^2.6.0", "is-number-like": "^1.0.3" }, "engines": { @@ -8807,12 +8547,6 @@ "node": ">=0.10.0" } }, - "node_modules/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 - }, "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -9180,7 +8914,7 @@ "node_modules/server-destroy": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", - "integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=", + "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==", "dev": true }, "node_modules/set-blocking": { @@ -9503,117 +9237,88 @@ "dev": true }, "node_modules/socket.io": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.4.0.tgz", - "integrity": "sha512-9UPJ1UTvKayuQfVv2IQ3k7tCQC/fboDyIK62i99dAQIyHKaBsNdTpwHLgKJ6guRWxRtC9H+138UwpaGuQO9uWQ==", + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.2.tgz", + "integrity": "sha512-6fCnk4ARMPZN448+SQcnn1u8OHUC72puJcNtSgg2xS34Cu7br1gQ09YKkO1PFfDn/wyUE9ZgMAwosJed003+NQ==", "dev": true, "dependencies": { - "debug": "~4.1.0", - "engine.io": "~3.5.0", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.4.0", - "socket.io-parser": "~3.4.0" + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.2", + "engine.io": "~6.2.0", + "socket.io-adapter": "~2.4.0", + "socket.io-parser": "~4.2.0" + }, + "engines": { + "node": ">=10.0.0" } }, "node_modules/socket.io-adapter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", - "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", + "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==", "dev": true }, "node_modules/socket.io-client": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.4.0.tgz", - "integrity": "sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==", + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.2.tgz", + "integrity": "sha512-naqYfFu7CLDiQ1B7AlLhRXKX3gdeaIMfgigwavDzgJoIUYulc1qHH5+2XflTsXTPY7BlPH5rppJyUjhjrKQKLg==", "dev": true, "dependencies": { - "backo2": "1.0.2", - "component-bind": "1.0.0", - "component-emitter": "~1.3.0", - "debug": "~3.1.0", - "engine.io-client": "~3.5.0", - "has-binary2": "~1.0.2", - "indexof": "0.0.1", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "socket.io-parser": "~3.3.0", - "to-array": "0.1.4" + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.2", + "engine.io-client": "~6.2.1", + "socket.io-parser": "~4.2.0" + }, + "engines": { + "node": ">=10.0.0" } }, "node_modules/socket.io-client/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/socket.io-client/node_modules/isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - }, - "node_modules/socket.io-client/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/socket.io-client/node_modules/socket.io-parser": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.2.tgz", - "integrity": "sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==", - "dev": true, - "dependencies": { - "component-emitter": "~1.3.0", - "debug": "~3.1.0", - "isarray": "2.0.1" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/socket.io-parser": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.1.tgz", - "integrity": "sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz", + "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==", "dev": true, "dependencies": { - "component-emitter": "1.2.1", - "debug": "~4.1.0", - "isarray": "2.0.1" - } - }, - "node_modules/socket.io-parser/node_modules/component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "node_modules/socket.io-parser/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dev": true, - "dependencies": { - "ms": "^2.1.1" + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" } }, - "node_modules/socket.io-parser/node_modules/isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - }, "node_modules/socket.io/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "dependencies": { - "ms": "^2.1.1" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/source-map": { @@ -9840,7 +9545,7 @@ "node_modules/stream-throttle": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz", - "integrity": "sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM=", + "integrity": "sha512-889+B9vN9dq7/vLbGyuHeZ6/ctf5sNuGWsDy89uNxkFTAgzy0eK7+w5fL3KLNRTkLle7EgZGvHUphZW0Q26MnQ==", "dev": true, "dependencies": { "commander": "^2.2.0", @@ -9863,26 +9568,26 @@ } }, "node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, "node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" @@ -9983,7 +9688,7 @@ "node_modules/symbol-observable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", + "integrity": "sha512-Kb3PrPYz4HanVF1LVGuAdW6LoVgIwjUYJGzFe7NDrBLCN4lsV/5J0MFurV+ygS4bRVwrCEt2c7MQ1R2a72oJDw==", "dev": true, "engines": { "node": ">=0.10.0" @@ -10147,12 +9852,6 @@ "node": ">=0.10.0" } }, - "node_modules/to-array": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", - "dev": true - }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -10289,9 +9988,9 @@ "dev": true }, "node_modules/typescript": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.2.tgz", - "integrity": "sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw==", + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -10302,9 +10001,9 @@ } }, "node_modules/ua-parser-js": { - "version": "0.7.28", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz", - "integrity": "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.2.tgz", + "integrity": "sha512-00y/AXhx0/SsnI51fTc0rLRmafiGOM4/O+ny10Ps7f+j/b8p/ZY11ytMgznXkOVo4GQ+KwQG5UQLkLGirsACRg==", "dev": true, "funding": [ { @@ -10607,7 +10306,7 @@ "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true, "engines": { "node": ">= 0.8" @@ -10712,12 +10411,6 @@ "node": ">= 8" } }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -10728,9 +10421,9 @@ } }, "node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "dependencies": { "ansi-styles": "^4.0.0", @@ -10738,7 +10431,10 @@ "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/wrap-ansi/node_modules/ansi-styles": { @@ -10781,12 +10477,12 @@ "dev": true }, "node_modules/ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", "dev": true, "engines": { - "node": ">=8.3.0" + "node": ">=10.0.0" }, "peerDependencies": { "bufferutil": "^4.0.1", @@ -10802,9 +10498,9 @@ } }, "node_modules/xmlhttprequest-ssl": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz", - "integrity": "sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", + "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==", "dev": true, "engines": { "node": ">=0.4.0" @@ -10820,10 +10516,13 @@ } }, "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } }, "node_modules/yallist": { "version": "4.0.0", @@ -10841,46 +10540,32 @@ } }, "node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", "dev": true, "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" } }, "node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", - "dev": true - }, "node_modules/zkless-engine": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/zkless-engine/-/zkless-engine-1.1.8.tgz", @@ -10900,36 +10585,6 @@ "node": ">= 10.16" } }, - "node_modules/zkless-engine/node_modules/engine.io": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-5.1.1.tgz", - "integrity": "sha512-aMWot7H5aC8L4/T8qMYbLdvKlZOdJTH54FxfdFunTGvhMx1BHkJOntWArsVfgAZVwAO9LC2sryPWRcEeUzCe5w==", - "dev": true, - "dependencies": { - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~4.0.0", - "ws": "~7.4.2" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/zkless-engine/node_modules/engine.io-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz", - "integrity": "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==", - "dev": true, - "dependencies": { - "base64-arraybuffer": "0.1.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/zkless-engine/node_modules/fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", @@ -10948,49 +10603,9 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/zkless-engine/node_modules/socket.io": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.1.2.tgz", - "integrity": "sha512-xK0SD1C7hFrh9+bYoYCdVt+ncixkSLKtNLCax5aEy1o3r5PaO5yQhVb97exIe67cE7lAK+EpyMytXWTWmyZY8w==", - "dev": true, - "dependencies": { - "@types/cookie": "^0.4.0", - "@types/cors": "^2.8.8", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "debug": "~4.3.1", - "engine.io": "~5.1.0", - "socket.io-adapter": "~2.3.0", - "socket.io-parser": "~4.0.3" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/zkless-engine/node_modules/socket.io-adapter": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.1.tgz", - "integrity": "sha512-8cVkRxI8Nt2wadkY6u60Y4rpW3ejA1rxgcK2JuyIhmF+RMNpTy1QRtkHIDUOf3B4HlQwakMsWbKftMv/71VMmw==", - "dev": true - }, - "node_modules/zkless-engine/node_modules/socket.io-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", - "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", - "dev": true, - "dependencies": { - "@types/component-emitter": "^1.2.10", - "component-emitter": "~1.3.0", - "debug": "~4.3.1" - }, - "engines": { - "node": ">=10.0.0" + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } } }, @@ -12147,28 +11762,28 @@ "fastq": "^1.6.0" } }, + "@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", + "dev": true + }, "@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", "dev": true }, - "@types/component-emitter": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz", - "integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==", - "dev": true - }, "@types/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-y7mImlc/rNkvCRmg8gC3/lj87S7pTUIJ6QGjwHR9WQJcFs+ZMTOaoPrkdFA/YdbuqVEmEbb5RdhVxMkAcgOnpg==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", "dev": true }, "@types/cors": { - "version": "2.8.10", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.10.tgz", - "integrity": "sha512-C7srjHiVG3Ey1nR6d511dtDkCEjxuN9W1HWAEjGq8kpcwmNM6JJkpC0xvabM7BXTG2wDq8Eu33iH9aQKa7IvLQ==", + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", + "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", "dev": true }, "@types/jquery": { @@ -12205,9 +11820,9 @@ "dev": true }, "@types/node": { - "version": "15.9.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.9.0.tgz", - "integrity": "sha512-AR1Vq1Ei1GaA5FjKL5PBqblTZsL5M+monvGSZwe6sSIdGiuu7Xr/pNwWJY+0ZQuN8AapD/XMB5IzBAyYRFbocA==", + "version": "18.7.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.23.tgz", + "integrity": "sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg==", "dev": true }, "@types/sizzle": { @@ -12344,12 +11959,6 @@ "dev": true, "requires": {} }, - "after": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", - "dev": true - }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -12384,9 +11993,9 @@ } }, "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "ansi-styles": { @@ -12544,12 +12153,6 @@ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, - "arraybuffer.slice": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", - "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", - "dev": true - }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", @@ -12563,10 +12166,13 @@ "dev": true }, "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } }, "async-done": { "version": "1.3.2", @@ -12589,7 +12195,7 @@ "async-each-series": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz", - "integrity": "sha1-dhfBkXQB/Yykooqtzj266Yr+tDI=", + "integrity": "sha512-p4jj6Fws4Iy2m0iCmI2am2ZNZCgbdgE+P8F/8csmn2vx7ixXrO2zGcuNsD46X5uZSVecmkEy/M06X2vG8KD6dQ==", "dev": true }, "async-settle": { @@ -12672,12 +12278,6 @@ "now-and-later": "^2.0.0" } }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "dev": true - }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -12710,12 +12310,6 @@ } } }, - "base64-arraybuffer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", - "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=", - "dev": true - }, "base64id": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", @@ -12744,12 +12338,6 @@ "file-uri-to-path": "1.0.0" } }, - "blob": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", - "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", - "dev": true - }, "boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -12776,13 +12364,13 @@ } }, "browser-sync": { - "version": "2.26.14", - "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.26.14.tgz", - "integrity": "sha512-3TtpsheGolJT6UFtM2CZWEcGJmI4ZEvoCKiKE2bvcDnPxRkhQT4nIGVtfiyPcoHKXGM0LwMOZmYJNWfiNfVXWA==", + "version": "2.27.10", + "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.27.10.tgz", + "integrity": "sha512-xKm+6KJmJu6RuMWWbFkKwOCSqQOxYe3nOrFkKI5Tr/ZzjPxyU3pFShKK3tWnazBo/3lYQzN7fzjixG8fwJh1Xw==", "dev": true, "requires": { - "browser-sync-client": "^2.26.14", - "browser-sync-ui": "^2.26.14", + "browser-sync-client": "^2.27.10", + "browser-sync-ui": "^2.27.10", "bs-recipes": "1.3.4", "bs-snippet-injector": "^2.0.1", "chokidar": "^3.5.1", @@ -12799,7 +12387,7 @@ "localtunnel": "^2.0.1", "micromatch": "^4.0.2", "opn": "5.3.0", - "portscanner": "2.1.1", + "portscanner": "2.2.0", "qs": "6.2.3", "raw-body": "^2.3.2", "resp-modifier": "6.0.2", @@ -12808,34 +12396,35 @@ "serve-index": "1.9.1", "serve-static": "1.13.2", "server-destroy": "1.0.1", - "socket.io": "2.4.0", - "ua-parser-js": "^0.7.18", - "yargs": "^15.4.1" + "socket.io": "^4.4.1", + "ua-parser-js": "1.0.2", + "yargs": "^17.3.1" } }, "browser-sync-client": { - "version": "2.26.14", - "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.26.14.tgz", - "integrity": "sha512-be0m1MchmKv/26r/yyyolxXcBi052aYrmaQep5nm8YNMjFcEyzv0ZoOKn/c3WEXNlEB/KeXWaw70fAOJ+/F1zQ==", + "version": "2.27.10", + "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.27.10.tgz", + "integrity": "sha512-KCFKA1YDj6cNul0VsA28apohtBsdk5Wv8T82ClOZPZMZWxPj4Ny5AUbrj9UlAb/k6pdxE5HABrWDhP9+cjt4HQ==", "dev": true, "requires": { "etag": "1.8.1", "fresh": "0.5.2", "mitt": "^1.1.3", - "rxjs": "^5.5.6" + "rxjs": "^5.5.6", + "typescript": "^4.6.2" } }, "browser-sync-ui": { - "version": "2.26.14", - "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.26.14.tgz", - "integrity": "sha512-6oT1sboM4KVNnWCCJDMGbRIeTBw97toMFQ+srImvwQ6J5t9KMgizaIX8HcKLiemsUMSJkgGM9RVKIpq2UblgOA==", + "version": "2.27.10", + "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.27.10.tgz", + "integrity": "sha512-elbJILq4Uo6OQv6gsvS3Y9vRAJlWu+h8j0JDkF0X/ua+3S6SVbbiWnZc8sNOFlG7yvVGIwBED3eaYQ0iBo1Dtw==", "dev": true, "requires": { "async-each-series": "0.1.1", "connect-history-api-fallback": "^1", "immutable": "^3", "server-destroy": "1.0.1", - "socket.io-client": "^2.4.0", + "socket.io-client": "^4.4.1", "stream-throttle": "^0.1.3" } }, @@ -12915,12 +12504,6 @@ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "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 - }, "caniuse-api": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", @@ -13041,14 +12624,14 @@ } }, "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "wrap-ansi": "^7.0.0" } }, "clone": { @@ -13140,24 +12723,12 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", - "dev": true - }, "component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", "dev": true }, - "component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", - "dev": true - }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -13221,9 +12792,9 @@ } }, "cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", "dev": true }, "copy-anything": { @@ -13654,78 +13225,41 @@ } }, "engine.io": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.5.0.tgz", - "integrity": "sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz", + "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==", "dev": true, "requires": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", "accepts": "~1.3.4", "base64id": "2.0.0", "cookie": "~0.4.1", - "debug": "~4.1.0", - "engine.io-parser": "~2.2.0", - "ws": "~7.4.2" - }, - "dependencies": { - "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" - } - } + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.2.3" } }, "engine.io-client": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.2.tgz", - "integrity": "sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.2.tgz", + "integrity": "sha512-8ZQmx0LQGRTYkHuogVZuGSpDqYZtCM/nv8zQ68VZ+JkOpazJ7ICdsSpaO6iXwvaU30oFg5QJOJWj8zWqhbKjkQ==", "dev": true, "requires": { - "component-emitter": "~1.3.0", - "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.2.0", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "ws": "~7.4.2", - "xmlhttprequest-ssl": "~1.6.2", - "yeast": "0.1.2" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.2.3", + "xmlhttprequest-ssl": "~2.0.0" } }, "engine.io-parser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.1.tgz", - "integrity": "sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==", - "dev": true, - "requires": { - "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.4", - "blob": "0.0.5", - "has-binary2": "~1.0.2" - } + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", + "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==", + "dev": true }, "enquirer": { "version": "2.3.6", @@ -14393,16 +13927,6 @@ } } }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, "findup-sync": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", @@ -15391,29 +14915,6 @@ } } }, - "has-binary2": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", - "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", - "dev": true, - "requires": { - "isarray": "2.0.1" - }, - "dependencies": { - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - } - } - }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "dev": true - }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -15559,7 +15060,7 @@ "immutable": { "version": "3.8.2", "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=", + "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", "dev": true }, "import-cwd": { @@ -15604,12 +15105,6 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "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", @@ -16092,58 +15587,6 @@ "yargs": "16.2.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, "yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", @@ -16167,15 +15610,6 @@ } } }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -16197,7 +15631,7 @@ "lodash.isfinite": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", - "integrity": "sha1-+4m2WpqAKBgz8LdHizpRBPiY67M=", + "integrity": "sha512-7FGG40uhC8Mm633uKW1r58aElFlBlxCrg9JfSi3P6aYiWmfiWF0PgMd86ZUsxE5GwWPdHoS2+48bwTh2VPkIQA==", "dev": true }, "lodash.memoize": { @@ -16672,7 +16106,7 @@ "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true }, "object-copy": { @@ -16876,30 +16310,6 @@ "lcid": "^1.0.0" } }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -16941,18 +16351,6 @@ "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", "dev": true }, - "parseqs": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", - "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==", - "dev": true - }, - "parseuri": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", - "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==", - "dev": true - }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -16971,12 +16369,6 @@ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", "dev": true }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -17074,12 +16466,12 @@ } }, "portscanner": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.1.1.tgz", - "integrity": "sha1-6rtAnk3iSVD1oqUW01rnaTQ/u5Y=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.2.0.tgz", + "integrity": "sha512-IFroCz/59Lqa2uBvzK3bKDbDDIEaAY8XJ1jFxcLWTqosrsc32//P4VuSB2vZXoHiHqOmx8B5L5hnKOxL/7FlPw==", "dev": true, "requires": { - "async": "1.5.2", + "async": "^2.6.0", "is-number-like": "^1.0.3" } }, @@ -17718,12 +17110,6 @@ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "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 - }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -18024,7 +17410,7 @@ "server-destroy": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", - "integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=", + "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==", "dev": true }, "set-blocking": { @@ -18286,121 +17672,67 @@ } }, "socket.io": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.4.0.tgz", - "integrity": "sha512-9UPJ1UTvKayuQfVv2IQ3k7tCQC/fboDyIK62i99dAQIyHKaBsNdTpwHLgKJ6guRWxRtC9H+138UwpaGuQO9uWQ==", + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.2.tgz", + "integrity": "sha512-6fCnk4ARMPZN448+SQcnn1u8OHUC72puJcNtSgg2xS34Cu7br1gQ09YKkO1PFfDn/wyUE9ZgMAwosJed003+NQ==", "dev": true, "requires": { - "debug": "~4.1.0", - "engine.io": "~3.5.0", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.4.0", - "socket.io-parser": "~3.4.0" + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.2", + "engine.io": "~6.2.0", + "socket.io-adapter": "~2.4.0", + "socket.io-parser": "~4.2.0" }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } } } }, "socket.io-adapter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", - "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", + "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==", "dev": true }, "socket.io-client": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.4.0.tgz", - "integrity": "sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==", + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.2.tgz", + "integrity": "sha512-naqYfFu7CLDiQ1B7AlLhRXKX3gdeaIMfgigwavDzgJoIUYulc1qHH5+2XflTsXTPY7BlPH5rppJyUjhjrKQKLg==", "dev": true, "requires": { - "backo2": "1.0.2", - "component-bind": "1.0.0", - "component-emitter": "~1.3.0", - "debug": "~3.1.0", - "engine.io-client": "~3.5.0", - "has-binary2": "~1.0.2", - "indexof": "0.0.1", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "socket.io-parser": "~3.3.0", - "to-array": "0.1.4" + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.2", + "engine.io-client": "~6.2.1", + "socket.io-parser": "~4.2.0" }, "dependencies": { "debug": { - "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" - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "socket.io-parser": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.2.tgz", - "integrity": "sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { - "component-emitter": "~1.3.0", - "debug": "~3.1.0", - "isarray": "2.0.1" + "ms": "2.1.2" } } } }, "socket.io-parser": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.1.tgz", - "integrity": "sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz", + "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==", "dev": true, "requires": { - "component-emitter": "1.2.1", - "debug": "~4.1.0", - "isarray": "2.0.1" - }, - "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "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" - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - } + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" } }, "source-map": { @@ -18592,7 +17924,7 @@ "stream-throttle": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz", - "integrity": "sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM=", + "integrity": "sha512-889+B9vN9dq7/vLbGyuHeZ6/ctf5sNuGWsDy89uNxkFTAgzy0eK7+w5fL3KLNRTkLle7EgZGvHUphZW0Q26MnQ==", "dev": true, "requires": { "commander": "^2.2.0", @@ -18609,23 +17941,23 @@ } }, "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" } }, "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" } }, "strip-bom": { @@ -18698,7 +18030,7 @@ "symbol-observable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", + "integrity": "sha512-Kb3PrPYz4HanVF1LVGuAdW6LoVgIwjUYJGzFe7NDrBLCN4lsV/5J0MFurV+ygS4bRVwrCEt2c7MQ1R2a72oJDw==", "dev": true }, "table": { @@ -18835,12 +18167,6 @@ "is-negated-glob": "^1.0.0" } }, - "to-array": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", - "dev": true - }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -18946,15 +18272,15 @@ "dev": true }, "typescript": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.2.tgz", - "integrity": "sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw==", + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", "dev": true }, "ua-parser-js": { - "version": "0.7.28", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz", - "integrity": "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.2.tgz", + "integrity": "sha512-00y/AXhx0/SsnI51fTc0rLRmafiGOM4/O+ny10Ps7f+j/b8p/ZY11ytMgznXkOVo4GQ+KwQG5UQLkLGirsACRg==", "dev": true }, "uglify-js": { @@ -19184,7 +18510,7 @@ "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true }, "vinyl": { @@ -19270,12 +18596,6 @@ "isexe": "^2.0.0" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -19283,9 +18603,9 @@ "dev": true }, "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { "ansi-styles": "^4.0.0", @@ -19326,16 +18646,16 @@ "dev": true }, "ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", "dev": true, "requires": {} }, "xmlhttprequest-ssl": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz", - "integrity": "sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", + "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==", "dev": true }, "xtend": { @@ -19345,9 +18665,9 @@ "dev": true }, "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true }, "yallist": { @@ -19363,38 +18683,24 @@ "dev": true }, "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", "dev": true, "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" } }, "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true }, "zkless-engine": { @@ -19410,30 +18716,6 @@ "socket.io": "^4.1.2" }, "dependencies": { - "engine.io": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-5.1.1.tgz", - "integrity": "sha512-aMWot7H5aC8L4/T8qMYbLdvKlZOdJTH54FxfdFunTGvhMx1BHkJOntWArsVfgAZVwAO9LC2sryPWRcEeUzCe5w==", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~4.0.0", - "ws": "~7.4.2" - } - }, - "engine.io-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz", - "integrity": "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==", - "dev": true, - "requires": { - "base64-arraybuffer": "0.1.4" - } - }, "fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", @@ -19453,40 +18735,6 @@ "requires": { "graceful-fs": "^4.1.6" } - }, - "socket.io": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.1.2.tgz", - "integrity": "sha512-xK0SD1C7hFrh9+bYoYCdVt+ncixkSLKtNLCax5aEy1o3r5PaO5yQhVb97exIe67cE7lAK+EpyMytXWTWmyZY8w==", - "dev": true, - "requires": { - "@types/cookie": "^0.4.0", - "@types/cors": "^2.8.8", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "debug": "~4.3.1", - "engine.io": "~5.1.0", - "socket.io-adapter": "~2.3.0", - "socket.io-parser": "~4.0.3" - } - }, - "socket.io-adapter": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.1.tgz", - "integrity": "sha512-8cVkRxI8Nt2wadkY6u60Y4rpW3ejA1rxgcK2JuyIhmF+RMNpTy1QRtkHIDUOf3B4HlQwakMsWbKftMv/71VMmw==", - "dev": true - }, - "socket.io-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", - "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", - "dev": true, - "requires": { - "@types/component-emitter": "^1.2.10", - "component-emitter": "~1.3.0", - "debug": "~4.3.1" - } } } } diff --git a/package.json b/package.json index ebbdb9ce88b..ed673577e1a 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "@types/jquery.transit": "^0.9.30", "@typescript-eslint/eslint-plugin": "^4.26.0", "@typescript-eslint/parser": "^4.26.0", - "browser-sync": "^2.26.14", + "browser-sync": "^2.27.10", "cssnano": "^5.0.11", "eslint": "^7.27.0", "gulp": "^4.0.2", From 9cf034c10817ba69c7236e60fc96d30f05a4441f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 29 Sep 2022 08:35:26 +0000 Subject: [PATCH 15/77] Bump axios and localtunnel Bumps [axios](https://github.com/axios/axios) and [localtunnel](https://github.com/localtunnel/localtunnel). These dependencies needed to be updated together. Updates `axios` from 0.21.1 to 0.21.4 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v0.21.4/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v0.21.1...v0.21.4) Updates `localtunnel` from 2.0.1 to 2.0.2 - [Release notes](https://github.com/localtunnel/localtunnel/releases) - [Changelog](https://github.com/localtunnel/localtunnel/blob/master/CHANGELOG.md) - [Commits](https://github.com/localtunnel/localtunnel/compare/v2.0.1...v2.0.2) --- updated-dependencies: - dependency-name: axios dependency-type: indirect - dependency-name: localtunnel dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 78 +++++++++++++++++++++++------------------------ 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/package-lock.json b/package-lock.json index 98e94768595..da0b3aaf516 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2318,12 +2318,12 @@ } }, "node_modules/axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "dev": true, "dependencies": { - "follow-redirects": "^1.10.0" + "follow-redirects": "^1.14.0" } }, "node_modules/babel-plugin-dynamic-import-node": { @@ -3276,9 +3276,9 @@ } }, "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -6504,15 +6504,15 @@ } }, "node_modules/localtunnel": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.1.tgz", - "integrity": "sha512-LiaI5wZdz0xFkIQpXbNI62ZnNn8IMsVhwxHmhA+h4vj8R9JG/07bQHWwQlyy7b95/5fVOCHJfIHv+a5XnkvaJA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.2.tgz", + "integrity": "sha512-n418Cn5ynvJd7m/N1d9WVJISLJF/ellZnfsLnx8WBWGzxv/ntNcFkJ1o6se5quUhCplfLGBNL5tYHiq5WF3Nug==", "dev": true, "dependencies": { - "axios": "0.21.1", - "debug": "4.3.1", + "axios": "0.21.4", + "debug": "4.3.2", "openurl": "1.1.1", - "yargs": "16.2.0" + "yargs": "17.1.1" }, "bin": { "lt": "bin/lt.js" @@ -6522,9 +6522,9 @@ } }, "node_modules/localtunnel/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz", + "integrity": "sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==", "dev": true, "dependencies": { "cliui": "^7.0.2", @@ -6536,13 +6536,13 @@ "yargs-parser": "^20.2.2" }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/localtunnel/node_modules/yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, "engines": { "node": ">=10" @@ -12214,12 +12214,12 @@ "dev": true }, "axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "dev": true, "requires": { - "follow-redirects": "^1.10.0" + "follow-redirects": "^1.14.0" } }, "babel-plugin-dynamic-import-node": { @@ -12995,9 +12995,9 @@ } }, "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { "ms": "2.1.2" @@ -15576,21 +15576,21 @@ } }, "localtunnel": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.1.tgz", - "integrity": "sha512-LiaI5wZdz0xFkIQpXbNI62ZnNn8IMsVhwxHmhA+h4vj8R9JG/07bQHWwQlyy7b95/5fVOCHJfIHv+a5XnkvaJA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.2.tgz", + "integrity": "sha512-n418Cn5ynvJd7m/N1d9WVJISLJF/ellZnfsLnx8WBWGzxv/ntNcFkJ1o6se5quUhCplfLGBNL5tYHiq5WF3Nug==", "dev": true, "requires": { - "axios": "0.21.1", - "debug": "4.3.1", + "axios": "0.21.4", + "debug": "4.3.2", "openurl": "1.1.1", - "yargs": "16.2.0" + "yargs": "17.1.1" }, "dependencies": { "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz", + "integrity": "sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==", "dev": true, "requires": { "cliui": "^7.0.2", @@ -15603,9 +15603,9 @@ } }, "yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true } } From 66b7d44fc6539e5b23cf3ae4ad3c0918a9f1d47f Mon Sep 17 00:00:00 2001 From: Jumper Chen Date: Thu, 29 Sep 2022 17:53:45 +0800 Subject: [PATCH 16/77] remove unused import --- .../test/java/org/zkoss/zktest/zats/test2/F86_ZK_3958Test.java | 1 - 1 file changed, 1 deletion(-) diff --git a/zktest/test/java/org/zkoss/zktest/zats/test2/F86_ZK_3958Test.java b/zktest/test/java/org/zkoss/zktest/zats/test2/F86_ZK_3958Test.java index db921e800d4..c13a32a8f1a 100644 --- a/zktest/test/java/org/zkoss/zktest/zats/test2/F86_ZK_3958Test.java +++ b/zktest/test/java/org/zkoss/zktest/zats/test2/F86_ZK_3958Test.java @@ -13,7 +13,6 @@ import org.junit.Assert; import org.junit.Test; -import org.python.parser.ast.Str; import org.zkoss.zktest.zats.WebDriverTestCase; import org.zkoss.zktest.zats.ztl.JQuery; From ed1c577afed890f639ae27c352f35f3fd7cad146 Mon Sep 17 00:00:00 2001 From: James Chu Date: Wed, 28 Sep 2022 16:37:18 +0800 Subject: [PATCH 17/77] ZK-5179: Custom attributes on template do not resolve after ZK-5002 --- zk/src/org/zkoss/zk/ui/AbstractComponent.java | 5 ++ zkdoc/release-note | 1 + zktest/src/archive/test2/B96-ZK-5179.zul | 57 +++++++++++++++++++ zktest/src/archive/test2/config.properties | 1 + .../zktest/zats/test2/B96_ZK_5179Test.java | 52 +++++++++++++++++ 5 files changed, 116 insertions(+) create mode 100644 zktest/src/archive/test2/B96-ZK-5179.zul create mode 100644 zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5179Test.java diff --git a/zk/src/org/zkoss/zk/ui/AbstractComponent.java b/zk/src/org/zkoss/zk/ui/AbstractComponent.java index 928b3852ff1..a81b1fbba92 100644 --- a/zk/src/org/zkoss/zk/ui/AbstractComponent.java +++ b/zk/src/org/zkoss/zk/ui/AbstractComponent.java @@ -1109,6 +1109,11 @@ protected Object getShadowVariable0(Component baseChild, String name, boolean re HtmlShadowElement current = findNearestShadow(shadow, baseChild); return current.resolveVariable(baseChild, name, recurse); } + } else { // matched, try args + Map execArgs = getExecution().getArg(); + if (execArgs.containsKey(name)) { + return execArgs.get(name); + } } } } finally { diff --git a/zkdoc/release-note b/zkdoc/release-note index b02fc357e1f..d6551082cd1 100644 --- a/zkdoc/release-note +++ b/zkdoc/release-note @@ -9,6 +9,7 @@ ZK 9.6.3 ZK-5029: sporadic text wrapping in listbox/grid/tree cells since chrome 90 ZK-5159: Firefox Windows 11 scrollbar doesn't have height, cause missing scrollbar ZK-5115: Websocket endpoint registers threadpool, doesn't close, prevents tomcat graceful stop, threads remain after stop + ZK-5179: Custom attributes on template do not resolve after ZK-5002 * Upgrade Notes diff --git a/zktest/src/archive/test2/B96-ZK-5179.zul b/zktest/src/archive/test2/B96-ZK-5179.zul new file mode 100644 index 00000000000..11ab1ce26c0 --- /dev/null +++ b/zktest/src/archive/test2/B96-ZK-5179.zul @@ -0,0 +1,57 @@ + + + + + String value="test"; + Boolean trueValue = true; + + + + \ No newline at end of file diff --git a/zktest/src/archive/test2/config.properties b/zktest/src/archive/test2/config.properties index a44c58cd481..9480c85a463 100644 --- a/zktest/src/archive/test2/config.properties +++ b/zktest/src/archive/test2/config.properties @@ -3084,6 +3084,7 @@ B90-ZK-4431.zul=A,E,Multislider ##zats##B96-ZK-5029.zul=A,E,Listbox,Tree,Grid ##zats##B96-ZK-5159.zul=A,E,scrollbarWidth ##manually##B96-ZK-5115.zul=A,E,Websocket,tomcat,thread,WebAppCleanup +##zats##B96-ZK-5179.zul=A,E,zuti,shadow,apply,variables ## # Features - 3.0.x version diff --git a/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5179Test.java b/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5179Test.java new file mode 100644 index 00000000000..e5d1c8f5b4e --- /dev/null +++ b/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5179Test.java @@ -0,0 +1,52 @@ +/* B96_ZK_5179Test.java + + Purpose: + + Description: + + History: + Mon Sep 26 17:10:22 CST 2022, Created by jameschu + +Copyright (C) 2022 Potix Corporation. All Rights Reserved. +*/ +package org.zkoss.zktest.zats.test2; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; + +import org.zkoss.zats.mimic.ComponentAgent; +import org.zkoss.zats.mimic.DesktopAgent; +import org.zkoss.zktest.zats.ZATSTestCase; +import org.zkoss.zul.Label; + +/** + * @author jameschu + */ +public class B96_ZK_5179Test extends ZATSTestCase { + @Test + public void test() throws Exception { + DesktopAgent desktop = connect(); + ComponentAgent anchor1 = desktop.query("#anchor1"); + ComponentAgent anchor2 = desktop.query("#anchor2"); + ComponentAgent anchor3 = desktop.query("#anchor3"); + ComponentAgent next1 = anchor1.getNextSibling().getFirstChild().getNextSibling(); // vlayout -> label + ComponentAgent next2 = anchor2.getNextSibling().getNextSibling(); // label + ComponentAgent next3 = anchor3.getNextSibling().getNextSibling(); // label + String value = next1.as(Label.class).getValue().trim(); + assertEquals(value, next2.as(Label.class).getValue().trim()); + assertEquals(value, next3.as(Label.class).getValue().trim()); + next1 = next1.getNextSibling().getNextSibling(); + next2 = next2.getNextSibling().getNextSibling(); + next3 = next3.getNextSibling().getNextSibling(); + value = next1.as(Label.class).getValue().trim(); + assertEquals(value, next2.as(Label.class).getValue().trim()); + assertEquals(value, next3.as(Label.class).getValue().trim()); + next1 = next1.getNextSibling().getNextSibling(); + next2 = next2.getNextSibling().getNextSibling(); + next3 = next3.getNextSibling().getNextSibling(); + value = next1.as(Label.class).getValue().trim(); + assertEquals(value, next2.as(Label.class).getValue().trim()); + assertEquals(value, next3.as(Label.class).getValue().trim()); + } +} \ No newline at end of file From efccb730cae45d40e6cebf38ab1828a25bdab575 Mon Sep 17 00:00:00 2001 From: Jumper Chen Date: Fri, 30 Sep 2022 12:51:15 +0800 Subject: [PATCH 18/77] ZK-2259: Tabbox doesn't select second tab automatically when first tab is invisible --- zkdoc/release-note | 1 + zktest/src/archive/test2/B96-ZK-2259.zul | 32 +++++++++++++++++++ zktest/src/archive/test2/config.properties | 1 + .../zktest/zats/test2/B96_ZK_2259Test.java | 31 ++++++++++++++++++ zul/src/org/zkoss/zul/Tabs.java | 4 +-- 5 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 zktest/src/archive/test2/B96-ZK-2259.zul create mode 100644 zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_2259Test.java diff --git a/zkdoc/release-note b/zkdoc/release-note index d6551082cd1..d176f1152f5 100644 --- a/zkdoc/release-note +++ b/zkdoc/release-note @@ -10,6 +10,7 @@ ZK 9.6.3 ZK-5159: Firefox Windows 11 scrollbar doesn't have height, cause missing scrollbar ZK-5115: Websocket endpoint registers threadpool, doesn't close, prevents tomcat graceful stop, threads remain after stop ZK-5179: Custom attributes on template do not resolve after ZK-5002 + ZK-2259: Tabbox doesn't select second tab automatically when first tab is invisible * Upgrade Notes diff --git a/zktest/src/archive/test2/B96-ZK-2259.zul b/zktest/src/archive/test2/B96-ZK-2259.zul new file mode 100644 index 00000000000..a67ec6f4316 --- /dev/null +++ b/zktest/src/archive/test2/B96-ZK-2259.zul @@ -0,0 +1,32 @@ + + + + + + + + + + + + + First Panel + + + Second Panel + + + + \ No newline at end of file diff --git a/zktest/src/archive/test2/config.properties b/zktest/src/archive/test2/config.properties index 9480c85a463..4ecbf60cb6e 100644 --- a/zktest/src/archive/test2/config.properties +++ b/zktest/src/archive/test2/config.properties @@ -3085,6 +3085,7 @@ B90-ZK-4431.zul=A,E,Multislider ##zats##B96-ZK-5159.zul=A,E,scrollbarWidth ##manually##B96-ZK-5115.zul=A,E,Websocket,tomcat,thread,WebAppCleanup ##zats##B96-ZK-5179.zul=A,E,zuti,shadow,apply,variables +##zats##B96-ZK-2259.zul=A,E,zuti,tabbox,tab,selected,visible ## # Features - 3.0.x version diff --git a/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_2259Test.java b/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_2259Test.java new file mode 100644 index 00000000000..af72ba4eb90 --- /dev/null +++ b/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_2259Test.java @@ -0,0 +1,31 @@ +/* B96_ZK_2259Test.java + + Purpose: + + Description: + + History: + 12:39 PM 2022/9/30, Created by jumperchen + +Copyright (C) 2022 Potix Corporation. All Rights Reserved. +*/ +package org.zkoss.zktest.zats.test2; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + +import org.zkoss.zktest.zats.WebDriverTestCase; + +/** + * @author jumperchen + */ +public class B96_ZK_2259Test extends WebDriverTestCase { + @Test + public void test() { + connect(); + assertTrue(jq(".z-tab-selected").exists()); + assertEquals("Second Panel", jq(".z-tab-selected").text()); + } +} diff --git a/zul/src/org/zkoss/zul/Tabs.java b/zul/src/org/zkoss/zul/Tabs.java index 75ccdce9a75..8f0df8510e7 100644 --- a/zul/src/org/zkoss/zul/Tabs.java +++ b/zul/src/org/zkoss/zul/Tabs.java @@ -99,7 +99,7 @@ public void beforeChildAdded(Component child, Component refChild) { } public boolean insertBefore(Component child, Component refChild) { - boolean sel = getChildren().isEmpty(), desel = false; + boolean sel = !getChildren().stream().filter(Component::isVisible).findAny().isPresent(), desel = false; final Tab newtab = (Tab) child; if (!sel && newtab.isSelected()) { if (newtab.getTabbox() != null) // B65-ZK-1597 @@ -112,7 +112,7 @@ public boolean insertBefore(Component child, Component refChild) { if (super.insertBefore(child, refChild)) { final Tabbox tabbox = getTabbox(); - if (sel) + if (sel && newtab.isVisible()) if (tabbox != null) { if (tabbox.getModel() == null || tabbox.getSelectableModel().isSelectionEmpty()) tabbox.setSelectedTab(newtab); From 033d7a98b4011f97f4dd4c5a082c5e8d9d9ec108 Mon Sep 17 00:00:00 2001 From: Jumper Chen Date: Thu, 29 Sep 2022 18:00:50 +0800 Subject: [PATCH 19/77] Fix ZK-5214: Locales.getLocale("de_DE_dgl") returns a different locale than zk 8 --- zcommon/src/org/zkoss/util/Locales.java | 21 ++++++++++--- zkdoc/release-note | 1 + .../zkoss/zktest/zats/test2/B96_ZK_5214.java | 31 +++++++++++++++++++ 3 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5214.java diff --git a/zcommon/src/org/zkoss/util/Locales.java b/zcommon/src/org/zkoss/util/Locales.java index 5b75cbc9e15..0de67c0a0db 100644 --- a/zcommon/src/org/zkoss/util/Locales.java +++ b/zcommon/src/org/zkoss/util/Locales.java @@ -15,11 +15,10 @@ */ package org.zkoss.util; -import java.util.LinkedList; -import java.util.Map; +import java.util.Collection; import java.util.HashMap; import java.util.Locale; -import java.util.Collection; +import java.util.Map; import org.zkoss.lang.Objects; @@ -117,7 +116,21 @@ public static final Locale getLocale(String localeString, char separator) { } } localeString = localeString.replace(separator, '-'); - return getLocale(Locale.forLanguageTag(localeString)); + Locale locale = Locale.forLanguageTag(localeString); + + // fix for ZK-5214 + if (!java.util.Objects.equals(localeString, locale.toLanguageTag())) { + String[] split = localeString.split("-"); + switch (split.length) { + case 1: locale = new Locale(split[0]); + break; + case 2: locale = new Locale(split[0], split[1]); + break; + case 3: locale = new Locale(split[0], split[1], split[2]); + break; + } + } + return getLocale(locale); } /** Converts a string that consists of language, country and variant * to a locale. diff --git a/zkdoc/release-note b/zkdoc/release-note index d6551082cd1..2d410b7f6bc 100644 --- a/zkdoc/release-note +++ b/zkdoc/release-note @@ -10,6 +10,7 @@ ZK 9.6.3 ZK-5159: Firefox Windows 11 scrollbar doesn't have height, cause missing scrollbar ZK-5115: Websocket endpoint registers threadpool, doesn't close, prevents tomcat graceful stop, threads remain after stop ZK-5179: Custom attributes on template do not resolve after ZK-5002 + ZK-5214: Locales.getLocale("de_DE_dgl") returns a different locale than zk 8 * Upgrade Notes diff --git a/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5214.java b/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5214.java new file mode 100644 index 00000000000..8aca9878e22 --- /dev/null +++ b/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5214.java @@ -0,0 +1,31 @@ +/* B96_ZK_5214.java + + Purpose: + + Description: + + History: + 5:34 PM 2022/9/29, Created by jumperchen + +Copyright (C) 2022 Potix Corporation. All Rights Reserved. +*/ +package org.zkoss.zktest.zats.test2; + +import static org.junit.Assert.assertEquals; + +import java.util.Locale; + +import org.junit.Test; + +import org.zkoss.util.Locales; + +/** + * @author jumperchen + */ +public class B96_ZK_5214 { + @Test + public void test() { + assertEquals(Locale.forLanguageTag("zh-TW-u-ca-roc"), Locales.getLocale("zh-TW-u-ca-roc")); + assertEquals(new Locale("de", "DE", "dgl"), Locales.getLocale("de_DE_dgl")); + } +} From 942766146dd02822b22620c60470e5e889916ace Mon Sep 17 00:00:00 2001 From: Jumper Chen Date: Fri, 30 Sep 2022 15:08:18 +0800 Subject: [PATCH 20/77] rename --- .../zats/test2/{B96_ZK_5214.java => B96_ZK_5214Test.java} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename zktest/test/java/org/zkoss/zktest/zats/test2/{B96_ZK_5214.java => B96_ZK_5214Test.java} (90%) diff --git a/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5214.java b/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5214Test.java similarity index 90% rename from zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5214.java rename to zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5214Test.java index 8aca9878e22..f5d64f9371d 100644 --- a/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5214.java +++ b/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5214Test.java @@ -1,4 +1,4 @@ -/* B96_ZK_5214.java +/* B96_ZK_5214Test.java Purpose: @@ -22,7 +22,7 @@ /** * @author jumperchen */ -public class B96_ZK_5214 { +public class B96_ZK_5214Test { @Test public void test() { assertEquals(Locale.forLanguageTag("zh-TW-u-ca-roc"), Locales.getLocale("zh-TW-u-ca-roc")); From 61f593ac8d158746026b52b40743d6fbb7bcc0be Mon Sep 17 00:00:00 2001 From: learningstud Date: Fri, 30 Sep 2022 18:04:16 +0800 Subject: [PATCH 21/77] ZK-5253: title of borderlayout north/south shouldn't rotate 90 degrees --- zkdoc/release-note | 1 + zktest/src/archive/test2/B96-ZK-5253.zul | 8 ++++++++ zktest/src/archive/test2/config.properties | 1 + 3 files changed, 10 insertions(+) create mode 100644 zktest/src/archive/test2/B96-ZK-5253.zul diff --git a/zkdoc/release-note b/zkdoc/release-note index 9ac145e4781..2055099e00d 100644 --- a/zkdoc/release-note +++ b/zkdoc/release-note @@ -2,6 +2,7 @@ ZK 9.6.3 * Features * Bugs + ZK-5253: title of borderlayout north/south shouldn't rotate 90 degrees * Upgrade Notes diff --git a/zktest/src/archive/test2/B96-ZK-5253.zul b/zktest/src/archive/test2/B96-ZK-5253.zul new file mode 100644 index 00000000000..cf3eb872408 --- /dev/null +++ b/zktest/src/archive/test2/B96-ZK-5253.zul @@ -0,0 +1,8 @@ + + + + + north + + + \ No newline at end of file diff --git a/zktest/src/archive/test2/config.properties b/zktest/src/archive/test2/config.properties index 6ba4b26b3c0..11abceab0ab 100644 --- a/zktest/src/archive/test2/config.properties +++ b/zktest/src/archive/test2/config.properties @@ -3078,6 +3078,7 @@ B90-ZK-4431.zul=A,E,Multislider ##zats##B96-ZK-5126.zul=A,E,Chosenbox,escape,XML,emptyMessage ##zats##B96-ZK-5095.zul=A,E,Websocket,Serialization,Cluster ##manually##B96-ZK-5149.zul=A,E,dnd,dropupload,scroll,anchor,position +##manually##B96-ZK-5253.zul=A,E,Borderlayout,Theme,atlantic,CSS ## # Features - 3.0.x version From cd92af8056bf8ff2824a8a9c0ba94cd1a68467ae Mon Sep 17 00:00:00 2001 From: learningstud Date: Fri, 30 Sep 2022 18:29:29 +0800 Subject: [PATCH 22/77] ZK-5240: calculation issue in tpad cause grid to render entire content at once --- zkdoc/release-note | 1 + zktest/src/archive/test2/B96-ZK-5240.zul | 20 +++++++++ zktest/src/archive/test2/config.properties | 1 + .../zktest/test2/B96_ZK_5240Composer.java | 42 +++++++++++++++++++ 4 files changed, 64 insertions(+) create mode 100644 zktest/src/archive/test2/B96-ZK-5240.zul create mode 100644 zktest/src/org/zkoss/zktest/test2/B96_ZK_5240Composer.java diff --git a/zkdoc/release-note b/zkdoc/release-note index 9ac145e4781..41186ee333d 100644 --- a/zkdoc/release-note +++ b/zkdoc/release-note @@ -2,6 +2,7 @@ ZK 9.6.3 * Features * Bugs + ZK-5240: calculation issue in tpad cause grid to render entire content at once * Upgrade Notes diff --git a/zktest/src/archive/test2/B96-ZK-5240.zul b/zktest/src/archive/test2/B96-ZK-5240.zul new file mode 100644 index 00000000000..4d46f2b33c1 --- /dev/null +++ b/zktest/src/archive/test2/B96-ZK-5240.zul @@ -0,0 +1,20 @@ + + + +
+
+
\ No newline at end of file diff --git a/zktest/src/archive/test2/config.properties b/zktest/src/archive/test2/config.properties index 6ba4b26b3c0..167f262d872 100644 --- a/zktest/src/archive/test2/config.properties +++ b/zktest/src/archive/test2/config.properties @@ -3078,6 +3078,7 @@ B90-ZK-4431.zul=A,E,Multislider ##zats##B96-ZK-5126.zul=A,E,Chosenbox,escape,XML,emptyMessage ##zats##B96-ZK-5095.zul=A,E,Websocket,Serialization,Cluster ##manually##B96-ZK-5149.zul=A,E,dnd,dropupload,scroll,anchor,position +##manually##B96-ZK-5240.zul=A,E,Grid,Scrollbar ## # Features - 3.0.x version diff --git a/zktest/src/org/zkoss/zktest/test2/B96_ZK_5240Composer.java b/zktest/src/org/zkoss/zktest/test2/B96_ZK_5240Composer.java new file mode 100644 index 00000000000..bfb6306a8ef --- /dev/null +++ b/zktest/src/org/zkoss/zktest/test2/B96_ZK_5240Composer.java @@ -0,0 +1,42 @@ +package org.zkoss.zktest.test2; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.select.SelectorComposer; +import org.zkoss.zk.ui.select.annotation.Listen; +import org.zkoss.zk.ui.select.annotation.Wire; +import org.zkoss.zul.Grid; +import org.zkoss.zul.ListModel; +import org.zkoss.zul.ListModelList; + +public class B96_ZK_5240Composer extends SelectorComposer { + + @Wire + private Grid gd; + + + @Override + public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); + gd.setModel(new ListModelList<>()); + } + + private ListModel generateModel() { + List Items = new ArrayList(); + for (int i = 0; i < 2500; i++) { + Items.add("data "+i); + } + ListModelList model = new ListModelList(Items); + return model; + } + + @Listen("onClick=#btn") + public void doBtnClick() { + ((ListModelList)gd.getModel()).addAll((Collection) generateModel()); + gd.invalidate(); + } + +} From 7cf1439bfa62676b2ef63410f3486cee763651a0 Mon Sep 17 00:00:00 2001 From: Jumper Chen Date: Mon, 3 Oct 2022 12:00:05 +0800 Subject: [PATCH 23/77] add github rebase action refers to https://github.com/cirrus-actions/rebase --- .github/workflows/rebase.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .github/workflows/rebase.yml diff --git a/.github/workflows/rebase.yml b/.github/workflows/rebase.yml new file mode 100644 index 00000000000..1eb6a4be112 --- /dev/null +++ b/.github/workflows/rebase.yml @@ -0,0 +1,26 @@ +name: Automatic Rebase +on: + issue_comment: + types: [created] +jobs: + rebase: + name: Rebase + runs-on: ubuntu-latest + if: >- + github.event.issue.pull_request != '' && github.event.comment.author_association == 'MEMBER' && + ( + contains(github.event.comment.body, '/rebase') || + contains(github.event.comment.body, '/autosquash') + ) + steps: + - name: Checkout the latest code + uses: actions/checkout@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} + fetch-depth: 0 # otherwise, you will fail to push refs to dest repo + - name: Automatic Rebase + uses: cirrus-actions/rebase@1.7 + with: + autosquash: ${{ contains(github.event.comment.body, '/autosquash') || contains(github.event.comment.body, '/rebase-autosquash') }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From ff299e07188317e4651567b4c3804e9763a5eb18 Mon Sep 17 00:00:00 2001 From: Jumper Chen Date: Mon, 3 Oct 2022 16:56:53 +0800 Subject: [PATCH 24/77] add B85-ZK-3934.zul test case --- zktest/src/archive/test2/B85-ZK-3934.zul | 66 +++++++++---------- .../zktest/zats/test2/B85_ZK_3934Test.java | 38 +++++++++++ 2 files changed, 71 insertions(+), 33 deletions(-) create mode 100644 zktest/test/java/org/zkoss/zktest/zats/test2/B85_ZK_3934Test.java diff --git a/zktest/src/archive/test2/B85-ZK-3934.zul b/zktest/src/archive/test2/B85-ZK-3934.zul index 9055224f557..a56bde7e2ce 100644 --- a/zktest/src/archive/test2/B85-ZK-3934.zul +++ b/zktest/src/archive/test2/B85-ZK-3934.zul @@ -59,17 +59,17 @@ Copyright (C) 2018 Potix Corporation. All Rights Reserved. - - - - - - - - - - - + + + + + + + + + + + @@ -102,17 +102,17 @@ Copyright (C) 2018 Potix Corporation. All Rights Reserved. - - - - - - - - - - - + + + + + + + + + + + @@ -147,17 +147,17 @@ Copyright (C) 2018 Potix Corporation. All Rights Reserved. - - - - - - - - - - - + + + + + + + + + + + diff --git a/zktest/test/java/org/zkoss/zktest/zats/test2/B85_ZK_3934Test.java b/zktest/test/java/org/zkoss/zktest/zats/test2/B85_ZK_3934Test.java new file mode 100644 index 00000000000..0747c6e1996 --- /dev/null +++ b/zktest/test/java/org/zkoss/zktest/zats/test2/B85_ZK_3934Test.java @@ -0,0 +1,38 @@ +/* B85_ZK_3934Test.java + + Purpose: + + Description: + + History: + 4:52 PM 2022/10/3, Created by jumperchen + +Copyright (C) 2022 Potix Corporation. All Rights Reserved. +*/ +package org.zkoss.zktest.zats.test2; + +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + +import org.zkoss.zktest.zats.WebDriverTestCase; + +/** + * @author jumperchen + */ +public class B85_ZK_3934Test extends WebDriverTestCase { + @Test + public void test() { + connect(); + + click(jq("@button")); + click(jq("@button:eq(1)")); + click(jq("@button:eq(2)")); + + waitResponse(); + String zkLog = getZKLog(); + assertTrue(zkLog.contains(".z-listcell : 150 / 150")); + assertTrue(zkLog.contains(".z-cell : 150 / 150")); + assertTrue(zkLog.contains(".z-treecell : 150 / 150")); + } +} From 4d7942a536537553b4b01dc9fe85a807697c0efb Mon Sep 17 00:00:00 2001 From: learningstud Date: Mon, 3 Oct 2022 17:26:39 +0800 Subject: [PATCH 25/77] Refine ZK-5155: handle focusout event due to disabling DOM element and add bubbleUnmountFocusElementEvent_ --- zul/src/archive/web/js/zul/inp/Bandpopup.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/zul/src/archive/web/js/zul/inp/Bandpopup.js b/zul/src/archive/web/js/zul/inp/Bandpopup.js index 15ae4f30879..bc0a03740da 100644 --- a/zul/src/archive/web/js/zul/inp/Bandpopup.js +++ b/zul/src/archive/web/js/zul/inp/Bandpopup.js @@ -41,6 +41,12 @@ zul.inp.Bandpopup = zk.$extends(zul.Widget, { if (e.relatedTarget) { if (bandbox && bandbox.isOpen() && !jq.isAncestor(bandbox.$n('pp'), e.relatedTarget)) bandbox.close(); + } else if (e.originalEvent && e.originalEvent.target && e.originalEvent.target.disabled) { + // ZK-5155: A focusout/blur event can be fired when an element is disabled. If a child of this Bandpopup + // loses its focus due to being disabled, let the popup receive focus. + var popup = bandbox.$n('pp'); + popup.focus(); // The popup can receive focus because it has tabindex set. + e.relatedTarget = popup; } else { // for solving B96-ZK-4748, treechildren will rerender itself when clicking // the open icon, and JQ will simulate a fake focusout event without any relatedTarget. @@ -51,7 +57,7 @@ zul.inp.Bandpopup = zk.$extends(zul.Widget, { bandbox.close(); self._shallClosePopup = false; } - }, 150); + }); } }, //super From 54d3358f9a88b94be880a3e0666f39d75914d504 Mon Sep 17 00:00:00 2001 From: Jumper Chen Date: Fri, 30 Sep 2022 16:11:52 +0800 Subject: [PATCH 26/77] ZK-5247: dynamically rerendered row breaking hflex min column --- zkdoc/release-note | 1 + zktest/src/archive/test2/B96-ZK-5247.zul | 52 +++++++++++++++++++ zktest/src/archive/test2/config.properties | 1 + .../zktest/zats/test2/B96_ZK_5247Test.java | 40 ++++++++++++++ zul/src/archive/web/js/zul/mesh/MeshWidget.js | 3 ++ 5 files changed, 97 insertions(+) create mode 100644 zktest/src/archive/test2/B96-ZK-5247.zul create mode 100644 zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5247Test.java diff --git a/zkdoc/release-note b/zkdoc/release-note index 9d7b4f71f9e..92c0e5bb699 100644 --- a/zkdoc/release-note +++ b/zkdoc/release-note @@ -15,6 +15,7 @@ ZK 9.6.3 ZK-5214: Locales.getLocale("de_DE_dgl") returns a different locale than zk 8 ZK-5253: title of borderlayout north/south shouldn't rotate 90 degrees ZK-5240: calculation issue in tpad cause grid to render entire content at once + ZK-5247: dynamically rerendered row breaking hflex min column * Upgrade Notes diff --git a/zktest/src/archive/test2/B96-ZK-5247.zul b/zktest/src/archive/test2/B96-ZK-5247.zul new file mode 100644 index 00000000000..7b45cc69e40 --- /dev/null +++ b/zktest/src/archive/test2/B96-ZK-5247.zul @@ -0,0 +1,52 @@ + + + +
+
diff --git a/zktest/src/archive/test2/config.properties b/zktest/src/archive/test2/config.properties index 7703746955c..423ef77c862 100644 --- a/zktest/src/archive/test2/config.properties +++ b/zktest/src/archive/test2/config.properties @@ -3088,6 +3088,7 @@ B90-ZK-4431.zul=A,E,Multislider ##zats##B96-ZK-2259.zul=A,E,zuti,tabbox,tab,selected,visible ##manually##B96-ZK-5253.zul=A,E,Borderlayout,Theme,atlantic,CSS ##manually##B96-ZK-5240.zul=A,E,Grid,Scrollbar +##zats##B96-ZK-5247.zul=A,E,onSize,hflex,grid,rows ## # Features - 3.0.x version diff --git a/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5247Test.java b/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5247Test.java new file mode 100644 index 00000000000..60afc0168d6 --- /dev/null +++ b/zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5247Test.java @@ -0,0 +1,40 @@ +/* B96_ZK_5247Test.java + + Purpose: + + Description: + + History: + 3:29 PM 2022/9/30, Created by jumperchen + +Copyright (C) 2022 Potix Corporation. All Rights Reserved. +*/ +package org.zkoss.zktest.zats.test2; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + +import org.zkoss.zktest.zats.WebDriverTestCase; + +/** + * @author jumperchen + */ +public class B96_ZK_5247Test extends WebDriverTestCase { + @Test + public void test() { + connect(); + + int width = jq(".z-row-inner").width(); + assertTrue(width > 60); + + click(jq("@button:eq(0)")); + waitResponse(); + click(jq("@button:eq(1)")); + waitResponse(); + click(jq("@button:eq(0)")); + waitResponse(); + assertEquals(width, jq(".z-row-inner").width(), 5); + } +} diff --git a/zul/src/archive/web/js/zul/mesh/MeshWidget.js b/zul/src/archive/web/js/zul/mesh/MeshWidget.js index 6020f8fc045..9f537d97165 100644 --- a/zul/src/archive/web/js/zul/mesh/MeshWidget.js +++ b/zul/src/archive/web/js/zul/mesh/MeshWidget.js @@ -1278,6 +1278,9 @@ zul.mesh.MeshWidget = zk.$extends(zul.Widget, { this._calcHgh(); }, _afterCalcSize: function () { + // Fix B96-ZK-5247 + if (!this.isRealVisible()) return; + var isCSSFlex = this._cssflex && this.isChildrenFlex(); if (this._ebodyScrollPos) { // ZK-2046: Restore ebody scroll position after calculated size. From dcb573a32df080d756411947c50c2feb049d7502 Mon Sep 17 00:00:00 2001 From: Jumper Chen Date: Fri, 30 Sep 2022 18:27:44 +0800 Subject: [PATCH 27/77] ZK-5033: infinite loop when firing an event on a detached widget --- zk/src/archive/web/js/zk/au.ts | 6 ++--- zkdoc/release-note | 1 + zktest/src/archive/test2/B96-ZK-5033.zul | 25 ++++++++++++++++++ zktest/src/archive/test2/config.properties | 1 + .../zkoss/zktest/zats/WebDriverTestCase.java | 19 +++++++++----- .../zktest/zats/test2/B96_ZK_5033Test.java | 26 +++++++++++++++++++ 6 files changed, 68 insertions(+), 10 deletions(-) create mode 100644 zktest/src/archive/test2/B96-ZK-5033.zul create mode 100644 zktest/test/java/org/zkoss/zktest/zats/test2/B96_ZK_5033Test.java diff --git a/zk/src/archive/web/js/zk/au.ts b/zk/src/archive/web/js/zk/au.ts index ac618bf4b76..d6754922e36 100644 --- a/zk/src/archive/web/js/zk/au.ts +++ b/zk/src/archive/web/js/zk/au.ts @@ -137,10 +137,10 @@ Copyright (C) 2008 Potix Corporation. All Rights Reserved. if (!dt) { //original dt is decided by aureq.target.desktop, so start by it's parent. var wgt: zk.Widget | null | undefined = aureq.target.parent; - while (!wgt?.desktop) { - wgt = wgt?.parent; + while (!wgt!.desktop) { + wgt = wgt!.parent; } - dt = wgt?.desktop; + dt = wgt!.desktop; } //// zAu.addAuRequest(dt, aureq); diff --git a/zkdoc/release-note b/zkdoc/release-note index 92c0e5bb699..e78557e867f 100644 --- a/zkdoc/release-note +++ b/zkdoc/release-note @@ -16,6 +16,7 @@ ZK 9.6.3 ZK-5253: title of borderlayout north/south shouldn't rotate 90 degrees ZK-5240: calculation issue in tpad cause grid to render entire content at once ZK-5247: dynamically rerendered row breaking hflex min column + ZK-5033: infinite loop when firing an event on a detached widget * Upgrade Notes diff --git a/zktest/src/archive/test2/B96-ZK-5033.zul b/zktest/src/archive/test2/B96-ZK-5033.zul new file mode 100644 index 00000000000..d8d9ca32e73 --- /dev/null +++ b/zktest/src/archive/test2/B96-ZK-5033.zul @@ -0,0 +1,25 @@ + + + + +