spawn-rx 5.0.4 → 5.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -73,7 +73,8 @@ let result = await spawnPromise('uuid');
73
73
 
74
74
  Jobber is a Windows executable that will execute a command in a process group,
75
75
  and if signaled via a named pipe, will terminate that process group. It's used
76
- in the implementation of `spawnDetached`.
76
+ in the implementation of `spawnDetached`. Jobber was written by me, and its license
77
+ is the same as `spawn-rx`, it is not a third-party dependency.
77
78
 
78
79
  ## Spawn output
79
80
 
@@ -81,25 +82,25 @@ By default spawn will merge stdout and stderr into the returned observable.
81
82
  You can exclude one or the other by passing `ignore` in the `stdio` option of spawn.
82
83
 
83
84
  Alternatively if you call it with `{ split: true }` option, the observable output
84
- will be an object `{ source: 'stdout', text: '...' }` so you can distinguish
85
- the outputs.
85
+ will be an object `{ source: 'stdout', text: '...' }` so you can distinguish
86
+ the outputs.
86
87
 
87
88
  ## Stdin support
88
89
 
89
- If you provide an `observable<string>` in `opts.stdin`, it'll be subscribed upon
90
+ If you provide an `Observable<string>` in `opts.stdin`, it'll be subscribed upon
90
91
  and fed into the child process stdin. Its completion will terminate stdin stream.
91
92
 
92
93
  ## Methods
93
94
 
94
- ```js
95
+ ```typescript
95
96
  /**
96
- * Spawns a process attached as a child of the current process.
97
- *
97
+ * Spawns a process attached as a child of the current process.
98
+ *
98
99
  * @param {string} exe The executable to run
99
- * @param {Array<string>} params The parameters to pass to the child
100
- * @param {Object} opts Options to pass to spawn.
100
+ * @param {string[]} params The parameters to pass to the child
101
+ * @param {SpawnOptions & SpawnRxExtras} opts Options to pass to spawn.
101
102
  *
102
- * @return {Observable<string>} Returns an Observable that when subscribed
103
+ * @return {Observable<OutputLine>} Returns an Observable that when subscribed
103
104
  * to, will create a child process. The
104
105
  * process output will be streamed to this
105
106
  * Observable, and if unsubscribed from, the
@@ -107,20 +108,27 @@ If you provide an `observable<string>` in `opts.stdin`, it'll be subscribed upon
107
108
  * process terminates with a non-zero value,
108
109
  * the Observable will terminate with onError.
109
110
  */
110
- function spawn(exe, params=[], opts=null)
111
- ```
111
+ function spawn(
112
+ exe: string,
113
+ params: string[],
114
+ opts: SpawnOptions & SpawnRxExtras & { split: true }
115
+ ): Observable<OutputLine>;
116
+
117
+ function spawn(
118
+ exe: string,
119
+ params: string[],
120
+ opts?: SpawnOptions & SpawnRxExtras & { split: false | undefined }
121
+ ): Observable<string>;
112
122
 
113
- ```js
114
123
  /**
115
- * Spawns a process but detached from the current process. The process is put
116
- * into its own Process Group that can be killed by unsubscribing from the
117
- * return Observable.
118
- *
124
+ * Spawns a process but detached from the current process. The process is put
125
+ * into its own Process Group.
126
+ *
119
127
  * @param {string} exe The executable to run
120
- * @param {Array<string>} params The parameters to pass to the child
121
- * @param {Object} opts Options to pass to spawn.
128
+ * @param {string[]} params The parameters to pass to the child
129
+ * @param {SpawnOptions & SpawnRxExtras} opts Options to pass to spawn.
122
130
  *
123
- * @return {Observable<string>} Returns an Observable that when subscribed
131
+ * @return {Observable<OutputLine>} Returns an Observable that when subscribed
124
132
  * to, will create a detached process. The
125
133
  * process output will be streamed to this
126
134
  * Observable, and if unsubscribed from, the
@@ -128,60 +136,89 @@ function spawn(exe, params=[], opts=null)
128
136
  * process terminates with a non-zero value,
129
137
  * the Observable will terminate with onError.
130
138
  */
131
- function spawnDetached(exe, params, opts=null)
132
- ```
139
+ function spawnDetached(
140
+ exe: string,
141
+ params: string[],
142
+ opts: SpawnOptions & SpawnRxExtras & { split: true }
143
+ ): Observable<OutputLine>;
144
+
145
+ function spawnDetached(
146
+ exe: string,
147
+ params: string[],
148
+ opts?: SpawnOptions & SpawnRxExtras & { split: false | undefined }
149
+ ): Observable<string>;
133
150
 
134
- ```js
135
151
  /**
136
152
  * Spawns a process as a child process.
137
- *
153
+ *
138
154
  * @param {string} exe The executable to run
139
- * @param {Array<string>} params The parameters to pass to the child
140
- * @param {Object} opts Options to pass to spawn.
155
+ * @param {string[]} params The parameters to pass to the child
156
+ * @param {SpawnOptions & SpawnRxExtras} opts Options to pass to spawn.
141
157
  *
142
- * @return {Promise<string>} Returns an Promise that represents a child
143
- * process. The value returned is the process
144
- * output. If the process terminates with a
145
- * non-zero value, the Promise will resolve with
158
+ * @return {Promise<[string, string]>} Returns a Promise that represents a child
159
+ * process. The value returned is the process
160
+ * output. If the process terminates with a
161
+ * non-zero value, the Promise will resolve with
146
162
  * an Error.
147
163
  */
148
- function spawnPromise(exe, params, opts=null)
149
- ```
164
+ function spawnPromise(
165
+ exe: string,
166
+ params: string[],
167
+ opts: SpawnOptions & SpawnRxExtras & { split: true }
168
+ ): Promise<[string, string]>;
169
+
170
+ function spawnPromise(
171
+ exe: string,
172
+ params: string[],
173
+ opts?: SpawnOptions & SpawnRxExtras
174
+ ): Promise<string>;
150
175
 
151
- ```js
152
176
  /**
153
- * Spawns a process but detached from the current process. The process is put
177
+ * Spawns a process but detached from the current process. The process is put
154
178
  * into its own Process Group.
155
- *
179
+ *
156
180
  * @param {string} exe The executable to run
157
- * @param {Array<string>} params The parameters to pass to the child
158
- * @param {Object} opts Options to pass to spawn.
181
+ * @param {string[]} params The parameters to pass to the child
182
+ * @param {SpawnOptions & SpawnRxExtras} opts Options to pass to spawn.
159
183
  *
160
- * @return {Promise<string>} Returns an Promise that represents a detached
161
- * process. The value returned is the process
162
- * output. If the process terminates with a
163
- * non-zero value, the Promise will resolve with
184
+ * @return {Promise<[string, string]>} Returns a Promise that represents a detached
185
+ * process. The value returned is the process
186
+ * output. If the process terminates with a
187
+ * non-zero value, the Promise will resolve with
164
188
  * an Error.
165
189
  */
166
- function spawnDetachedPromise(exe, params, opts=null)
167
- ```
190
+ function spawnDetachedPromise(
191
+ exe: string,
192
+ params: string[],
193
+ opts: SpawnOptions & SpawnRxExtras & { split: true }
194
+ ): Promise<[string, string]>;
195
+
196
+ function spawnDetachedPromise(
197
+ exe: string,
198
+ params: string[],
199
+ opts?: SpawnOptions & SpawnRxExtras
200
+ ): Promise<string>;
168
201
 
169
- ```js
170
202
  /**
171
- * Finds the actual executable and parameters to run on Windows. This method
172
- * mimics the POSIX behavior of being able to run scripts as executables by
173
- * replacing the passed-in executable with the script runner, for PowerShell,
203
+ * Finds the actual executable and parameters to run on Windows. This method
204
+ * mimics the POSIX behavior of being able to run scripts as executables by
205
+ * replacing the passed-in executable with the script runner, for PowerShell,
174
206
  * CMD, and node scripts.
175
207
  *
176
208
  * This method also does the work of running down PATH, which spawn on Windows
177
209
  * also doesn't do, unlike on POSIX.
178
- *
210
+ *
179
211
  * @param {string} exe The executable to run
180
- * @param {Array<string>} args The arguments to run
212
+ * @param {string[]} args The arguments to run
181
213
  *
182
214
  * @return {Object} The cmd and args to run
183
215
  * @property {string} cmd The command to pass to spawn
184
- * @property {Array<string>} args The arguments to pass to spawn
216
+ * @property {string[]} args The arguments to pass to spawn
185
217
  */
186
- function findActualExecutable(exe, args)
187
- ```
218
+ function findActualExecutable(
219
+ exe: string,
220
+ args: string[]
221
+ ): {
222
+ cmd: string;
223
+ args: string[];
224
+ };
@@ -22,6 +22,7 @@ export declare function findActualExecutable(exe: string, args: string[]): {
22
22
  };
23
23
  export type SpawnRxExtras = {
24
24
  stdin?: Observable<string>;
25
+ echoOutput?: boolean;
25
26
  split?: boolean;
26
27
  jobber?: boolean;
27
28
  encoding?: BufferEncoding;
package/lib/src/index.js CHANGED
@@ -82,14 +82,14 @@ function runDownPath(exe) {
82
82
  var target = path.join(".", exe);
83
83
  if (statSyncNoException(target)) {
84
84
  d("Found executable in currect directory: ".concat(target));
85
- return target;
85
+ return sfs.realpathSync(target);
86
86
  }
87
87
  var haystack = process.env.PATH.split(isWindows ? ";" : ":");
88
88
  for (var _i = 0, haystack_1 = haystack; _i < haystack_1.length; _i++) {
89
89
  var p = haystack_1[_i];
90
90
  var needle = path.join(p, exe);
91
91
  if (statSyncNoException(needle)) {
92
- return needle;
92
+ return sfs.realpathSync(needle);
93
93
  }
94
94
  }
95
95
  d("Failed to find executable anywhere in path");
@@ -178,10 +178,7 @@ function spawnDetached(exe, params, opts) {
178
178
  }
179
179
  var newParams = [cmd].concat(args);
180
180
  var target = path.join(__dirname, "..", "..", "vendor", "jobber", "Jobber.exe");
181
- var options = Object.assign({}, opts || {}, {
182
- detached: true,
183
- jobber: true,
184
- });
181
+ var options = __assign(__assign({}, (opts !== null && opts !== void 0 ? opts : {})), { detached: true, jobber: true });
185
182
  d("spawnDetached: ".concat(target, ", ").concat(newParams));
186
183
  return spawn(target, newParams, options);
187
184
  }
@@ -212,6 +209,9 @@ function spawn(exe, params, opts) {
212
209
  if (b.length < 1) {
213
210
  return;
214
211
  }
212
+ if (opts.echoOutput) {
213
+ (source === "stdout" ? process.stdout : process.stderr).write(b);
214
+ }
215
215
  var chunk = "<< String sent back was too long >>";
216
216
  try {
217
217
  if (typeof b === "string") {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spawn-rx",
3
- "version": "5.0.4",
3
+ "version": "5.1.1",
4
4
  "description": "An Rx-version of child_process.spawn",
5
5
  "scripts": {
6
6
  "doc": "echo \"esdoc may not work correctly\" && esdoc -c ./esdoc.json",
@@ -12,7 +12,7 @@
12
12
  },
13
13
  "repository": {
14
14
  "type": "git",
15
- "url": "https://github.com/anaisbetts/spawn-rx"
15
+ "url": "git+https://github.com/anaisbetts/spawn-rx.git"
16
16
  },
17
17
  "keywords": [
18
18
  "spawn",
@@ -56,4 +56,4 @@
56
56
  "typescript-eslint": "^8.14.0",
57
57
  "uuid": "3.0.1"
58
58
  }
59
- }
59
+ }
package/src/index.ts CHANGED
@@ -51,14 +51,14 @@ function runDownPath(exe: string): string {
51
51
  const target = path.join(".", exe);
52
52
  if (statSyncNoException(target)) {
53
53
  d(`Found executable in currect directory: ${target}`);
54
- return target;
54
+ return sfs.realpathSync(target);
55
55
  }
56
56
 
57
57
  const haystack = process.env.PATH!.split(isWindows ? ";" : ":");
58
58
  for (const p of haystack) {
59
59
  const needle = path.join(p, exe);
60
60
  if (statSyncNoException(needle)) {
61
- return needle;
61
+ return sfs.realpathSync(needle);
62
62
  }
63
63
  }
64
64
 
@@ -148,6 +148,7 @@ export function findActualExecutable(
148
148
 
149
149
  export type SpawnRxExtras = {
150
150
  stdin?: Observable<string>;
151
+ echoOutput?: boolean;
151
152
  split?: boolean;
152
153
  jobber?: boolean;
153
154
  encoding?: BufferEncoding;
@@ -246,10 +247,11 @@ export function spawnDetached(
246
247
  "jobber",
247
248
  "Jobber.exe",
248
249
  );
249
- const options = Object.assign({}, opts || {}, {
250
+ const options = {
251
+ ...(opts ?? {}),
250
252
  detached: true,
251
253
  jobber: true,
252
- });
254
+ };
253
255
 
254
256
  d(`spawnDetached: ${target}, ${newParams}`);
255
257
  return spawn(target, newParams, options as any);
@@ -334,6 +336,11 @@ export function spawn(
334
336
  if (b.length < 1) {
335
337
  return;
336
338
  }
339
+
340
+ if (opts.echoOutput) {
341
+ (source === "stdout" ? process.stdout : process.stderr).write(b);
342
+ }
343
+
337
344
  let chunk = "<< String sent back was too long >>";
338
345
  try {
339
346
  if (typeof b === "string") {