unplugin-https-reverse-proxy 1.0.0-beta.4 → 1.0.0-beta.7

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.cjs CHANGED
@@ -51,7 +51,6 @@ __export(src_exports, {
51
51
  });
52
52
  module.exports = __toCommonJS(src_exports);
53
53
  var import_node_process5 = __toESM(require("process"), 1);
54
- var import_node_fs3 = require("fs");
55
54
  var import_unplugin = require("unplugin");
56
55
  var import_picocolors = __toESM(require("picocolors"), 1);
57
56
 
@@ -95,7 +94,7 @@ function isAdmin() {
95
94
  }
96
95
 
97
96
  // src/caddy/index.ts
98
- var import_node_os = require("os");
97
+ var import_node_os2 = require("os");
99
98
  var import_node_process4 = __toESM(require("process"), 1);
100
99
  var import_node_fs2 = require("fs");
101
100
  var import_node_child_process3 = require("child_process");
@@ -153,8 +152,16 @@ async function removeHost(ip, host) {
153
152
 
154
153
  // src/caddy/constants.ts
155
154
  var import_node_path2 = require("path");
155
+ var import_node_os = __toESM(require("os"), 1);
156
156
  var import_node_process3 = __toESM(require("process"), 1);
157
- var TEMP_DIR = import_node_process3.default.env.TEMP || import_node_process3.default.env.TMPDIR || "/tmp";
157
+ var import_dotenv_flow = __toESM(require("dotenv-flow"), 1);
158
+ import_dotenv_flow.default.config();
159
+ function resolvePath(path2) {
160
+ if (path2.startsWith("~"))
161
+ return (0, import_node_path2.join)(import_node_os.default.homedir() || "", path2.slice(1));
162
+ return path2;
163
+ }
164
+ var TEMP_DIR = resolvePath(import_node_process3.default.env.UHRP_CADDY_PATH || import_node_process3.default.env.TEMP || import_node_process3.default.env.TMPDIR || "/tmp");
158
165
  var caddyPath = (0, import_node_path2.join)(TEMP_DIR, `caddy${import_node_process3.default.platform === "win32" ? ".exe" : ""}`);
159
166
  var caddyFilePath = (0, import_node_path2.join)(TEMP_DIR, "CADDYFILE");
160
167
  var supportList = [
@@ -328,8 +335,12 @@ async function download() {
328
335
  if (await testCaddy())
329
336
  return caddyPath;
330
337
  return new Promise((resolve, reject) => {
338
+ if (!(0, import_node_fs2.existsSync)(TEMP_DIR)) {
339
+ (0, import_node_fs2.mkdirSync)(TEMP_DIR, { recursive: true });
340
+ (0, import_node_fs2.chmodSync)(TEMP_DIR, 511);
341
+ }
331
342
  const file = (0, import_node_fs2.createWriteStream)(caddyPath);
332
- let _platform = (0, import_node_os.platform)().toString();
343
+ let _platform = (0, import_node_os2.platform)().toString();
333
344
  _platform === "win32" && (_platform = "windows");
334
345
  let _arch = import_node_process4.default.arch.toString();
335
346
  _arch === "x64" && (_arch = "amd64");
@@ -342,6 +353,9 @@ async function download() {
342
353
  const httpsProxy = import_node_process4.default.env.HTTPS_PROXY || import_node_process4.default.env.https_proxy;
343
354
  const httpAgent = httpProxy ? new import_http_proxy_agent.HttpProxyAgent(httpProxy) : void 0;
344
355
  const httpsAgent = httpsProxy ? new import_https_proxy_agent.HttpsProxyAgent(httpsProxy) : void 0;
356
+ const chmodCaddyOnce = once(() => {
357
+ (0, import_node_fs2.chmodSync)(caddyPath, 511);
358
+ });
345
359
  import_got_cjs.got.stream(dowmloadLink, {
346
360
  agent: {
347
361
  http: httpAgent,
@@ -349,11 +363,12 @@ async function download() {
349
363
  }
350
364
  }).on("downloadProgress", (progress) => {
351
365
  logProgress(progress.percent);
366
+ chmodCaddyOnce();
352
367
  }).pipe(file).on("finish", () => {
353
368
  logProgressOver();
354
369
  if (import_node_process4.default.platform === "win32")
355
370
  return resolve(caddyPath);
356
- (0, import_node_fs2.chmodSync)(caddyPath, 493);
371
+ (0, import_node_fs2.chmodSync)(caddyPath, 511);
357
372
  resolve(caddyPath);
358
373
  }).on("error", (err) => {
359
374
  reject(err);
@@ -364,7 +379,7 @@ function testCaddy() {
364
379
  return new Promise((resolve, reject) => {
365
380
  if (!(0, import_node_fs2.existsSync)(caddyPath))
366
381
  return resolve(false);
367
- (0, import_node_fs2.chmodSync)(caddyPath, 493);
382
+ (0, import_node_fs2.chmodSync)(caddyPath, 511);
368
383
  const child = import_node_process4.default.platform === "win32" ? (0, import_node_child_process3.spawn)(caddyPath, []) : (0, import_node_child_process3.spawn)("sudo", ["-E", caddyPath]);
369
384
  child.on("close", () => {
370
385
  return resolve(false);
@@ -439,6 +454,16 @@ var CaddyInstant = class {
439
454
  const port = Number(source.split(":")[1]);
440
455
  if (!Number.isNaN(port) && await tryPort(port))
441
456
  await (0, import_kill_port.default)(port, "tcp");
457
+ const pwd2 = import_node_process4.default.cwd();
458
+ const viteCacheDir = `${pwd2}/node_modules/.vite`;
459
+ if ((0, import_node_fs2.existsSync)(viteCacheDir))
460
+ chmodRecursive(viteCacheDir, 511);
461
+ const nuxtCacheDir = `${pwd2}/.nuxt`;
462
+ if ((0, import_node_fs2.existsSync)(nuxtCacheDir))
463
+ await chmodRecursive(nuxtCacheDir, 511);
464
+ const webpackCacheDir = `${pwd2}/node_modules/.cache`;
465
+ if ((0, import_node_fs2.existsSync)(webpackCacheDir))
466
+ chmodRecursive(webpackCacheDir, 511);
442
467
  if (!restore || this.stoped)
443
468
  return originalExit(code);
444
469
  try {
@@ -480,27 +505,17 @@ var caddy;
480
505
  var pwd = import_node_process5.default.cwd();
481
506
  var vitePrintUrls = once((options, source, target, base = "/", _printUrls) => {
482
507
  _printUrls == null ? void 0 : _printUrls();
483
- const viteCacheDir = `${pwd}/node_modules/.vite`;
484
- if ((0, import_node_fs3.existsSync)(viteCacheDir))
485
- chmodRecursive(viteCacheDir, 511);
486
- const nuxtCacheDir = `${pwd}/.nuxt`;
487
- if ((0, import_node_fs3.existsSync)(nuxtCacheDir))
488
- chmodRecursive(nuxtCacheDir, 511);
489
- try {
490
- if (caddy)
491
- return;
492
- caddy = new CaddyInstant();
493
- caddy.run(source, target, __spreadValues({
494
- base
495
- }, options)).then(() => {
496
- const colorUrl = (url) => import_picocolors.default.green(url.replace(/:(\d+)\//, (_, port) => `:${import_picocolors.default.bold(port)}/`));
497
- consola.success(` ${import_picocolors.default.green("\u279C")} ${import_picocolors.default.bold("run caddy reverse proxy success")}: ${colorUrl(`${options.https ? "https" : "http"}://${target}${base}`)}`);
498
- }).catch((e) => {
499
- throw e;
500
- });
501
- } catch (e) {
502
- consola.error(e);
503
- }
508
+ if (caddy)
509
+ return;
510
+ caddy = new CaddyInstant();
511
+ caddy.run(source, target, __spreadValues({
512
+ base
513
+ }, options)).then(() => {
514
+ const colorUrl = (url) => import_picocolors.default.green(url.replace(/:(\d+)\//, (_, port) => `:${import_picocolors.default.bold(port)}/`));
515
+ consola.success(` ${import_picocolors.default.green("\u279C")} ${import_picocolors.default.bold("run caddy reverse proxy success")}: ${colorUrl(`${options.https ? "https" : "http"}://${target}${base}`)}`);
516
+ }).catch((e) => {
517
+ throw e;
518
+ });
504
519
  });
505
520
  var unpluginFactory = (options) => ({
506
521
  name: "unplugin-https-reverse-proxy",
@@ -511,12 +526,12 @@ var unpluginFactory = (options) => ({
511
526
  },
512
527
  configureServer(server) {
513
528
  var _a;
529
+ if (config.command !== "serve")
530
+ return;
514
531
  if (!isAdmin()) {
515
532
  consola.warn("please run as administrator");
516
533
  return;
517
534
  }
518
- if (config.command === "build")
519
- return;
520
535
  const {
521
536
  enable = true,
522
537
  target = ""
@@ -540,12 +555,12 @@ var unpluginFactory = (options) => ({
540
555
  },
541
556
  webpack(compiler) {
542
557
  var _a;
558
+ if (import_node_process5.default.env.NODE_ENV !== "development")
559
+ return;
543
560
  if (!isAdmin()) {
544
561
  consola.warn("please run as administrator");
545
562
  return;
546
563
  }
547
- if (import_node_process5.default.env.NODE_ENV !== "development")
548
- return;
549
564
  const {
550
565
  enable = true,
551
566
  target = ""
@@ -556,39 +571,32 @@ var unpluginFactory = (options) => ({
556
571
  consola.fail("please provide target");
557
572
  return;
558
573
  }
559
- const nuxtCacheDir = `${pwd}/node_modules/.cache`;
560
- if ((0, import_node_fs3.existsSync)(nuxtCacheDir))
561
- chmodRecursive(nuxtCacheDir, 511);
562
- try {
563
- const devServer = __spreadValues(__spreadValues({
564
- host: "localhost",
565
- port: 8080
566
- }, compiler.options.devServer), import_node_process5.default.VUE_CLI_SERVICE.projectOptions.devServer);
567
- const source = `${devServer.host}:${devServer.port}`;
568
- if (caddy)
569
- return;
570
- const _close = (_a = compiler.close) == null ? void 0 : _a.bind(compiler);
571
- if (_close) {
572
- compiler.close = async (callback) => {
573
- import_node_process5.default.on("exit", () => {
574
- _close && _close(callback);
575
- });
576
- };
577
- } else {
578
- options.https = false;
579
- }
580
- caddy = new CaddyInstant();
581
- caddy.run(source, target, __spreadValues({}, options)).then(() => {
582
- const colorUrl = (url) => import_picocolors.default.green(url.replace(/:(\d+)\//, (_, port) => `:${import_picocolors.default.bold(port)}/`));
583
- compiler.hooks.done.tap("unplugin-https-reverse-proxy", () => {
584
- consola.success(` ${import_picocolors.default.green("\u279C")} ${import_picocolors.default.bold("run caddy reverse proxy success")}: ${colorUrl(`${options.https ? "https" : "http"}://${target}`)}`);
574
+ const devServer = __spreadValues(__spreadValues({
575
+ host: "localhost",
576
+ port: 8080
577
+ }, compiler.options.devServer), import_node_process5.default.VUE_CLI_SERVICE.projectOptions.devServer);
578
+ const source = `${devServer.host}:${devServer.port}`;
579
+ if (caddy)
580
+ return;
581
+ const _close = (_a = compiler.close) == null ? void 0 : _a.bind(compiler);
582
+ if (_close) {
583
+ compiler.close = async (callback) => {
584
+ import_node_process5.default.on("exit", () => {
585
+ _close && _close(callback);
585
586
  });
586
- }).catch((e) => {
587
- throw e;
588
- });
589
- } catch (e) {
590
- consola.error(e);
587
+ };
588
+ } else {
589
+ options.https = false;
591
590
  }
591
+ caddy = new CaddyInstant();
592
+ caddy.run(source, target, __spreadValues({}, options)).then(() => {
593
+ const colorUrl = (url) => import_picocolors.default.green(url.replace(/:(\d+)\//, (_, port) => `:${import_picocolors.default.bold(port)}/`));
594
+ compiler.hooks.done.tap("unplugin-https-reverse-proxy", () => {
595
+ consola.success(` ${import_picocolors.default.green("\u279C")} ${import_picocolors.default.bold("run caddy reverse proxy success")}: ${colorUrl(`${options.https ? "https" : "http"}://${target}`)}`);
596
+ });
597
+ }).catch((e) => {
598
+ throw e;
599
+ });
592
600
  }
593
601
  });
594
602
  var unplugin = /* @__PURE__ */ (0, import_unplugin.createUnplugin)(unpluginFactory);
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  unplugin,
4
4
  unpluginFactory,
5
5
  vitePrintUrls
6
- } from "./chunk-GAKOA5LE.js";
6
+ } from "./chunk-IUFVJYJ5.js";
7
7
  import "./chunk-RUJE3YFB.js";
8
8
  export {
9
9
  src_default as default,
package/dist/nuxt.cjs CHANGED
@@ -92,12 +92,11 @@ function isAdmin() {
92
92
 
93
93
  // src/index.ts
94
94
  var import_node_process5 = __toESM(require("process"), 1);
95
- var import_node_fs3 = require("fs");
96
95
  var import_unplugin = require("unplugin");
97
96
  var import_picocolors = __toESM(require("picocolors"), 1);
98
97
 
99
98
  // src/caddy/index.ts
100
- var import_node_os = require("os");
99
+ var import_node_os2 = require("os");
101
100
  var import_node_process4 = __toESM(require("process"), 1);
102
101
  var import_node_fs2 = require("fs");
103
102
  var import_node_child_process3 = require("child_process");
@@ -155,8 +154,16 @@ async function removeHost(ip, host) {
155
154
 
156
155
  // src/caddy/constants.ts
157
156
  var import_node_path2 = require("path");
157
+ var import_node_os = __toESM(require("os"), 1);
158
158
  var import_node_process3 = __toESM(require("process"), 1);
159
- var TEMP_DIR = import_node_process3.default.env.TEMP || import_node_process3.default.env.TMPDIR || "/tmp";
159
+ var import_dotenv_flow = __toESM(require("dotenv-flow"), 1);
160
+ import_dotenv_flow.default.config();
161
+ function resolvePath(path2) {
162
+ if (path2.startsWith("~"))
163
+ return (0, import_node_path2.join)(import_node_os.default.homedir() || "", path2.slice(1));
164
+ return path2;
165
+ }
166
+ var TEMP_DIR = resolvePath(import_node_process3.default.env.UHRP_CADDY_PATH || import_node_process3.default.env.TEMP || import_node_process3.default.env.TMPDIR || "/tmp");
160
167
  var caddyPath = (0, import_node_path2.join)(TEMP_DIR, `caddy${import_node_process3.default.platform === "win32" ? ".exe" : ""}`);
161
168
  var caddyFilePath = (0, import_node_path2.join)(TEMP_DIR, "CADDYFILE");
162
169
  var supportList = [
@@ -330,8 +337,12 @@ async function download() {
330
337
  if (await testCaddy())
331
338
  return caddyPath;
332
339
  return new Promise((resolve, reject) => {
340
+ if (!(0, import_node_fs2.existsSync)(TEMP_DIR)) {
341
+ (0, import_node_fs2.mkdirSync)(TEMP_DIR, { recursive: true });
342
+ (0, import_node_fs2.chmodSync)(TEMP_DIR, 511);
343
+ }
333
344
  const file = (0, import_node_fs2.createWriteStream)(caddyPath);
334
- let _platform = (0, import_node_os.platform)().toString();
345
+ let _platform = (0, import_node_os2.platform)().toString();
335
346
  _platform === "win32" && (_platform = "windows");
336
347
  let _arch = import_node_process4.default.arch.toString();
337
348
  _arch === "x64" && (_arch = "amd64");
@@ -344,6 +355,9 @@ async function download() {
344
355
  const httpsProxy = import_node_process4.default.env.HTTPS_PROXY || import_node_process4.default.env.https_proxy;
345
356
  const httpAgent = httpProxy ? new import_http_proxy_agent.HttpProxyAgent(httpProxy) : void 0;
346
357
  const httpsAgent = httpsProxy ? new import_https_proxy_agent.HttpsProxyAgent(httpsProxy) : void 0;
358
+ const chmodCaddyOnce = once(() => {
359
+ (0, import_node_fs2.chmodSync)(caddyPath, 511);
360
+ });
347
361
  import_got_cjs.got.stream(dowmloadLink, {
348
362
  agent: {
349
363
  http: httpAgent,
@@ -351,11 +365,12 @@ async function download() {
351
365
  }
352
366
  }).on("downloadProgress", (progress) => {
353
367
  logProgress(progress.percent);
368
+ chmodCaddyOnce();
354
369
  }).pipe(file).on("finish", () => {
355
370
  logProgressOver();
356
371
  if (import_node_process4.default.platform === "win32")
357
372
  return resolve(caddyPath);
358
- (0, import_node_fs2.chmodSync)(caddyPath, 493);
373
+ (0, import_node_fs2.chmodSync)(caddyPath, 511);
359
374
  resolve(caddyPath);
360
375
  }).on("error", (err) => {
361
376
  reject(err);
@@ -366,7 +381,7 @@ function testCaddy() {
366
381
  return new Promise((resolve, reject) => {
367
382
  if (!(0, import_node_fs2.existsSync)(caddyPath))
368
383
  return resolve(false);
369
- (0, import_node_fs2.chmodSync)(caddyPath, 493);
384
+ (0, import_node_fs2.chmodSync)(caddyPath, 511);
370
385
  const child = import_node_process4.default.platform === "win32" ? (0, import_node_child_process3.spawn)(caddyPath, []) : (0, import_node_child_process3.spawn)("sudo", ["-E", caddyPath]);
371
386
  child.on("close", () => {
372
387
  return resolve(false);
@@ -441,6 +456,16 @@ var CaddyInstant = class {
441
456
  const port = Number(source.split(":")[1]);
442
457
  if (!Number.isNaN(port) && await tryPort(port))
443
458
  await (0, import_kill_port.default)(port, "tcp");
459
+ const pwd2 = import_node_process4.default.cwd();
460
+ const viteCacheDir = `${pwd2}/node_modules/.vite`;
461
+ if ((0, import_node_fs2.existsSync)(viteCacheDir))
462
+ chmodRecursive(viteCacheDir, 511);
463
+ const nuxtCacheDir = `${pwd2}/.nuxt`;
464
+ if ((0, import_node_fs2.existsSync)(nuxtCacheDir))
465
+ await chmodRecursive(nuxtCacheDir, 511);
466
+ const webpackCacheDir = `${pwd2}/node_modules/.cache`;
467
+ if ((0, import_node_fs2.existsSync)(webpackCacheDir))
468
+ chmodRecursive(webpackCacheDir, 511);
444
469
  if (!restore || this.stoped)
445
470
  return originalExit(code);
446
471
  try {
@@ -481,27 +506,17 @@ var caddy;
481
506
  var pwd = import_node_process5.default.cwd();
482
507
  var vitePrintUrls = once((options, source, target, base = "/", _printUrls) => {
483
508
  _printUrls == null ? void 0 : _printUrls();
484
- const viteCacheDir = `${pwd}/node_modules/.vite`;
485
- if ((0, import_node_fs3.existsSync)(viteCacheDir))
486
- chmodRecursive(viteCacheDir, 511);
487
- const nuxtCacheDir = `${pwd}/.nuxt`;
488
- if ((0, import_node_fs3.existsSync)(nuxtCacheDir))
489
- chmodRecursive(nuxtCacheDir, 511);
490
- try {
491
- if (caddy)
492
- return;
493
- caddy = new CaddyInstant();
494
- caddy.run(source, target, __spreadValues({
495
- base
496
- }, options)).then(() => {
497
- const colorUrl = (url) => import_picocolors.default.green(url.replace(/:(\d+)\//, (_, port) => `:${import_picocolors.default.bold(port)}/`));
498
- consola.success(` ${import_picocolors.default.green("\u279C")} ${import_picocolors.default.bold("run caddy reverse proxy success")}: ${colorUrl(`${options.https ? "https" : "http"}://${target}${base}`)}`);
499
- }).catch((e) => {
500
- throw e;
501
- });
502
- } catch (e) {
503
- consola.error(e);
504
- }
509
+ if (caddy)
510
+ return;
511
+ caddy = new CaddyInstant();
512
+ caddy.run(source, target, __spreadValues({
513
+ base
514
+ }, options)).then(() => {
515
+ const colorUrl = (url) => import_picocolors.default.green(url.replace(/:(\d+)\//, (_, port) => `:${import_picocolors.default.bold(port)}/`));
516
+ consola.success(` ${import_picocolors.default.green("\u279C")} ${import_picocolors.default.bold("run caddy reverse proxy success")}: ${colorUrl(`${options.https ? "https" : "http"}://${target}${base}`)}`);
517
+ }).catch((e) => {
518
+ throw e;
519
+ });
505
520
  });
506
521
 
507
522
  // src/nuxt.ts
@@ -511,12 +526,12 @@ var nuxt_default = (0, import_kit.defineNuxtModule)({
511
526
  configKey: "unpluginHttpsReverseProxy"
512
527
  },
513
528
  setup(options, _nuxt) {
529
+ if (import_node_process6.default.env.NODE_ENV !== "development")
530
+ return;
514
531
  if (!isAdmin()) {
515
532
  consola.warn("please run as administrator");
516
533
  return;
517
534
  }
518
- if (import_node_process6.default.env.NODE_ENV !== "development")
519
- return;
520
535
  const {
521
536
  enable = true,
522
537
  target = ""
package/dist/nuxt.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  vitePrintUrls
3
- } from "./chunk-GAKOA5LE.js";
3
+ } from "./chunk-IUFVJYJ5.js";
4
4
  import {
5
5
  consola,
6
6
  isAdmin
@@ -16,12 +16,12 @@ var nuxt_default = defineNuxtModule({
16
16
  configKey: "unpluginHttpsReverseProxy"
17
17
  },
18
18
  setup(options, _nuxt) {
19
+ if (process.env.NODE_ENV !== "development")
20
+ return;
19
21
  if (!isAdmin()) {
20
22
  consola.warn("please run as administrator");
21
23
  return;
22
24
  }
23
- if (process.env.NODE_ENV !== "development")
24
- return;
25
25
  const {
26
26
  enable = true,
27
27
  target = ""
package/dist/rollup.cjs CHANGED
@@ -51,7 +51,6 @@ var import_unplugin2 = require("unplugin");
51
51
 
52
52
  // src/index.ts
53
53
  var import_node_process5 = __toESM(require("process"), 1);
54
- var import_node_fs3 = require("fs");
55
54
  var import_unplugin = require("unplugin");
56
55
  var import_picocolors = __toESM(require("picocolors"), 1);
57
56
 
@@ -95,7 +94,7 @@ function isAdmin() {
95
94
  }
96
95
 
97
96
  // src/caddy/index.ts
98
- var import_node_os = require("os");
97
+ var import_node_os2 = require("os");
99
98
  var import_node_process4 = __toESM(require("process"), 1);
100
99
  var import_node_fs2 = require("fs");
101
100
  var import_node_child_process3 = require("child_process");
@@ -153,8 +152,16 @@ async function removeHost(ip, host) {
153
152
 
154
153
  // src/caddy/constants.ts
155
154
  var import_node_path2 = require("path");
155
+ var import_node_os = __toESM(require("os"), 1);
156
156
  var import_node_process3 = __toESM(require("process"), 1);
157
- var TEMP_DIR = import_node_process3.default.env.TEMP || import_node_process3.default.env.TMPDIR || "/tmp";
157
+ var import_dotenv_flow = __toESM(require("dotenv-flow"), 1);
158
+ import_dotenv_flow.default.config();
159
+ function resolvePath(path2) {
160
+ if (path2.startsWith("~"))
161
+ return (0, import_node_path2.join)(import_node_os.default.homedir() || "", path2.slice(1));
162
+ return path2;
163
+ }
164
+ var TEMP_DIR = resolvePath(import_node_process3.default.env.UHRP_CADDY_PATH || import_node_process3.default.env.TEMP || import_node_process3.default.env.TMPDIR || "/tmp");
158
165
  var caddyPath = (0, import_node_path2.join)(TEMP_DIR, `caddy${import_node_process3.default.platform === "win32" ? ".exe" : ""}`);
159
166
  var caddyFilePath = (0, import_node_path2.join)(TEMP_DIR, "CADDYFILE");
160
167
  var supportList = [
@@ -328,8 +335,12 @@ async function download() {
328
335
  if (await testCaddy())
329
336
  return caddyPath;
330
337
  return new Promise((resolve, reject) => {
338
+ if (!(0, import_node_fs2.existsSync)(TEMP_DIR)) {
339
+ (0, import_node_fs2.mkdirSync)(TEMP_DIR, { recursive: true });
340
+ (0, import_node_fs2.chmodSync)(TEMP_DIR, 511);
341
+ }
331
342
  const file = (0, import_node_fs2.createWriteStream)(caddyPath);
332
- let _platform = (0, import_node_os.platform)().toString();
343
+ let _platform = (0, import_node_os2.platform)().toString();
333
344
  _platform === "win32" && (_platform = "windows");
334
345
  let _arch = import_node_process4.default.arch.toString();
335
346
  _arch === "x64" && (_arch = "amd64");
@@ -342,6 +353,9 @@ async function download() {
342
353
  const httpsProxy = import_node_process4.default.env.HTTPS_PROXY || import_node_process4.default.env.https_proxy;
343
354
  const httpAgent = httpProxy ? new import_http_proxy_agent.HttpProxyAgent(httpProxy) : void 0;
344
355
  const httpsAgent = httpsProxy ? new import_https_proxy_agent.HttpsProxyAgent(httpsProxy) : void 0;
356
+ const chmodCaddyOnce = once(() => {
357
+ (0, import_node_fs2.chmodSync)(caddyPath, 511);
358
+ });
345
359
  import_got_cjs.got.stream(dowmloadLink, {
346
360
  agent: {
347
361
  http: httpAgent,
@@ -349,11 +363,12 @@ async function download() {
349
363
  }
350
364
  }).on("downloadProgress", (progress) => {
351
365
  logProgress(progress.percent);
366
+ chmodCaddyOnce();
352
367
  }).pipe(file).on("finish", () => {
353
368
  logProgressOver();
354
369
  if (import_node_process4.default.platform === "win32")
355
370
  return resolve(caddyPath);
356
- (0, import_node_fs2.chmodSync)(caddyPath, 493);
371
+ (0, import_node_fs2.chmodSync)(caddyPath, 511);
357
372
  resolve(caddyPath);
358
373
  }).on("error", (err) => {
359
374
  reject(err);
@@ -364,7 +379,7 @@ function testCaddy() {
364
379
  return new Promise((resolve, reject) => {
365
380
  if (!(0, import_node_fs2.existsSync)(caddyPath))
366
381
  return resolve(false);
367
- (0, import_node_fs2.chmodSync)(caddyPath, 493);
382
+ (0, import_node_fs2.chmodSync)(caddyPath, 511);
368
383
  const child = import_node_process4.default.platform === "win32" ? (0, import_node_child_process3.spawn)(caddyPath, []) : (0, import_node_child_process3.spawn)("sudo", ["-E", caddyPath]);
369
384
  child.on("close", () => {
370
385
  return resolve(false);
@@ -439,6 +454,16 @@ var CaddyInstant = class {
439
454
  const port = Number(source.split(":")[1]);
440
455
  if (!Number.isNaN(port) && await tryPort(port))
441
456
  await (0, import_kill_port.default)(port, "tcp");
457
+ const pwd2 = import_node_process4.default.cwd();
458
+ const viteCacheDir = `${pwd2}/node_modules/.vite`;
459
+ if ((0, import_node_fs2.existsSync)(viteCacheDir))
460
+ chmodRecursive(viteCacheDir, 511);
461
+ const nuxtCacheDir = `${pwd2}/.nuxt`;
462
+ if ((0, import_node_fs2.existsSync)(nuxtCacheDir))
463
+ await chmodRecursive(nuxtCacheDir, 511);
464
+ const webpackCacheDir = `${pwd2}/node_modules/.cache`;
465
+ if ((0, import_node_fs2.existsSync)(webpackCacheDir))
466
+ chmodRecursive(webpackCacheDir, 511);
442
467
  if (!restore || this.stoped)
443
468
  return originalExit(code);
444
469
  try {
@@ -480,27 +505,17 @@ var caddy;
480
505
  var pwd = import_node_process5.default.cwd();
481
506
  var vitePrintUrls = once((options, source, target, base = "/", _printUrls) => {
482
507
  _printUrls == null ? void 0 : _printUrls();
483
- const viteCacheDir = `${pwd}/node_modules/.vite`;
484
- if ((0, import_node_fs3.existsSync)(viteCacheDir))
485
- chmodRecursive(viteCacheDir, 511);
486
- const nuxtCacheDir = `${pwd}/.nuxt`;
487
- if ((0, import_node_fs3.existsSync)(nuxtCacheDir))
488
- chmodRecursive(nuxtCacheDir, 511);
489
- try {
490
- if (caddy)
491
- return;
492
- caddy = new CaddyInstant();
493
- caddy.run(source, target, __spreadValues({
494
- base
495
- }, options)).then(() => {
496
- const colorUrl = (url) => import_picocolors.default.green(url.replace(/:(\d+)\//, (_, port) => `:${import_picocolors.default.bold(port)}/`));
497
- consola.success(` ${import_picocolors.default.green("\u279C")} ${import_picocolors.default.bold("run caddy reverse proxy success")}: ${colorUrl(`${options.https ? "https" : "http"}://${target}${base}`)}`);
498
- }).catch((e) => {
499
- throw e;
500
- });
501
- } catch (e) {
502
- consola.error(e);
503
- }
508
+ if (caddy)
509
+ return;
510
+ caddy = new CaddyInstant();
511
+ caddy.run(source, target, __spreadValues({
512
+ base
513
+ }, options)).then(() => {
514
+ const colorUrl = (url) => import_picocolors.default.green(url.replace(/:(\d+)\//, (_, port) => `:${import_picocolors.default.bold(port)}/`));
515
+ consola.success(` ${import_picocolors.default.green("\u279C")} ${import_picocolors.default.bold("run caddy reverse proxy success")}: ${colorUrl(`${options.https ? "https" : "http"}://${target}${base}`)}`);
516
+ }).catch((e) => {
517
+ throw e;
518
+ });
504
519
  });
505
520
  var unpluginFactory = (options) => ({
506
521
  name: "unplugin-https-reverse-proxy",
@@ -511,12 +526,12 @@ var unpluginFactory = (options) => ({
511
526
  },
512
527
  configureServer(server) {
513
528
  var _a;
529
+ if (config.command !== "serve")
530
+ return;
514
531
  if (!isAdmin()) {
515
532
  consola.warn("please run as administrator");
516
533
  return;
517
534
  }
518
- if (config.command === "build")
519
- return;
520
535
  const {
521
536
  enable = true,
522
537
  target = ""
@@ -540,12 +555,12 @@ var unpluginFactory = (options) => ({
540
555
  },
541
556
  webpack(compiler) {
542
557
  var _a;
558
+ if (import_node_process5.default.env.NODE_ENV !== "development")
559
+ return;
543
560
  if (!isAdmin()) {
544
561
  consola.warn("please run as administrator");
545
562
  return;
546
563
  }
547
- if (import_node_process5.default.env.NODE_ENV !== "development")
548
- return;
549
564
  const {
550
565
  enable = true,
551
566
  target = ""
@@ -556,39 +571,32 @@ var unpluginFactory = (options) => ({
556
571
  consola.fail("please provide target");
557
572
  return;
558
573
  }
559
- const nuxtCacheDir = `${pwd}/node_modules/.cache`;
560
- if ((0, import_node_fs3.existsSync)(nuxtCacheDir))
561
- chmodRecursive(nuxtCacheDir, 511);
562
- try {
563
- const devServer = __spreadValues(__spreadValues({
564
- host: "localhost",
565
- port: 8080
566
- }, compiler.options.devServer), import_node_process5.default.VUE_CLI_SERVICE.projectOptions.devServer);
567
- const source = `${devServer.host}:${devServer.port}`;
568
- if (caddy)
569
- return;
570
- const _close = (_a = compiler.close) == null ? void 0 : _a.bind(compiler);
571
- if (_close) {
572
- compiler.close = async (callback) => {
573
- import_node_process5.default.on("exit", () => {
574
- _close && _close(callback);
575
- });
576
- };
577
- } else {
578
- options.https = false;
579
- }
580
- caddy = new CaddyInstant();
581
- caddy.run(source, target, __spreadValues({}, options)).then(() => {
582
- const colorUrl = (url) => import_picocolors.default.green(url.replace(/:(\d+)\//, (_, port) => `:${import_picocolors.default.bold(port)}/`));
583
- compiler.hooks.done.tap("unplugin-https-reverse-proxy", () => {
584
- consola.success(` ${import_picocolors.default.green("\u279C")} ${import_picocolors.default.bold("run caddy reverse proxy success")}: ${colorUrl(`${options.https ? "https" : "http"}://${target}`)}`);
574
+ const devServer = __spreadValues(__spreadValues({
575
+ host: "localhost",
576
+ port: 8080
577
+ }, compiler.options.devServer), import_node_process5.default.VUE_CLI_SERVICE.projectOptions.devServer);
578
+ const source = `${devServer.host}:${devServer.port}`;
579
+ if (caddy)
580
+ return;
581
+ const _close = (_a = compiler.close) == null ? void 0 : _a.bind(compiler);
582
+ if (_close) {
583
+ compiler.close = async (callback) => {
584
+ import_node_process5.default.on("exit", () => {
585
+ _close && _close(callback);
585
586
  });
586
- }).catch((e) => {
587
- throw e;
588
- });
589
- } catch (e) {
590
- consola.error(e);
587
+ };
588
+ } else {
589
+ options.https = false;
591
590
  }
591
+ caddy = new CaddyInstant();
592
+ caddy.run(source, target, __spreadValues({}, options)).then(() => {
593
+ const colorUrl = (url) => import_picocolors.default.green(url.replace(/:(\d+)\//, (_, port) => `:${import_picocolors.default.bold(port)}/`));
594
+ compiler.hooks.done.tap("unplugin-https-reverse-proxy", () => {
595
+ consola.success(` ${import_picocolors.default.green("\u279C")} ${import_picocolors.default.bold("run caddy reverse proxy success")}: ${colorUrl(`${options.https ? "https" : "http"}://${target}`)}`);
596
+ });
597
+ }).catch((e) => {
598
+ throw e;
599
+ });
592
600
  }
593
601
  });
594
602
 
package/dist/rollup.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  unpluginFactory
3
- } from "./chunk-GAKOA5LE.js";
3
+ } from "./chunk-IUFVJYJ5.js";
4
4
  import "./chunk-RUJE3YFB.js";
5
5
 
6
6
  // src/rollup.ts