unplugin-cloudflare-tunnel 0.0.4 → 0.0.5

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/api.d.mts CHANGED
@@ -1,42 +1,42 @@
1
- import * as z from "zod/mini";
1
+ import { a as ZodMiniObject, c as ZodMiniUnknown, i as ZodMiniNumber, n as ZodMiniBoolean, o as ZodMiniOptional, r as ZodMiniNullable, s as ZodMiniString, t as ZodMiniArray, u as $strip } from "./schemas-DKJtFAG_.mjs";
2
2
 
3
3
  //#region src/api.d.ts
4
- declare const CloudflareErrorSchema: z.ZodMiniObject<{
5
- code: z.ZodMiniNumber<number>;
6
- message: z.ZodMiniString<string>;
7
- }, z.core.$strip>;
8
- declare const CloudflareApiResponseSchema: z.ZodMiniObject<{
9
- success: z.ZodMiniBoolean<boolean>;
10
- errors: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
11
- code: z.ZodMiniNumber<number>;
12
- message: z.ZodMiniString<string>;
13
- }, z.core.$strip>>>;
14
- messages: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
15
- result: z.ZodMiniUnknown;
16
- }, z.core.$strip>;
17
- declare const AccountSchema: z.ZodMiniObject<{
18
- id: z.ZodMiniString<string>;
19
- name: z.ZodMiniString<string>;
20
- }, z.core.$strip>;
21
- declare const ZoneSchema: z.ZodMiniObject<{
22
- id: z.ZodMiniString<string>;
23
- name: z.ZodMiniString<string>;
24
- }, z.core.$strip>;
25
- declare const TunnelSchema: z.ZodMiniObject<{
26
- id: z.ZodMiniString<string>;
27
- name: z.ZodMiniString<string>;
28
- account_tag: z.ZodMiniString<string>;
29
- created_at: z.ZodMiniString<string>;
30
- connections: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnknown>>;
31
- }, z.core.$strip>;
32
- declare const DNSRecordSchema: z.ZodMiniObject<{
33
- id: z.ZodMiniString<string>;
34
- type: z.ZodMiniString<string>;
35
- name: z.ZodMiniString<string>;
36
- content: z.ZodMiniString<string>;
37
- proxied: z.ZodMiniBoolean<boolean>;
38
- comment: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
39
- }, z.core.$strip>;
4
+ declare const CloudflareErrorSchema: ZodMiniObject<{
5
+ code: ZodMiniNumber<number>;
6
+ message: ZodMiniString<string>;
7
+ }, $strip>;
8
+ declare const CloudflareApiResponseSchema: ZodMiniObject<{
9
+ success: ZodMiniBoolean<boolean>;
10
+ errors: ZodMiniOptional<ZodMiniArray<ZodMiniObject<{
11
+ code: ZodMiniNumber<number>;
12
+ message: ZodMiniString<string>;
13
+ }, $strip>>>;
14
+ messages: ZodMiniOptional<ZodMiniArray<ZodMiniString<string>>>;
15
+ result: ZodMiniUnknown;
16
+ }, $strip>;
17
+ declare const AccountSchema: ZodMiniObject<{
18
+ id: ZodMiniString<string>;
19
+ name: ZodMiniString<string>;
20
+ }, $strip>;
21
+ declare const ZoneSchema: ZodMiniObject<{
22
+ id: ZodMiniString<string>;
23
+ name: ZodMiniString<string>;
24
+ }, $strip>;
25
+ declare const TunnelSchema: ZodMiniObject<{
26
+ id: ZodMiniString<string>;
27
+ name: ZodMiniString<string>;
28
+ account_tag: ZodMiniString<string>;
29
+ created_at: ZodMiniString<string>;
30
+ connections: ZodMiniOptional<ZodMiniArray<ZodMiniUnknown>>;
31
+ }, $strip>;
32
+ declare const DNSRecordSchema: ZodMiniObject<{
33
+ id: ZodMiniString<string>;
34
+ type: ZodMiniString<string>;
35
+ name: ZodMiniString<string>;
36
+ content: ZodMiniString<string>;
37
+ proxied: ZodMiniBoolean<boolean>;
38
+ comment: ZodMiniOptional<ZodMiniNullable<ZodMiniString<string>>>;
39
+ }, $strip>;
40
40
  declare function normalizeAddress(address: string | {
41
41
  address?: string;
42
42
  port?: number;
package/dist/api.mjs CHANGED
@@ -1,7 +1,6 @@
1
- import { a as number, c as string, i as nullish, l as unknown, n as array, o as object, r as boolean, s as optional } from "./schemas-CwcXCIyR.mjs";
1
+ import { a as number, c as string, i as nullish, l as unknown, n as array, o as object, r as boolean, s as optional } from "./schemas-Cpk3vGGi.mjs";
2
2
  import NodeFS from "node:fs/promises";
3
3
  import { install } from "cloudflared";
4
-
5
4
  //#region src/api.ts
6
5
  const CloudflareErrorSchema = object({
7
6
  code: number(),
@@ -54,6 +53,5 @@ async function ensureCloudflaredBinary(binPath) {
54
53
  function getLocalTarget(host, port) {
55
54
  return `http://${host.includes(":") ? `[${host}]` : host}:${port}`;
56
55
  }
57
-
58
56
  //#endregion
59
- export { AccountSchema, CloudflareApiResponseSchema, CloudflareErrorSchema, DNSRecordSchema, TunnelSchema, ZoneSchema, ensureCloudflaredBinary, getLocalTarget, normalizeAddress };
57
+ export { AccountSchema, CloudflareApiResponseSchema, CloudflareErrorSchema, DNSRecordSchema, TunnelSchema, ZoneSchema, ensureCloudflaredBinary, getLocalTarget, normalizeAddress };
package/dist/astro.mjs CHANGED
@@ -1,13 +1,11 @@
1
- import src_default from "./index.mjs";
2
-
1
+ import { CloudflareTunnel } from "./index.mjs";
3
2
  //#region src/astro.ts
4
3
  var astro_default = (options) => ({
5
4
  name: "unplugin-cloudflare-tunnel",
6
5
  hooks: { "astro:config:setup": async (astro) => {
7
6
  astro.config.vite.plugins ||= [];
8
- astro.config.vite.plugins.push(src_default.vite(options));
7
+ astro.config.vite.plugins.push(CloudflareTunnel.vite(options));
9
8
  } }
10
9
  });
11
-
12
10
  //#endregion
13
- export { astro_default as default };
11
+ export { astro_default as default };
@@ -1,8 +1,7 @@
1
1
  import { CloudflareTunnelOptions } from "./index.mjs";
2
- import * as esbuild0 from "esbuild";
2
+ import * as _$esbuild from "esbuild";
3
3
 
4
4
  //#region src/esbuild.d.ts
5
-
6
5
  /**
7
6
  * This entry file is for esbuild plugin.
8
7
  *
@@ -19,6 +18,6 @@ import * as esbuild0 from "esbuild";
19
18
  * build({ plugins: [Starter()] })
20
19
  ```
21
20
  */
22
- declare const esbuild: (options?: CloudflareTunnelOptions | undefined) => esbuild0.Plugin;
21
+ declare const esbuild: (options?: CloudflareTunnelOptions | undefined) => _$esbuild.Plugin;
23
22
  //#endregion
24
23
  export { esbuild as default, esbuild as "module.exports" };
package/dist/esbuild.mjs CHANGED
@@ -1,5 +1,4 @@
1
1
  import { CloudflareTunnel } from "./index.mjs";
2
-
3
2
  //#region src/esbuild.ts
4
3
  /**
5
4
  * This entry file is for esbuild plugin.
@@ -18,7 +17,5 @@ import { CloudflareTunnel } from "./index.mjs";
18
17
  ```
19
18
  */
20
19
  const esbuild = CloudflareTunnel.esbuild;
21
- var esbuild_default = esbuild;
22
-
23
20
  //#endregion
24
- export { esbuild_default as default, esbuild as "module.exports" };
21
+ export { esbuild as default, esbuild as "module.exports" };
package/dist/farm.d.mts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { CloudflareTunnelOptions } from "./index.mjs";
2
2
 
3
3
  //#region src/farm.d.ts
4
-
5
4
  /**
6
5
  * This entry file is for Farm plugin.
7
6
  *
package/dist/farm.mjs CHANGED
@@ -1,5 +1,4 @@
1
1
  import { CloudflareTunnel } from "./index.mjs";
2
-
3
2
  //#region src/farm.ts
4
3
  /**
5
4
  * This entry file is for Farm plugin.
@@ -20,7 +19,5 @@ import { CloudflareTunnel } from "./index.mjs";
20
19
  * ```
21
20
  */
22
21
  const farm = CloudflareTunnel.farm;
23
- var farm_default = farm;
24
-
25
22
  //#endregion
26
- export { farm_default as default, farm as "module.exports" };
23
+ export { farm as default, farm as "module.exports" };
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
+ import { a as ZodMiniObject, c as ZodMiniUnknown, i as ZodMiniNumber, l as output, n as ZodMiniBoolean, o as ZodMiniOptional, r as ZodMiniNullable, s as ZodMiniString, t as ZodMiniArray, u as $strip } from "./schemas-DKJtFAG_.mjs";
1
2
  import { UnpluginInstance } from "unplugin";
2
- import * as z from "zod/mini";
3
3
 
4
4
  //#region src/index.d.ts
5
5
  /**
@@ -13,45 +13,45 @@ import * as z from "zod/mini";
13
13
  * @version 1.0.0
14
14
  * @license MIT
15
15
  */
16
- declare const CloudflareApiResponseSchema: z.ZodMiniObject<{
17
- success: z.ZodMiniBoolean<boolean>;
18
- errors: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
19
- code: z.ZodMiniNumber<number>;
20
- message: z.ZodMiniString<string>;
21
- }, z.core.$strip>>>;
22
- messages: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
23
- result: z.ZodMiniUnknown;
24
- }, z.core.$strip>;
25
- declare const AccountSchema: z.ZodMiniObject<{
26
- id: z.ZodMiniString<string>;
27
- name: z.ZodMiniString<string>;
28
- }, z.core.$strip>;
29
- declare const ZoneSchema: z.ZodMiniObject<{
30
- id: z.ZodMiniString<string>;
31
- name: z.ZodMiniString<string>;
32
- }, z.core.$strip>;
33
- declare const TunnelSchema: z.ZodMiniObject<{
34
- id: z.ZodMiniString<string>;
35
- name: z.ZodMiniString<string>;
36
- account_tag: z.ZodMiniString<string>;
37
- created_at: z.ZodMiniString<string>;
38
- connections: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnknown>>;
39
- }, z.core.$strip>;
40
- declare const DNSRecordSchema: z.ZodMiniObject<{
41
- id: z.ZodMiniString<string>;
42
- type: z.ZodMiniString<string>;
43
- name: z.ZodMiniString<string>;
44
- content: z.ZodMiniString<string>;
45
- proxied: z.ZodMiniBoolean<boolean>;
46
- comment: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
47
- }, z.core.$strip>;
48
- type CloudflareApiResponse<T = unknown> = z.infer<typeof CloudflareApiResponseSchema> & {
16
+ declare const CloudflareApiResponseSchema: ZodMiniObject<{
17
+ success: ZodMiniBoolean<boolean>;
18
+ errors: ZodMiniOptional<ZodMiniArray<ZodMiniObject<{
19
+ code: ZodMiniNumber<number>;
20
+ message: ZodMiniString<string>;
21
+ }, $strip>>>;
22
+ messages: ZodMiniOptional<ZodMiniArray<ZodMiniString<string>>>;
23
+ result: ZodMiniUnknown;
24
+ }, $strip>;
25
+ declare const AccountSchema: ZodMiniObject<{
26
+ id: ZodMiniString<string>;
27
+ name: ZodMiniString<string>;
28
+ }, $strip>;
29
+ declare const ZoneSchema: ZodMiniObject<{
30
+ id: ZodMiniString<string>;
31
+ name: ZodMiniString<string>;
32
+ }, $strip>;
33
+ declare const TunnelSchema: ZodMiniObject<{
34
+ id: ZodMiniString<string>;
35
+ name: ZodMiniString<string>;
36
+ account_tag: ZodMiniString<string>;
37
+ created_at: ZodMiniString<string>;
38
+ connections: ZodMiniOptional<ZodMiniArray<ZodMiniUnknown>>;
39
+ }, $strip>;
40
+ declare const DNSRecordSchema: ZodMiniObject<{
41
+ id: ZodMiniString<string>;
42
+ type: ZodMiniString<string>;
43
+ name: ZodMiniString<string>;
44
+ content: ZodMiniString<string>;
45
+ proxied: ZodMiniBoolean<boolean>;
46
+ comment: ZodMiniOptional<ZodMiniNullable<ZodMiniString<string>>>;
47
+ }, $strip>;
48
+ type CloudflareApiResponse<T = unknown> = output<typeof CloudflareApiResponseSchema> & {
49
49
  result: T;
50
50
  };
51
- type Account = z.infer<typeof AccountSchema>;
52
- type Zone = z.infer<typeof ZoneSchema>;
53
- type Tunnel = z.infer<typeof TunnelSchema>;
54
- type DNSRecord = z.infer<typeof DNSRecordSchema>;
51
+ type Account = output<typeof AccountSchema>;
52
+ type Zone = output<typeof ZoneSchema>;
53
+ type Tunnel = output<typeof TunnelSchema>;
54
+ type DNSRecord = output<typeof DNSRecordSchema>;
55
55
  /**
56
56
  * Base configuration options shared between named and quick tunnel modes
57
57
  */
@@ -103,7 +103,7 @@ interface NamedTunnelOptions extends BaseTunnelOptions {
103
103
  *
104
104
  * Fallback priority:
105
105
  * 1. Provided apiToken option
106
- * 2. CLOUDFLARE_API_KEY environment variable
106
+ * 2. CLOUDFLARE_API_TOKEN environment variable
107
107
  */
108
108
  apiToken?: string;
109
109
  /**
package/dist/index.mjs CHANGED
@@ -1,9 +1,8 @@
1
- import { a as number, c as string, i as nullish, l as unknown, n as array, o as object, r as boolean, s as optional, t as any } from "./schemas-CwcXCIyR.mjs";
1
+ import { a as number, c as string, i as nullish, l as unknown, n as array, o as object, r as boolean, s as optional, t as any } from "./schemas-Cpk3vGGi.mjs";
2
2
  import { createUnplugin } from "unplugin";
3
3
  import NodeFS from "node:fs/promises";
4
4
  import { bin, install } from "cloudflared";
5
5
  import * as NodeChildProcess from "node:child_process";
6
-
7
6
  //#region src/index.ts
8
7
  /**
9
8
  * @fileoverview Cloudflare Tunnel Unplugin
@@ -42,8 +41,7 @@ const ANSI = {
42
41
  blue: "\x1B[34m",
43
42
  yellow: "\x1B[33m"
44
43
  };
45
- const ANSI_ESCAPE = String.fromCharCode(27);
46
- const ANSI_STYLE_SEQUENCE_REGEX = new RegExp(`${ANSI_ESCAPE}\\[[0-9;]*m`, "g");
44
+ const ANSI_STYLE_SEQUENCE_REGEX = new RegExp(`${String.fromCharCode(27)}\\[[0-9;]*m`, "g");
47
45
  function stripAnsi(text) {
48
46
  return text.replace(ANSI_STYLE_SEQUENCE_REGEX, "");
49
47
  }
@@ -176,10 +174,7 @@ const unpluginFactory = (options = {}) => {
176
174
  globalState.__lastAnnouncedTunnelKey = params.key;
177
175
  const cols = process.stdout.columns ?? 80;
178
176
  const maxWidth = Math.max(10, cols - 2);
179
- const headerText = "unplugin-cloudflare-tunnel";
180
- const header = (() => {
181
- return `${colorize("[", ANSI.yellow)}${headerText}${colorize("]", ANSI.yellow)}`;
182
- })();
177
+ const header = `${colorize("[", ANSI.yellow)}unplugin-cloudflare-tunnel${colorize("]", ANSI.yellow)}`;
183
178
  const urlLine = colorize(params.url, ANSI.blue + ANSI.bold);
184
179
  const localLine = params.localTarget ? makeLocalDisplay(params.localTarget) : "";
185
180
  const headerPlainLen = stripAnsi(header).length;
@@ -192,12 +187,12 @@ const unpluginFactory = (options = {}) => {
192
187
  return `${" ".repeat(pad)}${text}`;
193
188
  };
194
189
  if (cols < 70) {
195
- const out$1 = [];
196
- out$1.push("");
197
- out$1.push(`${header} ${colorize("Tunnel URL", ANSI.bold)} ${urlLine}`);
198
- if (localLine) out$1.push(`${header} ${colorize("Local", ANSI.dim + ANSI.bold)} ${localLine}`);
199
- out$1.push("");
200
- console.log(out$1.join("\n"));
190
+ const out = [];
191
+ out.push("");
192
+ out.push(`${header} ${colorize("Tunnel URL", ANSI.bold)} ${urlLine}`);
193
+ if (localLine) out.push(`${header} ${colorize("Local", ANSI.dim + ANSI.bold)} ${localLine}`);
194
+ out.push("");
195
+ console.log(out.join("\n"));
201
196
  return;
202
197
  }
203
198
  const out = [];
@@ -236,12 +231,12 @@ const unpluginFactory = (options = {}) => {
236
231
  if (sslOption) {
237
232
  if (!sslOption.startsWith("*.") && sslOption !== hostname) throw new Error("[unplugin-cloudflare-tunnel] ssl option must either be a wildcard (e.g., '*.example.com') or exactly match the hostname");
238
233
  }
239
- const trackSslCertificate = (certificateId, hosts, tunnelName$1, timestamp = (/* @__PURE__ */ new Date()).toISOString()) => {
234
+ const trackSslCertificate = (certificateId, hosts, tunnelName, timestamp = (/* @__PURE__ */ new Date()).toISOString()) => {
240
235
  const trackingKey = `ssl-cert-${certificateId}`;
241
236
  globalState[trackingKey] = {
242
237
  id: certificateId,
243
238
  hosts,
244
- tunnelName: tunnelName$1,
239
+ tunnelName,
245
240
  timestamp,
246
241
  pluginVersion: "1.0.0"
247
242
  };
@@ -371,7 +366,7 @@ const unpluginFactory = (options = {}) => {
371
366
  if (logFile) cloudflaredArgs.push("--logfile", logFile);
372
367
  cloudflaredArgs.push("--url", localTarget);
373
368
  debugLog("Spawning quick tunnel:", bin, cloudflaredArgs);
374
- const child$1 = NodeChildProcess.spawn(bin, cloudflaredArgs, {
369
+ const child = NodeChildProcess.spawn(bin, cloudflaredArgs, {
375
370
  stdio: [
376
371
  "ignore",
377
372
  "pipe",
@@ -381,27 +376,27 @@ const unpluginFactory = (options = {}) => {
381
376
  windowsHide: true,
382
377
  shell: process.platform === "win32"
383
378
  });
384
- debugLog(`[unplugin-cloudflare-tunnel] Quick tunnel process spawned with PID: ${child$1.pid}`);
379
+ debugLog(`[unplugin-cloudflare-tunnel] Quick tunnel process spawned with PID: ${child.pid}`);
385
380
  return new Promise((resolve, reject) => {
386
381
  let urlFound = false;
387
382
  const timeout = setTimeout(() => {
388
383
  if (!urlFound) reject(/* @__PURE__ */ new Error("Quick tunnel URL not found in output within 30 seconds"));
389
384
  }, 3e4);
390
- child$1.stdout?.on("data", (data) => {
385
+ child.stdout?.on("data", (data) => {
391
386
  const output = data.toString();
392
387
  if (!globalState.shuttingDown || debug) {
393
388
  if (effectiveLogLevel === "debug" || effectiveLogLevel === "info") console.log(`[cloudflared stdout] ${output.trim()}`);
394
389
  else for (const line of output.split("\n")) if (!INFO_LOG_REGEX.test(line)) console.log(`[cloudflared stdout] ${line.trim()}`);
395
390
  }
396
391
  });
397
- child$1.stderr?.on("data", (data) => {
392
+ child.stderr?.on("data", (data) => {
398
393
  const error = data.toString().trim();
399
394
  const urlMatch = error.match(/https:\/\/[a-zA-Z0-9-]+\.trycloudflare\.com/);
400
395
  if (urlMatch && !urlFound) {
401
396
  urlFound = true;
402
397
  clearTimeout(timeout);
403
398
  resolve({
404
- child: child$1,
399
+ child,
405
400
  url: urlMatch[0]
406
401
  });
407
402
  }
@@ -414,11 +409,11 @@ const unpluginFactory = (options = {}) => {
414
409
  else for (const line of error.split("\n")) if (!INFO_LOG_REGEX.test(line)) console.error(`[cloudflared stderr] ${line.trim()}`);
415
410
  }
416
411
  });
417
- child$1.on("error", (error) => {
412
+ child.on("error", (error) => {
418
413
  clearTimeout(timeout);
419
414
  reject(/* @__PURE__ */ new Error(`Failed to start quick tunnel process: ${error.message}`));
420
415
  });
421
- child$1.on("exit", (code, signal) => {
416
+ child.on("exit", (code, signal) => {
422
417
  clearTimeout(timeout);
423
418
  if (!urlFound) reject(/* @__PURE__ */ new Error(`Quick tunnel process exited before URL was found (code: ${code}, signal: ${signal})`));
424
419
  });
@@ -527,10 +522,10 @@ const unpluginFactory = (options = {}) => {
527
522
  debugLog("[unplugin-cloudflare-tunnel] Starting quick tunnel mode...");
528
523
  debugLog("Quick tunnel mode - no API token or hostname required");
529
524
  await ensureCloudflaredBinary(bin);
530
- const localTarget$1 = getLocalTarget(serverHost, port);
531
- debugLog("← Quick tunnel connecting to local target", localTarget$1);
525
+ const localTarget = getLocalTarget(serverHost, port);
526
+ debugLog("← Quick tunnel connecting to local target", localTarget);
532
527
  try {
533
- const { child: quickChild, url } = await spawnQuickTunnel(localTarget$1);
528
+ const { child: quickChild, url } = await spawnQuickTunnel(localTarget);
534
529
  tunnelUrl = url;
535
530
  child = quickChild;
536
531
  globalState.child = child;
@@ -586,8 +581,8 @@ const unpluginFactory = (options = {}) => {
586
581
  }
587
582
  }
588
583
  debugLog("[unplugin-cloudflare-tunnel] Starting named tunnel mode...");
589
- const apiToken = providedApiToken || process.env.CLOUDFLARE_API_KEY;
590
- if (!apiToken) throw new Error("[unplugin-cloudflare-tunnel] API token is required. Provide it via 'apiToken' option or set the CLOUDFLARE_API_KEY environment variable. Get your token at: https://dash.cloudflare.com/profile/api-tokens");
584
+ const apiToken = providedApiToken || process.env.CLOUDFLARE_API_TOKEN;
585
+ if (!apiToken) throw new Error("[unplugin-cloudflare-tunnel] API token is required. Provide it via 'apiToken' option or set the CLOUDFLARE_API_TOKEN environment variable. Get your token at: https://dash.cloudflare.com/profile/api-tokens");
591
586
  debugLog(`[unplugin-cloudflare-tunnel] Using port ${port}${userProvidedPort === port ? " (user-provided)" : " (from bundler config)"}`);
592
587
  await ensureCloudflaredBinary(bin);
593
588
  const accounts = await cf(apiToken, "GET", "/accounts", void 0, array(AccountSchema));
@@ -1012,7 +1007,5 @@ function getLocalTarget(host, port) {
1012
1007
  return `http://${host.includes(":") ? `[${host}]` : host}:${port}`;
1013
1008
  }
1014
1009
  const CloudflareTunnel = createUnplugin(unpluginFactory);
1015
- var src_default = CloudflareTunnel;
1016
-
1017
1010
  //#endregion
1018
- export { CloudflareTunnel, src_default as default };
1011
+ export { CloudflareTunnel, CloudflareTunnel as default };