Theseus is a new type of JavaScript debugger for Node.js, Chrome, and both simultaneously. It is an extension for the Brackets code editor.
Theseus is part of a collaboration between the User Interface Design Group at MIT CSAIL and Adobe Research.
Real-time code coverage: Theseus shows the number of times that every function has been called next to its definition. Functions that have never been called are also given a gray background. You can watch the code light up as you interact with the web page.
Retroactive inspection: Click a call count to see the values of parameters, return values, and any exceptions that have been thrown from that function. It's like adding console.log
without having to save and reload.
Asynchronous call tree: If you click multiple call counts, all invocations of those functions are shown in a tree. When callback functions are called, they show up in the tree under the function that created them, regardless of whether they were called immediately or many ticks later.
Unzip, then copy the brackets-theseus
directory into your extensions folder (Help > Show Extensions Folder in Brackets).
For Node.js support, also run: npm install -g node-theseus
to get the command-line helper.
Start your program by running node-theseus app.js
(instead of node app.js
as you normally would). Theseus will automatically connect to that process.
(You install node-theseus
with npm install -g node-theseus
)
Open the File menu and put Theseus into the mode for static HTML files:
Then open an HTML file and start Brackets' Live Development mode by clicking the lightning bolt in the top right corner of the window:
Your page will open in Chrome.
If you come across a bug, submit an issue on GitHub. Include a list of steps we can follow to reproduce the problem, a description of what you saw that seemed broken, and a description of what you expected to see.
Theseus is released under the MIT license.