0.0.16 • Published 3 years ago

web-gash v0.0.16

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

web-gash

npm version Build Status Coverage Status

Acronym for game-again shell, borrowing the pun from Bash (Unix shell), web-gash is a JS library for web console games.

This library is a port and successor to my .NET core gash library.

Features

  • Runs inside modern browsers for even more cross-platform opportunities
  • Fully functional and already styled terminal React component
  • Command driven logic
    • Well documented and typed interface to define and register new commands with robust parsing helpers
    • Commands have syntax inspired by Unix shell commands including parameters and options support
    • Built-in Unix inspired "man" type of command for manual pages of commands and keywords
    • Built-in "list available commands" command
  • Built-in tab auto-complete functionality
  • Unix shell style command history (up/down arrows)
  • Written in Typescript
  • Very quick to set-up if you have a React app

Getting started

I suggest starting with Typescript template of Create React App.

Installation

You can install the package with npm: npm install web-gash

Set-up

First we need to initialize the gash library:

// index.tsx/index.js or similar entry-point

import Gash from 'web-gash';

// Before ReactDOM.render initialize the gash library. Note that unless you pass `false` to the `init` gash will automatically register the built-in commands `man` and `list`.
Gash.init();

ReactDOM.render(
//...

The default styling uses Inconsolata font from Google Fonts library. I chose not to ship it with gash but you can easily add it to your app, for example with css import:

/* Add to the top of index.css */
@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@400;700&display=swap');

Then finally we add the Terminal component to our app:

import { Terminal } from 'web-gash';

// App.tsx/App.js or similar top-level component
function App() {
  return (
    <Terminal />
  );
}

And that's it, once you start the app you will see a full-screen styled terminal and you can start calling commands such as man man and play around with Tab auto-completion or command history. Next step is adding your own commands and keywords, see this documentation page.

0.0.15

3 years ago

0.0.16

3 years ago

0.0.14

3 years ago

0.0.13

3 years ago

0.0.10

3 years ago

0.0.11

3 years ago

0.0.12

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.5

3 years ago

0.0.6

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago