unplugin-https-reverse-proxy 1.0.0-beta.16 → 1.0.0-beta.17

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/rollup.cjs CHANGED
@@ -83,24 +83,21 @@ function isAdmin() {
83
83
  var import_node_os2 = require("os");
84
84
  var import_node_process4 = __toESM(require("process"), 1);
85
85
  var import_node_fs2 = require("fs");
86
- var import_node_child_process3 = require("child_process");
86
+ var import_node_child_process4 = require("child_process");
87
87
  var import_promises2 = require("fs/promises");
88
88
  var import_got_cjs = require("got-cjs");
89
89
  var import_http_proxy_agent = require("http-proxy-agent");
90
90
  var import_https_proxy_agent = require("https-proxy-agent");
91
- var import_kill_port = __toESM(require("kill-port"), 1);
92
91
  var lockfile = __toESM(require("proper-lockfile"), 1);
93
92
 
94
93
  // src/host/index.ts
95
94
  var import_node_process2 = __toESM(require("process"), 1);
96
95
  var import_node_child_process2 = require("child_process");
97
96
  var import_node_fs = require("fs");
98
- var import_hosts_so_easy = __toESM(require("hosts-so-easy"), 1);
99
- var Hosts = import_hosts_so_easy.default.default || import_hosts_so_easy.default;
100
- var hostInstance = new Hosts({
101
- debounceTime: 50,
102
- hostsFile: getPathOfSystemHostsPath()
103
- });
97
+ var import_node_util = require("util");
98
+ var import_hostile = __toESM(require("hostile"), 1);
99
+ var _setHost = (0, import_node_util.promisify)(import_hostile.default.set);
100
+ var _removeHost = (0, import_node_util.promisify)(import_hostile.default.remove);
104
101
  function getPathOfSystemHostsPath() {
105
102
  return import_node_process2.default.platform === "win32" ? `${import_node_process2.default.env.windir || "C:\\WINDOWS"}\\system32\\drivers\\etc\\hosts` : "/etc/hosts";
106
103
  }
@@ -121,20 +118,18 @@ async function syncHost() {
121
118
  async function addHost(ip, host) {
122
119
  if (import_node_process2.default.platform !== "win32")
123
120
  (0, import_node_fs.chmodSync)(getPathOfSystemHostsPath(), 511);
124
- hostInstance.add("127.0.0.1", "localhost");
125
- hostInstance.add(ip, host);
121
+ await _setHost("127.0.0.1", "localhost");
122
+ await _setHost(ip, host);
126
123
  if (ip === "localhost")
127
- hostInstance.add("127.0.0.1", host);
128
- await hostInstance.updateFinish();
124
+ await _setHost("127.0.0.1", host);
129
125
  return await syncHost();
130
126
  }
131
127
  async function removeHost(ip, host) {
132
128
  if (import_node_process2.default.platform !== "win32")
133
129
  (0, import_node_fs.chmodSync)(getPathOfSystemHostsPath(), 511);
134
- hostInstance.remove(ip, host);
130
+ await _removeHost(ip, host);
135
131
  if (ip === "localhost")
136
- hostInstance.remove("127.0.0.1", host);
137
- await hostInstance.updateFinish();
132
+ await _removeHost("127.0.0.1", host);
138
133
  return await syncHost();
139
134
  }
140
135
 
@@ -268,6 +263,7 @@ var supportList = [
268
263
 
269
264
  // src/caddy/utils.ts
270
265
  var import_node_net = require("net");
266
+ var import_node_child_process3 = require("child_process");
271
267
  var import_ora = __toESM(require("ora"), 1);
272
268
  var spinner;
273
269
  function tryPort(port) {
@@ -288,6 +284,18 @@ function tryPort(port) {
288
284
  }
289
285
  });
290
286
  }
287
+ async function kill(port) {
288
+ return new Promise((resolve, reject) => {
289
+ (0, import_node_child_process3.exec)(`npx @maxbo/free-port ${port} -s`, (err, stdout, stderr) => {
290
+ if (err) {
291
+ reject(err);
292
+ } else {
293
+ consola.log(stdout);
294
+ resolve();
295
+ }
296
+ });
297
+ });
298
+ }
291
299
  function getNumber(number) {
292
300
  if (number <= 0)
293
301
  return "0%";
@@ -371,7 +379,7 @@ function testCaddy() {
371
379
  if (!(0, import_node_fs2.existsSync)(caddyPath))
372
380
  return resolve(false);
373
381
  (0, import_node_fs2.chmodSync)(caddyPath, 511);
374
- const child = import_node_process4.default.platform === "win32" ? (0, import_node_child_process3.spawn)(caddyPath, []) : (0, import_node_child_process3.spawn)("sudo", ["-E", caddyPath]);
382
+ const child = import_node_process4.default.platform === "win32" ? (0, import_node_child_process4.spawn)(caddyPath, []) : (0, import_node_child_process4.spawn)("sudo", ["-E", caddyPath]);
375
383
  child.on("close", () => {
376
384
  return resolve(false);
377
385
  });
@@ -460,11 +468,12 @@ ${target.split(":")[0]}${https ? "" : ":80"} {
460
468
  (0, import_node_fs2.writeFileSync)(caddyLockFilePath, "");
461
469
  if (!this.locked) {
462
470
  if (await tryPort(443))
463
- await (0, import_kill_port.default)(443, "tcp");
471
+ await kill(443);
464
472
  if ((import_node_process4.default.platform === "win32" || !https) && await tryPort(80))
465
- await (0, import_kill_port.default)(80, "tcp");
473
+ await kill(80);
466
474
  }
467
475
  return new Promise((resolve, reject) => {
476
+ var _a, _b;
468
477
  const setupCleanup = () => {
469
478
  import_node_process4.default.on("SIGINT", async () => {
470
479
  if (!restore || this.stoped)
@@ -489,7 +498,7 @@ ${target.split(":")[0]}${https ? "" : ":80"} {
489
498
  import_node_process4.default.exit = async (code) => {
490
499
  const port = Number(source.split(":")[1]);
491
500
  if (!Number.isNaN(port) && await tryPort(port))
492
- await (0, import_kill_port.default)(port, "tcp");
501
+ await kill(port);
493
502
  const pwd = import_node_process4.default.cwd();
494
503
  const viteCacheDir = `${pwd}/node_modules/.vite`;
495
504
  if ((0, import_node_fs2.existsSync)(viteCacheDir))
@@ -520,12 +529,12 @@ ${target.split(":")[0]}${https ? "" : ":80"} {
520
529
  };
521
530
  };
522
531
  if (!this.locked) {
523
- const child = import_node_process4.default.platform !== "win32" ? (0, import_node_child_process3.spawn)("sudo", ["-E", caddyPath, "run", "--config", caddyFilePath, "--watch"]) : (0, import_node_child_process3.spawn)(caddyPath, ["run", "--config", caddyFilePath, "--watch"]);
532
+ this.caddyChild = import_node_process4.default.platform !== "win32" ? (0, import_node_child_process4.spawn)("sudo", ["-E", caddyPath, "run", "--config", caddyFilePath, "--watch"]) : (0, import_node_child_process4.spawn)(caddyPath, ["run", "--config", caddyFilePath, "--watch"]);
524
533
  lockfile.lockSync(caddyLockFilePath);
525
- child.on("error", (err) => {
534
+ this.caddyChild.on("error", (err) => {
526
535
  return reject(err);
527
536
  });
528
- child.stderr.on("data", (data) => {
537
+ (_a = this.caddyChild.stderr) == null ? void 0 : _a.on("data", (data) => {
529
538
  const lines = data.toString().split("\n").map((line) => line.trim());
530
539
  for (const line of lines) {
531
540
  showCaddyLog && line && console.info(line);
@@ -540,7 +549,7 @@ ${target.split(":")[0]}${https ? "" : ":80"} {
540
549
  return resolve();
541
550
  }
542
551
  });
543
- child.stdout.on("data", (_data) => {
552
+ (_b = this.caddyChild.stdout) == null ? void 0 : _b.on("data", (_data) => {
544
553
  consola.info(_data.toString());
545
554
  resolve();
546
555
  });
@@ -553,7 +562,9 @@ ${target.split(":")[0]}${https ? "" : ":80"} {
553
562
  });
554
563
  }
555
564
  async baseCleanup() {
565
+ var _a;
556
566
  if (!this.locked) {
567
+ (_a = this.caddyChild) == null ? void 0 : _a.kill();
557
568
  try {
558
569
  await lockfile.unlock(caddyLockFilePath);
559
570
  await (0, import_promises2.unlink)(caddyFilePath);
package/dist/rollup.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  unpluginFactory
3
- } from "./chunk-QMYDD3HL.js";
3
+ } from "./chunk-WCFY7NJQ.js";
4
4
  import "./chunk-2VGRJ3QS.js";
5
5
 
6
6
  // src/rollup.ts
package/dist/rspack.cjs CHANGED
@@ -82,24 +82,21 @@ function isAdmin() {
82
82
  var import_node_os2 = require("os");
83
83
  var import_node_process4 = __toESM(require("process"), 1);
84
84
  var import_node_fs2 = require("fs");
85
- var import_node_child_process3 = require("child_process");
85
+ var import_node_child_process4 = require("child_process");
86
86
  var import_promises2 = require("fs/promises");
87
87
  var import_got_cjs = require("got-cjs");
88
88
  var import_http_proxy_agent = require("http-proxy-agent");
89
89
  var import_https_proxy_agent = require("https-proxy-agent");
90
- var import_kill_port = __toESM(require("kill-port"), 1);
91
90
  var lockfile = __toESM(require("proper-lockfile"), 1);
92
91
 
93
92
  // src/host/index.ts
94
93
  var import_node_process2 = __toESM(require("process"), 1);
95
94
  var import_node_child_process2 = require("child_process");
96
95
  var import_node_fs = require("fs");
97
- var import_hosts_so_easy = __toESM(require("hosts-so-easy"), 1);
98
- var Hosts = import_hosts_so_easy.default.default || import_hosts_so_easy.default;
99
- var hostInstance = new Hosts({
100
- debounceTime: 50,
101
- hostsFile: getPathOfSystemHostsPath()
102
- });
96
+ var import_node_util = require("util");
97
+ var import_hostile = __toESM(require("hostile"), 1);
98
+ var _setHost = (0, import_node_util.promisify)(import_hostile.default.set);
99
+ var _removeHost = (0, import_node_util.promisify)(import_hostile.default.remove);
103
100
  function getPathOfSystemHostsPath() {
104
101
  return import_node_process2.default.platform === "win32" ? `${import_node_process2.default.env.windir || "C:\\WINDOWS"}\\system32\\drivers\\etc\\hosts` : "/etc/hosts";
105
102
  }
@@ -120,20 +117,18 @@ async function syncHost() {
120
117
  async function addHost(ip, host) {
121
118
  if (import_node_process2.default.platform !== "win32")
122
119
  (0, import_node_fs.chmodSync)(getPathOfSystemHostsPath(), 511);
123
- hostInstance.add("127.0.0.1", "localhost");
124
- hostInstance.add(ip, host);
120
+ await _setHost("127.0.0.1", "localhost");
121
+ await _setHost(ip, host);
125
122
  if (ip === "localhost")
126
- hostInstance.add("127.0.0.1", host);
127
- await hostInstance.updateFinish();
123
+ await _setHost("127.0.0.1", host);
128
124
  return await syncHost();
129
125
  }
130
126
  async function removeHost(ip, host) {
131
127
  if (import_node_process2.default.platform !== "win32")
132
128
  (0, import_node_fs.chmodSync)(getPathOfSystemHostsPath(), 511);
133
- hostInstance.remove(ip, host);
129
+ await _removeHost(ip, host);
134
130
  if (ip === "localhost")
135
- hostInstance.remove("127.0.0.1", host);
136
- await hostInstance.updateFinish();
131
+ await _removeHost("127.0.0.1", host);
137
132
  return await syncHost();
138
133
  }
139
134
 
@@ -267,6 +262,7 @@ var supportList = [
267
262
 
268
263
  // src/caddy/utils.ts
269
264
  var import_node_net = require("net");
265
+ var import_node_child_process3 = require("child_process");
270
266
  var import_ora = __toESM(require("ora"), 1);
271
267
  var spinner;
272
268
  function tryPort(port) {
@@ -287,6 +283,18 @@ function tryPort(port) {
287
283
  }
288
284
  });
289
285
  }
286
+ async function kill(port) {
287
+ return new Promise((resolve, reject) => {
288
+ (0, import_node_child_process3.exec)(`npx @maxbo/free-port ${port} -s`, (err, stdout, stderr) => {
289
+ if (err) {
290
+ reject(err);
291
+ } else {
292
+ consola.log(stdout);
293
+ resolve();
294
+ }
295
+ });
296
+ });
297
+ }
290
298
  function getNumber(number) {
291
299
  if (number <= 0)
292
300
  return "0%";
@@ -370,7 +378,7 @@ function testCaddy() {
370
378
  if (!(0, import_node_fs2.existsSync)(caddyPath))
371
379
  return resolve(false);
372
380
  (0, import_node_fs2.chmodSync)(caddyPath, 511);
373
- const child = import_node_process4.default.platform === "win32" ? (0, import_node_child_process3.spawn)(caddyPath, []) : (0, import_node_child_process3.spawn)("sudo", ["-E", caddyPath]);
381
+ const child = import_node_process4.default.platform === "win32" ? (0, import_node_child_process4.spawn)(caddyPath, []) : (0, import_node_child_process4.spawn)("sudo", ["-E", caddyPath]);
374
382
  child.on("close", () => {
375
383
  return resolve(false);
376
384
  });
@@ -459,11 +467,12 @@ ${target.split(":")[0]}${https ? "" : ":80"} {
459
467
  (0, import_node_fs2.writeFileSync)(caddyLockFilePath, "");
460
468
  if (!this.locked) {
461
469
  if (await tryPort(443))
462
- await (0, import_kill_port.default)(443, "tcp");
470
+ await kill(443);
463
471
  if ((import_node_process4.default.platform === "win32" || !https) && await tryPort(80))
464
- await (0, import_kill_port.default)(80, "tcp");
472
+ await kill(80);
465
473
  }
466
474
  return new Promise((resolve, reject) => {
475
+ var _a, _b;
467
476
  const setupCleanup = () => {
468
477
  import_node_process4.default.on("SIGINT", async () => {
469
478
  if (!restore || this.stoped)
@@ -488,7 +497,7 @@ ${target.split(":")[0]}${https ? "" : ":80"} {
488
497
  import_node_process4.default.exit = async (code) => {
489
498
  const port = Number(source.split(":")[1]);
490
499
  if (!Number.isNaN(port) && await tryPort(port))
491
- await (0, import_kill_port.default)(port, "tcp");
500
+ await kill(port);
492
501
  const pwd = import_node_process4.default.cwd();
493
502
  const viteCacheDir = `${pwd}/node_modules/.vite`;
494
503
  if ((0, import_node_fs2.existsSync)(viteCacheDir))
@@ -519,12 +528,12 @@ ${target.split(":")[0]}${https ? "" : ":80"} {
519
528
  };
520
529
  };
521
530
  if (!this.locked) {
522
- const child = import_node_process4.default.platform !== "win32" ? (0, import_node_child_process3.spawn)("sudo", ["-E", caddyPath, "run", "--config", caddyFilePath, "--watch"]) : (0, import_node_child_process3.spawn)(caddyPath, ["run", "--config", caddyFilePath, "--watch"]);
531
+ this.caddyChild = import_node_process4.default.platform !== "win32" ? (0, import_node_child_process4.spawn)("sudo", ["-E", caddyPath, "run", "--config", caddyFilePath, "--watch"]) : (0, import_node_child_process4.spawn)(caddyPath, ["run", "--config", caddyFilePath, "--watch"]);
523
532
  lockfile.lockSync(caddyLockFilePath);
524
- child.on("error", (err) => {
533
+ this.caddyChild.on("error", (err) => {
525
534
  return reject(err);
526
535
  });
527
- child.stderr.on("data", (data) => {
536
+ (_a = this.caddyChild.stderr) == null ? void 0 : _a.on("data", (data) => {
528
537
  const lines = data.toString().split("\n").map((line) => line.trim());
529
538
  for (const line of lines) {
530
539
  showCaddyLog && line && console.info(line);
@@ -539,7 +548,7 @@ ${target.split(":")[0]}${https ? "" : ":80"} {
539
548
  return resolve();
540
549
  }
541
550
  });
542
- child.stdout.on("data", (_data) => {
551
+ (_b = this.caddyChild.stdout) == null ? void 0 : _b.on("data", (_data) => {
543
552
  consola.info(_data.toString());
544
553
  resolve();
545
554
  });
@@ -552,7 +561,9 @@ ${target.split(":")[0]}${https ? "" : ":80"} {
552
561
  });
553
562
  }
554
563
  async baseCleanup() {
564
+ var _a;
555
565
  if (!this.locked) {
566
+ (_a = this.caddyChild) == null ? void 0 : _a.kill();
556
567
  try {
557
568
  await lockfile.unlock(caddyLockFilePath);
558
569
  await (0, import_promises2.unlink)(caddyFilePath);
package/dist/rspack.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  src_default
3
- } from "./chunk-QMYDD3HL.js";
3
+ } from "./chunk-WCFY7NJQ.js";
4
4
  import "./chunk-2VGRJ3QS.js";
5
5
 
6
6
  // src/rspack.ts
package/dist/vite.cjs CHANGED
@@ -83,24 +83,21 @@ function isAdmin() {
83
83
  var import_node_os2 = require("os");
84
84
  var import_node_process4 = __toESM(require("process"), 1);
85
85
  var import_node_fs2 = require("fs");
86
- var import_node_child_process3 = require("child_process");
86
+ var import_node_child_process4 = require("child_process");
87
87
  var import_promises2 = require("fs/promises");
88
88
  var import_got_cjs = require("got-cjs");
89
89
  var import_http_proxy_agent = require("http-proxy-agent");
90
90
  var import_https_proxy_agent = require("https-proxy-agent");
91
- var import_kill_port = __toESM(require("kill-port"), 1);
92
91
  var lockfile = __toESM(require("proper-lockfile"), 1);
93
92
 
94
93
  // src/host/index.ts
95
94
  var import_node_process2 = __toESM(require("process"), 1);
96
95
  var import_node_child_process2 = require("child_process");
97
96
  var import_node_fs = require("fs");
98
- var import_hosts_so_easy = __toESM(require("hosts-so-easy"), 1);
99
- var Hosts = import_hosts_so_easy.default.default || import_hosts_so_easy.default;
100
- var hostInstance = new Hosts({
101
- debounceTime: 50,
102
- hostsFile: getPathOfSystemHostsPath()
103
- });
97
+ var import_node_util = require("util");
98
+ var import_hostile = __toESM(require("hostile"), 1);
99
+ var _setHost = (0, import_node_util.promisify)(import_hostile.default.set);
100
+ var _removeHost = (0, import_node_util.promisify)(import_hostile.default.remove);
104
101
  function getPathOfSystemHostsPath() {
105
102
  return import_node_process2.default.platform === "win32" ? `${import_node_process2.default.env.windir || "C:\\WINDOWS"}\\system32\\drivers\\etc\\hosts` : "/etc/hosts";
106
103
  }
@@ -121,20 +118,18 @@ async function syncHost() {
121
118
  async function addHost(ip, host) {
122
119
  if (import_node_process2.default.platform !== "win32")
123
120
  (0, import_node_fs.chmodSync)(getPathOfSystemHostsPath(), 511);
124
- hostInstance.add("127.0.0.1", "localhost");
125
- hostInstance.add(ip, host);
121
+ await _setHost("127.0.0.1", "localhost");
122
+ await _setHost(ip, host);
126
123
  if (ip === "localhost")
127
- hostInstance.add("127.0.0.1", host);
128
- await hostInstance.updateFinish();
124
+ await _setHost("127.0.0.1", host);
129
125
  return await syncHost();
130
126
  }
131
127
  async function removeHost(ip, host) {
132
128
  if (import_node_process2.default.platform !== "win32")
133
129
  (0, import_node_fs.chmodSync)(getPathOfSystemHostsPath(), 511);
134
- hostInstance.remove(ip, host);
130
+ await _removeHost(ip, host);
135
131
  if (ip === "localhost")
136
- hostInstance.remove("127.0.0.1", host);
137
- await hostInstance.updateFinish();
132
+ await _removeHost("127.0.0.1", host);
138
133
  return await syncHost();
139
134
  }
140
135
 
@@ -268,6 +263,7 @@ var supportList = [
268
263
 
269
264
  // src/caddy/utils.ts
270
265
  var import_node_net = require("net");
266
+ var import_node_child_process3 = require("child_process");
271
267
  var import_ora = __toESM(require("ora"), 1);
272
268
  var spinner;
273
269
  function tryPort(port) {
@@ -288,6 +284,18 @@ function tryPort(port) {
288
284
  }
289
285
  });
290
286
  }
287
+ async function kill(port) {
288
+ return new Promise((resolve, reject) => {
289
+ (0, import_node_child_process3.exec)(`npx @maxbo/free-port ${port} -s`, (err, stdout, stderr) => {
290
+ if (err) {
291
+ reject(err);
292
+ } else {
293
+ consola.log(stdout);
294
+ resolve();
295
+ }
296
+ });
297
+ });
298
+ }
291
299
  function getNumber(number) {
292
300
  if (number <= 0)
293
301
  return "0%";
@@ -371,7 +379,7 @@ function testCaddy() {
371
379
  if (!(0, import_node_fs2.existsSync)(caddyPath))
372
380
  return resolve(false);
373
381
  (0, import_node_fs2.chmodSync)(caddyPath, 511);
374
- const child = import_node_process4.default.platform === "win32" ? (0, import_node_child_process3.spawn)(caddyPath, []) : (0, import_node_child_process3.spawn)("sudo", ["-E", caddyPath]);
382
+ const child = import_node_process4.default.platform === "win32" ? (0, import_node_child_process4.spawn)(caddyPath, []) : (0, import_node_child_process4.spawn)("sudo", ["-E", caddyPath]);
375
383
  child.on("close", () => {
376
384
  return resolve(false);
377
385
  });
@@ -460,11 +468,12 @@ ${target.split(":")[0]}${https ? "" : ":80"} {
460
468
  (0, import_node_fs2.writeFileSync)(caddyLockFilePath, "");
461
469
  if (!this.locked) {
462
470
  if (await tryPort(443))
463
- await (0, import_kill_port.default)(443, "tcp");
471
+ await kill(443);
464
472
  if ((import_node_process4.default.platform === "win32" || !https) && await tryPort(80))
465
- await (0, import_kill_port.default)(80, "tcp");
473
+ await kill(80);
466
474
  }
467
475
  return new Promise((resolve, reject) => {
476
+ var _a, _b;
468
477
  const setupCleanup = () => {
469
478
  import_node_process4.default.on("SIGINT", async () => {
470
479
  if (!restore || this.stoped)
@@ -489,7 +498,7 @@ ${target.split(":")[0]}${https ? "" : ":80"} {
489
498
  import_node_process4.default.exit = async (code) => {
490
499
  const port = Number(source.split(":")[1]);
491
500
  if (!Number.isNaN(port) && await tryPort(port))
492
- await (0, import_kill_port.default)(port, "tcp");
501
+ await kill(port);
493
502
  const pwd = import_node_process4.default.cwd();
494
503
  const viteCacheDir = `${pwd}/node_modules/.vite`;
495
504
  if ((0, import_node_fs2.existsSync)(viteCacheDir))
@@ -520,12 +529,12 @@ ${target.split(":")[0]}${https ? "" : ":80"} {
520
529
  };
521
530
  };
522
531
  if (!this.locked) {
523
- const child = import_node_process4.default.platform !== "win32" ? (0, import_node_child_process3.spawn)("sudo", ["-E", caddyPath, "run", "--config", caddyFilePath, "--watch"]) : (0, import_node_child_process3.spawn)(caddyPath, ["run", "--config", caddyFilePath, "--watch"]);
532
+ this.caddyChild = import_node_process4.default.platform !== "win32" ? (0, import_node_child_process4.spawn)("sudo", ["-E", caddyPath, "run", "--config", caddyFilePath, "--watch"]) : (0, import_node_child_process4.spawn)(caddyPath, ["run", "--config", caddyFilePath, "--watch"]);
524
533
  lockfile.lockSync(caddyLockFilePath);
525
- child.on("error", (err) => {
534
+ this.caddyChild.on("error", (err) => {
526
535
  return reject(err);
527
536
  });
528
- child.stderr.on("data", (data) => {
537
+ (_a = this.caddyChild.stderr) == null ? void 0 : _a.on("data", (data) => {
529
538
  const lines = data.toString().split("\n").map((line) => line.trim());
530
539
  for (const line of lines) {
531
540
  showCaddyLog && line && console.info(line);
@@ -540,7 +549,7 @@ ${target.split(":")[0]}${https ? "" : ":80"} {
540
549
  return resolve();
541
550
  }
542
551
  });
543
- child.stdout.on("data", (_data) => {
552
+ (_b = this.caddyChild.stdout) == null ? void 0 : _b.on("data", (_data) => {
544
553
  consola.info(_data.toString());
545
554
  resolve();
546
555
  });
@@ -553,7 +562,9 @@ ${target.split(":")[0]}${https ? "" : ":80"} {
553
562
  });
554
563
  }
555
564
  async baseCleanup() {
565
+ var _a;
556
566
  if (!this.locked) {
567
+ (_a = this.caddyChild) == null ? void 0 : _a.kill();
557
568
  try {
558
569
  await lockfile.unlock(caddyLockFilePath);
559
570
  await (0, import_promises2.unlink)(caddyFilePath);
package/dist/vite.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  unpluginFactory
3
- } from "./chunk-QMYDD3HL.js";
3
+ } from "./chunk-WCFY7NJQ.js";
4
4
  import "./chunk-2VGRJ3QS.js";
5
5
 
6
6
  // src/vite.ts
package/dist/webpack.cjs CHANGED
@@ -83,24 +83,21 @@ function isAdmin() {
83
83
  var import_node_os2 = require("os");
84
84
  var import_node_process4 = __toESM(require("process"), 1);
85
85
  var import_node_fs2 = require("fs");
86
- var import_node_child_process3 = require("child_process");
86
+ var import_node_child_process4 = require("child_process");
87
87
  var import_promises2 = require("fs/promises");
88
88
  var import_got_cjs = require("got-cjs");
89
89
  var import_http_proxy_agent = require("http-proxy-agent");
90
90
  var import_https_proxy_agent = require("https-proxy-agent");
91
- var import_kill_port = __toESM(require("kill-port"), 1);
92
91
  var lockfile = __toESM(require("proper-lockfile"), 1);
93
92
 
94
93
  // src/host/index.ts
95
94
  var import_node_process2 = __toESM(require("process"), 1);
96
95
  var import_node_child_process2 = require("child_process");
97
96
  var import_node_fs = require("fs");
98
- var import_hosts_so_easy = __toESM(require("hosts-so-easy"), 1);
99
- var Hosts = import_hosts_so_easy.default.default || import_hosts_so_easy.default;
100
- var hostInstance = new Hosts({
101
- debounceTime: 50,
102
- hostsFile: getPathOfSystemHostsPath()
103
- });
97
+ var import_node_util = require("util");
98
+ var import_hostile = __toESM(require("hostile"), 1);
99
+ var _setHost = (0, import_node_util.promisify)(import_hostile.default.set);
100
+ var _removeHost = (0, import_node_util.promisify)(import_hostile.default.remove);
104
101
  function getPathOfSystemHostsPath() {
105
102
  return import_node_process2.default.platform === "win32" ? `${import_node_process2.default.env.windir || "C:\\WINDOWS"}\\system32\\drivers\\etc\\hosts` : "/etc/hosts";
106
103
  }
@@ -121,20 +118,18 @@ async function syncHost() {
121
118
  async function addHost(ip, host) {
122
119
  if (import_node_process2.default.platform !== "win32")
123
120
  (0, import_node_fs.chmodSync)(getPathOfSystemHostsPath(), 511);
124
- hostInstance.add("127.0.0.1", "localhost");
125
- hostInstance.add(ip, host);
121
+ await _setHost("127.0.0.1", "localhost");
122
+ await _setHost(ip, host);
126
123
  if (ip === "localhost")
127
- hostInstance.add("127.0.0.1", host);
128
- await hostInstance.updateFinish();
124
+ await _setHost("127.0.0.1", host);
129
125
  return await syncHost();
130
126
  }
131
127
  async function removeHost(ip, host) {
132
128
  if (import_node_process2.default.platform !== "win32")
133
129
  (0, import_node_fs.chmodSync)(getPathOfSystemHostsPath(), 511);
134
- hostInstance.remove(ip, host);
130
+ await _removeHost(ip, host);
135
131
  if (ip === "localhost")
136
- hostInstance.remove("127.0.0.1", host);
137
- await hostInstance.updateFinish();
132
+ await _removeHost("127.0.0.1", host);
138
133
  return await syncHost();
139
134
  }
140
135
 
@@ -268,6 +263,7 @@ var supportList = [
268
263
 
269
264
  // src/caddy/utils.ts
270
265
  var import_node_net = require("net");
266
+ var import_node_child_process3 = require("child_process");
271
267
  var import_ora = __toESM(require("ora"), 1);
272
268
  var spinner;
273
269
  function tryPort(port) {
@@ -288,6 +284,18 @@ function tryPort(port) {
288
284
  }
289
285
  });
290
286
  }
287
+ async function kill(port) {
288
+ return new Promise((resolve, reject) => {
289
+ (0, import_node_child_process3.exec)(`npx @maxbo/free-port ${port} -s`, (err, stdout, stderr) => {
290
+ if (err) {
291
+ reject(err);
292
+ } else {
293
+ consola.log(stdout);
294
+ resolve();
295
+ }
296
+ });
297
+ });
298
+ }
291
299
  function getNumber(number) {
292
300
  if (number <= 0)
293
301
  return "0%";
@@ -371,7 +379,7 @@ function testCaddy() {
371
379
  if (!(0, import_node_fs2.existsSync)(caddyPath))
372
380
  return resolve(false);
373
381
  (0, import_node_fs2.chmodSync)(caddyPath, 511);
374
- const child = import_node_process4.default.platform === "win32" ? (0, import_node_child_process3.spawn)(caddyPath, []) : (0, import_node_child_process3.spawn)("sudo", ["-E", caddyPath]);
382
+ const child = import_node_process4.default.platform === "win32" ? (0, import_node_child_process4.spawn)(caddyPath, []) : (0, import_node_child_process4.spawn)("sudo", ["-E", caddyPath]);
375
383
  child.on("close", () => {
376
384
  return resolve(false);
377
385
  });
@@ -460,11 +468,12 @@ ${target.split(":")[0]}${https ? "" : ":80"} {
460
468
  (0, import_node_fs2.writeFileSync)(caddyLockFilePath, "");
461
469
  if (!this.locked) {
462
470
  if (await tryPort(443))
463
- await (0, import_kill_port.default)(443, "tcp");
471
+ await kill(443);
464
472
  if ((import_node_process4.default.platform === "win32" || !https) && await tryPort(80))
465
- await (0, import_kill_port.default)(80, "tcp");
473
+ await kill(80);
466
474
  }
467
475
  return new Promise((resolve, reject) => {
476
+ var _a, _b;
468
477
  const setupCleanup = () => {
469
478
  import_node_process4.default.on("SIGINT", async () => {
470
479
  if (!restore || this.stoped)
@@ -489,7 +498,7 @@ ${target.split(":")[0]}${https ? "" : ":80"} {
489
498
  import_node_process4.default.exit = async (code) => {
490
499
  const port = Number(source.split(":")[1]);
491
500
  if (!Number.isNaN(port) && await tryPort(port))
492
- await (0, import_kill_port.default)(port, "tcp");
501
+ await kill(port);
493
502
  const pwd = import_node_process4.default.cwd();
494
503
  const viteCacheDir = `${pwd}/node_modules/.vite`;
495
504
  if ((0, import_node_fs2.existsSync)(viteCacheDir))
@@ -520,12 +529,12 @@ ${target.split(":")[0]}${https ? "" : ":80"} {
520
529
  };
521
530
  };
522
531
  if (!this.locked) {
523
- const child = import_node_process4.default.platform !== "win32" ? (0, import_node_child_process3.spawn)("sudo", ["-E", caddyPath, "run", "--config", caddyFilePath, "--watch"]) : (0, import_node_child_process3.spawn)(caddyPath, ["run", "--config", caddyFilePath, "--watch"]);
532
+ this.caddyChild = import_node_process4.default.platform !== "win32" ? (0, import_node_child_process4.spawn)("sudo", ["-E", caddyPath, "run", "--config", caddyFilePath, "--watch"]) : (0, import_node_child_process4.spawn)(caddyPath, ["run", "--config", caddyFilePath, "--watch"]);
524
533
  lockfile.lockSync(caddyLockFilePath);
525
- child.on("error", (err) => {
534
+ this.caddyChild.on("error", (err) => {
526
535
  return reject(err);
527
536
  });
528
- child.stderr.on("data", (data) => {
537
+ (_a = this.caddyChild.stderr) == null ? void 0 : _a.on("data", (data) => {
529
538
  const lines = data.toString().split("\n").map((line) => line.trim());
530
539
  for (const line of lines) {
531
540
  showCaddyLog && line && console.info(line);
@@ -540,7 +549,7 @@ ${target.split(":")[0]}${https ? "" : ":80"} {
540
549
  return resolve();
541
550
  }
542
551
  });
543
- child.stdout.on("data", (_data) => {
552
+ (_b = this.caddyChild.stdout) == null ? void 0 : _b.on("data", (_data) => {
544
553
  consola.info(_data.toString());
545
554
  resolve();
546
555
  });
@@ -553,7 +562,9 @@ ${target.split(":")[0]}${https ? "" : ":80"} {
553
562
  });
554
563
  }
555
564
  async baseCleanup() {
565
+ var _a;
556
566
  if (!this.locked) {
567
+ (_a = this.caddyChild) == null ? void 0 : _a.kill();
557
568
  try {
558
569
  await lockfile.unlock(caddyLockFilePath);
559
570
  await (0, import_promises2.unlink)(caddyFilePath);
package/dist/webpack.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  unpluginFactory
3
- } from "./chunk-QMYDD3HL.js";
3
+ } from "./chunk-WCFY7NJQ.js";
4
4
  import "./chunk-2VGRJ3QS.js";
5
5
 
6
6
  // src/webpack.ts