Skip to content
⚡ Zero config GUI for Jest
Branch: master
Clone or download
krazylegz and Raathigesh Open In Env EDITOR (#127)
Uses the Open In Editor button to open in the editor set by `$EDITOR` if
`code` is not valid on your platform.
Latest commit bb50b40 Apr 18, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update stale.yml Apr 8, 2019
.vscode fixing some ide shit Apr 3, 2019
branding
integration Clean up typos Mar 30, 2019
scripts Added 'open' to externals so it works on Ubuntu Mar 28, 2019
server
ui Few more fixes Apr 5, 2019
.all-contributorsrc docs: add krazylegz as a contributor (#128) Apr 18, 2019
.babelrc Initial file explorer implementation Dec 29, 2018
.gitignore
.travis.yml
CONTRIBUTING.MD Fix Typos Apr 17, 2019
LICENSE Cleanup starter kit Dec 29, 2018
README.md docs: add krazylegz as a contributor (#128) Apr 18, 2019
Troubleshooting.md
image.png
nodemon.json Cleanup starter kit Dec 29, 2018
package.json v1.4.1 Apr 17, 2019
tsconfig.json stuff Mar 6, 2019
tsconfig.server.json
yarn.lock WIP Coverage implementation Apr 1, 2019

README.md


Majestic is a GUI for Jest

  • 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

cd ./my-jest-project # go into a project with Jest
npx majestic # execute majestic

or install Majestic globally via Yarn and run majestic

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

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.

// 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

{
    "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.

Troubleshooting

Have a look at some of the common workarounds.

Contribute

Have a look at the contribution guide.

License

MIT

Contributors

Thanks goes to these wonderful people (emoji key):

Duncan Beevers
Duncan Beevers

💻
Max Bridgland
Max Bridgland

📖
Yuraima Estevez
Yuraima Estevez

💻
Jake Crosby
Jake Crosby

💻
Gavin Henderson
Gavin Henderson

💻
briwa
briwa

💻
Luan Ferreira
Luan Ferreira

💻
Tushar Gupta
Tushar Gupta

💻
Agusti Fernandez
Agusti Fernandez

💻 🤔
Moos
Moos

🐛 💻 📖
MacZel
MacZel

💻 🤔
Vikram Dighe
Vikram Dighe

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

You can’t perform that action at this time.