@cloudflare/vite-plugin 1.23.1 → 1.24.0
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.mjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import module$1, { builtinModules, createRequire } from "node:module";
|
|
2
2
|
import assert from "node:assert";
|
|
3
|
+
import { randomUUID } from "node:crypto";
|
|
3
4
|
import { CoreHeaders, Log, LogLevel, Miniflare, Request as Request$1, Response as Response$1, coupleWebSocket, getDefaultDevRegistryPath, getNodeCompat, getWorkerRegistry, kUnsafeEphemeralUniqueKey } from "miniflare";
|
|
4
5
|
import * as wrangler from "wrangler";
|
|
5
6
|
import * as nodePath from "node:path";
|
|
@@ -19,7 +20,6 @@ import { defineEnv } from "unenv";
|
|
|
19
20
|
import * as fsp from "node:fs/promises";
|
|
20
21
|
import net from "node:net";
|
|
21
22
|
import { execFileSync, spawn } from "node:child_process";
|
|
22
|
-
import { randomUUID } from "node:crypto";
|
|
23
23
|
import path, { posix } from "path";
|
|
24
24
|
import { WebSocketServer } from "ws";
|
|
25
25
|
|
|
@@ -1584,13 +1584,13 @@ function cleanUrl(url) {
|
|
|
1584
1584
|
function withTrailingSlash(path$1) {
|
|
1585
1585
|
return path$1.endsWith("/") ? path$1 : `${path$1}/`;
|
|
1586
1586
|
}
|
|
1587
|
-
function createRequestHandler(handler) {
|
|
1587
|
+
function createRequestHandler(ctx, handler) {
|
|
1588
1588
|
return async (req, res, next) => {
|
|
1589
1589
|
let request$1;
|
|
1590
1590
|
try {
|
|
1591
1591
|
if (req.originalUrl) req.url = req.originalUrl;
|
|
1592
1592
|
request$1 = createRequest(req, res);
|
|
1593
|
-
let response = await handler(toMiniflareRequest(request$1), req);
|
|
1593
|
+
let response = await handler(toMiniflareRequest(ctx, request$1), req);
|
|
1594
1594
|
if (req.httpVersionMajor === 2) {
|
|
1595
1595
|
response = new Response$1(response.body, response);
|
|
1596
1596
|
response.headers.delete("transfer-encoding");
|
|
@@ -1605,10 +1605,11 @@ function createRequestHandler(handler) {
|
|
|
1605
1605
|
function satisfiesViteVersion(minVersion$2) {
|
|
1606
1606
|
return (0, import_gte.default)(version, minVersion$2);
|
|
1607
1607
|
}
|
|
1608
|
-
function toMiniflareRequest(request$1) {
|
|
1608
|
+
function toMiniflareRequest(ctx, request$1) {
|
|
1609
1609
|
const host = request$1.headers.get("Host");
|
|
1610
1610
|
const xForwardedHost = request$1.headers.get("X-Forwarded-Host");
|
|
1611
1611
|
if (host && !xForwardedHost) request$1.headers.set("X-Forwarded-Host", host);
|
|
1612
|
+
request$1.headers.set(CoreHeaders.PROXY_SHARED_SECRET, ctx.proxySharedSecret);
|
|
1612
1613
|
const secFetchMode = request$1.headers.get("Sec-Fetch-Mode");
|
|
1613
1614
|
if (secFetchMode) request$1.headers.set(CoreHeaders.SEC_FETCH_MODE, secFetchMode);
|
|
1614
1615
|
return new Request$1(request$1.url, {
|
|
@@ -1709,8 +1710,10 @@ var PluginContext = class {
|
|
|
1709
1710
|
#sharedContext;
|
|
1710
1711
|
#resolvedPluginConfig;
|
|
1711
1712
|
#resolvedViteConfig;
|
|
1713
|
+
#proxySharedSecret;
|
|
1712
1714
|
constructor(sharedContext$1) {
|
|
1713
1715
|
this.#sharedContext = sharedContext$1;
|
|
1716
|
+
this.#proxySharedSecret = randomUUID();
|
|
1714
1717
|
}
|
|
1715
1718
|
/** Creates a new Miniflare instance or updates the existing instance */
|
|
1716
1719
|
async startOrUpdateMiniflare(options) {
|
|
@@ -1800,6 +1803,9 @@ var PluginContext = class {
|
|
|
1800
1803
|
getNodeJsCompat(environmentName) {
|
|
1801
1804
|
return this.#getWorker(environmentName)?.nodeJsCompat;
|
|
1802
1805
|
}
|
|
1806
|
+
get proxySharedSecret() {
|
|
1807
|
+
return this.#proxySharedSecret;
|
|
1808
|
+
}
|
|
1803
1809
|
};
|
|
1804
1810
|
function assertIsNotPreview(ctx) {
|
|
1805
1811
|
assert(ctx.resolvedPluginConfig.type !== "preview", `Expected "assets-only" or "workers" plugin config`);
|
|
@@ -5346,7 +5352,7 @@ function assertOneOf(choices, value) {
|
|
|
5346
5352
|
__name(assertOneOf, "assertOneOf");
|
|
5347
5353
|
var getC3CommandFromEnv = getEnvironmentVariableFactory({
|
|
5348
5354
|
variableName: "WRANGLER_C3_COMMAND",
|
|
5349
|
-
defaultValue: /* @__PURE__ */ __name(() => "create cloudflare
|
|
5355
|
+
defaultValue: /* @__PURE__ */ __name(() => "create cloudflare", "defaultValue")
|
|
5350
5356
|
});
|
|
5351
5357
|
var getWranglerSendMetricsFromEnv = getBooleanEnvironmentVariableFactory({ variableName: "WRANGLER_SEND_METRICS" });
|
|
5352
5358
|
var getWranglerSendErrorReportsFromEnv = getBooleanEnvironmentVariableFactory({ variableName: "WRANGLER_SEND_ERROR_REPORTS" });
|
|
@@ -5437,6 +5443,11 @@ var getLocalExplorerEnabledFromEnv = getBooleanEnvironmentVariableFactory({
|
|
|
5437
5443
|
variableName: "X_LOCAL_EXPLORER",
|
|
5438
5444
|
defaultValue: false
|
|
5439
5445
|
});
|
|
5446
|
+
var getCfFetchEnabledFromEnv = getBooleanEnvironmentVariableFactory({
|
|
5447
|
+
variableName: "CLOUDFLARE_CF_FETCH_ENABLED",
|
|
5448
|
+
defaultValue: true
|
|
5449
|
+
});
|
|
5450
|
+
var getCfFetchPathFromEnv = getEnvironmentVariableFactory({ variableName: "CLOUDFLARE_CF_FETCH_PATH" });
|
|
5440
5451
|
var Diagnostics = class {
|
|
5441
5452
|
/**
|
|
5442
5453
|
* Create a new Diagnostics object.
|
|
@@ -5723,6 +5734,47 @@ var friendlyBindingNames = {
|
|
|
5723
5734
|
worker_loaders: "Worker Loader",
|
|
5724
5735
|
vpc_services: "VPC Service"
|
|
5725
5736
|
};
|
|
5737
|
+
var bindingTypeFriendlyNames = {
|
|
5738
|
+
plain_text: "Environment Variable",
|
|
5739
|
+
secret_text: "Environment Variable",
|
|
5740
|
+
json: "Environment Variable",
|
|
5741
|
+
kv_namespace: "KV Namespace",
|
|
5742
|
+
send_email: "Send Email",
|
|
5743
|
+
wasm_module: "Wasm Module",
|
|
5744
|
+
text_blob: "Text Blob",
|
|
5745
|
+
browser: "Browser",
|
|
5746
|
+
ai: "AI",
|
|
5747
|
+
images: "Images",
|
|
5748
|
+
version_metadata: "Worker Version Metadata",
|
|
5749
|
+
data_blob: "Data Blob",
|
|
5750
|
+
durable_object_namespace: "Durable Object",
|
|
5751
|
+
workflow: "Workflow",
|
|
5752
|
+
queue: "Queue",
|
|
5753
|
+
r2_bucket: "R2 Bucket",
|
|
5754
|
+
d1: "D1 Database",
|
|
5755
|
+
vectorize: "Vectorize Index",
|
|
5756
|
+
hyperdrive: "Hyperdrive Config",
|
|
5757
|
+
service: "Worker",
|
|
5758
|
+
fetcher: "Service Binding",
|
|
5759
|
+
analytics_engine: "Analytics Engine Dataset",
|
|
5760
|
+
dispatch_namespace: "Dispatch Namespace",
|
|
5761
|
+
mtls_certificate: "mTLS Certificate",
|
|
5762
|
+
pipeline: "Pipeline",
|
|
5763
|
+
secrets_store_secret: "Secrets Store Secret",
|
|
5764
|
+
logfwdr: "logfwdr",
|
|
5765
|
+
unsafe_hello_world: "Hello World",
|
|
5766
|
+
ratelimit: "Rate Limit",
|
|
5767
|
+
worker_loader: "Worker Loader",
|
|
5768
|
+
vpc_service: "VPC Service",
|
|
5769
|
+
media: "Media",
|
|
5770
|
+
assets: "Assets"
|
|
5771
|
+
};
|
|
5772
|
+
function getBindingTypeFriendlyName(bindingType) {
|
|
5773
|
+
if (bindingType in bindingTypeFriendlyNames) return bindingTypeFriendlyNames[bindingType];
|
|
5774
|
+
if (bindingType.startsWith("unsafe_")) return "Unsafe Metadata";
|
|
5775
|
+
return bindingType;
|
|
5776
|
+
}
|
|
5777
|
+
__name(getBindingTypeFriendlyName, "getBindingTypeFriendlyName");
|
|
5726
5778
|
var ENGLISH = new Intl.ListFormat("en-US");
|
|
5727
5779
|
var ALLOWED_INSTANCE_TYPES = [
|
|
5728
5780
|
"lite",
|
|
@@ -15938,7 +15990,7 @@ function parseRedirects(input, { htmlHandling = void 0, maxStaticRules = MAX_STA
|
|
|
15938
15990
|
invalid.push({ message: `Ignoring line ${i$1 + 1} as it exceeds the maximum allowed length of ${maxLineLength}.` });
|
|
15939
15991
|
continue;
|
|
15940
15992
|
}
|
|
15941
|
-
const tokens = line.split(/\s+/);
|
|
15993
|
+
const tokens = line.replace(/\s+#.*$/, "").split(/\s+/);
|
|
15942
15994
|
if (tokens.length < 2 || tokens.length > 3) {
|
|
15943
15995
|
invalid.push({
|
|
15944
15996
|
line,
|
|
@@ -25996,6 +26048,7 @@ async function getDevMiniflareOptions(ctx, viteDevServer) {
|
|
|
25996
26048
|
return {
|
|
25997
26049
|
miniflareOptions: {
|
|
25998
26050
|
log: logger,
|
|
26051
|
+
unsafeProxySharedSecret: ctx.proxySharedSecret,
|
|
25999
26052
|
logRequests: false,
|
|
26000
26053
|
inspectorPort: inputInspectorPort === false ? void 0 : inputInspectorPort,
|
|
26001
26054
|
unsafeDevRegistryPath: getDefaultDevRegistryPath(),
|
|
@@ -26100,6 +26153,7 @@ async function getPreviewMiniflareOptions(ctx, vitePreviewServer) {
|
|
|
26100
26153
|
return {
|
|
26101
26154
|
miniflareOptions: {
|
|
26102
26155
|
log: logger,
|
|
26156
|
+
unsafeProxySharedSecret: ctx.proxySharedSecret,
|
|
26103
26157
|
inspectorPort: inputInspectorPort === false ? void 0 : inputInspectorPort,
|
|
26104
26158
|
unsafeDevRegistryPath: getDefaultDevRegistryPath(),
|
|
26105
26159
|
unsafeTriggerHandlers: true,
|
|
@@ -26240,7 +26294,7 @@ const devPlugin = createPlugin("dev", (ctx) => {
|
|
|
26240
26294
|
if (staticRouting) {
|
|
26241
26295
|
const excludeRulesMatcher = generateStaticRoutingRuleMatcher(staticRouting.asset_worker ?? []);
|
|
26242
26296
|
const includeRulesMatcher = generateStaticRoutingRuleMatcher(staticRouting.user_worker);
|
|
26243
|
-
const userWorkerHandler = createRequestHandler(async (request$1) => {
|
|
26297
|
+
const userWorkerHandler = createRequestHandler(ctx, async (request$1) => {
|
|
26244
26298
|
request$1.headers.set(CoreHeaders.ROUTE_OVERRIDE, entryWorkerName);
|
|
26245
26299
|
return ctx.miniflare.dispatchFetch(request$1, { redirect: "manual" });
|
|
26246
26300
|
});
|
|
@@ -26282,7 +26336,7 @@ const devPlugin = createPlugin("dev", (ctx) => {
|
|
|
26282
26336
|
handle: preMiddleware
|
|
26283
26337
|
});
|
|
26284
26338
|
}
|
|
26285
|
-
viteDevServer.middlewares.use(createRequestHandler(async (request$1, req) => {
|
|
26339
|
+
viteDevServer.middlewares.use(createRequestHandler(ctx, async (request$1, req) => {
|
|
26286
26340
|
if (req[kRequestType] === "asset") {
|
|
26287
26341
|
request$1.headers.set(CoreHeaders.ROUTE_OVERRIDE, ASSET_WORKER_NAME);
|
|
26288
26342
|
return ctx.miniflare.dispatchFetch(request$1, { redirect: "manual" });
|
|
@@ -26432,6 +26486,7 @@ const outputConfigPlugin = createPlugin("output-config", (ctx) => {
|
|
|
26432
26486
|
directory: getAssetsDirectory(this.environment.config.build.outDir, ctx.resolvedViteConfig)
|
|
26433
26487
|
} : void 0
|
|
26434
26488
|
};
|
|
26489
|
+
if (inputWorkerConfig.upload_source_maps === void 0 && this.environment.config.build.sourcemap) outputConfig.upload_source_maps = true;
|
|
26435
26490
|
if (inputWorkerConfig.configPath) {
|
|
26436
26491
|
const localDevVars = getLocalDevVarsForPreview(inputWorkerConfig.configPath, ctx.resolvedPluginConfig.cloudflareEnv);
|
|
26437
26492
|
if (localDevVars) this.emitFile({
|
|
@@ -26514,7 +26569,7 @@ const previewPlugin = createPlugin("preview", (ctx) => {
|
|
|
26514
26569
|
};
|
|
26515
26570
|
}
|
|
26516
26571
|
handleWebSocket(vitePreviewServer.httpServer, ctx.miniflare);
|
|
26517
|
-
vitePreviewServer.middlewares.use(createRequestHandler((request$1) => {
|
|
26572
|
+
vitePreviewServer.middlewares.use(createRequestHandler(ctx, (request$1) => {
|
|
26518
26573
|
return ctx.miniflare.dispatchFetch(request$1, { redirect: "manual" });
|
|
26519
26574
|
}));
|
|
26520
26575
|
} };
|
|
@@ -26592,7 +26647,7 @@ const triggerHandlersPlugin = createPlugin("trigger-handlers", (ctx) => {
|
|
|
26592
26647
|
const entryWorkerConfig = ctx.entryWorkerConfig;
|
|
26593
26648
|
if (!entryWorkerConfig) return;
|
|
26594
26649
|
const entryWorkerName = entryWorkerConfig.name;
|
|
26595
|
-
const requestHandler = createRequestHandler((request$1) => {
|
|
26650
|
+
const requestHandler = createRequestHandler(ctx, (request$1) => {
|
|
26596
26651
|
request$1.headers.set(CoreHeaders.ROUTE_OVERRIDE, entryWorkerName);
|
|
26597
26652
|
return ctx.miniflare.dispatchFetch(request$1, { redirect: "manual" });
|
|
26598
26653
|
});
|