minty

by lumpy-turnips

lumpy-turnips / minty

Step by step visualization of node processess

198 Stars 6 Forks Last release: Not found MIT License 466 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

minty.js

npm version Build Status Coverage Status Dependencies Codacy Badge

Minty.js helps you keep your Node.js app minty-fresh. Run your code through Minty.js to see the state of your variables as each line executes. Can't figure out why you're not getting the output you expect? Minty.js will help you see exactly where things go off the rails.

Minty.js is an npm module you install and run on your own development environment, and which outputs to a file in that environment, so that you can be confident you'll get the same results in debugging that you get in production.

Your code is yours, and your data is yours — your debugging results should be as well. None of your work ever leaves your development environment when you use Minty.js.

NPM

Current Status

Minty.js is alpha code. Install and use at your own risk. May not work! Even worse, may not be useful!

Minty.js is under active development, and we're iterating at a high rate. Please do open an issue and let us know if you've found a significant bug.

Requirements

Requires Node.js 4.0 or greater.

How-To

  1. npm install -g minty
    or
    npm install --save-dev minty
    (don't use minty in production!)
  2. const minty = require ('minty');
    in the file you'd like to analyze
  3. You can execute an entire file by typing
    minty.file(//path to file)
    . Note, the file path must be absolute, e.g.
    minty.file(path.join(__dirname, ../lib/test.js))
  4. You can also 'mintify' a function by typing
    var newFunc = minty.wrap(initialFunc)
    , and then execute it by calling
    newFunc()
  5. Run your code as usual (e.g.
    node minty.js
    ) to generate the minty output. A new minty folder will appear in your root directory
  6. Open the minty.html file in your browser in either the 'file' or 'function' folder (depending on whether you executed a file, function, or both). Note: data is stored in the mintyVis.js
  7. Click forward and back to step through your variables' state as your app executes!

Gotchas

  • If you globally declare a variable without using let, var, or const, we won't track it.

Examples (thanks to user Bahmutov for the write-up)

Minty is an awesome visualizer for your Node program's flow.

minty example

Example for minty.file

// index.js
'use strict'

function add(a, b) { a += 10 return a + b }

function sub(a, b) { return add(a, -b) } console.log(sub(2, 3))

Create a separate file

minty.js
that just loads
index.js
// minty.js
const minty = require('minty')
minty.file(require('path').join(__dirname, 'index.js'))

and install the tool itself

npm i -D minty

Let's run!

$ node minty.js
9

Example for minty.wrap

const minty = require('minty')

function test(a) { return a; }

This function can now be wrapped via

const newTest = minty.wrap(test);

Each time this new function is called, an output from minty will be generated. This function can be called in the same way the original function would be.

newTest(1)
//returns 1 and generates a visualization of the function process

Multiple functions may be 'mintified' and ran at the same time.

Both methods create a file with the structure -

minty/  / html
.

Roadmap

Check our our public roadmap on Trello!

Find an issue? let us know.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.