node package manager


Pseudo terminals for node.


forkpty(3) bindings for node.js. This allows you to fork processes with pseudo terminal file descriptors. It returns a terminal object which allows reads and writes.

This is useful for:

  • Writing a terminal emulator.
  • Getting certain programs to think you're a terminal. This is useful if you need a program to send you control sequences.
var pty = require('pty.js');
var term = pty.spawn('bash', [], {
  name: 'xterm-color',
  cols: 80,
  rows: 30,
  cwd: process.env.HOME,
  env: process.env
term.on('data', function(data) {
term.resize(100, 40);
term.write('ls /\r');
  • Add tcsetattr(3), tcgetattr(3).
  • Add a way of determining the current foreground job for platforms other than Linux and OSX/Darwin.

Copyright (c) 2012, Christopher Jeffrey (MIT License).