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.
- package/README.md +3 -5
- package/binding.gyp +76 -37
- package/lib/unixTerminal.js +6 -3
- package/lib/utils.js +1 -1
- package/lib/windowsPtyAgent.js +32 -95
- package/lib/windowsTerminal.js +2 -2
- package/package.json +6 -5
- package/prebuilds/darwin-arm64/pty.node +0 -0
- package/prebuilds/darwin-arm64/spawn-helper +0 -0
- package/prebuilds/darwin-x64/pty.node +0 -0
- package/prebuilds/darwin-x64/spawn-helper +0 -0
- package/prebuilds/linux-arm64/pty.node +0 -0
- package/prebuilds/linux-x64/pty.node +0 -0
- package/prebuilds/win32-arm64/conpty.node +0 -0
- package/prebuilds/win32-arm64/conpty.pdb +0 -0
- package/prebuilds/win32-arm64/conpty_console_list.node +0 -0
- package/prebuilds/win32-arm64/conpty_console_list.pdb +0 -0
- package/prebuilds/win32-x64/conpty.node +0 -0
- package/prebuilds/win32-x64/conpty.pdb +0 -0
- package/prebuilds/win32-x64/conpty_console_list.node +0 -0
- package/prebuilds/win32-x64/conpty_console_list.pdb +0 -0
- package/scripts/post-install.js +1 -5
- package/src/unix/pty.cc +111 -35
- package/src/win/conpty.cc +1 -2
- package/typings/node-pty.d.ts +13 -9
- package/deps/.editorconfig +0 -2
- package/deps/winpty/.drone.yml +0 -17
- package/deps/winpty/.gitattributes +0 -19
- package/deps/winpty/LICENSE +0 -21
- package/deps/winpty/Makefile +0 -166
- package/deps/winpty/README.md +0 -151
- package/deps/winpty/RELEASES.md +0 -280
- package/deps/winpty/VERSION.txt +0 -1
- package/deps/winpty/configure +0 -167
- package/deps/winpty/misc/BufferResizeTests.cc +0 -90
- package/deps/winpty/misc/ChangeScreenBuffer.cc +0 -53
- package/deps/winpty/misc/ClearConsole.cc +0 -72
- package/deps/winpty/misc/ConinMode.cc +0 -117
- package/deps/winpty/misc/ConinMode.ps1 +0 -116
- package/deps/winpty/misc/ConoutMode.cc +0 -113
- package/deps/winpty/misc/DebugClient.py +0 -42
- package/deps/winpty/misc/DebugServer.py +0 -63
- package/deps/winpty/misc/DumpLines.py +0 -5
- package/deps/winpty/misc/EnableExtendedFlags.txt +0 -46
- package/deps/winpty/misc/Font-Report-June2016/CP437-Consolas.txt +0 -528
- package/deps/winpty/misc/Font-Report-June2016/CP437-Lucida.txt +0 -633
- package/deps/winpty/misc/Font-Report-June2016/CP932.txt +0 -630
- package/deps/winpty/misc/Font-Report-June2016/CP936.txt +0 -630
- package/deps/winpty/misc/Font-Report-June2016/CP949.txt +0 -630
- package/deps/winpty/misc/Font-Report-June2016/CP950.txt +0 -630
- package/deps/winpty/misc/Font-Report-June2016/MinimumWindowWidths.txt +0 -16
- package/deps/winpty/misc/Font-Report-June2016/Results.txt +0 -4
- package/deps/winpty/misc/Font-Report-June2016/Windows10SetFontBugginess.txt +0 -144
- package/deps/winpty/misc/FontSurvey.cc +0 -100
- package/deps/winpty/misc/FormatChar.h +0 -21
- package/deps/winpty/misc/FreezePerfTest.cc +0 -62
- package/deps/winpty/misc/GetCh.cc +0 -20
- package/deps/winpty/misc/GetConsolePos.cc +0 -41
- package/deps/winpty/misc/GetFont.cc +0 -261
- package/deps/winpty/misc/IdentifyConsoleWindow.ps1 +0 -51
- package/deps/winpty/misc/IsNewConsole.cc +0 -87
- package/deps/winpty/misc/MouseInputNotes.txt +0 -90
- package/deps/winpty/misc/MoveConsoleWindow.cc +0 -34
- package/deps/winpty/misc/Notes.txt +0 -219
- package/deps/winpty/misc/OSVersion.cc +0 -27
- package/deps/winpty/misc/ScreenBufferFreezeInactive.cc +0 -101
- package/deps/winpty/misc/ScreenBufferTest.cc +0 -671
- package/deps/winpty/misc/ScreenBufferTest2.cc +0 -151
- package/deps/winpty/misc/SelectAllTest.cc +0 -45
- package/deps/winpty/misc/SetBufferSize.cc +0 -32
- package/deps/winpty/misc/SetCursorPos.cc +0 -10
- package/deps/winpty/misc/SetFont.cc +0 -145
- package/deps/winpty/misc/SetWindowRect.cc +0 -36
- package/deps/winpty/misc/ShowArgv.cc +0 -12
- package/deps/winpty/misc/ShowConsoleInput.cc +0 -40
- package/deps/winpty/misc/Spew.py +0 -5
- package/deps/winpty/misc/TestUtil.cc +0 -172
- package/deps/winpty/misc/UnicodeDoubleWidthTest.cc +0 -102
- package/deps/winpty/misc/UnicodeWideTest1.cc +0 -246
- package/deps/winpty/misc/UnicodeWideTest2.cc +0 -130
- package/deps/winpty/misc/UnixEcho.cc +0 -89
- package/deps/winpty/misc/Utf16Echo.cc +0 -46
- package/deps/winpty/misc/VeryLargeRead.cc +0 -122
- package/deps/winpty/misc/VkEscapeTest.cc +0 -56
- package/deps/winpty/misc/Win10ResizeWhileFrozen.cc +0 -52
- package/deps/winpty/misc/Win10WrapTest1.cc +0 -57
- package/deps/winpty/misc/Win10WrapTest2.cc +0 -30
- package/deps/winpty/misc/Win32Echo1.cc +0 -26
- package/deps/winpty/misc/Win32Echo2.cc +0 -19
- package/deps/winpty/misc/Win32Test1.cc +0 -46
- package/deps/winpty/misc/Win32Test2.cc +0 -70
- package/deps/winpty/misc/Win32Test3.cc +0 -78
- package/deps/winpty/misc/Win32Write1.cc +0 -44
- package/deps/winpty/misc/WindowsBugCrashReader.cc +0 -27
- package/deps/winpty/misc/WriteConsole.cc +0 -106
- package/deps/winpty/misc/build32.sh +0 -9
- package/deps/winpty/misc/build64.sh +0 -9
- package/deps/winpty/misc/color-test.sh +0 -212
- package/deps/winpty/misc/font-notes.txt +0 -300
- package/deps/winpty/misc/winbug-15048.cc +0 -201
- package/deps/winpty/ship/build-pty4j-libpty.bat +0 -36
- package/deps/winpty/ship/common_ship.py +0 -53
- package/deps/winpty/ship/make_msvc_package.py +0 -165
- package/deps/winpty/ship/ship.py +0 -108
- package/deps/winpty/src/agent/Agent.cc +0 -613
- package/deps/winpty/src/agent/Agent.h +0 -103
- package/deps/winpty/src/agent/AgentCreateDesktop.cc +0 -84
- package/deps/winpty/src/agent/AgentCreateDesktop.h +0 -28
- package/deps/winpty/src/agent/ConsoleFont.cc +0 -632
- package/deps/winpty/src/agent/ConsoleFont.h +0 -28
- package/deps/winpty/src/agent/ConsoleInput.cc +0 -852
- package/deps/winpty/src/agent/ConsoleInput.h +0 -109
- package/deps/winpty/src/agent/ConsoleInputReencoding.cc +0 -121
- package/deps/winpty/src/agent/ConsoleInputReencoding.h +0 -36
- package/deps/winpty/src/agent/ConsoleLine.cc +0 -152
- package/deps/winpty/src/agent/ConsoleLine.h +0 -41
- package/deps/winpty/src/agent/Coord.h +0 -87
- package/deps/winpty/src/agent/DebugShowInput.cc +0 -239
- package/deps/winpty/src/agent/DebugShowInput.h +0 -32
- package/deps/winpty/src/agent/DefaultInputMap.cc +0 -422
- package/deps/winpty/src/agent/DefaultInputMap.h +0 -28
- package/deps/winpty/src/agent/DsrSender.h +0 -30
- package/deps/winpty/src/agent/EventLoop.cc +0 -99
- package/deps/winpty/src/agent/EventLoop.h +0 -47
- package/deps/winpty/src/agent/InputMap.cc +0 -246
- package/deps/winpty/src/agent/InputMap.h +0 -114
- package/deps/winpty/src/agent/LargeConsoleRead.cc +0 -71
- package/deps/winpty/src/agent/LargeConsoleRead.h +0 -68
- package/deps/winpty/src/agent/NamedPipe.cc +0 -378
- package/deps/winpty/src/agent/NamedPipe.h +0 -125
- package/deps/winpty/src/agent/Scraper.cc +0 -699
- package/deps/winpty/src/agent/Scraper.h +0 -103
- package/deps/winpty/src/agent/SimplePool.h +0 -75
- package/deps/winpty/src/agent/SmallRect.h +0 -143
- package/deps/winpty/src/agent/Terminal.cc +0 -535
- package/deps/winpty/src/agent/Terminal.h +0 -69
- package/deps/winpty/src/agent/UnicodeEncoding.h +0 -157
- package/deps/winpty/src/agent/UnicodeEncodingTest.cc +0 -189
- package/deps/winpty/src/agent/Win32Console.cc +0 -107
- package/deps/winpty/src/agent/Win32Console.h +0 -67
- package/deps/winpty/src/agent/Win32ConsoleBuffer.cc +0 -193
- package/deps/winpty/src/agent/Win32ConsoleBuffer.h +0 -99
- package/deps/winpty/src/agent/main.cc +0 -114
- package/deps/winpty/src/agent/subdir.mk +0 -61
- package/deps/winpty/src/configurations.gypi +0 -60
- package/deps/winpty/src/debugserver/DebugServer.cc +0 -117
- package/deps/winpty/src/debugserver/subdir.mk +0 -41
- package/deps/winpty/src/include/winpty.h +0 -242
- package/deps/winpty/src/include/winpty_constants.h +0 -131
- package/deps/winpty/src/libwinpty/AgentLocation.cc +0 -75
- package/deps/winpty/src/libwinpty/AgentLocation.h +0 -28
- package/deps/winpty/src/libwinpty/LibWinptyException.h +0 -54
- package/deps/winpty/src/libwinpty/WinptyInternal.h +0 -72
- package/deps/winpty/src/libwinpty/subdir.mk +0 -46
- package/deps/winpty/src/libwinpty/winpty.cc +0 -970
- package/deps/winpty/src/shared/AgentMsg.h +0 -38
- package/deps/winpty/src/shared/BackgroundDesktop.cc +0 -122
- package/deps/winpty/src/shared/BackgroundDesktop.h +0 -73
- package/deps/winpty/src/shared/Buffer.cc +0 -103
- package/deps/winpty/src/shared/Buffer.h +0 -102
- package/deps/winpty/src/shared/DebugClient.cc +0 -187
- package/deps/winpty/src/shared/DebugClient.h +0 -38
- package/deps/winpty/src/shared/GenRandom.cc +0 -138
- package/deps/winpty/src/shared/GenRandom.h +0 -55
- package/deps/winpty/src/shared/GetCommitHash.bat +0 -13
- package/deps/winpty/src/shared/Mutex.h +0 -54
- package/deps/winpty/src/shared/OsModule.h +0 -63
- package/deps/winpty/src/shared/OwnedHandle.cc +0 -36
- package/deps/winpty/src/shared/OwnedHandle.h +0 -45
- package/deps/winpty/src/shared/PrecompiledHeader.h +0 -43
- package/deps/winpty/src/shared/StringBuilder.h +0 -227
- package/deps/winpty/src/shared/StringBuilderTest.cc +0 -114
- package/deps/winpty/src/shared/StringUtil.cc +0 -55
- package/deps/winpty/src/shared/StringUtil.h +0 -80
- package/deps/winpty/src/shared/TimeMeasurement.h +0 -63
- package/deps/winpty/src/shared/UnixCtrlChars.h +0 -45
- package/deps/winpty/src/shared/UpdateGenVersion.bat +0 -20
- package/deps/winpty/src/shared/WindowsSecurity.cc +0 -460
- package/deps/winpty/src/shared/WindowsSecurity.h +0 -104
- package/deps/winpty/src/shared/WindowsVersion.cc +0 -252
- package/deps/winpty/src/shared/WindowsVersion.h +0 -29
- package/deps/winpty/src/shared/WinptyAssert.cc +0 -55
- package/deps/winpty/src/shared/WinptyAssert.h +0 -64
- package/deps/winpty/src/shared/WinptyException.cc +0 -57
- package/deps/winpty/src/shared/WinptyException.h +0 -43
- package/deps/winpty/src/shared/WinptyVersion.cc +0 -42
- package/deps/winpty/src/shared/WinptyVersion.h +0 -27
- package/deps/winpty/src/shared/winpty_snprintf.h +0 -99
- package/deps/winpty/src/subdir.mk +0 -5
- package/deps/winpty/src/tests/subdir.mk +0 -28
- package/deps/winpty/src/tests/trivial_test.cc +0 -158
- package/deps/winpty/src/unix-adapter/InputHandler.cc +0 -114
- package/deps/winpty/src/unix-adapter/InputHandler.h +0 -56
- package/deps/winpty/src/unix-adapter/OutputHandler.cc +0 -80
- package/deps/winpty/src/unix-adapter/OutputHandler.h +0 -53
- package/deps/winpty/src/unix-adapter/Util.cc +0 -86
- package/deps/winpty/src/unix-adapter/Util.h +0 -31
- package/deps/winpty/src/unix-adapter/WakeupFd.cc +0 -70
- package/deps/winpty/src/unix-adapter/WakeupFd.h +0 -42
- package/deps/winpty/src/unix-adapter/main.cc +0 -729
- package/deps/winpty/src/unix-adapter/subdir.mk +0 -41
- package/deps/winpty/src/winpty.gyp +0 -234
- package/deps/winpty/vcbuild.bat +0 -83
- package/lib/conpty_console_list_agent.js.map +0 -1
- package/lib/eventEmitter2.js.map +0 -1
- package/lib/eventEmitter2.test.js +0 -30
- package/lib/eventEmitter2.test.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/interfaces.js.map +0 -1
- package/lib/shared/conout.js.map +0 -1
- package/lib/terminal.js.map +0 -1
- package/lib/terminal.test.js +0 -139
- package/lib/terminal.test.js.map +0 -1
- package/lib/testUtils.test.js +0 -28
- package/lib/testUtils.test.js.map +0 -1
- package/lib/types.js.map +0 -1
- package/lib/unixTerminal.js.map +0 -1
- package/lib/unixTerminal.test.js +0 -351
- package/lib/unixTerminal.test.js.map +0 -1
- package/lib/utils.js.map +0 -1
- package/lib/windowsConoutConnection.js.map +0 -1
- package/lib/windowsPtyAgent.js.map +0 -1
- package/lib/windowsPtyAgent.test.js +0 -90
- package/lib/windowsPtyAgent.test.js.map +0 -1
- package/lib/windowsTerminal.js.map +0 -1
- package/lib/windowsTerminal.test.js +0 -219
- package/lib/windowsTerminal.test.js.map +0 -1
- package/lib/worker/conoutSocketWorker.js.map +0 -1
- package/prebuilds/win32-arm64/pty.node +0 -0
- package/prebuilds/win32-arm64/pty.pdb +0 -0
- package/prebuilds/win32-arm64/winpty-agent.exe +0 -0
- package/prebuilds/win32-arm64/winpty-agent.pdb +0 -0
- package/prebuilds/win32-arm64/winpty.dll +0 -0
- package/prebuilds/win32-arm64/winpty.pdb +0 -0
- package/prebuilds/win32-x64/pty.node +0 -0
- package/prebuilds/win32-x64/pty.pdb +0 -0
- package/prebuilds/win32-x64/winpty-agent.exe +0 -0
- package/prebuilds/win32-x64/winpty-agent.pdb +0 -0
- package/prebuilds/win32-x64/winpty.dll +0 -0
- package/prebuilds/win32-x64/winpty.pdb +0 -0
- package/scripts/gen-compile-commands.js +0 -8
- package/scripts/increment-version.js +0 -54
- package/src/conpty_console_list_agent.ts +0 -15
- package/src/eventEmitter2.test.ts +0 -30
- package/src/eventEmitter2.ts +0 -48
- package/src/index.ts +0 -52
- package/src/interfaces.ts +0 -130
- package/src/native.d.ts +0 -54
- package/src/shared/conout.ts +0 -15
- package/src/terminal.test.ts +0 -119
- package/src/terminal.ts +0 -211
- package/src/testUtils.test.ts +0 -23
- package/src/tsconfig.json +0 -22
- package/src/types.ts +0 -15
- package/src/unixTerminal.test.ts +0 -367
- package/src/unixTerminal.ts +0 -388
- package/src/utils.ts +0 -29
- package/src/win/winpty.cc +0 -333
- package/src/windowsConoutConnection.ts +0 -82
- package/src/windowsPtyAgent.test.ts +0 -94
- package/src/windowsPtyAgent.ts +0 -321
- package/src/windowsTerminal.test.ts +0 -229
- package/src/windowsTerminal.ts +0 -203
- 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
|
|
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
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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'
|
|
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
|
}
|
package/lib/unixTerminal.js
CHANGED
|
@@ -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
|
-
|
|
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
|
}
|
package/lib/windowsPtyAgent.js
CHANGED
|
@@ -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
|
|
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,
|
|
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 (
|
|
38
|
-
|
|
32
|
+
if (!conptyNative) {
|
|
33
|
+
conptyNative = utils_1.loadNativeModule('conpty').module;
|
|
39
34
|
}
|
|
40
|
-
|
|
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
|
-
|
|
89
|
-
|
|
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.
|
|
120
|
-
|
|
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.
|
|
97
|
+
this._ptyNative.resize(this._pty, cols, rows, this._useConptyDll);
|
|
127
98
|
};
|
|
128
99
|
WindowsPtyAgent.prototype.clear = function () {
|
|
129
|
-
|
|
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.
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
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
|
-
//
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
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
|
-
|
|
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
|
};
|
package/lib/windowsTerminal.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
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
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/scripts/post-install.js
CHANGED
|
@@ -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'];
|