0.0.1 • Published 5 years ago

force-stdin-tty v0.0.1

Weekly downloads
227
License
MIT
Repository
github
Last release
5 years ago

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.