⚑ Zero config GUI for Jest

Overview

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.

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.

Contribute

Have a look at the contribution guide.

Contributors

Thanks goes to these wonderful people (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 specification. Contributions of any kind welcome!

Comments
  • Project fails on Linux to build

    Project fails on Linux to build

    Is this a bug report or a feature request?

    Please specify whether this is a feature request 🎁 or a bug πŸ›. bug

    Version Info

    • Version of Majestic: tried master (4732e) and 0.2.0
    • Version of Jest:?
    • Version of Node: v8.9.1
    • Operating System: linux (arch)

    I did

    • clone from github
    • npm install
    • npm run rebuild
    • npm run linux:
    app > npm run linux                                                                                                                                                                                         
                                                                                                                                                                                                                
    > [email protected] linux /home/hoschi/src/majestic/app                                                                                                                                                        
    > npm run compile && node_modules/.bin/build --linux
    
    
    > [email protected] compile /home/hoschi/src/majestic/app
    > electron-webpack
    
     51% [0] chunk asset optimization
    /home/hoschi/src/majestic/app/node_modules/source-map/lib/source-map-generator.js:276
            throw new Error(
                  ^
    Error: original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead
    of an object with empty or null values.
        at SourceMapGenerator_validateMapping [as _validateMapping] (/home/hoschi/src/majestic/app/node_modules/source-map/lib/source-map-generator.js:276:15)
        at SourceMapGenerator_addMapping [as addMapping] (/home/hoschi/src/majestic/app/node_modules/source-map/lib/source-map-generator.js:110:12)
        at /home/hoschi/src/majestic/app/node_modules/source-map/lib/source-map-generator.js:72:17
        at Array.forEach (<anonymous>)
        at BasicSourceMapConsumer.SourceMapConsumer_eachMapping [as eachMapping] (/home/hoschi/src/majestic/app/node_modules/source-map/lib/source-map-consumer.js:157:14)
        at Function.SourceMapGenerator_fromSourceMap [as fromSourceMap] (/home/hoschi/src/majestic/app/node_modules/source-map/lib/source-map-generator.js:48:24)
        at SourceMapSource.node (/home/hoschi/src/majestic/app/node_modules/webpack-sources/lib/SourceMapSource.js:32:35)
        at /home/hoschi/src/majestic/app/node_modules/webpack-sources/lib/ConcatSource.js:59:50
        at Array.map (<anonymous>)
        at ConcatSource.node (/home/hoschi/src/majestic/app/node_modules/webpack-sources/lib/ConcatSource.js:58:63)
        at ConcatSource.proto.sourceAndMap (/home/hoschi/src/majestic/app/node_modules/webpack-sources/lib/SourceAndMapMixin.js:30:18)
        at getTaskForFile (/home/hoschi/src/majestic/app/node_modules/webpack/lib/SourceMapDevToolPlugin.js:33:30)
        at chunk.files.forEach.file (/home/hoschi/src/majestic/app/node_modules/webpack/lib/SourceMapDevToolPlugin.js:91:21)
        at Array.forEach (<anonymous>)
        at /home/hoschi/src/majestic/app/node_modules/webpack/lib/SourceMapDevToolPlugin.js:89:18
        at Array.forEach (<anonymous>)
        at Compilation.<anonymous> (/home/hoschi/src/majestic/app/node_modules/webpack/lib/SourceMapDevToolPlugin.js:88:12)
        at Compilation.applyPlugins1 (/home/hoschi/src/majestic/app/node_modules/tapable/lib/Tapable.js:75:14)
        at self.applyPluginsAsync.err (/home/hoschi/src/majestic/app/node_modules/webpack/lib/Compilation.js:670:11)
        at next (/home/hoschi/src/majestic/app/node_modules/tapable/lib/Tapable.js:202:11)
        at Compilation.compilation.plugin (/home/hoschi/src/majestic/app/node_modules/webpack/lib/ProgressPlugin.js:119:6)
        at next (/home/hoschi/src/majestic/app/node_modules/tapable/lib/Tapable.js:204:14)
        at Compilation.compilation.plugin (/home/hoschi/src/majestic/app/node_modules/webpack/lib/BannerPlugin.js:67:5)
        at next (/home/hoschi/src/majestic/app/node_modules/tapable/lib/Tapable.js:204:14)
        at Compilation.<anonymous> (/home/hoschi/src/majestic/app/node_modules/babel-minify-webpack-plugin/dist/index.js:119:11)
        at Compilation.applyPluginsAsyncSeries (/home/hoschi/src/majestic/app/node_modules/tapable/lib/Tapable.js:206:13)
        at self.applyPluginsAsync.err (/home/hoschi/src/majestic/app/node_modules/webpack/lib/Compilation.js:666:10)
        at next (/home/hoschi/src/majestic/app/node_modules/tapable/lib/Tapable.js:202:11)
        at Compilation.compilation.plugin.callback (/home/hoschi/src/majestic/app/node_modules/webpack/lib/ProgressPlugin.js:115:6)
        at Compilation.applyPluginsAsyncSeries (/home/hoschi/src/majestic/app/node_modules/tapable/lib/Tapable.js:206:13)
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! [email protected] compile: `electron-webpack`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the [email protected] compile script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     /home/hoschi/.npm/_logs/2018-01-12T13_05_18_701Z-debug.log
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! [email protected] linux: `npm run compile && node_modules/.bin/build --linux`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the [email protected] linux script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     /home/hoschi/.npm/_logs/2018-01-12T13_05_18_709Z-debug.log
    
    
    opened by hoschi 20
  • Set up Jest and Enzyme

    Set up Jest and Enzyme

    For some reason it's not recognizing ts/tsx test files, even though this is ported from an existing config which works perfectly.

    @Raathigesh any ideas why? @azz might be able to peek in and see if I'm missing anything silly.

    Feel free to wait until that's fixed before merging.

    opened by James-E-Adams 18
  • Immediate window for quick debugging

    Immediate window for quick debugging

    Is this a bug report or a feature request?

    Feature request 🎁

    How the feature should work?

    We console log most of the time to quickly see the values variables are holding. But it could be overwhelming to find the conole.log results when you have thousands of lines printed to the console.

    This is a crazy idea to make that work with the luxury of the UI we have in majestic. You would still use the good old console.log but instead of logging just the value, you would prepend it with a unique pattern like #^<yourValue>^# or $#<yourValue>#$, then majestic would go pick these values up and show it you in a UI, as I call it, The debug window.

    This is still an early idea. Will try to put together a POC and see how it goes.

    πŸ“¦ Feature request 
    opened by Raathigesh 17
  • Requires node to be installed globally

    Requires node to be installed globally

    Is this a bug report or a feature request?

    πŸ›

    Please specify whether this is a feature request 🎁 or a bug πŸ›.

    Version Info

    • Version of Majestic: 0.1.0
    • Version of Jest: 22.0.3
    • Version of Node: (not installed globally), using nvm: 9.3.0 is the default
    • Operating System: macOS 10.13.2

    Info

    The "output" is env: node: No such file or directory

    Maybe run nvm use in the directory if nvm is available?

    opened by Haroenv 16
  • ✨ Pretty Printing HTML in console.logs.

    ✨ Pretty Printing HTML in console.logs.

    Use pre tag to properly format HTML 🚨 Add index as key to map inside console-panel/index.tsx. This is to get rid of the error message in the console. Since we don't have any identifier for each log. React anyway defaults to using index as key when not explicitly given a key.

    Often times when working with tests I have to do console.log(component.debug() which outputs a prettified html code onto the console. Majestic however shows the whole component in a single line which can be hard to debug.

    Before: image

    After: image

    opened by rahulakrishna 15
  • [Bug] Upgraded to majestic 1.4.0, errors with no message in terminal.

    [Bug] Upgraded to majestic 1.4.0, errors with no message in terminal.

    Bug πŸ›

    • Version of Majestic: 1.4.0
    • Version of Jest: 20.0.3
    • Version of Node: 8.15.1
    • Operating System: macOS 10.14

    Updated from 1.3.0 to 1.4.0 with yarn upgrade [email protected] --dev and it won't load in my browser anymore. Says to check terminal but there is no log or error in the terminal and the server keeps running.

    opened by M4cs 15
  • How do I update a snapshot / where is the button?

    How do I update a snapshot / where is the button?

    I read that there's a way to update snapshots for an individual test - how do I do this? I can't seem to find a button anywhere in the UI?

    I'm hoping to use this to replace my dependance on WallabyJS as this UI is really nice. Well done :)

    ❔ Question 
    opened by IPWright83 12
  • Coverage should respect coverageDirectory config option

    Coverage should respect coverageDirectory config option

    Is this a bug report or a feature request?

    A bug report

    Version Info

    • Version of Majestic: 1.3.0
    • Version of Jest: 24.7.0
    • Version of Node: 8.11.3
    • Operating System: MacOS 10.14.4

    Reproduction Repo

    I installed the new 1.3.0 of majestic. But running a command node ./node_modules/.bin/majestic --version gives

    v1.2.24
    

    File node_modules/majestic/package.json contains correct version

      "_from": "majestic",
      "_id": "[email protected]",
    

    In the file node_modules/majestic/dist/server/index.js at line 159070 I found

    /* 1006 */
    /***/ (function(module) {
    
    module.exports = {"name":"majestic","version":"1.2.24","engines":{"node":">=7.10.1"},"main":"index.js","license":"MIT","scripts":{"ui":"webpack-dev-server --env.development --config ./scripts/webpack.ui.config.js","server":"ts-node  --project ./tsconfig.server.json ./server/index.ts","build-server":"cross-env BABEL_ENV='production' webpack --env.production --config ./scripts/webpack.server.config.js","build-ui":"cross-env BABEL_ENV='production' rimraf dist && webpack --env.production --config ./scripts/webpack.ui.config.js","prod":"npm run build-ui && npm run build-server","watch-server":"nodemon","ship":"npm run prod && np --yolo","integration":"cd ./integration && yarn run-in-ci"},"dependencies":{"node-fetch":"^2.3.0","open":"^6.0.0","read-pkg-up":"^4.0.0"},"devDependencies":{"@babel/core":"^7.1.2","@babel/parser":"^7.2.3","@babel/plugin-proposal-class-properties":"^7.0.0","@babel/plugin-proposal-decorators":"^7.1.2","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/polyfill":"^7.0.0","@babel/preset-env":"^7.0.0","@babel/preset-react":"^7.0.0","@babel/preset-typescript":"^7.0.0","@babel/traverse":"^7.2.3","@types/babel-traverse":"^6.25.4","@types/chokidar":"^1.7.5","@types/express":"^4.16.0","@types/istanbul-lib-coverage":"^2.0.0","@types/istanbul-lib-source-maps":"^1.2.1","@types/react":"^16.8.6","@types/react-dom":"^16.8.2","@types/react-split-pane":"^0.1.67","@types/styled-components":"^4.1.4","@types/styled-system":"^3.1.0","ansi-to-html":"^0.6.10","apollo-client":"^2.3.8","apollo-client-preset":"^1.0.8","apollo-link":"^1.2.3","apollo-link-ws":"^1.0.9","apollo-utilities":"^1.0.21","awesome-typescript-loader":"^5.2.1","babel-loader":"^8.0.2","babel-plugin-styled-components":"^1.8.0","body-parser":"^1.18.3","chokidar":"^2.0.4","chrome-launcher":"^0.10.5","consola":"^2.5.7","copy-webpack-plugin":"^5.0.1","cross-env":"^5.2.0","css-loader":"^1.0.0","file-loader":"^3.0.1","get-port":"^4.2.0","graphql-tag":"^2.9.2","graphql-yoga":"^1.16.1","html-webpack-include-assets-plugin":"^1.0.5","html-webpack-plugin":"^3.2.0","html-webpack-template":"^6.2.0","istanbul-lib-coverage":"^2.0.3","istanbul-lib-source-maps":"^3.0.2","launch-editor":"^2.2.1","lodash.throttle":"^4.1.1","minimist":"^1.2.0","nanoid":"^2.0.0","nodemon":"^1.18.3","np":"^4.0.2","react":"^16.8.3","react-apollo":"^2.1.11","react-apollo-hooks":"^0.2.1","react-dom":"^16.8.3","react-feather":"^1.1.4","react-inspector":"^3.0.0","react-split-pane":"^0.1.84","react-spring":"^8.0.9","react-tippy":"^1.2.3","react-virtualized-auto-sizer":"^1.0.2","react-window":"^1.6.2","reflect-metadata":"^0.1.12","resolve-pkg":"^1.0.0","rimraf":"^2.6.2","style-loader":"^0.23.0","styled-components":"^4.1.3","styled-system":"^3.1.11","svg-inline-loader":"^0.8.0","svg-react-loader":"^0.4.5","ts-node":"^7.0.1","type-graphql":"^0.14.0","typeface-open-sans":"^0.0.54","typescript":"^3.0.1","uglifyjs-webpack-plugin":"^2.0.0","url-loader":"^1.1.1","webpack":"^4.17.1","webpack-cli":"^3.1.0","webpack-dev-server":"^3.2.1"},"resolutions":{"graphql":"^0.13.0"},"bin":{"majestic":"./dist/server/index.js"},"files":["/dist/**","/yarn.lock"]};
    

    Therefore it looks like dist files were not updated in the 1.3.0 release

    πŸ’‘ Enhancement 
    opened by aantipov 12
  • Feature request: Parsing test.todo()

    Feature request: Parsing test.todo()

    Since Jest implemented .todo it would be nice to show one's todo's in majestic.

    https://jestjs.io/docs/en/api#testtodoname

    On the UI part maybe showing it in a new Todos view after Tests, or maybe integrate it and display a different icon for todo tasks as unimplemented tests that are skipped.

    Just an idea anyway, loving the project and great naming which helps remember to use it!

    πŸ’‘ Enhancement 
    opened by agustif 11
  • No test tree

    No test tree

    Is this a bug report or a feature request?

    Please specify whether this is a feature request 🎁 or a bug πŸ›.

    Version Info

    • Version of Majestic: 0.2.0
    • Version of Jest: "jest": "^22.2.2"
    • Version of Node: 8.9.4
    • Operating System: Windows 10

    Reproduction Repo

    Here is my jest configuration "jest": { "verbose": true, "collectCoverage": true, "coverageReporters": ["html"] }

    My jest config is really minimal, so my tests are able to run, however I get nothing in the sidebar for all my tests, and when I click show failures nothing happens. My tests are in a directory formatted like this tests/{components}/{componentname}.tests.js.

    opened by JohnathonLamOF 10
  • Bug: Not working on Windows 10

    Bug: Not working on Windows 10

    Is this a bug report or a feature request?

    Bug report.

    Version Info

    • Version of Majestic: 0.1.0
    • Version of Jest: 20.0.4
    • Version of Node: 9.3.0
    • Operating System: Windows 10

    When I load a project in Windows 10, nothing shows up and running tests is not possible. I loaded the same project in OS X and was able to see my directory tree and run tests.

    opened by eliw00d 10
  • Cannot read properties of undefined (reading 'projectRoot')

    Cannot read properties of undefined (reading 'projectRoot')

    Is this a bug report or a feature request?

    Bug Report

    Version Info

    • Version of Majestic: v1.8.1
    • Version of Jest: 29.3.0
    • Version of Node: v16.17.0
    • Operating System: MacOS

    When attempting to run majestic I get a console error of Cannot read properties of undefined (reading 'projectRoot')

    opened by EvanAgee 0
  • [Feature Request] VSCode extension

    [Feature Request] VSCode extension

    Is this a bug report or a feature request?

    • [ ] Bug Report
    • [x] Feature Request

    Description

    A VSCode integration to show majestic as an internal page.

    This would allow developers to get all together without switching windows back and forth to the browser.

    opened by SkyaTura 0
  • Added babel plugin to support numeric separators in test files

    Added babel plugin to support numeric separators in test files

    When parsing test files that use numeric separators, for intance: const numberWithSeparators = 3_600_000;

    The babel parser throws an error Identifier directly after number.

    In my case, this resulted in the omission of a failed test's result.

    image

    I fixed this by adding @babel/plugin-proposal-numeric-separator to the plugin list.

    opened by ojaoc 0
  • πŸ› Majestic not showing ui

    πŸ› Majestic not showing ui

    I only see the following on starting majestic ΓΏ

    Majestic v1.8.1 is running at http://localhost:4000

    System:
        OS: Windows 10 10.0.19042
        CPU: (16) x64 Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz
      Binaries:
        Node: 16.14.2
        Yarn: 1.22.4
        npm: 8.5.0
      npmPackages:
        jest: ^27.5.1 => 27.5.1
    
    opened by sschneider-ihre-pvs 1
  • GraphQL error preventing tests being shown

    GraphQL error preventing tests being shown

    Is this a bug report or a feature request?

    Bug

    Version Info

    • Version of Majestic: 1.8.1
    • Version of Jest: 6.14.12
    • Version of Node: 12.22.1
    • Operating System: Ubuntu 20.04.3

    Reproduction Repo

    I can't really provide a quick reproduction, but I am happy to dig and find more information to diagnose. Essentially I get no tests shown in the file window for 1 particular file. I've not encountered this issue with any other files:

    image

    When selecting the file I encounter the following error in the console:

    Uncaught (in promise) Error: GraphQL error: Unexpected token (7:12)
        at new t (ui.bundle.js:21)
        at e.<anonymous> (ui.bundle.js:21)
        at ui.bundle.js:16
        at Object.next (ui.bundle.js:16)
        at ui.bundle.js:16
        at new Promise (<anonymous>)
        at l (ui.bundle.js:16)
        at ui.bundle.js:21
        at ui.bundle.js:21
        at Array.forEach (<anonymous>)
    t @ ui.bundle.js:21
    (anonymous) @ ui.bundle.js:21
    (anonymous) @ ui.bundle.js:16
    (anonymous) @ ui.bundle.js:16
    (anonymous) @ ui.bundle.js:16
    l @ ui.bundle.js:16
    (anonymous) @ ui.bundle.js:21
    (anonymous) @ ui.bundle.js:21
    (anonymous) @ ui.bundle.js:21
    e.broadcastQueries @ ui.bundle.js:21
    (anonymous) @ ui.bundle.js:21
    (anonymous) @ ui.bundle.js:16
    (anonymous) @ ui.bundle.js:16
    (anonymous) @ ui.bundle.js:16
    l @ ui.bundle.js:16
    next @ ui.bundle.js:21
    g @ ui.bundle.js:51
    b @ ui.bundle.js:51
    value @ ui.bundle.js:51
    (anonymous) @ ui.bundle.js:21
    next @ ui.bundle.js:21
    g @ ui.bundle.js:51
    b @ ui.bundle.js:51
    value @ ui.bundle.js:51
    (anonymous) @ ui.bundle.js:92
    Promise.then (async)
    (anonymous) @ ui.bundle.js:21
    ha @ ui.bundle.js:42
    (anonymous) @ ui.bundle.js:42
    c @ ui.bundle.js:51
    d @ ui.bundle.js:51
    B.port1.onmessage @ ui.bundle.js:51
    

    The pre-ceding request if it's helpful is this. I've looked for odd characters in the describe/it names but can't see anything out of sorts.

    {result: {…}}
      result:
        consoleLogs: null
        failureMessage: null
        numFailingTests: 0
        numPassingTests: 5
        path: "/home/ian/src/webclient/app/src/views/solutions/components/PaginatedTable/PaginatedTable.test.tsx"
        testResults: Array(5)
          0: {title: 'with no data', numPassingAsserts: 0, status: 'passed', failureMessages: Array(0), ancestorTitles: Array(2), …}
          1: {title: 'with data', numPassingAsserts: 0, status: 'passed', failureMessages: Array(0), ancestorTitles: Array(2), …}
          2: {title: 'with a custom header cell', numPassingAsserts: 0, status: 'passed', failureMessages: Array(0), ancestorTitles: Array(2), …}
          3: {title: 'with a custom data cell', numPassingAsserts: 0, status: 'passed', failureMessages: Array(0), ancestorTitles: Array(2), …}
          4: {title: 'with more than 8 rows', numPassingAsserts: 0, status: 'passed', failureMessages: Array(0), ancestorTitles: Array(2), …}
          length: 5
          [[Prototype]]: Array(0)
          __typename: "TestFileResult"
        [[Prototype]]: Object
      [[Prototype]]: Object
    
    opened by IPWright83 2
  • [Bug] Tests run inside arrow function are not listed and lacking names

    [Bug] Tests run inside arrow function are not listed and lacking names

    Bug

    • Version of Majestic: v1.8.0
    • Version of Jest: 26.0.20
    • Version of Node: v15.12.0
    • Operating System: Windows 10 Pro 20H2

    Reproduction:

    Test evaluated inside arrow function (in order to be used multiple times with different parameters) is sometimes detected by Majestic as one, nameless test entry in GUI, or not visible at all

    // calc.test.ts
    import { add } from "./calc";
    
    const testAdd = (a: number, b: number, expected: number) => {
      test(`should '${a}' + '${b}' be '${expected}'`, () => {
        var result = add(a, b);
        expect(result).toBe(expected);
      });
    };
    
    testAdd(1, 1, 2);
    testAdd(2, 2, 4);
    testAdd(2, -1, 1);
    
    
    
    // calc.ts
    export function add(a: number, b: number): number {
      return a + b;
    }
    

    obraz

    opened by barlots 0
Releases(v1.7.0)
  • v1.7.0(May 6, 2020)

    • Support optional chaining by @gregveres (https://github.com/Raathigesh/majestic/pull/178 )
    • Support for HTTPS protocol by @pavelzubov (https://github.com/Raathigesh/majestic/pull/182)
    • Fix for hidden update snapshot button by @adamkleingit (https://github.com/Raathigesh/majestic/pull/187)
    • Fix the flat tree regression (https://github.com/Raathigesh/majestic/issues/188)
    Source code(tar.gz)
    Source code(zip)
  • v1.6.2(Jan 9, 2020)

  • v1.6.1(Oct 31, 2019)

    • Wrap files paths better by @jsmey (https://github.com/Raathigesh/majestic/pull/161)
    • Pretty prining HTML in console.log() by @rahulakrishna (https://github.com/Raathigesh/majestic/pull/167)
    Source code(tar.gz)
    Source code(zip)
  • v1.6.0(Jun 11, 2019)

  • 1.5.0(May 26, 2019)

    ✨ Enhancements

    • Support for keyboard shortcuts by @jsmey (https://github.com/Raathigesh/majestic/pull/147)

    • Files on the sidebar are now sorted thanks to @jsmey (https://github.com/Raathigesh/majestic/issues/134)

    • Remembering the previously selected file when toggling coverage report by @jsmey (https://github.com/Raathigesh/majestic/pull/144)

    • Make open in editor respect the EDITOR env variable by @krazylegz (https://github.com/Raathigesh/majestic/pull/127)

    πŸ› Bug fixes

    • Fix for not being able to toggle failed test only filter by @briwa (https://github.com/Raathigesh/majestic/pull/136)

    • Fix active file layout issue in the sidebar by @krazylegz (https://github.com/Raathigesh/majestic/pull/132)

    • Better handle section resizing by @briwa (https://github.com/Raathigesh/majestic/pull/137)

    ❀ This is truly a community-driven release. Thank you all for your contributions

    Source code(tar.gz)
    Source code(zip)
  • v1.4.1(Apr 17, 2019)

  • v1.4.0(Apr 15, 2019)

  • v1.3.0(Apr 5, 2019)

    πŸŽ‰ Coverage support

    Majestic allows running tests with coverage enabled and shows report inline.

    image

    πŸ’ͺ And a lot of great humans helped to fix a lot of issues

    • Fix auto open in Ubuntu by @gavinhenderson (https://github.com/Raathigesh/majestic/pull/81)
    • Fix for error when there is space in project path by @briwa (https://github.com/Raathigesh/majestic/pull/90)
    • Support for todo.test() by @agustif (https://github.com/Raathigesh/majestic/pull/107)
    • Better override support for custom Create-react-app by @moos (https://github.com/Raathigesh/majestic/pull/109)
    Source code(tar.gz)
    Source code(zip)
  • v1.2.24(Mar 28, 2019)

    • Support for focused tests and highlighing them in the UI by @jake-nz (https://github.com/Raathigesh/majestic/pull/77)
    • Dismissable search box by @duncanbeevers (https://github.com/Raathigesh/majestic/pull/66)
    • Better truncation for filenames in the sidebar by @yurm04 (https://github.com/Raathigesh/majestic/pull/75)
    Source code(tar.gz)
    Source code(zip)
  • v0.2.0(Jan 11, 2018)

    Features

    • In-built console.log() panel (Experimental)
    • VS Code debugging integration. Thanks to VSCode Jest for implementing this so I could just copy. More info here.

    Enhancements

    • Move the output panel to side (https://github.com/Raathigesh/majestic/issues/20)
    • Ability to collapse the sidebar via shortcut (ctrl + b)
    • Colorized console output (https://github.com/Raathigesh/majestic/issues/40)
    • Install app for the user and not per machine, so elevation is not required on windows (https://github.com/Raathigesh/majestic/issues/18)
    • Menu enhancements (By @James-E-Adams)

    Bug Fixes

    • Can not open the project when there is no test regex (#2)
    • Sometimes individual test skips without running (#8)
    Source code(tar.gz)
    Source code(zip)
    latest-mac.json(169 bytes)
    latest-mac.yml(257 bytes)
    latest.yml(334 bytes)
    majestic-0.2.0-mac.zip(67.55 MB)
    Majestic-0.2.0.dmg(70.40 MB)
    majestic-setup-0.2.0.exe(38.04 MB)
  • v0.1.0(Jan 1, 2018)

    πŸŽ‰ The initial release

    • Run particular tests with a click
    • Watch the whole project, a file or a test
    • Update specific snapshots with a click
    • Inline coverage reports
    • Zero configuration (Sorry, I had to)
    • Support for typescript projects
    • Support for Create-react-app out of the box
    • Quick search to search across all your test (It) statements
    • Failure summary shows all test failtures in a single screen. Useful when you have failures across multiple files.
    • Locate a specific test in your editor with a click of a button
    Source code(tar.gz)
    Source code(zip)
    latest-mac.json(169 bytes)
    latest-mac.yml(257 bytes)
    latest.yml(334 bytes)
    majestic-0.1.0-mac.zip(62.56 MB)
    Majestic-0.1.0.dmg(65.16 MB)
    majestic-setup-0.1.0.exe(37.68 MB)
Owner
Raathi Kugarajan
πŸ—οΈ Building dev tools to make programming a little more fun
Raathi Kugarajan
Clone da GUI do Windows 11 desenvolvida utilizando ReactJS, NextJS, MaterialUI e ReactDND.

Vídeo demonstração Iniciando a execução: npm run dev Frameworks & Bibliotecas: React.js - uma biblioteca JavaScript para a criação de interfaces de us

nicolle 101 Dec 19, 2022
Expo Config Plugin that generates an App Clip for iOS apps built with Expo.

react-native-app-clip Expo Config Plugin that generates an App Clip for iOS apps built with Expo. Warning This plugin is a work in progress and hasn’t

Benedikt 186 Dec 24, 2022
React + Typescript + Jest + Lint + Prettier

React Boilerplate Objectives The main idea is to make it easy to start new projects using React. NPM Scripts yarn build build project using default we

Pedro Eduardo de Paula Naves 5 Mar 31, 2022
A URL shortener that has zero limits for all your needs

?? GunRecoil A URL shortener that has zero limits for all your needs Demo Link GunRecoil Screenshots Features FREE Unlimited url shortening Roadmap De

null 9 Oct 1, 2022
Grupprojekt fΓΆr kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet fΓΆr kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide FΓΆr information om hur utv

Svante Jonsson IT-HΓΆgskolan 3 May 18, 2022
Hemsida fΓΆr personer i Sverige som kan och vill erbjuda boende till mΓ€nniskor pΓ₯ flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo fΓΆr kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
A web interface to edit TP-Link Router Config export files (typically named config.bin).

TP-Link Router Config Editor A web interface to edit TP-Link Router Config export files (typically named config.bin). Visit the website. Tested on an

Jahed 10 Nov 17, 2022
πŸ₯Ύ A simple way to do testing AWS Services and Jest or Serverless and Jest

jest-localstack-preset Install Install via yarn or npm $ yarn add https://github.com/thadeu/jest-localstack-preset.git or $ npm i https://github.com/t

thadeu 5 Oct 1, 2022
⚑A zero-config bundler for JavaScript applications.

Poi is a bundler built on the top of webpack, trying to make developing and bundling apps with webpack as easy as possible. The Poi project is support

Eren Bets 5.3k Jan 4, 2023
A Zero config CLI to quick-start your web projects.

Quick-strapper A Zero-config cli to help you bootstrap web projects with best templates. Quick-strapper Usage Templates Commands Usage You can start u

Sidharth Rathi 3 Jun 14, 2022
A new zero-config test runner for the true minimalists

Why User-friendly - zero-config, no API to learn, simple conventions Extremely lighweight - only 40 lines of code and no dependencies Super fast - wit

null 680 Dec 20, 2022
πŸ“¦ 🍣 Zero-config JS bundler for ESM, CommonJS, and .d.ts outputs

pkgroll Write your code in ESM & TypeScript and bundle it to get ESM, CommonJS, and type declaration outputs with a single command! Features Zero conf

hiroki osame 153 Dec 23, 2022
A zero-config toolkit for creating fine Forge apps

A zero-config toolkit for creating fine Forge apps. Background The Forge Dev Kit (FDK) is a preconfigured set of libraries and frameworks for developi

Fine Software 17 Aug 10, 2022
Batteries-included, zero-config Ionic integration for Nuxt

Nuxt Ionic Ionic integration for Nuxt ✨ Changelog ?? Read the documentation ▢️ Online playground Features ⚠️ nuxt-ionic is currently a work in progres

Daniel Roe 211 Dec 28, 2022
πŸ“¦ 🍣 Zero-config JS bundler for ESM, CommonJS, and .d.ts outputs. (Forked from pkgroll)

?? ?? puild (A fork of pkgroll) Write your code in ESM & TypeScript and bundle it to get ESM, CommonJS, and type declaration outputs with a single com

ʀᴀʏ 6 Sep 6, 2022
🏝 Zero config islands for your next project

?? Preact Island Starter Bootstraps a Preact Island project with no configuration. Features ?? Multi entry point builds by default. Make all the islan

Marcus Wood 20 Nov 21, 2022
Forked from hayes0724/shopify-packer Modern development tool for Shopify using Webpack 5. Easy to extend and customize, zero build config, compatible with Slate and existing websites.

Shopify Packer Modern development tool for Shopify using Webpack 5. Easy to extend and customize, zero build config, comes with starter themes and com

Web & Mobile | eCommerce | Full-Stack Developer 4 Nov 24, 2022
Zero-config PWA Plugin for VitePress

Zero-config PWA Plugin for VitePress ?? Features ?? Documentation & guides ?? Zero-Config: sensible built-in default configs for common use cases ?? E

Vite PWA 10 Dec 1, 2022
Vite plugin to client bundle i18next locales composited from one to many json/yaml files from one to many libraries. Zero config HMR support included.

vite-plugin-i18next-loader yarn add -D vite-plugin-i18next-loader Vite plugin to client bundle i18next locales composited from one to many json/yaml f

AlienFast 4 Nov 30, 2022