node-pty 1.1.0-beta3 → 1.1.0-beta30
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 +6 -5
- package/binding.gyp +4 -15
- package/deps/winpty/src/agent/Agent.cc +11 -3
- package/lib/unixTerminal.js +4 -27
- package/lib/unixTerminal.js.map +1 -1
- package/lib/unixTerminal.test.js +3 -5
- package/lib/unixTerminal.test.js.map +1 -1
- package/lib/windowsConoutConnection.js +0 -4
- package/lib/windowsConoutConnection.js.map +1 -1
- package/lib/windowsPtyAgent.js +41 -21
- package/lib/windowsPtyAgent.js.map +1 -1
- package/lib/windowsTerminal.js +1 -1
- package/lib/windowsTerminal.js.map +1 -1
- package/lib/windowsTerminal.test.js +38 -26
- package/lib/windowsTerminal.test.js.map +1 -1
- package/lib/worker/conoutSocketWorker.js +13 -10
- package/lib/worker/conoutSocketWorker.js.map +1 -1
- package/package.json +4 -2
- package/scripts/increment-version.js +54 -0
- package/scripts/post-install.js +51 -10
- package/scripts/publish.js +7 -4
- package/src/interfaces.ts +1 -0
- package/src/native.d.ts +5 -5
- package/src/unix/pty.cc +241 -284
- package/src/unixTerminal.test.ts +3 -6
- package/src/unixTerminal.ts +4 -18
- package/src/win/conpty.cc +264 -185
- package/src/win/conpty.h +41 -0
- package/src/win/conpty_console_list.cc +16 -15
- package/src/win/path_util.cc +39 -36
- package/src/win/path_util.h +5 -2
- package/src/win/winpty.cc +108 -151
- package/src/windowsConoutConnection.ts +0 -4
- package/src/windowsPtyAgent.ts +38 -20
- package/src/windowsTerminal.test.ts +43 -32
- package/src/windowsTerminal.ts +1 -1
- package/src/worker/conoutSocketWorker.ts +14 -11
- package/third_party/conpty/1.22.250204002/win10-arm64/OpenConsole.exe +0 -0
- package/third_party/conpty/1.22.250204002/win10-arm64/conpty.dll +0 -0
- package/third_party/conpty/1.22.250204002/win10-x64/OpenConsole.exe +0 -0
- package/third_party/conpty/1.22.250204002/win10-x64/conpty.dll +0 -0
- package/typings/node-pty.d.ts +8 -0
|
@@ -18,14 +18,17 @@ function pollForProcessState(desiredState, intervalMs, timeoutMs) {
|
|
|
18
18
|
psList({ all: true }).then(function (ps) {
|
|
19
19
|
var success = true;
|
|
20
20
|
var pids = Object.keys(desiredState).map(function (k) { return parseInt(k, 10); });
|
|
21
|
+
console.log('expected pids', JSON.stringify(pids));
|
|
21
22
|
pids.forEach(function (pid) {
|
|
22
23
|
if (desiredState[pid]) {
|
|
23
24
|
if (!ps.some(function (p) { return p.pid === pid; })) {
|
|
25
|
+
console.log("pid " + pid + " does not exist");
|
|
24
26
|
success = false;
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
29
|
else {
|
|
28
30
|
if (ps.some(function (p) { return p.pid === pid; })) {
|
|
31
|
+
console.log("pid " + pid + " still exists");
|
|
29
32
|
success = false;
|
|
30
33
|
}
|
|
31
34
|
}
|
|
@@ -68,6 +71,7 @@ function pollForProcessTreeSize(pid, size, intervalMs, timeoutMs) {
|
|
|
68
71
|
while (openList.length) {
|
|
69
72
|
_loop_1();
|
|
70
73
|
}
|
|
74
|
+
console.log('list', JSON.stringify(list));
|
|
71
75
|
var success = list.length === size;
|
|
72
76
|
if (success) {
|
|
73
77
|
clearInterval(interval);
|
|
@@ -84,52 +88,55 @@ function pollForProcessTreeSize(pid, size, intervalMs, timeoutMs) {
|
|
|
84
88
|
});
|
|
85
89
|
}
|
|
86
90
|
if (process.platform === 'win32') {
|
|
87
|
-
[true, false].forEach(function (
|
|
88
|
-
|
|
91
|
+
[[false, false], [true, false], [true, true]].forEach(function (_a) {
|
|
92
|
+
var useConpty = _a[0], useConptyDll = _a[1];
|
|
93
|
+
describe("WindowsTerminal (useConpty = " + useConpty + ", useConptyDll = " + useConptyDll + ")", function () {
|
|
89
94
|
describe('kill', function () {
|
|
90
95
|
it('should not crash parent process', function (done) {
|
|
91
|
-
|
|
96
|
+
this.timeout(20000);
|
|
97
|
+
var term = new windowsTerminal_1.WindowsTerminal('cmd.exe', [], { useConpty: useConpty, useConptyDll: useConptyDll });
|
|
98
|
+
term.on('exit', function () { return done(); });
|
|
92
99
|
term.kill();
|
|
93
|
-
// Add done call to deferred function queue to ensure the kill call has completed
|
|
94
|
-
term._defer(done);
|
|
95
100
|
});
|
|
96
101
|
it('should kill the process tree', function (done) {
|
|
97
|
-
this.timeout(
|
|
98
|
-
var term = new windowsTerminal_1.WindowsTerminal('cmd.exe', [], { useConpty: useConpty });
|
|
102
|
+
this.timeout(20000);
|
|
103
|
+
var term = new windowsTerminal_1.WindowsTerminal('cmd.exe', [], { useConpty: useConpty, useConptyDll: useConptyDll });
|
|
99
104
|
// Start sub-processes
|
|
100
105
|
term.write('powershell.exe\r');
|
|
101
|
-
term.write('notepad.exe\r');
|
|
102
106
|
term.write('node.exe\r');
|
|
103
|
-
|
|
107
|
+
console.log('start poll for tree size');
|
|
108
|
+
pollForProcessTreeSize(term.pid, 3, 500, 5000).then(function (list) {
|
|
104
109
|
assert.strictEqual(list[0].name.toLowerCase(), 'cmd.exe');
|
|
105
110
|
assert.strictEqual(list[1].name.toLowerCase(), 'powershell.exe');
|
|
106
|
-
assert.strictEqual(list[2].name.toLowerCase(), '
|
|
107
|
-
assert.strictEqual(list[3].name.toLowerCase(), 'node.exe');
|
|
111
|
+
assert.strictEqual(list[2].name.toLowerCase(), 'node.exe');
|
|
108
112
|
term.kill();
|
|
109
113
|
var desiredState = {};
|
|
110
114
|
desiredState[list[0].pid] = false;
|
|
111
115
|
desiredState[list[1].pid] = false;
|
|
112
|
-
desiredState[list[2].pid] =
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
done();
|
|
116
|
+
desiredState[list[2].pid] = false;
|
|
117
|
+
term.on('exit', function () {
|
|
118
|
+
pollForProcessState(desiredState, 1000, 5000).then(function () {
|
|
119
|
+
done();
|
|
120
|
+
});
|
|
118
121
|
});
|
|
119
122
|
});
|
|
120
123
|
});
|
|
121
124
|
});
|
|
122
125
|
describe('resize', function () {
|
|
123
|
-
it('should throw a non-native exception when resizing an invalid value', function () {
|
|
124
|
-
var term = new windowsTerminal_1.WindowsTerminal('cmd.exe', [], { useConpty: useConpty });
|
|
126
|
+
it('should throw a non-native exception when resizing an invalid value', function (done) {
|
|
127
|
+
var term = new windowsTerminal_1.WindowsTerminal('cmd.exe', [], { useConpty: useConpty, useConptyDll: useConptyDll });
|
|
125
128
|
assert.throws(function () { return term.resize(-1, -1); });
|
|
126
129
|
assert.throws(function () { return term.resize(0, 0); });
|
|
127
130
|
assert.doesNotThrow(function () { return term.resize(1, 1); });
|
|
131
|
+
term.on('exit', function () {
|
|
132
|
+
done();
|
|
133
|
+
});
|
|
134
|
+
term.kill();
|
|
128
135
|
});
|
|
129
136
|
it('should throw a non-native exception when resizing a killed terminal', function (done) {
|
|
130
|
-
var term = new windowsTerminal_1.WindowsTerminal('cmd.exe', [], { useConpty: useConpty });
|
|
137
|
+
var term = new windowsTerminal_1.WindowsTerminal('cmd.exe', [], { useConpty: useConpty, useConptyDll: useConptyDll });
|
|
131
138
|
term._defer(function () {
|
|
132
|
-
term.
|
|
139
|
+
term.once('exit', function () {
|
|
133
140
|
assert.throws(function () { return term.resize(1, 1); });
|
|
134
141
|
done();
|
|
135
142
|
});
|
|
@@ -139,6 +146,7 @@ if (process.platform === 'win32') {
|
|
|
139
146
|
});
|
|
140
147
|
describe('Args as CommandLine', function () {
|
|
141
148
|
it('should not fail running a file containing a space in the path', function (done) {
|
|
149
|
+
this.timeout(10000);
|
|
142
150
|
var spaceFolder = path.resolve(__dirname, '..', 'fixtures', 'space folder');
|
|
143
151
|
if (!fs.existsSync(spaceFolder)) {
|
|
144
152
|
fs.mkdirSync(spaceFolder);
|
|
@@ -150,7 +158,7 @@ if (process.platform === 'win32') {
|
|
|
150
158
|
// Skip test if git bash isn't installed
|
|
151
159
|
return;
|
|
152
160
|
}
|
|
153
|
-
var term = new windowsTerminal_1.WindowsTerminal(cmdCopiedPath, '/c echo "hello world"', { useConpty: useConpty });
|
|
161
|
+
var term = new windowsTerminal_1.WindowsTerminal(cmdCopiedPath, '/c echo "hello world"', { useConpty: useConpty, useConptyDll: useConptyDll });
|
|
154
162
|
var result = '';
|
|
155
163
|
term.on('data', function (data) {
|
|
156
164
|
result += data;
|
|
@@ -163,7 +171,8 @@ if (process.platform === 'win32') {
|
|
|
163
171
|
});
|
|
164
172
|
describe('env', function () {
|
|
165
173
|
it('should set environment variables of the shell', function (done) {
|
|
166
|
-
|
|
174
|
+
this.timeout(10000);
|
|
175
|
+
var term = new windowsTerminal_1.WindowsTerminal('cmd.exe', '/C echo %FOO%', { useConpty: useConpty, useConptyDll: useConptyDll, env: { FOO: 'BAR' } });
|
|
167
176
|
var result = '';
|
|
168
177
|
term.on('data', function (data) {
|
|
169
178
|
result += data;
|
|
@@ -176,14 +185,16 @@ if (process.platform === 'win32') {
|
|
|
176
185
|
});
|
|
177
186
|
describe('On close', function () {
|
|
178
187
|
it('should return process zero exit codes', function (done) {
|
|
179
|
-
|
|
188
|
+
this.timeout(10000);
|
|
189
|
+
var term = new windowsTerminal_1.WindowsTerminal('cmd.exe', '/C exit', { useConpty: useConpty, useConptyDll: useConptyDll });
|
|
180
190
|
term.on('exit', function (code) {
|
|
181
191
|
assert.strictEqual(code, 0);
|
|
182
192
|
done();
|
|
183
193
|
});
|
|
184
194
|
});
|
|
185
195
|
it('should return process non-zero exit codes', function (done) {
|
|
186
|
-
|
|
196
|
+
this.timeout(10000);
|
|
197
|
+
var term = new windowsTerminal_1.WindowsTerminal('cmd.exe', '/C exit 2', { useConpty: useConpty, useConptyDll: useConptyDll });
|
|
187
198
|
term.on('exit', function (code) {
|
|
188
199
|
assert.strictEqual(code, 2);
|
|
189
200
|
done();
|
|
@@ -192,7 +203,8 @@ if (process.platform === 'win32') {
|
|
|
192
203
|
});
|
|
193
204
|
describe('Write', function () {
|
|
194
205
|
it('should accept input', function (done) {
|
|
195
|
-
|
|
206
|
+
this.timeout(10000);
|
|
207
|
+
var term = new windowsTerminal_1.WindowsTerminal('cmd.exe', '', { useConpty: useConpty, useConptyDll: useConptyDll });
|
|
196
208
|
term.write('exit\r');
|
|
197
209
|
term.on('exit', function () {
|
|
198
210
|
done();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windowsTerminal.test.js","sourceRoot":"","sources":["../src/windowsTerminal.test.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAEH,uBAAyB;AACzB,+BAAiC;AACjC,qDAAoD;AACpD,2BAA6B;AAC7B,gCAAkC;AAYlC,SAAS,mBAAmB,CAAC,YAA2B,EAAE,UAAwB,EAAE,SAAwB;IAAlD,2BAAA,EAAA,gBAAwB;IAAE,0BAAA,EAAA,gBAAwB;IAC1G,OAAO,IAAI,OAAO,CAAO,UAAA,OAAO;QAC9B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAM,QAAQ,GAAG,WAAW,CAAC;YAC3B,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAA,EAAE;gBAC3B,IAAI,OAAO,GAAG,IAAI,CAAC;gBACnB,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAf,CAAe,CAAC,CAAC;gBACjE,IAAI,CAAC,OAAO,CAAC,UAAA,GAAG;oBACd,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE;wBACrB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,KAAK,GAAG,EAAb,CAAa,CAAC,EAAE;4BAChC,OAAO,GAAG,KAAK,CAAC;yBACjB;qBACF;yBAAM;wBACL,IAAI,EAAE,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,KAAK,GAAG,EAAb,CAAa,CAAC,EAAE;4BAC/B,OAAO,GAAG,KAAK,CAAC;yBACjB;qBACF;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,OAAO,EAAE;oBACX,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACxB,OAAO,EAAE,CAAC;oBACV,OAAO;iBACR;gBACD,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,GAAG,UAAU,IAAI,SAAS,EAAE;oBACnC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACxB,IAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAG,CAAC,UAAK,YAAY,CAAC,CAAC,CAAG,EAA1B,CAA0B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5E,MAAM,CAAC,IAAI,CAAC,mCAAiC,cAAgB,CAAC,CAAC;oBAC/D,OAAO,EAAE,CAAC;iBACX;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,UAAU,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAW,EAAE,IAAY,EAAE,UAAwB,EAAE,SAAwB;IAAlD,2BAAA,EAAA,gBAAwB;IAAE,0BAAA,EAAA,gBAAwB;IAC3G,OAAO,IAAI,OAAO,CAA8B,UAAA,OAAO;QACrD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAM,QAAQ,GAAG,WAAW,CAAC;YAC3B,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAA,EAAE;gBAC3B,IAAM,QAAQ,GAAgC,EAAE,CAAC;gBACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,KAAK,GAAG,EAAb,CAAa,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC;oBAC/C,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;gBACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACP,IAAM,IAAI,GAAgC,EAAE,CAAC;;oBAE3C,IAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAG,CAAC;oBAClC,EAAE,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,GAAG,EAAtB,CAAsB,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC;wBAC1C,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;oBACtC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAhB,CAAgB,CAAC,CAAC;oBAClC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;gBALrB,OAAO,QAAQ,CAAC,MAAM;;iBAMrB;gBACD,IAAM,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;gBACrC,IAAI,OAAO,EAAE;oBACX,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACxB,OAAO,CAAC,IAAI,CAAC,CAAC;oBACd,OAAO;iBACR;gBACD,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,GAAG,UAAU,IAAI,SAAS,EAAE;oBACnC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACxB,MAAM,CAAC,IAAI,CAAC,kCAAgC,IAAI,kBAAa,IAAI,CAAC,MAAQ,CAAC,CAAC;iBAC7E;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,UAAU,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;IAChC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"windowsTerminal.test.js","sourceRoot":"","sources":["../src/windowsTerminal.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,18 +5,21 @@
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
var worker_threads_1 = require("worker_threads");
|
|
7
7
|
var net_1 = require("net");
|
|
8
|
+
var fs = require("fs");
|
|
8
9
|
var conout_1 = require("../shared/conout");
|
|
9
10
|
var conoutPipeName = worker_threads_1.workerData.conoutPipeName;
|
|
10
|
-
var
|
|
11
|
+
var outSocketFD = fs.openSync(conoutPipeName, 'r');
|
|
12
|
+
var conoutSocket = new net_1.Socket({
|
|
13
|
+
fd: outSocketFD,
|
|
14
|
+
readable: true
|
|
15
|
+
});
|
|
11
16
|
conoutSocket.setEncoding('utf8');
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
conoutSocket.pipe(workerSocket);
|
|
15
|
-
});
|
|
16
|
-
server.listen(conout_1.getWorkerPipeName(conoutPipeName));
|
|
17
|
-
if (!worker_threads_1.parentPort) {
|
|
18
|
-
throw new Error('worker_threads parentPort is null');
|
|
19
|
-
}
|
|
20
|
-
worker_threads_1.parentPort.postMessage(1 /* READY */);
|
|
17
|
+
var server = net_1.createServer(function (workerSocket) {
|
|
18
|
+
conoutSocket.pipe(workerSocket);
|
|
21
19
|
});
|
|
20
|
+
server.listen(conout_1.getWorkerPipeName(conoutPipeName));
|
|
21
|
+
if (!worker_threads_1.parentPort) {
|
|
22
|
+
throw new Error('worker_threads parentPort is null');
|
|
23
|
+
}
|
|
24
|
+
worker_threads_1.parentPort.postMessage(1 /* READY */);
|
|
22
25
|
//# sourceMappingURL=conoutSocketWorker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conoutSocketWorker.js","sourceRoot":"","sources":["../../src/worker/conoutSocketWorker.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAEH,iDAAwD;AACxD,2BAA2C;AAC3C,2CAAuF;AAEvF,IAAM,cAAc,GAAI,2BAA0B,CAAC,cAAc,CAAC;AAClE,IAAM,
|
|
1
|
+
{"version":3,"file":"conoutSocketWorker.js","sourceRoot":"","sources":["../../src/worker/conoutSocketWorker.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAEH,iDAAwD;AACxD,2BAA2C;AAC3C,uBAAyB;AACzB,2CAAuF;AAEvF,IAAM,cAAc,GAAI,2BAA0B,CAAC,cAAc,CAAC;AAClE,IAAM,WAAW,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;AACrD,IAAM,YAAY,GAAG,IAAI,YAAM,CAAC;IAC9B,EAAE,EAAE,WAAW;IACf,QAAQ,EAAE,IAAI;CACf,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACjC,IAAM,MAAM,GAAG,kBAAY,CAAC,UAAA,YAAY;IACtC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,CAAC,0BAAiB,CAAC,cAAc,CAAC,CAAC,CAAC;AAEjD,IAAI,CAAC,2BAAU,EAAE;IACf,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;CACtD;AACD,2BAAU,CAAC,WAAW,eAA2B,CAAC"}
|
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.1.0-beta30",
|
|
8
8
|
"license": "MIT",
|
|
9
9
|
"main": "./lib/index.js",
|
|
10
10
|
"types": "./typings/node-pty.d.ts",
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"scripts/",
|
|
19
19
|
"src/",
|
|
20
20
|
"deps/",
|
|
21
|
+
"third_party/",
|
|
21
22
|
"typings/"
|
|
22
23
|
],
|
|
23
24
|
"homepage": "https://github.com/microsoft/node-pty",
|
|
@@ -43,7 +44,7 @@
|
|
|
43
44
|
"prepublishOnly": "npm run build"
|
|
44
45
|
},
|
|
45
46
|
"dependencies": {
|
|
46
|
-
"
|
|
47
|
+
"node-addon-api": "^7.1.0"
|
|
47
48
|
},
|
|
48
49
|
"devDependencies": {
|
|
49
50
|
"@types/mocha": "^7.0.2",
|
|
@@ -53,6 +54,7 @@
|
|
|
53
54
|
"cross-env": "^5.1.4",
|
|
54
55
|
"eslint": "^6.8.0",
|
|
55
56
|
"mocha": "10",
|
|
57
|
+
"node-gyp": "^10.0.1",
|
|
56
58
|
"ps-list": "^6.0.0",
|
|
57
59
|
"typescript": "^3.8.3"
|
|
58
60
|
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2019, Microsoft Corporation (MIT License).
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
const cp = require('child_process');
|
|
6
|
+
const fs = require('fs');
|
|
7
|
+
const path = require('path');
|
|
8
|
+
const packageJson = require('../package.json');
|
|
9
|
+
|
|
10
|
+
// Determine if this is a stable or beta release
|
|
11
|
+
const publishedVersions = getPublishedVersions();
|
|
12
|
+
const isStableRelease = !publishedVersions.includes(packageJson.version);
|
|
13
|
+
|
|
14
|
+
// Get the next version
|
|
15
|
+
const nextVersion = isStableRelease ? packageJson.version : getNextBetaVersion();
|
|
16
|
+
console.log(`Setting version to ${nextVersion}`);
|
|
17
|
+
|
|
18
|
+
// Set the version in package.json
|
|
19
|
+
const packageJsonFile = path.resolve(__dirname, '..', 'package.json');
|
|
20
|
+
packageJson.version = nextVersion;
|
|
21
|
+
fs.writeFileSync(packageJsonFile, JSON.stringify(packageJson, null, 2));
|
|
22
|
+
|
|
23
|
+
function getNextBetaVersion() {
|
|
24
|
+
if (!/^[0-9]+\.[0-9]+\.[0-9]+$/.exec(packageJson.version)) {
|
|
25
|
+
console.error('The package.json version must be of the form x.y.z');
|
|
26
|
+
process.exit(1);
|
|
27
|
+
}
|
|
28
|
+
const tag = 'beta';
|
|
29
|
+
const stableVersion = packageJson.version.split('.');
|
|
30
|
+
const nextStableVersion = `${stableVersion[0]}.${parseInt(stableVersion[1]) + 1}.0`;
|
|
31
|
+
const publishedVersions = getPublishedVersions(nextStableVersion, tag);
|
|
32
|
+
if (publishedVersions.length === 0) {
|
|
33
|
+
return `${nextStableVersion}-${tag}1`;
|
|
34
|
+
}
|
|
35
|
+
const latestPublishedVersion = publishedVersions.sort((a, b) => {
|
|
36
|
+
const aVersion = parseInt(a.substr(a.search(/[0-9]+$/)));
|
|
37
|
+
const bVersion = parseInt(b.substr(b.search(/[0-9]+$/)));
|
|
38
|
+
return aVersion > bVersion ? -1 : 1;
|
|
39
|
+
})[0];
|
|
40
|
+
const latestTagVersion = parseInt(latestPublishedVersion.substr(latestPublishedVersion.search(/[0-9]+$/)), 10);
|
|
41
|
+
return `${nextStableVersion}-${tag}${latestTagVersion + 1}`;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function getPublishedVersions(version, tag) {
|
|
45
|
+
const isWin32 = process.platform === 'win32';
|
|
46
|
+
const versionsProcess = isWin32 ?
|
|
47
|
+
cp.spawnSync('npm.cmd', ['view', packageJson.name, 'versions', '--json'], { shell: true }) :
|
|
48
|
+
cp.spawnSync('npm', ['view', packageJson.name, 'versions', '--json']);
|
|
49
|
+
const versionsJson = JSON.parse(versionsProcess.stdout);
|
|
50
|
+
if (tag) {
|
|
51
|
+
return versionsJson.filter(v => !v.search(new RegExp(`${version}-${tag}[0-9]+`)));
|
|
52
|
+
}
|
|
53
|
+
return versionsJson;
|
|
54
|
+
}
|
package/scripts/post-install.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
var path = require('path');
|
|
1
|
+
//@ts-check
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
const { execSync } = require('child_process');
|
|
4
|
+
const fs = require('fs');
|
|
5
|
+
const os = require('os');
|
|
6
|
+
const path = require('path');
|
|
7
|
+
|
|
8
|
+
const RELEASE_DIR = path.join(__dirname, '../build/Release');
|
|
9
|
+
const BUILD_FILES = [
|
|
6
10
|
path.join(RELEASE_DIR, 'conpty.node'),
|
|
7
11
|
path.join(RELEASE_DIR, 'conpty.pdb'),
|
|
8
12
|
path.join(RELEASE_DIR, 'conpty_console_list.node'),
|
|
@@ -15,14 +19,18 @@ var BUILD_FILES = [
|
|
|
15
19
|
path.join(RELEASE_DIR, 'winpty.dll'),
|
|
16
20
|
path.join(RELEASE_DIR, 'winpty.pdb')
|
|
17
21
|
];
|
|
22
|
+
const CONPTY_DIR = path.join(__dirname, '../third_party/conpty');
|
|
23
|
+
const CONPTY_SUPPORTED_ARCH = ['x64', 'arm64'];
|
|
24
|
+
|
|
25
|
+
console.log('\x1b[32m> Cleaning release folder...\x1b[0m');
|
|
18
26
|
|
|
19
|
-
cleanFolderRecursive
|
|
27
|
+
function cleanFolderRecursive(folder) {
|
|
20
28
|
var files = [];
|
|
21
|
-
if(
|
|
29
|
+
if (fs.existsSync(folder)) {
|
|
22
30
|
files = fs.readdirSync(folder);
|
|
23
31
|
files.forEach(function(file,index) {
|
|
24
32
|
var curPath = path.join(folder, file);
|
|
25
|
-
if(fs.lstatSync(curPath).isDirectory()) { // recurse
|
|
33
|
+
if (fs.lstatSync(curPath).isDirectory()) { // recurse
|
|
26
34
|
cleanFolderRecursive(curPath);
|
|
27
35
|
fs.rmdirSync(curPath);
|
|
28
36
|
} else if (BUILD_FILES.indexOf(curPath) < 0){ // delete file
|
|
@@ -36,7 +44,40 @@ try {
|
|
|
36
44
|
cleanFolderRecursive(RELEASE_DIR);
|
|
37
45
|
} catch(e) {
|
|
38
46
|
console.log(e);
|
|
39
|
-
|
|
40
|
-
} finally {
|
|
41
|
-
process.exit(0);
|
|
47
|
+
process.exit(1);
|
|
42
48
|
}
|
|
49
|
+
|
|
50
|
+
console.log(`\x1b[32m> Moving conpty.dll...\x1b[0m`);
|
|
51
|
+
if (os.platform() !== 'win32') {
|
|
52
|
+
console.log(' SKIPPED (not Windows)');
|
|
53
|
+
} else {
|
|
54
|
+
let windowsArch;
|
|
55
|
+
if (process.env.npm_config_arch) {
|
|
56
|
+
windowsArch = process.env.npm_config_arch;
|
|
57
|
+
console.log(` Using $npm_config_arch: ${windowsArch}`);
|
|
58
|
+
} else {
|
|
59
|
+
windowsArch = os.arch();
|
|
60
|
+
console.log(` Using os.arch(): ${windowsArch}`);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (!CONPTY_SUPPORTED_ARCH.includes(windowsArch)) {
|
|
64
|
+
console.log(` SKIPPED (unsupported architecture ${windowsArch})`);
|
|
65
|
+
} else {
|
|
66
|
+
const versionFolder = fs.readdirSync(CONPTY_DIR)[0];
|
|
67
|
+
console.log(` Found version ${versionFolder}`);
|
|
68
|
+
const sourceFolder = path.join(CONPTY_DIR, versionFolder, `win10-${windowsArch}`);
|
|
69
|
+
const destFolder = path.join(RELEASE_DIR, 'conpty');
|
|
70
|
+
fs.mkdirSync(destFolder, { recursive: true });
|
|
71
|
+
for (const file of ['conpty.dll', 'OpenConsole.exe']) {
|
|
72
|
+
const sourceFile = path.join(sourceFolder, file);
|
|
73
|
+
const destFile = path.join(destFolder, file);
|
|
74
|
+
console.log(` Copying ${sourceFile} -> ${destFile}`);
|
|
75
|
+
fs.copyFileSync(sourceFile, destFile);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
console.log(`\x1b[32m> Generating compile_commands.json...\x1b[0m`);
|
|
81
|
+
execSync('npx node-gyp configure -- -f compile_commands_json');
|
|
82
|
+
|
|
83
|
+
process.exit(0);
|
package/scripts/publish.js
CHANGED
|
@@ -12,11 +12,11 @@ fs.writeFileSync(`${process.env['HOME']}/.npmrc`, `//registry.npmjs.org/:_authTo
|
|
|
12
12
|
|
|
13
13
|
// Determine if this is a stable or beta release
|
|
14
14
|
const publishedVersions = getPublishedVersions();
|
|
15
|
-
const isStableRelease = publishedVersions.
|
|
15
|
+
const isStableRelease = !publishedVersions.includes(packageJson.version);
|
|
16
16
|
|
|
17
17
|
// Get the next version
|
|
18
|
-
|
|
19
|
-
console.log(`
|
|
18
|
+
const nextVersion = isStableRelease ? packageJson.version : getNextBetaVersion();
|
|
19
|
+
console.log(`Setting version to ${nextVersion}`);
|
|
20
20
|
|
|
21
21
|
// Set the version in package.json
|
|
22
22
|
const packageJsonFile = path.resolve(__dirname, '..', 'package.json');
|
|
@@ -53,7 +53,10 @@ function getNextBetaVersion() {
|
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
function getPublishedVersions(version, tag) {
|
|
56
|
-
const
|
|
56
|
+
const isWin32 = process.platform === 'win32';
|
|
57
|
+
const versionsProcess = isWin32 ?
|
|
58
|
+
cp.spawnSync('npm.cmd', ['view', packageJson.name, 'versions', '--json'], { shell: true }) :
|
|
59
|
+
cp.spawnSync('npm', ['view', packageJson.name, 'versions', '--json']);
|
|
57
60
|
const versionsJson = JSON.parse(versionsProcess.stdout);
|
|
58
61
|
if (tag) {
|
|
59
62
|
return versionsJson.filter(v => !v.search(new RegExp(`${version}-${tag}[0-9]+`)));
|
package/src/interfaces.ts
CHANGED
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;
|
|
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;
|
|
9
|
-
clear(ptyId: number): void;
|
|
10
|
-
kill(ptyId: number): void;
|
|
6
|
+
startProcess(file: string, cols: number, rows: number, debug: boolean, pipeName: string, conptyInheritCursor: boolean, useConptyDll: boolean): IConptyProcess;
|
|
7
|
+
connect(ptyId: number, commandLine: string, cwd: string, env: string[], useConptyDll: boolean, onExitCallback: (exitCode: number) => void): { pid: number };
|
|
8
|
+
resize(ptyId: number, cols: number, rows: number, useConptyDll: boolean): void;
|
|
9
|
+
clear(ptyId: number, useConptyDll: boolean): void;
|
|
10
|
+
kill(ptyId: number, useConptyDll: boolean): void;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
interface IWinptyNative {
|