A simple, powerful and highly customisable Unix terminal emulator for React.
Live demo
Configuration guide
Command API
Features
- Highly customisable: Add custom responses, restyle and tweak the terminal to your liking and much more.
- A Unix terminal in the browser: Accurately emulate a native Unix terminal in the browser with no setup required.
- Familiar shortcuts: The terminal can keep track of commands and allows the user to recall them at their behest.
- Easy and powerful command system: Execute code from your own application and send the results to the terminal output.
- Async output support: Push output to the terminal at any time, even after a command response has been emitted.
- Unlimited concurrency: Register as many terminals as you like with no risk of input confusion.
Usage
See more usage examples in demo/extra/config.js and demo/App.jsx
import React, { Component } from 'react' import Terminal from 'react-console-emulator' const commands = { echo: { description: 'Echo a passed string.', usage: 'echo <string>', fn: (...args) => args.join(' ') } } export default class MyTerminal extends Component { render () { return ( <Terminal commands={commands} welcomeMessage={'Welcome to the React terminal!'} promptLabel={'me@React:~$'} /> ) } }
Contributing
For information on contributing, see .github/CONTRIBUTING.md.
License
MIT © Linus Willner and Curtis Fowler.
"React" and any associated logos are trademarks of Facebook, Inc.
