https://github.com/wisersolutions/cypress-without
`without` command for Cypress (https://www.cypress.io) for breaking out of a `within` inside custom commands
https://github.com/wisersolutions/cypress-without
Last synced: 12 months ago
JSON representation
`without` command for Cypress (https://www.cypress.io) for breaking out of a `within` inside custom commands
- Host: GitHub
- URL: https://github.com/wisersolutions/cypress-without
- Owner: WiserSolutions
- License: mit
- Created: 2019-06-10T12:27:28.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-07-18T20:17:33.000Z (almost 3 years ago)
- Last Synced: 2025-06-03T02:32:16.964Z (about 1 year ago)
- Language: JavaScript
- Size: 812 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cypress-without
`without` command for Cypress (https://www.cypress.io) for breaking out of a `within` inside custom commands
## Use
### `without`
Either import and use the command directly as a plain function:
```javascript
import { without } from '@wisersolutions/cypress-without'
cy.get('.some-container').within(() => {
// ... find elements inside the container only
without(() => {
// ... find elements anywhere (e.g. drop-downs rendered through portals)
})
// ... find more elements just inside the container
})
```
Or register the command with Cypress and chain it off `cy`:
```javascript
import '@wisersolutions/cypress-without/lib/register' // best done just once in your support script
cy.get('.some-container').within(() => {
// ... find elements inside the container only
cy.without(() => {
// ... find elements anywhere (e.g. drop-downs rendered through portals)
})
// ... find more elements just inside the container
})
```
Provide `{ log: false }` as the second argument to mute the log output.
### `absoluteRoot`
If you need to chain off the document root rather than perform a one-off action
on it, use `absoluteRoot` to get the root.
```javascript
import { absoluteRoot } from '@wisersolutions/cypress-without'
export const getActiveModal = () => absoluteRoot().find('.some-modal:visible')
```
This helper also gets registered as Cypress command when importing `…/register` (see above).
## Development
### Install
Install dependencies using:
```sh
npm install
```
### Develop
After you modify sources, run the following (or set up your IDE to do it for you):
- format the code using `npm run format`
- lint it using `npm run lint`
- test it using `npm test`
and fix the errors, if there are any.
### Publish
Publishing is done in two steps:
1. Create a new version tag and push it to the repository:
```sh
npm version
git push --follow-tags
```
1. Build and publish the new version as a npm package:
```sh
npm publish --access public
```