From b95961062d8c722037294f9b026b756887709c65 Mon Sep 17 00:00:00 2001 From: Samuel Freiberg Date: Mon, 9 Jan 2023 15:20:50 -0700 Subject: [PATCH 1/9] Adding resolutions to specific packages with security vulnerabilities --- tester_deps/package.json | 8 +- tester_deps/yarn.lock | 359 ++++++++++++++++++--------------------- 2 files changed, 175 insertions(+), 192 deletions(-) diff --git a/tester_deps/package.json b/tester_deps/package.json index bb6deda826..1e96ece693 100644 --- a/tester_deps/package.json +++ b/tester_deps/package.json @@ -29,6 +29,12 @@ "wdio-json-reporter": "3.0.0" }, "resolutions": { - "@appium/types": "0.5.0" + "@appium/types": "0.5.0", + "wdio-json-reporter/jest-matchers/jest-message-util/micromatch/parse-glob/glob-base/glob-parent": "5.1.2", + "wdio-json-reporter/jest-matchers/jest-message-util/micromatch/braces": "^3.0.2" + }, + "resolutions.justifications": { + "wdio-json-reporter/jest-matchers/jest-message-util/micromatch/parse-glob/glob-base/glob-parent": "There is a security risk associated with this package version (it's a very outdated packaged, 2.0.0). Therefore, we are forcing an upgrade to the patched version.", + "wdio-json-reporter/jest-matchers/jest-message-util/micromatch/braces": "There is a security risk associated with this package version (it's a very outdated packaged, 1.8.2). Therefore, we are forcing an upgrade to the patched version." } } diff --git a/tester_deps/yarn.lock b/tester_deps/yarn.lock index 9bebbea7e9..e009237f6f 100644 --- a/tester_deps/yarn.lock +++ b/tester_deps/yarn.lock @@ -182,9 +182,9 @@ js-tokens "^4.0.0" "@babel/parser@^7.9.4": - version "7.20.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.3.tgz#5358cf62e380cf69efcb87a7bb922ff88bfac6e2" - integrity sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b" + integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg== "@babel/runtime@7.18.9": version "7.18.9" @@ -201,11 +201,11 @@ regenerator-runtime "^0.13.4" "@babel/runtime@^7.0.0", "@babel/runtime@^7.7.2": - version "7.20.1" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.1.tgz#1148bb33ab252b165a06698fde7576092a78b4a9" - integrity sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd" + integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ== dependencies: - regenerator-runtime "^0.13.10" + regenerator-runtime "^0.13.11" "@colors/colors@1.5.0": version "1.5.0" @@ -581,9 +581,9 @@ integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== "@sinonjs/commons@^1.6.0", "@sinonjs/commons@^1.7.0", "@sinonjs/commons@^1.8.3": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.5.tgz#e280c94c95f206dcfd5aca00a43f2156b758c764" - integrity sha512-rTpCA0wG1wUxglBSFdMMY0oTrKYvgf4fNgv/sXbfCVAdf+FnPBdKJR/7XbpTCwbCrvCbdPYnlWaUUYz4V2fPDA== + version "1.8.6" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" + integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== dependencies: type-detect "4.0.8" @@ -594,12 +594,12 @@ dependencies: type-detect "4.0.8" -"@sinonjs/fake-timers@^7.0.4": - version "7.1.2" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz#2524eae70c4910edccf99b2f4e6efc5894aff7b5" - integrity sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg== +"@sinonjs/fake-timers@^10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz#d10549ed1f423d80639c528b6c7f5a1017747d0c" + integrity sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw== dependencies: - "@sinonjs/commons" "^1.7.0" + "@sinonjs/commons" "^2.0.0" "@sinonjs/fake-timers@^9.1.2": version "9.1.2" @@ -683,11 +683,16 @@ resolved "https://registry.yarnpkg.com/@types/bluebird/-/bluebird-3.5.36.tgz#00d9301d4dc35c2f6465a8aec634bb533674c652" integrity sha512-HBNx4lhkxN7bx6P0++W8E289foSu8kO8GCk2unhuVggO+cE7rh9DhZUyPhUxNRG9m+5B5BTKxZQ5ZP92x/mx9Q== -"@types/bluebird@3.5.37", "@types/bluebird@^3.5.37": +"@types/bluebird@3.5.37": version "3.5.37" resolved "https://registry.yarnpkg.com/@types/bluebird/-/bluebird-3.5.37.tgz#b99e5c7fe382c2c6d5252dc99d9fba6810fedbeb" integrity sha512-g2qEd+zkfkTEudA2SrMAeAvY7CrFqtbsLILm2dT2VIeKTqMqVzcdfURlvu6FU3srRgbmXN1Srm94pg34EIehww== +"@types/bluebird@^3.5.37": + version "3.5.38" + resolved "https://registry.yarnpkg.com/@types/bluebird/-/bluebird-3.5.38.tgz#7a671e66750ccd21c9fc9d264d0e1e5330bc9908" + integrity sha512-yR/Kxc0dd4FfwtEoLZMoqJbM/VE/W7hXn/MIjb+axcwag0iFmSPK7OBUZq1YWLynJUoWQkfUrI7T0HDqGApNSg== + "@types/body-parser@*": version "1.19.2" resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" @@ -730,16 +735,26 @@ resolved "https://registry.yarnpkg.com/@types/ejs/-/ejs-3.1.1.tgz#29c539826376a65e7f7d672d51301f37ed718f6d" integrity sha512-RQul5wEfY7BjWm0sYY86cmUN/pcXWGyVxWX93DFFJvcrxax5zKlieLwA3T77xJGwNcZW0YW6CYG70p1m8xPFmA== -"@types/express-serve-static-core@^4.17.18": - version "4.17.31" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz#a1139efeab4e7323834bb0226e62ac019f474b2f" - integrity sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q== +"@types/express-serve-static-core@^4.17.18", "@types/express-serve-static-core@^4.17.31": + version "4.17.32" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.32.tgz#93dda387f5516af616d8d3f05f2c4c79d81e1b82" + integrity sha512-aI5h/VOkxOF2Z1saPy0Zsxs5avets/iaiAJYznQFm5By/pamU31xWKL//epiF4OfUA2qTOc9PV6tCUjhO8wlZA== dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" -"@types/express@*", "@types/express@4.17.14": +"@types/express@*": + version "4.17.15" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.15.tgz#9290e983ec8b054b65a5abccb610411953d417ff" + integrity sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.31" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/express@4.17.14": version "4.17.14" resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.14.tgz#143ea0557249bc1b3b54f15db4c81c3d4eb3569c" integrity sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg== @@ -873,9 +888,9 @@ "@types/lodash" "*" "@types/lodash@*": - version "4.14.189" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.189.tgz#975ff8c38da5ae58b751127b19ad5e44b5b7f6d2" - integrity sha512-kb9/98N6X8gyME9Cf7YaqIMvYGnBSWqEci6tiettE6iJWH1XdJz/PO8LB0GtLCG7x8dU3KWhZT+lA1a35127tA== + version "4.14.191" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.191.tgz#09511e7f7cba275acd8b419ddac8da9a6a79e2fa" + integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ== "@types/markdown-it@^12.2.3": version "12.2.3" @@ -920,9 +935,9 @@ "@types/node" "*" "@types/node@*", "@types/node@^18.0.0": - version "18.11.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.9.tgz#02d013de7058cea16d36168ef2fc653464cfbad4" - integrity sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg== + version "18.11.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f" + integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== "@types/node@16.9.1": version "16.9.1" @@ -972,9 +987,9 @@ integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== "@types/react-native@^0.68.0": - version "0.68.9" - resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.68.9.tgz#8ec2ef12c3d65222c06cf0e6d62a85cf82b34691" - integrity sha512-/1nbdoynVMjNsudurxHiEf9rSdviKAkV+pVgwpNk21v7gKJfzoHyT3nFunPuMoDgvvdZR5ofUrOJuCPbzF2GUw== + version "0.68.10" + resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.68.10.tgz#211b9e05d0f97c3f7239081634aa643bec85c6f9" + integrity sha512-BFmi9wERGJutVg0rgkS63gV2w8yPoug2PeF3SmeOkW3c5TbfFLI74iPpAMu/wxcJSnlEuwkMp6RXatZZe8fulg== dependencies: "@types/react" "^17" @@ -1113,9 +1128,9 @@ integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^17.0.8": - version "17.0.13" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.13.tgz#34cced675ca1b1d51fcf4d34c3c6f0fa142a5c76" - integrity sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg== + version "17.0.19" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.19.tgz#8dbecdc9ab48bee0cb74f6e3327de3fa0d0c98ae" + integrity sha512-cAx3qamwaYX9R0fzOIZAlFpo4A+1uBVCxqpKz9D26uTF4srRXaGTTsikQmaotCtNdbhzyUH7ft6p9ktz9s6UNQ== dependencies: "@types/yargs-parser" "*" @@ -1249,9 +1264,9 @@ supports-color "8.1.1" "@wdio/reporter@^7.16.3": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@wdio/reporter/-/reporter-7.26.0.tgz#26c0e7114a4c1e7b29a79e4d178e5312e04d7934" - integrity sha512-kEb7i1A4V4E1wJgdyvLsDbap4cEp1fPZslErGtbAbK+9HI8Lt/SlTZCiOpZbvhgzvawEqOV6UqxZT1RsL8wZWw== + version "7.29.1" + resolved "https://registry.yarnpkg.com/@wdio/reporter/-/reporter-7.29.1.tgz#7fc2e3b7aa3843172dcd97221c44257384cbbd27" + integrity sha512-mpusCpbw7RxnJSDu9qa1qv5IfEMCh7377y1Typ4J2TlMy+78CQzGZ8coEXjBxLcqijTUwcyyoLNI5yRSvbDExw== dependencies: "@types/diff" "^5.0.0" "@types/node" "^18.0.0" @@ -1366,9 +1381,9 @@ ajv@8.11.0: uri-js "^4.2.2" ajv@^8.0.0: - version "8.11.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.2.tgz#aecb20b50607acf2569b6382167b65a96008bb78" - integrity sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg== + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== dependencies: fast-deep-equal "^3.1.1" json-schema-traverse "^1.0.0" @@ -1422,9 +1437,9 @@ any-base@^1.1.0: integrity sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg== anymatch@~3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" @@ -1737,16 +1752,7 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" -braces@^1.8.2: - version "1.8.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" - integrity sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw== - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - -braces@^3.0.2, braces@~3.0.2: +braces@^1.8.2, braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -1922,9 +1928,9 @@ chrome-launcher@^0.15.0: lighthouse-logger "^1.0.0" ci-info@^3.2.0: - version "3.6.1" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.6.1.tgz#7594f1c95cb7fdfddee7af95a13af7dbc67afdcf" - integrity sha512-up5ggbaDqOqJ4UqLKZ2naVkyqSJQgJi5lwD6b6mM748ysrghDBX0bx/qJTUHzw7zu6Mq4gycviSF5hJnwceD8w== + version "3.7.1" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.7.1.tgz#708a6cdae38915d597afdf3b145f2f8e1ff55f3f" + integrity sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w== cli-cursor@^3.1.0: version "3.1.0" @@ -2174,16 +2180,18 @@ deep-eql@^3.0.1: type-detect "^4.0.0" deep-equal@^2.0.5: - version "2.1.0" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.1.0.tgz#5ba60402cf44ab92c2c07f3f3312c3d857a0e1dd" - integrity sha512-2pxgvWu3Alv1PoWEyVg7HS8YhGlUFUV7N5oOvfL6d+7xAmLSemMwv/c8Zv/i9KFzxV5Kt5CAvQc70fLwVuf4UA== + version "2.2.0" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.0.tgz#5caeace9c781028b9ff459f33b779346637c43e6" + integrity sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw== dependencies: call-bind "^1.0.2" es-get-iterator "^1.1.2" get-intrinsic "^1.1.3" is-arguments "^1.1.1" + is-array-buffer "^3.0.1" is-date-object "^1.0.5" is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" isarray "^2.0.5" object-is "^1.1.5" object-keys "^1.1.1" @@ -2192,7 +2200,7 @@ deep-equal@^2.0.5: side-channel "^1.0.4" which-boxed-primitive "^1.0.2" which-collection "^1.0.1" - which-typed-array "^1.1.8" + which-typed-array "^1.1.9" deepmerge@^4.0.0: version "4.2.2" @@ -2375,34 +2383,42 @@ error-ex@^1.2.0, error-ex@^1.3.1: is-arrayish "^0.2.1" es-abstract@^1.19.0, es-abstract@^1.20.4: - version "1.20.4" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.4.tgz#1d103f9f8d78d4cf0713edcd6d0ed1a46eed5861" - integrity sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA== + version "1.21.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.0.tgz#dd1b69ea5bfc3c27199c9753efd4de015102c252" + integrity sha512-GUGtW7eXQay0c+PRq0sGIKSdaBorfVqsCMhGHo4elP7YVqZu9nCZS4UkK4gv71gOWNMra/PaSKD3ao1oWExO0g== dependencies: call-bind "^1.0.2" + es-set-tostringtag "^2.0.0" es-to-primitive "^1.2.1" function-bind "^1.1.1" function.prototype.name "^1.1.5" get-intrinsic "^1.1.3" get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" has "^1.0.3" has-property-descriptors "^1.0.0" + has-proto "^1.0.1" has-symbols "^1.0.3" - internal-slot "^1.0.3" + internal-slot "^1.0.4" + is-array-buffer "^3.0.0" is-callable "^1.2.7" is-negative-zero "^2.0.2" is-regex "^1.1.4" is-shared-array-buffer "^1.0.2" is-string "^1.0.7" + is-typed-array "^1.1.10" is-weakref "^1.0.2" object-inspect "^1.12.2" object-keys "^1.1.1" object.assign "^4.1.4" regexp.prototype.flags "^1.4.3" safe-regex-test "^1.0.0" - string.prototype.trimend "^1.0.5" - string.prototype.trimstart "^1.0.5" + string.prototype.trimend "^1.0.6" + string.prototype.trimstart "^1.0.6" + typed-array-length "^1.0.4" unbox-primitive "^1.0.2" + which-typed-array "^1.1.9" es-get-iterator@^1.1.2: version "1.1.2" @@ -2418,6 +2434,15 @@ es-get-iterator@^1.1.2: is-string "^1.0.5" isarray "^2.0.5" +es-set-tostringtag@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" + integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + has-tostringtag "^1.0.0" + es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -2481,13 +2506,6 @@ expand-brackets@^0.1.4: dependencies: is-posix-bracket "^0.1.0" -expand-range@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" - integrity sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA== - dependencies: - fill-range "^2.1.0" - expect-webdriverio@^3.0.0: version "3.5.3" resolved "https://registry.yarnpkg.com/expect-webdriverio/-/expect-webdriverio-3.5.3.tgz#1f233de6f8abd76e1315f1e34d0a8cc5d34f28fc" @@ -2617,17 +2635,6 @@ filename-regex@^2.0.0: resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" integrity sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ== -fill-range@^2.1.0: - version "2.2.4" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" - integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q== - dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^3.0.0" - repeat-element "^1.1.2" - repeat-string "^1.5.2" - fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -2852,14 +2859,7 @@ glob-base@^0.3.0: glob-parent "^2.0.0" is-glob "^2.0.0" -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - integrity sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w== - dependencies: - is-glob "^2.0.0" - -glob-parent@~5.1.2: +glob-parent@5.1.2, glob-parent@^2.0.0, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -2920,6 +2920,13 @@ global@~4.4.0: min-document "^2.19.0" process "^0.11.10" +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + globule@^1.0.0: version "1.3.4" resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.4.tgz#7c11c43056055a75a6e68294453c17f2796170fb" @@ -2937,9 +2944,9 @@ gopd@^1.0.1: get-intrinsic "^1.1.3" got@^11.0.2, got@^11.8.1: - version "11.8.5" - resolved "https://registry.yarnpkg.com/got/-/got-11.8.5.tgz#ce77d045136de56e8f024bebb82ea349bc730046" - integrity sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ== + version "11.8.6" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a" + integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== dependencies: "@sindresorhus/is" "^4.0.0" "@szmarczak/http-timer" "^4.0.5" @@ -2992,6 +2999,11 @@ has-property-descriptors@^1.0.0: dependencies: get-intrinsic "^1.1.1" +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" @@ -3116,12 +3128,12 @@ inquirer@8.2.4: through "^2.3.6" wrap-ansi "^7.0.0" -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== +internal-slot@^1.0.3, internal-slot@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.4.tgz#8551e7baf74a7a6ba5f749cfb16aa60722f0d6f3" + integrity sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ== dependencies: - get-intrinsic "^1.1.0" + get-intrinsic "^1.1.3" has "^1.0.3" side-channel "^1.0.4" @@ -3138,6 +3150,15 @@ is-arguments@^1.1.0, is-arguments@^1.1.1: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-array-buffer@^3.0.0, is-array-buffer@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.1.tgz#deb1db4fcae48308d54ef2442706c0393997052a" + integrity sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-typed-array "^1.1.10" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -3279,18 +3300,6 @@ is-number-object@^1.0.4: dependencies: has-tostringtag "^1.0.0" -is-number@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - integrity sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg== - dependencies: - kind-of "^3.0.2" - -is-number@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" - integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== - is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -3345,7 +3354,7 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: dependencies: has-symbols "^1.0.2" -is-typed-array@^1.1.10: +is-typed-array@^1.1.10, is-typed-array@^1.1.9: version "1.1.10" resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== @@ -3398,28 +3407,21 @@ isarray@0.0.1: resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== -isarray@1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - isarray@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== - dependencies: - isarray "1.0.0" - jake@^10.8.5: version "10.8.5" resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46" @@ -3653,11 +3655,6 @@ kind-of@^3.0.2: dependencies: is-buffer "^1.1.5" -kind-of@^6.0.0: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - klaw@3.0.0, klaw@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/klaw/-/klaw-3.0.0.tgz#b11bec9cf2492f06756d6e809ab73a2910259146" @@ -3917,9 +3914,9 @@ map-obj@^1.0.0: integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== markdown-it-anchor@^8.4.1: - version "8.6.5" - resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-8.6.5.tgz#30c4bc5bbff327f15ce3c429010ec7ba75e7b5f8" - integrity sha512-PI1qEHHkTNWT+X6Ip9w+paonfIQ+QZP9sCeMYi47oqhH+EsW8CrJ8J7CzV19QVOj6il8ATGbK2nTECj22ZHGvQ== + version "8.6.6" + resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-8.6.6.tgz#4a12e358c9c2167ee28cb7a5f10e29d6f1ffd7ca" + integrity sha512-jRW30YGywD2ESXDc+l17AiritL0uVaSnWsb26f+68qaW9zgbIIr1f4v2Nsvc0+s0Z2N3uX6t/yAw7BwCQ1wMsA== markdown-it@^12.3.2: version "12.3.2" @@ -3933,20 +3930,15 @@ markdown-it@^12.3.2: uc.micro "^1.0.5" marked@^4.0.10: - version "4.2.2" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.2.2.tgz#1d2075ad6cdfe42e651ac221c32d949a26c0672a" - integrity sha512-JjBTFTAvuTgANXx82a5vzK9JLSMoV6V3LBVn4Uhdso6t7vXrGx7g1Cd2r6NYSsxrYbQGFCMqBDhFHyK5q2UvcQ== + version "4.2.5" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.2.5.tgz#979813dfc1252cc123a79b71b095759a32f42a5d" + integrity sha512-jPueVhumq7idETHkb203WDD4fMA3yV9emQ5vLwop58lu8bTclMghBWcYAavlDqIEMaisADinV1TooIFCfqOsYQ== marky@^1.2.2: version "1.2.5" resolved "https://registry.yarnpkg.com/marky/-/marky-1.2.5.tgz#55796b688cbd72390d2d399eaaf1832c9413e3c0" integrity sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q== -math-random@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c" - integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A== - mdurl@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" @@ -4051,9 +4043,9 @@ min-document@^2.19.0: brace-expansion "^1.1.7" minimatch@^5.0.0, minimatch@^5.0.1, minimatch@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" - integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== + version "5.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.2.tgz#0939d7d6f0898acbd1508abe534d1929368a8fff" + integrity sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg== dependencies: brace-expansion "^2.0.1" @@ -4147,12 +4139,12 @@ negotiator@0.6.3: integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== nise@^5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/nise/-/nise-5.1.2.tgz#a7b8909c216b3491fd4fc0b124efb69f3939b449" - integrity sha512-+gQjFi8v+tkfCuSCxfURHLhRhniE/+IaYbIphxAN2JRR9SHKhY8hgXpaXiYfHdw+gcGe4buxgbprBQFab9FkhA== + version "5.1.4" + resolved "https://registry.yarnpkg.com/nise/-/nise-5.1.4.tgz#491ce7e7307d4ec546f5a659b2efe94a18b4bbc0" + integrity sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg== dependencies: "@sinonjs/commons" "^2.0.0" - "@sinonjs/fake-timers" "^7.0.4" + "@sinonjs/fake-timers" "^10.0.2" "@sinonjs/text-encoding" "^0.7.1" just-extend "^4.0.2" path-to-regexp "^1.7.0" @@ -4575,11 +4567,6 @@ portscanner@2.2.0: async "^2.6.0" is-number-like "^1.0.3" -preserve@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - integrity sha512-s/46sYeylUfHNjI+sA/78FAHlmIuKqI9wNnzEOGehAlUUYeObv5C2mOinXBjyUyWmJ2SfcS2/ydApH4hTF4WXQ== - pretty-format@^20.0.3: version "20.0.3" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-20.0.3.tgz#020e350a560a1fe1a98dc3beb6ccffb386de8b14" @@ -4686,15 +4673,6 @@ quick-lru@^5.1.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== -randomatic@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed" - integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw== - dependencies: - is-number "^4.0.0" - kind-of "^6.0.0" - math-random "^1.0.1" - range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" @@ -4795,7 +4773,7 @@ recursive-readdir@^2.2.2: dependencies: minimatch "^3.0.5" -regenerator-runtime@^0.13.10, regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.4: +regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.4: version "0.13.11" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== @@ -4821,16 +4799,6 @@ remove-trailing-separator@^1.0.1: resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.5.2: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -4842,11 +4810,11 @@ require-from-string@^2.0.2: integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== requizzle@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/requizzle/-/requizzle-0.2.3.tgz#4675c90aacafb2c036bd39ba2daa4a1cb777fded" - integrity sha512-YanoyJjykPxGHii0fZP0uUPEXpvqfBDxWV7s6GKAiiOsiqhX6vHNyW3Qzdmqp/iq/ExbhaGbVrjB4ruEVSM4GQ== + version "0.2.4" + resolved "https://registry.yarnpkg.com/requizzle/-/requizzle-0.2.4.tgz#319eb658b28c370f0c20f968fa8ceab98c13d27c" + integrity sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw== dependencies: - lodash "^4.17.14" + lodash "^4.17.21" resolve-alpn@^1.0.0: version "1.2.1" @@ -4914,9 +4882,9 @@ run-async@^2.4.0: integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== rxjs@^7.5.5: - version "7.5.7" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.7.tgz#2ec0d57fdc89ece220d2e702730ae8f1e49def39" - integrity sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA== + version "7.8.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" + integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== dependencies: tslib "^2.1.0" @@ -4945,9 +4913,9 @@ safe-regex-test@^1.0.0: is-regex "^1.1.4" safe-stable-stringify@^2.3.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.1.tgz#34694bd8a30575b7f94792aa51527551bd733d61" - integrity sha512-dVHE6bMtS/bnL2mwualjc6IxEv1F+OCUpA46pKUj6F8uDbUM0jCCulPqRNPSnWwGNKx5etqMjZYdXtrm5KJZGA== + version "2.4.2" + resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.2.tgz#ec7b037768098bf65310d1d64370de0dc02353aa" + integrity sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA== "safer-buffer@>= 2.1.2 < 3": version "2.1.2" @@ -5197,7 +5165,7 @@ string.prototype.matchall@^4.0.0: regexp.prototype.flags "^1.4.3" side-channel "^1.0.4" -string.prototype.trimend@^1.0.5: +string.prototype.trimend@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== @@ -5206,7 +5174,7 @@ string.prototype.trimend@^1.0.5: define-properties "^1.1.4" es-abstract "^1.20.4" -string.prototype.trimstart@^1.0.5: +string.prototype.trimstart@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== @@ -5367,9 +5335,9 @@ timm@^1.6.1: integrity sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw== tinycolor2@^1.4.1: - version "1.4.2" - resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.2.tgz#3f6a4d1071ad07676d7fa472e1fac40a719d8803" - integrity sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA== + version "1.5.2" + resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.5.2.tgz#7d30b4584d8b7d62b9a94dacc505614a6516a95f" + integrity sha512-h80m9GPFGbcLzZByXlNSEhp1gf8Dy+VX/2JCGUZsWLo7lV1mnE/XlxGYgRBoMLJh1lIDXP0EMC4RPTjlRaV+Bg== tmp@^0.0.33: version "0.0.33" @@ -5469,10 +5437,19 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + typescript@^4.6.4: - version "4.9.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.3.tgz#3aea307c1746b8c384435d8ac36b8a2e580d85db" - integrity sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA== + version "4.9.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" + integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== ua-parser-js@^1.0.1: version "1.0.32" @@ -5676,7 +5653,7 @@ which-collection@^1.0.1: is-weakmap "^2.0.1" is-weakset "^2.0.1" -which-typed-array@^1.1.8: +which-typed-array@^1.1.9: version "1.1.9" resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== From 784833c429edd64b0d82dae2e117f63bf860e189 Mon Sep 17 00:00:00 2001 From: Samuel Freiberg Date: Tue, 21 Feb 2023 15:51:01 -0700 Subject: [PATCH 2/9] Remove --- apps/win32/wdio.conf.ts | 341 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 341 insertions(+) create mode 100644 apps/win32/wdio.conf.ts diff --git a/apps/win32/wdio.conf.ts b/apps/win32/wdio.conf.ts new file mode 100644 index 0000000000..267aa96977 --- /dev/null +++ b/apps/win32/wdio.conf.ts @@ -0,0 +1,341 @@ +/* + * This WebDriverIO config file runs Win32 FluentUI React-Native spec files in the ReactTest application. The corresponding + * Motif file that enacts this test runner is FurnJsReactTestScn.scn that lives in the uextest project. + */ + +// The first two cmd args are consistent across all uses of this file (specPath and resultsPath). +// The last arg can be one of two options, depending on what host application you want to test. +// The two options are: +// ReactTest - In this case, pass in "appDirectory {pathToReactTest.exe}" +// We need the path for where ReactTest is installed on the remote lab machine. This is found in ReactTestClass.cs. +// 'wdioScript appDirectory C://path/to/app specPath C://path/to/specs resultsPath C://path/to/results` +let appWorkingDir, + nativeWindowHandle, + specPath, + resultsPath, + appPath = ''; +const myArgs = process.argv.slice(3); + +if ( + myArgs.length == 6 && + myArgs[0] == 'specPath' && + myArgs[2] == 'resultsPath' && + (myArgs[4] == 'appDirectory' || myArgs[4] == 'nativeWindowHandle') +) { + specPath = myArgs[1]; + resultsPath = myArgs[3]; + if (myArgs[4] == 'appDirectory') { + appWorkingDir = myArgs[5]; + appPath = appWorkingDir + '\\reacttest.exe'; + } else { + nativeWindowHandle = myArgs[5]; + } +} else { + console.error( + "ERROR! When running this file, you must pass in additional parameters. appDirectory, specPath, and resultsPath. In the form of: 'wdioScript appDirectory C://path/to/app specPath C://path/to/specs resultsPath C://path/to/results`", + ); +} + +const commonCapabilities = { + maxInstances: 1, + platformName: 'windows', + 'appium:automationName': 'windows', + 'appium:deviceName': 'WindowsPC', +}; + +console.log('appWorkingDir: "' + appWorkingDir + '"\n'); +console.log('nativeWindowHandle: "' + nativeWindowHandle + '"\n'); + +const capabilities = appWorkingDir + ? { + ...commonCapabilities, + 'appium:app': appPath, + 'appium:appArguments': 'bundle furn.win32 component FluentTester', + 'appium:appWorkingDir': appWorkingDir, + } + : { + ...commonCapabilities, + 'appium:appTopLevelWindow': nativeWindowHandle, + }; + +export const config: WebdriverIO.Config = { + runner: 'local', + specs: [specPath], + capabilities: [capabilities], + logLevel: 'debug', + bail: 0, + waitforTimeout: 20000, + connectionRetryTimeout: 120000, + connectionRetryCount: 3, + specFileRetries: 3, // The number of times to retry the entire spec file when it fails as a whole. + + port: 4723, // default appium port + services: [ + [ + 'appium', + { + logPath: './lib/reports/', + }, + ], + ], + + framework: 'jasmine', + + reporters: ['spec'], + jasmineOpts: { + defaultTimeoutInterval: 3 * 60 * 1000, // 3min + }, + + autoCompileOpts: { + autoCompile: true, + + tsNodeOpts: { + transpileOnly: true, + project: 'tsconfig.json', + ignore: ['/node_modules'], + }, + }, + + before: async function () { + await browser.maximizeWindow(); + }, + + onComplete: function (/* exitCode, config, capabilities, results */) { + // const mergeResults = require('wdio-json-reporter/mergeResults'); + // mergeResults(resultsPath, 'results-*', 'finalTestResults.json'); + }, +}; + +exports.config = config; + +// const path = require('path'); +// const fs = require('fs'); + +// const appPath = path.resolve(path.dirname(require.resolve('@office-iss/rex-win32/rex-win32.js')), 'ReactTest.exe'); +// const appArgs = 'basePath ' + path.resolve('dist') + ' plugin defaultplugin bundle index.win32 component FluentTester'; +// const appDir = path.dirname(require.resolve('@office-iss/rex-win32/rex-win32.js')); + +// const defaultWaitForTimeout = 20000; +// const defaultConnectionRetryTimeout = 60000; +// const jasmineDefaultTimeout = 60000; // 60 seconds for Jasmine test timeout + +// exports.config = { +// runner: 'local', // Where should your test be launched +// specs: ['../E2E/src/**/specs/*.win.ts'], +// exclude: [], + +// capabilities: [ +// { +// maxInstances: 1, // Maximum number of total parallel running workers. +// platformName: 'windows', +// 'appium:automationName': 'windows', +// 'appium:deviceName': 'WindowsPC', +// 'appium:app': appPath, +// 'appium:appArguments': appArgs, +// 'appium:appWorkingDir': appDir, +// }, +// ], + +// /* +// ** =============================================================================================== +// ** Test Configurations - Define all options that are relevant for the WebdriverIO instance here +// ** =============================================================================================== +// */ + +// logLevel: 'info', // Level of logging verbosity: trace | debug | info | warn | error | silent +// bail: 0, // If you only want to run your tests until a specific amount of tests have failed use bail (default is 0 - don't bail, run all tests). +// waitforTimeout: defaultWaitForTimeout, // Default timeout for all waitForXXX commands. +// connectionRetryTimeout: defaultConnectionRetryTimeout, // Timeout for any WebDriver request to a driver or grid. +// connectionRetryCount: 3, // Maximum count of request retries to the Selenium server. +// specFileRetries: 3, // The number of times to retry the entire spec file when it fails as a whole. + +// port: 4723, // default appium port +// services: [ +// [ +// 'appium', +// { +// logPath: './reports/', +// }, +// ], +// ], + +// framework: 'jasmine', +// jasmineOpts: { +// defaultTimeoutInterval: jasmineDefaultTimeout, +// }, + +// reporters: ['spec'], + +// autoCompileOpts: { +// autoCompile: true, + +// tsNodeOpts: { +// files: true, +// }, +// }, + +// /* +// ** =================== +// ** Hooks +// ** =================== +// ** WebdriverIO provides several hooks you can use to interfere with the test process in order to enhance +// ** it and to build services around it. You can either apply a single function or an array of +// ** methods to it. If one of them returns with a promise, WebdriverIO will wait until that promise got +// ** resolved to continue. +// */ +// /** +// * Gets executed once before all workers get launched. +// * @param {Object} config wdio configuration object +// * @param {Array.} capabilities list of capabilities details +// */ +// // onPrepare: function (config, capabilities) { +// // }, +// /** +// * Gets executed before a worker process is spawned and can be used to initialise specific service +// * for that worker as well as modify runtime environments in an async fashion. +// * @param {String} cid capability id (e.g 0-0) +// * @param {[type]} caps object containing capabilities for session that will be spawn in the worker +// * @param {[type]} specs specs to be run in the worker process +// * @param {[type]} args object that will be merged with the main configuration once worker is initialised +// * @param {[type]} execArgv list of string arguments passed to the worker process +// */ +// // onWorkerStart: function (cid, caps, specs, args, execArgv) { +// // }, +// /** +// * Gets executed just before initialising the webdriver session and test framework. It allows you +// * to manipulate configurations depending on the capability or spec. +// * @param {Object} config wdio configuration object +// * @param {Array.} capabilities list of capabilities details +// * @param {Array.} specs List of spec file paths that are to be run +// */ +// beforeSession: (/* config, capabilities, specs */) => { +// fs.mkdirSync('./errorShots', { recursive: true }); +// process.env['E2ETEST_PLATFORM'] = 'win32'; +// }, +// /** +// * Gets executed before test execution begins. At this point you can access to all global +// * variables like `browser`. It is the perfect place to define custom commands. +// * @param {Array.} capabilities list of capabilities details +// * @param {Array.} specs List of spec file paths that are to be run +// */ +// before: async () => { +// await browser.maximizeWindow(); +// }, +// /** +// * Runs before a WebdriverIO command gets executed. +// * @param {String} commandName hook command name +// * @param {Array} args arguments that command would receive +// */ +// // beforeCommand: function (commandName, args) { +// // }, +// /** +// * Hook that gets executed before the suite starts +// * @param {Object} suite suite details +// */ +// // beforeSuite: function (suite) { +// // }, +// /** +// * Function to be executed before a test (in Mocha/Jasmine) starts. +// */ +// // beforeTest: function (test, context) { +// // }, +// /** +// * Hook that gets executed _before_ a hook within the suite starts (e.g. runs before calling +// * beforeEach in Mocha) +// */ +// // beforeHook: function (test, context) { +// // }, +// /** +// * Hook that gets executed _after_ a hook within the suite starts (e.g. runs after calling +// * afterEach in Mocha) +// */ +// // afterHook: function (test, context, { error, result, duration, passed, retries }) { +// // }, +// /** +// * Function to be executed after a test (in Mocha/Jasmine). +// */ +// afterTest: async (test, context, results) => { +// const resultString = results.passed ? 'Passed' : 'Failed'; +// console.log('\n Test Case: ' + test.description + '. Result: ' + resultString + '\n'); + +// // if test passed, ignore, else take and save screenshot. Unless it's the first test that boots the app, +// // it may be useful to have a screenshot of the app on load. +// if (results.passed) { +// return; +// } + +// // get current test title and clean it, to use it as file name +// const fileName = encodeURIComponent(test.description.replace(/\s+/g, '-')); + +// // build file path +// const filePath = './errorShots/' + fileName + '.png'; + +// /* If there are more than one instance of the app open, we know an assert popped up. Since the test already failed and a screenshot was captured +// * we want to close the assert popup. If we don't it will stay open and negatively interact with logic in our CI pipeline. */ +// const windowHandles = await browser.getWindowHandles(); +// if (windowHandles.length > 1) { +// /* Switch to the Assert window - Take a screenshot and close the assert */ +// await browser.switchToWindow(windowHandles[0]); +// await browser.saveScreenshot(filePath); +// await browser.closeWindow(); + +// /* Switch back to FluentTester and close. The test harness has trouble closing the app when an assert fired */ +// await browser.switchToWindow(windowHandles[1]); +// await browser.closeWindow(); +// } else { +// // save screenshot +// await browser.saveScreenshot(filePath); +// } +// }, + +// /** +// * Hook that gets executed after the suite has ended +// * @param {Object} suite suite details +// */ +// // afterSuite: function (suite) { +// // }, +// /** +// * Runs after a WebdriverIO command gets executed +// * @param {String} commandName hook command name +// * @param {Array} args arguments that command would receive +// * @param {Number} result 0 - command success, 1 - command error +// * @param {Object} error error object if any +// */ +// // afterCommand: function (commandName, args, result, error) { +// // }, +// /** +// * Gets executed after all tests are done. You still have access to all global variables from +// * the test. +// * @param {Number} result 0 - test pass, 1 - test fail +// * @param {Array.} capabilities list of capabilities details +// * @param {Array.} specs List of spec file paths that ran +// */ +// // after: function (result, capabilities, specs) { +// // }, +// /** +// * Gets executed right after terminating the webdriver session. +// * @param {Object} config wdio configuration object +// * @param {Array.} capabilities list of capabilities details +// * @param {Array.} specs List of spec file paths that ran +// */ +// // afterSession: function (config, capabilities, specs) { +// // }, +// /** +// * Gets executed after all workers got shut down and the process is about to exit. An error +// * thrown in the onComplete hook will result in the test run failing. +// * @param {Object} exitCode 0 - success, 1 - fail +// * @param {Object} config wdio configuration object +// * @param {Array.} capabilities list of capabilities details +// * @param {} results object containing test results +// */ +// onComplete: (/* exitCode, config, capabilities, results */) => { +// console.log('<<< TESTING FINISHED >>>'); +// }, +// /** +// * Gets executed when a refresh happens. +// * @param {String} oldSessionId session ID of the old session +// * @param {String} newSessionId session ID of the new session +// */ +// //onReload: function(oldSessionId, newSessionId) { +// //} +// }; From 7f2a2931c1a8ff4c889dd8517cc430bbbf34899c Mon Sep 17 00:00:00 2001 From: Sammy Freiberg Date: Thu, 24 Aug 2023 07:29:48 -0700 Subject: [PATCH 3/9] Adding whitespace --- apps/E2E/src/ButtonV1/specs/ButtonV1.spec.win.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/E2E/src/ButtonV1/specs/ButtonV1.spec.win.ts b/apps/E2E/src/ButtonV1/specs/ButtonV1.spec.win.ts index 9596045671..69f1f42194 100644 --- a/apps/E2E/src/ButtonV1/specs/ButtonV1.spec.win.ts +++ b/apps/E2E/src/ButtonV1/specs/ButtonV1.spec.win.ts @@ -18,7 +18,7 @@ describe('ButtonV1 Testing Initialization', () => { }); }); -describe('ButtonV1 Accessibility Testing', () => { +describe('ButtonV1 Accessibility Testing', () => { beforeEach(async () => { await ButtonV1PageObject.scrollToTestElement(); }); From 1a85b9a46f207e0937cd9ba919676316898a9102 Mon Sep 17 00:00:00 2001 From: Samuel Freiberg Date: Thu, 24 Aug 2023 07:33:25 -0700 Subject: [PATCH 4/9] Revert --- apps/E2E/src/ButtonV1/specs/ButtonV1.spec.win.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/E2E/src/ButtonV1/specs/ButtonV1.spec.win.ts b/apps/E2E/src/ButtonV1/specs/ButtonV1.spec.win.ts index 69f1f42194..9596045671 100644 --- a/apps/E2E/src/ButtonV1/specs/ButtonV1.spec.win.ts +++ b/apps/E2E/src/ButtonV1/specs/ButtonV1.spec.win.ts @@ -18,7 +18,7 @@ describe('ButtonV1 Testing Initialization', () => { }); }); -describe('ButtonV1 Accessibility Testing', () => { +describe('ButtonV1 Accessibility Testing', () => { beforeEach(async () => { await ButtonV1PageObject.scrollToTestElement(); }); From 9a38ada998287d5d406148c13738f8b784fce4fe Mon Sep 17 00:00:00 2001 From: Samuel Freiberg Date: Tue, 29 Aug 2023 12:33:43 -0700 Subject: [PATCH 5/9] Removing unused file --- apps/win32/wdio.conf.ts | 341 ---------------------------------------- 1 file changed, 341 deletions(-) delete mode 100644 apps/win32/wdio.conf.ts diff --git a/apps/win32/wdio.conf.ts b/apps/win32/wdio.conf.ts deleted file mode 100644 index 267aa96977..0000000000 --- a/apps/win32/wdio.conf.ts +++ /dev/null @@ -1,341 +0,0 @@ -/* - * This WebDriverIO config file runs Win32 FluentUI React-Native spec files in the ReactTest application. The corresponding - * Motif file that enacts this test runner is FurnJsReactTestScn.scn that lives in the uextest project. - */ - -// The first two cmd args are consistent across all uses of this file (specPath and resultsPath). -// The last arg can be one of two options, depending on what host application you want to test. -// The two options are: -// ReactTest - In this case, pass in "appDirectory {pathToReactTest.exe}" -// We need the path for where ReactTest is installed on the remote lab machine. This is found in ReactTestClass.cs. -// 'wdioScript appDirectory C://path/to/app specPath C://path/to/specs resultsPath C://path/to/results` -let appWorkingDir, - nativeWindowHandle, - specPath, - resultsPath, - appPath = ''; -const myArgs = process.argv.slice(3); - -if ( - myArgs.length == 6 && - myArgs[0] == 'specPath' && - myArgs[2] == 'resultsPath' && - (myArgs[4] == 'appDirectory' || myArgs[4] == 'nativeWindowHandle') -) { - specPath = myArgs[1]; - resultsPath = myArgs[3]; - if (myArgs[4] == 'appDirectory') { - appWorkingDir = myArgs[5]; - appPath = appWorkingDir + '\\reacttest.exe'; - } else { - nativeWindowHandle = myArgs[5]; - } -} else { - console.error( - "ERROR! When running this file, you must pass in additional parameters. appDirectory, specPath, and resultsPath. In the form of: 'wdioScript appDirectory C://path/to/app specPath C://path/to/specs resultsPath C://path/to/results`", - ); -} - -const commonCapabilities = { - maxInstances: 1, - platformName: 'windows', - 'appium:automationName': 'windows', - 'appium:deviceName': 'WindowsPC', -}; - -console.log('appWorkingDir: "' + appWorkingDir + '"\n'); -console.log('nativeWindowHandle: "' + nativeWindowHandle + '"\n'); - -const capabilities = appWorkingDir - ? { - ...commonCapabilities, - 'appium:app': appPath, - 'appium:appArguments': 'bundle furn.win32 component FluentTester', - 'appium:appWorkingDir': appWorkingDir, - } - : { - ...commonCapabilities, - 'appium:appTopLevelWindow': nativeWindowHandle, - }; - -export const config: WebdriverIO.Config = { - runner: 'local', - specs: [specPath], - capabilities: [capabilities], - logLevel: 'debug', - bail: 0, - waitforTimeout: 20000, - connectionRetryTimeout: 120000, - connectionRetryCount: 3, - specFileRetries: 3, // The number of times to retry the entire spec file when it fails as a whole. - - port: 4723, // default appium port - services: [ - [ - 'appium', - { - logPath: './lib/reports/', - }, - ], - ], - - framework: 'jasmine', - - reporters: ['spec'], - jasmineOpts: { - defaultTimeoutInterval: 3 * 60 * 1000, // 3min - }, - - autoCompileOpts: { - autoCompile: true, - - tsNodeOpts: { - transpileOnly: true, - project: 'tsconfig.json', - ignore: ['/node_modules'], - }, - }, - - before: async function () { - await browser.maximizeWindow(); - }, - - onComplete: function (/* exitCode, config, capabilities, results */) { - // const mergeResults = require('wdio-json-reporter/mergeResults'); - // mergeResults(resultsPath, 'results-*', 'finalTestResults.json'); - }, -}; - -exports.config = config; - -// const path = require('path'); -// const fs = require('fs'); - -// const appPath = path.resolve(path.dirname(require.resolve('@office-iss/rex-win32/rex-win32.js')), 'ReactTest.exe'); -// const appArgs = 'basePath ' + path.resolve('dist') + ' plugin defaultplugin bundle index.win32 component FluentTester'; -// const appDir = path.dirname(require.resolve('@office-iss/rex-win32/rex-win32.js')); - -// const defaultWaitForTimeout = 20000; -// const defaultConnectionRetryTimeout = 60000; -// const jasmineDefaultTimeout = 60000; // 60 seconds for Jasmine test timeout - -// exports.config = { -// runner: 'local', // Where should your test be launched -// specs: ['../E2E/src/**/specs/*.win.ts'], -// exclude: [], - -// capabilities: [ -// { -// maxInstances: 1, // Maximum number of total parallel running workers. -// platformName: 'windows', -// 'appium:automationName': 'windows', -// 'appium:deviceName': 'WindowsPC', -// 'appium:app': appPath, -// 'appium:appArguments': appArgs, -// 'appium:appWorkingDir': appDir, -// }, -// ], - -// /* -// ** =============================================================================================== -// ** Test Configurations - Define all options that are relevant for the WebdriverIO instance here -// ** =============================================================================================== -// */ - -// logLevel: 'info', // Level of logging verbosity: trace | debug | info | warn | error | silent -// bail: 0, // If you only want to run your tests until a specific amount of tests have failed use bail (default is 0 - don't bail, run all tests). -// waitforTimeout: defaultWaitForTimeout, // Default timeout for all waitForXXX commands. -// connectionRetryTimeout: defaultConnectionRetryTimeout, // Timeout for any WebDriver request to a driver or grid. -// connectionRetryCount: 3, // Maximum count of request retries to the Selenium server. -// specFileRetries: 3, // The number of times to retry the entire spec file when it fails as a whole. - -// port: 4723, // default appium port -// services: [ -// [ -// 'appium', -// { -// logPath: './reports/', -// }, -// ], -// ], - -// framework: 'jasmine', -// jasmineOpts: { -// defaultTimeoutInterval: jasmineDefaultTimeout, -// }, - -// reporters: ['spec'], - -// autoCompileOpts: { -// autoCompile: true, - -// tsNodeOpts: { -// files: true, -// }, -// }, - -// /* -// ** =================== -// ** Hooks -// ** =================== -// ** WebdriverIO provides several hooks you can use to interfere with the test process in order to enhance -// ** it and to build services around it. You can either apply a single function or an array of -// ** methods to it. If one of them returns with a promise, WebdriverIO will wait until that promise got -// ** resolved to continue. -// */ -// /** -// * Gets executed once before all workers get launched. -// * @param {Object} config wdio configuration object -// * @param {Array.} capabilities list of capabilities details -// */ -// // onPrepare: function (config, capabilities) { -// // }, -// /** -// * Gets executed before a worker process is spawned and can be used to initialise specific service -// * for that worker as well as modify runtime environments in an async fashion. -// * @param {String} cid capability id (e.g 0-0) -// * @param {[type]} caps object containing capabilities for session that will be spawn in the worker -// * @param {[type]} specs specs to be run in the worker process -// * @param {[type]} args object that will be merged with the main configuration once worker is initialised -// * @param {[type]} execArgv list of string arguments passed to the worker process -// */ -// // onWorkerStart: function (cid, caps, specs, args, execArgv) { -// // }, -// /** -// * Gets executed just before initialising the webdriver session and test framework. It allows you -// * to manipulate configurations depending on the capability or spec. -// * @param {Object} config wdio configuration object -// * @param {Array.} capabilities list of capabilities details -// * @param {Array.} specs List of spec file paths that are to be run -// */ -// beforeSession: (/* config, capabilities, specs */) => { -// fs.mkdirSync('./errorShots', { recursive: true }); -// process.env['E2ETEST_PLATFORM'] = 'win32'; -// }, -// /** -// * Gets executed before test execution begins. At this point you can access to all global -// * variables like `browser`. It is the perfect place to define custom commands. -// * @param {Array.} capabilities list of capabilities details -// * @param {Array.} specs List of spec file paths that are to be run -// */ -// before: async () => { -// await browser.maximizeWindow(); -// }, -// /** -// * Runs before a WebdriverIO command gets executed. -// * @param {String} commandName hook command name -// * @param {Array} args arguments that command would receive -// */ -// // beforeCommand: function (commandName, args) { -// // }, -// /** -// * Hook that gets executed before the suite starts -// * @param {Object} suite suite details -// */ -// // beforeSuite: function (suite) { -// // }, -// /** -// * Function to be executed before a test (in Mocha/Jasmine) starts. -// */ -// // beforeTest: function (test, context) { -// // }, -// /** -// * Hook that gets executed _before_ a hook within the suite starts (e.g. runs before calling -// * beforeEach in Mocha) -// */ -// // beforeHook: function (test, context) { -// // }, -// /** -// * Hook that gets executed _after_ a hook within the suite starts (e.g. runs after calling -// * afterEach in Mocha) -// */ -// // afterHook: function (test, context, { error, result, duration, passed, retries }) { -// // }, -// /** -// * Function to be executed after a test (in Mocha/Jasmine). -// */ -// afterTest: async (test, context, results) => { -// const resultString = results.passed ? 'Passed' : 'Failed'; -// console.log('\n Test Case: ' + test.description + '. Result: ' + resultString + '\n'); - -// // if test passed, ignore, else take and save screenshot. Unless it's the first test that boots the app, -// // it may be useful to have a screenshot of the app on load. -// if (results.passed) { -// return; -// } - -// // get current test title and clean it, to use it as file name -// const fileName = encodeURIComponent(test.description.replace(/\s+/g, '-')); - -// // build file path -// const filePath = './errorShots/' + fileName + '.png'; - -// /* If there are more than one instance of the app open, we know an assert popped up. Since the test already failed and a screenshot was captured -// * we want to close the assert popup. If we don't it will stay open and negatively interact with logic in our CI pipeline. */ -// const windowHandles = await browser.getWindowHandles(); -// if (windowHandles.length > 1) { -// /* Switch to the Assert window - Take a screenshot and close the assert */ -// await browser.switchToWindow(windowHandles[0]); -// await browser.saveScreenshot(filePath); -// await browser.closeWindow(); - -// /* Switch back to FluentTester and close. The test harness has trouble closing the app when an assert fired */ -// await browser.switchToWindow(windowHandles[1]); -// await browser.closeWindow(); -// } else { -// // save screenshot -// await browser.saveScreenshot(filePath); -// } -// }, - -// /** -// * Hook that gets executed after the suite has ended -// * @param {Object} suite suite details -// */ -// // afterSuite: function (suite) { -// // }, -// /** -// * Runs after a WebdriverIO command gets executed -// * @param {String} commandName hook command name -// * @param {Array} args arguments that command would receive -// * @param {Number} result 0 - command success, 1 - command error -// * @param {Object} error error object if any -// */ -// // afterCommand: function (commandName, args, result, error) { -// // }, -// /** -// * Gets executed after all tests are done. You still have access to all global variables from -// * the test. -// * @param {Number} result 0 - test pass, 1 - test fail -// * @param {Array.} capabilities list of capabilities details -// * @param {Array.} specs List of spec file paths that ran -// */ -// // after: function (result, capabilities, specs) { -// // }, -// /** -// * Gets executed right after terminating the webdriver session. -// * @param {Object} config wdio configuration object -// * @param {Array.} capabilities list of capabilities details -// * @param {Array.} specs List of spec file paths that ran -// */ -// // afterSession: function (config, capabilities, specs) { -// // }, -// /** -// * Gets executed after all workers got shut down and the process is about to exit. An error -// * thrown in the onComplete hook will result in the test run failing. -// * @param {Object} exitCode 0 - success, 1 - fail -// * @param {Object} config wdio configuration object -// * @param {Array.} capabilities list of capabilities details -// * @param {} results object containing test results -// */ -// onComplete: (/* exitCode, config, capabilities, results */) => { -// console.log('<<< TESTING FINISHED >>>'); -// }, -// /** -// * Gets executed when a refresh happens. -// * @param {String} oldSessionId session ID of the old session -// * @param {String} newSessionId session ID of the new session -// */ -// //onReload: function(oldSessionId, newSessionId) { -// //} -// }; From 178f296e37c2fecc9d14d9308121f299632b61b6 Mon Sep 17 00:00:00 2001 From: Samuel Freiberg Date: Tue, 21 Nov 2023 10:02:53 -0700 Subject: [PATCH 6/9] Update nuget package --- .../nuget/Microsoft.FluentUI.WebDriverIO.Appium.Deps.nuspec | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tester_deps/nuget/Microsoft.FluentUI.WebDriverIO.Appium.Deps.nuspec b/tester_deps/nuget/Microsoft.FluentUI.WebDriverIO.Appium.Deps.nuspec index e9e6e447c1..6db6f8b547 100644 --- a/tester_deps/nuget/Microsoft.FluentUI.WebDriverIO.Appium.Deps.nuspec +++ b/tester_deps/nuget/Microsoft.FluentUI.WebDriverIO.Appium.Deps.nuspec @@ -15,11 +15,8 @@ - - - - \ No newline at end of file From f9ca0afd9384de06495596982507b8f6bff84b83 Mon Sep 17 00:00:00 2001 From: Samuel Freiberg Date: Mon, 27 Nov 2023 10:35:45 -0700 Subject: [PATCH 7/9] Changing name of nuget package --- .../nuget/Microsoft.FluentUI.WebDriverIO.Appium.Deps.nuspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tester_deps/nuget/Microsoft.FluentUI.WebDriverIO.Appium.Deps.nuspec b/tester_deps/nuget/Microsoft.FluentUI.WebDriverIO.Appium.Deps.nuspec index d7e4ed962e..0bd8e350e9 100644 --- a/tester_deps/nuget/Microsoft.FluentUI.WebDriverIO.Appium.Deps.nuspec +++ b/tester_deps/nuget/Microsoft.FluentUI.WebDriverIO.Appium.Deps.nuspec @@ -1,7 +1,7 @@ - Microsoft.FluentUI.WebDriverIO.Appium.Deps + WebDriverIO.Appium.Deps 1.0.0 WebDriverIO and Appium Dependencies Microsoft Office CXE From 699f04867bddcbb34138d5d1f62abf8a073b5835 Mon Sep 17 00:00:00 2001 From: Samuel Freiberg Date: Mon, 27 Nov 2023 11:44:34 -0700 Subject: [PATCH 8/9] Updating file names --- .ado/templates/e2e-dependency-nuget-publish.yml | 2 +- ...iverIO.Appium.Deps.nuspec => WebDriverIO.Appium.Deps.nuspec} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename tester_deps/nuget/{Microsoft.FluentUI.WebDriverIO.Appium.Deps.nuspec => WebDriverIO.Appium.Deps.nuspec} (100%) diff --git a/.ado/templates/e2e-dependency-nuget-publish.yml b/.ado/templates/e2e-dependency-nuget-publish.yml index 1c8d13c98c..ab8811646b 100644 --- a/.ado/templates/e2e-dependency-nuget-publish.yml +++ b/.ado/templates/e2e-dependency-nuget-publish.yml @@ -13,7 +13,7 @@ jobs: templateContext: outputs: - output: nuget - packagesToPush: '$(Build.ArtifactStagingDirectory)/Microsoft.FluentUI.WebDriverIO.Appium.Deps.nupkg' + packagesToPush: '$(Build.ArtifactStagingDirectory)/WebDriverIO.Appium.Deps.nupkg' packageParentPath: '$(Build.ArtifactStagingDirectory)' publishVstsFeed: Office # Required when pushing to internal feed. nuGetFeedType: internal # Change to external when publishing to external feed diff --git a/tester_deps/nuget/Microsoft.FluentUI.WebDriverIO.Appium.Deps.nuspec b/tester_deps/nuget/WebDriverIO.Appium.Deps.nuspec similarity index 100% rename from tester_deps/nuget/Microsoft.FluentUI.WebDriverIO.Appium.Deps.nuspec rename to tester_deps/nuget/WebDriverIO.Appium.Deps.nuspec From c3efa9edbbc2beb8db77828f1e8ac39db93df7b2 Mon Sep 17 00:00:00 2001 From: Samuel Freiberg Date: Mon, 27 Nov 2023 11:45:38 -0700 Subject: [PATCH 9/9] Updating nuget publish pipeline --- .ado/templates/e2e-dependency-nuget-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ado/templates/e2e-dependency-nuget-publish.yml b/.ado/templates/e2e-dependency-nuget-publish.yml index ab8811646b..ee1f5b317e 100644 --- a/.ado/templates/e2e-dependency-nuget-publish.yml +++ b/.ado/templates/e2e-dependency-nuget-publish.yml @@ -34,5 +34,5 @@ jobs: displayName: 'Create NuGet package for tester_deps.' inputs: filename: nuget - arguments: 'pack Microsoft.FluentUI.WebDriverIO.Appium.Deps.nuspec -OutputDirectory $(Build.ArtifactStagingDirectory) -OutputFileNamesWithoutVersion -Verbosity detailed -Version $(Build.BuildNumber) -properties CommitId=$(Build.SourceVersion)' + arguments: 'pack WebDriverIO.Appium.Deps.nuspec -OutputDirectory $(Build.ArtifactStagingDirectory) -OutputFileNamesWithoutVersion -Verbosity detailed -Version $(Build.BuildNumber) -properties CommitId=$(Build.SourceVersion)' workingFolder: 'tester_deps/nuget'