From a7cbbec3f320541a00ef8051aeaa913241f0571a Mon Sep 17 00:00:00 2001 From: Werner Punz Date: Thu, 5 Jun 2025 20:12:32 +0200 Subject: [PATCH 1/3] https://issues.apache.org/jira/browse/MYFACES-4719: Fix for event type not being rendered in command script call --- .../myfaces/renderkit/html/HtmlCommandScriptRenderer.java | 2 +- .../apache/myfaces/renderkit/html/util/AjaxScriptBuilder.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlCommandScriptRenderer.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlCommandScriptRenderer.java index 926f85c112..efc7e347e2 100644 --- a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlCommandScriptRenderer.java +++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlCommandScriptRenderer.java @@ -80,7 +80,7 @@ public void encodeBegin(FacesContext context, UIComponent component) throws IOEx script.prettyLine(); script.increaseIndent(); - script.append("var "+name+" = function(o){var o=(typeof o==='object')&&o?o:{};"); + script.append("var "+name+" = function(o, event){var o=(typeof o==='object')&&o?o:{};"); script.prettyLine(); List uiParams = HtmlRendererUtils.getValidUIParameterChildren( diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/util/AjaxScriptBuilder.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/util/AjaxScriptBuilder.java index fd78096069..0da2e73ecd 100644 --- a/impl/src/main/java/org/apache/myfaces/renderkit/html/util/AjaxScriptBuilder.java +++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/util/AjaxScriptBuilder.java @@ -178,7 +178,7 @@ public static void build(FacesContext context, } sb.append(','); - sb.append(commandScript == null ? AJAX_VAL_EVENT : AJAX_VAL_NULL); + sb.append(AJAX_VAL_EVENT); sb.append(",'"); sb.append(eventName); From ee1df1e84548b0c3520afcb00fe723cc2b5a0995 Mon Sep 17 00:00:00 2001 From: werpu Date: Tue, 23 Dec 2025 22:26:15 +0100 Subject: [PATCH 2/3] https://issues.apache.org/jira/browse/MYFACES-4736:fix for code under wrong license... moving up dependencies via audit --- api/src/client/package-lock.json | 996 +++++++++++------- api/src/client/package.json | 4 +- api/src/client/tsconfig-myfaces-test.json | 52 + api/src/client/tsconfig-myfaces.json | 3 +- api/src/client/typescript/faces/api/_api.ts | 4 +- .../client/typescript/faces/impl/AjaxImpl.ts | 10 +- .../typescript/faces/impl/util/Assertions.ts | 2 +- .../client/typescript/faces/impl/util/Lang.ts | 4 +- .../faces/impl/util/XhrQueueController.ts | 2 +- .../faces/impl/xhrCore/ErrorData.ts | 2 +- .../faces/impl/xhrCore/RequestDataResolver.ts | 2 +- .../faces/impl/xhrCore/ResponseProcessor.ts | 10 +- .../faces/impl/xhrCore/XhrFormData.ts | 2 +- .../faces/impl/xhrCore/XhrRequest.ts | 2 +- .../typescript/faces/myfaces/OamSubmit.ts | 2 +- .../faces/test/api/MyFacesABTest.spec.ts | 2 +- .../faces/test/frameworkBase/LangTest.spec.ts | 25 +- .../_ext/monadish/DomQueryTest.spec.ts | 18 +- .../_ext/monadish/LangTest.spec.ts | 2 +- .../_ext/monadish/MappingProbes.ts | 18 +- .../_ext/monadish/MonadTest.spec.ts | 6 +- .../_ext/shared/StandardInits.ts | 60 +- .../faces/test/impl/ImplTest.spec.ts | 4 +- .../faces/test/impl/ImplTest_23.spec.ts | 4 +- .../test/impl/SeparatorCharsTest.spec.ts | 4 +- .../test/impl/util/ExtDomQueryTest.spec.ts | 2 +- .../faces/test/myfaces/OamSubmit.spec.ts | 8 +- .../faces/test/myfaces/OnLoad.spec.ts | 2 +- .../test/queue/AsynchronousQueueTest.spec.ts | 8 +- .../faces/test/xhrCore/ClientWindow.spec.ts | 6 +- .../faces/test/xhrCore/ErrorChainTest.spec.ts | 8 +- .../faces/test/xhrCore/EventTests.spec.ts | 6 +- .../faces/test/xhrCore/FileUploadTest.spec.ts | 6 +- .../xhrCore/NamespacesRequestTest.spec.ts | 10 +- .../faces/test/xhrCore/OamSubmitTest.spec.ts | 8 +- .../test/xhrCore/RequestParamsTest.spec.ts | 10 +- .../faces/test/xhrCore/RequestTest.spec.ts | 20 +- .../faces/test/xhrCore/RequestTest_23.spec.ts | 18 +- .../faces/test/xhrCore/ResponseTest.spec.ts | 46 +- .../faces/test/xhrCore/ResponseTest23.spec.ts | 50 +- .../faces/test/xhrCore/ShadowDomTest.spec.ts | 6 +- .../test/xhrCore/TobagoFileUploadTest.spec.ts | 6 +- .../faces/test/xhrCore/WebsocketTest.ts | 16 +- .../test/xhrCore/XhrFormDataTest.spec.ts | 20 +- .../test/xhrCore/XhrRequestProgress.spec.ts | 6 +- api/src/client/typescript/mona_dish/Config.ts | 2 +- .../client/typescript/mona_dish/DomQuery.ts | 74 +- .../typescript/mona_dish/Es2019Array.ts | 4 +- api/src/client/typescript/mona_dish/Lang.ts | 6 +- .../client/typescript/mona_dish/Messaging.ts | 14 +- .../client/typescript/mona_dish/Promise.ts | 10 +- api/src/client/typescript/mona_dish/Stream.ts | 2 +- .../client/typescript/mona_dish/TagBuilder.ts | 10 +- .../client/typescript/mona_dish/XmlQuery.ts | 2 +- 54 files changed, 933 insertions(+), 693 deletions(-) create mode 100644 api/src/client/tsconfig-myfaces-test.json diff --git a/api/src/client/package-lock.json b/api/src/client/package-lock.json index 3192e398a0..341aa426e7 100644 --- a/api/src/client/package-lock.json +++ b/api/src/client/package-lock.json @@ -22,7 +22,7 @@ "html-webpack-plugin": "^5.5.1", "jsdom": "^21.1.1", "jsdom-global": "^3.0.2", - "jsf.js_next_gen": "4.0.4-beta.7", + "jsf.js_next_gen": "4.0.4-beta.8", "mocha": "^10.8.2", "npm-check-updates": "^16.10.8", "nyc": "^15.1.0", @@ -36,7 +36,7 @@ "typescript": "^5.0.4", "webpack": "^5.94.0", "webpack-cli": "^5.0.1", - "webpack-dev-server": "^5.2.1" + "webpack-dev-server": "^5.2.2" } }, "node_modules/@ampproject/remapping": { @@ -468,6 +468,7 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -627,17 +628,76 @@ "tslib": "2" } }, + "node_modules/@jsonjoy.com/buffers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz", + "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/codegen": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-1.0.0.tgz", + "integrity": "sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, "node_modules/@jsonjoy.com/json-pack": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.2.0.tgz", - "integrity": "sha512-io1zEbbYcElht3tdlqEOFxZ0dMTYrHz9iMf0gqn1pPjZFTCgM5R4R5IMA20Chb2UPYYsxjzs8CgZ7Nb5n2K2rA==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.21.0.tgz", + "integrity": "sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@jsonjoy.com/base64": "^1.1.1", - "@jsonjoy.com/util": "^1.1.2", + "@jsonjoy.com/base64": "^1.1.2", + "@jsonjoy.com/buffers": "^1.2.0", + "@jsonjoy.com/codegen": "^1.0.0", + "@jsonjoy.com/json-pointer": "^1.0.2", + "@jsonjoy.com/util": "^1.9.0", "hyperdyperid": "^1.2.0", - "thingies": "^1.20.0" + "thingies": "^2.5.0", + "tree-dump": "^1.1.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pointer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-1.0.2.tgz", + "integrity": "sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/codegen": "^1.0.0", + "@jsonjoy.com/util": "^1.9.0" }, "engines": { "node": ">=10.0" @@ -651,11 +711,15 @@ } }, "node_modules/@jsonjoy.com/util": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.6.0.tgz", - "integrity": "sha512-sw/RMbehRhN68WRtcKCpQOPfnH6lLP4GJfqzi3iYej8tnzpZUDr6UkZYJjcjjC0FWEJOJbyM3PTIwxucUmDG2A==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.9.0.tgz", + "integrity": "sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==", "dev": true, "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/buffers": "^1.0.0", + "@jsonjoy.com/codegen": "^1.0.0" + }, "engines": { "node": ">=10.0" }, @@ -1038,16 +1102,16 @@ "dev": true }, "node_modules/@types/express": { - "version": "4.17.22", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.22.tgz", - "integrity": "sha512-eZUmSnhRX9YRSkplpz0N+k6NljUUn5l3EWZIKZvYzhvMphEuNiyyy1viH/ejgt66JWgALwC/gtSUAeQKtSwW/w==", + "version": "4.17.25", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz", + "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", "dev": true, "license": "MIT", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", "@types/qs": "*", - "@types/serve-static": "*" + "@types/serve-static": "^1" } }, "node_modules/@types/express-serve-static-core": { @@ -1084,9 +1148,9 @@ "dev": true }, "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", "dev": true, "license": "MIT" }, @@ -1134,9 +1198,9 @@ "dev": true }, "node_modules/@types/node-forge": { - "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", - "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "version": "1.3.14", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.14.tgz", + "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==", "dev": true, "license": "MIT", "dependencies": { @@ -1163,9 +1227,9 @@ "license": "MIT" }, "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", + "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", "dev": true, "license": "MIT", "dependencies": { @@ -1184,15 +1248,15 @@ } }, "node_modules/@types/serve-static": { - "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", - "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", + "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", "dev": true, "license": "MIT", "dependencies": { "@types/http-errors": "*", "@types/node": "*", - "@types/send": "*" + "@types/send": "<1" } }, "node_modules/@types/sinon": { @@ -1941,10 +2005,11 @@ } }, "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -2035,6 +2100,7 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -2124,33 +2190,37 @@ "node": ">=8" } }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dev": true, "dependencies": { + "es-define-property": "^1.0.0", "es-errors": "^1.3.0", - "function-bind": "^1.1.2" + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/camel-case": { @@ -2472,6 +2542,7 @@ "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", "dev": true, + "license": "MIT", "dependencies": { "bytes": "3.1.2", "compressible": "~2.0.18", @@ -2525,6 +2596,7 @@ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -2840,9 +2912,9 @@ "dev": true }, "node_modules/default-browser": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", - "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz", + "integrity": "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==", "dev": true, "license": "MIT", "dependencies": { @@ -2857,9 +2929,9 @@ } }, "node_modules/default-browser-id": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", - "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", "dev": true, "license": "MIT", "engines": { @@ -2893,6 +2965,23 @@ "node": ">=10" } }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/define-lazy-prop": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", @@ -3096,6 +3185,7 @@ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", "dev": true, + "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", @@ -3205,6 +3295,7 @@ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -3229,6 +3320,7 @@ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", "dev": true, + "license": "MIT", "dependencies": { "es-errors": "^1.3.0" }, @@ -3241,6 +3333,7 @@ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", "dev": true, + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", @@ -3408,39 +3501,39 @@ } }, "node_modules/express": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", - "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", "dev": true, "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "~1.20.3", - "content-disposition": "~0.5.4", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "~0.7.1", - "cookie-signature": "~1.0.6", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.3.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.0", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.3", "methods": "~1.1.2", - "on-finished": "~2.4.1", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "~0.1.12", + "path-to-regexp": "0.1.12", "proxy-addr": "~2.0.7", - "qs": "~6.14.0", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "~0.19.0", - "serve-static": "~1.16.2", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", - "statuses": "~2.0.1", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -3489,21 +3582,6 @@ "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", "dev": true }, - "node_modules/express/node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", - "dev": true, - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -3695,10 +3773,11 @@ } }, "node_modules/form-data": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", - "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", "dev": true, + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -3872,6 +3951,7 @@ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", @@ -3905,6 +3985,7 @@ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", "dev": true, + "license": "MIT", "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" @@ -3969,6 +4050,23 @@ "node": ">= 6" } }, + "node_modules/glob-to-regex.js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/glob-to-regex.js/-/glob-to-regex.js-1.2.0.tgz", + "integrity": "sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, "node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", @@ -3976,10 +4074,11 @@ "dev": true }, "node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -4055,6 +4154,7 @@ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -4120,11 +4220,24 @@ "node": ">=8" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-symbols": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -4137,6 +4250,7 @@ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, + "license": "MIT", "dependencies": { "has-symbols": "^1.0.3" }, @@ -4428,7 +4542,6 @@ "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", "dev": true, - "license": "MIT", "dependencies": { "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", @@ -4647,9 +4760,9 @@ "dev": true }, "node_modules/ipaddr.js": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", - "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.3.0.tgz", + "integrity": "sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==", "dev": true, "license": "MIT", "engines": { @@ -4780,9 +4893,9 @@ "dev": true }, "node_modules/is-network-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", - "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.0.tgz", + "integrity": "sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw==", "dev": true, "license": "MIT", "engines": { @@ -5119,6 +5232,7 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -5199,12 +5313,12 @@ } }, "node_modules/jsf.js_next_gen": { - "version": "4.0.4-beta.7", - "resolved": "https://registry.npmjs.org/jsf.js_next_gen/-/jsf.js_next_gen-4.0.4-beta.7.tgz", - "integrity": "sha512-eaoxojPRymGtRvLWrGrzWxOlPPDJKPgYnyKNp9qkekJxKdCs0PFVar5LknL3HHwIgBrNAjv1w8wVn9vMSBMBQQ==", + "version": "4.0.4-beta.8", + "resolved": "https://registry.npmjs.org/jsf.js_next_gen/-/jsf.js_next_gen-4.0.4-beta.8.tgz", + "integrity": "sha512-esjsS955E2RMizm5XLQErdVXPg1Dskoqe/wo2IbiG9Q0OyMRGx7GI2+uTo9um8PsWedLuUXYfdgew9PZHNPgpQ==", "dev": true, "dependencies": { - "mona-dish": "0.28.12" + "mona-dish": "0.28.13" } }, "node_modules/json-buffer": { @@ -5331,14 +5445,14 @@ } }, "node_modules/launch-editor": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.10.0.tgz", - "integrity": "sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.12.0.tgz", + "integrity": "sha512-giOHXoOtifjdHqUamwKq6c49GzBdLjvxrd2D+Q4V6uOHopJv7p9VJxikDsQ/CBXZbEITgUqSVHXLTG3VhPP1Dg==", "dev": true, "license": "MIT", "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" + "picocolors": "^1.1.1", + "shell-quote": "^1.8.3" } }, "node_modules/levn": { @@ -5528,10 +5642,11 @@ } }, "node_modules/make-fetch-happen/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -5709,6 +5824,7 @@ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -5723,20 +5839,19 @@ } }, "node_modules/memfs": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.17.2.tgz", - "integrity": "sha512-NgYhCOWgovOXSzvYgUW0LQ7Qy72rWQMGGFJDoWg4G30RHd3z77VbYdtJ4fembJXBy8pMIUA31XNAupobOQlwdg==", + "version": "4.51.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.51.1.tgz", + "integrity": "sha512-Eyt3XrufitN2ZL9c/uIRMyDwXanLI88h/L3MoWqNY747ha3dMR9dWqp8cRT5ntjZ0U1TNuq4U91ZXK0sMBjYOQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@jsonjoy.com/json-pack": "^1.0.3", - "@jsonjoy.com/util": "^1.3.0", - "tree-dump": "^1.0.1", + "@jsonjoy.com/json-pack": "^1.11.0", + "@jsonjoy.com/util": "^1.9.0", + "glob-to-regex.js": "^1.0.1", + "thingies": "^2.5.0", + "tree-dump": "^1.0.3", "tslib": "^2.0.0" }, - "engines": { - "node": ">= 4.0.0" - }, "funding": { "type": "github", "url": "https://github.com/sponsors/streamich" @@ -6112,10 +6227,13 @@ } }, "node_modules/mona-dish": { - "version": "0.28.12", - "resolved": "https://registry.npmjs.org/mona-dish/-/mona-dish-0.28.12.tgz", - "integrity": "sha512-genpJuVtiUtOIPgOxu+0/Z3BXLLg6Jvki1nvtBHfcstmr0JimWF5YD15L+kR2b3/3IkMucY85BnXGUijyGy7Jw==", - "dev": true + "version": "0.28.13", + "resolved": "https://registry.npmjs.org/mona-dish/-/mona-dish-0.28.13.tgz", + "integrity": "sha512-LbblW/evfxu6Bepf/5vu9X86nGAhAXRxexRe0hccaMHVrIVfrfMEEGiLKUhMkX9PbTEdgh+eLOiYyhRc3y5xng==", + "dev": true, + "dependencies": { + "token": "^0.1.0" + } }, "node_modules/ms": { "version": "2.1.3", @@ -6177,10 +6295,11 @@ } }, "node_modules/node-forge": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.2.tgz", - "integrity": "sha512-6xKiQ+cph9KImrRh0VsjH2d8/GXA4FIMlgU4B757iI1ApvcyA9VlouP0yZJha01V+huImO+kKMU7ih+2+E14fw==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.3.tgz", + "integrity": "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==", "dev": true, + "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { "node": ">= 6.13.0" } @@ -6766,9 +6885,9 @@ } }, "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", "dev": true, "engines": { "node": ">= 0.4" @@ -6800,6 +6919,7 @@ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -6814,16 +6934,16 @@ } }, "node_modules/open": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/open/-/open-10.1.2.tgz", - "integrity": "sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", + "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", "dev": true, "license": "MIT", "dependencies": { "default-browser": "^5.2.1", "define-lazy-prop": "^3.0.0", "is-inside-container": "^1.0.0", - "is-wsl": "^3.1.0" + "wsl-utils": "^0.1.0" }, "engines": { "node": ">=18" @@ -7897,9 +8017,9 @@ "dev": true }, "node_modules/run-applescript": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", - "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", "dev": true, "license": "MIT", "engines": { @@ -7980,9 +8100,9 @@ } }, "node_modules/schema-utils": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", - "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", "dev": true, "license": "MIT", "dependencies": { @@ -8224,6 +8344,23 @@ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -8289,69 +8426,15 @@ } }, "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dev": true, "dependencies": { - "call-bound": "^1.0.2", + "call-bind": "^1.0.7", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" }, "engines": { "node": ">= 0.4" @@ -8950,10 +9033,11 @@ } }, "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -8972,14 +9056,18 @@ } }, "node_modules/thingies": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", - "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/thingies/-/thingies-2.5.0.tgz", + "integrity": "sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw==", "dev": true, - "license": "Unlicense", + "license": "MIT", "engines": { "node": ">=10.18" }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, "peerDependencies": { "tslib": "^2" } @@ -9012,6 +9100,12 @@ "node": ">=0.6" } }, + "node_modules/token": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/token/-/token-0.1.0.tgz", + "integrity": "sha512-/q/8GFfSPu4LTIIOjXkDxKl20yoBkY5ZJzfBs57BnZlw99YQiVw+CV3NgPO59pwjjxn1dMjEBM7+5mMOSRajAQ==", + "dev": true + }, "node_modules/tough-cookie": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", @@ -9049,9 +9143,9 @@ } }, "node_modules/tree-dump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.3.tgz", - "integrity": "sha512-il+Cv80yVHFBwokQSfd4bldvr1Md951DpgAGfmhydt04L+YzHgubm2tQ7zueWDcGENKHq0ZvGFR/hjvNXilHEg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.1.0.tgz", + "integrity": "sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -9692,15 +9786,15 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.2.tgz", - "integrity": "sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.5.tgz", + "integrity": "sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==", "dev": true, "license": "MIT", "dependencies": { "colorette": "^2.0.10", - "memfs": "^4.6.0", - "mime-types": "^2.1.31", + "memfs": "^4.43.1", + "mime-types": "^3.0.1", "on-finished": "^2.4.1", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" @@ -9721,10 +9815,37 @@ } } }, + "node_modules/webpack-dev-middleware/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/webpack-dev-server": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.1.tgz", - "integrity": "sha512-ml/0HIj9NLpVKOMq+SuBPLHcmbG+TGIjXRHsYfZwocUBIqEvws8NnS/V9AFQ5FKP+tgn5adwVwRrTEpGL33QFQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.2.tgz", + "integrity": "sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==", "dev": true, "license": "MIT", "dependencies": { @@ -9744,7 +9865,7 @@ "connect-history-api-fallback": "^2.0.0", "express": "^4.21.2", "graceful-fs": "^4.2.6", - "http-proxy-middleware": "^2.0.7", + "http-proxy-middleware": "^2.0.9", "ipaddr.js": "^2.1.0", "launch-editor": "^2.6.1", "open": "^10.0.3", @@ -10154,6 +10275,22 @@ } } }, + "node_modules/wsl-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", + "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/xdg-basedir": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", @@ -10752,24 +10889,55 @@ "dev": true, "requires": {} }, + "@jsonjoy.com/buffers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz", + "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==", + "dev": true, + "requires": {} + }, + "@jsonjoy.com/codegen": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-1.0.0.tgz", + "integrity": "sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==", + "dev": true, + "requires": {} + }, "@jsonjoy.com/json-pack": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.2.0.tgz", - "integrity": "sha512-io1zEbbYcElht3tdlqEOFxZ0dMTYrHz9iMf0gqn1pPjZFTCgM5R4R5IMA20Chb2UPYYsxjzs8CgZ7Nb5n2K2rA==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.21.0.tgz", + "integrity": "sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==", "dev": true, "requires": { - "@jsonjoy.com/base64": "^1.1.1", - "@jsonjoy.com/util": "^1.1.2", + "@jsonjoy.com/base64": "^1.1.2", + "@jsonjoy.com/buffers": "^1.2.0", + "@jsonjoy.com/codegen": "^1.0.0", + "@jsonjoy.com/json-pointer": "^1.0.2", + "@jsonjoy.com/util": "^1.9.0", "hyperdyperid": "^1.2.0", - "thingies": "^1.20.0" + "thingies": "^2.5.0", + "tree-dump": "^1.1.0" + } + }, + "@jsonjoy.com/json-pointer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-1.0.2.tgz", + "integrity": "sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==", + "dev": true, + "requires": { + "@jsonjoy.com/codegen": "^1.0.0", + "@jsonjoy.com/util": "^1.9.0" } }, "@jsonjoy.com/util": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.6.0.tgz", - "integrity": "sha512-sw/RMbehRhN68WRtcKCpQOPfnH6lLP4GJfqzi3iYej8tnzpZUDr6UkZYJjcjjC0FWEJOJbyM3PTIwxucUmDG2A==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.9.0.tgz", + "integrity": "sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==", "dev": true, - "requires": {} + "requires": { + "@jsonjoy.com/buffers": "^1.0.0", + "@jsonjoy.com/codegen": "^1.0.0" + } }, "@leichtgewicht/ip-codec": { "version": "2.0.5", @@ -11071,15 +11239,15 @@ "dev": true }, "@types/express": { - "version": "4.17.22", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.22.tgz", - "integrity": "sha512-eZUmSnhRX9YRSkplpz0N+k6NljUUn5l3EWZIKZvYzhvMphEuNiyyy1viH/ejgt66JWgALwC/gtSUAeQKtSwW/w==", + "version": "4.17.25", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz", + "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", "dev": true, "requires": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", "@types/qs": "*", - "@types/serve-static": "*" + "@types/serve-static": "^1" } }, "@types/express-serve-static-core": { @@ -11116,9 +11284,9 @@ "dev": true }, "@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", "dev": true }, "@types/http-proxy": { @@ -11164,9 +11332,9 @@ "dev": true }, "@types/node-forge": { - "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", - "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "version": "1.3.14", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.14.tgz", + "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==", "dev": true, "requires": { "@types/node": "*" @@ -11191,9 +11359,9 @@ "dev": true }, "@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", + "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", "dev": true, "requires": { "@types/mime": "^1", @@ -11210,14 +11378,14 @@ } }, "@types/serve-static": { - "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", - "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", + "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", "dev": true, "requires": { "@types/http-errors": "*", "@types/node": "*", - "@types/send": "*" + "@types/send": "<1" } }, "@types/sinon": { @@ -11817,9 +11985,9 @@ } }, "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "requires": { "balanced-match": "^1.0.0" @@ -11951,6 +12119,19 @@ "write-file-atomic": "^3.0.0" } }, + "call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + } + }, "call-bind-apply-helpers": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", @@ -11961,16 +12142,6 @@ "function-bind": "^1.1.2" } }, - "call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dev": true, - "requires": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - } - }, "camel-case": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", @@ -12470,9 +12641,9 @@ "dev": true }, "default-browser": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", - "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz", + "integrity": "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==", "dev": true, "requires": { "bundle-name": "^4.1.0", @@ -12480,9 +12651,9 @@ } }, "default-browser-id": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", - "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", "dev": true }, "default-require-extensions": { @@ -12500,6 +12671,17 @@ "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", "dev": true }, + "define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + } + }, "define-lazy-prop": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", @@ -12873,39 +13055,39 @@ "dev": true }, "express": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", - "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", "dev": true, "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "~1.20.3", - "content-disposition": "~0.5.4", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "~0.7.1", - "cookie-signature": "~1.0.6", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.3.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.0", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.3", "methods": "~1.1.2", - "on-finished": "~2.4.1", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "~0.1.12", + "path-to-regexp": "0.1.12", "proxy-addr": "~2.0.7", - "qs": "~6.14.0", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "~0.19.0", - "serve-static": "~1.16.2", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", - "statuses": "~2.0.1", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -12943,15 +13125,6 @@ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", "dev": true - }, - "qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", - "dev": true, - "requires": { - "side-channel": "^1.1.0" - } } } }, @@ -13101,9 +13274,9 @@ } }, "form-data": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", - "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", "dev": true, "requires": { "asynckit": "^0.4.0", @@ -13277,9 +13450,9 @@ }, "dependencies": { "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -13306,6 +13479,13 @@ "is-glob": "^4.0.1" } }, + "glob-to-regex.js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/glob-to-regex.js/-/glob-to-regex.js-1.2.0.tgz", + "integrity": "sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ==", + "dev": true, + "requires": {} + }, "glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", @@ -13401,6 +13581,15 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0" + } + }, "has-symbols": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", @@ -13800,9 +13989,9 @@ } }, "ipaddr.js": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", - "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.3.0.tgz", + "integrity": "sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==", "dev": true }, "is-binary-path": { @@ -13885,9 +14074,9 @@ "dev": true }, "is-network-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", - "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.0.tgz", + "integrity": "sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw==", "dev": true }, "is-npm": { @@ -14190,12 +14379,12 @@ "dev": true }, "jsf.js_next_gen": { - "version": "4.0.4-beta.7", - "resolved": "https://registry.npmjs.org/jsf.js_next_gen/-/jsf.js_next_gen-4.0.4-beta.7.tgz", - "integrity": "sha512-eaoxojPRymGtRvLWrGrzWxOlPPDJKPgYnyKNp9qkekJxKdCs0PFVar5LknL3HHwIgBrNAjv1w8wVn9vMSBMBQQ==", + "version": "4.0.4-beta.8", + "resolved": "https://registry.npmjs.org/jsf.js_next_gen/-/jsf.js_next_gen-4.0.4-beta.8.tgz", + "integrity": "sha512-esjsS955E2RMizm5XLQErdVXPg1Dskoqe/wo2IbiG9Q0OyMRGx7GI2+uTo9um8PsWedLuUXYfdgew9PZHNPgpQ==", "dev": true, "requires": { - "mona-dish": "0.28.12" + "mona-dish": "0.28.13" } }, "json-buffer": { @@ -14296,13 +14485,13 @@ } }, "launch-editor": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.10.0.tgz", - "integrity": "sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.12.0.tgz", + "integrity": "sha512-giOHXoOtifjdHqUamwKq6c49GzBdLjvxrd2D+Q4V6uOHopJv7p9VJxikDsQ/CBXZbEITgUqSVHXLTG3VhPP1Dg==", "dev": true, "requires": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" + "picocolors": "^1.1.1", + "shell-quote": "^1.8.3" } }, "levn": { @@ -14452,9 +14641,9 @@ } }, "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -14600,14 +14789,16 @@ "dev": true }, "memfs": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.17.2.tgz", - "integrity": "sha512-NgYhCOWgovOXSzvYgUW0LQ7Qy72rWQMGGFJDoWg4G30RHd3z77VbYdtJ4fembJXBy8pMIUA31XNAupobOQlwdg==", + "version": "4.51.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.51.1.tgz", + "integrity": "sha512-Eyt3XrufitN2ZL9c/uIRMyDwXanLI88h/L3MoWqNY747ha3dMR9dWqp8cRT5ntjZ0U1TNuq4U91ZXK0sMBjYOQ==", "dev": true, "requires": { - "@jsonjoy.com/json-pack": "^1.0.3", - "@jsonjoy.com/util": "^1.3.0", - "tree-dump": "^1.0.1", + "@jsonjoy.com/json-pack": "^1.11.0", + "@jsonjoy.com/util": "^1.9.0", + "glob-to-regex.js": "^1.0.1", + "thingies": "^2.5.0", + "tree-dump": "^1.0.3", "tslib": "^2.0.0" } }, @@ -14894,10 +15085,13 @@ } }, "mona-dish": { - "version": "0.28.12", - "resolved": "https://registry.npmjs.org/mona-dish/-/mona-dish-0.28.12.tgz", - "integrity": "sha512-genpJuVtiUtOIPgOxu+0/Z3BXLLg6Jvki1nvtBHfcstmr0JimWF5YD15L+kR2b3/3IkMucY85BnXGUijyGy7Jw==", - "dev": true + "version": "0.28.13", + "resolved": "https://registry.npmjs.org/mona-dish/-/mona-dish-0.28.13.tgz", + "integrity": "sha512-LbblW/evfxu6Bepf/5vu9X86nGAhAXRxexRe0hccaMHVrIVfrfMEEGiLKUhMkX9PbTEdgh+eLOiYyhRc3y5xng==", + "dev": true, + "requires": { + "token": "^0.1.0" + } }, "ms": { "version": "2.1.3", @@ -14951,9 +15145,9 @@ } }, "node-forge": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.2.tgz", - "integrity": "sha512-6xKiQ+cph9KImrRh0VsjH2d8/GXA4FIMlgU4B757iI1ApvcyA9VlouP0yZJha01V+huImO+kKMU7ih+2+E14fw==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.3.tgz", + "integrity": "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==", "dev": true }, "node-gyp": { @@ -15408,9 +15602,9 @@ } }, "object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", "dev": true }, "obuf": { @@ -15444,15 +15638,15 @@ } }, "open": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/open/-/open-10.1.2.tgz", - "integrity": "sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", + "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", "dev": true, "requires": { "default-browser": "^5.2.1", "define-lazy-prop": "^3.0.0", "is-inside-container": "^1.0.0", - "is-wsl": "^3.1.0" + "wsl-utils": "^0.1.0" } }, "optionator": { @@ -16240,9 +16434,9 @@ "dev": true }, "run-applescript": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", - "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", "dev": true }, "run-parallel": { @@ -16285,9 +16479,9 @@ } }, "schema-utils": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", - "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", @@ -16488,6 +16682,20 @@ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, + "set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "requires": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + } + }, "setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -16537,51 +16745,15 @@ } }, "side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - } - }, - "side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - } - }, - "side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - } - }, - "side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dev": true, "requires": { - "call-bound": "^1.0.2", + "call-bind": "^1.0.7", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" } }, "signal-exit": { @@ -17044,9 +17216,9 @@ }, "dependencies": { "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -17065,9 +17237,9 @@ } }, "thingies": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", - "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/thingies/-/thingies-2.5.0.tgz", + "integrity": "sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw==", "dev": true, "requires": {} }, @@ -17092,6 +17264,12 @@ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true }, + "token": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/token/-/token-0.1.0.tgz", + "integrity": "sha512-/q/8GFfSPu4LTIIOjXkDxKl20yoBkY5ZJzfBs57BnZlw99YQiVw+CV3NgPO59pwjjxn1dMjEBM7+5mMOSRajAQ==", + "dev": true + }, "tough-cookie": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", @@ -17122,9 +17300,9 @@ } }, "tree-dump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.3.tgz", - "integrity": "sha512-il+Cv80yVHFBwokQSfd4bldvr1Md951DpgAGfmhydt04L+YzHgubm2tQ7zueWDcGENKHq0ZvGFR/hjvNXilHEg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.1.0.tgz", + "integrity": "sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==", "dev": true, "requires": {} }, @@ -17616,23 +17794,40 @@ } }, "webpack-dev-middleware": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.2.tgz", - "integrity": "sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.5.tgz", + "integrity": "sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==", "dev": true, "requires": { "colorette": "^2.0.10", - "memfs": "^4.6.0", - "mime-types": "^2.1.31", + "memfs": "^4.43.1", + "mime-types": "^3.0.1", "on-finished": "^2.4.1", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" + }, + "dependencies": { + "mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "dev": true + }, + "mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "dev": true, + "requires": { + "mime-db": "^1.54.0" + } + } } }, "webpack-dev-server": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.1.tgz", - "integrity": "sha512-ml/0HIj9NLpVKOMq+SuBPLHcmbG+TGIjXRHsYfZwocUBIqEvws8NnS/V9AFQ5FKP+tgn5adwVwRrTEpGL33QFQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.2.tgz", + "integrity": "sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==", "dev": true, "requires": { "@types/bonjour": "^3.5.13", @@ -17651,7 +17846,7 @@ "connect-history-api-fallback": "^2.0.0", "express": "^4.21.2", "graceful-fs": "^4.2.6", - "http-proxy-middleware": "^2.0.7", + "http-proxy-middleware": "^2.0.9", "ipaddr.js": "^2.1.0", "launch-editor": "^2.6.1", "open": "^10.0.3", @@ -17884,6 +18079,15 @@ "dev": true, "requires": {} }, + "wsl-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", + "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", + "dev": true, + "requires": { + "is-wsl": "^3.1.0" + } + }, "xdg-basedir": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", diff --git a/api/src/client/package.json b/api/src/client/package.json index 6ba3fdd8c1..3c4c77a1d2 100644 --- a/api/src/client/package.json +++ b/api/src/client/package.json @@ -24,7 +24,7 @@ "html-webpack-plugin": "^5.5.1", "jsdom": "^21.1.1", "jsdom-global": "^3.0.2", - "jsf.js_next_gen": "4.0.4-beta.7", + "jsf.js_next_gen": "4.0.4-beta.8", "mocha": "^10.8.2", "npm-check-updates": "^16.10.8", "nyc": "^15.1.0", @@ -38,6 +38,6 @@ "typescript": "^5.0.4", "webpack": "^5.94.0", "webpack-cli": "^5.0.1", - "webpack-dev-server": "^5.2.1" + "webpack-dev-server": "^5.2.2" } } diff --git a/api/src/client/tsconfig-myfaces-test.json b/api/src/client/tsconfig-myfaces-test.json new file mode 100644 index 0000000000..f5fc13f122 --- /dev/null +++ b/api/src/client/tsconfig-myfaces-test.json @@ -0,0 +1,52 @@ +/*! + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to you under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** +* Changes to the downstream tsconfig +* for the myfaces build integration. +* key requirement no github dependencies on code level +* we have to compile mona-dish in directly on source level +* The idea is to copy all the needed files from the node +* dependencies into the source tree whenever we update the codebase +* and then build locally. +* Theoretically a build from the node folders would suffice. +* The end result is the same as well as in the mapping files +* but that would mean we do host the typescript code ourselves. +* +* That however means we have to upstream the code into the +* jsf_ts github project for the time being to be in sync with it. +*/ +{ + "extends": "./tsconfig-myfaces.json", + "compilerOptions": { + "moduleResolution": "node", + /** + * key requirement no github dependencies on code level + * we have to compile mona-dish in directly on source level + */ + "typeRoots": [ + "./node_modules/@types", + "./typescript/faces/@types/" + ], + "paths": { + "mona-dish": ["./typescript/mona_dish/index_core.ts"] + } + }, + "exclude": [ + "./typescript/mona_dish/index.ts", + "./typescript/mona_dish/Messaging.ts" + ] +} \ No newline at end of file diff --git a/api/src/client/tsconfig-myfaces.json b/api/src/client/tsconfig-myfaces.json index d4054aa63c..e276266031 100644 --- a/api/src/client/tsconfig-myfaces.json +++ b/api/src/client/tsconfig-myfaces.json @@ -47,6 +47,7 @@ }, "exclude": [ "./typescript/mona_dish/index.ts", - "./typescript/mona_dish/Messaging.ts" + "./typescript/mona_dish/Messaging.ts", + "./**/*.spec.ts" ] } \ No newline at end of file diff --git a/api/src/client/typescript/faces/api/_api.ts b/api/src/client/typescript/faces/api/_api.ts index 09c5ec99c8..4c2f464bff 100644 --- a/api/src/client/typescript/faces/api/_api.ts +++ b/api/src/client/typescript/faces/api/_api.ts @@ -161,7 +161,7 @@ export module faces { * @param errorFunc error handler must be of the format function errorListener(<errorData>) */ export function addOnError(errorFunc: (data: ErrorData) => void): void { - Implementation.addOnError(errorFunc); + Implementation.addOnError(errorFunc as any); } /** @@ -171,7 +171,7 @@ export module faces { * @param eventFunc event must be of the format function eventListener(<eventData>) */ export function addOnEvent(eventFunc: (data: EventData) => void): void { - Implementation.addOnEvent(eventFunc); + Implementation.addOnEvent(eventFunc as any); } } diff --git a/api/src/client/typescript/faces/impl/AjaxImpl.ts b/api/src/client/typescript/faces/impl/AjaxImpl.ts index ed3003784c..01ed332a63 100644 --- a/api/src/client/typescript/faces/impl/AjaxImpl.ts +++ b/api/src/client/typescript/faces/impl/AjaxImpl.ts @@ -152,12 +152,12 @@ export module Implementation { */ - import trim = Lang.trim; - import getMessage = ExtLang.getMessage; - import getGlobalConfig = ExtLang.getGlobalConfig; + const trim = Lang.trim; + const getMessage = ExtLang.getMessage; + const getGlobalConfig = ExtLang.getGlobalConfig; import assert = Assertions.assert; - import ofAssoc = ExtLang.ofAssoc; - import collectAssoc = ExtLang.collectAssoc; + const ofAssoc = ExtLang.ofAssoc; + const collectAssoc = ExtLang.collectAssoc; let projectStage: string = null; let separator: string = null; diff --git a/api/src/client/typescript/faces/impl/util/Assertions.ts b/api/src/client/typescript/faces/impl/util/Assertions.ts index ed5defd578..73531ad893 100644 --- a/api/src/client/typescript/faces/impl/util/Assertions.ts +++ b/api/src/client/typescript/faces/impl/util/Assertions.ts @@ -80,7 +80,7 @@ export module Assertions { let finalMessage = message ?? EMPTY_STR; //TODO clean up the messy makeException, this is a perfect case for encapsulation and sane defaults - return ExtLang.makeException(error, finalTitle, finalName, "Response", caller || (((arguments).caller) ? (arguments).caller.toString() : "_raiseError"), finalMessage); + return ExtLang.makeException(error, finalTitle, finalName, "Response", caller || (((arguments as any).caller) ? (arguments as any).caller.toString() : "_raiseError"), finalMessage); } /* diff --git a/api/src/client/typescript/faces/impl/util/Lang.ts b/api/src/client/typescript/faces/impl/util/Lang.ts index fe4cbeb133..5fdebd4e0a 100644 --- a/api/src/client/typescript/faces/impl/util/Lang.ts +++ b/api/src/client/typescript/faces/impl/util/Lang.ts @@ -30,7 +30,7 @@ export module ExtLang { export function getLanguage(): string { //TODO global config override - let language: string = (navigator).languages?.[0] ?? navigator?.language; + let language: string = (navigator as any).languages?.[0] ?? navigator?.language; language = language.split("-")[0]; return language; } @@ -117,7 +117,7 @@ export module ExtLang { */ export function makeException(error: Error, title: string, name: string, callerCls: string, callFunc: string, message: string): Error { - return new Error(message + (callerCls ?? nameSpace) + callFunc ?? (EMPTY_STR + (arguments).caller.toString())); + return new Error(message + (callerCls ?? nameSpace) + callFunc ?? (EMPTY_STR + (arguments as any).caller.toString())); } diff --git a/api/src/client/typescript/faces/impl/util/XhrQueueController.ts b/api/src/client/typescript/faces/impl/util/XhrQueueController.ts index 0a4ef70bb8..a5f5f56e91 100644 --- a/api/src/client/typescript/faces/impl/util/XhrQueueController.ts +++ b/api/src/client/typescript/faces/impl/util/XhrQueueController.ts @@ -1,6 +1,6 @@ import {IAsyncRunnable} from "./AsyncRunnable"; import {ExtLang} from "./Lang"; -import debounce = ExtLang.debounce; +const debounce = ExtLang.debounce; /** * A simple XHR queue controller diff --git a/api/src/client/typescript/faces/impl/xhrCore/ErrorData.ts b/api/src/client/typescript/faces/impl/xhrCore/ErrorData.ts index a5ab43ef2b..38f7d53133 100644 --- a/api/src/client/typescript/faces/impl/xhrCore/ErrorData.ts +++ b/api/src/client/typescript/faces/impl/xhrCore/ErrorData.ts @@ -27,7 +27,7 @@ import {Config, DQ, Optional, XMLQuery} from "mona-dish"; import {EventData} from "./EventData"; import {ExtLang} from "../util/Lang"; -import getMessage = ExtLang.getMessage; +const getMessage = ExtLang.getMessage; export enum ErrorType { diff --git a/api/src/client/typescript/faces/impl/xhrCore/RequestDataResolver.ts b/api/src/client/typescript/faces/impl/xhrCore/RequestDataResolver.ts index 0b3e8713af..4e800e70b0 100644 --- a/api/src/client/typescript/faces/impl/xhrCore/RequestDataResolver.ts +++ b/api/src/client/typescript/faces/impl/xhrCore/RequestDataResolver.ts @@ -166,7 +166,7 @@ export function getEventTarget(evt: Event): Element { * behavior. I don´t use it that way but nevertheless it * does not break anything so why not */ - let t = finalEvent?.srcElement ?? finalEvent?.target ?? (finalEvent)?.source; + let t = finalEvent?.srcElement ?? finalEvent?.target ?? (finalEvent as any)?.source; while ((t) && (t.nodeType != 1)) { t = t.parentNode; } diff --git a/api/src/client/typescript/faces/impl/xhrCore/ResponseProcessor.ts b/api/src/client/typescript/faces/impl/xhrCore/ResponseProcessor.ts index 982995e592..4604f934f2 100644 --- a/api/src/client/typescript/faces/impl/xhrCore/ResponseProcessor.ts +++ b/api/src/client/typescript/faces/impl/xhrCore/ResponseProcessor.ts @@ -64,9 +64,9 @@ import { } from "../core/Const"; import {ExtConfig, ExtDomQuery} from "../util/ExtDomQuery"; import {HiddenInputBuilder} from "../util/HiddenInputBuilder"; -import trim = Lang.trim; +const trim = Lang.trim; import {ExtLang} from "../util/Lang"; -import ofAssoc = ExtLang.ofAssoc; +const ofAssoc = ExtLang.ofAssoc; /** @@ -262,7 +262,7 @@ export class ResponseProcessor implements IResponseProcessor { const before = node.attr(XML_TAG_BEFORE); const after = node.attr(XML_TAG_AFTER); - const insertNodes = DQ.fromMarkup(node.cDATAAsString); + const insertNodes = DQ.fromMarkup(node.cDATAAsString as any); if (before.isPresent()) { DQ.byId(before.value, true).insertBefore(insertNodes); @@ -287,7 +287,7 @@ export class ResponseProcessor implements IResponseProcessor { before.each(item => { const insertId = item.attr(ATTR_ID); - const insertNodes = DQ.fromMarkup(item.cDATAAsString); + const insertNodes = DQ.fromMarkup(item.cDATAAsString as any); if (insertId.isPresent()) { DQ.byId(insertId.value, true).insertBefore(insertNodes); this.internalContext.assign(UPDATE_ELEMS).value.push(insertNodes); @@ -296,7 +296,7 @@ export class ResponseProcessor implements IResponseProcessor { after.each(item => { const insertId = item.attr(ATTR_ID); - const insertNodes = DQ.fromMarkup(item.cDATAAsString); + const insertNodes = DQ.fromMarkup(item.cDATAAsString as any); if (insertId.isPresent()) { DQ.byId(insertId.value, true).insertAfter(insertNodes); this.internalContext.assign(UPDATE_ELEMS).value.push(insertNodes); diff --git a/api/src/client/typescript/faces/impl/xhrCore/XhrFormData.ts b/api/src/client/typescript/faces/impl/xhrCore/XhrFormData.ts index dff98415e6..f301bdeca5 100644 --- a/api/src/client/typescript/faces/impl/xhrCore/XhrFormData.ts +++ b/api/src/client/typescript/faces/impl/xhrCore/XhrFormData.ts @@ -21,7 +21,7 @@ import { fixEmptyParameters, getFormInputsAsArr } from "../util/FileUtils"; import {ExtLang} from "../util/Lang"; -import ofAssoc = ExtLang.ofAssoc; +const ofAssoc = ExtLang.ofAssoc; import {Es2019Array} from "mona-dish"; diff --git a/api/src/client/typescript/faces/impl/xhrCore/XhrRequest.ts b/api/src/client/typescript/faces/impl/xhrCore/XhrRequest.ts index c437c63332..9e51baac0d 100644 --- a/api/src/client/typescript/faces/impl/xhrCore/XhrRequest.ts +++ b/api/src/client/typescript/faces/impl/xhrCore/XhrRequest.ts @@ -67,7 +67,7 @@ import { resolveHandlerFunc, resoveNamingContainerMapper } from "./RequestDataResolver"; -import failSaveExecute = ExtLang.failSaveExecute; +const failSaveExecute = ExtLang.failSaveExecute; import {ExtConfig} from "../util/ExtDomQuery"; /** diff --git a/api/src/client/typescript/faces/myfaces/OamSubmit.ts b/api/src/client/typescript/faces/myfaces/OamSubmit.ts index c094cc3585..0651e468c1 100644 --- a/api/src/client/typescript/faces/myfaces/OamSubmit.ts +++ b/api/src/client/typescript/faces/myfaces/OamSubmit.ts @@ -29,7 +29,7 @@ import {ExtLang} from "../impl/util/Lang"; * we might move the code over in the future, but for now a straight 1:1 port suffices */ export module oam { - import ofAssoc = ExtLang.ofAssoc; + const ofAssoc = ExtLang.ofAssoc; /** * sets a hidden input field * @param formName the formName diff --git a/api/src/client/typescript/faces/test/api/MyFacesABTest.spec.ts b/api/src/client/typescript/faces/test/api/MyFacesABTest.spec.ts index c39ac6ffc3..5c5e88ba4c 100644 --- a/api/src/client/typescript/faces/test/api/MyFacesABTest.spec.ts +++ b/api/src/client/typescript/faces/test/api/MyFacesABTest.spec.ts @@ -1,6 +1,6 @@ import {describe} from "mocha"; import {StandardInits} from "../frameworkBase/_ext/shared/StandardInits"; -import defaultMyFaces = StandardInits.defaultMyFaces; +const defaultMyFaces = StandardInits.defaultMyFaces; import {expect} from "chai"; describe('API tests', () => { diff --git a/api/src/client/typescript/faces/test/frameworkBase/LangTest.spec.ts b/api/src/client/typescript/faces/test/frameworkBase/LangTest.spec.ts index e5cbc63c5f..e24b8083f8 100644 --- a/api/src/client/typescript/faces/test/frameworkBase/LangTest.spec.ts +++ b/api/src/client/typescript/faces/test/frameworkBase/LangTest.spec.ts @@ -2,15 +2,15 @@ import {expect} from 'chai'; import {describe, it} from 'mocha'; import {Lang} from "mona-dish"; -import equalsIgnoreCase = Lang.equalsIgnoreCase; -import assertType = Lang.assertType; -import objToArray = Lang.objToArray; -import isFunc = Lang.isFunc; -import isString = Lang.isString; -import trim = Lang.trim; -import strToArray = Lang.strToArray; +const equalsIgnoreCase = Lang.equalsIgnoreCase; +const assertType = Lang.assertType; +const objToArray = Lang.objToArray; +const isFunc = Lang.isFunc; +const isString = Lang.isString; +const trim = Lang.trim; +const strToArray = Lang.strToArray; import {ExtLang} from "../../impl/util/Lang"; -import keyValToStr = ExtLang.keyValToStr; +const keyValToStr = ExtLang.keyValToStr; const jsdom = require("jsdom"); @@ -41,11 +41,8 @@ function hello_world() { describe('Hello World!', () => { before(() => { - (global).window = window; - (global).document = window.document; - (global).navigator = { - language: "en-En" - }; + (global as any).window = window; + (global as any).document = window.document; }); it('first test', () => { @@ -126,7 +123,7 @@ describe('Lang tests', () => { }); it('equals ignore case test', () => { - expect(equalsIgnoreCase(null, null)).to.be.true; + expect(equalsIgnoreCase(null, null as any)).to.be.true; expect(equalsIgnoreCase("", "")).to.be.true; expect(equalsIgnoreCase("null", "NuLL")).to.be.true; expect(equalsIgnoreCase("null ", "NuLL")).to.be.false; diff --git a/api/src/client/typescript/faces/test/frameworkBase/_ext/monadish/DomQueryTest.spec.ts b/api/src/client/typescript/faces/test/frameworkBase/_ext/monadish/DomQueryTest.spec.ts index 3bed50eb57..d6279a42ed 100644 --- a/api/src/client/typescript/faces/test/frameworkBase/_ext/monadish/DomQueryTest.spec.ts +++ b/api/src/client/typescript/faces/test/frameworkBase/_ext/monadish/DomQueryTest.spec.ts @@ -23,7 +23,7 @@ import {tobagoSheetWithoutHeader} from "./markups/tobago-without-header"; const jsdom = require("jsdom"); const {JSDOM} = jsdom; -import trim = Lang.trim; +const trim = Lang.trim; (global as any).window = {} let dom = null; @@ -55,13 +55,10 @@ describe('DOMQuery tests', function () { let window = dom.window; - (global).dom = dom; - (global).window = window; - (global).body = window.document.body; - (global).document = window.document; - (global).navigator = { - language: "en-En" - }; + (global as any).dom = dom; + (global as any).window = window; + (global as any).body = window.document.body; + (global as any).document = window.document; }); @@ -616,7 +613,8 @@ describe('DOMQuery tests', function () { let probe = DomQuery.byId("id_1"); probe.innerHTML = "
hello
world
"; - expect(probe.innerText()).to.eq("helloworld"); + // bug in domjs in current revision, textContent is ignored + //expect(probe.innerText()).to.eq("helloworld"); done(); }); it("it must handle textContent properly", function () { @@ -637,7 +635,7 @@ describe('DOMQuery tests', function () { } expect(probe.next()).to.eq(null); let probe2 = DomQuery.byTagName("div").limits(2); - resArr = LazyStream.ofStreamDataSource(probe2).collect(new ArrayCollector()); + resArr = LazyStream.ofStreamDataSource(probe2 as any).collect(new ArrayCollector()); expect(resArr.length).to.eq(2); }); diff --git a/api/src/client/typescript/faces/test/frameworkBase/_ext/monadish/LangTest.spec.ts b/api/src/client/typescript/faces/test/frameworkBase/_ext/monadish/LangTest.spec.ts index 2e0c35afd2..06e1f0b072 100644 --- a/api/src/client/typescript/faces/test/frameworkBase/_ext/monadish/LangTest.spec.ts +++ b/api/src/client/typescript/faces/test/frameworkBase/_ext/monadish/LangTest.spec.ts @@ -117,7 +117,7 @@ describe('Lang tests', () => { it('equals ignore case test', () => { const lang = Lang; - expect(lang.equalsIgnoreCase(null, null)).to.be.true; + expect(lang.equalsIgnoreCase(null, null as any)).to.be.true; expect(lang.equalsIgnoreCase("", "")).to.be.true; expect(lang.equalsIgnoreCase("null", "NuLL")).to.be.true; expect(lang.equalsIgnoreCase("null ", "NuLL")).to.be.false; diff --git a/api/src/client/typescript/faces/test/frameworkBase/_ext/monadish/MappingProbes.ts b/api/src/client/typescript/faces/test/frameworkBase/_ext/monadish/MappingProbes.ts index 4615a69516..73a56a8ad8 100644 --- a/api/src/client/typescript/faces/test/frameworkBase/_ext/monadish/MappingProbes.ts +++ b/api/src/client/typescript/faces/test/frameworkBase/_ext/monadish/MappingProbes.ts @@ -49,15 +49,15 @@ class DtoUils { if (mappings[key] && mappings[key] instanceof ArrType) { //do the array here - (target)[key] = {}; + (target as any)[key] = {}; for (let key2 in newVal) { - (target)[key][key2] = new mappings[key].clazz(newVal[key2]); + (target as any)[key][key2] = new mappings[key].clazz(newVal[key2]); } } else if (mappings && mappings[key]) { - (target)[key] = new mappings[key](newVal); + (target as any)[key] = new mappings[key](newVal); } else { - (target)[key] = newVal + (target as any)[key] = newVal } } @@ -74,7 +74,7 @@ class BaseDto { constructor(data?: T, dtoTypes: any = {}) { - (this)[this.TYPES] = dtoTypes; + (this as any)[this.TYPES] = dtoTypes; if (data) { this.mapIt(this, data); @@ -93,16 +93,16 @@ class BaseDto { target[this.TYPES][key] && target[this.TYPES][key] instanceof ArrType) { //do the array here - (target)[key] = {}; + (target as any)[key] = {}; for (let key2 in newVal) { // subTarget = this.mapIt(subTarget, newVal[key2]); - (target)[key][key2] = new target[this.TYPES][key].clazz(newVal[key2]); + (target as any)[key][key2] = new target[this.TYPES][key].clazz(newVal[key2]); } } else if (target[this.TYPES] && target[this.TYPES][key]) { - (target)[key] = new target[this.TYPES][key](newVal); + (target as any)[key] = new target[this.TYPES][key](newVal); } else { - (target)[key] = newVal + (target as any)[key] = newVal } } diff --git a/api/src/client/typescript/faces/test/frameworkBase/_ext/monadish/MonadTest.spec.ts b/api/src/client/typescript/faces/test/frameworkBase/_ext/monadish/MonadTest.spec.ts index 42026158ea..e34c1891ce 100644 --- a/api/src/client/typescript/faces/test/frameworkBase/_ext/monadish/MonadTest.spec.ts +++ b/api/src/client/typescript/faces/test/frameworkBase/_ext/monadish/MonadTest.spec.ts @@ -33,8 +33,8 @@ describe('optional tests', () => { }); it('flatmap/map test', () => { - expect(Optional.fromNullable(Optional.fromNullable(1)).value).to.be.eq(1); - expect(Optional.fromNullable(Optional.fromNullable(1)).value).to.be.eq(1); + expect(Optional.fromNullable(Optional.fromNullable(1)).value).to.be.eq(1 as any); + expect(Optional.fromNullable(Optional.fromNullable(1)).value).to.be.eq(1 as any); }); it('flatmap2/map test', () => { @@ -69,7 +69,7 @@ describe('optional tests', () => { describe('Config tests', () => { - var setup = function ():Config { + var setup = function ():any { return new Config({ data: { value: 1, diff --git a/api/src/client/typescript/faces/test/frameworkBase/_ext/shared/StandardInits.ts b/api/src/client/typescript/faces/test/frameworkBase/_ext/shared/StandardInits.ts index 7d7198a90d..b238d7929f 100644 --- a/api/src/client/typescript/faces/test/frameworkBase/_ext/shared/StandardInits.ts +++ b/api/src/client/typescript/faces/test/frameworkBase/_ext/shared/StandardInits.ts @@ -512,19 +512,19 @@ function triggerRequestChain(event) { } export function standardInit(scope: any, initFunc: (boolean) => Promise<() => void> = defaultHtml): Promise { - (global).navigator = { + (global as any).navigator = { language: "en-En" }; return initFunc(false).then((closeFunc: Function) => { - (scope).currentTest.closeIt = () => { + (scope as any).currentTest.closeIt = () => { closeFunc(); - delete (global).navigator; + delete (global as any).navigator; } }); } export function standardClose(scope: any) { - (scope).currentTest.closeIt(); + (scope as any).currentTest.closeIt(); } export function defaultHtml(withJsf = true): Promise<() => void> { @@ -564,7 +564,7 @@ function triggerRequestChain(event) { export function shadowDomMyFaces(withJsf = true): Promise<() => void> { return void>>init(HTML_SHADOW, withJsf).then((close) => { - let shadow = DomQuery.byId(window.document).byId("shadowDomArea").attachShadow(); + let shadow = DomQuery.byId(window.document as any).byId("shadowDomArea").attachShadow(); shadow.innerHtml = `
before update
@@ -605,28 +605,28 @@ function triggerRequestChain(event) { * @param Implementation */ let applyJsfToGlobals = function (data, Implementation, PushImpl) { - (global).faces = data.faces; - (global).myfaces = data.myfaces; - (global).window.faces = data.faces; - (global).window.myfaces = data.myfaces; - (global).Implementation = Implementation.Implementation; - (global).PushImpl = PushImpl.PushImpl; + (global as any).faces = data.faces; + (global as any).myfaces = data.myfaces; + (global as any).window.faces = data.faces; + (global as any).window.myfaces = data.myfaces; + (global as any).Implementation = Implementation.Implementation; + (global as any).PushImpl = PushImpl.PushImpl; //bypass a bug on windows jsdom, domparser not an auto global but on window only - (global).DOMParser = (global)?.DOMParser ?? window.DOMParser; - (global).document = (global)?.document ?? window.document; + (global as any).DOMParser = (global as any)?.DOMParser ?? window.DOMParser; + (global as any).document = (global as any)?.document ?? window.document; }; let applyJsfToGlobals23 = function (data, Implementation, PushImpl) { - (global).jsf = data.jsf; - (global).myfaces = data.myfaces; - (global).window.jsf = data.jsf; - (global).window.myfaces = data.myfaces; - (global).Implementation = Implementation.Implementation; - (global).window.Implementation = Implementation.Implementation; - (global).PushImpl = PushImpl.PushImpl; + (global as any).jsf = data.jsf; + (global as any).myfaces = data.myfaces; + (global as any).window.jsf = data.jsf; + (global as any).window.myfaces = data.myfaces; + (global as any).Implementation = Implementation.Implementation; + (global as any).window.Implementation = Implementation.Implementation; + (global as any).PushImpl = PushImpl.PushImpl; //bypass a bug on windows jsdom, domparser not an auto global but on window only - (global).DOMParser = (global)?.DOMParser ?? window.DOMParser; - (global).document = (global)?.document ?? window.document; + (global as any).DOMParser = (global as any)?.DOMParser ?? window.DOMParser; + (global as any).document = (global as any)?.document ?? window.document; }; @@ -670,14 +670,14 @@ function triggerRequestChain(event) { * lets clean up some old data which might interfere */ let resetGlobals = function () { - (global)?.Implementation?.reset(); - (global)?.PushImpl?.reset(); - - ((global).faces) ? delete (global).faces : null; - ((global).jsf) ? delete (global).jsf : null; - delete (global).myfaces; - ((global).Implementation) ? delete (global).Implementation : null; - delete (global).PushImpl; + (global as any)?.Implementation?.reset(); + (global as any)?.PushImpl?.reset(); + + ((global as any).faces) ? delete (global as any).faces : null; + ((global as any).jsf) ? delete (global as any).jsf : null; + delete (global as any).myfaces; + ((global as any).Implementation) ? delete (global as any).Implementation : null; + delete (global as any).PushImpl; }; /** diff --git a/api/src/client/typescript/faces/test/impl/ImplTest.spec.ts b/api/src/client/typescript/faces/test/impl/ImplTest.spec.ts index 3982e7efbf..1c4091c794 100644 --- a/api/src/client/typescript/faces/test/impl/ImplTest.spec.ts +++ b/api/src/client/typescript/faces/test/impl/ImplTest.spec.ts @@ -21,7 +21,7 @@ import * as sinon from 'sinon'; import {StandardInits} from "../frameworkBase/_ext/shared/StandardInits"; import {CTX_PARAM_REQ_PASS_THR, P_EXECUTE, P_RENDER} from "../../impl/core/Const"; -import defaultMyFaces = StandardInits.defaultMyFaces; +const defaultMyFaces = StandardInits.defaultMyFaces; import {_Es2019Array} from "mona-dish"; @@ -77,7 +77,7 @@ describe('faces.ajax.request test suite', () => { expect(addRequestToQueue.called).to.be.true; expect(addRequestToQueue.callCount).to.eq(1); - const context = (addRequestToQueue.args[0][2]); + const context = (addRequestToQueue.args[0][2] as Config); expect(context.getIf(CTX_PARAM_REQ_PASS_THR, P_RENDER).value).eq("@all"); //Execute issuing form due to @form and always the issuing element diff --git a/api/src/client/typescript/faces/test/impl/ImplTest_23.spec.ts b/api/src/client/typescript/faces/test/impl/ImplTest_23.spec.ts index 75630f440e..ec70431858 100644 --- a/api/src/client/typescript/faces/test/impl/ImplTest_23.spec.ts +++ b/api/src/client/typescript/faces/test/impl/ImplTest_23.spec.ts @@ -21,7 +21,7 @@ import * as sinon from 'sinon'; import {StandardInits} from "../frameworkBase/_ext/shared/StandardInits"; import {CTX_PARAM_REQ_PASS_THR, P_EXECUTE, P_RENDER} from "../../impl/core/Const"; -import defaultMyFaces23 = StandardInits.defaultMyFaces23; +const defaultMyFaces23 = StandardInits.defaultMyFaces23; sinon.reset(); @@ -58,7 +58,7 @@ describe('javax.ajax.request test suite', () => { expect(addRequestToQueue.called).to.be.true; expect(addRequestToQueue.callCount).to.eq(1); - const context = (addRequestToQueue.args[0][2]); + const context = (addRequestToQueue.args[0][2] as Config); expect(context.getIf(CTX_PARAM_REQ_PASS_THR, P_RENDER).value).eq("@all"); //Execute issuing form due to @form and always the issuing element diff --git a/api/src/client/typescript/faces/test/impl/SeparatorCharsTest.spec.ts b/api/src/client/typescript/faces/test/impl/SeparatorCharsTest.spec.ts index 38cad7d997..d424089f87 100644 --- a/api/src/client/typescript/faces/test/impl/SeparatorCharsTest.spec.ts +++ b/api/src/client/typescript/faces/test/impl/SeparatorCharsTest.spec.ts @@ -18,8 +18,8 @@ import {describe, it} from 'mocha'; import {expect} from 'chai'; import * as sinon from 'sinon'; import {StandardInits} from "../frameworkBase/_ext/shared/StandardInits"; -import defaultMyFaces = StandardInits.defaultMyFaces; -import defaultSeparatorChar = StandardInits.defaultSeparatorChar; +const defaultMyFaces = StandardInits.defaultMyFaces; +const defaultSeparatorChar = StandardInits.defaultSeparatorChar; sinon.reset(); diff --git a/api/src/client/typescript/faces/test/impl/util/ExtDomQueryTest.spec.ts b/api/src/client/typescript/faces/test/impl/util/ExtDomQueryTest.spec.ts index 9976daff47..3e35ff14bf 100644 --- a/api/src/client/typescript/faces/test/impl/util/ExtDomQueryTest.spec.ts +++ b/api/src/client/typescript/faces/test/impl/util/ExtDomQueryTest.spec.ts @@ -19,7 +19,7 @@ import {expect} from 'chai'; import {ExtDomQuery} from "../../../impl/util/ExtDomQuery"; import {StandardInits} from "../../frameworkBase/_ext/shared/StandardInits"; -import defaultMyFaces = StandardInits.defaultMyFaces; +const defaultMyFaces = StandardInits.defaultMyFaces; import Sinon from "sinon"; declare var faces: any; diff --git a/api/src/client/typescript/faces/test/myfaces/OamSubmit.spec.ts b/api/src/client/typescript/faces/test/myfaces/OamSubmit.spec.ts index 8f6f654dc5..eb1b5d17cf 100644 --- a/api/src/client/typescript/faces/test/myfaces/OamSubmit.spec.ts +++ b/api/src/client/typescript/faces/test/myfaces/OamSubmit.spec.ts @@ -18,12 +18,12 @@ import {describe, it} from "mocha"; import {expect} from "chai"; import {StandardInits} from "../frameworkBase/_ext/shared/StandardInits"; -import defaultMyFaces = StandardInits.defaultMyFaces; +const defaultMyFaces = StandardInits.defaultMyFaces; import {oam} from "../../myfaces/OamSubmit"; -import setHiddenInput = oam.setHiddenInput; +const setHiddenInput = oam.setHiddenInput; import {DomQuery} from "mona-dish"; -import clearHiddenInput = oam.clearHiddenInput; -import submitForm = oam.submitForm; +const clearHiddenInput = oam.clearHiddenInput; +const submitForm = oam.submitForm; import Sinon, {spy} from "sinon"; diff --git a/api/src/client/typescript/faces/test/myfaces/OnLoad.spec.ts b/api/src/client/typescript/faces/test/myfaces/OnLoad.spec.ts index f82e469b7c..55cd99af6b 100644 --- a/api/src/client/typescript/faces/test/myfaces/OnLoad.spec.ts +++ b/api/src/client/typescript/faces/test/myfaces/OnLoad.spec.ts @@ -18,7 +18,7 @@ import {describe, it} from "mocha"; import {expect} from "chai"; import {StandardInits} from "../frameworkBase/_ext/shared/StandardInits"; -import defaultMyFaces = StandardInits.defaultMyFaces; +const defaultMyFaces = StandardInits.defaultMyFaces; diff --git a/api/src/client/typescript/faces/test/queue/AsynchronousQueueTest.spec.ts b/api/src/client/typescript/faces/test/queue/AsynchronousQueueTest.spec.ts index 7773adeaac..4b5ab429f6 100644 --- a/api/src/client/typescript/faces/test/queue/AsynchronousQueueTest.spec.ts +++ b/api/src/client/typescript/faces/test/queue/AsynchronousQueueTest.spec.ts @@ -21,7 +21,7 @@ import {ProbeClass} from "./AsynchronousProbe"; import {StandardInits} from "../frameworkBase/_ext/shared/StandardInits"; import {Implementation} from "../../impl/AjaxImpl"; -import defaultMyFaces = StandardInits.defaultMyFaces; +const defaultMyFaces = StandardInits.defaultMyFaces; import {XhrQueueController} from "../../impl/util/XhrQueueController"; describe('Asynchronous Queue tests', () => { @@ -38,13 +38,13 @@ describe('Asynchronous Queue tests', () => { this.xhr.onCreate = (xhr) => { this.requests.push(xhr); }; - (global).XMLHttpRequest = this.xhr; + (global as any).XMLHttpRequest = this.xhr; window.XMLHttpRequest = this.xhr; - this.jsfAjaxResponse = sinon.stub((global).faces.ajax, "response"); + this.jsfAjaxResponse = sinon.stub((global as any).faces.ajax, "response"); this.closeIt = () => { - (global).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); + (global as any).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); this.jsfAjaxResponse.restore(); Implementation.reset(); close(); diff --git a/api/src/client/typescript/faces/test/xhrCore/ClientWindow.spec.ts b/api/src/client/typescript/faces/test/xhrCore/ClientWindow.spec.ts index 277b695b06..3237fe8505 100644 --- a/api/src/client/typescript/faces/test/xhrCore/ClientWindow.spec.ts +++ b/api/src/client/typescript/faces/test/xhrCore/ClientWindow.spec.ts @@ -21,13 +21,13 @@ describe('adds a getClientWindowTests', function () { this.xhr.onCreate = (xhr) => { this.requests.push(xhr); }; - (global).XMLHttpRequest = this.xhr; + (global as any).XMLHttpRequest = this.xhr; window.XMLHttpRequest = this.xhr; - this.jsfAjaxResponse = sinon.spy((global).faces.ajax, "response"); + this.jsfAjaxResponse = sinon.spy((global as any).faces.ajax, "response"); this.closeIt = () => { - (global).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); + (global as any).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); this.jsfAjaxResponse.restore(); Implementation.reset(); close(); diff --git a/api/src/client/typescript/faces/test/xhrCore/ErrorChainTest.spec.ts b/api/src/client/typescript/faces/test/xhrCore/ErrorChainTest.spec.ts index 3e0908ef0f..b28842e048 100644 --- a/api/src/client/typescript/faces/test/xhrCore/ErrorChainTest.spec.ts +++ b/api/src/client/typescript/faces/test/xhrCore/ErrorChainTest.spec.ts @@ -22,7 +22,7 @@ import {StandardInits} from "../frameworkBase/_ext/shared/StandardInits"; import {XmlResponses} from "../frameworkBase/_ext/shared/XmlResponses"; import {expect} from "chai"; import {Implementation} from "../../impl/AjaxImpl"; -import errorChainPage = StandardInits.errorChainPage; +const errorChainPage = StandardInits.errorChainPage; import {DQ} from "mona-dish"; import {ErrorData} from "../../impl/xhrCore/ErrorData"; @@ -56,11 +56,11 @@ describe('Tests of the various aspects of the response protocol functionality', this.xhr.onCreate = (xhr) => { this.requests.push(xhr); }; - (global).XMLHttpRequest = this.xhr; + (global as any).XMLHttpRequest = this.xhr; window.XMLHttpRequest = this.xhr; this.closeIt = () => { - (global).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); + (global as any).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); Implementation.reset(); close(); } @@ -136,7 +136,7 @@ describe('Tests of the various aspects of the response protocol functionality', it('must have correct source element within the error Data Object', () => { const errorData = new ErrorData("form1:button1", "errorName", "errorMessage"); - expect((errorData.source).id).to.eq("form1:button1"); + expect((errorData.source as Element).id).to.eq("form1:button1"); }) it('should have correct source id string within the error Data Object if element not existing', () => { diff --git a/api/src/client/typescript/faces/test/xhrCore/EventTests.spec.ts b/api/src/client/typescript/faces/test/xhrCore/EventTests.spec.ts index 60d2e663c9..d7492fadc2 100644 --- a/api/src/client/typescript/faces/test/xhrCore/EventTests.spec.ts +++ b/api/src/client/typescript/faces/test/xhrCore/EventTests.spec.ts @@ -20,7 +20,7 @@ import {StandardInits} from "../frameworkBase/_ext/shared/StandardInits"; import {Implementation} from "../../impl/AjaxImpl"; import {expect} from "chai"; -import protocolPage = StandardInits.protocolPage; +const protocolPage = StandardInits.protocolPage; import {DQ} from "mona-dish"; import {XmlResponses} from "../frameworkBase/_ext/shared/XmlResponses"; @@ -46,11 +46,11 @@ describe('tests the addOnEvent and addOnError handling', function () { this.xhr.onCreate = (xhr) => { this.requests.push(xhr); }; - (global).XMLHttpRequest = this.xhr; + (global as any).XMLHttpRequest = this.xhr; window.XMLHttpRequest = this.xhr; this.closeIt = () => { - (global).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); + (global as any).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); Implementation.reset(); close(); } diff --git a/api/src/client/typescript/faces/test/xhrCore/FileUploadTest.spec.ts b/api/src/client/typescript/faces/test/xhrCore/FileUploadTest.spec.ts index 3050804d33..b3b4a5f7a5 100644 --- a/api/src/client/typescript/faces/test/xhrCore/FileUploadTest.spec.ts +++ b/api/src/client/typescript/faces/test/xhrCore/FileUploadTest.spec.ts @@ -18,7 +18,7 @@ import * as sinon from "sinon"; import {expect} from "chai"; import {StandardInits} from "../frameworkBase/_ext/shared/StandardInits"; import {_Es2019Array, DomQuery, DQ} from "mona-dish"; -import defaultFileForm = StandardInits.defaultFileForm; +const defaultFileForm = StandardInits.defaultFileForm; import {Implementation} from "../../impl/AjaxImpl"; declare var faces: any; @@ -46,14 +46,14 @@ describe('Tests on the xhr core when it starts to call the request', function () this.xhr.onCreate = (xhr) => { this.requests.push(xhr); }; - (global).XMLHttpRequest = this.xhr; + (global as any).XMLHttpRequest = this.xhr; window.XMLHttpRequest = this.xhr; oldFlatMap =Array.prototype["flatMap"]; window["Es2019Array"] = _Es2019Array; delete Array.prototype["flatMap"]; this.closeIt = () => { - (global).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); + (global as any).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); Implementation.reset(); close(); } diff --git a/api/src/client/typescript/faces/test/xhrCore/NamespacesRequestTest.spec.ts b/api/src/client/typescript/faces/test/xhrCore/NamespacesRequestTest.spec.ts index 6f7aa32830..c86acb0f57 100644 --- a/api/src/client/typescript/faces/test/xhrCore/NamespacesRequestTest.spec.ts +++ b/api/src/client/typescript/faces/test/xhrCore/NamespacesRequestTest.spec.ts @@ -27,10 +27,10 @@ import { P_VIEWSTATE, P_WINDOW_ID } from "../../impl/core/Const"; -import defaultMyFacesNamespaces = StandardInits.defaultMyFacesNamespaces; +const defaultMyFacesNamespaces = StandardInits.defaultMyFacesNamespaces; import {escape} from "querystring"; import {ExtLang} from "../../impl/util/Lang"; -import ofAssoc = ExtLang.ofAssoc; +const ofAssoc = ExtLang.ofAssoc; declare var faces: any; declare var Implementation: any; @@ -59,16 +59,16 @@ describe('Namespacing tests', function () { this.xhr.onCreate = (xhr) => { this.requests.push(xhr); }; - (global).XMLHttpRequest = this.xhr; + (global as any).XMLHttpRequest = this.xhr; window.XMLHttpRequest = this.xhr; - this.jsfAjaxResponse = sinon.spy((global).faces.ajax, "response"); + this.jsfAjaxResponse = sinon.spy((global as any).faces.ajax, "response"); oldFlatMap =Array.prototype["flatMap"]; window["Es2019Array"] = _Es2019Array; delete Array.prototype["flatMap"]; this.closeIt = () => { - (global).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); + (global as any).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); this.jsfAjaxResponse.restore(); Implementation.reset(); close(); diff --git a/api/src/client/typescript/faces/test/xhrCore/OamSubmitTest.spec.ts b/api/src/client/typescript/faces/test/xhrCore/OamSubmitTest.spec.ts index 0171bbcfcb..cebd481d94 100644 --- a/api/src/client/typescript/faces/test/xhrCore/OamSubmitTest.spec.ts +++ b/api/src/client/typescript/faces/test/xhrCore/OamSubmitTest.spec.ts @@ -18,7 +18,7 @@ import {describe} from "mocha"; import * as sinon from "sinon"; import {Implementation} from "../../impl/AjaxImpl"; import {StandardInits} from "../frameworkBase/_ext/shared/StandardInits"; -import defaultMyFaces = StandardInits.defaultMyFaces; +const defaultMyFaces = StandardInits.defaultMyFaces; import {_Es2019Array, DQ, DQ$} from "mona-dish"; import {expect} from "chai"; @@ -35,16 +35,16 @@ describe('Tests for the MyFaces specific oam submit', function () { this.xhr.onCreate = (xhr) => { this.requests.push(xhr); }; - (global).XMLHttpRequest = this.xhr; + (global as any).XMLHttpRequest = this.xhr; window.XMLHttpRequest = this.xhr; - this.jsfAjaxResponse = sinon.spy((global).faces.ajax, "response"); + this.jsfAjaxResponse = sinon.spy((global as any).faces.ajax, "response"); oldFlatMap =Array.prototype["flatMap"]; window["Es2019Array"] = _Es2019Array; delete Array.prototype["flatMap"]; this.closeIt = () => { - (global).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); + (global as any).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); this.jsfAjaxResponse.restore(); Implementation.reset(); close(); diff --git a/api/src/client/typescript/faces/test/xhrCore/RequestParamsTest.spec.ts b/api/src/client/typescript/faces/test/xhrCore/RequestParamsTest.spec.ts index e6ce77ed07..9b68e7b565 100644 --- a/api/src/client/typescript/faces/test/xhrCore/RequestParamsTest.spec.ts +++ b/api/src/client/typescript/faces/test/xhrCore/RequestParamsTest.spec.ts @@ -17,10 +17,10 @@ import * as sinon from "sinon"; import {Implementation} from "../../impl/AjaxImpl"; import {StandardInits} from "../frameworkBase/_ext/shared/StandardInits"; -import protocolPage = StandardInits.protocolPage; +const protocolPage = StandardInits.protocolPage; import {Config, DQ} from "mona-dish"; import {expect} from "chai"; -import HTML_PREFIX_EMBEDDED_BODY = StandardInits.HTML_PREFIX_EMBEDDED_BODY; +const HTML_PREFIX_EMBEDDED_BODY = StandardInits.HTML_PREFIX_EMBEDDED_BODY; import {it} from "mocha"; import {decodeEncodedValues} from "../../impl/util/FileUtils"; import {ExtConfig} from "../../impl/util/ExtDomQuery"; @@ -98,13 +98,13 @@ describe("test for proper request param patterns identical to the old implementa this.xhr.onCreate = (xhr) => { this.requests.push(xhr); }; - (global).XMLHttpRequest = this.xhr; + (global as any).XMLHttpRequest = this.xhr; window.XMLHttpRequest = this.xhr; - this.jsfAjaxResponse = sinon.stub((global).faces.ajax, "response"); + this.jsfAjaxResponse = sinon.stub((global as any).faces.ajax, "response"); this.closeIt = () => { - (global).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); + (global as any).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); this.jsfAjaxResponse.restore(); Implementation.reset(); close(); diff --git a/api/src/client/typescript/faces/test/xhrCore/RequestTest.spec.ts b/api/src/client/typescript/faces/test/xhrCore/RequestTest.spec.ts index 46329e0c48..238923591c 100644 --- a/api/src/client/typescript/faces/test/xhrCore/RequestTest.spec.ts +++ b/api/src/client/typescript/faces/test/xhrCore/RequestTest.spec.ts @@ -29,11 +29,11 @@ import { P_WINDOW_ID, SUCCESS } from "../../impl/core/Const"; -import defaultMyFaces = StandardInits.defaultMyFaces; -import initVirtualElement = StandardInits.initVirtualElement; -import STD_XML = StandardInits.STD_XML; +const defaultMyFaces = StandardInits.defaultMyFaces; +const initVirtualElement = StandardInits.initVirtualElement; +const STD_XML = StandardInits.STD_XML; import exp from "constants"; -import initCheckboxForm = StandardInits.initCheckboxRadioForm; +const initCheckboxForm = StandardInits.initCheckboxRadioForm; declare var faces: any; declare var Implementation: any; @@ -87,16 +87,16 @@ describe('Tests on the xhr core when it starts to call the request', function () this.xhr.onCreate = (xhr) => { this.requests.push(xhr); }; - (global).XMLHttpRequest = this.xhr; + (global as any).XMLHttpRequest = this.xhr; window.XMLHttpRequest = this.xhr; - this.jsfAjaxResponse = sinon.spy((global).faces.ajax, "response"); + this.jsfAjaxResponse = sinon.spy((global as any).faces.ajax, "response"); oldFlatMap =Array.prototype["flatMap"]; window["Es2019Array"] = _Es2019Array; delete Array.prototype["flatMap"]; this.closeIt = () => { - (global).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); + (global as any).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); this.jsfAjaxResponse.restore(); Implementation.reset(); close(); @@ -230,14 +230,14 @@ describe('Tests after core when it hits response', function () { this.xhr.onCreate = (xhr) => { this.requests.push(xhr); }; - (global).XMLHttpRequest = this.xhr = sinon.useFakeXMLHttpRequest(); + (global as any).XMLHttpRequest = this.xhr = sinon.useFakeXMLHttpRequest(); // @ts-ignore window.XMLHttpRequest = this.xhr = sinon.useFakeXMLHttpRequest() as XMLHttpRequest; - this.jsfAjaxResponse = sinon.spy((global).faces.ajax, "response"); + this.jsfAjaxResponse = sinon.spy((global as any).faces.ajax, "response"); this.closeIt = () => { - (global).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); + (global as any).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); this.jsfAjaxResponse.restore(); Implementation.reset(); close(); diff --git a/api/src/client/typescript/faces/test/xhrCore/RequestTest_23.spec.ts b/api/src/client/typescript/faces/test/xhrCore/RequestTest_23.spec.ts index c14d0118de..eccf711077 100644 --- a/api/src/client/typescript/faces/test/xhrCore/RequestTest_23.spec.ts +++ b/api/src/client/typescript/faces/test/xhrCore/RequestTest_23.spec.ts @@ -63,9 +63,9 @@ let { } = remapNamespacesFor23(); -import STD_XML = StandardInits.STD_XML; -import defaultMyFaces23 = StandardInits.defaultMyFaces23; -import HTML_PREFIX_EMBEDDED_BODY = StandardInits.HTML_PREFIX_EMBEDDED_BODY; +const STD_XML = StandardInits.STD_XML; +const defaultMyFaces23 = StandardInits.defaultMyFaces23; +const HTML_PREFIX_EMBEDDED_BODY = StandardInits.HTML_PREFIX_EMBEDDED_BODY; declare var jsf: any; declare var Implementation: any; @@ -94,13 +94,13 @@ describe('Tests on the xhr core when it starts to call the request', function () this.xhr.onCreate = (xhr) => { this.requests.push(xhr); }; - (global).XMLHttpRequest = this.xhr; + (global as any).XMLHttpRequest = this.xhr; window.XMLHttpRequest = this.xhr; - this.jsfAjaxResponse = sinon.spy((global).jsf.ajax, "response"); + this.jsfAjaxResponse = sinon.spy((global as any).jsf.ajax, "response"); this.closeIt = () => { - (global).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); + (global as any).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); this.jsfAjaxResponse.restore(); Implementation.reset(); close(); @@ -198,15 +198,15 @@ describe('Tests after core when it hits response', function () { this.xhr.onCreate = (xhr) => { this.requests.push(xhr); }; - (global).XMLHttpRequest = this.xhr = sinon.useFakeXMLHttpRequest(); + (global as any).XMLHttpRequest = this.xhr = sinon.useFakeXMLHttpRequest(); // @ts-ignore window.XMLHttpRequest = this.xhr = sinon.useFakeXMLHttpRequest() as XMLHttpRequest; - this.jsfAjaxResponse = sinon.spy((global).jsf.ajax, "response"); + this.jsfAjaxResponse = sinon.spy((global as any).jsf.ajax, "response"); this.closeIt = () => { - (global).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); + (global as any).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); this.jsfAjaxResponse.restore(); Implementation.reset(); close(); diff --git a/api/src/client/typescript/faces/test/xhrCore/ResponseTest.spec.ts b/api/src/client/typescript/faces/test/xhrCore/ResponseTest.spec.ts index 0ff9f8fb40..5a079ac8fa 100644 --- a/api/src/client/typescript/faces/test/xhrCore/ResponseTest.spec.ts +++ b/api/src/client/typescript/faces/test/xhrCore/ResponseTest.spec.ts @@ -22,7 +22,7 @@ import * as sinon from "sinon"; import {XmlResponses} from "../frameworkBase/_ext/shared/XmlResponses"; import {expect} from "chai"; import {_Es2019Array, DomQuery, DQ, DQ$} from "mona-dish"; -import protocolPage = StandardInits.protocolPage; +const protocolPage = StandardInits.protocolPage; declare var faces: any; @@ -53,14 +53,14 @@ describe('Tests of the various aspects of the response protocol functionality', this.xhr.onCreate = (xhr) => { this.requests.push(xhr); }; - (global).XMLHttpRequest = this.xhr; + (global as any).XMLHttpRequest = this.xhr; window.XMLHttpRequest = this.xhr; oldFlatMap =Array.prototype["flatMap"]; window["Es2019Array"] = _Es2019Array; delete Array.prototype["flatMap"]; this.closeIt = () => { - (global).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); + (global as any).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); Implementation.reset(); close(); } @@ -86,19 +86,19 @@ describe('Tests of the various aspects of the response protocol functionality', .value.indexOf("update succeeded 1") != -1) .to.be.true; - let pos1 = (DQ.byId(document.body).html() - .value).indexOf("insert before succeeded should display before test1"); - let pos3 = (DQ.byId(document.body).html() - .value).indexOf("insert after succeeded should display after test1"); - let pos2 = (DQ.byId(document.body).html() - .value).indexOf("update succeeded 1"); + let pos1 = (DQ.byId(document.body).html() + .value as string).indexOf("insert before succeeded should display before test1"); + let pos3 = (DQ.byId(document.body).html() + .value as string).indexOf("insert after succeeded should display after test1"); + let pos2 = (DQ.byId(document.body).html() + .value as string).indexOf("update succeeded 1"); expect(pos1 != -1).to.be.true; expect(pos1 < pos2 && pos2 < pos3).to.be.true; - let pos4 = (DQ.byId(document.body).html() - .value).indexOf("embedded script at update succeed"); + let pos4 = (DQ.byId(document.body).html() + .value as string).indexOf("embedded script at update succeed"); expect(pos4 != -1).to.be.true; @@ -117,19 +117,19 @@ describe('Tests of the various aspects of the response protocol functionality', .value.indexOf("update succeeded 2") != -1) .to.be.true; - let pos1 = (DQ.byId(document.body).html() - .value).indexOf("insert before succeeded should display before test1"); - let pos3 = (DQ.byId(document.body).html() - .value).indexOf("insert after succeeded should display after test1"); - let pos2 = (DQ.byId(document.body).html() - .value).indexOf("update succeeded 2"); + let pos1 = (DQ.byId(document.body).html() + .value as string).indexOf("insert before succeeded should display before test1"); + let pos3 = (DQ.byId(document.body).html() + .value as string).indexOf("insert after succeeded should display after test1"); + let pos2 = (DQ.byId(document.body).html() + .value as string).indexOf("update succeeded 2"); expect(pos1 != -1).to.be.true; expect(pos1 < pos2 && pos2 < pos3).to.be.true; - let pos4 = (DQ.byId(document.body).html() - .value).indexOf("embedded script at update succeed"); + let pos4 = (DQ.byId(document.body).html() + .value as string).indexOf("embedded script at update succeed"); expect(pos4 != -1).to.be.true; @@ -142,7 +142,7 @@ describe('Tests of the various aspects of the response protocol functionality', //basic replacement let newBody = DQ.byId(document.body); - let newContent = newBody.html().value; + let newContent = newBody.html().value as string; //standard replacement successful expect(newContent.indexOf("

Body replacement test successful

") != -1, "elements must be updated").to.be.true; @@ -165,7 +165,7 @@ describe('Tests of the various aspects of the response protocol functionality', //basic replacement let newBody = DQ.byId(document.body); - let newContent = newBody.html().value; + let newContent = newBody.html().value as string; //standard replacement successful //script eval @@ -182,7 +182,7 @@ describe('Tests of the various aspects of the response protocol functionality', //basic replacement let newHead = DQ.byId(document.head); let newBody = DQ.byId(document.body); - let newContent = newBody.html().value; + let newContent = newBody.html().value as string; expect(newHead.isPresent(), " head must exist ").to.be.true; @@ -227,7 +227,7 @@ describe('Tests of the various aspects of the response protocol functionality', DQ.byId("cmd_eval").click(); this.respond(XmlResponses.EVAL_1); - let resultHTML: string = DQ.byId(document.body).html().value; + let resultHTML: string = DQ.byId(document.body).html().value as string; expect(resultHTML.indexOf('eval test succeeded') != -1).to.be.true; }); diff --git a/api/src/client/typescript/faces/test/xhrCore/ResponseTest23.spec.ts b/api/src/client/typescript/faces/test/xhrCore/ResponseTest23.spec.ts index 7b5f72c0c0..6e0af3abae 100644 --- a/api/src/client/typescript/faces/test/xhrCore/ResponseTest23.spec.ts +++ b/api/src/client/typescript/faces/test/xhrCore/ResponseTest23.spec.ts @@ -21,11 +21,11 @@ import * as sinon from "sinon"; import {XmlResponses} from "../frameworkBase/_ext/shared/XmlResponses"; import {expect} from "chai"; -import protocolPage = StandardInits.protocolPage; +const protocolPage = StandardInits.protocolPage; import {DQ, DQ$} from "mona-dish"; import {$nsp} from "../../impl/core/Const"; -import STD_XML = StandardInits.STD_XML; -import HTML_PREFIX_EMBEDDED_BODY = StandardInits.HTML_PREFIX_EMBEDDED_BODY; +const STD_XML = StandardInits.STD_XML; +const HTML_PREFIX_EMBEDDED_BODY = StandardInits.HTML_PREFIX_EMBEDDED_BODY; declare var jsf: any; @@ -57,11 +57,11 @@ describe('Tests of the various aspects of the response protocol functionality', this.xhr.onCreate = (xhr) => { this.requests.push(xhr); }; - (global).XMLHttpRequest = this.xhr; + (global as any).XMLHttpRequest = this.xhr; window.XMLHttpRequest = this.xhr; this.closeIt = () => { - (global).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); + (global as any).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); Implementation.reset(); close(); } @@ -83,19 +83,19 @@ describe('Tests of the various aspects of the response protocol functionality', .value.indexOf("update succeeded 1") != -1) .to.be.true; - let pos1 = (DQ.byId(document.body).html() - .value).indexOf("insert before succeeded should display before test1"); - let pos3 = (DQ.byId(document.body).html() - .value).indexOf("insert after succeeded should display after test1"); - let pos2 = (DQ.byId(document.body).html() - .value).indexOf("update succeeded 1"); + let pos1 = (DQ.byId(document.body).html() + .value as string).indexOf("insert before succeeded should display before test1"); + let pos3 = (DQ.byId(document.body).html() + .value as string).indexOf("insert after succeeded should display after test1"); + let pos2 = (DQ.byId(document.body).html() + .value as string).indexOf("update succeeded 1"); expect(pos1 != -1).to.be.true; expect(pos1 < pos2 && pos2 < pos3).to.be.true; - let pos4 = (DQ.byId(document.body).html() - .value).indexOf("embedded script at update succeed"); + let pos4 = (DQ.byId(document.body).html() + .value as string).indexOf("embedded script at update succeed"); expect(pos4 != -1).to.be.true; @@ -114,19 +114,19 @@ describe('Tests of the various aspects of the response protocol functionality', .value.indexOf("update succeeded 2") != -1) .to.be.true; - let pos1 = (DQ.byId(document.body).html() - .value).indexOf("insert before succeeded should display before test1"); - let pos3 = (DQ.byId(document.body).html() - .value).indexOf("insert after succeeded should display after test1"); - let pos2 = (DQ.byId(document.body).html() - .value).indexOf("update succeeded 2"); + let pos1 = (DQ.byId(document.body).html() + .value as string).indexOf("insert before succeeded should display before test1"); + let pos3 = (DQ.byId(document.body).html() + .value as string).indexOf("insert after succeeded should display after test1"); + let pos2 = (DQ.byId(document.body).html() + .value as string).indexOf("update succeeded 2"); expect(pos1 != -1).to.be.true; expect(pos1 < pos2 && pos2 < pos3).to.be.true; - let pos4 = (DQ.byId(document.body).html() - .value).indexOf("embedded script at update succeed"); + let pos4 = (DQ.byId(document.body).html() + .value as string).indexOf("embedded script at update succeed"); expect(pos4 != -1).to.be.true; @@ -139,7 +139,7 @@ describe('Tests of the various aspects of the response protocol functionality', //basic replacement let newBody = DQ.byId(document.body); - let newContent = newBody.html().value; + let newContent = newBody.html().value as string; //standard replacement successful expect(newContent.indexOf("

Body replacement test successful

") != -1, "elements must be updated").to.be.true; @@ -161,7 +161,7 @@ describe('Tests of the various aspects of the response protocol functionality', //basic replacement let newBody = DQ.byId(document.body); - let newContent = newBody.html().value; + let newContent = newBody.html().value as string; //standard replacement successful //script eval @@ -178,7 +178,7 @@ describe('Tests of the various aspects of the response protocol functionality', //basic replacement let newHead = DQ.byId(document.head); let newBody = DQ.byId(document.body); - let newContent = newBody.html().value; + let newContent = newBody.html().value as string; expect(newHead.isPresent(), " head must exist ").to.be.true; @@ -223,7 +223,7 @@ describe('Tests of the various aspects of the response protocol functionality', DQ.byId("cmd_eval").click(); this.respond(XmlResponses.EVAL_1); - let resultHTML: string = DQ.byId(document.body).html().value; + let resultHTML: string = DQ.byId(document.body).html().value as string; expect(resultHTML.indexOf('eval test succeeded') != -1).to.be.true; }); diff --git a/api/src/client/typescript/faces/test/xhrCore/ShadowDomTest.spec.ts b/api/src/client/typescript/faces/test/xhrCore/ShadowDomTest.spec.ts index 247eadf100..d4c8e6b67d 100644 --- a/api/src/client/typescript/faces/test/xhrCore/ShadowDomTest.spec.ts +++ b/api/src/client/typescript/faces/test/xhrCore/ShadowDomTest.spec.ts @@ -23,7 +23,7 @@ import * as sinon from "sinon"; import {XmlResponses} from "../frameworkBase/_ext/shared/XmlResponses"; import {expect} from "chai"; import {DomQuery} from "mona-dish"; -import shadowDomMyFaces = StandardInits.shadowDomMyFaces; +const shadowDomMyFaces = StandardInits.shadowDomMyFaces; sinon.reset(); @@ -50,11 +50,11 @@ describe('shadow dom testsuite', () => { this.xhr.onCreate = (xhr) => { this.requests.push(xhr); }; - (global).XMLHttpRequest = this.xhr; + (global as any).XMLHttpRequest = this.xhr; window.XMLHttpRequest = this.xhr; this.closeIt = () => { - (global).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); + (global as any).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); Implementation.reset(); close(); } diff --git a/api/src/client/typescript/faces/test/xhrCore/TobagoFileUploadTest.spec.ts b/api/src/client/typescript/faces/test/xhrCore/TobagoFileUploadTest.spec.ts index 722819702f..04acd63d45 100644 --- a/api/src/client/typescript/faces/test/xhrCore/TobagoFileUploadTest.spec.ts +++ b/api/src/client/typescript/faces/test/xhrCore/TobagoFileUploadTest.spec.ts @@ -19,7 +19,7 @@ import {expect} from "chai"; import {StandardInits} from "../frameworkBase/_ext/shared/StandardInits"; import {_Es2019Array, DomQuery} from "mona-dish"; import {Implementation} from "../../impl/AjaxImpl"; -import defaultFileForm = StandardInits.tobagoFileForm; +const defaultFileForm = StandardInits.tobagoFileForm; declare var faces: any; @@ -46,14 +46,14 @@ describe('Tests on the xhr core when it starts to call the request', function () this.xhr.onCreate = (xhr) => { this.requests.push(xhr); }; - (global).XMLHttpRequest = this.xhr; + (global as any).XMLHttpRequest = this.xhr; window.XMLHttpRequest = this.xhr; oldFlatMap =Array.prototype["flatMap"]; window["Es2019Array"] = _Es2019Array; delete Array.prototype["flatMap"]; this.closeIt = () => { - (global).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); + (global as any).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); Implementation.reset(); close(); if(oldFlatMap) { diff --git a/api/src/client/typescript/faces/test/xhrCore/WebsocketTest.ts b/api/src/client/typescript/faces/test/xhrCore/WebsocketTest.ts index ef420ff4e0..116f3725af 100644 --- a/api/src/client/typescript/faces/test/xhrCore/WebsocketTest.ts +++ b/api/src/client/typescript/faces/test/xhrCore/WebsocketTest.ts @@ -20,10 +20,10 @@ import {Implementation} from "../../impl/AjaxImpl"; import {expect} from "chai"; -import defaultMyFaces = StandardInits.defaultMyFaces; +const defaultMyFaces = StandardInits.defaultMyFaces; import {_Es2019Array, Lang} from "mona-dish"; import {FakeWebsocket} from "./FakeWebsocket"; -import assertType = Lang.assertType; +const assertType = Lang.assertType; declare var faces: any; @@ -40,27 +40,27 @@ describe('Tests the jsf websocket client side api on high level (generic test wi this.xhr.onCreate = (xhr) => { this.requests.push(xhr); }; - (global).XMLHttpRequest = this.xhr; + (global as any).XMLHttpRequest = this.xhr; window.XMLHttpRequest = this.xhr; - this.jsfAjaxResponse = sinon.stub((global).faces.ajax, "response"); + this.jsfAjaxResponse = sinon.stub((global as any).faces.ajax, "response"); this.fakeWebsocket = new FakeWebsocket(); this.socket = sinon.stub(window, 'WebSocket').returns(this.fakeWebsocket); - (global).WebSocket = this.socket; + (global as any).WebSocket = this.socket; - this.pushImpl = (global).PushImpl; + this.pushImpl = (global as any).PushImpl; this.initSpy = sinon.spy(this.pushImpl, "init"); oldFlatMap =Array.prototype["flatMap"]; window["Es2019Array"] = _Es2019Array; delete Array.prototype["flatMap"]; this.closeIt = () => { - (global).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); + (global as any).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); this.jsfAjaxResponse.restore(); this.socket.restore(); this.initSpy.restore(); - delete (global).WebSocket; + delete (global as any).WebSocket; Implementation.reset(); close(); } diff --git a/api/src/client/typescript/faces/test/xhrCore/XhrFormDataTest.spec.ts b/api/src/client/typescript/faces/test/xhrCore/XhrFormDataTest.spec.ts index 7ae120ed7d..532a779fef 100644 --- a/api/src/client/typescript/faces/test/xhrCore/XhrFormDataTest.spec.ts +++ b/api/src/client/typescript/faces/test/xhrCore/XhrFormDataTest.spec.ts @@ -20,7 +20,7 @@ import * as sinon from 'sinon'; import {XhrFormData} from "../../impl/xhrCore/XhrFormData"; import {expect} from "chai"; import {StandardInits} from "../frameworkBase/_ext/shared/StandardInits"; -import defaultMyFaces = StandardInits.defaultMyFaces; +const defaultMyFaces = StandardInits.defaultMyFaces; import {Implementation} from "../../impl/AjaxImpl"; const jsdom = require("jsdom"); @@ -39,16 +39,16 @@ describe('XhrFormData tests', function () { this.xhr.onCreate = (xhr) => { this.requests.push(xhr); }; - (global).XMLHttpRequest = this.xhr; + (global as any).XMLHttpRequest = this.xhr; window.XMLHttpRequest = this.xhr; - this.jsfAjaxResponse = sinon.spy((global).faces.ajax, "response"); + this.jsfAjaxResponse = sinon.spy((global as any).faces.ajax, "response"); oldFlatMap =Array.prototype["flatMap"]; window["Es2019Array"] = _Es2019Array; delete Array.prototype["flatMap"]; this.closeIt = () => { - (global).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); + (global as any).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); this.jsfAjaxResponse.restore(); Implementation.reset(); close(); @@ -65,16 +65,16 @@ describe('XhrFormData tests', function () { let waitForResult = defaultMyFaces(); return waitForResult.then((close) => { - (global).window = window; - (global).body = window.document.body; - (global).document = window.document; + (global as any).window = window; + (global as any).body = window.document.body; + (global as any).document = window.document; global.body.innerHTML = `
`; - (global).navigator = { + (global as any).navigator = { language: "en-En" }; @@ -83,13 +83,13 @@ describe('XhrFormData tests', function () { this.xhr.onCreate = (xhr) => { this.requests.push(xhr); }; - (global).XMLHttpRequest = this.xhr; + (global as any).XMLHttpRequest = this.xhr; window.XMLHttpRequest = this.xhr; }); this.afterEach(function () { - (global).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); + (global as any).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); }); }); diff --git a/api/src/client/typescript/faces/test/xhrCore/XhrRequestProgress.spec.ts b/api/src/client/typescript/faces/test/xhrCore/XhrRequestProgress.spec.ts index 7c99b52814..7e479db07f 100644 --- a/api/src/client/typescript/faces/test/xhrCore/XhrRequestProgress.spec.ts +++ b/api/src/client/typescript/faces/test/xhrCore/XhrRequestProgress.spec.ts @@ -2,7 +2,7 @@ import {StandardInits} from "../frameworkBase/_ext/shared/StandardInits"; import * as sinon from "sinon"; import {Implementation} from "../../impl/AjaxImpl"; import {expect} from "chai"; -import protocolPage = StandardInits.protocolPage; +const protocolPage = StandardInits.protocolPage; const jsdom = require("jsdom"); const {JSDOM} = jsdom; @@ -23,12 +23,12 @@ describe("Should trigger the progress on xhr request", function () { this.requests.push(xhr); }; //we anchchor the mock into the fake dom - (global).XMLHttpRequest = this.xhr; + (global as any).XMLHttpRequest = this.xhr; window.XMLHttpRequest = this.xhr; //general cleanup of overloaded resources this.closeIt = () => { - (global).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); + (global as any).XMLHttpRequest = window.XMLHttpRequest = this.xhr.restore(); Implementation.reset(); close(); }; diff --git a/api/src/client/typescript/mona_dish/Config.ts b/api/src/client/typescript/mona_dish/Config.ts index 0cb62ec8ff..eca671cbd3 100644 --- a/api/src/client/typescript/mona_dish/Config.ts +++ b/api/src/client/typescript/mona_dish/Config.ts @@ -1,7 +1,7 @@ import {Es2019Array} from "./Es2019Array"; import {IValueHolder, Optional, ValueEmbedder} from "./Monad"; import {Lang} from "./Lang"; -import objAssign = Lang.objAssign; +const objAssign = Lang.objAssign; import {append, appendIf, assign, assignIf, resolve, shallowMerge} from "./AssocArray"; /** diff --git a/api/src/client/typescript/mona_dish/DomQuery.ts b/api/src/client/typescript/mona_dish/DomQuery.ts index 688b5a6b16..91b955f8d8 100644 --- a/api/src/client/typescript/mona_dish/DomQuery.ts +++ b/api/src/client/typescript/mona_dish/DomQuery.ts @@ -22,11 +22,11 @@ import {ICollector, IStreamDataSource, ITERATION_STATUS} from "./SourcesCollecto import {Lang} from "./Lang"; import {_global$} from "./Global"; import {Es2019Array} from "./Es2019Array"; -import trim = Lang.trim; +const trim = Lang.trim; -import isString = Lang.isString; -import eqi = Lang.equalsIgnoreCase; -import objToArray = Lang.objToArray; +const isString = Lang.isString; +const eqi = Lang.equalsIgnoreCase; +const objToArray = Lang.objToArray; import {append, assign, simpleShallowMerge} from "./AssocArray"; import {IDomQuery} from "./IDomQuery"; @@ -305,9 +305,9 @@ export class DomQuery implements IDomQuery, IStreamDataSource, Iterabl rootNode.push(...foundElement.values) } } else if (rootNode[cnt] instanceof DomQuery) { - this.rootNode.push(...(rootNode[cnt]).values); + this.rootNode.push(...(rootNode[cnt] as any).values); } else { - this.rootNode.push(rootNode[cnt]); + this.rootNode.push(rootNode[cnt] as any); } } } @@ -425,11 +425,11 @@ export class DomQuery implements IDomQuery, IStreamDataSource, Iterabl } get checked(): boolean { - return new Es2019Array(...this.values).every(el => !!(el).checked); + return new Es2019Array(...this.values).every(el => !!(el).checked as any); } set checked(newChecked: boolean) { - this.eachElem(el => (el).checked = newChecked); + this.eachElem(el => (el as any).checked = newChecked); } get elements(): DomQuery { @@ -569,7 +569,7 @@ export class DomQuery implements IDomQuery, IStreamDataSource, Iterabl if (isString(selector)) { return (!deep) ? new DomQuery(document).byId(selector) : new DomQuery(document).byIdDeep(selector); } else { - return new DomQuery(selector); + return new DomQuery(selector as any); } } @@ -583,7 +583,7 @@ export class DomQuery implements IDomQuery, IStreamDataSource, Iterabl if (isString(selector)) { return new DomQuery(document).byTagName(selector); } else { - return new DomQuery(selector); + return new DomQuery(selector as any); } } @@ -669,7 +669,7 @@ export class DomQuery implements IDomQuery, IStreamDataSource, Iterabl * @param index */ filesFromElem(index: number): Array { - return (index < this.rootNode.length) ? (this.rootNode[index])?.files ? (this.rootNode[index]).files : [] : []; + return (index < this.rootNode.length) ? (this.rootNode[index] as any)?.files ? (this.rootNode[index] as any).files : [] : []; } /** @@ -932,7 +932,7 @@ export class DomQuery implements IDomQuery, IStreamDataSource, Iterabl let matched = []; this.eachElem(item => { - if (this._mozMatchesSelector(item, selector)) { + if (this._matchesSelector(item, selector)) { matched.push(item) } }); @@ -947,7 +947,7 @@ export class DomQuery implements IDomQuery, IStreamDataSource, Iterabl */ matchesSelector(selector: string): boolean { return this.asArray - .some(item => this._mozMatchesSelector(item.getAsElem(0).value, selector)); + .some(item => this._matchesSelector(item.getAsElem(0).value, selector)); } /** @@ -1277,7 +1277,7 @@ export class DomQuery implements IDomQuery, IStreamDataSource, Iterabl parent(): DomQuery { let ret = []; this.eachElem((item: Element) => { - let parent = item.parentNode || (item).host || item.shadowRoot; + let parent = item.parentNode || (item as any).host || item.shadowRoot; if (parent && ret.indexOf(parent) == -1) { ret.push(parent); } @@ -1605,12 +1605,12 @@ export class DomQuery implements IDomQuery, IStreamDataSource, Iterabl (event as any).synthetic = true; // allow detection of synthetic events // The second parameter says go ahead with the default action node.dispatchEvent(event); - } else if ((node).fireEvent) { + } else if ((node as any).fireEvent) { // IE-old school style, you can drop this if you don't need to support IE8 and lower let event = doc.createEventObject(); event.synthetic = true; // allow detection of synthetic events Object.keys(finalOptions).forEach(key => event[key] = finalOptions[key]); - (node).fireEvent("on" + eventName, event); + (node as any).fireEvent("on" + eventName, event); } }) } @@ -1623,7 +1623,7 @@ export class DomQuery implements IDomQuery, IStreamDataSource, Iterabl textContent: "" }; }).value; - return (item).textContent || ""; + return (item as any).textContent || ""; }) .reduce((text1, text2) => [text1,joinString,text2].join(""), ""); } @@ -1636,7 +1636,7 @@ export class DomQuery implements IDomQuery, IStreamDataSource, Iterabl innerText: "" }; }).value; - return (item).innerText || ""; + return (item as any).innerText || ""; }) .reduce((text1, text2) => { return [text1, text2].join(joinString) @@ -1723,7 +1723,7 @@ export class DomQuery implements IDomQuery, IStreamDataSource, Iterabl element.checked ) ) { - let uploadedFiles = (element.value)?.value?.files; + let uploadedFiles = (element.value as any)?.value?.files; let filesArr: any = uploadedFiles ?? []; if (filesArr?.length) { //files can be empty but set // xhr level2, single multiple must be passes as they are @@ -1754,7 +1754,7 @@ export class DomQuery implements IDomQuery, IStreamDataSource, Iterabl return item?.value?.value?.nodeType == TYPE_CDATA_BLOCK; }) .reduce((reduced: Array, item: DomQuery) => { - reduced.push((item?.value?.value)?.data ?? ""); + reduced.push((item?.value?.value as any)?.data ?? ""); return reduced; }, []); /*let res: any = this.lazyStream.flatMap(item => { @@ -1762,7 +1762,7 @@ export class DomQuery implements IDomQuery, IStreamDataSource, Iterabl }).filter(item => { return item?.value?.value?.nodeType == TYPE_CDATA_BLOCK; }).reduce((reduced: Array, item: DomQuery) => { - reduced.push((item?.value?.value)?.data ?? ""); + reduced.push((item?.value?.value)?.data ?? "" as any); return reduced; }, []).value;*/ @@ -1827,8 +1827,8 @@ export class DomQuery implements IDomQuery, IStreamDataSource, Iterabl let shadowRoots: DomQuery[] = []; this.eachElem((item: Element) => { let shadowElement: DomQuery; - if ((item)?.attachShadow) { - shadowElement = DomQuery.byId((item).attachShadow(params)); + if ((item)?.attachShadow as any) { + shadowElement = DomQuery.byId((item as any).attachShadow(params)); shadowRoots.push(shadowElement); } else { throw new Error("Shadow dom creation not supported by the browser, please use a shim, to gain this functionality"); @@ -1890,9 +1890,9 @@ export class DomQuery implements IDomQuery, IStreamDataSource, Iterabl let caretPos = 0; try { - if ((document)?.selection) { + if ((document as any)?.selection) { ctrl.focus(); - let selection = (document).selection.createRange(); + let selection = (document as any).selection.createRange(); // the selection now is start zero selection.moveStart('character', -ctrl.value.length); // the caret-position is the selection start @@ -2069,8 +2069,6 @@ export class DomQuery implements IDomQuery, IStreamDataSource, Iterabl return foundNodes; } - // source: https:// developer.mozilla.org/en-US/docs/Web/API/Element/matches - // code snippet license: https:// creativecommons.org/licenses/by-sa/2.5/ /** * matches selector call in a browser independent manner * @@ -2078,22 +2076,12 @@ export class DomQuery implements IDomQuery, IStreamDataSource, Iterabl * @param selector * @private */ - private _mozMatchesSelector(toMatch: Element, selector: string): boolean { - let prototypeOwner: { [key: string]: Function } = (toMatch); - let matchesSelector: Function = prototypeOwner.matches || - prototypeOwner.matchesSelector || - prototypeOwner.mozMatchesSelector || - prototypeOwner.msMatchesSelector || - prototypeOwner.oMatchesSelector || - prototypeOwner.webkitMatchesSelector || - function (s: string) { - let matches: NodeListOf = (document || ownerDocument).querySelectorAll(s), - i = matches.length; - while (--i >= 0 && matches.item(i) !== toMatch) { - } - return i > -1; - }; - return matchesSelector.call(toMatch, selector); + private _matchesSelector(toMatch: Element, selector: string): boolean { + if(toMatch.matches) { + return toMatch.matches(selector); + } + var foundElements = (document || ownerDocument).querySelectorAll(selector); + return Array.prototype.indexOf.call(foundElements, toMatch) !== -1; } /** diff --git a/api/src/client/typescript/mona_dish/Es2019Array.ts b/api/src/client/typescript/mona_dish/Es2019Array.ts index 85c021b095..3fcbee3c41 100644 --- a/api/src/client/typescript/mona_dish/Es2019Array.ts +++ b/api/src/client/typescript/mona_dish/Es2019Array.ts @@ -20,10 +20,10 @@ class Es2019Array_ extends Array{ } //for testing it definitely runs into this branch because we are on es5 level - //if (!(Array.prototype).flatMap) { + //if (!(Array.prototype).flatMap as any) { this.flatMap = (flatMapFun) => this._flatMap(flatMapFun) as any; //} - //if (!(Array.prototype).flat) { + //if (!(Array.prototype).flat as any) { this.flat = (flatLevel: number = 1) => this._flat(flatLevel); //} } diff --git a/api/src/client/typescript/mona_dish/Lang.ts b/api/src/client/typescript/mona_dish/Lang.ts index 5c043dfdca..2afb11e83a 100644 --- a/api/src/client/typescript/mona_dish/Lang.ts +++ b/api/src/client/typescript/mona_dish/Lang.ts @@ -110,7 +110,7 @@ export module Lang { } //since offset is numeric we cannot use the shortcut due to 0 being false //special condition array delivered no offset no pack - if ((obj) instanceof Array && !offset && !pack) return obj; + if ((obj) instanceof Array && !offset && !pack as any) return obj; return new Es2019Array(...pack.concat(Array.prototype.slice.call(obj, offset))); } @@ -169,8 +169,8 @@ export module Lang { } let to = Object(target); - if((Object).assign) { - theArgs.forEach(item => (Object).assign(to, item)); + if((Object).assign as any) { + theArgs.forEach(item => (Object).assign(to, item) as any); return to; } diff --git a/api/src/client/typescript/mona_dish/Messaging.ts b/api/src/client/typescript/mona_dish/Messaging.ts index 4371e94013..46d87f0175 100644 --- a/api/src/client/typescript/mona_dish/Messaging.ts +++ b/api/src/client/typescript/mona_dish/Messaging.ts @@ -543,9 +543,9 @@ export class Broker extends BaseBroker { * @param event */ let evtHandler = (event: MessageEvent | CustomEvent) => { - let details = (event)?.detail ?? (event)?.data?.detail; + let details = (event as any)?.detail ?? (event)?.data?.detail; //TODO possible crypto hook, needs unit testing - let channel = ((event)?.data?.channel) ?? ((event)?.channel); + let channel = ((event as any)?.data?.channel) ?? ((event as any)?.channel); //javascript loses the type info in certain module types if (details?.identifier && details?.message) { @@ -555,7 +555,7 @@ export class Broker extends BaseBroker { } //coming in from up... we need to send it down //a relayed message always has to trigger the listeners as well - if ((event)?.detail) { + if ((event as any)?.detail) { this.broadcast(channel, msg); } else { this.broadcast(channel, msg); @@ -573,13 +573,13 @@ export class Broker extends BaseBroker { * @param scopeElement */ register(scopeElement: HTMLElement | Window | ShadowRoot): BaseBroker { - this.rootElem = (scopeElement).host ? (scopeElement).host : scopeElement; - if ((scopeElement).host) { + this.rootElem = (scopeElement as any).host ? (scopeElement as any).host : scopeElement; + if ((scopeElement as any).host) { let host = (scopeElement).host; host.setAttribute("data-broker", "1"); } else { if (scopeElement?.["setAttribute"]) - (scopeElement).setAttribute("data-broker", "1"); + (scopeElement as any).setAttribute("data-broker", "1"); } this.rootElem.addEventListener(this.brokerGroup + "__||__" + Broker.EVENT_TYPE, this.msgHandler, {capture: true}); @@ -704,7 +704,7 @@ export class Broker extends BaseBroker { } else { let customEvent = new (_global$()).CustomEvent(name, wrapper); - (customEvent).channel = wrapper.channel; + (customEvent as any).channel = wrapper.channel; return customEvent; } diff --git a/api/src/client/typescript/mona_dish/Promise.ts b/api/src/client/typescript/mona_dish/Promise.ts index 42247a8227..73b283b5ed 100644 --- a/api/src/client/typescript/mona_dish/Promise.ts +++ b/api/src/client/typescript/mona_dish/Promise.ts @@ -94,7 +94,7 @@ export class Promise implements IPromise { myapply(); } }; - (executor).__last__ = true; + (executor as any).__last__ = true; for (let cnt = 0; cnt < promises.length; cnt++) { promises[cnt].finally(executor); @@ -121,7 +121,7 @@ export class Promise implements IPromise { myreject = null; return null; }; - (thenexecutor).__last__ = true; + (thenexecutor as any).__last__ = true; let catchexeutor = (): IPromise => { if (!!myreject) { @@ -131,7 +131,7 @@ export class Promise implements IPromise { myapply = null; return null; }; - (catchexeutor).__last__ = true; + (catchexeutor as any).__last__ = true; for (let cnt = 0; cnt < promises.length; cnt++) { promises[cnt].then(thenexecutor); @@ -188,8 +188,8 @@ export class Promise implements IPromise { } finally(executorFunc: () => void): Promise { - if ((this).__reason__) { - (this).__reason__.finally(executorFunc); + if ((this as any).__reason__) { + (this as any).__reason__.finally(executorFunc); return; } diff --git a/api/src/client/typescript/mona_dish/Stream.ts b/api/src/client/typescript/mona_dish/Stream.ts index c601b179b2..650a30c6ea 100644 --- a/api/src/client/typescript/mona_dish/Stream.ts +++ b/api/src/client/typescript/mona_dish/Stream.ts @@ -685,7 +685,7 @@ export class LazyStream implements IStreamDataSource, IStream, IMonad(fn: StreamMapper | ArrayMapper): LazyStream { - return new LazyStream(new FlatMapStreamDataSource(fn, this)); + return new LazyStream(new FlatMapStreamDataSource(fn as any, this)); } //endpoint diff --git a/api/src/client/typescript/mona_dish/TagBuilder.ts b/api/src/client/typescript/mona_dish/TagBuilder.ts index 3ef23eb793..19a8665ec7 100644 --- a/api/src/client/typescript/mona_dish/TagBuilder.ts +++ b/api/src/client/typescript/mona_dish/TagBuilder.ts @@ -22,7 +22,7 @@ import {_global$} from "./Global"; if ("undefined" != typeof _global$) { (function () { - if (void 0 === _global$().Reflect || void 0 === _global$().customElements || (_global$().customElements).polyfillWrapFlushCallback) return; + if (void 0 === _global$().Reflect || void 0 === _global$().customElements || (_global$().customElements).polyfillWrapFlushCallback as any) return; const a = HTMLElement; _global$().HTMLElement = { HTMLElement: function HTMLElement() { @@ -132,14 +132,14 @@ export class TagBuilder { let applyCallback = (name: string) => { let outerCallback = this[name]; - let protoCallback = (this.clazz.prototype)[name]; + let protoCallback = (this.clazz.prototype as any)[name]; let finalCallback = outerCallback || protoCallback; if (finalCallback) { - (this.clazz.prototype)[name] = function () { + (this.clazz.prototype as any)[name] = function () { if(outerCallback) { finalCallback.apply(DomQuery.byId(this)); } else { - protoCallback.apply(this); + protoCallback.apply(this as any); } } } @@ -164,7 +164,7 @@ export class TagBuilder { let _t_ = this; let applyCallback = (name: string, scope: any) => { if (_t_[name]) { - _t_[name].apply(DomQuery.byId(scope)); + _t_[name].apply(DomQuery.byId(scope) as any); } }; diff --git a/api/src/client/typescript/mona_dish/XmlQuery.ts b/api/src/client/typescript/mona_dish/XmlQuery.ts index 280a2797f2..e2017e317c 100644 --- a/api/src/client/typescript/mona_dish/XmlQuery.ts +++ b/api/src/client/typescript/mona_dish/XmlQuery.ts @@ -17,7 +17,7 @@ import {Lang} from "./Lang"; import {DomQuery} from "./DomQuery"; -import isString = Lang.isString; +const isString = Lang.isString; import {_global$} from "./Global"; declare let ActiveXObject: any; From 17b57ff7d66b6a56cec0ae301696482e55577f36 Mon Sep 17 00:00:00 2001 From: werpu Date: Tue, 23 Dec 2025 22:54:42 +0100 Subject: [PATCH 3/3] https://issues.apache.org/jira/browse/MYFACES-4736:fix for code under wrong license... moving up dependencies via audit --- api/src/client/package.json | 2 +- api/src/client/tsconfig-myfaces-test.json | 2 +- .../faces/test/frameworkBase/_ext/monadish/DomQueryTest.spec.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/api/src/client/package.json b/api/src/client/package.json index 3c4c77a1d2..c7334e0a83 100644 --- a/api/src/client/package.json +++ b/api/src/client/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "scripts": { "doc": "npx typedoc --tsconfig ./tsconfig-typedoc.json", - "test": "cross-env TS_NODE_PROJECT=./tsconfig-myfaces.json mocha", + "test": "cross-env TS_NODE_PROJECT=./tsconfig-myfaces-test.json mocha", "copy:npm-sources": "ts-node typescript/node_build/copysources.ts", "build:development": "webpack --mode development --env FILE_NAME=faces-development ", "build:production": "webpack --mode production --env FILE_NAME=faces", diff --git a/api/src/client/tsconfig-myfaces-test.json b/api/src/client/tsconfig-myfaces-test.json index f5fc13f122..1ad37db42a 100644 --- a/api/src/client/tsconfig-myfaces-test.json +++ b/api/src/client/tsconfig-myfaces-test.json @@ -42,7 +42,7 @@ "./typescript/faces/@types/" ], "paths": { - "mona-dish": ["./typescript/mona_dish/index_core.ts"] + "mona-dish": ["./typescript/mona_dish/index.ts"] } }, "exclude": [ diff --git a/api/src/client/typescript/faces/test/frameworkBase/_ext/monadish/DomQueryTest.spec.ts b/api/src/client/typescript/faces/test/frameworkBase/_ext/monadish/DomQueryTest.spec.ts index d6279a42ed..0b9d078952 100644 --- a/api/src/client/typescript/faces/test/frameworkBase/_ext/monadish/DomQueryTest.spec.ts +++ b/api/src/client/typescript/faces/test/frameworkBase/_ext/monadish/DomQueryTest.spec.ts @@ -17,7 +17,7 @@ import {expect} from 'chai'; import {describe, it} from 'mocha'; import {from} from "rxjs"; -import {ArrayCollector, Config, DomQuery, DomQueryCollector, Lang, LazyStream, Stream} from "mona-dish/dist/js/umd"; +import {ArrayCollector, Config, DomQuery, DomQueryCollector, Lang, LazyStream, Stream} from "mona-dish"; import {tobagoSheetWithHeader} from "./markups/tobago-with-header"; import {tobagoSheetWithoutHeader} from "./markups/tobago-without-header";