{"_id":"@aichemy/wring-cypress-plugin","_rev":"6-cc627da28b97555c59ea09742ccda8dc","name":"@aichemy/wring-cypress-plugin","dist-tags":{"latest":"2.1.5"},"versions":{"2.0.0":{"name":"@aichemy/wring-cypress-plugin","version":"2.0.0","main":"src/index.js","dependencies":{"jssha":"^3.2.0","node-fetch":"^2.6.7"},"devDependencies":{"cypress":"^6.4.0"},"scripts":{"tgignore":"node src/tgIgnoreScript.js","postinstall":"node src/postInstall.js"},"license":"MIT","repository":{"type":"git","url":"https://github.com/aichemydev/cypress/cypress-plugin"},"author":{"name":"Waqas Bhatti, Aichemy.dev"},"gitHead":"37f42dab99fc08b75496390f855c8d060261a7f5","description":"This is the [Wring](https://wring.dev) plugin for [Cypress](https://www.cypress.io/). It enables auto-healing of failed selectors.","_id":"@aichemy/wring-cypress-plugin@2.0.0","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-PW1CgDfHpskacC4/sjr/rf67sCwdCisGITSo578kx+pvuj09sKI3CPXIYn5HH0D47XOcn8DiLjQY8BPuKalxEQ==","shasum":"b626696cc73df3267f8ba0f3ba79e13d167581ea","tarball":"https://registry.npmjs.org/@aichemy/wring-cypress-plugin/-/wring-cypress-plugin-2.0.0.tgz","fileCount":16,"unpackedSize":103330,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCxwo9SiIqP/NmKs/hFKc8lBa1UqRXQyNmhHS9iZ/KTvgIhAMKCr8Y2t+Kv4/Y6dNKMl8/ZOUxgj0x2yIfqKEgwzKFG"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKMyCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrNCQ/9Grs6dCEut+6HigYv0H5F6Bu95nrbrQ1DmsubqSaADuDCK0q1\r\n1XpNOtnBKX10mMkx8uxiad6SuHxaEs0oWAqBJrvmjMM2jXXvw7AkFfJd3QCJ\r\n8w+empTmVZELBH+6CA/HiFbtY+C5qe7y3r4FiyyQXL1J5iJNrUNAy0l0KBPT\r\nupc/qkYs4nugKHlfRAUADk/vmnzfrewJatxK+AqVqY+qqBv/kRSAEhHasGa/\r\nAZHbi/APEUEgfiv2v915+dAC/VfMZAeugIuuNDevUqD2zlvO0bz3cn3iZjXg\r\n0hW9M7YtErCkWXTi5mCYIkBCsOK1pLI/+4ONgiYlzMtiJgKB5SBuqBh2fMl7\r\nsJ6gUP7nWE/qZEJF7gxwpbDWltytSNo8mbUN4sHuf9EW/cjzAXU8NxawmXR5\r\nCmWatPu+sL7Dksdg5FOacEyv4K0WUEc7pE4R78iYkMT8+n0EuVvxt3uwdtcI\r\ncO22b+n86l0T2wTZYjSvXyzHfU3ar0mF4fI3dgFDjUSZOajpcRIwjsFpHXWG\r\n+XzcjQxt4tNmAjvwmcJ0mzoaOSUQVt968pZeS62hAV3fbJbSOCkQ0W27EdaE\r\nxkhI4RLWI3gHjXKrnRgGNnU/5asRtLgtbCV65ILgYNdOnH+PTVI0msauTNxh\r\nO6rukuvmqbfJT4GXLjRUwleItVWz4kDIhb8=\r\n=VTSZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"waqasbhatti","email":"waqas.afzal.bhatti@gmail.com"},"directories":{},"maintainers":[{"name":"sshivaji","email":"sshivaji@gmail.com"},{"name":"waqasbhatti","email":"waqas.afzal.bhatti@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/wring-cypress-plugin_2.0.0_1663618178574_0.4403898774193762"},"_hasShrinkwrap":false},"2.1.0":{"name":"@aichemy/wring-cypress-plugin","version":"2.1.0","main":"src/index.js","dependencies":{"jssha":"^3.2.0","node-fetch":"^2.6.7"},"devDependencies":{"cypress":"^9"},"scripts":{"tgignore":"node src/tgIgnoreScript.js","postinstall":"node src/postInstall.js"},"license":"MIT","repository":{"type":"git","url":"https://github.com/aichemydev/cypress/cypress-plugin"},"author":{"name":"Waqas Bhatti, AiChemy.dev"},"gitHead":"99e4b0de5480d5b1fa3b56652d4592c71053d223","description":"This is the [Wring](https://wring.dev) plugin for [Cypress](https://www.cypress.io/). It enables auto-healing of failed selectors.","_id":"@aichemy/wring-cypress-plugin@2.1.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-9IoYygpvut80WOd5UA2rzRaTCfng9eVud3Bli/2S9TtOU2ke9MjvhkRBZVkUmVrrC7hTh3cc+2NvXjdwZQOzEA==","shasum":"669771821d8a3533632fe2eab69a84b2b9f67462","tarball":"https://registry.npmjs.org/@aichemy/wring-cypress-plugin/-/wring-cypress-plugin-2.1.0.tgz","fileCount":16,"unpackedSize":99022,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOUJRXSEh15fYyq2ZAXc/E6TXFeRiFnVoHJirlJ0f9FgIhAIblC4vURxJx0t6HHu21PpCGkfOznDSwtVdPP64gS9zS"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjO086ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpxsg/5ALeRZa+h4by1SoeCZl2/Yz193p0x1HWAEpP4msqQzvRrdtUz\r\nV1yXy+UP3G7UN9mdrArZR+S3VG2GqyvsCuQnlNbfukbYIKKGZTnCfoGaNfMI\r\nkWXAW/KJ95jd8JwU3iSzziXeS6Czz+oobT9hfTJSDAPn8BibVBKckJngHWtO\r\nkVkzJ10kKSgVWcR3r1KxhHcAlcq1QBMKebP3886DciO+rEy1nsUex81zA5PQ\r\n6HFyLIiMryaistl9vKQjn9Ukgpf90nD/YOiEnBUBM+2oK+dZPlSiVPceZFmB\r\nIUAMnXDtn4VutTtoqREd4xjowhyyBjdvSVyn3eaRECfp3I4dvqHwwpkrwvZg\r\nLuRl2+uR5GmBzsF+lX2J0PQfdr48GmPu18FYgRHXKScSYBLbpRK2GhM34PUZ\r\nKJqlBTuifnOoisQXKtLO0ncoDjgwvJtVasIsIG6SFqedeVvo67iRLVnG3DF9\r\nsoUx4tA6nMsJ4d4NmTHEqdNpf9UDrNGrU3HrslXuRni7Di5PiFS29VXS1bmi\r\nrZFGD0Ca/Njsq6CAVesNak2KHqg3tpq9HnPvPP8C1xBpXjWiNIj14rKGEefk\r\nRnKSWV9ANGylHZT4QVoqBlAIm452bJARInrZ4PqkdPO0heBNfWKM+44LKLGp\r\n4z/DzPf26T/DK0KJsTFJl60w833dHDY4BmY=\r\n=zHoT\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"waqasbhatti","email":"waqas.afzal.bhatti@gmail.com"},"directories":{},"maintainers":[{"name":"sshivaji","email":"sshivaji@gmail.com"},{"name":"waqasbhatti","email":"waqas.afzal.bhatti@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/wring-cypress-plugin_2.1.0_1664831290220_0.2217675658993099"},"_hasShrinkwrap":false},"2.1.1":{"name":"@aichemy/wring-cypress-plugin","version":"2.1.1","main":"src/index.js","dependencies":{"jssha":"^3.2.0","node-fetch":"^2.6.7"},"devDependencies":{"cypress":"^9"},"scripts":{"tgignore":"node src/tgIgnoreScript.js","postinstall":"node src/postInstall.js"},"license":"MIT","repository":{"type":"git","url":"https://github.com/aichemydev/cypress/cypress-plugin"},"author":{"name":"Waqas Bhatti, AiChemy.dev"},"gitHead":"639d2793b83a2259bacd25dd32b696bbad476935","description":"This is the [Wring](https://wring.dev) plugin for [Cypress](https://www.cypress.io/). It enables auto-healing of failed selectors.","_id":"@aichemy/wring-cypress-plugin@2.1.1","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-F6ZlsuMSLffPnmWJpQCDyDlR0IQZ0yGs5ct2StMdyQmUYRMSwCXpFQolkGZd/28c6PKz6VA0J2i8Ugkh030J0w==","shasum":"52518083f9f41eb895749b5614e0083f8af6aeaf","tarball":"https://registry.npmjs.org/@aichemy/wring-cypress-plugin/-/wring-cypress-plugin-2.1.1.tgz","fileCount":16,"unpackedSize":99135,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGaJjgVbB99BpDGjolqAi9XgF5T+d2ne5f/7qf9hzJ4LAiA1toEz8Fv77hkD4epApGf5NV/F+U55uiks+rdeI+L14g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjO1DFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoXWA/+MWQXj+p4QuTHgSEX6ERyjMxYXtByEmBOa/TxiGRxlkekMrDa\r\nHtWHYMd68myd2kMUlO2eMZdGbRIIB6xFgEwvqXfaQihng9T5ipjZZnZGCBVe\r\nS8tJIJpdK86k00KsYvVImJdIDjpclzxJxIgiaTSe+nsTxFZ+4/bVt0IKtS3H\r\nLVz7TR0oAJcs9Ld5X8LBuKXkJnT+J2KEkXyQfFJixcjko7BMjErV4Qf5EYzS\r\n2fnPZ885NF8Xn7tlCerKlZt4dWfF9U9Rr33KjPA3d53X13lUESCz9fY5KCp8\r\nog48XoWt4gBviT1hK+6EWzQiNFrgHS+bxrS0s+/yTiz4p/yaxPNBG5IMmHWJ\r\nlavMcdM3BrJXhg80Cfn2PZiBmiodTqv4OEzSTPKE5KxdQWDQXBCRItptOWug\r\n9IhKsqBbNYDE5BUjUEbNRyTYpAbrE3j5PvBSdYHUXlfGInZ1B3Y3jkzEIkyH\r\nvFrPzveEjpsiO7gwUMpg0HracdySY6JsEAR/jq33kMejcUrHGHMTWRYTLSop\r\nhrKurvbDpeid6SCZi1Z9L72Z2ESvQI8GW9+lgAZ9Stw6cP0iyfvYSFjKxwTj\r\npq19rI01IC7lrqR/IVG6nFPADHpjRyjiZ+tWUYKBX9cayhcV8EtL62ECfKm4\r\ndndGPclYJWVDO72vMteaciYs4c+jHKqjtV0=\r\n=/Vkp\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"waqasbhatti","email":"waqas.afzal.bhatti@gmail.com"},"directories":{},"maintainers":[{"name":"sshivaji","email":"sshivaji@gmail.com"},{"name":"waqasbhatti","email":"waqas.afzal.bhatti@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/wring-cypress-plugin_2.1.1_1664831685192_0.4583589079631363"},"_hasShrinkwrap":false},"2.1.2":{"name":"@aichemy/wring-cypress-plugin","version":"2.1.2","main":"src/index.js","dependencies":{"jssha":"^3.2.0","node-fetch":"^2.6.7"},"devDependencies":{"cypress":"^9"},"scripts":{"tgignore":"node src/tgIgnoreScript.js","postinstall":"node src/postInstall.js"},"license":"MIT","repository":{"type":"git","url":"https://github.com/aichemydev/cypress/cypress-plugin"},"author":{"name":"Waqas Bhatti, AiChemy.dev"},"gitHead":"55fa18255090f90e9e6a23970e24ce9d3fd00e06","description":"This is the [Wring](https://wring.dev) plugin for [Cypress](https://www.cypress.io/). It enables auto-healing of failed selectors.","_id":"@aichemy/wring-cypress-plugin@2.1.2","_nodeVersion":"16.18.1","_npmVersion":"7.24.1","dist":{"integrity":"sha512-lyBZ3RgBuY+o95iadzwyg2jkCvdbAAbQRoOddwqtteIxIziLFCzWRyo2tj/I4tgu2ipLoKjCGIUooi5WvIPJCg==","shasum":"4846c3413c2c352ad1a62392d96d6153d94ab10b","tarball":"https://registry.npmjs.org/@aichemy/wring-cypress-plugin/-/wring-cypress-plugin-2.1.2.tgz","fileCount":16,"unpackedSize":100506,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjKOV5ZbMCYUwfWLsOVgySud0uFDXYjeoU3fK+EHUldAIgcrGF9oU/FKQTiE/0kgnj5PjrMLadYS+pTSdPFMJkcYY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/kvbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo/8Q//aWytL2mUAGNno3inDyqQGfw//AfMHL/PEOGp2xCAKLS5NxYA\r\naTs1n3flGN8i5uXXTbr/hOAcS6nUh/CxjguNghm5uc+ONnycIBRBrRsX5mCo\r\nbMwN937kspVRyBTHw/H3qZShL9ThH5kMPKzps38UuYGPvQV+GhHb06tnz4pX\r\nXrYAT7xX0WggtHdoJxXYAIvoWWLycsrdHCaBpWwAeyTRxMLFDu+i2S8c5xtg\r\nlXBXosOzGJ2mRpmb2OEtqfIdZ2/VCsB/jdcAI0gRbCfxPKCcM+wo1o9h6QC0\r\nJav7KtQKkVGXZ/Jc2/fIF7e3qQZPDU4qiiI5qh81zEwx3//hurT3bJkOZXV1\r\nut44szgQEl7tOwptpXLfEU4ImVFOCO/PFuR8j6657QealYMxKi9It9wIqQY4\r\n7+ROr6+chIVF/DGLSEIl8hlRkB4nOtu44kp0I0Jtt6MrfF5PWLUrDaB7tbUL\r\nULgvuAEk1xRpXvIdgZb0YB62oI3WDgjo/R4ZtoEOzocE/yOtRil5+84fxxw1\r\n70Tol2mF5osCmbrLrA17QFXFuNFokA+f8QI/x9IVhf7m49KdRl8jp+klrq1d\r\niq8KaEPEh+jPZo1epwWj46eS7tps2PDXa1ZK0JG6QTEx0XDX/3ZXgDckHdb+\r\nc9OVSwdLxg+jX6SwLtgPTrbB3d0as6WhOxw=\r\n=/5VD\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"waqasbhatti","email":"waqas.afzal.bhatti@gmail.com"},"directories":{},"maintainers":[{"name":"sshivaji","email":"sshivaji@gmail.com"},{"name":"waqasbhatti","email":"waqas.afzal.bhatti@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/wring-cypress-plugin_2.1.2_1677609947220_0.7923167619393077"},"_hasShrinkwrap":false},"2.1.3":{"name":"@aichemy/wring-cypress-plugin","version":"2.1.3","main":"src/index.js","dependencies":{"jssha":"^3.2.0","node-fetch":"^2.6.7"},"devDependencies":{"cypress":"^9"},"scripts":{"tgignore":"node src/tgIgnoreScript.js","postinstall":"node src/postInstall.js"},"license":"MIT","repository":{"type":"git","url":"https://github.com/aichemydev/cypress/cypress-plugin"},"author":{"name":"Waqas Bhatti, AiChemy.dev"},"gitHead":"8b9023b147e5566912e9bbd6efbeb4a144287de1","description":"This is the [Wring](https://wring.dev) plugin for [Cypress](https://www.cypress.io/). It enables auto-healing of failed selectors.","_id":"@aichemy/wring-cypress-plugin@2.1.3","_nodeVersion":"16.18.1","_npmVersion":"7.24.1","dist":{"integrity":"sha512-kh6xHjNtnNLQepxKs2uwt5tz2pfHA1wbNmfcQthO+PDrLvYK+5JwKpXfhxmx5GhwD3yLzl0n2EBr9OnDuPL75A==","shasum":"3e6bb172f8bec728d629fbd30f5ce36a76fe86a9","tarball":"https://registry.npmjs.org/@aichemy/wring-cypress-plugin/-/wring-cypress-plugin-2.1.3.tgz","fileCount":16,"unpackedSize":101711,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOQPt7dttdbsyRf2ItYeDBD8AskL/tXpI4QFnP1W6c+gIgPfAA+BpRerm1HAyarMD4uOp/mWRVNnR6x7TFueh7iR4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/o2sACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqbkQ/+OwiCGmMaeHEE9X/t4wLprwdoGYH0d2Av+Dg3WqNrGjBnZPuh\r\nj9GotIzw2cP74f3OtXq6JlwEC5R67qhRhgfeG8H9L5zrmI6xsqS4tIKVqB6/\r\nT8+pxCpftV4D1u/J5EyrzOBEZUG0Q799hjXZ83CBnOOTI4UkZiEByUGYBOwX\r\nAGs4T7lFHW0aZE+KTRHSRG2zeuYWAQ0UNJgVu1ffQpuRVU6Hz89frh5P2YMn\r\n5Zu51vrXvBPgcsaUpjnS+pxFZCfydWgVqaIM1kE739LTBZ1+H8g12HUy/op5\r\n4/XOXXHW10xt75L3QLv1ys1pSSiOnuGZNqbm7yQ5mhKyHZUK5FzGJtqL20in\r\ni3vhKBB1p2q0pWR4I6qAH9zR3VMrz5fABx38M27xFdwC3rRFqdJVJHNAk1lq\r\nV1ulI7jkjzK7AxHDIiqEiPNObRkZ2hlOidaZyBkNYkDH2V5R2oqz5Ph5+4Ya\r\n8g8XB76gyQTHbudoZPRdMx0djunh86UpQRWZKpNKuPzmwILImrW7F2ByOlXj\r\n8rAoR9V/2nGNoi5fh4aXCaRlzFIlm1Xssj5C9Amn9sxgKbm5xGJ74HJkyw0V\r\nrtVye7W++NpYJI4aCMwwdCPlvM7OWq8Ht9eNULizjX7TTWxXrbFUxOpgFiBt\r\n+JDY7bKPT8nNkNK2uE1oXzgQacnNmafaRJo=\r\n=z7Ra\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"waqasbhatti","email":"waqas.afzal.bhatti@gmail.com"},"directories":{},"maintainers":[{"name":"sshivaji","email":"sshivaji@gmail.com"},{"name":"waqasbhatti","email":"waqas.afzal.bhatti@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/wring-cypress-plugin_2.1.3_1677626796642_0.6984857488274703"},"_hasShrinkwrap":false},"2.1.4":{"name":"@aichemy/wring-cypress-plugin","version":"2.1.4","main":"src/index.js","dependencies":{"jssha":"^3.2.0","node-fetch":"^2.6.7"},"devDependencies":{"cypress":"^9"},"scripts":{"tgignore":"node src/tgIgnoreScript.js","postinstall":"node src/postInstall.js"},"license":"MIT","repository":{"type":"git","url":"https://github.com/aichemydev/cypress/cypress-plugin"},"author":{"name":"Waqas Bhatti, AiChemy.dev"},"gitHead":"b7029c2a40610310db40f3d15ddb9fb875de79ed","description":"This is the [Wring](https://wring.dev) plugin for [Cypress](https://www.cypress.io/). It enables auto-healing of failed selectors.","_id":"@aichemy/wring-cypress-plugin@2.1.4","_nodeVersion":"16.18.1","_npmVersion":"7.24.1","dist":{"integrity":"sha512-3riXWX4EzUQSDFZwNczPfjJ8oJMmJPmiY4Exu5xWHQDuyrkWc+0rmnaZMA/YsJ5gDdzQfO+rj0WoYs24ysYGuw==","shasum":"18b6664d84c78e116232baed5735b5490247bf79","tarball":"https://registry.npmjs.org/@aichemy/wring-cypress-plugin/-/wring-cypress-plugin-2.1.4.tgz","fileCount":16,"unpackedSize":101775,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcqFAULQnrpUlMbR9m32LEDf55S2IM8QwQM90KfwPNHwIgFf/LeU27OlBdYmH61cabsm1eLJKcaFD93ysXkqveKsU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/o8lACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo9Ag//SjqAhnUcmkhsxEVHaoXwpLsUYfZkm2pZUEpKv9EatsRLQpOE\r\n4Sv05NKbywVclUltROuIsq9xwtW5A3+mDHryXObCU8kGZZfnu0UwRRDw/BaM\r\noKZ8Eg1X8r1l9bLztgJFEEOIK9vkohov/+K9WgoD575cbc/7qbyNgevU0TLx\r\nXW0sEyYwZAWPuFwhwWt+g8YJJ2ufVjHs4fYVNtM4APlfEF0BrLyg0a6Sr0Hl\r\nOpKJfZumTglPUw4HTA07p5+YmgwyvVglG1IBC/HS88XVAS1b0DzCgbKnoNp4\r\nT4kOh/SKlJrP8hILwRkDVUi8bRBuTK6BYa6CIfLHSqeip4tZR11ej1ahepRf\r\n7i+kUBg2sUyGuMm3HDtOGyTTbknylBBL2+itFz3ZW3zguMZuyiV/lP93hzNh\r\ngXxSyB7dmMsRqb8I9ihHBBts6srEseP5XivYYqEKMAKgGLyKDtL/eHsbDksx\r\nXSOGjZmiLDITBTOYKAlcvzhGGJ7Jeu0Pke0vd+g/o4Xx58v+8d8perDt2tzx\r\nGLh/wA4QM63rWu0a4I4MrXAvHLCbrv+nB+Ha/T/49wlstMaHmwd9juNtApyM\r\nTsZFyfOFTptNLVkUKDHp8WJpcIvBbhmKuvr8FkBKVt6HK2stiB8qVTxf4XIW\r\nRfZ/pRyXcFH9p+jOIIR4xwY5FhFTEA6hIOU=\r\n=qMm8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"waqasbhatti","email":"waqas.afzal.bhatti@gmail.com"},"directories":{},"maintainers":[{"name":"sshivaji","email":"sshivaji@gmail.com"},{"name":"waqasbhatti","email":"waqas.afzal.bhatti@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/wring-cypress-plugin_2.1.4_1677627173365_0.9786902980063619"},"_hasShrinkwrap":false},"2.1.5":{"name":"@aichemy/wring-cypress-plugin","version":"2.1.5","main":"src/index.js","dependencies":{"jssha":"^3.2.0","node-fetch":"^2.6.7"},"devDependencies":{"cypress":"^9"},"scripts":{"tgignore":"node src/tgIgnoreScript.js","postinstall":"node src/postInstall.js"},"license":"MIT","repository":{"type":"git","url":"https://github.com/aichemydev/cypress/cypress-plugin"},"author":{"name":"Waqas Bhatti, AiChemy.dev"},"gitHead":"54fe0759c82b2f42024d645eacf42f8a55ef7165","description":"This is the [Wring](https://wring.dev) plugin for [Cypress](https://www.cypress.io/). It enables auto-healing of failed selectors.","_id":"@aichemy/wring-cypress-plugin@2.1.5","_nodeVersion":"16.18.1","_npmVersion":"7.24.1","dist":{"integrity":"sha512-s2fzi1orp28wmRnchLPjfKTm3cvvNaQDGekl4ANzngHQuI1TCDcPfWNheSKOsvsYy8DjG8rwhDWWYLbcaJXJQQ==","shasum":"99b02ca0f798084123588a133f8a8f9e134aeac8","tarball":"https://registry.npmjs.org/@aichemy/wring-cypress-plugin/-/wring-cypress-plugin-2.1.5.tgz","fileCount":16,"unpackedSize":104654,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4V+KaAZ+FFl73hE3iHBAXUEd70c7jFw/o6SbXUZFouQIgR5hk0W4uwAEwFFHB5YKUS4F8jlTT0evSi0sRI3bLdg0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkC7QhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoLUxAAoFKRBnc5jddgUCzQM6dOokdvZsoeD59T1ODant8fd8m6faVJ\r\nokEmBjb4q8v1ODoPMrQpmLOkynzZ4F1rfVEV7LNnH+xRDUdvY2jp4tvcNzUF\r\nltDPzQdwZiPFOBkCkHDvbXaBHLcfrHU/6OWavMC4/CJ95Iq7ZGZ+aZl/8G5q\r\nl0pB9oR5PK2i6P+aFnHfb4q9zHi6Mlx94M7gAQSUsORKuutXMbnUxoR3Zwun\r\nVFlwuPaJEiXiR1vMy/anYU/LkG1LCME8fgfVjWXLMNmL44jPigKoP7KvqA8L\r\n7puVGh9H856wLlVVxiqtmKPRmDYzLecwlbj0+HrPkVYdeuYE1kvWz1l/y7FR\r\nlsS2mMcFxEpAiqxqODHHnlQcehK+RXiO9ZyeZI5Np87mNOMR7ij2l9fjts3v\r\nqSvOKPN96Nl7/uQMBS6LOU5ljii35sFF8ZKuhUbrFJTMegyNi3MqPSee1rz+\r\nGTWhHjx35hJ7jLiaulrviqcVN6TG2Gln+obY7z/en7eT5vwDrpOs1GlQpOQl\r\ny/ZOr6kn/erfxRXf6/msKghMDhjzUwUajNPCmCxmOlHfbjza4dWUy2sIpTKC\r\nO4rudX+H5k+pj93msEycwT1FsHCiketyUgitE1+OyFBHcnphjuvY2D8mtFjV\r\n7noIh6IS1NB6e7QjmoZWboWuWY7+5myoDvM=\r\n=cPeT\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"waqasbhatti","email":"waqas.afzal.bhatti@gmail.com"},"directories":{},"maintainers":[{"name":"sshivaji","email":"sshivaji@gmail.com"},{"name":"waqasbhatti","email":"waqas.afzal.bhatti@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/wring-cypress-plugin_2.1.5_1678488608973_0.5880980024088296"},"_hasShrinkwrap":false}},"time":{"created":"2022-09-19T20:09:38.508Z","2.0.0":"2022-09-19T20:09:38.725Z","modified":"2023-03-10T22:50:09.278Z","2.1.0":"2022-10-03T21:08:10.397Z","2.1.1":"2022-10-03T21:14:45.371Z","2.1.2":"2023-02-28T18:45:47.409Z","2.1.3":"2023-02-28T23:26:36.793Z","2.1.4":"2023-02-28T23:32:53.530Z","2.1.5":"2023-03-10T22:50:09.177Z"},"maintainers":[{"name":"sshivaji","email":"sshivaji@gmail.com"},{"name":"waqasbhatti","email":"waqas.afzal.bhatti@gmail.com"}],"description":"This is the [Wring](https://wring.dev) plugin for [Cypress](https://www.cypress.io/). It enables auto-healing of failed selectors.","repository":{"type":"git","url":"https://github.com/aichemydev/cypress/cypress-plugin"},"author":{"name":"Waqas Bhatti, AiChemy.dev"},"license":"MIT","readme":"This is the [Wring](https://wring.dev) plugin for\n[Cypress](https://www.cypress.io/). It enables auto-healing of failed selectors.\n\n\n## Compatibility\n\n- **This plugin is NOT compatible with Cypress 10+ yet**\n- Tested with Cypress 4.8.0+, 5, 6, 7, 8, and 9\n- Node 12+ is required\n- Cypress 4.8.0 is the oldest Cypress version supported\n- ES6 and Node 14+ is highly recommended\n\n\n## How to use the Wring Cypress plugin\n\n1. Install\n   the [Wring Cypress plugin package](https://www.npmjs.com/package/@aichemy/wring-cypress-plugin)\n   with NPM or yarn: `@aichemy/wring-cypress-plugin`.\n\n2. Add the required config object to your `cypress.json` file:\n\n   ```\n   {...,\n     \"wring\": {\n       \"serverTimeout\": 180.0,\n       \"handleFailure\": \"exception\",\n       \"filterEnabled\": true,\n       \"filterDisplayed\": true,\n       \"neighborMaxDist\": 300.0,\n       \"fastHeal\": false,\n       \"takeScreenshots\": false,\n       \"imageComparison\": false,\n       \"allSuggestEnabled\": false,\n       \"useAttributes\": null,\n       \"ignoreAttributes\": null,\n       \"commandWaitSeconds\": null\n     }...\n   }\n   ```\n\n   See [Plugin settings](#plugin-settings) for what these settings do.\n\n\n3. Update the `cypress/support/index.ts` or `cypress/support/index.js` file in\n   your tests' repo to include an import of the `@aichemy/wring-cypress-plugin`,\n   using the ES6 module import syntax:\n\n   ```javascript\n   import '@aichemy/wring-cypress-plugin';\n   ```\n\n   or CommonJS import syntax:\n\n   ```javascript\n   require('@aichemy/wring-cypress-plugin');\n   ```\n\n4. Export the required environment variables before starting Cypress:\n\n   ```bash\n   export CYPRESS_TG_ENABLED=true\n   export CYPRESS_TG_TOKEN='your Wring AIO token'\n   ```\n\n   Or place the corresponding items: `TG_ENABLED` and `TG_TOKEN` in your\n   `cypress.env.json` file.\n\n5. Review [how to ignore selectors](#ignoring-selectors) below if required for\n   your use case.\n\n6. Start Cypress from your repo and run your tests:\n\n   ```bash\n   ./node_modules/.bin/cypress open\n   ```\n\n## Plugin settings\n\n- `\"serverTimeout\"` (default: 180.0) sets the maximum time in seconds to wait\n  for a response from the Wring API. It's also a good idea to set the value\n  of `\"defaultCommandTimeout\"` in your cypress.json file to a similar value, so\n  your Cypress tests don't time out while waiting for a selector to be healed by\n  the Wring service. ( NOTE: `\"defaultCommandTimeout\"` is specified in\n  milliseconds).\n- `\"handleFailure\"` (default: `exception`) tells the plugin what to do when\n  healing a selector fails because there is no previous training data. If this\n  is set to the default `exception`, the plugin will not attempt to fix a broken\n  selector that has no training data and fail with an exception so the test run\n  fails normally. If set to `suggest-xpaths`, the plugin will request a\n  best-effort heal from the Wring API for a broken selector without any prior\n  training data. If a healed selector is found in this case, the plugin will\n  retry the element query and attempt to continue with your test run.\n- `\"filterEnabled\"` (default: true) tells the plugin how to treat disabled\n  elements. If set to `true`, elements on the page that are disabled will be\n  ignored when collecting training data for a selector. In most cases, this will\n  speed up the test run. If set to `false`, disabled elements will still be\n  considered when collecting training data.\n- `\"filterDisplayed\"` (default: true) tells the plugin how to treat invisible\n  elements. If set to `true`, elements on the page that are hidden will be\n  ignored when collecting training data for a selector. If you're sure your\n  selectors will never try to find an invisible target element on the page, set\n  this to `true`; this will speed up the test run. If set to `false`, invisible\n  elements will still be considered when collecting training data.\n- `\"neighborMaxDist\"` (default: 300.0) tells the plugin the radius in pixels\n  around each selector target element it should consider when collecting\n  training data. Only elements within this radius will be processed for training\n  if this option is set to a number greater than 0.0. Use this option when\n  you're sure your target elements won't move too far from their current\n  location when the page is revised (and their selectors need to be updated).\n  Adjusting this parameter can greatly speed up the test run when our plugin is\n  being used.\n- `\"fastHeal\"` (default: false) tells the plugin to check if the Wring API\n  has cached versions of training and healing data for a selector before\n  processing it. If set to `true`, this check will be done for each selector. If\n  your page has not changed between test runs, and cached versions of these data\n  exist, the plugin will not need to collect training or healing data when\n  processing the selector, thus speeding up your test run. Set this to `false`\n  when the page being tested is volatile, and the Wring API should always be\n  kept up to date on the current version.\n- `\"takeScreenshots\"` (default: false) tells the plugin whether to take\n  screenshots for every selector encountered during the Cypress test\n  run. Setting this to `true` allows us to point out the candidate selected\n  element locations on the page screenshot when we heal selectors. Disabling\n  this option by setting it to `false` can greatly speed up your Cypress test\n  run, since each Cypress screenshot invocation takes about 2 seconds.\n- `\"imageComparison\"` (default: false) is left in for compatibility with our\n  Selenium selector auto-healing solution; it doesn't do much at this stage, so\n  leave it as specified in the instructions above.\n- `\"allSuggestEnabled\"` (default: false) tells the plugin whether it should\n  collect information on all elements on the page whenever the URL changes\n  during the test run. The plugin asks the Wring API to generate CSS\n  selectors for all of these elements. This can help augment your test cases by\n  presenting robust selectors for all elements encountered during the test\n  run. This adds about 2 seconds per page encounter to the test run time. Note\n  that generating selectors for all elements encountered on each page\n  encountered is a CPU intensive task, and is performed asynchronously by the\n  Wring API. In the worst case, all generated selectors may not appear in\n  the Wring dashboard UI for a few minutes after your test run finishes.\n- `\"useAttributes\"` (default: null) is used to specify a comma-separated string\n  list of HTML element attributes that the Wring API should preferentially\n  use when generating selector suggestions and when healing selectors, for\n  example: `\"useAttributes\": \"data-test,data-cypresstest,data-formtest\"`.\n- `\"ignoreAttributes\"` (default: null) is used to specify a comma-separated\n  string list of HTML element attributes that the Wring API should NOT use\n  when generating selector suggestions and when healing selectors, for example:\n  `\"ignoreAttributes\": \"id,href,class\"`. This is useful when your webapp's HTML\n  is generated by an SPA or no-code framework and the specified attributes have\n  no semantic meaning, thus are not suitable for use in selectors.\n- `\"commandWaitSeconds\"`: (default: null) is used to specify a time period in\n  seconds to wait before each Cypress command is executed. This can be useful to\n  visualize the changes on the webpage as the test runs. Note that this option\n  can be used even if the interceptor is not enabled. Setting the environment\n  variable `CYPRESS_TG_COMMANDWAIT=<some number greater than 0>` will\n  also enable the command-wait mode without requiring that the full interceptor\n  is enabled. If this environment variable is set, it overrides the value in\n  the `wring` object in the `cypress.json` file.\n\n## Tagging test runs\n\nIn addition to these settings, the plugin also supports adding tags to your test\nruns for better organization and easier viewing in the Wring dashboard. To add\ntags, set an environment variable:\n\n```\nexport CYPRESS_TG_RUNTAGS='tag1,tag2,tag3'\n```\n\nBy default, the plugin adds the tags: \"cypress, interceptor, javascript\". Any\ntags specified in the `CYPRESS_TG_RUNTAGS` environment variable will replace\nthese tags.\n\n## Support for test suites\n\nIf your **test scripts** can be grouped into **test suites**, you can direct the\nWring API to group your test scripts accordingly. Setting the environment\nvariable `CYPRESS_TG_SUITE` with the name of your **test suite** will set up\nyour **test script** to be counted as part of this suite in the Wring dashboard\nand instantiate a new **test suite run** for this **test suite**. Similarly,\nsetting the environment variable `CYPRESS_TG_SUITERUN` will set up your **test\nscript** to be counted as part of an existing **test suite run** if the name\nmatches, or create a new **test suite run** by that name if it doesn't. The\nbehavior of these settings is detailed below:\n\n- Set `CYPRESS_TG_SUITE` only:\n  - creates a new **test suite** with the given name if one doesn't exist with\n    this name\n  - creates a new **test suite run** named *Default test suite run* associated\n    with this **test suite**\n  - marks this **test script** as part of the new **test suite run** associated\n    with this **test suite**\n- Set `CYPRESS_TG_SUITERUN` only:\n  - creates a new **test suite** named *Default test suite* if it doesn't exist\n  - creates a new **test suite run** with the given name associated with this\n    **test suite**\n  - marks this **test script** as part of the new **test suite run** associated\n    with this new **test suite**\n- Set `CYPRESS_TG_SUITE` and `CYPRESS_TG_SUITERUN`:\n  - creates a new **test suite** with the given name if it doesn't exist\n  - creates a new **test suite run** with the given name associated with this\n    **test suite** if it doesn't exist\n  - marks this **test script** as part of the given **test suite run**\n    associated with this **test suite**\n- Unset `CYPRESS_TG_SUITE` and `CYPRESS_TG_SUITERUN` (default):\n  - this **test script** is not associated with a **test suite** or **test suite\n    run**\n\n## Ignoring selectors\n\nSelectors that you don't want healed (e.g. for negative test scenarios) may be\nplaced in a `.tgignore` file. In this file, specify selectors to be ignored\nduring processing, listing them one per line, for example:\n\n```\n# comment lines starting with '#' are ignored\n# list selectors to ignore, one per line\n*[id=\"office_phone1234\"]\n.mobilePhoneClass1234\n```\n\nTo make the Wring API aware of the ignored selectors in this file, you must\nrun a pre-processing step before your test run. After the Wring Cypress\nplugin is installed, it places a script entry for this purpose in your\n`package.json` that you can run:\n\n```\nnpm run tgignore [add|remove|check] [path to .tgignore file]\n```\n\nIf the first script argument is `add`, all selectors in the provided `.tgignore`\nfile will be added to the Cypress ignored selectors list. The Wring Cypress\nplugin will ignore these selectors when they are encountered in any test from\nnow on.\n\nIf the first argument is `remove`, all selectors in the provided `.tgignore`\nfile will be removed from the Cypress ignored selectors list. The Wring\nCypress plugin will process these selectors when they are encountered in any\ntest from now on.\n\nIf the first argument is `check`, the selectors in the provided `.tgignore` file\nwill be sent to the Wring API to check if they are on the Cypress ignored\nselectors list. The script will print out each selector and its ignore status.\n\nIf no second argument is given, the script will look for a `.tgignore` file in\nthe current working directory.\n\n### Examples\n\nRun `npm run tgignore add` with a `.tgignore` file in the Cypress project\ndirectory:\n\n```\n{\n  message: \"Operation: 'add' for tgIgnore successful.\",\n  response: {\n    userId: '96b755d1-8418-4aa2-b38f-049dda7bcd8e',\n    ignoredSelectors: [ \"a.btn.btn-primary.btn-lg[href='/login']\" ],\n    createdAt: '2021-09-20T19:37:11.193435+00:00',\n    updatedAt: '2021-09-20T20:30:55.613033+00:00',\n    isActive: true\n  },\n  status: 'success'\n}\n```\n\nRun `npm run tgignore remove` with a `.tgignore` file in the Cypress project\ndirectory to remove all the selectors in the file from the ignored-selectors\nlist:\n\n```\n{\n  message: \"Operation: 'remove' for tgIgnore successful.\",\n  response: {\n    userId: '96b755d1-8418-4aa2-b38f-049dda7bcd8e',\n    ignoredSelectors: [],\n    createdAt: '2021-09-20T19:37:11.193435+00:00',\n    updatedAt: '2021-09-20T20:31:49.128542+00:00',\n    isActive: true\n  },\n  status: 'success'\n}\n```\n\nRun `npm run tgignore check` with an updated `.tgignore` file in the Cypress\nproject directory to see if all selectors in the file are registered as ignored\nselectors:\n\n```\n{\n  message: \"Operation: 'check' for tgIgnore successful.\",\n  response: {\n    userId: '96b755d1-8418-4aa2-b38f-049dda7bcd8e',\n    ignoredSelectors: [ \"a.btn.btn-primary.btn-lg[href='/login']\" ],\n    createdAt: '2021-09-20T19:37:11.193435+00:00',\n    updatedAt: '2021-09-20T20:34:26.122700+00:00',\n    isActive: true,\n    missingIgnoredSelectors: [ 'input[name=\"password\"]' ]\n  },\n  status: 'success'\n}\n```\n\nIn this case, the `missingIgnoredSelectors` item contains selectors that are in\nthe `.tgignore` file but aren't registered as ignored by the Wring API. To\nadd these missing selectors, run `npm run tgignore add` again:\n\n```\n{\n  message: \"Operation: 'add' for tgIgnore successful.\",\n  response: {\n    userId: '96b755d1-8418-4aa2-b38f-049dda7bcd8e',\n    ignoredSelectors: [ \"a.btn.btn-primary.btn-lg[href='/login']\", 'input[name=\"password\"]' ],\n    createdAt: '2021-09-20T19:37:11.193435+00:00',\n    updatedAt: '2021-09-20T20:35:19.811131+00:00',\n    isActive: true\n  },\n  status: 'success'\n}\n```\n\n\n## Changelog\n\n### 2.1.5 - 2023-03-10\n\n#### New stuff\n\n- The environment variables `CYPRESS_TG_SUITE` and `CYPRESS_TG_SUITERUN` can now\n  be populated to set up a test script run that belongs to a test suite.\n\n### 2.1.4 - 2023-02-28\n\n#### Fixes\n\n- Fixed a typo in the README.\n\n### 2.1.3 - 2023-02-28\n\n#### Changes\n\n- The `\"commandWaitSeconds\"` option is now effective even if the interceptor is\n  not in use. Setting the environment variable `CYPRESS_TG_COMMANDWAIT=<some\n  number greater than 0>` will also enable the command-wait mode (and override\n  the option set in the `cypress.json` file).\n\n### 2.1.2 - 2023-02-28\n\n#### New stuff\n\n- There is a new option to enable waiting for a certain amount of seconds before\n  every Cypress command is executed. Set the `\"commandWaitSeconds\"` item in the\n  `\"tgConfig\"` options object to enable this feature.\n\n### 2.1.1 - 2022-10-04\n\n#### Fixes\n\n- Removed inadvertently added `json` tags for the output listings of the\n  `tgignore` script.\n\n### 2.1.0 - 2022-10-04\n\n#### New stuff\n\n- Tags can now be added to your runs for better organization. See the settings\n  section above for details.\n- The plugin now adds \"cypress, interceptor, javascript\" as default run tags to\n  help find Cypress test runs in the Wring dashboard.\n\n#### Fixes\n\n- Log messages now correctly reference the \"Wring API\" instead of the \"TG API\".\n\n#### Changes\n\n- Updated the Cypress version compatibility statement to include Cypress 6, 7,\n  8, and 9. A plugin version compatible with Cypress 10 will be made available\n  later.\n- The default max timeout when waiting for selector success has been increased\n  to 4 seconds to reduce false-positive triggers for the heal-flow when the\n  network connection is slow.\n- Release notes for plugin versions older than 1.8.0 have been removed from this\n  listing to save space. Find these at:\n  https://www.npmjs.com/package/@aichemy/testgold-cypress-plugin\n\n### 2.0.0 - 2022-09-17\n\nThis version of the plugin changes the product name from TestGold to Wring.\nThe package is now called `@aichemy/wring-cypress-plugin`.\n\n#### Fixes\n\n- Fixes for analyzer requests breaking the test run if the plugin was not\n  enabled.\n\n### 1.8.4 - 2022-04-26\n\n#### Fixes\n\n- Updated `node-fetch` dependency for [security advisory](https://github.com/advisories/GHSA-r683-j2x4-v87g).\n\n### 1.8.3 - 2022-04-26\n\n#### New stuff\n\n- Added the `\"useAttributes\"` and `\"ignoreAttributes\"` plugin settings items to\n  control how the Wring API generates selector suggestions and healed\n  selectors. See the [plugin settings](#plugin-settings) above for details.\n\n### 1.8.2 - 2022-03-10\n\n#### Fixes\n\n- Fixed an arg not being populated correctly for the TG analyzer API.\n\n### 1.8.1 - 2022-03-09\n\n#### New stuff\n\n- Added parsing of the input-element 'clear' action for test steps.\n\n#### Fixes\n\n- Correct parsing of the 'mouseover' action for test steps.\n- Correct parsing of the 'wait' action for test steps.\n\n### 1.8.0 - 2022-03-08\n\nThis version of the plugin adds compatibility with the analyzer feature of\nthe Wring API. At the moment, this populates the \"Run steps\" tab in the\nWring UI with a list of executed steps described in plain English. In\nthe future, this will enable test script auto-maintenance. The following\nCypress commands are currently recognized:\n\n```\ncheck\nuncheck\nclick\ndblclick\nhover\nrightclick\ntype\nselect\nsubmit\nget\nvisit\nwait\n```\n\n#### New stuff\n\n- Added TG analyzer API endpoint usage.\n\nVersions older than 1.8.0 are described on the old\n`aichemy/testgold-cypress-plugin` page at:\nhttps://www.npmjs.com/package/@aichemy/testgold-cypress-plugin\n","readmeFilename":"README.md"}