Negating Past Mistakes

    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.

    Install

    npm i force-stdin-tty

    DownloadsWeekly Downloads

    410

    Version

    0.0.1

    License

    MIT

    Unpacked Size

    4.03 kB

    Total Files

    4

    Last publish

    Collaborators

    • dosentmatter