Have ideas to improve npm?Join in the discussion! »

    gritty

    6.0.3 • Public • Published

    Gritty License NPM version Dependency Status Build Status Coverage Status

    Web terminal emulator. Based on node-pty and xterm.js.

    Gritty

    Install

    npm i gritty -g

    Usage

    Usage: gritty [options]
    Options:
      -h, --help              display this help and exit
      -v, --version           output version information and exit
      --path                  output path of a gritty and exit
      --port                  set port number
      --command               command to run in terminal (shell by default)
      --auto-restart          restart command when on exit
      --no-auto-restart       do not restart command on exit
    

    Windows

    On Windows there is no build tools by default. When can't install gritty try to install windows-build-tools first.

    npm i windows-build-tools -g
    npm i gritty -g

    Gritty

    Use as standalone

    Start gritty, and go to url http://localhost:1337

    API

    Client API

    gritty(element [, options])

    const prefix = '/gritty'; // default
    const env = {}; // default
    const fontFamily = 'Courier'; // default
    
    gritty('body', {
        prefix,
        env,
        fontFamily,
    });

    Server API

    gritty.listen(socket, [, options])

    Gritty could be used as middleware:

    const prefix = '/gritty'; // default
    
    const auth = (accept, reject) => (username, password) => {
        accept();
    };
    
    gritty.listen(socket, {
        prefix,
        auth, // optional
    });

    gritty(options)

    Middleware function:

    const prefix = '/gritty'; // default
    
    gritty({
        prefix,
    });

    Usage as middleware

    To use gritty in your programs you should make local install:

    npm i gritty socket.io express --save

    And use it this way:

    // server.js
    
    const gritty = require('gritty');
    const http = require('http');
    const express = require('express');
    const io = require('socket.io');
    
    const app = express();
    const server = http.createServer(app);
    const socket = io.listen(server);
    
    const port = 1337;
    const ip = '0.0.0.0';
    
    app.use(gritty());
    app.use(express.static(__dirname));
    
    gritty.listen(socket, {
        command: 'mc', // optional
        autoRestart: true, // default
    });
    
    server.listen(port, ip);
    <!-- index.html -->
    
    <div class="gritty"></div>
    <script src="/gritty/gritty.js"></script>
    <script>
        const options = {
            prefix: 'console',
            command: 'bash', // optional
            autoRestart: true, // optional
            cwd: '/', // optional
            env: {
                TERMINAL: 'gritty',
                CURRENT: getCurrentFile,
            }
        };
        
        gritty('.terminal', options);
        
        function getCurrentFile() {
            return 'filename.txt';
        }
    </script>

    License

    MIT

    Install

    npm i gritty

    DownloadsWeekly Downloads

    73

    Version

    6.0.3

    License

    MIT

    Unpacked Size

    2.02 MB

    Total Files

    13

    Last publish

    Collaborators

    • avatar