node-pty 1.1.0 → 1.2.0-beta.10

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.
Files changed (264) hide show
  1. package/README.md +3 -5
  2. package/binding.gyp +76 -37
  3. package/lib/unixTerminal.js +6 -3
  4. package/lib/utils.js +1 -1
  5. package/lib/windowsPtyAgent.js +32 -95
  6. package/lib/windowsTerminal.js +2 -2
  7. package/package.json +6 -5
  8. package/prebuilds/darwin-arm64/pty.node +0 -0
  9. package/prebuilds/darwin-arm64/spawn-helper +0 -0
  10. package/prebuilds/darwin-x64/pty.node +0 -0
  11. package/prebuilds/darwin-x64/spawn-helper +0 -0
  12. package/prebuilds/linux-arm64/pty.node +0 -0
  13. package/prebuilds/linux-x64/pty.node +0 -0
  14. package/prebuilds/win32-arm64/conpty.node +0 -0
  15. package/prebuilds/win32-arm64/conpty.pdb +0 -0
  16. package/prebuilds/win32-arm64/conpty_console_list.node +0 -0
  17. package/prebuilds/win32-arm64/conpty_console_list.pdb +0 -0
  18. package/prebuilds/win32-x64/conpty.node +0 -0
  19. package/prebuilds/win32-x64/conpty.pdb +0 -0
  20. package/prebuilds/win32-x64/conpty_console_list.node +0 -0
  21. package/prebuilds/win32-x64/conpty_console_list.pdb +0 -0
  22. package/scripts/post-install.js +1 -5
  23. package/src/unix/pty.cc +111 -35
  24. package/src/win/conpty.cc +1 -2
  25. package/typings/node-pty.d.ts +13 -9
  26. package/deps/.editorconfig +0 -2
  27. package/deps/winpty/.drone.yml +0 -17
  28. package/deps/winpty/.gitattributes +0 -19
  29. package/deps/winpty/LICENSE +0 -21
  30. package/deps/winpty/Makefile +0 -166
  31. package/deps/winpty/README.md +0 -151
  32. package/deps/winpty/RELEASES.md +0 -280
  33. package/deps/winpty/VERSION.txt +0 -1
  34. package/deps/winpty/configure +0 -167
  35. package/deps/winpty/misc/BufferResizeTests.cc +0 -90
  36. package/deps/winpty/misc/ChangeScreenBuffer.cc +0 -53
  37. package/deps/winpty/misc/ClearConsole.cc +0 -72
  38. package/deps/winpty/misc/ConinMode.cc +0 -117
  39. package/deps/winpty/misc/ConinMode.ps1 +0 -116
  40. package/deps/winpty/misc/ConoutMode.cc +0 -113
  41. package/deps/winpty/misc/DebugClient.py +0 -42
  42. package/deps/winpty/misc/DebugServer.py +0 -63
  43. package/deps/winpty/misc/DumpLines.py +0 -5
  44. package/deps/winpty/misc/EnableExtendedFlags.txt +0 -46
  45. package/deps/winpty/misc/Font-Report-June2016/CP437-Consolas.txt +0 -528
  46. package/deps/winpty/misc/Font-Report-June2016/CP437-Lucida.txt +0 -633
  47. package/deps/winpty/misc/Font-Report-June2016/CP932.txt +0 -630
  48. package/deps/winpty/misc/Font-Report-June2016/CP936.txt +0 -630
  49. package/deps/winpty/misc/Font-Report-June2016/CP949.txt +0 -630
  50. package/deps/winpty/misc/Font-Report-June2016/CP950.txt +0 -630
  51. package/deps/winpty/misc/Font-Report-June2016/MinimumWindowWidths.txt +0 -16
  52. package/deps/winpty/misc/Font-Report-June2016/Results.txt +0 -4
  53. package/deps/winpty/misc/Font-Report-June2016/Windows10SetFontBugginess.txt +0 -144
  54. package/deps/winpty/misc/FontSurvey.cc +0 -100
  55. package/deps/winpty/misc/FormatChar.h +0 -21
  56. package/deps/winpty/misc/FreezePerfTest.cc +0 -62
  57. package/deps/winpty/misc/GetCh.cc +0 -20
  58. package/deps/winpty/misc/GetConsolePos.cc +0 -41
  59. package/deps/winpty/misc/GetFont.cc +0 -261
  60. package/deps/winpty/misc/IdentifyConsoleWindow.ps1 +0 -51
  61. package/deps/winpty/misc/IsNewConsole.cc +0 -87
  62. package/deps/winpty/misc/MouseInputNotes.txt +0 -90
  63. package/deps/winpty/misc/MoveConsoleWindow.cc +0 -34
  64. package/deps/winpty/misc/Notes.txt +0 -219
  65. package/deps/winpty/misc/OSVersion.cc +0 -27
  66. package/deps/winpty/misc/ScreenBufferFreezeInactive.cc +0 -101
  67. package/deps/winpty/misc/ScreenBufferTest.cc +0 -671
  68. package/deps/winpty/misc/ScreenBufferTest2.cc +0 -151
  69. package/deps/winpty/misc/SelectAllTest.cc +0 -45
  70. package/deps/winpty/misc/SetBufferSize.cc +0 -32
  71. package/deps/winpty/misc/SetCursorPos.cc +0 -10
  72. package/deps/winpty/misc/SetFont.cc +0 -145
  73. package/deps/winpty/misc/SetWindowRect.cc +0 -36
  74. package/deps/winpty/misc/ShowArgv.cc +0 -12
  75. package/deps/winpty/misc/ShowConsoleInput.cc +0 -40
  76. package/deps/winpty/misc/Spew.py +0 -5
  77. package/deps/winpty/misc/TestUtil.cc +0 -172
  78. package/deps/winpty/misc/UnicodeDoubleWidthTest.cc +0 -102
  79. package/deps/winpty/misc/UnicodeWideTest1.cc +0 -246
  80. package/deps/winpty/misc/UnicodeWideTest2.cc +0 -130
  81. package/deps/winpty/misc/UnixEcho.cc +0 -89
  82. package/deps/winpty/misc/Utf16Echo.cc +0 -46
  83. package/deps/winpty/misc/VeryLargeRead.cc +0 -122
  84. package/deps/winpty/misc/VkEscapeTest.cc +0 -56
  85. package/deps/winpty/misc/Win10ResizeWhileFrozen.cc +0 -52
  86. package/deps/winpty/misc/Win10WrapTest1.cc +0 -57
  87. package/deps/winpty/misc/Win10WrapTest2.cc +0 -30
  88. package/deps/winpty/misc/Win32Echo1.cc +0 -26
  89. package/deps/winpty/misc/Win32Echo2.cc +0 -19
  90. package/deps/winpty/misc/Win32Test1.cc +0 -46
  91. package/deps/winpty/misc/Win32Test2.cc +0 -70
  92. package/deps/winpty/misc/Win32Test3.cc +0 -78
  93. package/deps/winpty/misc/Win32Write1.cc +0 -44
  94. package/deps/winpty/misc/WindowsBugCrashReader.cc +0 -27
  95. package/deps/winpty/misc/WriteConsole.cc +0 -106
  96. package/deps/winpty/misc/build32.sh +0 -9
  97. package/deps/winpty/misc/build64.sh +0 -9
  98. package/deps/winpty/misc/color-test.sh +0 -212
  99. package/deps/winpty/misc/font-notes.txt +0 -300
  100. package/deps/winpty/misc/winbug-15048.cc +0 -201
  101. package/deps/winpty/ship/build-pty4j-libpty.bat +0 -36
  102. package/deps/winpty/ship/common_ship.py +0 -53
  103. package/deps/winpty/ship/make_msvc_package.py +0 -165
  104. package/deps/winpty/ship/ship.py +0 -108
  105. package/deps/winpty/src/agent/Agent.cc +0 -613
  106. package/deps/winpty/src/agent/Agent.h +0 -103
  107. package/deps/winpty/src/agent/AgentCreateDesktop.cc +0 -84
  108. package/deps/winpty/src/agent/AgentCreateDesktop.h +0 -28
  109. package/deps/winpty/src/agent/ConsoleFont.cc +0 -632
  110. package/deps/winpty/src/agent/ConsoleFont.h +0 -28
  111. package/deps/winpty/src/agent/ConsoleInput.cc +0 -852
  112. package/deps/winpty/src/agent/ConsoleInput.h +0 -109
  113. package/deps/winpty/src/agent/ConsoleInputReencoding.cc +0 -121
  114. package/deps/winpty/src/agent/ConsoleInputReencoding.h +0 -36
  115. package/deps/winpty/src/agent/ConsoleLine.cc +0 -152
  116. package/deps/winpty/src/agent/ConsoleLine.h +0 -41
  117. package/deps/winpty/src/agent/Coord.h +0 -87
  118. package/deps/winpty/src/agent/DebugShowInput.cc +0 -239
  119. package/deps/winpty/src/agent/DebugShowInput.h +0 -32
  120. package/deps/winpty/src/agent/DefaultInputMap.cc +0 -422
  121. package/deps/winpty/src/agent/DefaultInputMap.h +0 -28
  122. package/deps/winpty/src/agent/DsrSender.h +0 -30
  123. package/deps/winpty/src/agent/EventLoop.cc +0 -99
  124. package/deps/winpty/src/agent/EventLoop.h +0 -47
  125. package/deps/winpty/src/agent/InputMap.cc +0 -246
  126. package/deps/winpty/src/agent/InputMap.h +0 -114
  127. package/deps/winpty/src/agent/LargeConsoleRead.cc +0 -71
  128. package/deps/winpty/src/agent/LargeConsoleRead.h +0 -68
  129. package/deps/winpty/src/agent/NamedPipe.cc +0 -378
  130. package/deps/winpty/src/agent/NamedPipe.h +0 -125
  131. package/deps/winpty/src/agent/Scraper.cc +0 -699
  132. package/deps/winpty/src/agent/Scraper.h +0 -103
  133. package/deps/winpty/src/agent/SimplePool.h +0 -75
  134. package/deps/winpty/src/agent/SmallRect.h +0 -143
  135. package/deps/winpty/src/agent/Terminal.cc +0 -535
  136. package/deps/winpty/src/agent/Terminal.h +0 -69
  137. package/deps/winpty/src/agent/UnicodeEncoding.h +0 -157
  138. package/deps/winpty/src/agent/UnicodeEncodingTest.cc +0 -189
  139. package/deps/winpty/src/agent/Win32Console.cc +0 -107
  140. package/deps/winpty/src/agent/Win32Console.h +0 -67
  141. package/deps/winpty/src/agent/Win32ConsoleBuffer.cc +0 -193
  142. package/deps/winpty/src/agent/Win32ConsoleBuffer.h +0 -99
  143. package/deps/winpty/src/agent/main.cc +0 -114
  144. package/deps/winpty/src/agent/subdir.mk +0 -61
  145. package/deps/winpty/src/configurations.gypi +0 -60
  146. package/deps/winpty/src/debugserver/DebugServer.cc +0 -117
  147. package/deps/winpty/src/debugserver/subdir.mk +0 -41
  148. package/deps/winpty/src/include/winpty.h +0 -242
  149. package/deps/winpty/src/include/winpty_constants.h +0 -131
  150. package/deps/winpty/src/libwinpty/AgentLocation.cc +0 -75
  151. package/deps/winpty/src/libwinpty/AgentLocation.h +0 -28
  152. package/deps/winpty/src/libwinpty/LibWinptyException.h +0 -54
  153. package/deps/winpty/src/libwinpty/WinptyInternal.h +0 -72
  154. package/deps/winpty/src/libwinpty/subdir.mk +0 -46
  155. package/deps/winpty/src/libwinpty/winpty.cc +0 -970
  156. package/deps/winpty/src/shared/AgentMsg.h +0 -38
  157. package/deps/winpty/src/shared/BackgroundDesktop.cc +0 -122
  158. package/deps/winpty/src/shared/BackgroundDesktop.h +0 -73
  159. package/deps/winpty/src/shared/Buffer.cc +0 -103
  160. package/deps/winpty/src/shared/Buffer.h +0 -102
  161. package/deps/winpty/src/shared/DebugClient.cc +0 -187
  162. package/deps/winpty/src/shared/DebugClient.h +0 -38
  163. package/deps/winpty/src/shared/GenRandom.cc +0 -138
  164. package/deps/winpty/src/shared/GenRandom.h +0 -55
  165. package/deps/winpty/src/shared/GetCommitHash.bat +0 -13
  166. package/deps/winpty/src/shared/Mutex.h +0 -54
  167. package/deps/winpty/src/shared/OsModule.h +0 -63
  168. package/deps/winpty/src/shared/OwnedHandle.cc +0 -36
  169. package/deps/winpty/src/shared/OwnedHandle.h +0 -45
  170. package/deps/winpty/src/shared/PrecompiledHeader.h +0 -43
  171. package/deps/winpty/src/shared/StringBuilder.h +0 -227
  172. package/deps/winpty/src/shared/StringBuilderTest.cc +0 -114
  173. package/deps/winpty/src/shared/StringUtil.cc +0 -55
  174. package/deps/winpty/src/shared/StringUtil.h +0 -80
  175. package/deps/winpty/src/shared/TimeMeasurement.h +0 -63
  176. package/deps/winpty/src/shared/UnixCtrlChars.h +0 -45
  177. package/deps/winpty/src/shared/UpdateGenVersion.bat +0 -20
  178. package/deps/winpty/src/shared/WindowsSecurity.cc +0 -460
  179. package/deps/winpty/src/shared/WindowsSecurity.h +0 -104
  180. package/deps/winpty/src/shared/WindowsVersion.cc +0 -252
  181. package/deps/winpty/src/shared/WindowsVersion.h +0 -29
  182. package/deps/winpty/src/shared/WinptyAssert.cc +0 -55
  183. package/deps/winpty/src/shared/WinptyAssert.h +0 -64
  184. package/deps/winpty/src/shared/WinptyException.cc +0 -57
  185. package/deps/winpty/src/shared/WinptyException.h +0 -43
  186. package/deps/winpty/src/shared/WinptyVersion.cc +0 -42
  187. package/deps/winpty/src/shared/WinptyVersion.h +0 -27
  188. package/deps/winpty/src/shared/winpty_snprintf.h +0 -99
  189. package/deps/winpty/src/subdir.mk +0 -5
  190. package/deps/winpty/src/tests/subdir.mk +0 -28
  191. package/deps/winpty/src/tests/trivial_test.cc +0 -158
  192. package/deps/winpty/src/unix-adapter/InputHandler.cc +0 -114
  193. package/deps/winpty/src/unix-adapter/InputHandler.h +0 -56
  194. package/deps/winpty/src/unix-adapter/OutputHandler.cc +0 -80
  195. package/deps/winpty/src/unix-adapter/OutputHandler.h +0 -53
  196. package/deps/winpty/src/unix-adapter/Util.cc +0 -86
  197. package/deps/winpty/src/unix-adapter/Util.h +0 -31
  198. package/deps/winpty/src/unix-adapter/WakeupFd.cc +0 -70
  199. package/deps/winpty/src/unix-adapter/WakeupFd.h +0 -42
  200. package/deps/winpty/src/unix-adapter/main.cc +0 -729
  201. package/deps/winpty/src/unix-adapter/subdir.mk +0 -41
  202. package/deps/winpty/src/winpty.gyp +0 -234
  203. package/deps/winpty/vcbuild.bat +0 -83
  204. package/lib/conpty_console_list_agent.js.map +0 -1
  205. package/lib/eventEmitter2.js.map +0 -1
  206. package/lib/eventEmitter2.test.js +0 -30
  207. package/lib/eventEmitter2.test.js.map +0 -1
  208. package/lib/index.js.map +0 -1
  209. package/lib/interfaces.js.map +0 -1
  210. package/lib/shared/conout.js.map +0 -1
  211. package/lib/terminal.js.map +0 -1
  212. package/lib/terminal.test.js +0 -139
  213. package/lib/terminal.test.js.map +0 -1
  214. package/lib/testUtils.test.js +0 -28
  215. package/lib/testUtils.test.js.map +0 -1
  216. package/lib/types.js.map +0 -1
  217. package/lib/unixTerminal.js.map +0 -1
  218. package/lib/unixTerminal.test.js +0 -351
  219. package/lib/unixTerminal.test.js.map +0 -1
  220. package/lib/utils.js.map +0 -1
  221. package/lib/windowsConoutConnection.js.map +0 -1
  222. package/lib/windowsPtyAgent.js.map +0 -1
  223. package/lib/windowsPtyAgent.test.js +0 -90
  224. package/lib/windowsPtyAgent.test.js.map +0 -1
  225. package/lib/windowsTerminal.js.map +0 -1
  226. package/lib/windowsTerminal.test.js +0 -219
  227. package/lib/windowsTerminal.test.js.map +0 -1
  228. package/lib/worker/conoutSocketWorker.js.map +0 -1
  229. package/prebuilds/win32-arm64/pty.node +0 -0
  230. package/prebuilds/win32-arm64/pty.pdb +0 -0
  231. package/prebuilds/win32-arm64/winpty-agent.exe +0 -0
  232. package/prebuilds/win32-arm64/winpty-agent.pdb +0 -0
  233. package/prebuilds/win32-arm64/winpty.dll +0 -0
  234. package/prebuilds/win32-arm64/winpty.pdb +0 -0
  235. package/prebuilds/win32-x64/pty.node +0 -0
  236. package/prebuilds/win32-x64/pty.pdb +0 -0
  237. package/prebuilds/win32-x64/winpty-agent.exe +0 -0
  238. package/prebuilds/win32-x64/winpty-agent.pdb +0 -0
  239. package/prebuilds/win32-x64/winpty.dll +0 -0
  240. package/prebuilds/win32-x64/winpty.pdb +0 -0
  241. package/scripts/gen-compile-commands.js +0 -8
  242. package/scripts/increment-version.js +0 -54
  243. package/src/conpty_console_list_agent.ts +0 -15
  244. package/src/eventEmitter2.test.ts +0 -30
  245. package/src/eventEmitter2.ts +0 -48
  246. package/src/index.ts +0 -52
  247. package/src/interfaces.ts +0 -130
  248. package/src/native.d.ts +0 -54
  249. package/src/shared/conout.ts +0 -15
  250. package/src/terminal.test.ts +0 -119
  251. package/src/terminal.ts +0 -211
  252. package/src/testUtils.test.ts +0 -23
  253. package/src/tsconfig.json +0 -22
  254. package/src/types.ts +0 -15
  255. package/src/unixTerminal.test.ts +0 -367
  256. package/src/unixTerminal.ts +0 -388
  257. package/src/utils.ts +0 -29
  258. package/src/win/winpty.cc +0 -333
  259. package/src/windowsConoutConnection.ts +0 -82
  260. package/src/windowsPtyAgent.test.ts +0 -94
  261. package/src/windowsPtyAgent.ts +0 -321
  262. package/src/windowsTerminal.test.ts +0 -229
  263. package/src/windowsTerminal.ts +0 -203
  264. package/src/worker/conoutSocketWorker.ts +0 -22
package/README.md CHANGED
@@ -9,7 +9,9 @@ This is useful for:
9
9
  - Writing a terminal emulator (eg. via [xterm.js](https://github.com/sourcelair/xterm.js)).
10
10
  - Getting certain programs to *think* you're a terminal, such as when you need a program to send you control sequences.
11
11
 
12
- `node-pty` supports Linux, macOS and Windows. Windows support is possible by utilizing the [Windows conpty API](https://blogs.msdn.microsoft.com/commandline/2018/08/02/windows-command-line-introducing-the-windows-pseudo-console-conpty/) on Windows 1809+ and the [winpty](https://github.com/rprichard/winpty) library in older version.
12
+ `node-pty` supports Linux, macOS and Windows. Windows support is possible by utilizing the [Windows conpty API](https://blogs.msdn.microsoft.com/commandline/2018/08/02/windows-command-line-introducing-the-windows-pseudo-console-conpty/) on Windows 1809+.
13
+
14
+ > **Note:** Support for the `winpty` library has been removed. Windows 10 version 1809 (build 18309) or later is now required.
13
15
 
14
16
  ## API
15
17
 
@@ -150,10 +152,6 @@ By default `PAUSE` and `RESUME` are XON/XOFF control codes (as shown above). To
150
152
 
151
153
  This happens when PowerShell is launched with no `SystemRoot` environment variable present.
152
154
 
153
- ### ConnectNamedPipe failed: Windows error 232
154
-
155
- This error can occur due to anti-virus software intercepting winpty from creating a pty. To workaround this you can exclude this file from your anti-virus scanning `node-pty\build\Release\winpty-agent.exe`
156
-
157
155
  ## pty.js
158
156
 
159
157
  This project is forked from [chjj/pty.js](https://github.com/chjj/pty.js) with the primary goals being to provide better support for later Node.js versions and Windows.
package/binding.gyp CHANGED
@@ -9,23 +9,26 @@
9
9
  'SpectreMitigation': 'Spectre'
10
10
  },
11
11
  'msvs_settings': {
12
- 'VCCLCompilerTool': {
13
- 'AdditionalOptions': [
14
- '/guard:cf',
15
- '/sdl',
16
- '/W3',
17
- '/w34244',
18
- '/w34267',
19
- '/ZH:SHA_256'
20
- ]
21
- },
22
- 'VCLinkerTool': {
23
- 'AdditionalOptions': [
24
- '/DYNAMICBASE',
25
- '/guard:cf'
26
- ]
27
- }
12
+ 'VCCLCompilerTool': {
13
+ 'AdditionalOptions': [
14
+ '/guard:cf',
15
+ '/sdl',
16
+ '/W3',
17
+ '/we4146',
18
+ '/we4244',
19
+ '/we4267',
20
+ '/ZH:SHA_256'
21
+ ]
28
22
  },
23
+ 'VCLinkerTool': {
24
+ 'AdditionalOptions': [
25
+ '/DYNAMICBASE',
26
+ '/guard:cf'
27
+ ]
28
+ }
29
+ },
30
+ }, {
31
+ 'cflags': ['-O2', '-fstack-protector-strong'],
29
32
  }],
30
33
  ],
31
34
  },
@@ -47,26 +50,6 @@
47
50
  'sources' : [
48
51
  'src/win/conpty_console_list.cc'
49
52
  ],
50
- },
51
- {
52
- 'target_name': 'pty',
53
- 'include_dirs' : [
54
- '<!(node -p "require(\'node-addon-api\').include_dir")',
55
- 'deps/winpty/src/include',
56
- ],
57
- # Disabled due to winpty
58
- 'msvs_disabled_warnings': [ 4506, 4530 ],
59
- 'dependencies' : [
60
- 'deps/winpty/src/winpty.gyp:winpty-agent',
61
- 'deps/winpty/src/winpty.gyp:winpty',
62
- ],
63
- 'sources' : [
64
- 'src/win/winpty.cc',
65
- 'src/win/path_util.cc'
66
- ],
67
- 'libraries': [
68
- '-lshlwapi'
69
- ],
70
53
  }
71
54
  ]
72
55
  }, { # OS!="win"
@@ -79,7 +62,8 @@
79
62
  'libraries': [
80
63
  '-lutil'
81
64
  ],
82
- 'cflags': ['-Wall', '-O2', '-D_FORTIFY_SOURCE=2'],
65
+ 'cflags': ['-Wall'],
66
+ 'ldflags': [],
83
67
  'conditions': [
84
68
  # http://www.gnu.org/software/gnulib/manual/html_node/forkpty.html
85
69
  # One some systems (at least including Cygwin, Interix,
@@ -88,6 +72,61 @@
88
72
  'libraries!': [
89
73
  '-lutil'
90
74
  ]
75
+ }],
76
+ ['OS=="linux"', {
77
+ 'variables': {
78
+ 'sysroot%': '<!(node -p "process.env.SYSROOT_PATH || \'\'")',
79
+ 'target_arch%': '<!(node -p "process.env.npm_config_arch || process.arch")',
80
+ },
81
+ 'conditions': [
82
+ ['sysroot!=""', {
83
+ 'variables': {
84
+ 'gcc_include%': '<!(${CXX:-g++} -print-file-name=include)',
85
+ },
86
+ 'conditions': [
87
+ ['target_arch=="x64"', {
88
+ 'cflags': [
89
+ '--sysroot=<(sysroot)',
90
+ '-nostdinc',
91
+ '-isystem<(gcc_include)',
92
+ '-isystem<(sysroot)/usr/include',
93
+ '-isystem<(sysroot)/usr/include/x86_64-linux-gnu'
94
+ ],
95
+ 'cflags_cc': [
96
+ '-nostdinc++',
97
+ '-isystem<(sysroot)/../include/c++/10.5.0',
98
+ '-isystem<(sysroot)/../include/c++/10.5.0/x86_64-linux-gnu',
99
+ '-isystem<(sysroot)/../include/c++/10.5.0/backward'
100
+ ],
101
+ 'ldflags': [
102
+ '--sysroot=<(sysroot)',
103
+ '-L<(sysroot)/lib',
104
+ '-L<(sysroot)/usr/lib'
105
+ ],
106
+ }],
107
+ ['target_arch=="arm64"', {
108
+ 'cflags': [
109
+ '--sysroot=<(sysroot)',
110
+ '-nostdinc',
111
+ '-isystem<(gcc_include)',
112
+ '-isystem<(sysroot)/usr/include',
113
+ '-isystem<(sysroot)/usr/include/aarch64-linux-gnu'
114
+ ],
115
+ 'cflags_cc': [
116
+ '-nostdinc++',
117
+ '-isystem<(sysroot)/../include/c++/10.5.0',
118
+ '-isystem<(sysroot)/../include/c++/10.5.0/aarch64-linux-gnu',
119
+ '-isystem<(sysroot)/../include/c++/10.5.0/backward'
120
+ ],
121
+ 'ldflags': [
122
+ '--sysroot=<(sysroot)',
123
+ '-L<(sysroot)/lib',
124
+ '-L<(sysroot)/usr/lib'
125
+ ],
126
+ }]
127
+ ]
128
+ }]
129
+ ]
91
130
  }]
92
131
  ]
93
132
  }
@@ -236,7 +236,7 @@ var UnixTerminal = /** @class */ (function (_super) {
236
236
  get: function () {
237
237
  if (process.platform === 'darwin') {
238
238
  var title = pty.process(this._fd);
239
- return (title !== 'kernel_task') ? title : this._file;
239
+ return (title !== 'kernel_task' && title !== 'spawn_helper') ? title : this._file;
240
240
  }
241
241
  return pty.process(this._fd, this._pty) || this._file;
242
242
  },
@@ -246,11 +246,14 @@ var UnixTerminal = /** @class */ (function (_super) {
246
246
  /**
247
247
  * TTY
248
248
  */
249
- UnixTerminal.prototype.resize = function (cols, rows) {
249
+ UnixTerminal.prototype.resize = function (cols, rows, pixelSize) {
250
+ var _a, _b;
250
251
  if (cols <= 0 || rows <= 0 || isNaN(cols) || isNaN(rows) || cols === Infinity || rows === Infinity) {
251
252
  throw new Error('resizing must be done using positive cols and rows');
252
253
  }
253
- pty.resize(this._fd, cols, rows);
254
+ var pixelWidth = (_a = pixelSize === null || pixelSize === void 0 ? void 0 : pixelSize.width) !== null && _a !== void 0 ? _a : 0;
255
+ var pixelHeight = (_b = pixelSize === null || pixelSize === void 0 ? void 0 : pixelSize.height) !== null && _b !== void 0 ? _b : 0;
256
+ pty.resize(this._fd, cols, rows, pixelWidth, pixelHeight);
254
257
  this._cols = cols;
255
258
  this._rows = rows;
256
259
  };
package/lib/utils.js CHANGED
@@ -24,7 +24,7 @@ function loadNativeModule(name) {
24
24
  var d = dirs_1[_i];
25
25
  for (var _a = 0, relative_1 = relative; _a < relative_1.length; _a++) {
26
26
  var r = relative_1[_a];
27
- var dir = r + "/" + d + "/";
27
+ var dir = r + "/" + d;
28
28
  try {
29
29
  return { dir: dir, module: require(dir + "/" + name + ".node") };
30
30
  }
@@ -7,14 +7,12 @@
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.argsToCommandLine = exports.WindowsPtyAgent = void 0;
9
9
  var fs = require("fs");
10
- var os = require("os");
11
10
  var path = require("path");
12
11
  var child_process_1 = require("child_process");
13
12
  var net_1 = require("net");
14
13
  var windowsConoutConnection_1 = require("./windowsConoutConnection");
15
14
  var utils_1 = require("./utils");
16
15
  var conptyNative;
17
- var winptyNative;
18
16
  /**
19
17
  * The amount of time to wait for additional data after the conpty shell process has exited before
20
18
  * shutting down the socket. The timer will be reset if a new data event comes in after the timer
@@ -22,46 +20,25 @@ var winptyNative;
22
20
  */
23
21
  var FLUSH_DATA_INTERVAL = 1000;
24
22
  /**
25
- * This agent sits between the WindowsTerminal class and provides a common interface for both conpty
26
- * and winpty.
23
+ * This agent sits between the WindowsTerminal class and provides an interface for conpty.
27
24
  */
28
25
  var WindowsPtyAgent = /** @class */ (function () {
29
- function WindowsPtyAgent(file, args, env, cwd, cols, rows, debug, _useConpty, _useConptyDll, conptyInheritCursor) {
26
+ function WindowsPtyAgent(file, args, env, cwd, cols, rows, debug, _useConptyDll, conptyInheritCursor) {
30
27
  var _this = this;
31
28
  if (_useConptyDll === void 0) { _useConptyDll = false; }
32
29
  if (conptyInheritCursor === void 0) { conptyInheritCursor = false; }
33
- this._useConpty = _useConpty;
34
30
  this._useConptyDll = _useConptyDll;
35
- this._pid = 0;
36
31
  this._innerPid = 0;
37
- if (this._useConpty === undefined || this._useConpty === true) {
38
- this._useConpty = this._getWindowsBuildNumber() >= 18309;
32
+ if (!conptyNative) {
33
+ conptyNative = utils_1.loadNativeModule('conpty').module;
39
34
  }
40
- if (this._useConpty) {
41
- if (!conptyNative) {
42
- conptyNative = utils_1.loadNativeModule('conpty').module;
43
- }
44
- }
45
- else {
46
- if (!winptyNative) {
47
- winptyNative = utils_1.loadNativeModule('pty').module;
48
- }
49
- }
50
- this._ptyNative = this._useConpty ? conptyNative : winptyNative;
35
+ this._ptyNative = conptyNative;
51
36
  // Sanitize input variable.
52
37
  cwd = path.resolve(cwd);
53
38
  // Compose command line
54
39
  var commandLine = argsToCommandLine(file, args);
55
40
  // Open pty session.
56
- var term;
57
- if (this._useConpty) {
58
- term = this._ptyNative.startProcess(file, cols, rows, debug, this._generatePipeName(), conptyInheritCursor, this._useConptyDll);
59
- }
60
- else {
61
- term = this._ptyNative.startProcess(file, commandLine, env, cwd, cols, rows, debug);
62
- this._pid = term.pid;
63
- this._innerPid = term.innerPid;
64
- }
41
+ var term = conptyNative.startProcess(file, cols, rows, debug, this._generatePipeName(), conptyInheritCursor, this._useConptyDll);
65
42
  // Not available on windows.
66
43
  this._fd = term.fd;
67
44
  // Generated incremental number that has no real purpose besides using it
@@ -85,10 +62,8 @@ var WindowsPtyAgent = /** @class */ (function () {
85
62
  writable: true
86
63
  });
87
64
  this._inSocket.setEncoding('utf8');
88
- if (this._useConpty) {
89
- var connect = this._ptyNative.connect(this._pty, commandLine, cwd, env, this._useConptyDll, function (c) { return _this._$onProcessExit(c); });
90
- this._innerPid = connect.pid;
91
- }
65
+ var connect = conptyNative.connect(this._pty, commandLine, cwd, env, this._useConptyDll, function (c) { return _this._$onProcessExit(c); });
66
+ this._innerPid = connect.pid;
92
67
  }
93
68
  Object.defineProperty(WindowsPtyAgent.prototype, "inSocket", {
94
69
  get: function () { return this._inSocket; },
@@ -116,65 +91,39 @@ var WindowsPtyAgent = /** @class */ (function () {
116
91
  configurable: true
117
92
  });
118
93
  WindowsPtyAgent.prototype.resize = function (cols, rows) {
119
- if (this._useConpty) {
120
- if (this._exitCode !== undefined) {
121
- throw new Error('Cannot resize a pty that has already exited');
122
- }
123
- this._ptyNative.resize(this._pty, cols, rows, this._useConptyDll);
124
- return;
94
+ if (this._exitCode !== undefined) {
95
+ throw new Error('Cannot resize a pty that has already exited');
125
96
  }
126
- this._ptyNative.resize(this._pid, cols, rows);
97
+ this._ptyNative.resize(this._pty, cols, rows, this._useConptyDll);
127
98
  };
128
99
  WindowsPtyAgent.prototype.clear = function () {
129
- if (this._useConpty) {
130
- this._ptyNative.clear(this._pty, this._useConptyDll);
131
- }
100
+ this._ptyNative.clear(this._pty, this._useConptyDll);
132
101
  };
133
102
  WindowsPtyAgent.prototype.kill = function () {
134
103
  var _this = this;
135
104
  // Tell the agent to kill the pty, this releases handles to the process
136
- if (this._useConpty) {
137
- if (!this._useConptyDll) {
138
- this._inSocket.readable = false;
139
- this._outSocket.readable = false;
140
- this._getConsoleProcessList().then(function (consoleProcessList) {
141
- consoleProcessList.forEach(function (pid) {
142
- try {
143
- process.kill(pid);
144
- }
145
- catch (e) {
146
- // Ignore if process cannot be found (kill ESRCH error)
147
- }
148
- });
149
- });
150
- this._ptyNative.kill(this._pty, this._useConptyDll);
151
- this._conoutSocketWorker.dispose();
152
- }
153
- else {
154
- // Close the input write handle to signal the end of session.
155
- this._inSocket.destroy();
156
- this._ptyNative.kill(this._pty, this._useConptyDll);
157
- this._outSocket.on('data', function () {
158
- _this._conoutSocketWorker.dispose();
105
+ if (!this._useConptyDll) {
106
+ this._inSocket.readable = false;
107
+ this._outSocket.readable = false;
108
+ this._getConsoleProcessList().then(function (consoleProcessList) {
109
+ consoleProcessList.forEach(function (pid) {
110
+ try {
111
+ process.kill(pid);
112
+ }
113
+ catch (e) {
114
+ // Ignore if process cannot be found (kill ESRCH error)
115
+ }
159
116
  });
160
- }
117
+ });
118
+ this._ptyNative.kill(this._pty, this._useConptyDll);
119
+ this._conoutSocketWorker.dispose();
161
120
  }
162
121
  else {
163
- // Because pty.kill closes the handle, it will kill most processes by itself.
164
- // Process IDs can be reused as soon as all handles to them are
165
- // dropped, so we want to immediately kill the entire console process list.
166
- // If we do not force kill all processes here, node servers in particular
167
- // seem to become detached and remain running (see
168
- // Microsoft/vscode#26807).
169
- var processList = this._ptyNative.getProcessList(this._pid);
170
- this._ptyNative.kill(this._pid, this._innerPid);
171
- processList.forEach(function (pid) {
172
- try {
173
- process.kill(pid);
174
- }
175
- catch (e) {
176
- // Ignore if process cannot be found (kill ESRCH error)
177
- }
122
+ // Close the input write handle to signal the end of session.
123
+ this._inSocket.destroy();
124
+ this._ptyNative.kill(this._pty, this._useConptyDll);
125
+ this._outSocket.on('data', function () {
126
+ _this._conoutSocketWorker.dispose();
178
127
  });
179
128
  }
180
129
  };
@@ -195,23 +144,11 @@ var WindowsPtyAgent = /** @class */ (function () {
195
144
  };
196
145
  Object.defineProperty(WindowsPtyAgent.prototype, "exitCode", {
197
146
  get: function () {
198
- if (this._useConpty) {
199
- return this._exitCode;
200
- }
201
- var winptyExitCode = this._ptyNative.getExitCode(this._innerPid);
202
- return winptyExitCode === -1 ? undefined : winptyExitCode;
147
+ return this._exitCode;
203
148
  },
204
149
  enumerable: false,
205
150
  configurable: true
206
151
  });
207
- WindowsPtyAgent.prototype._getWindowsBuildNumber = function () {
208
- var osVersion = (/(\d+)\.(\d+)\.(\d+)/g).exec(os.release());
209
- var buildNumber = 0;
210
- if (osVersion && osVersion.length === 4) {
211
- buildNumber = parseInt(osVersion[3]);
212
- }
213
- return buildNumber;
214
- };
215
152
  WindowsPtyAgent.prototype._generatePipeName = function () {
216
153
  return "conpty-" + Math.random() * 10000000;
217
154
  };
@@ -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.useConptyDll, opt.conptyInheritCursor);
51
+ _this._agent = new windowsPtyAgent_1.WindowsPtyAgent(file, args, parsedEnv, cwd, _this._cols, _this._rows, false, 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;
@@ -121,7 +121,7 @@ var WindowsTerminal = /** @class */ (function (_super) {
121
121
  /**
122
122
  * TTY
123
123
  */
124
- WindowsTerminal.prototype.resize = function (cols, rows) {
124
+ WindowsTerminal.prototype.resize = function (cols, rows, pixelSize) {
125
125
  var _this = this;
126
126
  if (cols <= 0 || rows <= 0 || isNaN(cols) || isNaN(rows) || cols === Infinity || rows === Infinity) {
127
127
  throw new Error('resizing must be done using positive cols and rows');
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "author": {
5
5
  "name": "Microsoft Corporation"
6
6
  },
7
- "version": "1.1.0",
7
+ "version": "1.2.0-beta.10",
8
8
  "license": "MIT",
9
9
  "main": "./lib/index.js",
10
10
  "types": "./typings/node-pty.d.ts",
@@ -14,10 +14,11 @@
14
14
  },
15
15
  "files": [
16
16
  "binding.gyp",
17
- "lib/",
18
- "scripts/",
19
- "src/",
20
- "deps/",
17
+ "lib/**/*.js",
18
+ "!lib/**/*.test.js",
19
+ "scripts/post-install.js",
20
+ "scripts/prebuild.js",
21
+ "src/**/*.{cc,h}",
21
22
  "prebuilds/",
22
23
  "third_party/",
23
24
  "typings/"
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -12,11 +12,7 @@ const BUILD_FILES = [
12
12
  path.join(RELEASE_DIR, 'conpty_console_list.pdb'),
13
13
  path.join(RELEASE_DIR, 'pty.node'),
14
14
  path.join(RELEASE_DIR, 'pty.pdb'),
15
- path.join(RELEASE_DIR, 'spawn-helper'),
16
- path.join(RELEASE_DIR, 'winpty-agent.exe'),
17
- path.join(RELEASE_DIR, 'winpty-agent.pdb'),
18
- path.join(RELEASE_DIR, 'winpty.dll'),
19
- path.join(RELEASE_DIR, 'winpty.pdb')
15
+ path.join(RELEASE_DIR, 'spawn-helper')
20
16
  ];
21
17
  const CONPTY_DIR = path.join(__dirname, '../third_party/conpty');
22
18
  const CONPTY_SUPPORTED_ARCH = ['x64', 'arm64'];