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.

Package Sidebar

Install

npm i force-stdin-tty

Weekly Downloads

115

Version

0.0.1

License

MIT

Unpacked Size

4.03 kB

Total Files

4

Last publish

Collaborators

  • dosentmatter