Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/raathigesh/majestic
⚡ Zero config GUI for Jest
https://github.com/raathigesh/majestic
developer-experience developer-tools jest react
Last synced: about 15 hours ago
JSON representation
⚡ Zero config GUI for Jest
- Host: GitHub
- URL: https://github.com/raathigesh/majestic
- Owner: Raathigesh
- License: mit
- Created: 2017-11-28T10:28:30.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2022-05-03T14:54:05.000Z (over 2 years ago)
- Last Synced: 2024-10-29T15:48:36.968Z (2 months ago)
- Topics: developer-experience, developer-tools, jest, react
- Language: TypeScript
- Homepage:
- Size: 9.51 MB
- Stars: 7,492
- Watchers: 53
- Forks: 173
- Open Issues: 51
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.MD
- License: LICENSE
Awesome Lists containing this project
README
Majestic is a GUI for [Jest](https://jestjs.io/)
- ✅ Run all the tests or a single file
- ⏱ Toggle watch mode
- 📸 Update snapshots
- ❌ Examine test failures as they happen
- ⏲ Console.log() to the UI for debugging
- 🚔 Built-in coverage report
- 🔍 Search tests
- 💎 Works with flow and typescript projects
- 📦 Works with Create react app> Majestic supports Jest 20 and above
### Get started
Run majestic via `npx` in a project directory
```bash
cd ./my-jest-project # go into a project with Jest
npx majestic # execute majestic
```or install Majestic globally via Yarn and run majestic
```bash
yarn global add majestic # install majestic globally
cd ./my-jest-project # go into a project with Jest
majestic # execute majestic
```or install Majestic globally via Npm and run majestic
```bash
npm install majestic -g # install majestic globally
cd ./my-jest-project # go into a project with Jest
majestic # execute majestic
```### Running as an app
Running with the `--app` flag will launch Majestic as a chrome app.
### Optional configuration
You can configure Majestic by adding `majestic` key to `package.json`.
```javascript
// package.json
{
"majestic": {
// if majestic fails to find the Jest package, you can provide it here. Should be relative to the package.json
"jestScriptPath": "../node_modules/jest/bin/jest.js",
// if you want to pass additional arguments to Jest, do it here
"args": ['--config=./path/to/config/file/jest.config.js'],
// environment variables to pass to the process
"env": {
"CI": "true"
}
}
}
```#### Optional configuration in project with multiple Jest configuration files
```javascript
{
"majestic": {
"jestScriptPath": "../node_modules/jest/bin/jest.js",
"configs": {
"config1": {
"args": [],
"env": {}
},
"config2": {
"args": [],
"env": {}
}
}
}
}
```### Arguments
`--config` - Will use this config from the list supplied in optional configuration.
`--debug` - Will output extra debug info to console. Helps with debugging.
`--noOpen` - Will prevent from automatically opening the UI url in the browser.
`--port` - Will use this port if available, else Majestic will pick another free port.
`--version` - Will print the version of Majestic and will exit.
### Shortcut keys
`alt+t` - run all tests
`alt+enter` - run selected file
`alt+w` - watch
`alt+s` - search
`escape` - close search
### Troubleshooting
Have a look at some of the [common workarounds](./Troubleshooting.md).
### Contribute
Have a look at the [contribution guide](./CONTRIBUTING.MD).
## Contributors
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
Duncan Beevers
💻
Max Bridgland
📖 🤔 🐛 💻
Yuraima Estevez
💻
Jake Crosby
💻
Gavin Henderson
💻
briwa
💻
Luan Ferreira
💻
Tushar Gupta
💻
Agusti Fernandez
💻 🤔
Moos
🐛 💻 📖
MacZel
💻 🤔
Vikram Dighe
💻
John Smey
💻 🤔 🐛
BuckAMayzing
💻 🐛
Rahul A. Krishna
💻 🤔 🔧
Amila Welihinda
🚇
gregveres
🐛 💻
adam klein
⚠️ 💻
Raphaël Barbazza
💻
Phil Alsford
📖
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!