Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


A new, open source, extensible, platform-agnostic tool for remotely debugging and testing your JavaScript. Powered by node.js and socket.io

Subscribe to updates I use Vorlonjs

Statistics on Vorlonjs

Number of watchers on Github 2854
Number of open issues 56
Average time to close an issue about 2 months
Main language TypeScript
Average time to merge a PR 1 day
Open pull requests 14+
Closed pull requests 28+
Last commit about 2 years ago
Repo Created over 5 years ago
Repo Last Updated 29 days ago
Size 84.7 MB
Homepage http://www.vorlon...
Organization / Authormicrosoftdx
Latest Release0.5.4
Page Updated
Do you use Vorlonjs? Leave a review!
View open issues (56)
View Vorlonjs activity
View on github
Book a Mock Interview With Me (Silicon Valley Engineering Leader, 100s of interviews conducted)
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating Vorlonjs for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)


A new, open source, extensible, platform-agnostic tool for remotely debugging and testing your JavaScript. Powered by node.js and socket.io.

Understand all about Vorlon.js in 20 minutes watching this video : https://channel9.msdn.com/Shows/codechat/046

Learn more at VorlonJS !

Build Status

Chat with us on slack (get a free invite clicking on the badge below)

Slack Status

Deploy on Azure

Deploy to Azure

Easy setup

Install and run the Vorlon.JS server from npm:

$ npm i -g vorlon
$ vorlon
With the server is running, open http://localhost:1337 in your browser to see the Vorlon.JS dashboard.

You may notice errors from Python, node-gyp and socket.io. This is a known issue already reported to socket.io team. This is not a blocking issue though as socket.io still works well even with this error :)

Custom port


$ PORT=3000 vorlon


c:\>SET PORT=3000 && vorlon 
//Vorlon listening on port 3000

The last step is to enable Vorlon.JS by adding this to your app:

<script src="http://localhost:1337/vorlon.js"></script>

SSL Support

If you want to run the server with SSL support proceed as follows:

  1. Install Vorlonjs following the steps in Easy Setup
  2. Navigate to the installation folder
  3. Modify JSON file for activation SSL support
  4. In JSON file set to true
  5. If you want to replace our localhost certificate should only change the path of the files with the private key and certificate
  6. Exit and save JSON file

SSL Support on Azure

  1. Navigate to the installation folder
  2. Modify JSON file for activation SSLAzure support
  3. In JSON file set to true
  4. Exit and save JSON file
  5. Navigate with https protole on your Azure WebSite

Sample of azure hosted config.json file

    "baseURL": "",
    "useSSLAzure": true,
    "useSSL": false,
    "SSLkey": "cert/server.key",

Custom log file

By default Vorlon.JS application logs with debug level and files are stored in the installation folder. If you want to customize logs, proceed as follows :

  1. Navigate to the installation folder
  2. Modify JSON file, add or edit the logs section :
    • enableConsole : enabled logging to the console,
    • level : allowed values : info, warn, error
    • filePath : folder where log files should be store
    • vorlonLogFileName : name of Vorlon.JS log file,
    • exceptionsLogFileName : name of the log files for exceptions
  3. Exit and save JSON file
C:\>cd %HOMEPATH%\node_modules\vorlon
C:\Users\Username\node_modules\vorlon>notepad Server/config.json

    "useSSL": true,
    "SSLkey": "server/cert/server.key",
    "SSLcert": "server/cert/server.crt",
    "includeSocketIO": true,
    "plugins": [
        { "id": "CONSOLE", "name": "Interactive Console", "panel": "bottom", "foldername" : "interactiveConsole", "enabled": true},
        { "id": "DOM", "name": "Dom Explorer", "panel": "top", "foldername" : "domExplorer", "enabled": true },
        { "id": "MODERNIZR", "name": "Modernizr","panel": "bottom", "foldername" : "modernizrReport", "enabled": true },
        { "id" : "OBJEXPLORER", "name" : "Obj. Explorer","panel": "top", "foldername" : "objectExplorer", "enabled": true },
        { "id" : "XHRPANEL", "name" : "XHR","panel": "top", "foldername" : "xhrPanel", "enabled": true },
        { "id" : "NGINSPECTOR", "name" : "ngInspector","panel": "top", "foldername" : "ngInspector", "enabled": false  }
    "logs": {
        "level" : "info",
        "enableConsole" : true,
        "filePath" : "E:\\temp",
        "vorlonLogFileName": "vorlonjs.log",
        "exceptionsLogFileName":  "exceptions.log"

Vorlon with SSL listening on port 1337

With the server is running, open https://localhost:1337 in your browser to see the Vorlon.JS dashboard.

The last step is to enable Vorlon.JS by adding this to your app:

<script src="https://localhost:1337/vorlon.js"></script>


Read further documentation about Vorlon.JS, and writing your own plugins at http://vorlonjs.com/documentation.

Developing on Vorlon.JS

If you wish to work on Vorlon.JS's server or core plugin code, you'll need to clone this directory and work in it.

Vorlon is written in typescript, which is compiled with gulp. There are two main directories:

Compiling from source

There is a gulpfile.js in the root folder of the repository. It contains gulp tasks to compile typescript to javascript for the plugins and the server. In addition it ensures that the compiled plugin code is copied in to the right place in the Server directory.

To compile everything (plugins, then server) run this:


To compile only plugins run this :

gulp default-plugins

To compile only server run this :

gulp default-server


The simplest way to run Vorlon.JS is to run npm start from the root directory. This will run both gulpfiles to compile typescript and start the server.

gulp watch

You can also run the gulp commands individually. This is useful if you wish to work on plugins in particular, as gulp watch will compile typescript for you automatically.

If you want to run gulp commands from command line, you will need to first install gulp globally on your system with:

$ npm install -g gulp

You can now run gulp watch in the root directory to have gulp compile typescript to javascript automatically You can also run gulp watch-plugins or gulp watch-server to only watch and compile the plugins or the server.

Plugin test page

There is a demo webpage that includes the vorlon code that you can open to test the dashboard behaviour. It lives at ./Plugins/samples/index.html. There is a gulptask in the Plugins gulpfile to host it, just run gulp webserver, and then navigate to http://localhost:1338/index.html to view the page.

Visual Studio users

For Visual Studio users, we provide an integrated solution through VorlonJS.sln. In order to interact with Node.js, you just need to install the NodeJS Tool for Visual Studio plugin. Once the plugin is installed, just open the solution and you'll be ready to develop for Vorlon.js

Visual Studio Code users

Visual Studio Code is a completly new code editor which is cross-platforms, free and light as hell ! You can do node.js debugging, there is intelliSense and so on (more about this on Code Website). There also is a task workflow integration and we prepared you a file in the repo which contains all for you to be able to hit the Ctrl+Shift+B to run the default task in the gulp file.

Committing & Pull Requests

Once you've made a change, you can commit and submit a pull request to this repository. You will also need to electronically sign the Microsoft Contributor License Agreement (CLA) if you wish for your changes to be merged.

When committing changes, ensure that compiled JavaScript files (those compiled from TypeScript) are not committed, only the original TypeScript files should be committed.


Read CONTRIBUTING.md for more info on contributing to Vorlon.JS.


Vorlon.JS is released under the MIT license. Please see LICENSE for full details.

Vorlonjs open issues Ask a question     (View All Issues)
  • almost 4 years Documentation needs clarity for external device usage
  • about 4 years Mac Outlook Add-in: Javascript runtime errors are not being captured and reported
  • about 4 years The plugin XHR not working.
  • about 4 years Office plugin incorrectly identifies Outlook add-in as PowerPoint add-in in MacOSX Outlook client
  • over 4 years Vorlon Keyboard Accessibility
  • over 4 years Proxy gives ERR_CONTENT_LENGTH_MISMATCH
  • over 4 years feature request: have a baseURL for socket.io connection
  • over 4 years Provide short URL for proxy
  • almost 5 years Feature request: Provide API to trigger selection of HTML elements in vorlon
  • about 5 years Console plugin - Line number and file resource handle
Vorlonjs open pull requests (View All Pulls)
  • Test's results enhancement + fixes
  • Update InteractiveConsole - reverse logs entries
  • NodeJS Puglin
  • Allow for absolute paths for configs
  • Fixed issues when using a baseURL with a username/password
  • Added ability to check if client plugins are ready and fixed issues with isReady()
  • added sample config.json fille when vorlon is deployed on azure
  • Bump jquery from 3.0.0 to 3.5.0 in /desktop/app
  • Bump mem from 0.1.1 to 5.1.1 in /Plugins/Vorlon/plugins/screenshot/pageres
  • Bump method-override from 2.3.4 to 3.0.0 in /desktop/app
  • Bump method-override from 2.3.4 to 3.0.0
  • Console improvements
  • doc(README.md): update nodejstools repository url
  • Use path.resolve instead of path.join for loading ssl options
Vorlonjs questions on Stackoverflow (View All Questions)
  • Vorlonjs on https
  • Custom Port on VorlonJS
Vorlonjs list of languages used
Vorlonjs latest release notes
0.5.4 0.5.4


  • Plugins
    • Bot Framework Inspector
    • Fixes on UI
  • Vorlon behind proxy
    • Fixing Socket.io when Vorlon.js is behind a proxy and BaseUrl is configured
0.5.0 0.5


  • Plugins
    • Bot Framework Inspector
    • Plugin creation
    • Helps you inspect and debug bot created in Node.js using Bot Builder (https://github.com/Microsoft/BotBuilder)
    • Features: Get dialogs list, See live dialog stacks and events, live graph showing path in the bot.
  • Various fixes and improvements
    • Add support for listening with host (https://github.com/kkeybbs)
    • Dashboard working correctly if baseUrl is set in config file (https://github.com/mboelter)
    • Add missing baseURL inside templates and dashboard config (https://github.com/xiaodoudou)
0.4.0 0.4.0


  • Plugins
    • Dom Timeline
    • New plugin to record history of dom changes
    • Article available here : https://meulta.com/en/?p=208
    • Credit : @FremyCompany
    • Configuration
    • You can now provide a --config flag at startup to use another config file
    • Various fixes and improvements
    • Various refactoring
    • Fixing version of socket.io to avoid security issues
Other projects in TypeScript