force-stdin-tty
TypeScript icon, indicating that this package has built-in type declarations

0.0.1 • Public • Published

force-stdin-tty

Force stdin to be assigned to /dev/tty

Install

Using npm:

npm install --save-dev force-stdin-tty

or using yarn:

yarn add force-stdin-tty --dev

Usage

This package can be used to force git hooks to allow prompts for user input. If the user is using a UI and not a terminal, you can tell them to use a terminal. See this stackoverflow question.

import { forceStdinTty } from 'force-stdin-tty';
 
let overwroteStdin = false;
try {
  overwroteStdin = forceStdinTty();
} catch {
  console.error('Please push your code in a terminal.');
  process.exit(1);
}
 
if (overwroteStdin) {
  process.stdin.destroy();
}

husky support

This package works with husky.

husky initially did add support for stdin, but later removed it due to a Windows bug:

husky changelog

husky getScript.ts

husky current code

The husky author suggests using the undocumented ~/.huskyrc to enable prompts for git hooks. But it isn't ideal because each developer would have to enable it.

See:

husky#442

husky#385

TypeScript support

This package supports TypeScript.

Dependencies (0)

    Dev Dependencies (8)

    Package Sidebar

    Install

    npm i force-stdin-tty

    Weekly Downloads

    99

    Version

    0.0.1

    License

    MIT

    Unpacked Size

    4.03 kB

    Total Files

    4

    Last publish

    Collaborators

    • dosentmatter