Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A Sublime Text Plugin that "evals" a selection/document with NodeJS
Python JavaScript
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
Default (Linux).sublime-keymap
Default (OSX).sublime-keymap
Default (Windows).sublime-keymap

NodeEval Sublime Text 2 & 3 Package

Use the NodeJS binary to evaluate a document or selection(s) and print the results


Preview Preview


Installation via the Package Control (Search for NodeEval)

To install manually clone this project into your Sublime Text 2\Packages folder:


git clone git:// ~/Library/Application\ Support/Sublime\ Text\ 2/Packages/NodeEval


git clone git:// "%APPDATA%\Sublime Text 2\Packages\NodeEval"


After installation you will have:

  • Context Menu and Tools Menu items:
    • NodeEval - evaluate the current selection(s) / document with node
    • NodeEval - Continuous (Toggle) - Continually evaluate the current selection(s) / document with node. This command is a toggle for the current document / selection(s) only. You can set the refresh rate in the Sublime settings (see below)
  • Default keyboard shortcuts:
    • ctrl+n,e
  • Package Settings: Preferences > Package Settings > NodeEval

        // The absolute path to your nodejs executable
        // e.g. "/usr/local/bin/node" or "C:\\bin\\node.exe"
        "node_command": "/usr/local/bin/node",
        // How to output the results, options include:
        // - new [default] "send output to a new file"
        // - console       "send output to a new Panel (Console) view"
        // - replace       "overwrite the current file/selection with the output"
        // - clipboard     "there is no output, output copied to clipboard"
        "output": "new",
        // if output type is "new" the output is overwritten, set to false to append the output
        "overwrite_output": true,
        // if set to true the output is copied to the clipboard
        // if `output` is set to "clipboard" this value is ignored
        "copy_to_clipboard": false,
        // refresh rate threshold for "continuous" mode (in milliseconds)
        "threshold": 200,
        // Set any extra ENVIRONMENT Variables as an object
        // @example
        //    "env": {
        //      "NODE_PATH":"/path/to/node",
        //      "NODE_MODULES":"/path/to/node_modules"
        //    }
        // @note: if you start sublime from a terminal using `subl` your normal environment
        // variables should be available to you 
        "env": {}

The commands work on a selection, multiple selections or if nothing is selected the whole document. Your script will be eval'd through nodejs in it's own thread.

Why not just use the NodeJS plugin, or the nodejsLauncher plugin ?
the NodeJS plugin is awesome, but it's also really bloated. also the nodejsLauncher only works on Windows.


Derek Anderson
Shane Walker
Jakub Gutkowski


MIT License

Something went wrong with that request. Please try again.