node-pty 1.1.0-beta13 → 1.1.0-beta15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -104,6 +104,7 @@ npm install --global --production windows-build-tools
104
104
  The following are also needed:
105
105
 
106
106
  - [Windows SDK](https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk) - only the "Desktop C++ Apps" components are needed to be installed
107
+ - Spectre-mitigated libraries - In order to avoid the build error "MSB8040: Spectre-mitigated libraries are required for this project", open the Visual Studio Installer, press the Modify button, navigate to the "Individual components" tab, search "Spectre", and install an option like "MSVC v143 - VS 2022 C++ x64/x86 Spectre-mitigated libs (Latest)" (the exact option to install will depend on your version of Visual Studio as well as your operating system architecture)
107
108
 
108
109
  ## Debugging
109
110
 
@@ -25,10 +25,12 @@ var FLUSH_DATA_INTERVAL = 1000;
25
25
  * and winpty.
26
26
  */
27
27
  var WindowsPtyAgent = /** @class */ (function () {
28
- function WindowsPtyAgent(file, args, env, cwd, cols, rows, debug, _useConpty, conptyInheritCursor) {
28
+ function WindowsPtyAgent(file, args, env, cwd, cols, rows, debug, _useConpty, _useConptyDll, conptyInheritCursor) {
29
29
  var _this = this;
30
+ if (_useConptyDll === void 0) { _useConptyDll = false; }
30
31
  if (conptyInheritCursor === void 0) { conptyInheritCursor = false; }
31
32
  this._useConpty = _useConpty;
33
+ this._useConptyDll = _useConptyDll;
32
34
  this._pid = 0;
33
35
  this._innerPid = 0;
34
36
  if (this._useConpty === undefined || this._useConpty === true) {
@@ -76,7 +78,7 @@ var WindowsPtyAgent = /** @class */ (function () {
76
78
  // Open pty session.
77
79
  var term;
78
80
  if (this._useConpty) {
79
- term = this._ptyNative.startProcess(file, cols, rows, debug, this._generatePipeName(), conptyInheritCursor);
81
+ term = this._ptyNative.startProcess(file, cols, rows, debug, this._generatePipeName(), conptyInheritCursor, this._useConptyDll);
80
82
  }
81
83
  else {
82
84
  term = this._ptyNative.startProcess(file, commandLine, env, cwd, cols, rows, debug);
@@ -141,7 +143,7 @@ var WindowsPtyAgent = /** @class */ (function () {
141
143
  if (this._exitCode !== undefined) {
142
144
  throw new Error('Cannot resize a pty that has already exited');
143
145
  }
144
- this._ptyNative.resize(this._pty, cols, rows);
146
+ this._ptyNative.resize(this._pty, cols, rows, this._useConptyDll);
145
147
  return;
146
148
  }
147
149
  this._ptyNative.resize(this._pid, cols, rows);
@@ -166,7 +168,7 @@ var WindowsPtyAgent = /** @class */ (function () {
166
168
  // Ignore if process cannot be found (kill ESRCH error)
167
169
  }
168
170
  });
169
- _this._ptyNative.kill(_this._pty);
171
+ _this._ptyNative.kill(_this._pty, _this._useConptyDll);
170
172
  });
171
173
  }
172
174
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"windowsPtyAgent.js","sourceRoot":"","sources":["../src/windowsPtyAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"windowsPtyAgent.js","sourceRoot":"","sources":["../src/windowsPtyAgent.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,7 @@ var WindowsTerminal = /** @class */ (function (_super) {
48
48
  // Functions that need to run after `ready` event is emitted.
49
49
  _this._deferreds = [];
50
50
  // Create new termal.
51
- _this._agent = new windowsPtyAgent_1.WindowsPtyAgent(file, args, parsedEnv, cwd, _this._cols, _this._rows, false, opt.useConpty, opt.conptyInheritCursor);
51
+ _this._agent = new windowsPtyAgent_1.WindowsPtyAgent(file, args, parsedEnv, cwd, _this._cols, _this._rows, false, opt.useConpty, opt.useConptyDll, opt.conptyInheritCursor);
52
52
  _this._socket = _this._agent.outSocket;
53
53
  // Not available until `ready` event emitted.
54
54
  _this._pid = _this._agent.innerPid;
@@ -1 +1 @@
1
- {"version":3,"file":"windowsTerminal.js","sourceRoot":"","sources":["../src/windowsTerminal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"windowsTerminal.js","sourceRoot":"","sources":["../src/windowsTerminal.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;AAGH,uCAAkE;AAClE,qDAAoD;AAGpD,iCAAiC;AAEjC,IAAM,YAAY,GAAG,SAAS,CAAC;AAC/B,IAAM,YAAY,GAAG,eAAe,CAAC;AAErC;IAAqC,mCAAQ;IAK3C,yBAAY,IAAa,EAAE,IAAwB,EAAE,GAA4B;QAAjF,YACE,kBAAM,GAAG,CAAC,SAqGX;QAnGC,KAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE9C,uBAAuB;QACvB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,GAAG,IAAI,IAAI,YAAY,CAAC;QAC5B,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC;QAChB,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;QAEjC,IAAI,GAAG,CAAC,QAAQ,EAAE;YAChB,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;SAC9D;QAED,IAAM,GAAG,GAAG,cAAM,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,KAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,IAAI,uBAAY,CAAC;QACtC,KAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,IAAI,uBAAY,CAAC;QACtC,IAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACrC,IAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,YAAY,CAAC;QAClD,IAAM,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAEtC,2BAA2B;QAC3B,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,6DAA6D;QAC7D,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QAErB,qBAAqB;QACrB,KAAI,CAAC,MAAM,GAAG,IAAI,iCAAe,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,KAAI,CAAC,KAAK,EAAE,KAAI,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACvJ,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAErC,6CAA6C;QAC7C,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACjC,KAAI,CAAC,GAAG,GAAG,KAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAE5B,sEAAsE;QACtE,WAAW;QACX,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,gBAAgB,EAAE;YAEhC,sCAAsC;YACtC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,UAAA,KAAK;gBAC1D,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;oBAErB,sEAAsE;oBACtE,IAAI,CAAC,KAAI,CAAC,QAAQ,IAAI,KAAK,KAAK,MAAM,EAAE;wBAEtC,gEAAgE;wBAChE,SAAS;wBACT,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;wBAErB,+BAA+B;wBAC/B,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAA,EAAE;4BACxB,4DAA4D;4BAC5D,kEAAkE;4BAClE,4DAA4D;4BAC5D,aAAa;4BACb,EAAE,CAAC,GAAG,EAAE,CAAC;wBACX,CAAC,CAAC,CAAC;wBAEH,QAAQ;wBACR,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;qBAEtB;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,wCAAwC;YACxC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,UAAA,GAAG;gBAC1B,0BAA0B;gBAC1B,KAAI,CAAC,MAAM,EAAE,CAAC;gBAEd,uEAAuE;gBACvE,mBAAmB;gBACnB,yBAAyB;gBACzB,2BAA2B;gBAC3B,IAAU,GAAI,CAAC,IAAI,EAAE;oBACnB,IAAI,CAAO,GAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAO,GAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;wBAAE,OAAO;iBACpF;gBAED,uBAAuB;gBACvB,IAAI,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBACtC,MAAM,GAAG,CAAC;iBACX;YACH,CAAC,CAAC,CAAC;YAEH,sCAAsC;YACtC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE;gBACvB,KAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACxC,KAAI,CAAC,MAAM,EAAE,CAAC;YAChB,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;QAEH,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,KAAI,CAAC,cAAc,EAAE,CAAC;;IACxB,CAAC;IAES,gCAAM,GAAhB,UAAiB,IAAY;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAEO,kCAAQ,GAAhB,UAAiB,IAAY;QAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IAEW,oBAAI,GAAlB,UAAmB,OAAyB;QAC1C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IAEI,gCAAM,GAAb,UAAc,IAAY,EAAE,IAAY;QAAxC,iBASC;QARC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,EAAE;YAClG,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;SACvE;QACD,IAAI,CAAC,YAAY,CAAC;YAChB,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/B,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,+BAAK,GAAZ;QAAA,iBAIC;QAHC,IAAI,CAAC,YAAY,CAAC;YAChB,KAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,iCAAO,GAAd;QAAA,iBAIC;QAHC,IAAI,CAAC,YAAY,CAAC;YAChB,KAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,8BAAI,GAAX,UAAY,MAAe;QAA3B,iBAQC;QAPC,IAAI,CAAC,YAAY,CAAC;YAChB,IAAI,MAAM,EAAE;gBACV,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;aACtD;YACD,KAAI,CAAC,MAAM,EAAE,CAAC;YACd,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,sCAAY,GAApB,UAAwB,UAAsB;QAA9C,iBAWC;QAVC,qCAAqC;QACrC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO;SACR;QAED,iCAAiC;QACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACnB,GAAG,EAAE,cAAM,OAAA,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,EAArB,CAAqB;SACjC,CAAC,CAAC;IACL,CAAC;IAEO,gCAAM,GAAd,UAAkB,UAA4B,EAAE,GAAM;QAAtD,iBAWC;QAVC,qCAAqC;QACrC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC3B,OAAO;SACR;QAED,iCAAiC;QACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACnB,GAAG,EAAE,cAAM,OAAA,UAAU,CAAC,IAAI,CAAC,KAAI,EAAE,GAAG,CAAC,EAA1B,CAA0B;SACtC,CAAC,CAAC;IACL,CAAC;IAED,sBAAW,oCAAO;aAAlB,cAA+B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;;;OAAA;IACnD,sBAAW,mCAAM;aAAjB,cAA8B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC;;;OAAA;IACtF,sBAAW,kCAAK;aAAhB,cAA6B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAC,CAAC;;;OAAA;IACtF,sBAAC;AAAD,CAAC,AA/LD,CAAqC,mBAAQ,GA+L5C;AA/LY,0CAAe"}
@@ -94,7 +94,7 @@ if (process.platform === 'win32') {
94
94
  term._defer(done);
95
95
  });
96
96
  it('should kill the process tree', function (done) {
97
- this.timeout(5000);
97
+ this.timeout(10000);
98
98
  var term = new windowsTerminal_1.WindowsTerminal('cmd.exe', [], { useConpty: useConpty });
99
99
  // Start sub-processes
100
100
  term.write('powershell.exe\r');
@@ -129,7 +129,7 @@ if (process.platform === 'win32') {
129
129
  it('should throw a non-native exception when resizing a killed terminal', function (done) {
130
130
  var term = new windowsTerminal_1.WindowsTerminal('cmd.exe', [], { useConpty: useConpty });
131
131
  term._defer(function () {
132
- term.on('exit', function () {
132
+ term.once('exit', function () {
133
133
  assert.throws(function () { return term.resize(1, 1); });
134
134
  done();
135
135
  });
@@ -1 +1 @@
1
- {"version":3,"file":"windowsTerminal.test.js","sourceRoot":"","sources":["../src/windowsTerminal.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"windowsTerminal.test.js","sourceRoot":"","sources":["../src/windowsTerminal.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "author": {
5
5
  "name": "Microsoft Corporation"
6
6
  },
7
- "version": "1.1.0-beta13",
7
+ "version": "1.1.0-beta15",
8
8
  "license": "MIT",
9
9
  "main": "./lib/index.js",
10
10
  "types": "./typings/node-pty.d.ts",
@@ -1,8 +1,11 @@
1
- var fs = require('fs');
2
- var path = require('path');
1
+ //@ts-check
3
2
 
4
- var RELEASE_DIR = path.join(__dirname, '..', 'build', 'Release');
5
- var BUILD_FILES = [
3
+ const fs = require('fs');
4
+ const os = require('os');
5
+ const path = require('path');
6
+
7
+ const RELEASE_DIR = path.join(__dirname, '../build/Release');
8
+ const BUILD_FILES = [
6
9
  path.join(RELEASE_DIR, 'conpty.node'),
7
10
  path.join(RELEASE_DIR, 'conpty.pdb'),
8
11
  path.join(RELEASE_DIR, 'conpty_console_list.node'),
@@ -15,14 +18,18 @@ var BUILD_FILES = [
15
18
  path.join(RELEASE_DIR, 'winpty.dll'),
16
19
  path.join(RELEASE_DIR, 'winpty.pdb')
17
20
  ];
21
+ const CONPTY_DIR = path.join(__dirname, '../third_party/conpty');
22
+ const CONPTY_SUPPORTED_ARCH = ['x64', 'arm64'];
23
+
24
+ console.log('\x1b[32m> Cleaning release folder...\x1b[0m');
18
25
 
19
- cleanFolderRecursive = function(folder) {
26
+ function cleanFolderRecursive(folder) {
20
27
  var files = [];
21
- if( fs.existsSync(folder) ) {
28
+ if (fs.existsSync(folder)) {
22
29
  files = fs.readdirSync(folder);
23
30
  files.forEach(function(file,index) {
24
31
  var curPath = path.join(folder, file);
25
- if(fs.lstatSync(curPath).isDirectory()) { // recurse
32
+ if (fs.lstatSync(curPath).isDirectory()) { // recurse
26
33
  cleanFolderRecursive(curPath);
27
34
  fs.rmdirSync(curPath);
28
35
  } else if (BUILD_FILES.indexOf(curPath) < 0){ // delete file
@@ -36,7 +43,29 @@ try {
36
43
  cleanFolderRecursive(RELEASE_DIR);
37
44
  } catch(e) {
38
45
  console.log(e);
39
- //process.exit(1);
40
- } finally {
41
- process.exit(0);
46
+ process.exit(1);
47
+ }
48
+
49
+ console.log(`\x1b[32m> Moving conpty.dll...\x1b[0m`);
50
+ if (os.platform() !== 'win32') {
51
+ console.log(' SKIPPED (not Windows)');
52
+ } else {
53
+ const windowsArch = os.arch();
54
+ if (!CONPTY_SUPPORTED_ARCH.includes(windowsArch)) {
55
+ console.log(` SKIPPED (unsupported architecture ${windowsArch})`);
56
+ } else {
57
+ const versionFolder = fs.readdirSync(CONPTY_DIR)[0];
58
+ console.log(` Found version ${versionFolder}`);
59
+ const sourceFolder = path.join(CONPTY_DIR, versionFolder, `win10-${windowsArch}`);
60
+ const destFolder = path.join(RELEASE_DIR, 'conpty');
61
+ fs.mkdirSync(destFolder, { recursive: true });
62
+ for (const file of ['conpty.dll', 'OpenConsole.exe']) {
63
+ const sourceFile = path.join(sourceFolder, file);
64
+ const destFile = path.join(destFolder, file);
65
+ console.log(` Copying ${sourceFile} -> ${destFile}`);
66
+ fs.copyFileSync(sourceFile, destFile);
67
+ }
68
+ }
42
69
  }
70
+
71
+ process.exit(0);
package/src/interfaces.ts CHANGED
@@ -119,6 +119,7 @@ export interface IPtyForkOptions extends IBasePtyForkOptions {
119
119
 
120
120
  export interface IWindowsPtyForkOptions extends IBasePtyForkOptions {
121
121
  useConpty?: boolean;
122
+ useConptyDll?: boolean;
122
123
  conptyInheritCursor?: boolean;
123
124
  }
124
125
 
package/src/native.d.ts CHANGED
@@ -3,11 +3,11 @@
3
3
  */
4
4
 
5
5
  interface IConptyNative {
6
- startProcess(file: string, cols: number, rows: number, debug: boolean, pipeName: string, conptyInheritCursor: boolean): IConptyProcess;
6
+ startProcess(file: string, cols: number, rows: number, debug: boolean, pipeName: string, conptyInheritCursor: boolean, useConptyDll: boolean): IConptyProcess;
7
7
  connect(ptyId: number, commandLine: string, cwd: string, env: string[], onExitCallback: (exitCode: number) => void): { pid: number };
8
- resize(ptyId: number, cols: number, rows: number): void;
8
+ resize(ptyId: number, cols: number, rows: number, useConptyDll: boolean): void;
9
9
  clear(ptyId: number): void;
10
- kill(ptyId: number): void;
10
+ kill(ptyId: number, useConptyDll: boolean): void;
11
11
  }
12
12
 
13
13
  interface IWinptyNative {
package/src/unix/pty.cc CHANGED
@@ -41,6 +41,7 @@
41
41
  #include <util.h>
42
42
  #elif defined(__FreeBSD__)
43
43
  #include <libutil.h>
44
+ #include <termios.h>
44
45
  #endif
45
46
 
46
47
  /* Some platforms name VWERASE and VDISCARD differently */
package/src/win/conpty.cc CHANGED
@@ -11,16 +11,18 @@
11
11
  #define _WIN32_WINNT 0x600
12
12
 
13
13
  #define NODE_ADDON_API_DISABLE_DEPRECATED
14
- #include <napi.h>
14
+ #include <node_api.h>
15
15
  #include <assert.h>
16
16
  #include <Shlwapi.h> // PathCombine, PathIsRelative
17
17
  #include <sstream>
18
+ #include <iostream>
18
19
  #include <string>
19
20
  #include <thread>
20
21
  #include <vector>
21
22
  #include <Windows.h>
22
23
  #include <strsafe.h>
23
24
  #include "path_util.h"
25
+ #include "conpty.h"
24
26
 
25
27
  // Taken from the RS5 Windows SDK, but redefined here in case we're targeting <= 17134
26
28
  #ifndef PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE
@@ -162,20 +164,46 @@ bool createDataServerPipe(bool write,
162
164
  return *hServer != INVALID_HANDLE_VALUE;
163
165
  }
164
166
 
165
- HRESULT CreateNamedPipesAndPseudoConsole(COORD size,
167
+ HANDLE LoadConptyDll(const Napi::CallbackInfo& info,
168
+ const bool useConptyDll)
169
+ {
170
+ if (!useConptyDll) {
171
+ return LoadLibraryExW(L"kernel32.dll", 0, 0);
172
+ }
173
+ wchar_t currentDir[MAX_PATH];
174
+ DWORD result = GetCurrentDirectoryW(MAX_PATH, currentDir);
175
+ if (result == 0) {
176
+ throw errorWithCode(info, "Failed to get current directory");
177
+ }
178
+ std::wstring currentDirStr(currentDir);
179
+
180
+ std::wstring conptyDllPath = currentDirStr + L"\\build\\Release\\conpty\\conpty.dll";
181
+ if (!path_util::file_exists(conptyDllPath)) {
182
+ throw errorWithCode(info, "Cannot find conpty.dll");
183
+ }
184
+
185
+ return LoadLibraryW(conptyDllPath.c_str());
186
+ }
187
+
188
+ HRESULT CreateNamedPipesAndPseudoConsole(const Napi::CallbackInfo& info,
189
+ COORD size,
166
190
  DWORD dwFlags,
167
191
  HANDLE *phInput,
168
192
  HANDLE *phOutput,
169
193
  HPCON* phPC,
170
194
  std::wstring& inName,
171
195
  std::wstring& outName,
172
- const std::wstring& pipeName)
196
+ const std::wstring& pipeName,
197
+ const bool useConptyDll)
173
198
  {
174
- HANDLE hLibrary = LoadLibraryExW(L"kernel32.dll", 0, 0);
199
+ HANDLE hLibrary = LoadConptyDll(info, useConptyDll);
200
+ DWORD error = GetLastError();
175
201
  bool fLoadedDll = hLibrary != nullptr;
176
202
  if (fLoadedDll)
177
203
  {
178
- PFNCREATEPSEUDOCONSOLE const pfnCreate = (PFNCREATEPSEUDOCONSOLE)GetProcAddress((HMODULE)hLibrary, "CreatePseudoConsole");
204
+ PFNCREATEPSEUDOCONSOLE const pfnCreate = (PFNCREATEPSEUDOCONSOLE)GetProcAddress(
205
+ (HMODULE)hLibrary,
206
+ useConptyDll ? "ConptyCreatePseudoConsole" : "CreatePseudoConsole");
179
207
  if (pfnCreate)
180
208
  {
181
209
  if (phPC == NULL || phInput == NULL || phOutput == NULL)
@@ -202,6 +230,8 @@ HRESULT CreateNamedPipesAndPseudoConsole(COORD size,
202
230
  // We should fall back to winpty in this case.
203
231
  return HRESULT_FROM_WIN32(GetLastError());
204
232
  }
233
+ } else {
234
+ throw errorWithCode(info, "Failed to load conpty.dll");
205
235
  }
206
236
 
207
237
  // Failed to find kernel32. This is realy unlikely - honestly no idea how
@@ -219,14 +249,15 @@ static Napi::Value PtyStartProcess(const Napi::CallbackInfo& info) {
219
249
  std::unique_ptr<wchar_t[]> mutableCommandline;
220
250
  PROCESS_INFORMATION _piClient{};
221
251
 
222
- if (info.Length() != 6 ||
252
+ if (info.Length() != 7 ||
223
253
  !info[0].IsString() ||
224
254
  !info[1].IsNumber() ||
225
255
  !info[2].IsNumber() ||
226
256
  !info[3].IsBoolean() ||
227
257
  !info[4].IsString() ||
228
- !info[5].IsBoolean()) {
229
- throw Napi::Error::New(env, "Usage: pty.startProcess(file, cols, rows, debug, pipeName, inheritCursor)");
258
+ !info[5].IsBoolean() ||
259
+ !info[6].IsBoolean()) {
260
+ throw Napi::Error::New(env, "Usage: pty.startProcess(file, cols, rows, debug, pipeName, inheritCursor, useConptyDll)");
230
261
  }
231
262
 
232
263
  const std::wstring filename(path_util::to_wstring(info[0].As<Napi::String>()));
@@ -235,6 +266,7 @@ static Napi::Value PtyStartProcess(const Napi::CallbackInfo& info) {
235
266
  const bool debug = info[3].As<Napi::Boolean>().Value();
236
267
  const std::wstring pipeName(path_util::to_wstring(info[4].As<Napi::String>()));
237
268
  const bool inheritCursor = info[5].As<Napi::Boolean>().Value();
269
+ const bool useConptyDll = info[6].As<Napi::Boolean>().Value();
238
270
 
239
271
  // use environment 'Path' variable to determine location of
240
272
  // the relative path that we have recieved (e.g cmd.exe)
@@ -254,7 +286,7 @@ static Napi::Value PtyStartProcess(const Napi::CallbackInfo& info) {
254
286
 
255
287
  HANDLE hIn, hOut;
256
288
  HPCON hpc;
257
- HRESULT hr = CreateNamedPipesAndPseudoConsole({cols, rows}, inheritCursor ? 1/*PSEUDOCONSOLE_INHERIT_CURSOR*/ : 0, &hIn, &hOut, &hpc, inName, outName, pipeName);
289
+ HRESULT hr = CreateNamedPipesAndPseudoConsole(info, {cols, rows}, inheritCursor ? 1/*PSEUDOCONSOLE_INHERIT_CURSOR*/ : 0, &hIn, &hOut, &hpc, inName, outName, pipeName, useConptyDll);
258
290
 
259
291
  // Restore default handling of ctrl+c
260
292
  SetConsoleCtrlHandler(NULL, FALSE);
@@ -403,25 +435,27 @@ static Napi::Value PtyResize(const Napi::CallbackInfo& info) {
403
435
  Napi::Env env(info.Env());
404
436
  Napi::HandleScope scope(env);
405
437
 
406
- if (info.Length() != 3 ||
438
+ if (info.Length() != 4 ||
407
439
  !info[0].IsNumber() ||
408
440
  !info[1].IsNumber() ||
409
- !info[2].IsNumber()) {
410
- throw Napi::Error::New(env, "Usage: pty.resize(id, cols, rows)");
441
+ !info[2].IsNumber() ||
442
+ !info[3].IsBoolean()) {
443
+ throw Napi::Error::New(env, "Usage: pty.resize(id, cols, rows, useConptyDll)");
411
444
  }
412
445
 
413
446
  int id = info[0].As<Napi::Number>().Int32Value();
414
447
  SHORT cols = static_cast<SHORT>(info[1].As<Napi::Number>().Uint32Value());
415
448
  SHORT rows = static_cast<SHORT>(info[2].As<Napi::Number>().Uint32Value());
449
+ const bool useConptyDll = info[3].As<Napi::Boolean>().Value();
416
450
 
417
451
  const pty_baton* handle = get_pty_baton(id);
418
452
 
419
453
  if (handle != nullptr) {
420
- HANDLE hLibrary = LoadLibraryExW(L"kernel32.dll", 0, 0);
454
+ HANDLE hLibrary = LoadConptyDll(info, useConptyDll);
421
455
  bool fLoadedDll = hLibrary != nullptr;
422
456
  if (fLoadedDll)
423
457
  {
424
- PFNRESIZEPSEUDOCONSOLE const pfnResizePseudoConsole = (PFNRESIZEPSEUDOCONSOLE)GetProcAddress((HMODULE)hLibrary, "ResizePseudoConsole");
458
+ PFNRESIZEPSEUDOCONSOLE const pfnResizePseudoConsole = (PFNRESIZEPSEUDOCONSOLE)GetProcAddress((HMODULE)hLibrary, "ConptyResizePseudoConsole");
425
459
  if (pfnResizePseudoConsole)
426
460
  {
427
461
  COORD size = {cols, rows};
@@ -466,21 +500,23 @@ static Napi::Value PtyKill(const Napi::CallbackInfo& info) {
466
500
  Napi::Env env(info.Env());
467
501
  Napi::HandleScope scope(env);
468
502
 
469
- if (info.Length() != 1 ||
470
- !info[0].IsNumber()) {
471
- throw Napi::Error::New(env, "Usage: pty.kill(id)");
503
+ if (info.Length() != 2 ||
504
+ !info[0].IsNumber() ||
505
+ !info[1].IsBoolean()) {
506
+ throw Napi::Error::New(env, "Usage: pty.kill(id, useConptyDll)");
472
507
  }
473
508
 
474
509
  int id = info[0].As<Napi::Number>().Int32Value();
510
+ const bool useConptyDll = info[1].As<Napi::Boolean>().Value();
475
511
 
476
512
  const pty_baton* handle = get_pty_baton(id);
477
513
 
478
514
  if (handle != nullptr) {
479
- HANDLE hLibrary = LoadLibraryExW(L"kernel32.dll", 0, 0);
515
+ HANDLE hLibrary = LoadConptyDll(info, useConptyDll);
480
516
  bool fLoadedDll = hLibrary != nullptr;
481
517
  if (fLoadedDll)
482
518
  {
483
- PFNCLOSEPSEUDOCONSOLE const pfnClosePseudoConsole = (PFNCLOSEPSEUDOCONSOLE)GetProcAddress((HMODULE)hLibrary, "ClosePseudoConsole");
519
+ PFNCLOSEPSEUDOCONSOLE const pfnClosePseudoConsole = (PFNCLOSEPSEUDOCONSOLE)GetProcAddress((HMODULE)hLibrary, "ConptyClosePseudoConsole");
484
520
  if (pfnClosePseudoConsole)
485
521
  {
486
522
  pfnClosePseudoConsole(handle->hpc);
@@ -0,0 +1,41 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+
4
+ // This header prototypes the Pseudoconsole symbols from conpty.lib with their original names.
5
+ // This is required because we cannot import __imp_CreatePseudoConsole from a static library
6
+ // as it doesn't produce an import lib.
7
+ // We can't use an /ALTERNATENAME trick because it seems that that name is only resolved when the
8
+ // linker cannot otherwise find the symbol.
9
+
10
+ #pragma once
11
+
12
+ #include <consoleapi.h>
13
+
14
+ #ifndef CONPTY_IMPEXP
15
+ #define CONPTY_IMPEXP __declspec(dllimport)
16
+ #endif
17
+
18
+ #ifndef CONPTY_EXPORT
19
+ #ifdef __cplusplus
20
+ #define CONPTY_EXPORT extern "C" CONPTY_IMPEXP
21
+ #else
22
+ #define CONPTY_EXPORT extern CONPTY_IMPEXP
23
+ #endif
24
+ #endif
25
+
26
+ #define PSEUDOCONSOLE_RESIZE_QUIRK (2u)
27
+ #define PSEUDOCONSOLE_PASSTHROUGH_MODE (8u)
28
+
29
+ CONPTY_EXPORT HRESULT WINAPI ConptyCreatePseudoConsole(COORD size, HANDLE hInput, HANDLE hOutput, DWORD dwFlags, HPCON* phPC);
30
+ CONPTY_EXPORT HRESULT WINAPI ConptyCreatePseudoConsoleAsUser(HANDLE hToken, COORD size, HANDLE hInput, HANDLE hOutput, DWORD dwFlags, HPCON* phPC);
31
+
32
+ CONPTY_EXPORT HRESULT WINAPI ConptyResizePseudoConsole(HPCON hPC, COORD size);
33
+ CONPTY_EXPORT HRESULT WINAPI ConptyClearPseudoConsole(HPCON hPC);
34
+ CONPTY_EXPORT HRESULT WINAPI ConptyShowHidePseudoConsole(HPCON hPC, bool show);
35
+ CONPTY_EXPORT HRESULT WINAPI ConptyReparentPseudoConsole(HPCON hPC, HWND newParent);
36
+ CONPTY_EXPORT HRESULT WINAPI ConptyReleasePseudoConsole(HPCON hPC);
37
+
38
+ CONPTY_EXPORT VOID WINAPI ConptyClosePseudoConsole(HPCON hPC);
39
+ CONPTY_EXPORT VOID WINAPI ConptyClosePseudoConsoleTimeout(HPCON hPC, DWORD dwMilliseconds);
40
+
41
+ CONPTY_EXPORT HRESULT WINAPI ConptyPackPseudoConsole(HANDLE hServerProcess, HANDLE hRef, HANDLE hSignal, HPCON* phPC);
@@ -54,6 +54,7 @@ export class WindowsPtyAgent {
54
54
  rows: number,
55
55
  debug: boolean,
56
56
  private _useConpty: boolean | undefined,
57
+ private _useConptyDll: boolean = false,
57
58
  conptyInheritCursor: boolean = false
58
59
  ) {
59
60
  if (this._useConpty === undefined || this._useConpty === true) {
@@ -99,7 +100,7 @@ export class WindowsPtyAgent {
99
100
  // Open pty session.
100
101
  let term: IConptyProcess | IWinptyProcess;
101
102
  if (this._useConpty) {
102
- term = (this._ptyNative as IConptyNative).startProcess(file, cols, rows, debug, this._generatePipeName(), conptyInheritCursor);
103
+ term = (this._ptyNative as IConptyNative).startProcess(file, cols, rows, debug, this._generatePipeName(), conptyInheritCursor, this._useConptyDll);
103
104
  } else {
104
105
  term = (this._ptyNative as IWinptyNative).startProcess(file, commandLine, env, cwd, cols, rows, debug);
105
106
  this._pid = (term as IWinptyProcess).pid;
@@ -144,10 +145,10 @@ export class WindowsPtyAgent {
144
145
  if (this._exitCode !== undefined) {
145
146
  throw new Error('Cannot resize a pty that has already exited');
146
147
  }
147
- this._ptyNative.resize(this._pty, cols, rows);
148
+ (this._ptyNative as IConptyNative).resize(this._pty, cols, rows, this._useConptyDll);
148
149
  return;
149
150
  }
150
- this._ptyNative.resize(this._pid, cols, rows);
151
+ (this._ptyNative as IWinptyNative).resize(this._pid, cols, rows);
151
152
  }
152
153
 
153
154
  public clear(): void {
@@ -169,7 +170,7 @@ export class WindowsPtyAgent {
169
170
  // Ignore if process cannot be found (kill ESRCH error)
170
171
  }
171
172
  });
172
- (this._ptyNative as IConptyNative).kill(this._pty);
173
+ (this._ptyNative as IConptyNative).kill(this._pty, this._useConptyDll);
173
174
  });
174
175
  } else {
175
176
  // Because pty.kill closes the handle, it will kill most processes by itself.
@@ -98,7 +98,7 @@ if (process.platform === 'win32') {
98
98
  (<any>term)._defer(done);
99
99
  });
100
100
  it('should kill the process tree', function (done: Mocha.Done): void {
101
- this.timeout(5000);
101
+ this.timeout(10000);
102
102
  const term = new WindowsTerminal('cmd.exe', [], { useConpty });
103
103
  // Start sub-processes
104
104
  term.write('powershell.exe\r');
@@ -134,7 +134,7 @@ if (process.platform === 'win32') {
134
134
  it('should throw a non-native exception when resizing a killed terminal', (done) => {
135
135
  const term = new WindowsTerminal('cmd.exe', [], { useConpty });
136
136
  (<any>term)._defer(() => {
137
- term.on('exit', () => {
137
+ term.once('exit', () => {
138
138
  assert.throws(() => term.resize(1, 1));
139
139
  done();
140
140
  });
@@ -48,7 +48,7 @@ export class WindowsTerminal extends Terminal {
48
48
  this._deferreds = [];
49
49
 
50
50
  // Create new termal.
51
- this._agent = new WindowsPtyAgent(file, args, parsedEnv, cwd, this._cols, this._rows, false, opt.useConpty, opt.conptyInheritCursor);
51
+ this._agent = new WindowsPtyAgent(file, args, parsedEnv, cwd, this._cols, this._rows, false, opt.useConpty, opt.useConptyDll, opt.conptyInheritCursor);
52
52
  this._socket = this._agent.outSocket;
53
53
 
54
54
  // Not available until `ready` event emitted.
@@ -95,6 +95,14 @@ declare module 'node-pty' {
95
95
  */
96
96
  useConpty?: boolean;
97
97
 
98
+ /**
99
+ * (EXPERIMENTAL)
100
+ *
101
+ * Whether to use the conpty.dll shipped with the node-pty package instead of the one built into
102
+ * Windows. Defaults to false.
103
+ */
104
+ useConptyDll?: boolean;
105
+
98
106
  /**
99
107
  * Whether to use PSEUDOCONSOLE_INHERIT_CURSOR in conpty.
100
108
  * @see https://docs.microsoft.com/en-us/windows/console/createpseudoconsole