@cloudflare/vite-plugin 0.0.0-d34ef3d5b → 0.0.0-d3a6eb30e
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/asset-workers/asset-worker.js +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +197 -142
- package/dist/runner-worker/index.js +2 -2
- package/package.json +8 -8
|
@@ -2476,7 +2476,7 @@ var ADDITIONAL_MODULE_TYPES = [
|
|
|
2476
2476
|
|
|
2477
2477
|
// src/shared.ts
|
|
2478
2478
|
var UNKNOWN_HOST = "http://localhost";
|
|
2479
|
-
var ADDITIONAL_MODULE_PATTERN = `__CLOUDFLARE_MODULE__(${ADDITIONAL_MODULE_TYPES.join("|")})__(.*?)
|
|
2479
|
+
var ADDITIONAL_MODULE_PATTERN = `__CLOUDFLARE_MODULE__(${ADDITIONAL_MODULE_TYPES.join("|")})__(.*?)__CLOUDFLARE_MODULE__`;
|
|
2480
2480
|
var additionalModuleRE = new RegExp(ADDITIONAL_MODULE_PATTERN);
|
|
2481
2481
|
var additionalModuleGlobalRE = new RegExp(
|
|
2482
2482
|
ADDITIONAL_MODULE_PATTERN,
|
package/dist/index.d.ts
CHANGED
|
@@ -21,6 +21,8 @@ interface PluginConfig extends EntryWorkerConfig {
|
|
|
21
21
|
experimental?: {
|
|
22
22
|
/** Experimental support for handling the _headers and _redirects files during Vite dev mode. */
|
|
23
23
|
headersAndRedirectsDevModeSupport?: boolean;
|
|
24
|
+
/** Experimental support for mixed mode (where bindings configured with `remote: true` access remote resources). */
|
|
25
|
+
mixedMode?: boolean;
|
|
24
26
|
};
|
|
25
27
|
}
|
|
26
28
|
|
package/dist/index.js
CHANGED
|
@@ -489,7 +489,7 @@ import assert10 from "node:assert";
|
|
|
489
489
|
import * as fs5 from "node:fs";
|
|
490
490
|
import * as fsp2 from "node:fs/promises";
|
|
491
491
|
import * as path9 from "node:path";
|
|
492
|
-
import {
|
|
492
|
+
import { createRequest, sendResponse } from "@mjackson/node-fetch-server";
|
|
493
493
|
import replace from "@rollup/plugin-replace";
|
|
494
494
|
|
|
495
495
|
// ../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.0/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs
|
|
@@ -1558,7 +1558,7 @@ var MagicString = class _MagicString {
|
|
|
1558
1558
|
|
|
1559
1559
|
// src/index.ts
|
|
1560
1560
|
import { Miniflare } from "miniflare";
|
|
1561
|
-
import
|
|
1561
|
+
import colors3 from "picocolors";
|
|
1562
1562
|
import * as vite7 from "vite";
|
|
1563
1563
|
|
|
1564
1564
|
// src/constants.ts
|
|
@@ -1589,7 +1589,7 @@ function matchAdditionalModule(source) {
|
|
|
1589
1589
|
return null;
|
|
1590
1590
|
}
|
|
1591
1591
|
function createModuleReference(type, id) {
|
|
1592
|
-
return `__CLOUDFLARE_MODULE__${type}__${id}
|
|
1592
|
+
return `__CLOUDFLARE_MODULE__${type}__${id}__CLOUDFLARE_MODULE__`;
|
|
1593
1593
|
}
|
|
1594
1594
|
|
|
1595
1595
|
// src/asset-config.ts
|
|
@@ -12993,7 +12993,7 @@ var NodeJsCompatWarnings = class {
|
|
|
12993
12993
|
// src/shared.ts
|
|
12994
12994
|
var UNKNOWN_HOST = "http://localhost";
|
|
12995
12995
|
var INIT_PATH = "/__vite_plugin_cloudflare_init__";
|
|
12996
|
-
var ADDITIONAL_MODULE_PATTERN = `__CLOUDFLARE_MODULE__(${ADDITIONAL_MODULE_TYPES.join("|")})__(.*?)
|
|
12996
|
+
var ADDITIONAL_MODULE_PATTERN = `__CLOUDFLARE_MODULE__(${ADDITIONAL_MODULE_TYPES.join("|")})__(.*?)__CLOUDFLARE_MODULE__`;
|
|
12997
12997
|
var additionalModuleRE = new RegExp(ADDITIONAL_MODULE_PATTERN);
|
|
12998
12998
|
var additionalModuleGlobalRE = new RegExp(
|
|
12999
12999
|
ADDITIONAL_MODULE_PATTERN,
|
|
@@ -13029,19 +13029,6 @@ function toMiniflareRequest(request) {
|
|
|
13029
13029
|
duplex: "half"
|
|
13030
13030
|
});
|
|
13031
13031
|
}
|
|
13032
|
-
function nodeHeadersToWebHeaders(nodeHeaders) {
|
|
13033
|
-
const headers = new Headers();
|
|
13034
|
-
for (const [key, value] of Object.entries(nodeHeaders)) {
|
|
13035
|
-
if (typeof value === "string") {
|
|
13036
|
-
headers.append(key, value);
|
|
13037
|
-
} else if (Array.isArray(value)) {
|
|
13038
|
-
for (const item of value) {
|
|
13039
|
-
headers.append(key, item);
|
|
13040
|
-
}
|
|
13041
|
-
}
|
|
13042
|
-
}
|
|
13043
|
-
return headers;
|
|
13044
|
-
}
|
|
13045
13032
|
var postfixRE = /[?#].*$/;
|
|
13046
13033
|
function cleanUrl(url) {
|
|
13047
13034
|
return url.replace(postfixRE, "");
|
|
@@ -13355,12 +13342,18 @@ import {
|
|
|
13355
13342
|
LogLevel,
|
|
13356
13343
|
Response as MiniflareResponse
|
|
13357
13344
|
} from "miniflare";
|
|
13345
|
+
import colors2 from "picocolors";
|
|
13358
13346
|
import { globSync } from "tinyglobby";
|
|
13359
13347
|
import "vite";
|
|
13360
|
-
import {
|
|
13361
|
-
|
|
13348
|
+
import {
|
|
13349
|
+
experimental_pickRemoteBindings,
|
|
13350
|
+
experimental_startMixedModeSession,
|
|
13351
|
+
unstable_convertConfigBindingsToStartWorkerBindings,
|
|
13352
|
+
unstable_getMiniflareWorkerOptions
|
|
13353
|
+
} from "wrangler";
|
|
13354
|
+
function getPersistenceRoot(root, persistState) {
|
|
13362
13355
|
if (persistState === false) {
|
|
13363
|
-
return
|
|
13356
|
+
return;
|
|
13364
13357
|
}
|
|
13365
13358
|
const defaultPersistPath = ".wrangler/state";
|
|
13366
13359
|
const persistPath = path6.resolve(
|
|
@@ -13368,14 +13361,7 @@ function getPersistence(root, persistState) {
|
|
|
13368
13361
|
typeof persistState === "object" ? persistState.path : defaultPersistPath,
|
|
13369
13362
|
"v3"
|
|
13370
13363
|
);
|
|
13371
|
-
return
|
|
13372
|
-
cachePersist: path6.join(persistPath, "cache"),
|
|
13373
|
-
d1Persist: path6.join(persistPath, "d1"),
|
|
13374
|
-
durableObjectsPersist: path6.join(persistPath, "do"),
|
|
13375
|
-
kvPersist: path6.join(persistPath, "kv"),
|
|
13376
|
-
r2Persist: path6.join(persistPath, "r2"),
|
|
13377
|
-
workflowsPersist: path6.join(persistPath, "workflows")
|
|
13378
|
-
};
|
|
13364
|
+
return persistPath;
|
|
13379
13365
|
}
|
|
13380
13366
|
function missingWorkerErrorMessage(workerName) {
|
|
13381
13367
|
return `${workerName} does not match a worker name.`;
|
|
@@ -13459,7 +13445,30 @@ function getEntryWorkerConfig(resolvedPluginConfig) {
|
|
|
13459
13445
|
}
|
|
13460
13446
|
return resolvedPluginConfig.workers[resolvedPluginConfig.entryWorkerEnvironmentName];
|
|
13461
13447
|
}
|
|
13462
|
-
function
|
|
13448
|
+
function filterTails(tails, userWorkers, log) {
|
|
13449
|
+
return tails?.filter((tailService) => {
|
|
13450
|
+
let name;
|
|
13451
|
+
if (typeof tailService === "string") {
|
|
13452
|
+
name = tailService;
|
|
13453
|
+
} else if (typeof tailService === "object" && "name" in tailService && typeof tailService.name === "string") {
|
|
13454
|
+
name = tailService.name;
|
|
13455
|
+
} else {
|
|
13456
|
+
return true;
|
|
13457
|
+
}
|
|
13458
|
+
const found = userWorkers.some((w) => w.name === name);
|
|
13459
|
+
if (!found) {
|
|
13460
|
+
log(
|
|
13461
|
+
colors2.dim(
|
|
13462
|
+
colors2.yellow(
|
|
13463
|
+
`Tail consumer "${name}" was not found in your config. Make sure you add it if you'd like to simulate receiving tail events locally.`
|
|
13464
|
+
)
|
|
13465
|
+
)
|
|
13466
|
+
);
|
|
13467
|
+
}
|
|
13468
|
+
return found;
|
|
13469
|
+
});
|
|
13470
|
+
}
|
|
13471
|
+
async function getDevMiniflareOptions(resolvedPluginConfig, viteDevServer, inspectorPort) {
|
|
13463
13472
|
const resolvedViteConfig = viteDevServer.config;
|
|
13464
13473
|
const entryWorkerConfig = getEntryWorkerConfig(resolvedPluginConfig);
|
|
13465
13474
|
const assetsConfig = getAssetsConfig(
|
|
@@ -13535,53 +13544,59 @@ function getDevMiniflareOptions(resolvedPluginConfig, viteDevServer, inspectorPo
|
|
|
13535
13544
|
}
|
|
13536
13545
|
}
|
|
13537
13546
|
];
|
|
13538
|
-
const workersFromConfig = resolvedPluginConfig.type === "workers" ?
|
|
13539
|
-
(
|
|
13540
|
-
|
|
13541
|
-
|
|
13542
|
-
|
|
13543
|
-
|
|
13544
|
-
|
|
13545
|
-
|
|
13546
|
-
|
|
13547
|
-
|
|
13548
|
-
|
|
13549
|
-
|
|
13550
|
-
|
|
13551
|
-
|
|
13552
|
-
|
|
13553
|
-
|
|
13554
|
-
|
|
13555
|
-
|
|
13556
|
-
|
|
13557
|
-
|
|
13558
|
-
|
|
13559
|
-
|
|
13560
|
-
|
|
13561
|
-
|
|
13562
|
-
|
|
13563
|
-
|
|
13564
|
-
|
|
13565
|
-
|
|
13566
|
-
|
|
13567
|
-
|
|
13568
|
-
|
|
13569
|
-
|
|
13570
|
-
|
|
13571
|
-
|
|
13572
|
-
|
|
13573
|
-
|
|
13574
|
-
|
|
13575
|
-
|
|
13547
|
+
const workersFromConfig = resolvedPluginConfig.type === "workers" ? await Promise.all(
|
|
13548
|
+
Object.entries(resolvedPluginConfig.workers).map(
|
|
13549
|
+
async ([environmentName, workerConfig]) => {
|
|
13550
|
+
const mixedModeSession = resolvedPluginConfig.experimental.mixedMode ? await maybeStartOrUpdateMixedModeSession(workerConfig) : void 0;
|
|
13551
|
+
const miniflareWorkerOptions = unstable_getMiniflareWorkerOptions(
|
|
13552
|
+
{
|
|
13553
|
+
...workerConfig,
|
|
13554
|
+
assets: void 0
|
|
13555
|
+
},
|
|
13556
|
+
resolvedPluginConfig.cloudflareEnv,
|
|
13557
|
+
{
|
|
13558
|
+
mixedModeConnectionString: mixedModeSession?.mixedModeConnectionString
|
|
13559
|
+
}
|
|
13560
|
+
);
|
|
13561
|
+
const { externalWorkers: externalWorkers2 } = miniflareWorkerOptions;
|
|
13562
|
+
const { ratelimits, ...workerOptions } = miniflareWorkerOptions.workerOptions;
|
|
13563
|
+
return {
|
|
13564
|
+
externalWorkers: externalWorkers2,
|
|
13565
|
+
worker: {
|
|
13566
|
+
...workerOptions,
|
|
13567
|
+
name: workerOptions.name ?? workerConfig.name,
|
|
13568
|
+
unsafeInspectorProxy: inspectorPort !== false,
|
|
13569
|
+
modulesRoot: miniflareModulesRoot,
|
|
13570
|
+
unsafeEvalBinding: "__VITE_UNSAFE_EVAL__",
|
|
13571
|
+
serviceBindings: {
|
|
13572
|
+
...workerOptions.serviceBindings,
|
|
13573
|
+
...environmentName === resolvedPluginConfig.entryWorkerEnvironmentName && workerConfig.assets?.binding ? {
|
|
13574
|
+
[workerConfig.assets.binding]: ASSET_WORKER_NAME
|
|
13575
|
+
} : {},
|
|
13576
|
+
__VITE_INVOKE_MODULE__: async (request) => {
|
|
13577
|
+
const payload = await request.json();
|
|
13578
|
+
const invokePayloadData = payload.data;
|
|
13579
|
+
assert6(
|
|
13580
|
+
invokePayloadData.name === "fetchModule",
|
|
13581
|
+
`Invalid invoke event: ${invokePayloadData.name}`
|
|
13582
|
+
);
|
|
13583
|
+
const [moduleId] = invokePayloadData.data;
|
|
13584
|
+
if (additionalModuleRE.test(moduleId)) {
|
|
13585
|
+
const result2 = {
|
|
13586
|
+
externalize: moduleId,
|
|
13587
|
+
type: "module"
|
|
13588
|
+
};
|
|
13589
|
+
return MiniflareResponse.json({ result: result2 });
|
|
13590
|
+
}
|
|
13591
|
+
const devEnvironment = viteDevServer.environments[environmentName];
|
|
13592
|
+
const result = await devEnvironment.hot.handleInvoke(payload);
|
|
13593
|
+
return MiniflareResponse.json(result);
|
|
13576
13594
|
}
|
|
13577
|
-
const devEnvironment = viteDevServer.environments[environmentName];
|
|
13578
|
-
const result = await devEnvironment.hot.handleInvoke(payload);
|
|
13579
|
-
return MiniflareResponse.json(result);
|
|
13580
13595
|
}
|
|
13581
13596
|
}
|
|
13582
|
-
}
|
|
13583
|
-
}
|
|
13584
|
-
|
|
13597
|
+
};
|
|
13598
|
+
}
|
|
13599
|
+
)
|
|
13585
13600
|
) : [];
|
|
13586
13601
|
const userWorkers = workersFromConfig.map((options) => options.worker);
|
|
13587
13602
|
const externalWorkers = workersFromConfig.flatMap(
|
|
@@ -13593,6 +13608,7 @@ function getDevMiniflareOptions(resolvedPluginConfig, viteDevServer, inspectorPo
|
|
|
13593
13608
|
const logger = new ViteMiniflareLogger(resolvedViteConfig);
|
|
13594
13609
|
return {
|
|
13595
13610
|
log: logger,
|
|
13611
|
+
logRequests: false,
|
|
13596
13612
|
inspectorPort: inspectorPort === false ? void 0 : inspectorPort,
|
|
13597
13613
|
unsafeInspectorProxy: inspectorPort !== false,
|
|
13598
13614
|
handleRuntimeStdio(stdout, stderr) {
|
|
@@ -13602,7 +13618,7 @@ function getDevMiniflareOptions(resolvedPluginConfig, viteDevServer, inspectorPo
|
|
|
13602
13618
|
(error) => logger.logWithLevel(LogLevel.ERROR, decoder.decode(error))
|
|
13603
13619
|
);
|
|
13604
13620
|
},
|
|
13605
|
-
|
|
13621
|
+
defaultPersistRoot: getPersistenceRoot(
|
|
13606
13622
|
resolvedViteConfig.root,
|
|
13607
13623
|
resolvedPluginConfig.persistState
|
|
13608
13624
|
),
|
|
@@ -13650,6 +13666,11 @@ function getDevMiniflareOptions(resolvedPluginConfig, viteDevServer, inspectorPo
|
|
|
13650
13666
|
}
|
|
13651
13667
|
return {
|
|
13652
13668
|
...workerOptions,
|
|
13669
|
+
tails: filterTails(
|
|
13670
|
+
workerOptions.tails,
|
|
13671
|
+
userWorkers,
|
|
13672
|
+
viteDevServer.config.logger.warn
|
|
13673
|
+
),
|
|
13653
13674
|
modules: [
|
|
13654
13675
|
{
|
|
13655
13676
|
type: "ESModule",
|
|
@@ -13731,22 +13752,36 @@ function getPreviewModules(main, modulesRules) {
|
|
|
13731
13752
|
]
|
|
13732
13753
|
};
|
|
13733
13754
|
}
|
|
13734
|
-
function getPreviewMiniflareOptions(vitePreviewServer, workerConfigs, persistState, inspectorPort) {
|
|
13755
|
+
async function getPreviewMiniflareOptions(vitePreviewServer, workerConfigs, persistState, mixedModeEnabled, inspectorPort) {
|
|
13735
13756
|
const resolvedViteConfig = vitePreviewServer.config;
|
|
13736
|
-
const workers =
|
|
13737
|
-
|
|
13738
|
-
|
|
13739
|
-
|
|
13740
|
-
|
|
13741
|
-
|
|
13742
|
-
|
|
13743
|
-
|
|
13744
|
-
|
|
13745
|
-
|
|
13746
|
-
}
|
|
13747
|
-
...
|
|
13748
|
-
|
|
13749
|
-
|
|
13757
|
+
const workers = (await Promise.all(
|
|
13758
|
+
workerConfigs.map(async (workerConfig) => {
|
|
13759
|
+
const mixedModeSession = mixedModeEnabled ? await maybeStartOrUpdateMixedModeSession(workerConfig) : void 0;
|
|
13760
|
+
const miniflareWorkerOptions = unstable_getMiniflareWorkerOptions(
|
|
13761
|
+
workerConfig,
|
|
13762
|
+
void 0,
|
|
13763
|
+
{
|
|
13764
|
+
mixedModeConnectionString: mixedModeSession?.mixedModeConnectionString
|
|
13765
|
+
}
|
|
13766
|
+
);
|
|
13767
|
+
const { externalWorkers } = miniflareWorkerOptions;
|
|
13768
|
+
const { ratelimits, modulesRules, ...workerOptions } = miniflareWorkerOptions.workerOptions;
|
|
13769
|
+
return [
|
|
13770
|
+
{
|
|
13771
|
+
...workerOptions,
|
|
13772
|
+
tails: filterTails(
|
|
13773
|
+
workerOptions.tails,
|
|
13774
|
+
workerConfigs,
|
|
13775
|
+
vitePreviewServer.config.logger.warn
|
|
13776
|
+
),
|
|
13777
|
+
name: workerOptions.name ?? workerConfig.name,
|
|
13778
|
+
unsafeInspectorProxy: inspectorPort !== false,
|
|
13779
|
+
...miniflareWorkerOptions.main ? getPreviewModules(miniflareWorkerOptions.main, modulesRules) : { modules: true, script: "" }
|
|
13780
|
+
},
|
|
13781
|
+
...externalWorkers
|
|
13782
|
+
];
|
|
13783
|
+
})
|
|
13784
|
+
)).flat();
|
|
13750
13785
|
const logger = new ViteMiniflareLogger(resolvedViteConfig);
|
|
13751
13786
|
return {
|
|
13752
13787
|
log: logger,
|
|
@@ -13759,11 +13794,13 @@ function getPreviewMiniflareOptions(vitePreviewServer, workerConfigs, persistSta
|
|
|
13759
13794
|
(error) => logger.logWithLevel(LogLevel.ERROR, decoder.decode(error))
|
|
13760
13795
|
);
|
|
13761
13796
|
},
|
|
13762
|
-
|
|
13797
|
+
defaultPersistRoot: getPersistenceRoot(
|
|
13798
|
+
resolvedViteConfig.root,
|
|
13799
|
+
persistState
|
|
13800
|
+
),
|
|
13763
13801
|
workers
|
|
13764
13802
|
};
|
|
13765
13803
|
}
|
|
13766
|
-
var removedMessages = [/^Ready on http/, /^Updated and ready on http/];
|
|
13767
13804
|
var ViteMiniflareLogger = class extends Log {
|
|
13768
13805
|
logger;
|
|
13769
13806
|
constructor(config) {
|
|
@@ -13771,11 +13808,6 @@ var ViteMiniflareLogger = class extends Log {
|
|
|
13771
13808
|
this.logger = config.logger;
|
|
13772
13809
|
}
|
|
13773
13810
|
logWithLevel(level, message) {
|
|
13774
|
-
for (const removedMessage of removedMessages) {
|
|
13775
|
-
if (removedMessage.test(message)) {
|
|
13776
|
-
return;
|
|
13777
|
-
}
|
|
13778
|
-
}
|
|
13779
13811
|
switch (level) {
|
|
13780
13812
|
case LogLevel.ERROR:
|
|
13781
13813
|
return this.logger.error(message);
|
|
@@ -13785,6 +13817,8 @@ var ViteMiniflareLogger = class extends Log {
|
|
|
13785
13817
|
return this.logger.info(message);
|
|
13786
13818
|
}
|
|
13787
13819
|
}
|
|
13820
|
+
logReady() {
|
|
13821
|
+
}
|
|
13788
13822
|
};
|
|
13789
13823
|
function miniflareLogLevelFromViteLogLevel(level = "info") {
|
|
13790
13824
|
switch (level) {
|
|
@@ -13798,6 +13832,24 @@ function miniflareLogLevelFromViteLogLevel(level = "info") {
|
|
|
13798
13832
|
return LogLevel.NONE;
|
|
13799
13833
|
}
|
|
13800
13834
|
}
|
|
13835
|
+
var mixedModeSessionsMap = /* @__PURE__ */ new Map();
|
|
13836
|
+
async function maybeStartOrUpdateMixedModeSession(workerConfig) {
|
|
13837
|
+
const workerRemoteBindings = experimental_pickRemoteBindings(
|
|
13838
|
+
unstable_convertConfigBindingsToStartWorkerBindings(workerConfig) ?? {}
|
|
13839
|
+
);
|
|
13840
|
+
assert6(workerConfig.name, "Found workerConfig without a name");
|
|
13841
|
+
let mixedModeSession = mixedModeSessionsMap.get(workerConfig.name);
|
|
13842
|
+
if (mixedModeSession === void 0) {
|
|
13843
|
+
if (Object.keys(workerRemoteBindings).length > 0) {
|
|
13844
|
+
mixedModeSession = await experimental_startMixedModeSession(workerRemoteBindings);
|
|
13845
|
+
mixedModeSessionsMap.set(workerConfig.name, mixedModeSession);
|
|
13846
|
+
}
|
|
13847
|
+
} else {
|
|
13848
|
+
await mixedModeSession.updateBindings(workerRemoteBindings);
|
|
13849
|
+
}
|
|
13850
|
+
await mixedModeSession?.ready;
|
|
13851
|
+
return mixedModeSession;
|
|
13852
|
+
}
|
|
13801
13853
|
|
|
13802
13854
|
// src/plugin-config.ts
|
|
13803
13855
|
import assert8 from "node:assert";
|
|
@@ -14148,6 +14200,7 @@ function resolvePluginConfig(pluginConfig, userConfig, viteEnv) {
|
|
|
14148
14200
|
}
|
|
14149
14201
|
|
|
14150
14202
|
// src/websockets.ts
|
|
14203
|
+
import { createHeaders } from "@mjackson/node-fetch-server";
|
|
14151
14204
|
import { coupleWebSocket } from "miniflare";
|
|
14152
14205
|
import { WebSocketServer } from "ws";
|
|
14153
14206
|
function handleWebSocket(httpServer, getFetcher) {
|
|
@@ -14159,7 +14212,7 @@ function handleWebSocket(httpServer, getFetcher) {
|
|
|
14159
14212
|
if (request.headers["sec-websocket-protocol"]?.startsWith("vite")) {
|
|
14160
14213
|
return;
|
|
14161
14214
|
}
|
|
14162
|
-
const headers =
|
|
14215
|
+
const headers = createHeaders(request);
|
|
14163
14216
|
const fetcher = await getFetcher();
|
|
14164
14217
|
const response = await fetcher(url, {
|
|
14165
14218
|
headers,
|
|
@@ -14426,50 +14479,47 @@ function cloudflare2(pluginConfig = {}) {
|
|
|
14426
14479
|
}
|
|
14427
14480
|
},
|
|
14428
14481
|
async configureServer(viteDevServer) {
|
|
14429
|
-
assert10(
|
|
14430
|
-
viteDevServer.httpServer,
|
|
14431
|
-
"Unexpected error: No Vite HTTP server"
|
|
14432
|
-
);
|
|
14433
14482
|
const inputInspectorPort = await getInputInspectorPortOption(
|
|
14434
14483
|
pluginConfig,
|
|
14435
14484
|
viteDevServer
|
|
14436
14485
|
);
|
|
14486
|
+
const miniflareDevOptions = await getDevMiniflareOptions(
|
|
14487
|
+
resolvedPluginConfig,
|
|
14488
|
+
viteDevServer,
|
|
14489
|
+
inputInspectorPort
|
|
14490
|
+
);
|
|
14437
14491
|
if (!miniflare) {
|
|
14438
|
-
miniflare = new Miniflare(
|
|
14439
|
-
getDevMiniflareOptions(
|
|
14440
|
-
resolvedPluginConfig,
|
|
14441
|
-
viteDevServer,
|
|
14442
|
-
inputInspectorPort
|
|
14443
|
-
)
|
|
14444
|
-
);
|
|
14492
|
+
miniflare = new Miniflare(miniflareDevOptions);
|
|
14445
14493
|
} else {
|
|
14446
|
-
await miniflare.setOptions(
|
|
14447
|
-
getDevMiniflareOptions(
|
|
14448
|
-
resolvedPluginConfig,
|
|
14449
|
-
viteDevServer,
|
|
14450
|
-
inputInspectorPort
|
|
14451
|
-
)
|
|
14452
|
-
);
|
|
14494
|
+
await miniflare.setOptions(miniflareDevOptions);
|
|
14453
14495
|
}
|
|
14454
14496
|
await initRunners(resolvedPluginConfig, viteDevServer, miniflare);
|
|
14455
|
-
|
|
14456
|
-
async (
|
|
14497
|
+
if (viteDevServer.httpServer) {
|
|
14498
|
+
handleWebSocket(viteDevServer.httpServer, async () => {
|
|
14457
14499
|
assert10(miniflare, `Miniflare not defined`);
|
|
14458
14500
|
const routerWorker = await getRouterWorker(miniflare);
|
|
14459
|
-
return routerWorker.fetch
|
|
14460
|
-
|
|
14461
|
-
|
|
14462
|
-
},
|
|
14463
|
-
{ alwaysCallNext: false }
|
|
14464
|
-
);
|
|
14465
|
-
handleWebSocket(viteDevServer.httpServer, async () => {
|
|
14466
|
-
assert10(miniflare, `Miniflare not defined`);
|
|
14467
|
-
const routerWorker = await getRouterWorker(miniflare);
|
|
14468
|
-
return routerWorker.fetch;
|
|
14469
|
-
});
|
|
14501
|
+
return routerWorker.fetch;
|
|
14502
|
+
});
|
|
14503
|
+
}
|
|
14470
14504
|
return () => {
|
|
14471
|
-
viteDevServer.middlewares.use((req, res, next) => {
|
|
14472
|
-
|
|
14505
|
+
viteDevServer.middlewares.use(async (req, res, next) => {
|
|
14506
|
+
try {
|
|
14507
|
+
assert10(miniflare, `Miniflare not defined`);
|
|
14508
|
+
const routerWorker = await getRouterWorker(miniflare);
|
|
14509
|
+
const request = createRequest(req, res);
|
|
14510
|
+
const response = await routerWorker.fetch(
|
|
14511
|
+
toMiniflareRequest(request),
|
|
14512
|
+
{
|
|
14513
|
+
redirect: "manual"
|
|
14514
|
+
}
|
|
14515
|
+
);
|
|
14516
|
+
if (req.httpVersionMajor === 2) {
|
|
14517
|
+
response.headers.delete("transfer-encoding");
|
|
14518
|
+
}
|
|
14519
|
+
await sendResponse(res, response);
|
|
14520
|
+
} catch (error) {
|
|
14521
|
+
next(error);
|
|
14522
|
+
}
|
|
14473
14523
|
});
|
|
14474
14524
|
};
|
|
14475
14525
|
},
|
|
@@ -14480,27 +14530,32 @@ function cloudflare2(pluginConfig = {}) {
|
|
|
14480
14530
|
vitePreviewServer
|
|
14481
14531
|
);
|
|
14482
14532
|
const miniflare2 = new Miniflare(
|
|
14483
|
-
getPreviewMiniflareOptions(
|
|
14533
|
+
await getPreviewMiniflareOptions(
|
|
14484
14534
|
vitePreviewServer,
|
|
14485
14535
|
workerConfigs,
|
|
14486
14536
|
pluginConfig.persistState ?? true,
|
|
14537
|
+
!!pluginConfig.experimental?.mixedMode,
|
|
14487
14538
|
inputInspectorPort
|
|
14488
14539
|
)
|
|
14489
14540
|
);
|
|
14490
|
-
const middleware = createMiddleware(
|
|
14491
|
-
({ request }) => {
|
|
14492
|
-
return miniflare2.dispatchFetch(toMiniflareRequest(request), {
|
|
14493
|
-
redirect: "manual"
|
|
14494
|
-
});
|
|
14495
|
-
},
|
|
14496
|
-
{ alwaysCallNext: false }
|
|
14497
|
-
);
|
|
14498
14541
|
handleWebSocket(
|
|
14499
14542
|
vitePreviewServer.httpServer,
|
|
14500
14543
|
() => miniflare2.dispatchFetch
|
|
14501
14544
|
);
|
|
14502
|
-
vitePreviewServer.middlewares.use((req, res, next) => {
|
|
14503
|
-
|
|
14545
|
+
vitePreviewServer.middlewares.use(async (req, res, next) => {
|
|
14546
|
+
try {
|
|
14547
|
+
const request = createRequest(req, res);
|
|
14548
|
+
const response = await miniflare2.dispatchFetch(
|
|
14549
|
+
toMiniflareRequest(request),
|
|
14550
|
+
{ redirect: "manual" }
|
|
14551
|
+
);
|
|
14552
|
+
if (req.httpVersionMajor === 2) {
|
|
14553
|
+
response.headers.delete("transfer-encoding");
|
|
14554
|
+
}
|
|
14555
|
+
await sendResponse(res, response);
|
|
14556
|
+
} catch (error) {
|
|
14557
|
+
next(error);
|
|
14558
|
+
}
|
|
14504
14559
|
});
|
|
14505
14560
|
}
|
|
14506
14561
|
},
|
|
@@ -14839,7 +14894,7 @@ async function getInputInspectorPortOption(pluginConfig, viteServer) {
|
|
|
14839
14894
|
const inputInspectorPort = pluginConfig.inspectorPort ?? await getFirstAvailablePort(DEFAULT_INSPECTOR_PORT);
|
|
14840
14895
|
if (pluginConfig.inspectorPort === void 0 && inputInspectorPort !== DEFAULT_INSPECTOR_PORT) {
|
|
14841
14896
|
viteServer.config.logger.warn(
|
|
14842
|
-
|
|
14897
|
+
colors3.dim(
|
|
14843
14898
|
`Default inspector port ${DEFAULT_INSPECTOR_PORT} not available, using ${inputInspectorPort} instead
|
|
14844
14899
|
`
|
|
14845
14900
|
)
|
|
@@ -15,7 +15,7 @@ var ADDITIONAL_MODULE_TYPES = [
|
|
|
15
15
|
// src/shared.ts
|
|
16
16
|
var UNKNOWN_HOST = "http://localhost";
|
|
17
17
|
var INIT_PATH = "/__vite_plugin_cloudflare_init__";
|
|
18
|
-
var ADDITIONAL_MODULE_PATTERN = `__CLOUDFLARE_MODULE__(${ADDITIONAL_MODULE_TYPES.join("|")})__(.*?)
|
|
18
|
+
var ADDITIONAL_MODULE_PATTERN = `__CLOUDFLARE_MODULE__(${ADDITIONAL_MODULE_TYPES.join("|")})__(.*?)__CLOUDFLARE_MODULE__`;
|
|
19
19
|
var additionalModuleRE = new RegExp(ADDITIONAL_MODULE_PATTERN);
|
|
20
20
|
var additionalModuleGlobalRE = new RegExp(
|
|
21
21
|
ADDITIONAL_MODULE_PATTERN,
|
|
@@ -29,7 +29,7 @@ function stripInternalEnv(internalEnv) {
|
|
|
29
29
|
return userEnv;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
// ../../node_modules/.pnpm/vite@6.1.0_@types+node@
|
|
32
|
+
// ../../node_modules/.pnpm/vite@6.1.0_@types+node@20.17.32_jiti@2.4.2_lightningcss@1.29.2/node_modules/vite/dist/node/module-runner.js
|
|
33
33
|
var VALID_ID_PREFIX = "/@id/";
|
|
34
34
|
var NULL_BYTE_PLACEHOLDER = "__x00__";
|
|
35
35
|
var SOURCEMAPPING_URL = "sourceMa";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudflare/vite-plugin",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-d3a6eb30e",
|
|
4
4
|
"description": "Cloudflare plugin for Vite",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cloudflare",
|
|
@@ -33,19 +33,19 @@
|
|
|
33
33
|
"dist"
|
|
34
34
|
],
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@
|
|
36
|
+
"@cloudflare/unenv-preset": "2.3.2",
|
|
37
|
+
"@mjackson/node-fetch-server": "^0.6.1",
|
|
37
38
|
"@rollup/plugin-replace": "^6.0.1",
|
|
38
39
|
"get-port": "^7.1.0",
|
|
39
40
|
"picocolors": "^1.1.1",
|
|
40
41
|
"tinyglobby": "^0.2.12",
|
|
41
|
-
"unenv": "2.0.0-rc.
|
|
42
|
+
"unenv": "2.0.0-rc.17",
|
|
42
43
|
"ws": "8.18.0",
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"wrangler": "0.0.0-d34ef3d5b"
|
|
44
|
+
"miniflare": "0.0.0-d3a6eb30e",
|
|
45
|
+
"wrangler": "0.0.0-d3a6eb30e"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@cloudflare/workers-types": "^4.
|
|
48
|
+
"@cloudflare/workers-types": "^4.20250525.0",
|
|
49
49
|
"@types/node": "^22.10.1",
|
|
50
50
|
"@types/ws": "^8.5.13",
|
|
51
51
|
"magic-string": "^0.30.12",
|
|
@@ -55,8 +55,8 @@
|
|
|
55
55
|
"undici": "^5.28.5",
|
|
56
56
|
"vite": "^6.1.0",
|
|
57
57
|
"vitest": "~3.1.1",
|
|
58
|
-
"@cloudflare/workers-shared": "0.0.0-d34ef3d5b",
|
|
59
58
|
"@cloudflare/mock-npm-registry": "0.0.0",
|
|
59
|
+
"@cloudflare/workers-shared": "0.0.0-d3a6eb30e",
|
|
60
60
|
"@cloudflare/workers-tsconfig": "0.0.0"
|
|
61
61
|
},
|
|
62
62
|
"peerDependencies": {
|