New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@webscopeio/react-console

Package Overview
Dependencies
Maintainers
6
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@webscopeio/react-console

React component that emulates console behaviour

  • 1.2.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
6
Created
Source

MIT-licensed console emulator in React. Documentation and more advanced features coming soon!

react-console

React component that emulates console behaviour

NPM JavaScript Style Guide license-sh badge

Install

npm install --save @webscopeio/react-console

Demo

https://webscopeio.github.io/react-console/

Screenshot

Webscope React Console

Props

PropsTypeDescription
commands*CommandsProp
promptstring
welcomeMessagestring
autoFocusboolean
noCommandFound(...str: string[]) => Promise
wrapperStyleReact.CSSPropertiesstyles for wrapper
promptWrapperStyleReact.CSSPropertiesstyles for promptWrapper
promptStyleReact.CSSPropertiesstyles for prompt
lineStyleReact.CSSPropertiesstyles for line
inputStyleReact.CSSPropertiesstyles for input
wrapperClassNamestringclassName for wrapper
promptWrapperClassNamestringclassName for promptWrapper
promptClassNamestringclassName for prompt
lineClassNamestringclassName for line
inputClassNamestringclassName for input
historystring[]history array
onAddHistoryItem(entry: string) => voidcallback called when a new history entry is created
onSanitizeOutputLine(line: string) => stringcallback called before a new output line is inserted to DOM

*are mandatory

Usage

import React, { Component } from 'react'

import ReactConsole from 'react-console'

const App = () => {
  const [history, setHistory] = useState([
    "echo hello world",
    "sleep 1000",
    "sleep 2000",
    "sleep 3000",
    "echo ola",
    "not found",
  ])

  return (
    <div>
      <ReactConsole
        autoFocus
        welcomeMessage="Welcome"
        commands={{
          history: {
            description: 'History',
            fn: () => new Promise(resolve => {
               resolve(`${history.join('\r\n')}`)
            })
          },
          echo: {
            description: 'Echo',
            fn: (...args) => {
              return new Promise((resolve, reject) => {
                setTimeout(() => {
                  resolve(`${args.join(' ')}`)
                }, 2000)
              })
            }
          },
          test: {
            description: 'Test',
            fn: (...args) => {
              return new Promise((resolve, reject) => {
                setTimeout(() => {
                  resolve('Hello world \n\n hello \n')
                }, 2000)
              })
            }
          }
        }}
      />
    </div>
  )
}
export default App

History implementation

You can provide your own history implementation by providing onAddHistoryItem and history properties. If you don't provide history, up/down arrows & reverse search won't work.

License

MIT © jvorcak

FAQs

Package last updated on 25 Feb 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc