create-tradejs 1.0.10 → 1.0.11
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/dist/index.js +24 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -32,6 +32,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
32
32
|
var index_exports = {};
|
|
33
33
|
__export(index_exports, {
|
|
34
34
|
buildProjectFiles: () => buildProjectFiles,
|
|
35
|
+
findAvailablePort: () => findAvailablePort,
|
|
35
36
|
main: () => main,
|
|
36
37
|
parseArgs: () => parseArgs,
|
|
37
38
|
scaffoldProject: () => scaffoldProject
|
|
@@ -242,12 +243,32 @@ var localBin = (projectDir, name) => import_node_path.default.join(
|
|
|
242
243
|
".bin",
|
|
243
244
|
process.platform === "win32" ? `${name}.cmd` : name
|
|
244
245
|
);
|
|
245
|
-
var
|
|
246
|
+
var isPortListening = (port, host) => new Promise((resolve) => {
|
|
247
|
+
const socket = import_node_net.default.createConnection({ port, host });
|
|
248
|
+
const finish = (listening) => {
|
|
249
|
+
socket.destroy();
|
|
250
|
+
resolve(listening);
|
|
251
|
+
};
|
|
252
|
+
socket.setTimeout(250);
|
|
253
|
+
socket.once("connect", () => finish(true));
|
|
254
|
+
socket.once("error", () => finish(false));
|
|
255
|
+
socket.once("timeout", () => finish(false));
|
|
256
|
+
});
|
|
257
|
+
var canBindPort = (port) => new Promise((resolve) => {
|
|
246
258
|
const server = import_node_net.default.createServer();
|
|
247
259
|
server.unref();
|
|
248
260
|
server.once("error", () => resolve(false));
|
|
249
|
-
server.listen(
|
|
261
|
+
server.listen(
|
|
262
|
+
{ port, host: "0.0.0.0", exclusive: true },
|
|
263
|
+
() => server.close(() => resolve(true))
|
|
264
|
+
);
|
|
250
265
|
});
|
|
266
|
+
var isPortAvailable = async (port) => {
|
|
267
|
+
if (await isPortListening(port, "127.0.0.1") || await isPortListening(port, "::1")) {
|
|
268
|
+
return false;
|
|
269
|
+
}
|
|
270
|
+
return canBindPort(port);
|
|
271
|
+
};
|
|
251
272
|
var findAvailablePort = async (preferredPort) => {
|
|
252
273
|
for (let offset = 0; offset < 20; offset += 1) {
|
|
253
274
|
const port = preferredPort + offset;
|
|
@@ -372,6 +393,7 @@ create-tradejs failed: ${error.message}`);
|
|
|
372
393
|
// Annotate the CommonJS export names for ESM import in node:
|
|
373
394
|
0 && (module.exports = {
|
|
374
395
|
buildProjectFiles,
|
|
396
|
+
findAvailablePort,
|
|
375
397
|
main,
|
|
376
398
|
parseArgs,
|
|
377
399
|
scaffoldProject
|