https://github.com/linuswillner/react-console-emulator
👨💻 A simple, powerful and highly customisable Unix terminal emulator for React.
https://github.com/linuswillner/react-console-emulator
component console react
Last synced: 5 months ago
JSON representation
👨💻 A simple, powerful and highly customisable Unix terminal emulator for React.
- Host: GitHub
- URL: https://github.com/linuswillner/react-console-emulator
- Owner: linuswillner
- License: mit
- Created: 2018-08-15T08:33:05.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-05-06T22:23:55.000Z (about 3 years ago)
- Last Synced: 2025-09-21T22:52:03.945Z (9 months ago)
- Topics: component, console, react
- Language: JavaScript
- Homepage: https://npmjs.com/package/react-console-emulator
- Size: 9.28 MB
- Stars: 313
- Watchers: 4
- Forks: 65
- Open Issues: 32
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README

# react-console-emulator
     
A simple, powerful and highly customisable Unix terminal emulator for React.
[Live demo](https://linuswillner.me/react-console-emulator/)
[Configuration guide](docs/CONFIG.md)
[Command API](docs/API.md)
## 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](demo/extra/config.js) and [demo/App.jsx](demo/App.jsx)
```jsx
import React, { Component } from 'react'
import Terminal from 'react-console-emulator'
const commands = {
echo: {
description: 'Echo a passed string.',
usage: 'echo ',
fn: (...args) => args.join(' ')
}
}
export default class MyTerminal extends Component {
render () {
return (
)
}
}
```
## Contributing
For information on contributing, see [.github/CONTRIBUTING.md](.github/CONTRIBUTING.md).
## License
MIT © Linus Willner and Curtis Fowler.
"React" and any associated logos are trademarks of Facebook, Inc.