@rsdoctor/utils 1.5.14 → 1.5.15

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.
@@ -1,12 +1,13 @@
1
1
  import connect from 'connect';
2
2
  import http from 'http';
3
3
  import { Thirdparty } from '@rsdoctor/types';
4
+ export declare const defaultHost = "127.0.0.1";
4
5
  export declare const defaultPort: number;
5
- export declare function getPort(expectPort: number): Promise<number>;
6
- export declare const createGetPortSyncFunctionString: (expectPort: number) => string;
7
- export declare function getPortSync(expectPort: number): number | never;
6
+ export declare function getPort(expectPort: number, host?: string): Promise<number>;
7
+ export declare const createGetPortSyncFunctionString: (expectPort: number, host?: string) => string;
8
+ export declare function getPortSync(expectPort: number, host?: string): number | never;
8
9
  export declare function createApp(): connect.Server;
9
- export declare function createServer(port: number): Promise<{
10
+ export declare function createServer(port: number, host?: string): Promise<{
10
11
  app: Thirdparty.connect.Server;
11
12
  server: http.Server;
12
13
  port: number;
@@ -1,12 +1,13 @@
1
1
  import connect from 'connect';
2
2
  import http from 'http';
3
3
  import { Thirdparty } from '@rsdoctor/types';
4
+ export declare const defaultHost = "127.0.0.1";
4
5
  export declare const defaultPort: number;
5
- export declare function getPort(expectPort: number): Promise<number>;
6
- export declare const createGetPortSyncFunctionString: (expectPort: number) => string;
7
- export declare function getPortSync(expectPort: number): number | never;
6
+ export declare function getPort(expectPort: number, host?: string): Promise<number>;
7
+ export declare const createGetPortSyncFunctionString: (expectPort: number, host?: string) => string;
8
+ export declare function getPortSync(expectPort: number, host?: string): number | never;
8
9
  export declare function createApp(): connect.Server;
9
- export declare function createServer(port: number): Promise<{
10
+ export declare function createServer(port: number, host?: string): Promise<{
10
11
  app: Thirdparty.connect.Server;
11
12
  server: http.Server;
12
13
  port: number;
package/dist/build.cjs CHANGED
@@ -165,6 +165,7 @@ for(var __rspack_i in (()=>{
165
165
  createApp: ()=>createApp,
166
166
  createGetPortSyncFunctionString: ()=>createGetPortSyncFunctionString,
167
167
  createServer: ()=>createServer,
168
+ defaultHost: ()=>defaultHost,
168
169
  defaultPort: ()=>defaultPort,
169
170
  getPort: ()=>getPort,
170
171
  getPortSync: ()=>getPortSync
@@ -283,27 +284,28 @@ for(var __rspack_i in (()=>{
283
284
  6667,
284
285
  6668,
285
286
  6669
286
- ], defaultPort = function() {
287
+ ], defaultHost = '127.0.0.1', defaultPort = function() {
287
288
  let port;
288
289
  do port = (0, algorithm.random)(3000, 8999);
289
290
  while (RESTRICTED_PORTS.includes(port));
290
291
  return port;
291
292
  }();
292
- async function getPort(expectPort) {
293
+ async function getPort(expectPort, host = defaultHost) {
293
294
  return external_get_port_default()({
294
- port: expectPort
295
+ port: expectPort,
296
+ host
295
297
  });
296
298
  }
297
- let createGetPortSyncFunctionString = (expectPort)=>`
299
+ let createGetPortSyncFunctionString = (expectPort, host = defaultHost)=>`
298
300
  (() => {
299
301
  const net = require('net');
300
302
 
301
- function getPort(expectPort) {
303
+ function getPort(expectPort, host) {
302
304
  return new Promise((resolve, reject) => {
303
305
  const server = net.createServer();
304
306
  server.unref();
305
307
  server.on('error', reject);
306
- server.listen(expectPort, () => {
308
+ server.listen(expectPort, host, () => {
307
309
  const { port } = server.address();
308
310
  server.close(() => {
309
311
  resolve(port);
@@ -316,7 +318,7 @@ async function getAvailablePort(expectPort) {
316
318
  let port = expectPort;
317
319
  while (true) {
318
320
  try {
319
- const res = await getPort(port);
321
+ const res = await getPort(port, ${JSON.stringify(host)});
320
322
  return res;
321
323
  } catch (error) {
322
324
  port += Math.floor(Math.random() * 100 + 1);
@@ -327,16 +329,19 @@ async function getAvailablePort(expectPort) {
327
329
  getAvailablePort(${expectPort}).then(port => process.stdout.write(port.toString()));
328
330
  })();
329
331
  `.trim();
330
- function getPortSync(expectPort) {
331
- let statement = '\n' === external_os_default().EOL ? createGetPortSyncFunctionString(expectPort) : createGetPortSyncFunctionString(expectPort).replace(/\n/g, '');
332
- return Number((0, external_child_process_namespaceObject.execSync)(`node -e "${statement}"`, {
332
+ function getPortSync(expectPort, host = defaultHost) {
333
+ let statement = '\n' === external_os_default().EOL ? createGetPortSyncFunctionString(expectPort, host) : createGetPortSyncFunctionString(expectPort, host).replace(/\n/g, '');
334
+ return Number((0, external_child_process_namespaceObject.execFileSync)(process.execPath, [
335
+ '-e',
336
+ statement
337
+ ], {
333
338
  encoding: 'utf-8'
334
339
  }));
335
340
  }
336
341
  function createApp() {
337
342
  return index_js_default()();
338
343
  }
339
- async function createServer(port) {
344
+ async function createServer(port, host = defaultHost) {
340
345
  let app = createApp(), server = external_http_default().createServer(app), res = {
341
346
  app,
342
347
  server,
@@ -347,9 +352,12 @@ getAvailablePort(${expectPort}).then(port => process.stdout.write(port.toString(
347
352
  });
348
353
  })
349
354
  };
350
- return new Promise((resolve)=>{
351
- server.listen(port, ()=>{
352
- resolve(res);
355
+ return new Promise((resolve, reject)=>{
356
+ let onError = (error)=>{
357
+ reject(error);
358
+ };
359
+ server.once('error', onError), server.listen(port, host, ()=>{
360
+ server.off('error', onError), resolve(res);
353
361
  });
354
362
  });
355
363
  }
package/dist/build.js CHANGED
@@ -9,7 +9,7 @@ import connect from "../compiled/connect/index.js";
9
9
  import http from "http";
10
10
  import os from "os";
11
11
  import get_port from "get-port";
12
- import { exec, execSync } from "child_process";
12
+ import { exec, execFileSync } from "child_process";
13
13
  import envinfo from "envinfo";
14
14
  import { filesize } from "../compiled/filesize/index.js";
15
15
  import { memoryUsage, pid } from "process";
@@ -56,6 +56,7 @@ __webpack_require__.r(server_namespaceObject), __webpack_require__.d(server_name
56
56
  createApp: ()=>createApp,
57
57
  createGetPortSyncFunctionString: ()=>createGetPortSyncFunctionString,
58
58
  createServer: ()=>createServer,
59
+ defaultHost: ()=>defaultHost,
59
60
  defaultPort: ()=>defaultPort,
60
61
  getPort: ()=>getPort,
61
62
  getPortSync: ()=>getPortSync
@@ -140,27 +141,28 @@ let readPackageJson = (file, readFile)=>{
140
141
  6667,
141
142
  6668,
142
143
  6669
143
- ], defaultPort = function() {
144
+ ], defaultHost = '127.0.0.1', defaultPort = function() {
144
145
  let port;
145
146
  do port = random(3000, 8999);
146
147
  while (RESTRICTED_PORTS.includes(port));
147
148
  return port;
148
149
  }();
149
- async function getPort(expectPort) {
150
+ async function getPort(expectPort, host = defaultHost) {
150
151
  return get_port({
151
- port: expectPort
152
+ port: expectPort,
153
+ host
152
154
  });
153
155
  }
154
- let createGetPortSyncFunctionString = (expectPort)=>`
156
+ let createGetPortSyncFunctionString = (expectPort, host = defaultHost)=>`
155
157
  (() => {
156
158
  const net = require('net');
157
159
 
158
- function getPort(expectPort) {
160
+ function getPort(expectPort, host) {
159
161
  return new Promise((resolve, reject) => {
160
162
  const server = net.createServer();
161
163
  server.unref();
162
164
  server.on('error', reject);
163
- server.listen(expectPort, () => {
165
+ server.listen(expectPort, host, () => {
164
166
  const { port } = server.address();
165
167
  server.close(() => {
166
168
  resolve(port);
@@ -173,7 +175,7 @@ async function getAvailablePort(expectPort) {
173
175
  let port = expectPort;
174
176
  while (true) {
175
177
  try {
176
- const res = await getPort(port);
178
+ const res = await getPort(port, ${JSON.stringify(host)});
177
179
  return res;
178
180
  } catch (error) {
179
181
  port += Math.floor(Math.random() * 100 + 1);
@@ -184,16 +186,19 @@ async function getAvailablePort(expectPort) {
184
186
  getAvailablePort(${expectPort}).then(port => process.stdout.write(port.toString()));
185
187
  })();
186
188
  `.trim();
187
- function getPortSync(expectPort) {
188
- let statement = '\n' === os.EOL ? createGetPortSyncFunctionString(expectPort) : createGetPortSyncFunctionString(expectPort).replace(/\n/g, '');
189
- return Number(execSync(`node -e "${statement}"`, {
189
+ function getPortSync(expectPort, host = defaultHost) {
190
+ let statement = '\n' === os.EOL ? createGetPortSyncFunctionString(expectPort, host) : createGetPortSyncFunctionString(expectPort, host).replace(/\n/g, '');
191
+ return Number(execFileSync(process.execPath, [
192
+ '-e',
193
+ statement
194
+ ], {
190
195
  encoding: 'utf-8'
191
196
  }));
192
197
  }
193
198
  function createApp() {
194
199
  return connect();
195
200
  }
196
- async function createServer(port) {
201
+ async function createServer(port, host = defaultHost) {
197
202
  let app = createApp(), server = http.createServer(app), res = {
198
203
  app,
199
204
  server,
@@ -204,9 +209,12 @@ async function createServer(port) {
204
209
  });
205
210
  })
206
211
  };
207
- return new Promise((resolve)=>{
208
- server.listen(port, ()=>{
209
- resolve(res);
212
+ return new Promise((resolve, reject)=>{
213
+ let onError = (error)=>{
214
+ reject(error);
215
+ };
216
+ server.once('error', onError), server.listen(port, host, ()=>{
217
+ server.off('error', onError), resolve(res);
210
218
  });
211
219
  });
212
220
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsdoctor/utils",
3
- "version": "1.5.14",
3
+ "version": "1.5.15",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/web-infra-dev/rsdoctor",
@@ -101,7 +101,7 @@
101
101
  "picocolors": "^1.1.1",
102
102
  "rslog": "^2.1.2",
103
103
  "strip-ansi": "^6.0.1",
104
- "@rsdoctor/types": "1.5.14"
104
+ "@rsdoctor/types": "1.5.15"
105
105
  },
106
106
  "devDependencies": {
107
107
  "@types/babel__code-frame": "7.27.0",