diff --git a/examples/ui5-js-app/webapp/test/e2e/allControls.test.js b/examples/ui5-js-app/webapp/test/e2e/allControls.test.js index 7c7e3885..9ad70536 100644 --- a/examples/ui5-js-app/webapp/test/e2e/allControls.test.js +++ b/examples/ui5-js-app/webapp/test/e2e/allControls.test.js @@ -42,4 +42,35 @@ describe("ui5 basic, get all buttons", () => { const webButton = await buttons[0].getWebElement() expect(webButton).toBeTruthy() }) + + it("press() with interaction selector on specific control from allControls", async () => { + // This test verifies the fix for the issue where press() with interaction selector + // always pressed the first control instead of the specific one + const buttonSelector = { + forceSelect: true, + selector: { + controlType: "sap.m.Button", + viewName: "test.Sample.view.Main", + interaction: "press" + } + } + + const buttons = await browser.allControls(buttonSelector) + expect(buttons.length).toBeGreaterThan(1) + + // Get the text of the second button before pressing + const secondButtonText = await buttons[1].getText() + expect(secondButtonText).toBeTruthy() + + // Press the second button using the interaction selector + // This should NOT press the first button + await buttons[1].press() + + // Verify we didn't navigate (which would happen if first button was pressed) + // The first button is "to Other view" which navigates away + const currentHash = await browser.getUrl() + // If the fix works correctly, we should still be on the main view + // because we pressed a different button, not the navigation one + expect(currentHash).toContain("Main") + }) }) diff --git a/package-lock.json b/package-lock.json index 07c66ded..5ce53d5b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -142,6 +142,7 @@ "integrity": "sha512-PuvK6xZzGhKPvlx3fpfdM2kYY3P/hB1URtK8wA7XUJ6prn6pp22zvJHu48th0SGcHL9SutbPHrFuQgfXTFobWA==", "dev": true, "license": "Apache-2.0", + "peer": true, "dependencies": { "debug": "4.3.4", "extract-zip": "2.0.1", @@ -163,7 +164,6 @@ "resolved": "https://registry.npmjs.org/@sap/cds/-/cds-9.6.2.tgz", "integrity": "sha512-BBn2k3fZFfOC8Qmgo/kC9Sjs7ClhtVjf480++LmY/vtthfuybnLA2g4SdisTbCBVePALN44JNA339wVfHCAPSw==", "license": "SEE LICENSE IN LICENSE", - "peer": true, "dependencies": { "@sap/cds-compiler": "^6.3", "@sap/cds-fiori": "^2", @@ -206,6 +206,7 @@ "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=14.16" }, @@ -219,6 +220,7 @@ "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "defer-to-connect": "^2.0.1" }, @@ -232,6 +234,7 @@ "integrity": "sha512-HfF8+mYcHPcPypui3w3mvzuIErlNOh2OAG+BCeBZCEwyiD5ls2SiCwEyT47OELtf7M3nHxBdu0FsmzdKxkN52Q==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -242,6 +245,7 @@ "integrity": "sha512-WrNPCqm22vuNimGJc8UCc6duEcvOy2foY5I8mv2AUaoTtvCZOfVGRrFnPreypOKVdZChubFCaWrKVNqjgMK5RA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@wdio/logger": "8.38.0", "@wdio/types": "8.41.0", @@ -276,7 +280,8 @@ "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-8.44.0.tgz", "integrity": "sha512-Do+AW3xuDUHWkrX++LeMBSrX2yRILlDqunRHPMv4adGFEA45m7r4WP8wGCDb+chrHGhXq5TwB9Ne4J7x1dHGng==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "examples/cap-bookshop-wdi5/node_modules/@wdio/repl": { "version": "8.40.3", @@ -284,6 +289,7 @@ "integrity": "sha512-mWEiBbaC7CgxvSd2/ozpbZWebnRIc8KRu/J81Hlw/txUWio27S7IpXBlZGVvhEsNzq0+cuxB/8gDkkXvMPbesw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/node": "^22.2.0" }, @@ -297,6 +303,7 @@ "integrity": "sha512-t4NaNTvJZci3Xv/yUZPH4eTL0hxrVTf5wdwNnYIBrzMnlRDbNefjQ0P7FM7ZjQCLaH92AEH6t/XanUId7Webug==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/node": "^22.2.0" }, @@ -310,6 +317,7 @@ "integrity": "sha512-C94kJjZhEfPUNbOA69BQr1SgziQYgjNXK8S1GJXQKuwxN/24PQkYCzeBqXstfxyTXyOwoQCcEZAQ/qJccboufQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@puppeteer/browsers": "^1.6.0", "@wdio/logger": "8.38.0", @@ -335,6 +343,7 @@ "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">= 14" } @@ -345,6 +354,7 @@ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "balanced-match": "^1.0.0" } @@ -355,6 +365,7 @@ "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=14.16" } @@ -365,6 +376,7 @@ "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/http-cache-semantics": "^4.0.2", "get-stream": "^6.0.1", @@ -384,6 +396,7 @@ "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">= 12" } @@ -394,6 +407,7 @@ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ms": "2.1.2" }, @@ -412,6 +426,7 @@ "integrity": "sha512-eS8dRJOckyo9maw9Tu5O5RUi/4inFLrnoLkBe3cPfDMx3WZioXtmOew4TXQaxq7Rhl4xjDtR7c6x8nNTxOvbFw==", "dev": true, "license": "BSD-3-Clause", + "peer": true, "engines": { "node": ">=16.0.0" } @@ -423,6 +438,7 @@ "dev": true, "hasInstallScript": true, "license": "MIT", + "peer": true, "dependencies": { "@wdio/logger": "^8.38.0", "@zip.js/zip.js": "^2.7.48", @@ -448,6 +464,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "strnum": "^1.1.1" }, @@ -477,6 +494,7 @@ "dev": true, "hasInstallScript": true, "license": "MPL-2.0", + "peer": true, "dependencies": { "@wdio/logger": "^8.11.0", "decamelize": "^6.0.0", @@ -500,6 +518,7 @@ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=10" }, @@ -513,6 +532,7 @@ "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@sindresorhus/is": "^5.2.0", "@szmarczak/http-timer": "^5.0.1", @@ -539,6 +559,7 @@ "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" @@ -553,6 +574,7 @@ "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "quick-lru": "^5.1.1", "resolve-alpn": "^1.2.0" @@ -567,6 +589,7 @@ "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "agent-base": "^7.1.2", "debug": "4" @@ -581,6 +604,7 @@ "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", "dev": true, "license": "ISC", + "peer": true, "engines": { "node": ">=16" } @@ -604,6 +628,7 @@ "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -617,6 +642,7 @@ "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "dev": true, "license": "ISC", + "peer": true, "engines": { "node": ">=12" } @@ -627,6 +653,7 @@ "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -640,6 +667,7 @@ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "license": "ISC", + "peer": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -655,7 +683,8 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "examples/cap-bookshop-wdi5/node_modules/node-fetch": { "version": "3.3.2", @@ -663,6 +692,7 @@ "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", @@ -682,6 +712,7 @@ "integrity": "sha512-JYc0DPlpGWB40kH5g07gGTrYuMqV653k3uBKY6uITPWds3M0ov3GaWGp9lbE3Bzngx8+XkfzgvASb9vk9JDFXQ==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=14.16" }, @@ -695,6 +726,7 @@ "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12.20" } @@ -705,6 +737,7 @@ "integrity": "sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "agent-base": "^7.0.2", "debug": "^4.3.4", @@ -725,6 +758,7 @@ "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "lowercase-keys": "^3.0.0" }, @@ -740,7 +774,8 @@ "resolved": "https://registry.npmjs.org/safaridriver/-/safaridriver-0.1.2.tgz", "integrity": "sha512-4R309+gWflJktzPXBQCobbWEHlzC4aK3a+Ov3tz2Ib2aBxiwd11phkdIBH1l0EO22x24CJMUQkpKFumRriCSRg==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "examples/cap-bookshop-wdi5/node_modules/serialize-error": { "version": "11.0.3", @@ -748,6 +783,7 @@ "integrity": "sha512-2G2y++21dhj2R7iHAdd0FIzjGwuKZld+7Pl/bTU6YIkrC2ZMbVUjm+luj6A6V34Rv9XfKJDKpTWu9W4Gse1D9g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "type-fest": "^2.12.2" }, @@ -769,7 +805,8 @@ "url": "https://github.com/sponsors/NaturalIntelligence" } ], - "license": "MIT" + "license": "MIT", + "peer": true }, "examples/cap-bookshop-wdi5/node_modules/tar-fs": { "version": "3.0.4", @@ -777,6 +814,7 @@ "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", @@ -789,6 +827,7 @@ "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", @@ -801,6 +840,7 @@ "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", "dev": true, "license": "(MIT OR CC0-1.0)", + "peer": true, "engines": { "node": ">=12.20" }, @@ -813,7 +853,8 @@ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "examples/cap-bookshop-wdi5/node_modules/universalify": { "version": "2.0.1", @@ -863,6 +904,7 @@ "integrity": "sha512-ucb+ow6QHTBBDAdpV1AAKPY+un2cv23QU/rsSJBmuDZi8lZc5NluWz16qVVbdD1+Hn45PXfpxQcBaAkavStORA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/node": "^22.2.0", "@types/ws": "^8.5.3", @@ -932,6 +974,7 @@ "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", "dev": true, "license": "ISC", + "peer": true, "dependencies": { "isexe": "^3.1.1" }, @@ -948,6 +991,7 @@ "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=10.0.0" }, @@ -1113,7 +1157,6 @@ "integrity": "sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.28.6", "@babel/generator": "^7.28.6", @@ -3649,7 +3692,6 @@ "integrity": "sha512-6t3V7fFsLlyhLSj4FS+fPz22pPVcFhFZ3QOP7otFYmkhZ4g1ierj5pf7fxJWvEsI555hGatg+Iql6cqK93RFUg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@cucumber/messages": "<=25" } @@ -3812,7 +3854,6 @@ "integrity": "sha512-Kxap9uP5jD8tHUZVjTWgzxemi/0uOsbGjd4LBOSxcJoOCRbESFwemUzilJuzNTB8pcTQUh8D5oudUyxfkJOKmA==", "dev": true, "license": "MIT", - "peer": true, "peerDependencies": { "@cucumber/messages": ">=17.1.1" } @@ -3823,7 +3864,6 @@ "integrity": "sha512-DIxSg+ZGariumO+Lq6bn4kOUIUET83A4umrnWmidjGFl8XxkBieUZtsmNbLYgH/gnsmP07EfxxdTr0hOchV1Sg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/uuid": "10.0.0", "class-transformer": "0.5.1", @@ -3893,6 +3933,7 @@ "os": [ "aix" ], + "peer": true, "engines": { "node": ">=18" } @@ -3909,6 +3950,7 @@ "os": [ "android" ], + "peer": true, "engines": { "node": ">=18" } @@ -3925,6 +3967,7 @@ "os": [ "android" ], + "peer": true, "engines": { "node": ">=18" } @@ -3941,6 +3984,7 @@ "os": [ "android" ], + "peer": true, "engines": { "node": ">=18" } @@ -3957,6 +4001,7 @@ "os": [ "darwin" ], + "peer": true, "engines": { "node": ">=18" } @@ -3973,6 +4018,7 @@ "os": [ "darwin" ], + "peer": true, "engines": { "node": ">=18" } @@ -3989,6 +4035,7 @@ "os": [ "freebsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -4005,6 +4052,7 @@ "os": [ "freebsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -4021,6 +4069,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -4037,6 +4086,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -4053,6 +4103,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -4069,6 +4120,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -4085,6 +4137,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -4101,6 +4154,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -4117,6 +4171,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -4133,6 +4188,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -4149,6 +4205,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -4165,6 +4222,7 @@ "os": [ "netbsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -4181,6 +4239,7 @@ "os": [ "netbsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -4197,6 +4256,7 @@ "os": [ "openbsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -4213,6 +4273,7 @@ "os": [ "openbsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -4229,6 +4290,7 @@ "os": [ "openharmony" ], + "peer": true, "engines": { "node": ">=18" } @@ -4245,6 +4307,7 @@ "os": [ "sunos" ], + "peer": true, "engines": { "node": ">=18" } @@ -4261,6 +4324,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=18" } @@ -4277,6 +4341,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=18" } @@ -4293,6 +4358,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=18" } @@ -5206,7 +5272,6 @@ "integrity": "sha512-kQJMeH87+kWJdVw8F9GQhtsageqqxrvzg7yyOw3Tx/s7v5RToe8RnKyMM+kVtBJtNAG+Xyv/z01uYQ2jiZ3GwA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/core": "^0.14.0" @@ -5249,7 +5314,6 @@ "integrity": "sha512-YoYOrnVHeX3InfgbJawAU601iTZMwEBZkyqcP1V/S33Qnz9uzH1Uj1NtC6fNgWzvX6I4XbCWwtr4RrGFb5CFrw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.14.0" @@ -5264,7 +5328,6 @@ "integrity": "sha512-9WhZcofLrT0hgI7t0chf7iBQZib//0gJh9WcQMUt5+Q1Bk04dWs8vTgLNj61GBqZXgHSPzE4OpCrrLDBG8zlhQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.14.0" @@ -5293,7 +5356,6 @@ "integrity": "sha512-JJz512SAILYV0M5LzBb9sbOm/XEj2fGElMiHAxb7aLI6jx+n0agxtHpfpV/AePTLm1vzzDxx6AJxXbKv355hBQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.14.0", @@ -5343,7 +5405,6 @@ "integrity": "sha512-Ojtih+XIe6/XSGtpWtbAXBozhCdsDMmy+THUJAGu2x7ZgKrMS0JotN+vN2YC3nwDpYkM+yOJImQeptSfZb2Sug==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.14.0" @@ -5487,7 +5548,6 @@ "integrity": "sha512-qFeMOyXE/Bk6QXN0GQo89+CB2dQcXqoxUcDb2Ah8wdYlKqpi53skABkgVy5pW3EpiprDnzNDboMltdvDslNgLQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.14.0" @@ -5502,7 +5562,6 @@ "integrity": "sha512-aGaicts44bvpTcq5Dtf93/8TZFu5pMo/61lWWnYmwJJU1RqtQlxbCLEQpMyRhKDNSfPbuP8nyGmaqXlM/82J0Q==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.14.0" @@ -5520,7 +5579,6 @@ "integrity": "sha512-ZcJk0hxY5ZKZDDwflqQNHEGRblgaR+piePZm7dPwPUOSeYEH31P0AwZ1ziceR74zd8N80M0TMft+e3Td6KGBHw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.14.0" @@ -6250,7 +6308,6 @@ "integrity": "sha512-WPf+jHAHQ7ppNIRYgdrF64+e+6qMg7NHpEaFKk9avSbcRK50iV1I5mF4ZVALimMZleN66f0Atj9VHadikp1LGg==", "dev": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "@sap-ux/odata-annotation-core-types": "0.5.1", "@sap-ux/text-document-utils": "0.3.2" @@ -6262,7 +6319,6 @@ "integrity": "sha512-9Hh65kCyyr0kZNUqoRIK0fDjrEj09Fz7MdRGMIvhYOhtUGiM7hRb+ZYdEsTgS523A9LypEnxnMLEcQA8gj3hyA==", "dev": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "@sap-ux/text-document-utils": "0.3.2" } @@ -6290,7 +6346,6 @@ "integrity": "sha512-kXkFdbykDgUbWegUF+5YUoiUb5xCH+Zopg9lyK0GFJnTPVjfuaW7jndhBG+Et9ppHXO29KI3nf8NKAmaUq6pAA==", "dev": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "@sap-ux/i18n": "0.3.5", "@sap-ux/ui5-config": "0.29.10", @@ -6701,6 +6756,7 @@ "version": "9.39.2", "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", "license": "MIT", + "peer": true, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -6712,7 +6768,6 @@ "version": "9.6.2", "integrity": "sha512-BBn2k3fZFfOC8Qmgo/kC9Sjs7ClhtVjf480++LmY/vtthfuybnLA2g4SdisTbCBVePALN44JNA339wVfHCAPSw==", "license": "SEE LICENSE IN LICENSE", - "peer": true, "dependencies": { "@sap/cds-compiler": "^6.3", "@sap/cds-fiori": "^2", @@ -7593,7 +7648,6 @@ "version": "2.26.4", "integrity": "sha512-v0uIr9mD9iw2Ws+H6+iLNO6W+uIqeXwt8Mwe1c0CZQOn1Sk631Uy4zgdz1wOz4IY3WgxdVjBAYWZ9AS8A/dLIQ==", "license": "Apache-2.0", - "peer": true, "dependencies": { "iconv-lite": "0.7.0" }, @@ -8940,7 +8994,6 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.7.tgz", "integrity": "sha512-C/er7DlIZgRJO7WtTdYovjIFzGsz0I95UlMyR9anTb4aCpBSRWe5Jc1/RvLKUfzmOxHPGjSE5+63HgLtndxU4w==", "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~7.16.0" } @@ -9109,7 +9162,6 @@ "integrity": "sha512-npiaib8XzbjtzS2N4HlqPvlpxpmZ14FjSJrteZpPxGUaYPlvhzlzUZ4mZyABo0EFrOWnvyd0Xxroq//hKhtAWg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.53.0", "@typescript-eslint/types": "8.53.0", @@ -9859,7 +9911,6 @@ "version": "14.1.2", "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz", "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==", - "peer": true, "dependencies": { "@types/linkify-it": "^5", "@types/mdurl": "^2" @@ -9879,7 +9930,6 @@ "version": "4.1.3", "resolved": "https://registry.npmjs.org/@ui5/builder/-/builder-4.1.3.tgz", "integrity": "sha512-ScwlLZ/xyFjFOVpK1t3KfXq2i6N5iVuHW1ymWMPLdU7Qu8JFLkIWFWaLN9+rUE0pTGtewFzST+Zhk9cS0GfeRg==", - "peer": true, "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5", "@ui5/fs": "^4.0.3", @@ -10038,7 +10088,6 @@ "version": "8.15.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -10066,7 +10115,6 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -13404,7 +13452,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "peer": true, "engines": { "node": ">=12" }, @@ -14935,7 +14982,6 @@ "resolved": "https://registry.npmjs.org/@wdio/browserstack-service/-/browserstack-service-9.23.0.tgz", "integrity": "sha512-V/NUVDm28hGjL59ub5nNtPElM3hhN+WWdVn42eTvq9VCPYwGXbGfsBt2atYMGk8sH6xnMucpVoXZbuLkhN5J+A==", "license": "MIT", - "peer": true, "dependencies": { "@browserstack/ai-sdk-node": "1.5.17", "@browserstack/wdio-browserstack-service": "^2.0.0", @@ -14983,7 +15029,6 @@ "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-9.23.0.tgz", "integrity": "sha512-jVuyZ84Ino6akBlmf38/bc1Ji+DI3NoGvWATQXhKaDmmF7tAhSdlUXK3VV970GfVKvGe1ARPaGtTf8L2lbRDSw==", "license": "MIT", - "peer": true, "dependencies": { "@vitest/snapshot": "^2.1.1", "@wdio/config": "9.23.0", @@ -15116,7 +15161,6 @@ "resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-9.23.0.tgz", "integrity": "sha512-OmwPKV8c5ecLqo+EkytN7oUeYfNmRI4uOXGIR1ybP7AK5Zz+l9R0dGfoadEuwi1aZXAL0vwuhtq3p0OL3dfqHQ==", "license": "MIT", - "peer": true, "engines": { "node": ">=18.20.0" }, @@ -15138,7 +15182,6 @@ "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-9.23.0.tgz", "integrity": "sha512-kBWIqBDbCAJuxENl4t1qiCf8mivHN++cNdgsmlkP8nG7KJ8ebCseqsBHTrvx/YAqRPZIBD50cN6xsB6MZTmUfg==", "license": "MIT", - "peer": true, "dependencies": { "@types/node": "^20.1.0", "@wdio/logger": "9.18.0", @@ -15175,7 +15218,6 @@ "resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-9.18.0.tgz", "integrity": "sha512-HdzDrRs+ywAqbXGKqe1i/bLtCv47plz4TvsHFH3j729OooT5VH38ctFn5aLXgECmiAKDkmH/A6kOq2Zh5DIxww==", "license": "MIT", - "peer": true, "dependencies": { "chalk": "^5.1.2", "loglevel": "^1.6.0", @@ -15192,7 +15234,6 @@ "resolved": "https://registry.npmjs.org/@wdio/mocha-framework/-/mocha-framework-9.23.0.tgz", "integrity": "sha512-1Lg8MCLNvs4a1pwz6WzWDPS44mxdAJQCw19DqWuEI8b406HtdIcPoc6sBsqkXVW8aNxMkqvTf87aMeLBFFbaYA==", "license": "MIT", - "peer": true, "dependencies": { "@types/mocha": "^10.0.6", "@types/node": "^20.11.28", @@ -15621,7 +15662,6 @@ "resolved": "https://registry.npmjs.org/@wdio/sauce-service/-/sauce-service-9.23.0.tgz", "integrity": "sha512-gN1QVKG7vKKNmXAxKW3mqXbSajY2CSevRdocJbt4ca4P+sQymshNtHWd6JRwko4WAXeMW/KwFgm4CXqCPgbvIQ==", "license": "MIT", - "peer": true, "dependencies": { "@wdio/logger": "9.18.0", "@wdio/types": "9.20.0", @@ -15638,7 +15678,6 @@ "resolved": "https://registry.npmjs.org/@wdio/spec-reporter/-/spec-reporter-9.20.0.tgz", "integrity": "sha512-YHj3kF86RoOVVR+k3eb+e/Fki6Mq1FIrJQ380Cz5SSWbIc9gL8HXG3ydReldY6/80KLFOuHn9ZHvDHrCIXRjiw==", "license": "MIT", - "peer": true, "dependencies": { "@wdio/reporter": "9.20.0", "@wdio/types": "9.20.0", @@ -15817,7 +15856,6 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -16294,7 +16332,6 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-1.12.2.tgz", "integrity": "sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==", "license": "MIT", - "peer": true, "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.4", @@ -16616,6 +16653,7 @@ "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", "dev": true, "license": "Unlicense", + "peer": true, "engines": { "node": ">=0.6" } @@ -16720,7 +16758,8 @@ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/bmp-js": { "version": "0.1.0", @@ -16977,7 +17016,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -17097,6 +17135,7 @@ "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=0.10" } @@ -17355,7 +17394,6 @@ "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "assertion-error": "^2.0.1", "check-error": "^2.1.1", @@ -17554,6 +17592,7 @@ "integrity": "sha512-blqh+1cEQbHBKmok3rVJkBlBxt9beKBgOsxbFgs7UJcoVbbeZ+K7+6liAsjgpc8l1Xd55cQUy14fXZdGSb4zIw==", "devOptional": true, "license": "Apache-2.0", + "peer": true, "dependencies": { "mitt": "3.0.1", "urlpattern-polyfill": "10.0.0" @@ -17567,7 +17606,8 @@ "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.0.0.tgz", "integrity": "sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==", "devOptional": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/ci-info": { "version": "4.3.1", @@ -19780,7 +19820,6 @@ "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", @@ -19950,6 +19989,7 @@ "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "node-fetch": "^2.6.12" } @@ -20228,6 +20268,7 @@ "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "license": "MIT", "optional": true, + "peer": true, "dependencies": { "clone": "^1.0.2" }, @@ -20241,6 +20282,7 @@ "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", "license": "MIT", "optional": true, + "peer": true, "engines": { "node": ">=0.8" } @@ -20976,6 +21018,7 @@ "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", "dev": true, "license": "BSD-3-Clause", + "peer": true, "dependencies": { "readable-stream": "^2.0.2" } @@ -20985,7 +21028,8 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/duplexer2/node_modules/readable-stream": { "version": "2.3.8", @@ -20993,6 +21037,7 @@ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -21008,7 +21053,8 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/duplexer2/node_modules/string_decoder": { "version": "1.1.1", @@ -21016,6 +21062,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "safe-buffer": "~5.1.0" } @@ -21467,7 +21514,6 @@ "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -21969,7 +22015,6 @@ "resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-5.6.1.tgz", "integrity": "sha512-gQHqfI6SmtYBIkTeMizpHThdpXh6ej2Hk68oKZneFM6iu99ZGXvOPnmhd8VDus3xOWhVDDdf4sLsMV2/o+X6Yg==", "license": "MIT", - "peer": true, "dependencies": { "@vitest/snapshot": "^4.0.16", "deep-eql": "^5.0.2", @@ -22415,6 +22460,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "node-domexception": "^1.0.0", "web-streams-polyfill": "^3.0.3" @@ -22429,6 +22475,7 @@ "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">= 8" } @@ -22803,6 +22850,7 @@ "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">= 14.17" } @@ -22826,6 +22874,7 @@ "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "fetch-blob": "^3.1.2" }, @@ -22935,6 +22984,7 @@ "deprecated": "This package is no longer supported.", "dev": true, "license": "ISC", + "peer": true, "dependencies": { "graceful-fs": "^4.1.2", "inherits": "~2.0.0", @@ -22952,6 +23002,7 @@ "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "license": "ISC", + "peer": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -22974,6 +23025,7 @@ "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "license": "ISC", + "peer": true, "dependencies": { "glob": "^7.1.3" }, @@ -25638,6 +25690,7 @@ "integrity": "sha512-CasD9OCEQSFIam2U8efFK81Yeg8vNMTBUqtMOHlrcWQHqUX3HeCl9Dr31u4toV7emlH8Mymk5+9p0lL6mKb/Xw==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=14.16" }, @@ -25776,7 +25829,8 @@ "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", "integrity": "sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==", "dev": true, - "license": "ISC" + "license": "ISC", + "peer": true }, "node_modules/listr2": { "version": "9.0.5", @@ -28830,6 +28884,7 @@ "integrity": "sha512-ArbnyA3U5SGHokEvkfWjW+O8hOxV1RSJxOgriX/3A4xZRqixt9ZFHD0yPgZQF05Qj0oAqi8H/7stDorjoHY90Q==", "devOptional": true, "license": "Apache-2.0", + "peer": true, "dependencies": { "@puppeteer/browsers": "1.9.1", "chromium-bidi": "0.5.8", @@ -28848,6 +28903,7 @@ "integrity": "sha512-PuvK6xZzGhKPvlx3fpfdM2kYY3P/hB1URtK8wA7XUJ6prn6pp22zvJHu48th0SGcHL9SutbPHrFuQgfXTFobWA==", "devOptional": true, "license": "Apache-2.0", + "peer": true, "dependencies": { "debug": "4.3.4", "extract-zip": "2.0.1", @@ -28870,6 +28926,7 @@ "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "devOptional": true, "license": "MIT", + "peer": true, "engines": { "node": ">= 14" } @@ -28880,6 +28937,7 @@ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "ms": "2.1.2" }, @@ -28897,7 +28955,8 @@ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1232444.tgz", "integrity": "sha512-pM27vqEfxSxRkTMnF+XCmxSEb6duO5R+t8A9DEEJgy4Wz2RVanje2mmj99B6A3zv2r/qGfYlOvYznUhuokizmg==", "devOptional": true, - "license": "BSD-3-Clause" + "license": "BSD-3-Clause", + "peer": true }, "node_modules/puppeteer-core/node_modules/http-proxy-agent": { "version": "7.0.2", @@ -28905,6 +28964,7 @@ "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" @@ -28919,6 +28979,7 @@ "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "agent-base": "^7.1.2", "debug": "4" @@ -28933,6 +28994,7 @@ "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "devOptional": true, "license": "ISC", + "peer": true, "engines": { "node": ">=12" } @@ -28942,7 +29004,8 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "devOptional": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/puppeteer-core/node_modules/proxy-agent": { "version": "6.3.1", @@ -28950,6 +29013,7 @@ "integrity": "sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==", "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "agent-base": "^7.0.2", "debug": "^4.3.4", @@ -28970,6 +29034,7 @@ "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", @@ -28982,6 +29047,7 @@ "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", @@ -28994,6 +29060,7 @@ "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", "devOptional": true, "license": "MIT", + "peer": true, "engines": { "node": ">=10.0.0" }, @@ -29174,7 +29241,6 @@ "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -31931,7 +31997,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -32014,7 +32079,6 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "license": "BSD-3-Clause", - "peer": true, "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -32283,7 +32347,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -32564,6 +32627,7 @@ "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "buffer": "^5.2.1", "through": "^2.3.8" @@ -32589,6 +32653,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -32599,7 +32664,6 @@ "resolved": "https://registry.npmjs.org/undici/-/undici-6.23.0.tgz", "integrity": "sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==", "license": "MIT", - "peer": true, "engines": { "node": ">=18.17" } @@ -32716,6 +32780,7 @@ "integrity": "sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "big-integer": "^1.6.17", "binary": "~0.3.0", @@ -32734,7 +32799,8 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/unzipper/node_modules/readable-stream": { "version": "2.3.8", @@ -32742,6 +32808,7 @@ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -32757,7 +32824,8 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/unzipper/node_modules/string_decoder": { "version": "1.1.1", @@ -32765,6 +32833,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "safe-buffer": "~5.1.0" } @@ -33195,6 +33264,7 @@ "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", "license": "MIT", "optional": true, + "peer": true, "dependencies": { "defaults": "^1.0.3" } @@ -33422,7 +33492,6 @@ "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-9.23.0.tgz", "integrity": "sha512-Y5y4jpwHvuduUfup+gXTuCU6AROn/k6qOba3st0laFluKHY+q5SHOpQAJdS8acYLwE8caDQ2dXJhmXyxuJrm0Q==", "license": "MIT", - "peer": true, "dependencies": { "@types/node": "^20.11.30", "@types/sinonjs__fake-timers": "^8.1.5", diff --git a/src/lib/wdi5-control.ts b/src/lib/wdi5-control.ts index 875d190d..3e89c740 100644 --- a/src/lib/wdi5-control.ts +++ b/src/lib/wdi5-control.ts @@ -190,22 +190,30 @@ export class WDI5Control { async enterText(text: string) { let selector: wdi5ControlSelector let logging: boolean + let domId: string if (util.types.isProxy(this._controlSelector)) { const _controlSelector = await Promise.resolve(this._controlSelector) selector = await Promise.resolve(_controlSelector?.selector) logging = await Promise.resolve(this._logging) + domId = await Promise.resolve(this._domId) } else { selector = this._controlSelector?.selector logging = this._logging + domId = this._domId } const oOptions: InteractWithControlOptions = { enterText: text, - selector, + selector: structuredClone(selector), // @ts-expect-error: Property 'clearTextFirst' does not exist on type 'RecordReplay.InteractWithControlOptions'. clearTextFirst: true, // @ts-expect-error: Property 'ENTER_TEXT' does not exist on type 'RecordReplay.InteractionType'. interactionType: "ENTER_TEXT" } + // Add the specific control's id to ensure we target the correct control + // This is crucial when using allControls to avoid always interacting with the first control + if (domId) { + oOptions.selector.id = domId + } try { await this._interactWithControl(oOptions) } catch (error) { @@ -225,15 +233,18 @@ export class WDI5Control { let className let controlSelector let logging + let domId if (util.types.isProxy(this._domId)) { const _controlInfo = await Promise.resolve(this._metadata) className = _controlInfo.className controlSelector = await Promise.resolve(this._controlSelector) logging = await Promise.resolve(this._logging) + domId = await Promise.resolve(this._domId) } else { className = this.getControlInfo().className controlSelector = this._controlSelector logging = this._logging + domId = this._domId } // when the interaction locator is existing we want to use the RecordReplay press (interactWithControl) @@ -242,10 +253,15 @@ export class WDI5Control { Logger.info(`using OPA5 Press action to interact with this ${className}...`) } const oOptions: InteractWithControlOptions = { - selector: controlSelector.selector, + selector: structuredClone(controlSelector.selector), // @ts-expect-error: Property 'PRESS' does not exist on type 'RecordReplay.InteractionType'. interactionType: "PRESS" } + // Add the specific control's id to ensure we target the correct control + // This is crucial when using allControls to avoid always interacting with the first control + if (domId) { + oOptions.selector.id = domId + } try { await this._interactWithControl(oOptions) } catch (error) {