@cloudflare/vite-plugin 1.25.4 → 1.25.6
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.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/utils.ts","../src/workers-configs.ts","../src/plugin-config.ts","../src/index.ts"],"sourcesContent":[],"mappings":";;;;;;;ACgDK,
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/utils.ts","../src/workers-configs.ts","../src/plugin-config.ts","../src/index.ts"],"sourcesContent":[],"mappings":";;;;;;;ACgDK,KDOO,OCPP,CAAA,CAAA,CAAA,GDOoB,OCPpB,CDO4B,CCP5B,EAAA,SAA8B,CAAA;;;;AAA9B,KAjBO,YAAA,GAAe,IAiBtB,CAjB2B,eAiBG,EAAU,MAjBU,mBAiBV,CAA0B;KAAlE,8BAAA,UAAwC;KAExC,mBAAA,GACF,oCACA;KAEE,iCAAA,SACE;AC/BP,KDiCK,8BAAA,GACJ,8BClCuB,CAAA,aAAA,CAAA,CAAA,MAAA,CAAA;AAA8B;AAE5B;AAI0B;AAS1C,cDwBG,0BCtBJ,EAAA;EAGJ;AAEyB;AAMU;EAQnC,SAAA,cAAA,EAAsB;IAChB,SAAA,KAAA,EAAA;MAAR,SAAA,eAAA,EAAA,eAAA;MAES,SAAA,QAAA,EAAA,2DAAA;IACG,CAAA;IAED,SAAA,MAAA,EAAA;MACa,SAAA,eAAA,EAAA,QAAA;MAEX,SAAA,QAAA,EAAA,oDAAA;IAAR,CAAA;IAAO,SAAA,MAAA,EAAA;MAEE,SAAa,eAAA,EAAA,cAAA;MACV,SAAA,QAAA,EAAA,yDAAA;IACJ,CAAA;EAGA,CAAA;EALsB;;AAQtC;;EACe,SAAA,WAAA,EAAA,SAAA,CAAA,UAAA,EAAA,OAAA,EAAA,yBAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,UAAA,CAAA;CACA;;;AF1BH,KE/BA,YAAA,GF+BqB,OAAR,GAAA;;;UE7Bf,gBAAA;EDKE,eAAY,CAAA,EAAA;IAAQ,IAAA,CAAA,EAAA,MAAA;IAAuB,iBAAA,CAAA,EAAA,MAAA,EAAA;EAA5B,CAAA;;AAezB,UChBQ,iBAAA,SAA0B,gBDkBS,CAAA;EAExC,UAAA,CAAA,EAAA,MAAA;EAIA,MAAA,CAAA,ECtBK,sBDsBL,CAAA,IAAiC,CAAA;AACD;AAQrC,UC5BU,yBAAA,SAAkC,gBD4DlC,CAAA;;;UCxDA,2BAAA,SAAoC;EAflC,UAAA,CAAA,EAAA,MAAY;EAEd,MAAA,EAeD,sBAfiB,CAAA,KAAA,CAAA;AAAA;AAI0B,KAc/C,qBAAA,GACF,yBAVyC,GAWzC,2BAXyD;AAAA,UAalD,YAAA,CATA;EAKL;EAIK,iCAIS,CAAA,EAAA,OAAA;EAGd;EAKA,eAAA,CAAA,EARc,qBAQQ;;KALtB,yBAAA,GAA4B,IAM9B,CALF,wBAKE,EAAA,cAAA,GAAA,MAAA,CAAA;KADE,sBAGO,CAAA,uBAAA,OAAA,CAAA,GAFT,OAES,CAFD,YAEC,CAAA,GAAA,CAAA,CAAA,GAAA,IAAA,EAAA,cAAA,SAAA,IAAA,GAAA,CAAA,MAAA,EACG,YADH,CAAA,GAAA,CACG,MAAA,EAED,YAFC,EAED;EACa,iBAAA,EAAA,yBAAA;AAEX,CAAA,CAAR,EAAA,GAAA,OAAA,CAAQ,YAAR,CAAA,GAAA,IAAA,CAAA;AAAO,UAEE,YAAA,SAAqB,iBAFvB,CAAA;EAEE,gBAAa,CAAA,EACV,qBADU,EAAA;EACV,YAAA,CAAA,EACJ,YADI;EACJ,aAAA,CAAA,EAAA,MAAA,GAAA,KAAA;EAGA,cAAA,CAAA,EAAA,OAAA;EALsB,YAAA,CAAA,EAKtB,YALsB;;AAQrB,UAAA,wBAAA,SAAiC,YAAR,CAAA;EACnB,YAAA,EAAR,OAAQ,CAAA,YAAA,CAAA,cAAA,CAAA,CAAA;EAAR,IAAA,EACR,OADQ,CACA,YADA,CAAA,MAAA,CAAA,CAAA;EACA,kBAAA,EACM,OADN,CACc,YADd,CAAA,oBAAA,CAAA,CAAA;;;;;AF1Bf;;;;ACxBA;;AAAuD,iBEevC,UAAA,CFfuC,YAAA,CAAA,EEed,YFfc,CAAA,EEeM,IAAA,CAAK,MFfX,EAAA"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import module$1, { builtinModules, createRequire } from "node:module";
|
|
2
2
|
import assert from "node:assert";
|
|
3
|
-
import { randomUUID } from "node:crypto";
|
|
4
3
|
import { CoreHeaders, Log, LogLevel, Miniflare, Request as Request$1, Response as Response$1, coupleWebSocket, getDefaultDevRegistryPath, getNodeCompat, getWorkerRegistry, kUnsafeEphemeralUniqueKey } from "miniflare";
|
|
5
4
|
import * as wrangler from "wrangler";
|
|
6
5
|
import * as nodePath from "node:path";
|
|
@@ -9,6 +8,7 @@ import * as util$1 from "node:util";
|
|
|
9
8
|
import { format, inspect } from "node:util";
|
|
10
9
|
import * as vite from "vite";
|
|
11
10
|
import { version } from "vite";
|
|
11
|
+
import { randomUUID } from "node:crypto";
|
|
12
12
|
import * as fs$1 from "node:fs";
|
|
13
13
|
import fs, { existsSync, readFileSync, realpathSync, statSync } from "node:fs";
|
|
14
14
|
import os from "node:os";
|
|
@@ -1557,8 +1557,16 @@ async function sendResponse(res, response) {
|
|
|
1557
1557
|
}
|
|
1558
1558
|
|
|
1559
1559
|
//#endregion
|
|
1560
|
-
//#region src/
|
|
1560
|
+
//#region src/constants.ts
|
|
1561
1561
|
var import_gte = /* @__PURE__ */ __toESM$1(require_gte(), 1);
|
|
1562
|
+
const ROUTER_WORKER_NAME = "__router-worker__";
|
|
1563
|
+
const ASSET_WORKER_NAME = "__asset-worker__";
|
|
1564
|
+
const VITE_PROXY_WORKER_NAME = "__vite_proxy_worker__";
|
|
1565
|
+
const PROXY_SHARED_SECRET = randomUUID();
|
|
1566
|
+
const kRequestType = Symbol("kRequestType");
|
|
1567
|
+
|
|
1568
|
+
//#endregion
|
|
1569
|
+
//#region src/utils.ts
|
|
1562
1570
|
const debuglog = util$1.debuglog("@cloudflare:vite-plugin");
|
|
1563
1571
|
/**
|
|
1564
1572
|
* Creates an internal plugin to be used inside the main `vite-plugin-cloudflare` plugin.
|
|
@@ -1584,13 +1592,13 @@ function cleanUrl(url) {
|
|
|
1584
1592
|
function withTrailingSlash(path$1) {
|
|
1585
1593
|
return path$1.endsWith("/") ? path$1 : `${path$1}/`;
|
|
1586
1594
|
}
|
|
1587
|
-
function createRequestHandler(
|
|
1595
|
+
function createRequestHandler(handler) {
|
|
1588
1596
|
return async (req, res, next) => {
|
|
1589
1597
|
let request$1;
|
|
1590
1598
|
try {
|
|
1591
1599
|
if (req.originalUrl) req.url = req.originalUrl;
|
|
1592
1600
|
request$1 = createRequest(req, res);
|
|
1593
|
-
let response = await handler(toMiniflareRequest(
|
|
1601
|
+
let response = await handler(toMiniflareRequest(request$1), req);
|
|
1594
1602
|
if (req.httpVersionMajor === 2) {
|
|
1595
1603
|
response = new Response$1(response.body, response);
|
|
1596
1604
|
response.headers.delete("transfer-encoding");
|
|
@@ -1605,11 +1613,11 @@ function createRequestHandler(ctx, handler) {
|
|
|
1605
1613
|
function satisfiesViteVersion(minVersion$2) {
|
|
1606
1614
|
return (0, import_gte.default)(version, minVersion$2);
|
|
1607
1615
|
}
|
|
1608
|
-
function toMiniflareRequest(
|
|
1616
|
+
function toMiniflareRequest(request$1) {
|
|
1609
1617
|
const host = request$1.headers.get("Host");
|
|
1610
1618
|
const xForwardedHost = request$1.headers.get("X-Forwarded-Host");
|
|
1611
1619
|
if (host && !xForwardedHost) request$1.headers.set("X-Forwarded-Host", host);
|
|
1612
|
-
request$1.headers.set(CoreHeaders.PROXY_SHARED_SECRET,
|
|
1620
|
+
request$1.headers.set(CoreHeaders.PROXY_SHARED_SECRET, PROXY_SHARED_SECRET);
|
|
1613
1621
|
const secFetchMode = request$1.headers.get("Sec-Fetch-Mode");
|
|
1614
1622
|
if (secFetchMode) request$1.headers.set(CoreHeaders.SEC_FETCH_MODE, secFetchMode);
|
|
1615
1623
|
return new Request$1(request$1.url, {
|
|
@@ -1710,10 +1718,8 @@ var PluginContext = class {
|
|
|
1710
1718
|
#sharedContext;
|
|
1711
1719
|
#resolvedPluginConfig;
|
|
1712
1720
|
#resolvedViteConfig;
|
|
1713
|
-
#proxySharedSecret;
|
|
1714
1721
|
constructor(sharedContext$1) {
|
|
1715
1722
|
this.#sharedContext = sharedContext$1;
|
|
1716
|
-
this.#proxySharedSecret = randomUUID();
|
|
1717
1723
|
}
|
|
1718
1724
|
/** Creates a new Miniflare instance or updates the existing instance */
|
|
1719
1725
|
async startOrUpdateMiniflare(options) {
|
|
@@ -1758,11 +1764,14 @@ var PluginContext = class {
|
|
|
1758
1764
|
get hasShownWorkerConfigWarnings() {
|
|
1759
1765
|
return this.#sharedContext.hasShownWorkerConfigWarnings;
|
|
1760
1766
|
}
|
|
1761
|
-
|
|
1762
|
-
this.#sharedContext.
|
|
1767
|
+
beginRestartingDevServer() {
|
|
1768
|
+
this.#sharedContext.restartingDevServerCount++;
|
|
1769
|
+
}
|
|
1770
|
+
endRestartingDevServer() {
|
|
1771
|
+
this.#sharedContext.restartingDevServerCount--;
|
|
1763
1772
|
}
|
|
1764
1773
|
get isRestartingDevServer() {
|
|
1765
|
-
return this.#sharedContext.
|
|
1774
|
+
return this.#sharedContext.restartingDevServerCount > 0;
|
|
1766
1775
|
}
|
|
1767
1776
|
setResolvedPluginConfig(resolvedPluginConfig) {
|
|
1768
1777
|
this.#resolvedPluginConfig = resolvedPluginConfig;
|
|
@@ -1803,9 +1812,6 @@ var PluginContext = class {
|
|
|
1803
1812
|
getNodeJsCompat(environmentName) {
|
|
1804
1813
|
return this.#getWorker(environmentName)?.nodeJsCompat;
|
|
1805
1814
|
}
|
|
1806
|
-
get proxySharedSecret() {
|
|
1807
|
-
return this.#proxySharedSecret;
|
|
1808
|
-
}
|
|
1809
1815
|
};
|
|
1810
1816
|
function assertIsNotPreview(ctx) {
|
|
1811
1817
|
assert(ctx.resolvedPluginConfig.type !== "preview", `Expected "assets-only" or "workers" plugin config`);
|
|
@@ -2228,7 +2234,7 @@ function constructWranglerConfig(workerOrWorkers) {
|
|
|
2228
2234
|
__name(constructWranglerConfig, "constructWranglerConfig");
|
|
2229
2235
|
|
|
2230
2236
|
//#endregion
|
|
2231
|
-
//#region ../workers-utils/dist/chunk-
|
|
2237
|
+
//#region ../workers-utils/dist/chunk-NNMRVG4F.mjs
|
|
2232
2238
|
var UserError = class extends Error {
|
|
2233
2239
|
static {
|
|
2234
2240
|
__name(this, "UserError");
|
|
@@ -4646,6 +4652,30 @@ function formatConfigSnippet(snippet, configPath, formatted = true) {
|
|
|
4646
4652
|
else return formatted ? JSON.stringify(snippet, null, 2) : JSON.stringify(snippet);
|
|
4647
4653
|
}
|
|
4648
4654
|
__name(formatConfigSnippet, "formatConfigSnippet");
|
|
4655
|
+
function isDirectory(path2) {
|
|
4656
|
+
return fs.statSync(path2, { throwIfNoEntry: false })?.isDirectory() ?? false;
|
|
4657
|
+
}
|
|
4658
|
+
__name(isDirectory, "isDirectory");
|
|
4659
|
+
function removeDir(dirPath, { fireAndForget = false } = {}) {
|
|
4660
|
+
const result = fs.promises.rm(dirPath, {
|
|
4661
|
+
recursive: true,
|
|
4662
|
+
force: true,
|
|
4663
|
+
maxRetries: 5,
|
|
4664
|
+
retryDelay: 100
|
|
4665
|
+
});
|
|
4666
|
+
if (fireAndForget) result.catch(() => {});
|
|
4667
|
+
else return result;
|
|
4668
|
+
}
|
|
4669
|
+
__name(removeDir, "removeDir");
|
|
4670
|
+
function removeDirSync(dirPath) {
|
|
4671
|
+
fs.rmSync(dirPath, {
|
|
4672
|
+
recursive: true,
|
|
4673
|
+
force: true,
|
|
4674
|
+
maxRetries: 5,
|
|
4675
|
+
retryDelay: 100
|
|
4676
|
+
});
|
|
4677
|
+
}
|
|
4678
|
+
__name(removeDirSync, "removeDirSync");
|
|
4649
4679
|
|
|
4650
4680
|
//#endregion
|
|
4651
4681
|
//#region ../workers-utils/dist/index.mjs
|
|
@@ -5238,6 +5268,7 @@ var defaultWranglerConfig = {
|
|
|
5238
5268
|
upload_source_maps: void 0,
|
|
5239
5269
|
assets: void 0,
|
|
5240
5270
|
observability: { enabled: true },
|
|
5271
|
+
cache: void 0,
|
|
5241
5272
|
compliance_region: void 0,
|
|
5242
5273
|
python_modules: { exclude: ["**/*.pyc"] },
|
|
5243
5274
|
define: {},
|
|
@@ -5270,10 +5301,6 @@ __export(mod_esm_exports, { default: () => mod_esm_default });
|
|
|
5270
5301
|
var import_mod_cjs = __toESM(require_mod_cjs3(), 1);
|
|
5271
5302
|
__reExport(mod_esm_exports, __toESM(require_mod_cjs3(), 1));
|
|
5272
5303
|
var mod_esm_default = import_mod_cjs.default;
|
|
5273
|
-
function isDirectory(path4) {
|
|
5274
|
-
return fs.statSync(path4, { throwIfNoEntry: false })?.isDirectory() ?? false;
|
|
5275
|
-
}
|
|
5276
|
-
__name(isDirectory, "isDirectory");
|
|
5277
5304
|
function getGlobalWranglerConfigPath() {
|
|
5278
5305
|
const configDir = mod_esm_default(".wrangler").config();
|
|
5279
5306
|
const legacyConfigDir = path3.join(os.homedir(), ".wrangler");
|
|
@@ -6137,6 +6164,7 @@ var validateStreamingTailConsumers = /* @__PURE__ */ __name((diagnostics, field,
|
|
|
6137
6164
|
function normalizeAndValidateEnvironment(diagnostics, configPath, rawEnv, isDispatchNamespace, preserveOriginalMain, envName = "top level", topLevelEnv, useServiceEnvironments, rawConfig) {
|
|
6138
6165
|
deprecated(diagnostics, rawEnv, "node_compat", `The "node_compat" field is no longer supported as of Wrangler v4. Instead, use the \`nodejs_compat\` compatibility flag. This includes the functionality from legacy \`node_compat\` polyfills and natively implemented Node.js APIs. See https://developers.cloudflare.com/workers/runtime-apis/nodejs for more information.`, true, "Removed", "error");
|
|
6139
6166
|
experimental(diagnostics, rawEnv, "unsafe");
|
|
6167
|
+
experimental(diagnostics, rawEnv, "secrets");
|
|
6140
6168
|
const route = normalizeAndValidateRoute(diagnostics, topLevelEnv, rawEnv);
|
|
6141
6169
|
const account_id = inheritableInWranglerEnvironments(diagnostics, useServiceEnvironments, topLevelEnv, mutateEmptyStringAccountIDValue(diagnostics, rawEnv), "account_id", isString$2, void 0, void 0);
|
|
6142
6170
|
const routes = validateRoutes(diagnostics, topLevelEnv, rawEnv);
|
|
@@ -6166,6 +6194,7 @@ function normalizeAndValidateEnvironment(diagnostics, configPath, rawEnv, isDisp
|
|
|
6166
6194
|
workers_dev,
|
|
6167
6195
|
preview_urls,
|
|
6168
6196
|
vars: notInheritable(diagnostics, topLevelEnv, rawConfig, rawEnv, envName, "vars", validateVars(envName), {}),
|
|
6197
|
+
secrets: notInheritable(diagnostics, topLevelEnv, rawConfig, rawEnv, envName, "secrets", validateSecrets(envName), void 0),
|
|
6169
6198
|
define: notInheritable(diagnostics, topLevelEnv, rawConfig, rawEnv, envName, "define", validateDefines(envName), {}),
|
|
6170
6199
|
durable_objects: notInheritable(diagnostics, topLevelEnv, rawConfig, rawEnv, envName, "durable_objects", validateBindingsProperty(envName, validateDurableObjectBinding), { bindings: [] }),
|
|
6171
6200
|
workflows: notInheritable(diagnostics, topLevelEnv, rawConfig, rawEnv, envName, "workflows", all(validateBindingArray(envName, validateWorkflowBinding), validateUniqueNameProperty), []),
|
|
@@ -6208,6 +6237,7 @@ function normalizeAndValidateEnvironment(diagnostics, configPath, rawEnv, isDisp
|
|
|
6208
6237
|
logpush: inheritable(diagnostics, topLevelEnv, rawEnv, "logpush", isBoolean, void 0),
|
|
6209
6238
|
upload_source_maps: inheritable(diagnostics, topLevelEnv, rawEnv, "upload_source_maps", isBoolean, void 0),
|
|
6210
6239
|
observability: inheritable(diagnostics, topLevelEnv, rawEnv, "observability", validateObservability, void 0),
|
|
6240
|
+
cache: inheritable(diagnostics, topLevelEnv, rawEnv, "cache", validateCache, void 0),
|
|
6211
6241
|
compliance_region: inheritable(diagnostics, topLevelEnv, rawEnv, "compliance_region", isOneOf("public", "fedramp_high"), void 0),
|
|
6212
6242
|
python_modules: inheritable(diagnostics, topLevelEnv, rawEnv, "python_modules", validatePythonModules, { exclude: ["**/*.pyc"] })
|
|
6213
6243
|
};
|
|
@@ -6323,6 +6353,18 @@ Please add "vars.${varName}" to "env.${envName}".`);
|
|
|
6323
6353
|
}
|
|
6324
6354
|
return isValid$1;
|
|
6325
6355
|
}, "validateVars");
|
|
6356
|
+
var validateSecrets = /* @__PURE__ */ __name((envName) => (diagnostics, field, value, config) => {
|
|
6357
|
+
const fieldPath = config === void 0 ? `${field}` : `env.${envName}.${field}`;
|
|
6358
|
+
if (value === void 0) return true;
|
|
6359
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
6360
|
+
diagnostics.errors.push(`The field "${fieldPath}" should be an object but got ${JSON.stringify(value)}.`);
|
|
6361
|
+
return false;
|
|
6362
|
+
}
|
|
6363
|
+
let isValid$1 = true;
|
|
6364
|
+
validateAdditionalProperties(diagnostics, fieldPath, Object.keys(value), ["required"]);
|
|
6365
|
+
isValid$1 = validateOptionalTypedArray(diagnostics, `${fieldPath}.required`, value.required, "string") && isValid$1;
|
|
6366
|
+
return isValid$1;
|
|
6367
|
+
}, "validateSecrets");
|
|
6326
6368
|
var validateBindingsProperty = /* @__PURE__ */ __name((envName, validateBinding) => (diagnostics, field, value, config) => {
|
|
6327
6369
|
let isValid$1 = true;
|
|
6328
6370
|
const fieldPath = config === void 0 ? `${field}` : `env.${envName}.${field}`;
|
|
@@ -7063,6 +7105,7 @@ var validateBindingsHaveUniqueNames = /* @__PURE__ */ __name((diagnostics, confi
|
|
|
7063
7105
|
let hasDuplicates = false;
|
|
7064
7106
|
const bindingNamesArray = Object.entries(friendlyBindingNames);
|
|
7065
7107
|
const bindingsGroupedByType = Object.fromEntries(bindingNamesArray.map(([bindingType, binding]) => [binding, getBindingNames(bindingType === "queues" ? config[bindingType]?.producers : config[bindingType])]));
|
|
7108
|
+
bindingsGroupedByType["Secret"] = config.secrets?.required ?? [];
|
|
7066
7109
|
const bindingsGroupedByName = {};
|
|
7067
7110
|
for (const bindingType in bindingsGroupedByType) {
|
|
7068
7111
|
const bindingNames = bindingsGroupedByType[bindingType];
|
|
@@ -7500,6 +7543,18 @@ var validateObservability = /* @__PURE__ */ __name((diagnostics, field, value) =
|
|
|
7500
7543
|
if (samplingRate && (samplingRate < 0 || samplingRate > 1)) diagnostics.errors.push(`"${field}.head_sampling_rate" must be a value between 0 and 1.`);
|
|
7501
7544
|
return isValid$1;
|
|
7502
7545
|
}, "validateObservability");
|
|
7546
|
+
var validateCache = /* @__PURE__ */ __name((diagnostics, field, value) => {
|
|
7547
|
+
if (value === void 0) return true;
|
|
7548
|
+
if (typeof value !== "object" || value === null) {
|
|
7549
|
+
diagnostics.errors.push(`"${field}" should be an object but got ${JSON.stringify(value)}.`);
|
|
7550
|
+
return false;
|
|
7551
|
+
}
|
|
7552
|
+
const val = value;
|
|
7553
|
+
let isValid$1 = true;
|
|
7554
|
+
isValid$1 = validateRequiredProperty(diagnostics, field, "enabled", val.enabled, "boolean") && isValid$1;
|
|
7555
|
+
isValid$1 = validateAdditionalProperties(diagnostics, field, Object.keys(val), ["enabled"]) && isValid$1;
|
|
7556
|
+
return isValid$1;
|
|
7557
|
+
}, "validateCache");
|
|
7503
7558
|
function warnIfDurableObjectsHaveNoMigrations(diagnostics, durableObjects, migrations, configPath) {
|
|
7504
7559
|
if (Array.isArray(durableObjects.bindings) && durableObjects.bindings.length > 0) {
|
|
7505
7560
|
const exportedDurableObjects = (durableObjects.bindings || []).filter((binding) => !binding.script_name);
|
|
@@ -23199,13 +23254,6 @@ const generateStaticRoutingRuleMatcher = (rules) => ({ request: request$1 }) =>
|
|
|
23199
23254
|
return false;
|
|
23200
23255
|
};
|
|
23201
23256
|
|
|
23202
|
-
//#endregion
|
|
23203
|
-
//#region src/constants.ts
|
|
23204
|
-
const ROUTER_WORKER_NAME = "__router-worker__";
|
|
23205
|
-
const ASSET_WORKER_NAME = "__asset-worker__";
|
|
23206
|
-
const VITE_PROXY_WORKER_NAME = "__vite_proxy_worker__";
|
|
23207
|
-
const kRequestType = Symbol("kRequestType");
|
|
23208
|
-
|
|
23209
23257
|
//#endregion
|
|
23210
23258
|
//#region src/containers.ts
|
|
23211
23259
|
/**
|
|
@@ -26017,7 +26065,7 @@ async function getDevMiniflareOptions(ctx, viteDevServer) {
|
|
|
26017
26065
|
return {
|
|
26018
26066
|
miniflareOptions: {
|
|
26019
26067
|
log: logger,
|
|
26020
|
-
unsafeProxySharedSecret:
|
|
26068
|
+
unsafeProxySharedSecret: PROXY_SHARED_SECRET,
|
|
26021
26069
|
logRequests: false,
|
|
26022
26070
|
inspectorPort: inputInspectorPort === false ? void 0 : inputInspectorPort,
|
|
26023
26071
|
unsafeDevRegistryPath: getDefaultDevRegistryPath(),
|
|
@@ -26122,7 +26170,7 @@ async function getPreviewMiniflareOptions(ctx, vitePreviewServer) {
|
|
|
26122
26170
|
return {
|
|
26123
26171
|
miniflareOptions: {
|
|
26124
26172
|
log: logger,
|
|
26125
|
-
unsafeProxySharedSecret:
|
|
26173
|
+
unsafeProxySharedSecret: PROXY_SHARED_SECRET,
|
|
26126
26174
|
inspectorPort: inputInspectorPort === false ? void 0 : inputInspectorPort,
|
|
26127
26175
|
unsafeDevRegistryPath: getDefaultDevRegistryPath(),
|
|
26128
26176
|
unsafeTriggerHandlers: true,
|
|
@@ -26263,7 +26311,7 @@ const devPlugin = createPlugin("dev", (ctx) => {
|
|
|
26263
26311
|
if (staticRouting) {
|
|
26264
26312
|
const excludeRulesMatcher = generateStaticRoutingRuleMatcher(staticRouting.asset_worker ?? []);
|
|
26265
26313
|
const includeRulesMatcher = generateStaticRoutingRuleMatcher(staticRouting.user_worker);
|
|
26266
|
-
const userWorkerHandler = createRequestHandler(
|
|
26314
|
+
const userWorkerHandler = createRequestHandler(async (request$1) => {
|
|
26267
26315
|
request$1.headers.set(CoreHeaders.ROUTE_OVERRIDE, entryWorkerName);
|
|
26268
26316
|
return ctx.miniflare.dispatchFetch(request$1, { redirect: "manual" });
|
|
26269
26317
|
});
|
|
@@ -26305,7 +26353,7 @@ const devPlugin = createPlugin("dev", (ctx) => {
|
|
|
26305
26353
|
handle: preMiddleware
|
|
26306
26354
|
});
|
|
26307
26355
|
}
|
|
26308
|
-
viteDevServer.middlewares.use(createRequestHandler(
|
|
26356
|
+
viteDevServer.middlewares.use(createRequestHandler(async (request$1, req) => {
|
|
26309
26357
|
if (req[kRequestType] === "asset") {
|
|
26310
26358
|
request$1.headers.set(CoreHeaders.ROUTE_OVERRIDE, ASSET_WORKER_NAME);
|
|
26311
26359
|
return ctx.miniflare.dispatchFetch(request$1, { redirect: "manual" });
|
|
@@ -26465,10 +26513,12 @@ const outputConfigPlugin = createPlugin("output-config", (ctx) => {
|
|
|
26465
26513
|
});
|
|
26466
26514
|
}
|
|
26467
26515
|
} else if (this.environment.name === "client") {
|
|
26516
|
+
const filesToAssetsIgnore = ["wrangler.json", ".dev.vars"];
|
|
26517
|
+
const existingAssetsIgnoreContent = ctx.resolvedViteConfig.publicDir.length > 0 ? readAssetsIgnoreFile(nodePath.join(ctx.resolvedViteConfig.publicDir, ".assetsignore")) : "";
|
|
26468
26518
|
this.emitFile({
|
|
26469
26519
|
type: "asset",
|
|
26470
26520
|
fileName: ".assetsignore",
|
|
26471
|
-
source: `${
|
|
26521
|
+
source: `${existingAssetsIgnoreContent}${filesToAssetsIgnore.join("\n")}\n`
|
|
26472
26522
|
});
|
|
26473
26523
|
if (ctx.resolvedPluginConfig.type === "assets-only") {
|
|
26474
26524
|
const inputAssetsOnlyConfig = ctx.resolvedPluginConfig.config;
|
|
@@ -26495,6 +26545,11 @@ const outputConfigPlugin = createPlugin("output-config", (ctx) => {
|
|
|
26495
26545
|
}
|
|
26496
26546
|
};
|
|
26497
26547
|
});
|
|
26548
|
+
function readAssetsIgnoreFile(assetsIgnorePath) {
|
|
26549
|
+
const content = existsSync(assetsIgnorePath) ? readFileSync(assetsIgnorePath, "utf-8") : "";
|
|
26550
|
+
if (content.length === 0) return "";
|
|
26551
|
+
return content.at(-1) === "\n" ? content : `${content}\n`;
|
|
26552
|
+
}
|
|
26498
26553
|
function getAssetsDirectory(workerOutputDirectory, resolvedViteConfig) {
|
|
26499
26554
|
const clientOutputDirectory = resolvedViteConfig.environments.client?.build.outDir;
|
|
26500
26555
|
assert(clientOutputDirectory, "Unexpected error: client output directory is undefined");
|
|
@@ -26538,7 +26593,7 @@ const previewPlugin = createPlugin("preview", (ctx) => {
|
|
|
26538
26593
|
};
|
|
26539
26594
|
}
|
|
26540
26595
|
handleWebSocket(vitePreviewServer.httpServer, ctx.miniflare);
|
|
26541
|
-
vitePreviewServer.middlewares.use(createRequestHandler(
|
|
26596
|
+
vitePreviewServer.middlewares.use(createRequestHandler((request$1) => {
|
|
26542
26597
|
return ctx.miniflare.dispatchFetch(request$1, { redirect: "manual" });
|
|
26543
26598
|
}));
|
|
26544
26599
|
} };
|
|
@@ -26618,7 +26673,7 @@ const triggerHandlersPlugin = createPlugin("trigger-handlers", (ctx) => {
|
|
|
26618
26673
|
const entryWorkerConfig = ctx.entryWorkerConfig;
|
|
26619
26674
|
if (!entryWorkerConfig) return;
|
|
26620
26675
|
const entryWorkerName = entryWorkerConfig.name;
|
|
26621
|
-
const requestHandler = createRequestHandler(
|
|
26676
|
+
const requestHandler = createRequestHandler((request$1) => {
|
|
26622
26677
|
request$1.headers.set(CoreHeaders.ROUTE_OVERRIDE, entryWorkerName);
|
|
26623
26678
|
return ctx.miniflare.dispatchFetch(request$1, { redirect: "manual" });
|
|
26624
26679
|
});
|
|
@@ -26658,7 +26713,7 @@ const wasmHelperPlugin = createPlugin("wasm-helper", (ctx) => {
|
|
|
26658
26713
|
//#region src/index.ts
|
|
26659
26714
|
const sharedContext = {
|
|
26660
26715
|
hasShownWorkerConfigWarnings: false,
|
|
26661
|
-
|
|
26716
|
+
restartingDevServerCount: 0
|
|
26662
26717
|
};
|
|
26663
26718
|
await assertWranglerVersion();
|
|
26664
26719
|
/**
|
|
@@ -26682,12 +26737,12 @@ function cloudflare(pluginConfig = {}) {
|
|
|
26682
26737
|
const restartServer = viteDevServer.restart.bind(viteDevServer);
|
|
26683
26738
|
viteDevServer.restart = async () => {
|
|
26684
26739
|
try {
|
|
26685
|
-
ctx.
|
|
26740
|
+
ctx.beginRestartingDevServer();
|
|
26686
26741
|
debuglog("From server.restart(): Restarting server...");
|
|
26687
26742
|
await restartServer();
|
|
26688
26743
|
debuglog("From server.restart(): Restarted server...");
|
|
26689
26744
|
} finally {
|
|
26690
|
-
ctx.
|
|
26745
|
+
ctx.endRestartingDevServer();
|
|
26691
26746
|
}
|
|
26692
26747
|
};
|
|
26693
26748
|
}
|