Console Ninja is a VS Code extension that brings browser and Node.js console output directly into the editor, eliminating context switching for developers. It supports a wide array of modern JavaScript build tools and frameworks, offering both free community features and a paid PRO tier with advanced debugging capabilities.
How It Works
Console Ninja integrates by patching locally installed Node modules, intercepting console.log
, console.trace
, and errors before they reach the runtime. This allows it to display output ergonomically next to the relevant code lines and in a dedicated log viewer. It operates via a local WebSocket server for communication between the application and the editor, and intelligently avoids instrumenting production builds.
Quick Start & Requirements
- Install the VS Code extension.
- For Node.js apps, prefix your run command with
console-ninja
(e.g., console-ninja node app.js
).
- Supports Vite, Webpack, Next.js, Nest.js, Remix, Astro, and more.
- Official documentation: https://console-ninja.com/docs/
Highlighted Details
- Logpoints: Log expression values without modifying code by setting VS Code breakpoints.
- Watchpoints: Monitor the values of logged expressions for changes directly in the editor.
- GitHub Copilot Integration: Enables AI-powered error investigation using logs and stack traces.
- Code Coverage: Tracks execution coverage for functions and files, displayed inline.
Maintenance & Community
- Developed by Wallaby.js team.
- Community support via Discord (link not provided in README).
- PRO features are actively developed.
Licensing & Compatibility
- Community Edition is free. PRO Edition is a paid subscription.
- License details not explicitly stated in the README, but implies free use for community features.
- Compatible with most modern JavaScript development workflows.
Limitations & Caveats
- PRO features require a paid subscription.
- Next.js Turbopack and middleware are not currently supported.
- Network logging in the community edition only captures URL, method, and status; request/response content requires PRO.