npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@steggy/tty

v23.9.18

Published

## Description

Downloads

226

Readme

@steggy/tty

Description

This library provides human / terminal interactions.

Exported Services

High level overview

ApplicationManagerService

Work with the application header. Set/resetting the header will clear the current screen content.

PromptService

Methods for launching editors and menus to retrieve information from the user.

IconService

Icon translations for font awesome

ScreenService

Work with the cursor, print text, and buffered screen rendering.

TextRenderingService

Tools for formatting text

Editors

Acknowledge

Pause, and wait for user interaction

example

Array Builder

Construct an array of objects that conform to a common definition.

| Image | Description | | --- | --- | | img | Base view with 1 option | | img | Actively editing a property of an object |

Boolean

Request a true / false value from the user

example

Confirm

Present a message to the user, and ask for yes / no confirmation

example

Date / Time / Date Range

Build a date/time from user input. Can accept date in fuzzy formats, and granular

| Image | Description | | --- | --- | | | Fuzzy input method | | | Granular input method |

Menu

Highly configurable menu, with easy to configure keyboard interactions, and tons of features.

example

Object Builder

Construct a single flat object

| Image | Description | | --- | --- | | img | Base view | | img | With editor |

Pick Many

Select options out of a list.

example

String

Request text from the user

Configuration options

The following configuration options are utilized by this library.

; default configuration
[libs.tty]
  DEFAULT_HEADER_FONT=ANSI Regular
  SECONDARY_HEADER_FONT=Pagga
  PAGE_SIZE=20
  TABLE_RENDER_ROWS=20
  USE_FONTAWESOME_ICONS=true
  DEFAULT_PROMPT_WIDTH=50

DEFAULT_HEADER_FONT

application.setHeader(PRIMARY, SECONDARY);

The figlet font to use with setHeader commands. This font will be used with the PRIMARY header in the above example.

SECONDARY_HEADER_FONT

application.setHeader(SECONDARY);
application.setHeader(PRIMARY, SECONDARY);

The figlet font to use with setHeader commands. This font will be used with the SECONDARY header in the above examples.

PAGE_SIZE

Render item count for menus and lists.

TABLE_RENDER_ROWS

Render row count for tables

USE_FONTAWESOME_ICONS

Utilize font awesome icons in prompts. Requires fontawesome to be installed on system

DEFAULT_PROMPT_WIDTH

The default character width to render string prompt type backgrounds

Switches

Flags and switches that are intended to be used on the command line when launching the app.

HELP

# Usage example
node ./dist/apps/sampler-app/main.js --help

Example result

Scan the application for configuration options, and output a summary of items that can be configured via command line switches