{"id":13492998,"url":"https://github.com/NoriSte/cypress-wait-until","last_synced_at":"2025-03-28T11:31:18.699Z","repository":{"id":37664186,"uuid":"183747775","full_name":"NoriSte/cypress-wait-until","owner":"NoriSte","description":"Add the Cypress waiting power to virtually everything 🎉","archived":false,"fork":false,"pushed_at":"2024-09-10T12:05:59.000Z","size":1936,"stargazers_count":694,"open_issues_count":5,"forks_count":27,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-10-17T23:10:57.334Z","etag":null,"topics":["cypress","cypress-plugin","javascript","wait"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/cypress-wait-until","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NoriSte.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-27T08:27:56.000Z","updated_at":"2024-10-11T12:38:10.000Z","dependencies_parsed_at":"2024-06-18T12:28:00.732Z","dependency_job_id":"b6adfbae-8db8-4548-87fa-6b830ea5b544","html_url":"https://github.com/NoriSte/cypress-wait-until","commit_stats":{"total_commits":488,"total_committers":13,"mean_commits":37.53846153846154,"dds":"0.42008196721311475","last_synced_commit":"d0413f48eb98c886b295c45175bece1cf962b70c"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoriSte%2Fcypress-wait-until","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoriSte%2Fcypress-wait-until/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoriSte%2Fcypress-wait-until/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoriSte%2Fcypress-wait-until/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NoriSte","download_url":"https://codeload.github.com/NoriSte/cypress-wait-until/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222216515,"owners_count":16950296,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cypress","cypress-plugin","javascript","wait"],"created_at":"2024-07-31T19:01:11.182Z","updated_at":"2024-10-31T07:30:59.717Z","avatar_url":"https://github.com/NoriSte.png","language":"JavaScript","funding_links":[],"categories":["Uncategorized","JavaScript"],"sub_categories":["Uncategorized"],"readme":"# cypress-wait-until\n\nAdd the Cypress waiting power to virtually everything 🎉\n\n[![Build Status](https://travis-ci.com/NoriSte/cypress-wait-until.svg?branch=master)](https://travis-ci.com/NoriSte/cypress-wait-until)\n[![Build Cron](https://img.shields.io/badge/build%20cron-weekly-44cc11.svg)](https://travis-ci.com/NoriSte/cypress-wait-until)\n[![Renovate enabled](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://renovatebot.com/)\n[![Cypress Dashboard](https://img.shields.io/static/v1?label=Cypress\u0026message=Dashboard\u0026color=00BF88)](https://dashboard.cypress.io/#/projects/g21npg/runs)\n[![NPM downloads](https://img.shields.io/npm/dm/cypress-wait-until?color=CB3836)](https://www.npmjs.com/package/cypress-wait-until)\n\u003cbr /\u003e\n[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FNoriSte%2Fcypress-wait-until.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2FNoriSte%2Fcypress-wait-until?ref=badge_shield) [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![TypeScript](https://badges.frapsoft.com/typescript/love/typescript.svg?v=101)](https://github.com/ellerbrock/typescript-badges/)\n[![Open Source\nSaturday](https://img.shields.io/badge/%E2%9D%A4%EF%B8%8F-open%20source%20saturday-F64060.svg)](https://www.meetup.com/it-IT/Open-Source-Saturday-Milano/)\n\nUse this plugin to wait for everything not expected by [Cypress wait](https://docs.cypress.io/api/commands/wait.html#Syntax).\n\n## Installation\n\n```bash\nnpm i -D cypress-wait-until\n# or\nyarn add -D cypress-wait-until\n```\n\n## Usage\n\n`cypress-wait-until` extends Cypress' `cy` command.\n\nAdd this line to your project's `cypress/support/commands.js`:\n\n```javascript\nimport 'cypress-wait-until';\n```\n\nThen, in your test, you can write\n\n```javascript\n// wait until a cookie is set\ncy.waitUntil(() =\u003e cy.getCookie('token').then(cookie =\u003e Boolean(cookie \u0026\u0026 cookie.value)));\n\n// wait until a global variable has an expected value\ncy.waitUntil(() =\u003e cy.window().then(win =\u003e win.foo === \"bar\"));\n\n// sync function works too!\ncy.waitUntil(() =\u003e true);\n\n// with all the available options\ncy.waitUntil(() =\u003e cy.window().then(win =\u003e win.foo === \"bar\"), {\n  errorMsg: 'This is a custom error message', // overrides the default error message\n  timeout: 2000, // waits up to 2000 ms, default to 5000\n  interval: 500 // performs the check every 500 ms, default to 200\n});\n```\n\nIf you return a truthy value, it becomes the subject for the next command. So you can assert about\nit too\n\n```javascript\n// wait until the Recaptcha token will be added to the dedicated hidden input field...\ncy.waitUntil(() =\u003e cy.get(\"input[type=hidden]#recaptchatoken\").then($el =\u003e $el.val()))\n  // ... then, check that it's valid string asserting about it\n  .then(token =\u003e expect(token).to.be.a(\"string\").to.have.length.within(1, 1000));\n```\n\nThe `waitUntil` command could be chained to other commands too. As an example, the following codes are equivalent\n```javascript\ncy.waitUntil(() =\u003e cy.getCookie('token').then(cookie =\u003e cookie.value === '\u003cEXPECTED_VALUE\u003e'));\n// is equivalent to\ncy.wrap('\u003cEXPECTED_VALUE\u003e')\n  .waitUntil((subject) =\u003e cy.getCookie('token').then(cookie =\u003e cookie.value === subject));\n```\n**Please note**\n- do not expect that the previous command is retried. Only what's inside the `checkFunction` body is retried\n```javascript\ncy.getCookie('token') // will not be retried\n  .waitUntil(cookie =\u003e cookie.value === '\u003cEXPECTED_VALUE\u003e');\n```\n- you cannot put assertions inside `checkFunction`. There is no way to avoid a test failure [if an assertion throws an error](https://stackoverflow.com/questions/56743695/error-handling-using-the-catch-block-in-cypress). You must manually check what the assertions would check for you. The most common case is checking that an element exists or not, instead of using `cy.get('#id').should('exist')` you should check that `Cypress.$('#id').length` is greater than `0`. [Here](https://github.com/NoriSte/cypress-wait-until/issues/75#issuecomment-572685623) you can find a deeper explanation\n\n- nested `cy.waitUntil` calls don't respect `timeout` options. `timeout` and `interval` are converted to a number of retries. If the parent `cy.waitUntil` retries 10 times and the nested one 15 times, then the latter will be run 150 times before giving up, resulting in an extremely long wait. See [the discussion](https://github.com/NoriSte/cypress-wait-until/issues/241) for more info\n\n\n\n\n### TypeScript\n\nIf you use TypeScript you can define the `checkFunction` returning type too. Take a look at the [plugin.spec.ts](./cypress/types/plugin.spec.ts) file to read about the `cy.waitUntil` signature.\n\n#### IMPORTANT:\n1. Remember to add `cypress-wait-until` to the `cypress/tsconfig.json` file\n\n```javascript\n{\n  \"compilerOptions\": {\n    \"types\": [\"cypress\", \"cypress-wait-until\"]\n  }\n}\n```\n\n2. If you are encountering \"cy.waitUntil is not a function\" or \"cy.waitUntil is undefined\", you might need to specify the support file in your `cypress.json` for the import to work correctly:\n\n```javascript\n{\n  \"supportFile\": \"cypress/support/commands.ts\"\n}\n\n```\n\n\n\n## Arguments\n\n- checkFunction\n\nA function that must return a truthy value when the wait is over.\n\n- options:Object (optional)\n\nPass in an options object to change the default behavior of `cy.waitUntil()`.\n\n| Option               | Type                   | Default                | Description                                                                                                                                               |\n| -------------------- | ---------------------- | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `errorMsg`           | `string` \\| `function` | `\"Timed out retrying\"` | The error message to write. If it's a function, it will receive the last result and the options passed to `cy.waitUntil`                                  |\n| `timeout`            | `number`               | `5000`                 | Time to wait for the `checkFunction` to return a truthy value before throwing an error.                                                                   |\n| `interval`           | `number`               | `200`                  | Time to wait between the `checkFunction` invocations.                                                                                                     |\n| `description`        | `string`               | `\"waitUntil\"`          | The name logged into the Cypress Test Runner.                                                                                                             |\n| `logger`             | `function`             | `Cypress.log`          | A custom logger in place of the default [Cypress.log](https://docs.cypress.io/api/cypress-api/cypress-log.html). It's useful just for debugging purposes. |\n| `log`                | `boolean`              | `true`                 | Enable/disable logging.                                                                                                                                   |\n| `customMessage`      | `string`               | `undefined`            | String logged after the `options.description`.                                                                                                            |\n| `verbose`            | `boolean`              | `false`                | If every single check result must be logged.                                                                                                              |\n| `customCheckMessage` | `string`               | `undefined`            | Like `customMessage`, but used for every single check. Useless if `verbose` is not set to `true`.                                                         |\n\nLog options are a lot, take a look at the next screenshot to understand how they are printed\n\n![Plugin log options](assets/log-explained.jpg)\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n## Could cy.waitUntil avoid failing the test?\n\nNo. `cy.waitUntil` waits for something that must happen, otherwise the test will fail. [Cypress enforces to avoid conditional testing](https://docs.cypress.io/guides/core-concepts/conditional-testing.html) and the plugin agrees with that.\n\nThere are cases where conditional testing makes sense but if `cy.waitUntil` would have this capability everyone will use it to create conditional tests, treating the Cypress feature—because avoiding conditional testing is a feature—as \"a bug\".\n\nIf you need conditional testing you could write your own recursive promise check function (take a look [here](https://stackoverflow.com/questions/54883861/how-can-i-wait-for-each-element-in-a-list-to-update-to-a-certain-text-using-cypr/55363629#55363629) and [here](https://stackoverflow.com/questions/54732818/how-do-i-wait-until-a-cookie-is-set/54743229#54743229) where it is explained how to do that) where you manage your case. After all, `cy.waitUntil` is just a recursive promise manager 😊\n\n## Why did we write it?\n\nA lot of StackOverflow users had some difficulties in implementing a recursive promise with Cypress\njust to repeatedly check for something to happen (see two of the various questions about the topic: [How can i wait for each element in a list to update to a certain\ntext?](https://stackoverflow.com/questions/54883861/how-can-i-wait-for-each-element-in-a-list-to-update-to-a-certain-text-using-cypr/55363629#55363629)\nAnd [How do I wait until a cookie is\nset?](https://stackoverflow.com/questions/54732818/how-do-i-wait-until-a-cookie-is-set/54743229#54743229)).\n\u003cbr /\u003e\nThis plugin is dedicated to them ❤️\n\n\n## Open Source Saturday\n\nThis project has been made during one of the Open Source Saturdays, a series of Milan-based events\nwhere everyone codes just to spread some Open Source love ❤️\n\n## Contributing\n\nContributes are welcome, if you need to run the tests through `npm test`, you must update the package.json configuration setting `cypressUploadRecordings` to `false` (or set your own [Cypress recording key](https://docs.cypress.io/guides/guides/command-line.html#Options)).\n\n## Contributors\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://twitter.com/NoriSte\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/173663?v=4?s=100\" width=\"100px;\" alt=\"Stefano Magni\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eStefano Magni\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NoriSte/cypress-wait-until/commits?author=NoriSte\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/NoriSte/cypress-wait-until/commits?author=NoriSte\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"https://github.com/NoriSte/cypress-wait-until/commits?author=NoriSte\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/allevo\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/1054125?v=4?s=100\" width=\"100px;\" alt=\"Tommaso Allevi\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTommaso Allevi\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NoriSte/cypress-wait-until/commits?author=allevo\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/NoriSte/cypress-wait-until/commits?author=allevo\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/brogueady\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/10169795?v=4?s=100\" width=\"100px;\" alt=\"brogueady\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ebrogueady\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NoriSte/cypress-wait-until/commits?author=brogueady\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/seeu1\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/57105774?v=4?s=100\" width=\"100px;\" alt=\"seeu1\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eseeu1\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-seeu1\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/sweir27\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/2081340?v=4?s=100\" width=\"100px;\" alt=\"Sarah Weir\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSarah Weir\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NoriSte/cypress-wait-until/issues?q=author%3Asweir27\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/NoriSte/cypress-wait-until/commits?author=sweir27\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/john20xdoe\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/14521605?v=4?s=100\" width=\"100px;\" alt=\"Lee Alexis\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLee Alexis\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NoriSte/cypress-wait-until/commits?author=john20xdoe\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/peburrows\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/778?v=4?s=100\" width=\"100px;\" alt=\"Phil Burrows\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePhil Burrows\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-peburrows\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"https://github.com/NoriSte/cypress-wait-until/commits?author=peburrows\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/NoriSte/cypress-wait-until/commits?author=peburrows\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/LeoVie\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/7249788?v=4?s=100\" width=\"100px;\" alt=\"Leo Viezens\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLeo Viezens\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NoriSte/cypress-wait-until/commits?author=LeoVie\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://pierluc.io/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/2636763?v=4?s=100\" width=\"100px;\" alt=\"Pier-Luc Gendreau\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePier-Luc Gendreau\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NoriSte/cypress-wait-until/commits?author=Zertz\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/liambutler\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/24389501?v=4?s=100\" width=\"100px;\" alt=\"Liam Butler\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLiam Butler\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NoriSte/cypress-wait-until/commits?author=liambutler\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/NoriSte/cypress-wait-until/commits?author=liambutler\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://knorrium.info\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/100320?v=4?s=100\" width=\"100px;\" alt=\"Felipe Knorr Kuhn\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFelipe Knorr Kuhn\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NoriSte/cypress-wait-until/commits?author=knorrium\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://oleksiikachan.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/14169061?v=4?s=100\" width=\"100px;\" alt=\"Oleksii Kachan\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eOleksii Kachan\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NoriSte/cypress-wait-until/issues?q=author%3AOleksiiKachan\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.strangeplanet.fr\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/41597?v=4?s=100\" width=\"100px;\" alt=\"Damien Sorel\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDamien Sorel\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NoriSte/cypress-wait-until/issues?q=author%3Amistic100\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/piccit\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/6035529?v=4?s=100\" width=\"100px;\" alt=\"piccit\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003epiccit\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NoriSte/cypress-wait-until/issues?q=author%3Apiccit\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNoriSte%2Fcypress-wait-until","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNoriSte%2Fcypress-wait-until","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNoriSte%2Fcypress-wait-until/lists"}