1.1.1 • Published 1 year ago

hepsen.js v1.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Hepsen.js (core) is a simple and perfomant web-based component written in TypeScript that lets you create terminals for use in the browser.

Key Features

  • Self-contained: Requires no dependencies to work.
  • Perfomant: It is lightweight and really fast.
  • Simple and minimal: Learn the basics that can be built on top of with little configuration.
  • Debuggable: The natural elements (div) can be inspected in your browser's devtools.
  • Well documented: Right from getting started, configurations, APIs, and beyond.
  • Efficient Execution: Commands are executed asynchronously and efficiently uses the event loop.
  • TypeScript Support: Smooth development with TypeScript Intellisense support in your code editor.

To Dos

Below are some of the features on the list and shall soon be added.

  • Multiple Command Execution - Ability to execute multiple commands using one-line statements with &&, || or ;.
  • Terminal Commands Suite - A package of commands from which you can import the commands you need.
  • Colored Output - Ability to print colorful logs in the terminal (something like chalk)
  • Plugin Intergration - Develop plugins to enhance a wonderful experience using hooks and events.
  • Backend Intergrations - Rich communications with the backend apps e.g. WebSockets with SocketIO or APIs

Note: The docs and API are subject to change and so you're kindly requested to keep up-to-date with the docs. Check out the documentation

Getting Started

Check out the official documentation or browse some examples.

With NodeJS & NPM installed, run the following:

  • Create project folder

    mkdir app && cd app 

    Folder structure

    --app
        |--index.html
        |--main.js
        |--node_modules/
        |--package.json
  • Installation

    Initialize project with package.json

    npm init -y

    Install the hepsen.js package as a dependency

    npm i hepsen.js

    Install ViteJS as dev dependency (will be used to run a local dev server and build the app for production)

    npm i -D vite
  • Project Development

    index.html

    Add the following lines of code index.html file.

      ...
      <style>
        * {
          box-sizing: border-box;
        }
        html, body {
          padding: 0;
          margin: 0;
          overflow: hidden;
        }
        #app {
          height: 100vh;
        }
      </style>
      ...
      <div id="app"></div>
      ...
      <script type="module" src="./main.js"></script>
      ...

    main.js

    // hepsen.js styles
    import "hepsen.js/dist/hepsen.min.css";
    
    // hepsen.js script
    import Terminal from "hepsen.js";
    
    const term = new Terminal({
      target: '#app',
      prompt: '$',
      theme: 'dark'
    });
  • Preview

    Run a local dev server with ViteJS with:

    npx vite

    Now go to http://localhost:5173 in your browser. You should have your first Hepsen.js terminal running!

    Note: The port number might differ depending on whether or not you already have an application using that port number. Port number might be: 5713, 5714, 5715, 5716, ...

Browser Support

Hepsen.js source code is transpiled from TypeScript into JavaScript and finally into ES5 JavaScript using Babel. All browsers supporting ES5 are supported. Modern browsers including Chrome, Firefox, Safari, and Edge (for desktop and mobile devices) are supported.

API Reference Guide

Deep drive into how the different API works and their indepedent interfaces.

Check out the official reference guide.

Contributions & Issues

If you're having any issues getting started, or you'd just like some advice, then please don't be afraid to Open an Issue, we're here to help!

License (MIT)

Copyright (c) 2022 hepsen.js

Copyright (c) 2022 Henry Hale

Released under the MIT License

1.1.1

1 year ago

1.1.0

1 year ago

1.0.12

1 year ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.0

1 year ago

0.1.2

1 year ago

0.11.2

1 year ago

0.11.1

1 year ago

0.1.11

1 year ago

0.1.1-alpha.10

1 year ago

0.1.1

1 year ago

0.1.1-beta.0

1 year ago

0.1.0

1 year ago

0.0.21

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago