A frontend component that enables fully-featured terminal emulation in web browsers.
Xterm.js is a frontend JavaScript library that enables developers to embed fully-featured terminal emulators in web applications. It provides a component that mimics traditional terminal behavior, allowing users to interact with command-line processes directly in the browser. It solves the problem of bringing terminal functionality to web-based IDEs, SSH clients, and development tools without requiring native applications.
Developers building web-based IDEs, SSH clients, coding platforms, or any application that requires interactive terminal access in the browser. It's particularly useful for projects like VS Code, Tabby, and Hyper that need embedded terminal emulation.
Developers choose Xterm.js for its high performance, zero dependencies, and extensive compatibility with terminal applications. Its modular addon system and well-documented API make it highly customizable, while its accessibility features ensure inclusive user experiences.
A terminal for the web
Includes an optional GPU-accelerated WebGL renderer for smooth scrolling and rendering, making it ideal for high-output terminals in IDEs like VS Code.
The main library has no external dependencies, ensuring lightweight integration and minimal bundle size for web applications.
Supports CJK characters, emojis, and IMEs out of the box, with experimental addons for advanced features like grapheme clustering.
Well-documented API allows extending functionality with maintained addons for links, search, theming, and more, enabling customization without bloat.
Features screen reader mode and minimum contrast ratio support in the core CSS, promoting inclusive design with minimal setup.
Cannot function standalone; must be connected to a server-side process like node-pty via WebSockets, adding deployment complexity and overhead.
Essential features such as web links, image support, or ligatures require separate addon installations, increasing setup steps and potential bundle size.
Officially only targets modern evergreen browsers (Chrome, Firefox, Safari, Edge), excluding users in environments with older or niche browsers.
Beta releases are continuously published and used by projects like VS Code, but they can contain breaking changes or bugs, posing risks for production stability.
Visual Studio Code
The Elastic APM Real User Monitoring (RUM) JavaScript agent is an open-source library that collects performance metrics and error data from end-user browsers. It integrates with the Elastic APM ecosystem to provide insights into frontend application performance, helping developers identify and resolve issues affecting user experience. ## Key Features - **Performance Monitoring** — Tracks page load times, resource timings, and user interactions to measure frontend performance. - **Error Tracking** — Captures JavaScript errors, including unhandled exceptions and promise rejections, with stack traces. - **Distributed Tracing** — Correlates frontend requests with backend services by propagating trace context across service boundaries. - **Custom Metrics** — Allows developers to instrument custom transactions and spans for specific application workflows. - **Browser Support** — Works across modern browsers and provides polyfills for broader compatibility. ## Philosophy The agent is designed to be lightweight and non-intrusive, prioritizing minimal performance overhead while delivering comprehensive observability data for web applications.
Playwright Examples is a repository showcasing various testing scenarios using the Playwright framework. It provides practical, runnable examples that help developers understand how to implement effective end-to-end tests for web applications. ## Key Features - **Cross-Browser Testing** — Examples for testing across Chromium, Firefox, and WebKit with a single API. - **UI Mode** — Demonstrates using Playwright's built-in UI for visually running and debugging tests. - **Automation Scenarios** — Includes examples for common web automation tasks like form filling, navigation, and interactions. - **Visual Testing** — Shows how to implement visual regression testing and screenshot comparisons. - **Network Mocking** — Examples for intercepting and mocking network requests to test different conditions. ## Philosophy Playwright Examples follows a hands-on, practical approach to teaching testing best practices through working code that developers can run and modify immediately.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.