@theia/process 1.67.0-next.56 → 1.67.0-next.86

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 (85) hide show
  1. package/lib/common/process-common-module.d.ts +4 -0
  2. package/lib/common/process-common-module.d.ts.map +1 -0
  3. package/lib/common/process-common-module.js +23 -0
  4. package/lib/common/process-common-module.js.map +1 -0
  5. package/lib/common/process-manager-types.d.ts +36 -0
  6. package/lib/common/process-manager-types.d.ts.map +1 -0
  7. package/lib/common/process-manager-types.js +24 -0
  8. package/lib/common/process-manager-types.js.map +1 -0
  9. package/lib/common/shell-command-builder.d.ts +50 -0
  10. package/lib/common/shell-command-builder.d.ts.map +1 -0
  11. package/lib/common/shell-command-builder.js +170 -0
  12. package/lib/common/shell-command-builder.js.map +1 -0
  13. package/lib/common/shell-command-builder.slow-spec.d.ts +10 -0
  14. package/lib/common/shell-command-builder.slow-spec.d.ts.map +1 -0
  15. package/lib/common/shell-command-builder.slow-spec.js +405 -0
  16. package/lib/common/shell-command-builder.slow-spec.js.map +1 -0
  17. package/lib/common/shell-quoting.d.ts +92 -0
  18. package/lib/common/shell-quoting.d.ts.map +1 -0
  19. package/lib/common/shell-quoting.js +146 -0
  20. package/lib/common/shell-quoting.js.map +1 -0
  21. package/lib/common/shell-quoting.spec.d.ts +2 -0
  22. package/lib/common/shell-quoting.spec.d.ts.map +1 -0
  23. package/lib/common/shell-quoting.spec.js +171 -0
  24. package/lib/common/shell-quoting.spec.js.map +1 -0
  25. package/lib/node/dev-null-stream.d.ts +18 -0
  26. package/lib/node/dev-null-stream.d.ts.map +1 -0
  27. package/lib/node/dev-null-stream.js +42 -0
  28. package/lib/node/dev-null-stream.js.map +1 -0
  29. package/lib/node/index.d.ts +7 -0
  30. package/lib/node/index.d.ts.map +1 -0
  31. package/lib/node/index.js +25 -0
  32. package/lib/node/index.js.map +1 -0
  33. package/lib/node/multi-ring-buffer.d.ts +71 -0
  34. package/lib/node/multi-ring-buffer.d.ts.map +1 -0
  35. package/lib/node/multi-ring-buffer.js +300 -0
  36. package/lib/node/multi-ring-buffer.js.map +1 -0
  37. package/lib/node/multi-ring-buffer.spec.d.ts +2 -0
  38. package/lib/node/multi-ring-buffer.spec.d.ts.map +1 -0
  39. package/lib/node/multi-ring-buffer.spec.js +423 -0
  40. package/lib/node/multi-ring-buffer.spec.js.map +1 -0
  41. package/lib/node/process-backend-module.d.ts +4 -0
  42. package/lib/node/process-backend-module.d.ts.map +1 -0
  43. package/lib/node/process-backend-module.js +52 -0
  44. package/lib/node/process-backend-module.js.map +1 -0
  45. package/lib/node/process-manager.d.ts +34 -0
  46. package/lib/node/process-manager.d.ts.map +1 -0
  47. package/lib/node/process-manager.js +103 -0
  48. package/lib/node/process-manager.js.map +1 -0
  49. package/lib/node/process.d.ts +96 -0
  50. package/lib/node/process.d.ts.map +1 -0
  51. package/lib/node/process.js +146 -0
  52. package/lib/node/process.js.map +1 -0
  53. package/lib/node/pseudo-pty.d.ts +24 -0
  54. package/lib/node/pseudo-pty.d.ts.map +1 -0
  55. package/lib/node/pseudo-pty.js +40 -0
  56. package/lib/node/pseudo-pty.js.map +1 -0
  57. package/lib/node/raw-process.d.ts +47 -0
  58. package/lib/node/raw-process.d.ts.map +1 -0
  59. package/lib/node/raw-process.js +104 -0
  60. package/lib/node/raw-process.js.map +1 -0
  61. package/lib/node/raw-process.spec.d.ts +2 -0
  62. package/lib/node/raw-process.spec.d.ts.map +1 -0
  63. package/lib/node/raw-process.spec.js +163 -0
  64. package/lib/node/raw-process.spec.js.map +1 -0
  65. package/lib/node/task-terminal-process.d.ts +11 -0
  66. package/lib/node/task-terminal-process.d.ts.map +1 -0
  67. package/lib/node/task-terminal-process.js +43 -0
  68. package/lib/node/task-terminal-process.js.map +1 -0
  69. package/lib/node/terminal-process.d.ts +61 -0
  70. package/lib/node/terminal-process.d.ts.map +1 -0
  71. package/lib/node/terminal-process.js +252 -0
  72. package/lib/node/terminal-process.js.map +1 -0
  73. package/lib/node/terminal-process.spec.d.ts +2 -0
  74. package/lib/node/terminal-process.spec.d.ts.map +1 -0
  75. package/lib/node/terminal-process.spec.js +104 -0
  76. package/lib/node/terminal-process.spec.js.map +1 -0
  77. package/lib/node/test/process-test-container.d.ts +3 -0
  78. package/lib/node/test/process-test-container.d.ts.map +1 -0
  79. package/lib/node/test/process-test-container.js +29 -0
  80. package/lib/node/test/process-test-container.js.map +1 -0
  81. package/lib/node/utils.d.ts +17 -0
  82. package/lib/node/utils.d.ts.map +1 -0
  83. package/lib/node/utils.js +78 -0
  84. package/lib/node/utils.js.map +1 -0
  85. package/package.json +3 -3
@@ -0,0 +1,300 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2017 Ericsson and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.MultiRingBuffer = exports.MultiRingBufferOptions = exports.MultiRingBufferReadableStream = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const stream = require("stream");
21
+ const inversify_1 = require("@theia/core/shared/inversify");
22
+ /**
23
+ * The MultiRingBuffer is a ring buffer implementation that allows
24
+ * multiple independent readers.
25
+ *
26
+ * These readers are created using the getReader or getStream functions
27
+ * to create a reader that can be read using deq() or one that is a readable stream.
28
+ */
29
+ class MultiRingBufferReadableStream extends stream.Readable {
30
+ constructor(ringBuffer, reader, encoding = 'utf8') {
31
+ super();
32
+ this.ringBuffer = ringBuffer;
33
+ this.reader = reader;
34
+ this.encoding = encoding;
35
+ this.more = false;
36
+ this.disposed = false;
37
+ this.setEncoding(encoding);
38
+ }
39
+ _read(size) {
40
+ this.more = true;
41
+ this.deq(size);
42
+ }
43
+ _destroy(err, callback) {
44
+ this.ringBuffer.closeStream(this);
45
+ this.ringBuffer.closeReader(this.reader);
46
+ this.disposed = true;
47
+ this.removeAllListeners();
48
+ callback(err);
49
+ }
50
+ onData() {
51
+ if (this.more === true) {
52
+ this.deq(-1);
53
+ }
54
+ }
55
+ deq(size) {
56
+ if (this.disposed === true) {
57
+ return;
58
+ }
59
+ let buffer = undefined;
60
+ do {
61
+ buffer = this.ringBuffer.deq(this.reader, size, this.encoding);
62
+ if (buffer !== undefined) {
63
+ this.more = this.push(buffer, this.encoding);
64
+ }
65
+ } while (buffer !== undefined && this.more === true && this.disposed === false);
66
+ }
67
+ dispose() {
68
+ this.destroy();
69
+ }
70
+ }
71
+ exports.MultiRingBufferReadableStream = MultiRingBufferReadableStream;
72
+ exports.MultiRingBufferOptions = Symbol('MultiRingBufferOptions');
73
+ let MultiRingBuffer = class MultiRingBuffer {
74
+ constructor(options) {
75
+ this.options = options;
76
+ this.head = -1;
77
+ this.tail = -1;
78
+ this.readerId = 0;
79
+ this.maxSize = options.size;
80
+ if (options.encoding !== undefined) {
81
+ this.encoding = options.encoding;
82
+ }
83
+ else {
84
+ this.encoding = 'utf8';
85
+ }
86
+ this.buffer = Buffer.alloc(this.maxSize);
87
+ this.readers = new Map();
88
+ this.streams = new Map();
89
+ }
90
+ enq(str, encoding = 'utf8') {
91
+ let buffer = Buffer.from(str, encoding);
92
+ // Take the last elements of string if it's too big, drop the rest
93
+ if (buffer.length > this.maxSize) {
94
+ buffer = buffer.slice(buffer.length - this.maxSize);
95
+ }
96
+ if (buffer.length === 0) {
97
+ return;
98
+ }
99
+ // empty
100
+ if (this.head === -1 && this.tail === -1) {
101
+ this.head = 0;
102
+ this.tail = 0;
103
+ buffer.copy(this.buffer, this.head, 0, buffer.length);
104
+ this.head = buffer.length - 1;
105
+ this.onData(0);
106
+ return;
107
+ }
108
+ const startHead = this.inc(this.head, 1).newPos;
109
+ if (this.inc(startHead, buffer.length).wrap === true) {
110
+ buffer.copy(this.buffer, startHead, 0, this.maxSize - startHead);
111
+ buffer.copy(this.buffer, 0, this.maxSize - startHead);
112
+ }
113
+ else {
114
+ buffer.copy(this.buffer, startHead);
115
+ }
116
+ this.incTails(buffer.length);
117
+ this.head = this.inc(this.head, buffer.length).newPos;
118
+ this.onData(startHead);
119
+ }
120
+ getReader() {
121
+ this.readers.set(this.readerId, this.tail);
122
+ return this.readerId++;
123
+ }
124
+ closeReader(id) {
125
+ this.readers.delete(id);
126
+ }
127
+ getStream(encoding) {
128
+ const reader = this.getReader();
129
+ const readableStream = new MultiRingBufferReadableStream(this, reader, encoding);
130
+ this.streams.set(readableStream, reader);
131
+ return readableStream;
132
+ }
133
+ closeStream(readableStream) {
134
+ this.streams.delete(readableStream);
135
+ }
136
+ onData(start) {
137
+ /* Any stream that has read everything already
138
+ * Should go back to the last buffer in start offset */
139
+ for (const [id, pos] of this.readers) {
140
+ if (pos === -1) {
141
+ this.readers.set(id, start);
142
+ }
143
+ }
144
+ /* Notify the streams there's new data. */
145
+ for (const [readableStream] of this.streams) {
146
+ readableStream.onData();
147
+ }
148
+ }
149
+ deq(id, size = -1, encoding = 'utf8') {
150
+ const pos = this.readers.get(id);
151
+ if (pos === undefined || pos === -1) {
152
+ return undefined;
153
+ }
154
+ if (size === 0) {
155
+ return undefined;
156
+ }
157
+ let buffer = '';
158
+ const maxDeqSize = this.sizeForReader(id);
159
+ const wrapped = this.isWrapped(pos, this.head);
160
+ let deqSize;
161
+ if (size === -1) {
162
+ deqSize = maxDeqSize;
163
+ }
164
+ else {
165
+ deqSize = Math.min(size, maxDeqSize);
166
+ }
167
+ if (wrapped === false) { // no wrap
168
+ buffer = this.buffer.toString(encoding, pos, pos + deqSize);
169
+ }
170
+ else { // wrap
171
+ buffer = buffer.concat(this.buffer.toString(encoding, pos, this.maxSize), this.buffer.toString(encoding, 0, deqSize - (this.maxSize - pos)));
172
+ }
173
+ const lastIndex = this.inc(pos, deqSize - 1).newPos;
174
+ // everything is read
175
+ if (lastIndex === this.head) {
176
+ this.readers.set(id, -1);
177
+ }
178
+ else {
179
+ this.readers.set(id, this.inc(pos, deqSize).newPos);
180
+ }
181
+ return buffer;
182
+ }
183
+ sizeForReader(id) {
184
+ const pos = this.readers.get(id);
185
+ if (pos === undefined) {
186
+ return 0;
187
+ }
188
+ return this.sizeFrom(pos, this.head, this.isWrapped(pos, this.head));
189
+ }
190
+ size() {
191
+ return this.sizeFrom(this.tail, this.head, this.isWrapped(this.tail, this.head));
192
+ }
193
+ isWrapped(from, to) {
194
+ if (to < from) {
195
+ return true;
196
+ }
197
+ else {
198
+ return false;
199
+ }
200
+ }
201
+ sizeFrom(from, to, wrap) {
202
+ if (from === -1 || to === -1) {
203
+ return 0;
204
+ }
205
+ else {
206
+ if (wrap === false) {
207
+ return to - from + 1;
208
+ }
209
+ else {
210
+ return to + 1 + this.maxSize - from;
211
+ }
212
+ }
213
+ }
214
+ emptyForReader(id) {
215
+ const pos = this.readers.get(id);
216
+ if (pos === undefined || pos === -1) {
217
+ return true;
218
+ }
219
+ else {
220
+ return false;
221
+ }
222
+ }
223
+ empty() {
224
+ if (this.head === -1 && this.tail === -1) {
225
+ return true;
226
+ }
227
+ else {
228
+ return false;
229
+ }
230
+ }
231
+ streamsSize() {
232
+ return this.streams.size;
233
+ }
234
+ readersSize() {
235
+ return this.readers.size;
236
+ }
237
+ /**
238
+ * Dispose all the attached readers/streams.
239
+ */
240
+ dispose() {
241
+ for (const readableStream of this.streams.keys()) {
242
+ readableStream.dispose();
243
+ }
244
+ }
245
+ /* Position should be incremented if it goes pass end. */
246
+ shouldIncPos(pos, end, size) {
247
+ const { newPos: newHead, wrap } = this.inc(end, size);
248
+ /* Tail Head */
249
+ if (this.isWrapped(pos, end) === false) {
250
+ // Head needs to wrap to push the tail
251
+ if (wrap === true && newHead >= pos) {
252
+ return true;
253
+ }
254
+ }
255
+ else { /* Head Tail */
256
+ // If we wrap head is pushing tail, or if it goes over pos
257
+ if (wrap === true || newHead >= pos) {
258
+ return true;
259
+ }
260
+ }
261
+ return false;
262
+ }
263
+ incTailSize(pos, head, size) {
264
+ const { newPos: newHead } = this.inc(head, size);
265
+ /* New tail is 1 past newHead. */
266
+ return this.inc(newHead, 1);
267
+ }
268
+ incTail(pos, size) {
269
+ if (this.shouldIncPos(pos, this.head, size) === false) {
270
+ return { newPos: pos, wrap: false };
271
+ }
272
+ return this.incTailSize(pos, this.head, size);
273
+ }
274
+ /* Increment the main tail and all the reader positions. */
275
+ incTails(size) {
276
+ this.tail = this.incTail(this.tail, size).newPos;
277
+ for (const [id, pos] of this.readers) {
278
+ if (pos !== -1) {
279
+ if (this.shouldIncPos(pos, this.tail, size) === true) {
280
+ this.readers.set(id, this.tail);
281
+ }
282
+ }
283
+ }
284
+ }
285
+ inc(pos, size) {
286
+ if (size === 0) {
287
+ return { newPos: pos, wrap: false };
288
+ }
289
+ const newPos = (pos + size) % this.maxSize;
290
+ const wrap = newPos <= pos;
291
+ return { newPos, wrap };
292
+ }
293
+ };
294
+ exports.MultiRingBuffer = MultiRingBuffer;
295
+ exports.MultiRingBuffer = MultiRingBuffer = tslib_1.__decorate([
296
+ (0, inversify_1.injectable)(),
297
+ tslib_1.__param(0, (0, inversify_1.inject)(exports.MultiRingBufferOptions)),
298
+ tslib_1.__metadata("design:paramtypes", [Object])
299
+ ], MultiRingBuffer);
300
+ //# sourceMappingURL=multi-ring-buffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-ring-buffer.js","sourceRoot":"","sources":["../../src/node/multi-ring-buffer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=multi-ring-buffer.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-ring-buffer.spec.d.ts","sourceRoot":"","sources":["../../src/node/multi-ring-buffer.spec.ts"],"names":[],"mappings":""}