unplugin-https-reverse-proxy 1.0.0-beta.6 → 1.0.0-beta.8

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
@@ -6,6 +6,15 @@ A plugin for https reverse proxy, support `vite` and `webpack`.
6
6
 
7
7
  ## Install
8
8
 
9
+
10
+ Support set caddy file path by environment variable `UHRP_CADDY_PATH`, default is system cache folder.
11
+
12
+ ```env
13
+ #.env.local
14
+ UHRP_CADDY_PATH=~/tmp/.uhrp
15
+ ```
16
+
17
+
9
18
  ```bash
10
19
  # not auto install caddy when postinstall
11
20
  npm i unplugin-https-reverse-proxy --save-dev
@@ -70,8 +70,18 @@ async function removeHost(ip, host) {
70
70
 
71
71
  // src/caddy/constants.ts
72
72
  import { join } from "path";
73
+ import os from "os";
73
74
  import process2 from "process";
74
- var TEMP_DIR = process2.env.UHRP_CADDY_PATH || process2.env.TEMP || process2.env.TMPDIR || "/tmp";
75
+ import dotenvFlow from "dotenv-flow";
76
+ dotenvFlow.config({
77
+ silent: true
78
+ });
79
+ function resolvePath(path) {
80
+ if (path.startsWith("~"))
81
+ return join(os.homedir() || "", path.slice(1));
82
+ return path;
83
+ }
84
+ var TEMP_DIR = resolvePath(process2.env.UHRP_CADDY_PATH || process2.env.TEMP || process2.env.TMPDIR || "/tmp");
75
85
  var caddyPath = join(TEMP_DIR, `caddy${process2.platform === "win32" ? ".exe" : ""}`);
76
86
  var caddyFilePath = join(TEMP_DIR, "CADDYFILE");
77
87
  var supportList = [
@@ -289,7 +299,7 @@ function testCaddy() {
289
299
  return new Promise((resolve, reject) => {
290
300
  if (!existsSync(caddyPath))
291
301
  return resolve(false);
292
- chmodSync2(caddyPath, 493);
302
+ chmodSync2(caddyPath, 511);
293
303
  const child = process3.platform === "win32" ? spawn(caddyPath, []) : spawn("sudo", ["-E", caddyPath]);
294
304
  child.on("close", () => {
295
305
  return resolve(false);
package/dist/esbuild.cjs CHANGED
@@ -94,7 +94,7 @@ function isAdmin() {
94
94
  }
95
95
 
96
96
  // src/caddy/index.ts
97
- var import_node_os = require("os");
97
+ var import_node_os2 = require("os");
98
98
  var import_node_process4 = __toESM(require("process"), 1);
99
99
  var import_node_fs2 = require("fs");
100
100
  var import_node_child_process3 = require("child_process");
@@ -152,8 +152,18 @@ async function removeHost(ip, host) {
152
152
 
153
153
  // src/caddy/constants.ts
154
154
  var import_node_path2 = require("path");
155
+ var import_node_os = __toESM(require("os"), 1);
155
156
  var import_node_process3 = __toESM(require("process"), 1);
156
- var TEMP_DIR = import_node_process3.default.env.UHRP_CADDY_PATH || 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
+ silent: true
160
+ });
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");
157
167
  var caddyPath = (0, import_node_path2.join)(TEMP_DIR, `caddy${import_node_process3.default.platform === "win32" ? ".exe" : ""}`);
158
168
  var caddyFilePath = (0, import_node_path2.join)(TEMP_DIR, "CADDYFILE");
159
169
  var supportList = [
@@ -332,7 +342,7 @@ async function download() {
332
342
  (0, import_node_fs2.chmodSync)(TEMP_DIR, 511);
333
343
  }
334
344
  const file = (0, import_node_fs2.createWriteStream)(caddyPath);
335
- let _platform = (0, import_node_os.platform)().toString();
345
+ let _platform = (0, import_node_os2.platform)().toString();
336
346
  _platform === "win32" && (_platform = "windows");
337
347
  let _arch = import_node_process4.default.arch.toString();
338
348
  _arch === "x64" && (_arch = "amd64");
@@ -371,7 +381,7 @@ function testCaddy() {
371
381
  return new Promise((resolve, reject) => {
372
382
  if (!(0, import_node_fs2.existsSync)(caddyPath))
373
383
  return resolve(false);
374
- (0, import_node_fs2.chmodSync)(caddyPath, 493);
384
+ (0, import_node_fs2.chmodSync)(caddyPath, 511);
375
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]);
376
386
  child.on("close", () => {
377
387
  return resolve(false);
package/dist/esbuild.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  unpluginFactory
3
- } from "./chunk-NBFRMP2Y.js";
3
+ } from "./chunk-AYUGOY4B.js";
4
4
  import "./chunk-RUJE3YFB.js";
5
5
 
6
6
  // src/esbuild.ts
package/dist/index.cjs CHANGED
@@ -94,7 +94,7 @@ function isAdmin() {
94
94
  }
95
95
 
96
96
  // src/caddy/index.ts
97
- var import_node_os = require("os");
97
+ var import_node_os2 = require("os");
98
98
  var import_node_process4 = __toESM(require("process"), 1);
99
99
  var import_node_fs2 = require("fs");
100
100
  var import_node_child_process3 = require("child_process");
@@ -152,8 +152,18 @@ async function removeHost(ip, host) {
152
152
 
153
153
  // src/caddy/constants.ts
154
154
  var import_node_path2 = require("path");
155
+ var import_node_os = __toESM(require("os"), 1);
155
156
  var import_node_process3 = __toESM(require("process"), 1);
156
- var TEMP_DIR = import_node_process3.default.env.UHRP_CADDY_PATH || 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
+ silent: true
160
+ });
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");
157
167
  var caddyPath = (0, import_node_path2.join)(TEMP_DIR, `caddy${import_node_process3.default.platform === "win32" ? ".exe" : ""}`);
158
168
  var caddyFilePath = (0, import_node_path2.join)(TEMP_DIR, "CADDYFILE");
159
169
  var supportList = [
@@ -332,7 +342,7 @@ async function download() {
332
342
  (0, import_node_fs2.chmodSync)(TEMP_DIR, 511);
333
343
  }
334
344
  const file = (0, import_node_fs2.createWriteStream)(caddyPath);
335
- let _platform = (0, import_node_os.platform)().toString();
345
+ let _platform = (0, import_node_os2.platform)().toString();
336
346
  _platform === "win32" && (_platform = "windows");
337
347
  let _arch = import_node_process4.default.arch.toString();
338
348
  _arch === "x64" && (_arch = "amd64");
@@ -371,7 +381,7 @@ function testCaddy() {
371
381
  return new Promise((resolve, reject) => {
372
382
  if (!(0, import_node_fs2.existsSync)(caddyPath))
373
383
  return resolve(false);
374
- (0, import_node_fs2.chmodSync)(caddyPath, 493);
384
+ (0, import_node_fs2.chmodSync)(caddyPath, 511);
375
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]);
376
386
  child.on("close", () => {
377
387
  return resolve(false);
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  unplugin,
4
4
  unpluginFactory,
5
5
  vitePrintUrls
6
- } from "./chunk-NBFRMP2Y.js";
6
+ } from "./chunk-AYUGOY4B.js";
7
7
  import "./chunk-RUJE3YFB.js";
8
8
  export {
9
9
  src_default as default,
package/dist/nuxt.cjs CHANGED
@@ -96,7 +96,7 @@ var import_unplugin = require("unplugin");
96
96
  var import_picocolors = __toESM(require("picocolors"), 1);
97
97
 
98
98
  // src/caddy/index.ts
99
- var import_node_os = require("os");
99
+ var import_node_os2 = require("os");
100
100
  var import_node_process4 = __toESM(require("process"), 1);
101
101
  var import_node_fs2 = require("fs");
102
102
  var import_node_child_process3 = require("child_process");
@@ -154,8 +154,18 @@ async function removeHost(ip, host) {
154
154
 
155
155
  // src/caddy/constants.ts
156
156
  var import_node_path2 = require("path");
157
+ var import_node_os = __toESM(require("os"), 1);
157
158
  var import_node_process3 = __toESM(require("process"), 1);
158
- var TEMP_DIR = import_node_process3.default.env.UHRP_CADDY_PATH || 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
+ silent: true
162
+ });
163
+ function resolvePath(path2) {
164
+ if (path2.startsWith("~"))
165
+ return (0, import_node_path2.join)(import_node_os.default.homedir() || "", path2.slice(1));
166
+ return path2;
167
+ }
168
+ 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");
159
169
  var caddyPath = (0, import_node_path2.join)(TEMP_DIR, `caddy${import_node_process3.default.platform === "win32" ? ".exe" : ""}`);
160
170
  var caddyFilePath = (0, import_node_path2.join)(TEMP_DIR, "CADDYFILE");
161
171
  var supportList = [
@@ -334,7 +344,7 @@ async function download() {
334
344
  (0, import_node_fs2.chmodSync)(TEMP_DIR, 511);
335
345
  }
336
346
  const file = (0, import_node_fs2.createWriteStream)(caddyPath);
337
- let _platform = (0, import_node_os.platform)().toString();
347
+ let _platform = (0, import_node_os2.platform)().toString();
338
348
  _platform === "win32" && (_platform = "windows");
339
349
  let _arch = import_node_process4.default.arch.toString();
340
350
  _arch === "x64" && (_arch = "amd64");
@@ -373,7 +383,7 @@ function testCaddy() {
373
383
  return new Promise((resolve, reject) => {
374
384
  if (!(0, import_node_fs2.existsSync)(caddyPath))
375
385
  return resolve(false);
376
- (0, import_node_fs2.chmodSync)(caddyPath, 493);
386
+ (0, import_node_fs2.chmodSync)(caddyPath, 511);
377
387
  const child = import_node_process4.default.platform === "win32" ? (0, import_node_child_process3.spawn)(caddyPath, []) : (0, import_node_child_process3.spawn)("sudo", ["-E", caddyPath]);
378
388
  child.on("close", () => {
379
389
  return resolve(false);
package/dist/nuxt.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  vitePrintUrls
3
- } from "./chunk-NBFRMP2Y.js";
3
+ } from "./chunk-AYUGOY4B.js";
4
4
  import {
5
5
  consola,
6
6
  isAdmin
package/dist/rollup.cjs CHANGED
@@ -94,7 +94,7 @@ function isAdmin() {
94
94
  }
95
95
 
96
96
  // src/caddy/index.ts
97
- var import_node_os = require("os");
97
+ var import_node_os2 = require("os");
98
98
  var import_node_process4 = __toESM(require("process"), 1);
99
99
  var import_node_fs2 = require("fs");
100
100
  var import_node_child_process3 = require("child_process");
@@ -152,8 +152,18 @@ async function removeHost(ip, host) {
152
152
 
153
153
  // src/caddy/constants.ts
154
154
  var import_node_path2 = require("path");
155
+ var import_node_os = __toESM(require("os"), 1);
155
156
  var import_node_process3 = __toESM(require("process"), 1);
156
- var TEMP_DIR = import_node_process3.default.env.UHRP_CADDY_PATH || 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
+ silent: true
160
+ });
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");
157
167
  var caddyPath = (0, import_node_path2.join)(TEMP_DIR, `caddy${import_node_process3.default.platform === "win32" ? ".exe" : ""}`);
158
168
  var caddyFilePath = (0, import_node_path2.join)(TEMP_DIR, "CADDYFILE");
159
169
  var supportList = [
@@ -332,7 +342,7 @@ async function download() {
332
342
  (0, import_node_fs2.chmodSync)(TEMP_DIR, 511);
333
343
  }
334
344
  const file = (0, import_node_fs2.createWriteStream)(caddyPath);
335
- let _platform = (0, import_node_os.platform)().toString();
345
+ let _platform = (0, import_node_os2.platform)().toString();
336
346
  _platform === "win32" && (_platform = "windows");
337
347
  let _arch = import_node_process4.default.arch.toString();
338
348
  _arch === "x64" && (_arch = "amd64");
@@ -371,7 +381,7 @@ function testCaddy() {
371
381
  return new Promise((resolve, reject) => {
372
382
  if (!(0, import_node_fs2.existsSync)(caddyPath))
373
383
  return resolve(false);
374
- (0, import_node_fs2.chmodSync)(caddyPath, 493);
384
+ (0, import_node_fs2.chmodSync)(caddyPath, 511);
375
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]);
376
386
  child.on("close", () => {
377
387
  return resolve(false);
package/dist/rollup.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  unpluginFactory
3
- } from "./chunk-NBFRMP2Y.js";
3
+ } from "./chunk-AYUGOY4B.js";
4
4
  import "./chunk-RUJE3YFB.js";
5
5
 
6
6
  // src/rollup.ts
package/dist/vite.cjs CHANGED
@@ -94,7 +94,7 @@ function isAdmin() {
94
94
  }
95
95
 
96
96
  // src/caddy/index.ts
97
- var import_node_os = require("os");
97
+ var import_node_os2 = require("os");
98
98
  var import_node_process4 = __toESM(require("process"), 1);
99
99
  var import_node_fs2 = require("fs");
100
100
  var import_node_child_process3 = require("child_process");
@@ -152,8 +152,18 @@ async function removeHost(ip, host) {
152
152
 
153
153
  // src/caddy/constants.ts
154
154
  var import_node_path2 = require("path");
155
+ var import_node_os = __toESM(require("os"), 1);
155
156
  var import_node_process3 = __toESM(require("process"), 1);
156
- var TEMP_DIR = import_node_process3.default.env.UHRP_CADDY_PATH || 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
+ silent: true
160
+ });
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");
157
167
  var caddyPath = (0, import_node_path2.join)(TEMP_DIR, `caddy${import_node_process3.default.platform === "win32" ? ".exe" : ""}`);
158
168
  var caddyFilePath = (0, import_node_path2.join)(TEMP_DIR, "CADDYFILE");
159
169
  var supportList = [
@@ -332,7 +342,7 @@ async function download() {
332
342
  (0, import_node_fs2.chmodSync)(TEMP_DIR, 511);
333
343
  }
334
344
  const file = (0, import_node_fs2.createWriteStream)(caddyPath);
335
- let _platform = (0, import_node_os.platform)().toString();
345
+ let _platform = (0, import_node_os2.platform)().toString();
336
346
  _platform === "win32" && (_platform = "windows");
337
347
  let _arch = import_node_process4.default.arch.toString();
338
348
  _arch === "x64" && (_arch = "amd64");
@@ -371,7 +381,7 @@ function testCaddy() {
371
381
  return new Promise((resolve, reject) => {
372
382
  if (!(0, import_node_fs2.existsSync)(caddyPath))
373
383
  return resolve(false);
374
- (0, import_node_fs2.chmodSync)(caddyPath, 493);
384
+ (0, import_node_fs2.chmodSync)(caddyPath, 511);
375
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]);
376
386
  child.on("close", () => {
377
387
  return resolve(false);
package/dist/vite.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  unpluginFactory
3
- } from "./chunk-NBFRMP2Y.js";
3
+ } from "./chunk-AYUGOY4B.js";
4
4
  import "./chunk-RUJE3YFB.js";
5
5
 
6
6
  // src/vite.ts
package/dist/webpack.cjs CHANGED
@@ -94,7 +94,7 @@ function isAdmin() {
94
94
  }
95
95
 
96
96
  // src/caddy/index.ts
97
- var import_node_os = require("os");
97
+ var import_node_os2 = require("os");
98
98
  var import_node_process4 = __toESM(require("process"), 1);
99
99
  var import_node_fs2 = require("fs");
100
100
  var import_node_child_process3 = require("child_process");
@@ -152,8 +152,18 @@ async function removeHost(ip, host) {
152
152
 
153
153
  // src/caddy/constants.ts
154
154
  var import_node_path2 = require("path");
155
+ var import_node_os = __toESM(require("os"), 1);
155
156
  var import_node_process3 = __toESM(require("process"), 1);
156
- var TEMP_DIR = import_node_process3.default.env.UHRP_CADDY_PATH || 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
+ silent: true
160
+ });
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");
157
167
  var caddyPath = (0, import_node_path2.join)(TEMP_DIR, `caddy${import_node_process3.default.platform === "win32" ? ".exe" : ""}`);
158
168
  var caddyFilePath = (0, import_node_path2.join)(TEMP_DIR, "CADDYFILE");
159
169
  var supportList = [
@@ -332,7 +342,7 @@ async function download() {
332
342
  (0, import_node_fs2.chmodSync)(TEMP_DIR, 511);
333
343
  }
334
344
  const file = (0, import_node_fs2.createWriteStream)(caddyPath);
335
- let _platform = (0, import_node_os.platform)().toString();
345
+ let _platform = (0, import_node_os2.platform)().toString();
336
346
  _platform === "win32" && (_platform = "windows");
337
347
  let _arch = import_node_process4.default.arch.toString();
338
348
  _arch === "x64" && (_arch = "amd64");
@@ -371,7 +381,7 @@ function testCaddy() {
371
381
  return new Promise((resolve, reject) => {
372
382
  if (!(0, import_node_fs2.existsSync)(caddyPath))
373
383
  return resolve(false);
374
- (0, import_node_fs2.chmodSync)(caddyPath, 493);
384
+ (0, import_node_fs2.chmodSync)(caddyPath, 511);
375
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]);
376
386
  child.on("close", () => {
377
387
  return resolve(false);
package/dist/webpack.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  unpluginFactory
3
- } from "./chunk-NBFRMP2Y.js";
3
+ } from "./chunk-AYUGOY4B.js";
4
4
  import "./chunk-RUJE3YFB.js";
5
5
 
6
6
  // src/webpack.ts
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "unplugin-https-reverse-proxy",
3
3
  "type": "module",
4
- "version": "1.0.0-beta.6",
4
+ "version": "1.0.0-beta.8",
5
5
  "packageManager": "pnpm@8.6.12",
6
6
  "description": "",
7
7
  "license": "MIT",
@@ -104,7 +104,7 @@
104
104
  },
105
105
  "dependencies": {
106
106
  "consola": "^3.2.3",
107
- "esno": "^0.17.0",
107
+ "dotenv-flow": "^4.1.0",
108
108
  "got-cjs": "^12.5.4",
109
109
  "hosts-so-easy": "^1.2.9",
110
110
  "http-proxy-agent": "^7.0.0",
@@ -112,6 +112,7 @@
112
112
  "kill-port": "^2.0.1",
113
113
  "ora": "5",
114
114
  "picocolors": "^1.0.0",
115
+ "tsx": "^4.7.0",
115
116
  "unplugin": "^1.4.0"
116
117
  },
117
118
  "devDependencies": {
@@ -135,17 +136,17 @@
135
136
  "webpack": "^5.88.2"
136
137
  },
137
138
  "scripts": {
138
- "postinstall": "esno scripts/postinstall.ts",
139
+ "postinstall": "tsx scripts/postinstall.ts",
139
140
  "build": "tsup",
140
141
  "dev": "tsup --watch src",
141
- "build:fix": "esno scripts/postbuild.ts",
142
+ "build:fix": "tsx scripts/postbuild.ts",
142
143
  "lint": "eslint .",
143
144
  "play": "npm -C examples/vite run dev",
144
145
  "play:nuxt": "npm -C examples/nuxt run dev",
145
146
  "play:vuecli": "npm -C examples/vuecli run serve",
146
147
  "play:vuecli4": "npm -C examples/vuecli4 run serve",
147
148
  "release": "bumpp",
148
- "start": "esno src/index.ts",
149
+ "start": "tsx src/index.ts",
149
150
  "test": "vitest"
150
151
  }
151
152
  }
@@ -1,7 +1,19 @@
1
1
  import { join } from 'node:path'
2
+ import os from 'node:os'
2
3
  import process from 'node:process'
4
+ import dotenvFlow from 'dotenv-flow'
3
5
 
4
- export const TEMP_DIR = process.env.UHRP_CADDY_PATH || process.env.TEMP || process.env.TMPDIR || '/tmp'
6
+ dotenvFlow.config({
7
+ silent: true,
8
+ })
9
+
10
+ function resolvePath(path: string) {
11
+ if (path.startsWith('~'))
12
+ return join(os.homedir() || '', path.slice(1))
13
+ return path
14
+ }
15
+
16
+ export const TEMP_DIR = resolvePath(process.env.UHRP_CADDY_PATH || process.env.TEMP || process.env.TMPDIR || '/tmp')
5
17
  export const caddyPath = join(TEMP_DIR, `caddy${process.platform === 'win32' ? '.exe' : ''}`)
6
18
  export const caddyFilePath = join(TEMP_DIR, 'CADDYFILE')
7
19
 
@@ -78,7 +78,7 @@ function testCaddy() {
78
78
  return new Promise((resolve, reject) => {
79
79
  if (!existsSync(caddyPath))
80
80
  return resolve(false)
81
- chmodSync(caddyPath, 0o755)
81
+ chmodSync(caddyPath, 0o777)
82
82
  const child = process.platform === 'win32' ? spawn(caddyPath, []) : spawn('sudo', ['-E', caddyPath])
83
83
  child.on('close', () => {
84
84
  return resolve(false)