Xterm.js

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • xterm.js

    A terminal for the web

  • This is related to some issue with Safari's new WebGL 2 implementation they shipped recently[1]. Currently we disable the webgl renderer on Safari inside github.dev/codespaces to work around this.

    [1]: https://github.com/xtermjs/xterm.js/issues/3357

  • term.js

    A terminal written in javascript.

  • term.js was originally created by Fabrice Bellard -- see the headers of @chjj's term.js file [1]. Bellard wrote term.js since he needed a way to interact with his amazing port [2] of Linux to a web browser. Term.js had a non-open-source license and @chjj spent time a decade ago successfully convincing Bellard to relicense term.js open source (I watched and greatly appreciated this as it happened!). Xterm.js is a very significant rewrite and improvement of term.js, mostly done by Daniel Imms who is on the VS Code team at Microsoft; xterm.js is a great contribution of Microsoft to open source, and is used at VS Code's terminal. I watched all this happen over the years, visited Daniel at Microsoft, etc.; I think this is all very useful tech (e.g., we use it in JupyterLab and CoCalc).

    [1] https://github.com/chjj/term.js/blob/master/src/term.js

    [2] https://bellard.org/jslinux/

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • blessed

    A high-level terminal interface library for node.js.

  • Fun fact - xterm.js was originally created by chjj who also wrote the code for Handshake DNS among other things.

    My favorite is blessed [1].

    He’s definitely a super programmer. Thank you for all your contributions to this world @chjj!

    [1] https://github.com/chjj/blessed

  • xtermjs.org

    The website for xterm.js

  • You can check out the source for the demo at https://github.com/xtermjs/xtermjs.org/blob/master/js/demo.j..., I've actually started hacking up a more general mechanism for doing this since I've done it a few times but it's not OSS yet.

    If you don't need to rely on ccrypt and just want to emulate teh experience of using it, you could have an on rails experience by forking the demo file and adapting the commands part.

  • local-echo

    A local-echo controller for xterm.js

  • I just want to say thanks, I have been experimenting with using xterm.js to connect to terminal API in jupyter notebooks and it was worked really well, plug and play (even editors like vim were working without any extra effort).

    Before that I was experimenting with using it as a custom shell for running commands inside a web application. In that use case it was a bit more challenging because I had never written to an actual tty before (ansi escape codes for coloring log files has been about the limit of my experience). For that use case I just really needed to send and receive text. I ended up using this library [ https://github.com/wavesoft/local-echo ] to smooth that process out until I could learn about how to do things properly.

    Are any suggestions on 1. where to learn about how ttys work to things the right way, or 2. suggested libraries like local-echo that can wrap over some of the trickier bits of just getting text on the screen?

    Thanks again for maintaining such a great & useful library!

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts