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/README.md +9 -0
- package/dist/{chunk-GAKOA5LE.js → chunk-IUFVJYJ5.js} +69 -61
- package/dist/esbuild.cjs +70 -62
- package/dist/esbuild.js +1 -1
- package/dist/index.cjs +70 -62
- package/dist/index.js +1 -1
- package/dist/nuxt.cjs +44 -29
- package/dist/nuxt.js +3 -3
- package/dist/rollup.cjs +70 -62
- package/dist/rollup.js +1 -1
- package/dist/vite.cjs +70 -62
- package/dist/vite.js +1 -1
- package/dist/webpack.cjs +70 -62
- package/dist/webpack.js +1 -1
- package/package.json +2 -1
- package/src/caddy/constants.ts +11 -1
- package/src/caddy/index.ts +28 -5
- package/src/index.ts +51 -74
- package/src/nuxt.ts +3 -3
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
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
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
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
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
|
-
}
|
|
587
|
-
|
|
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
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
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
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-
|
|
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
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
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
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
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
|
-
}
|
|
587
|
-
|
|
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
|
|