Pipe JavaScript into a browser and capture console output in Node for simple browser automation and testing.
Smokestack is a Node.js tool that pipes JavaScript into a browser (Chrome, Firefox, or Sauce Labs) and captures console output back in Node.js. It solves the problem of running browser-based scripts and UI tests with minimal setup, providing a simple alternative to complex browser automation frameworks.
Developers and testers who need to run JavaScript in a browser for testing, automation, or debugging, particularly those using tools like tape for TAP-based testing in browser environments.
Developers choose Smokestack for its simplicity and low overhead—it offers a direct pipe from JavaScript to browser console logs without the bloat of larger automation tools, making it ideal for quick testing and integration into build pipelines.
Pipe your JavaScript into a browser, logging console output in Node
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Setup is straightforward with no complex configuration; just pipe JavaScript into the browser to get console logs, as emphasized in the README's philosophy of simplicity.
Can be used via CLI for quick tasks or as a Node.js module for integration into scripts, demonstrated in the module usage examples with browserify and tape.
Specifically designed for TAP output with tools like tape, making it seamless for developers already using TAP-based testing in browsers, as shown in the CLI pipeline examples.
Supports running browsers headlessly using Xvfb, enabling automation in CI/CD environments without a display, as detailed in the README's headless section.
Missing advanced features like screenshot support for Firefox and Sauce Labs (currently Chrome-only), and lacks built-in testing utilities, relying on external tools for assertions and helpers.
Focuses primarily on console log capture and simple scripts, not suitable for complex user interactions or full UI automation, making it inadequate for detailed end-to-end testing.
Marked as experimental with an orange stability badge in the README, suggesting potential instability or breaking changes in future updates, which may deter production use.