@cloudflare/vite-plugin 0.0.0-a62666b23 → 0.0.0-a6cfaa2bd
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 +5510 -1966
- package/dist/asset-workers/router-worker.js +4277 -1611
- package/dist/index.d.ts +2 -0
- package/dist/index.js +325 -170
- package/dist/runner-worker/index.js +11 -10
- package/package.json +11 -10
package/dist/index.js
CHANGED
|
@@ -489,7 +489,8 @@ 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
|
+
import replace from "@rollup/plugin-replace";
|
|
493
494
|
|
|
494
495
|
// ../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.0/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs
|
|
495
496
|
var comma = ",".charCodeAt(0);
|
|
@@ -1557,7 +1558,7 @@ var MagicString = class _MagicString {
|
|
|
1557
1558
|
|
|
1558
1559
|
// src/index.ts
|
|
1559
1560
|
import { Miniflare } from "miniflare";
|
|
1560
|
-
import
|
|
1561
|
+
import colors3 from "picocolors";
|
|
1561
1562
|
import * as vite7 from "vite";
|
|
1562
1563
|
|
|
1563
1564
|
// src/constants.ts
|
|
@@ -1588,7 +1589,7 @@ function matchAdditionalModule(source) {
|
|
|
1588
1589
|
return null;
|
|
1589
1590
|
}
|
|
1590
1591
|
function createModuleReference(type, id) {
|
|
1591
|
-
return `__CLOUDFLARE_MODULE__${type}__${id}
|
|
1592
|
+
return `__CLOUDFLARE_MODULE__${type}__${id}__CLOUDFLARE_MODULE__`;
|
|
1592
1593
|
}
|
|
1593
1594
|
|
|
1594
1595
|
// src/asset-config.ts
|
|
@@ -5783,7 +5784,8 @@ var z = /* @__PURE__ */ Object.freeze({
|
|
|
5783
5784
|
// ../workers-shared/utils/types.ts
|
|
5784
5785
|
var InternalConfigSchema = z.object({
|
|
5785
5786
|
account_id: z.number().optional(),
|
|
5786
|
-
script_id: z.number().optional()
|
|
5787
|
+
script_id: z.number().optional(),
|
|
5788
|
+
debug: z.boolean().optional()
|
|
5787
5789
|
});
|
|
5788
5790
|
var RouterConfigSchema = z.object({
|
|
5789
5791
|
invoke_user_worker_ahead_of_assets: z.boolean().optional(),
|
|
@@ -5831,14 +5833,14 @@ var AssetConfigSchema = z.object({
|
|
|
5831
5833
|
});
|
|
5832
5834
|
|
|
5833
5835
|
// src/asset-config.ts
|
|
5834
|
-
function hasAssetsConfigChanged(resolvedPluginConfig, resolvedViteConfig,
|
|
5836
|
+
function hasAssetsConfigChanged(resolvedPluginConfig, resolvedViteConfig, changedFilePath) {
|
|
5835
5837
|
if (!resolvedPluginConfig.experimental?.headersAndRedirectsDevModeSupport) {
|
|
5836
5838
|
return false;
|
|
5837
5839
|
}
|
|
5838
5840
|
return [
|
|
5839
5841
|
getRedirectsConfigPath(resolvedViteConfig),
|
|
5840
5842
|
getHeadersConfigPath(resolvedViteConfig)
|
|
5841
|
-
].includes(
|
|
5843
|
+
].includes(changedFilePath);
|
|
5842
5844
|
}
|
|
5843
5845
|
function getAssetsConfig(resolvedPluginConfig, entryWorkerConfig, resolvedConfig) {
|
|
5844
5846
|
const assetsConfig = resolvedPluginConfig.type === "assets-only" ? resolvedPluginConfig.config.assets : entryWorkerConfig?.assets;
|
|
@@ -12879,6 +12881,15 @@ function isNodeCompat(workerConfig) {
|
|
|
12879
12881
|
}
|
|
12880
12882
|
return false;
|
|
12881
12883
|
}
|
|
12884
|
+
function isNodeAls(workerConfig) {
|
|
12885
|
+
return workerConfig !== void 0 && getNodeCompat(
|
|
12886
|
+
workerConfig.compatibility_date,
|
|
12887
|
+
workerConfig.compatibility_flags ?? []
|
|
12888
|
+
).mode === "als";
|
|
12889
|
+
}
|
|
12890
|
+
function isNodeAlsModule(path10) {
|
|
12891
|
+
return /^(node:)?async_hooks$/.test(path10);
|
|
12892
|
+
}
|
|
12882
12893
|
function injectGlobalCode(id, code) {
|
|
12883
12894
|
const injectedCode = Object.entries(env.inject).map(([globalName, globalInject]) => {
|
|
12884
12895
|
if (typeof globalInject === "string") {
|
|
@@ -12909,7 +12920,7 @@ globalThis.${globalName} = var_${globalName}.${exportName};
|
|
|
12909
12920
|
}
|
|
12910
12921
|
function resolveNodeJSImport(source) {
|
|
12911
12922
|
const alias = env.alias[source];
|
|
12912
|
-
if (alias) {
|
|
12923
|
+
if (alias && !nodeCompatExternals.has(alias)) {
|
|
12913
12924
|
return {
|
|
12914
12925
|
unresolved: alias,
|
|
12915
12926
|
resolved: resolvePathSync(alias, { url: import.meta.url })
|
|
@@ -12982,7 +12993,7 @@ var NodeJsCompatWarnings = class {
|
|
|
12982
12993
|
// src/shared.ts
|
|
12983
12994
|
var UNKNOWN_HOST = "http://localhost";
|
|
12984
12995
|
var INIT_PATH = "/__vite_plugin_cloudflare_init__";
|
|
12985
|
-
var ADDITIONAL_MODULE_PATTERN = `__CLOUDFLARE_MODULE__(${ADDITIONAL_MODULE_TYPES.join("|")})__(.*?)
|
|
12996
|
+
var ADDITIONAL_MODULE_PATTERN = `__CLOUDFLARE_MODULE__(${ADDITIONAL_MODULE_TYPES.join("|")})__(.*?)__CLOUDFLARE_MODULE__`;
|
|
12986
12997
|
var additionalModuleRE = new RegExp(ADDITIONAL_MODULE_PATTERN);
|
|
12987
12998
|
var additionalModuleGlobalRE = new RegExp(
|
|
12988
12999
|
ADDITIONAL_MODULE_PATTERN,
|
|
@@ -13018,19 +13029,6 @@ function toMiniflareRequest(request) {
|
|
|
13018
13029
|
duplex: "half"
|
|
13019
13030
|
});
|
|
13020
13031
|
}
|
|
13021
|
-
function nodeHeadersToWebHeaders(nodeHeaders) {
|
|
13022
|
-
const headers = new Headers();
|
|
13023
|
-
for (const [key, value] of Object.entries(nodeHeaders)) {
|
|
13024
|
-
if (typeof value === "string") {
|
|
13025
|
-
headers.append(key, value);
|
|
13026
|
-
} else if (Array.isArray(value)) {
|
|
13027
|
-
for (const item of value) {
|
|
13028
|
-
headers.append(key, item);
|
|
13029
|
-
}
|
|
13030
|
-
}
|
|
13031
|
-
}
|
|
13032
|
-
return headers;
|
|
13033
|
-
}
|
|
13034
13032
|
var postfixRE = /[?#].*$/;
|
|
13035
13033
|
function cleanUrl(url) {
|
|
13036
13034
|
return url.replace(postfixRE, "");
|
|
@@ -13259,7 +13257,7 @@ import { unstable_readConfig } from "wrangler";
|
|
|
13259
13257
|
function getDeployConfigPath(root) {
|
|
13260
13258
|
return path5.resolve(root, ".wrangler", "deploy", "config.json");
|
|
13261
13259
|
}
|
|
13262
|
-
function getWorkerConfigs(root) {
|
|
13260
|
+
function getWorkerConfigs(root, mixedModeEnabled) {
|
|
13263
13261
|
const deployConfigPath = getDeployConfigPath(root);
|
|
13264
13262
|
const deployConfig = JSON.parse(
|
|
13265
13263
|
fs2.readFileSync(deployConfigPath, "utf-8")
|
|
@@ -13272,7 +13270,10 @@ function getWorkerConfigs(root) {
|
|
|
13272
13270
|
path5.dirname(deployConfigPath),
|
|
13273
13271
|
configPath
|
|
13274
13272
|
);
|
|
13275
|
-
return unstable_readConfig(
|
|
13273
|
+
return unstable_readConfig(
|
|
13274
|
+
{ config: resolvedConfigPath },
|
|
13275
|
+
{ experimental: { mixedModeEnabled } }
|
|
13276
|
+
);
|
|
13276
13277
|
});
|
|
13277
13278
|
}
|
|
13278
13279
|
function getRelativePathToWorkerConfig(deployConfigDirectory, root, outputDirectory) {
|
|
@@ -13339,17 +13340,24 @@ import * as fsp from "node:fs/promises";
|
|
|
13339
13340
|
import * as path6 from "node:path";
|
|
13340
13341
|
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
13341
13342
|
import {
|
|
13343
|
+
getDefaultDevRegistryPath,
|
|
13342
13344
|
kCurrentWorker,
|
|
13343
13345
|
Log,
|
|
13344
13346
|
LogLevel,
|
|
13345
13347
|
Response as MiniflareResponse
|
|
13346
13348
|
} from "miniflare";
|
|
13349
|
+
import colors2 from "picocolors";
|
|
13347
13350
|
import { globSync } from "tinyglobby";
|
|
13348
13351
|
import "vite";
|
|
13349
|
-
import {
|
|
13350
|
-
|
|
13352
|
+
import {
|
|
13353
|
+
experimental_pickRemoteBindings,
|
|
13354
|
+
experimental_startMixedModeSession,
|
|
13355
|
+
unstable_convertConfigBindingsToStartWorkerBindings,
|
|
13356
|
+
unstable_getMiniflareWorkerOptions
|
|
13357
|
+
} from "wrangler";
|
|
13358
|
+
function getPersistenceRoot(root, persistState) {
|
|
13351
13359
|
if (persistState === false) {
|
|
13352
|
-
return
|
|
13360
|
+
return;
|
|
13353
13361
|
}
|
|
13354
13362
|
const defaultPersistPath = ".wrangler/state";
|
|
13355
13363
|
const persistPath = path6.resolve(
|
|
@@ -13357,14 +13365,7 @@ function getPersistence(root, persistState) {
|
|
|
13357
13365
|
typeof persistState === "object" ? persistState.path : defaultPersistPath,
|
|
13358
13366
|
"v3"
|
|
13359
13367
|
);
|
|
13360
|
-
return
|
|
13361
|
-
cachePersist: path6.join(persistPath, "cache"),
|
|
13362
|
-
d1Persist: path6.join(persistPath, "d1"),
|
|
13363
|
-
durableObjectsPersist: path6.join(persistPath, "do"),
|
|
13364
|
-
kvPersist: path6.join(persistPath, "kv"),
|
|
13365
|
-
r2Persist: path6.join(persistPath, "r2"),
|
|
13366
|
-
workflowsPersist: path6.join(persistPath, "workflows")
|
|
13367
|
-
};
|
|
13368
|
+
return persistPath;
|
|
13368
13369
|
}
|
|
13369
13370
|
function missingWorkerErrorMessage(workerName) {
|
|
13370
13371
|
return `${workerName} does not match a worker name.`;
|
|
@@ -13448,7 +13449,29 @@ function getEntryWorkerConfig(resolvedPluginConfig) {
|
|
|
13448
13449
|
}
|
|
13449
13450
|
return resolvedPluginConfig.workers[resolvedPluginConfig.entryWorkerEnvironmentName];
|
|
13450
13451
|
}
|
|
13451
|
-
function
|
|
13452
|
+
function logUnknownTails(tails, userWorkers, log) {
|
|
13453
|
+
for (const tailService of tails ?? []) {
|
|
13454
|
+
let name;
|
|
13455
|
+
if (typeof tailService === "string") {
|
|
13456
|
+
name = tailService;
|
|
13457
|
+
} else if (typeof tailService === "object" && "name" in tailService && typeof tailService.name === "string") {
|
|
13458
|
+
name = tailService.name;
|
|
13459
|
+
} else {
|
|
13460
|
+
continue;
|
|
13461
|
+
}
|
|
13462
|
+
const found = userWorkers.some((w) => w.name === name);
|
|
13463
|
+
if (!found) {
|
|
13464
|
+
log(
|
|
13465
|
+
colors2.dim(
|
|
13466
|
+
colors2.yellow(
|
|
13467
|
+
`Tail consumer "${name}" was not found in your config. Make sure you add it to the config or run it in another dev session if you'd like to simulate receiving tail events locally.`
|
|
13468
|
+
)
|
|
13469
|
+
)
|
|
13470
|
+
);
|
|
13471
|
+
}
|
|
13472
|
+
}
|
|
13473
|
+
}
|
|
13474
|
+
async function getDevMiniflareOptions(resolvedPluginConfig, viteDevServer, inspectorPort) {
|
|
13452
13475
|
const resolvedViteConfig = viteDevServer.config;
|
|
13453
13476
|
const entryWorkerConfig = getEntryWorkerConfig(resolvedPluginConfig);
|
|
13454
13477
|
const assetsConfig = getAssetsConfig(
|
|
@@ -13524,53 +13547,64 @@ function getDevMiniflareOptions(resolvedPluginConfig, viteDevServer, inspectorPo
|
|
|
13524
13547
|
}
|
|
13525
13548
|
}
|
|
13526
13549
|
];
|
|
13527
|
-
const workersFromConfig = resolvedPluginConfig.type === "workers" ?
|
|
13528
|
-
(
|
|
13529
|
-
|
|
13530
|
-
|
|
13531
|
-
|
|
13532
|
-
|
|
13533
|
-
|
|
13534
|
-
|
|
13535
|
-
|
|
13536
|
-
|
|
13537
|
-
|
|
13538
|
-
|
|
13539
|
-
|
|
13540
|
-
|
|
13541
|
-
|
|
13542
|
-
|
|
13543
|
-
|
|
13544
|
-
|
|
13545
|
-
|
|
13546
|
-
|
|
13547
|
-
...workerOptions
|
|
13548
|
-
|
|
13549
|
-
|
|
13550
|
-
|
|
13551
|
-
|
|
13552
|
-
|
|
13553
|
-
|
|
13554
|
-
|
|
13555
|
-
|
|
13556
|
-
|
|
13557
|
-
|
|
13558
|
-
|
|
13559
|
-
|
|
13560
|
-
|
|
13561
|
-
|
|
13562
|
-
|
|
13563
|
-
|
|
13564
|
-
|
|
13550
|
+
const workersFromConfig = resolvedPluginConfig.type === "workers" ? await Promise.all(
|
|
13551
|
+
Object.entries(resolvedPluginConfig.workers).map(
|
|
13552
|
+
async ([environmentName, workerConfig]) => {
|
|
13553
|
+
const mixedModeSession = resolvedPluginConfig.experimental.mixedMode ? await maybeStartOrUpdateMixedModeSession(workerConfig) : void 0;
|
|
13554
|
+
const miniflareWorkerOptions = unstable_getMiniflareWorkerOptions(
|
|
13555
|
+
{
|
|
13556
|
+
...workerConfig,
|
|
13557
|
+
assets: void 0
|
|
13558
|
+
},
|
|
13559
|
+
resolvedPluginConfig.cloudflareEnv,
|
|
13560
|
+
{
|
|
13561
|
+
mixedModeConnectionString: mixedModeSession?.mixedModeConnectionString,
|
|
13562
|
+
mixedModeEnabled: resolvedPluginConfig.experimental.mixedMode
|
|
13563
|
+
}
|
|
13564
|
+
);
|
|
13565
|
+
const { externalWorkers: externalWorkers2 } = miniflareWorkerOptions;
|
|
13566
|
+
const { ratelimits, ...workerOptions } = miniflareWorkerOptions.workerOptions;
|
|
13567
|
+
return {
|
|
13568
|
+
externalWorkers: externalWorkers2,
|
|
13569
|
+
worker: {
|
|
13570
|
+
...workerOptions,
|
|
13571
|
+
name: workerOptions.name ?? workerConfig.name,
|
|
13572
|
+
unsafeInspectorProxy: inspectorPort !== false,
|
|
13573
|
+
unsafeDirectSockets: environmentName === resolvedPluginConfig.entryWorkerEnvironmentName ? (
|
|
13574
|
+
// Expose the default entrypoint of the entry worker on the dev registry
|
|
13575
|
+
[{ entrypoint: void 0, proxy: true }]
|
|
13576
|
+
) : [],
|
|
13577
|
+
modulesRoot: miniflareModulesRoot,
|
|
13578
|
+
unsafeEvalBinding: "__VITE_UNSAFE_EVAL__",
|
|
13579
|
+
serviceBindings: {
|
|
13580
|
+
...workerOptions.serviceBindings,
|
|
13581
|
+
...environmentName === resolvedPluginConfig.entryWorkerEnvironmentName && workerConfig.assets?.binding ? {
|
|
13582
|
+
[workerConfig.assets.binding]: ASSET_WORKER_NAME
|
|
13583
|
+
} : {},
|
|
13584
|
+
__VITE_INVOKE_MODULE__: async (request) => {
|
|
13585
|
+
const payload = await request.json();
|
|
13586
|
+
const invokePayloadData = payload.data;
|
|
13587
|
+
assert6(
|
|
13588
|
+
invokePayloadData.name === "fetchModule",
|
|
13589
|
+
`Invalid invoke event: ${invokePayloadData.name}`
|
|
13590
|
+
);
|
|
13591
|
+
const [moduleId] = invokePayloadData.data;
|
|
13592
|
+
if (additionalModuleRE.test(moduleId)) {
|
|
13593
|
+
const result2 = {
|
|
13594
|
+
externalize: moduleId,
|
|
13595
|
+
type: "module"
|
|
13596
|
+
};
|
|
13597
|
+
return MiniflareResponse.json({ result: result2 });
|
|
13598
|
+
}
|
|
13599
|
+
const devEnvironment = viteDevServer.environments[environmentName];
|
|
13600
|
+
const result = await devEnvironment.hot.handleInvoke(payload);
|
|
13601
|
+
return MiniflareResponse.json(result);
|
|
13565
13602
|
}
|
|
13566
|
-
const devEnvironment = viteDevServer.environments[environmentName];
|
|
13567
|
-
const result = await devEnvironment.hot.handleInvoke(payload);
|
|
13568
|
-
return MiniflareResponse.json(result);
|
|
13569
13603
|
}
|
|
13570
13604
|
}
|
|
13571
|
-
}
|
|
13572
|
-
}
|
|
13573
|
-
|
|
13605
|
+
};
|
|
13606
|
+
}
|
|
13607
|
+
)
|
|
13574
13608
|
) : [];
|
|
13575
13609
|
const userWorkers = workersFromConfig.map((options) => options.worker);
|
|
13576
13610
|
const externalWorkers = workersFromConfig.flatMap(
|
|
@@ -13582,8 +13616,10 @@ function getDevMiniflareOptions(resolvedPluginConfig, viteDevServer, inspectorPo
|
|
|
13582
13616
|
const logger = new ViteMiniflareLogger(resolvedViteConfig);
|
|
13583
13617
|
return {
|
|
13584
13618
|
log: logger,
|
|
13619
|
+
logRequests: false,
|
|
13585
13620
|
inspectorPort: inspectorPort === false ? void 0 : inspectorPort,
|
|
13586
13621
|
unsafeInspectorProxy: inspectorPort !== false,
|
|
13622
|
+
unsafeDevRegistryPath: getDefaultDevRegistryPath(),
|
|
13587
13623
|
handleRuntimeStdio(stdout, stderr) {
|
|
13588
13624
|
const decoder = new TextDecoder();
|
|
13589
13625
|
stdout.forEach((data2) => logger.info(decoder.decode(data2)));
|
|
@@ -13591,7 +13627,7 @@ function getDevMiniflareOptions(resolvedPluginConfig, viteDevServer, inspectorPo
|
|
|
13591
13627
|
(error) => logger.logWithLevel(LogLevel.ERROR, decoder.decode(error))
|
|
13592
13628
|
);
|
|
13593
13629
|
},
|
|
13594
|
-
|
|
13630
|
+
defaultPersistRoot: getPersistenceRoot(
|
|
13595
13631
|
resolvedViteConfig.root,
|
|
13596
13632
|
resolvedPluginConfig.persistState
|
|
13597
13633
|
),
|
|
@@ -13637,6 +13673,11 @@ function getDevMiniflareOptions(resolvedPluginConfig, viteDevServer, inspectorPo
|
|
|
13637
13673
|
`export const ${className} = createWorkflowEntrypointWrapper('${className}');`
|
|
13638
13674
|
);
|
|
13639
13675
|
}
|
|
13676
|
+
logUnknownTails(
|
|
13677
|
+
workerOptions.tails,
|
|
13678
|
+
userWorkers,
|
|
13679
|
+
viteDevServer.config.logger.warn
|
|
13680
|
+
);
|
|
13640
13681
|
return {
|
|
13641
13682
|
...workerOptions,
|
|
13642
13683
|
modules: [
|
|
@@ -13720,27 +13761,48 @@ function getPreviewModules(main, modulesRules) {
|
|
|
13720
13761
|
]
|
|
13721
13762
|
};
|
|
13722
13763
|
}
|
|
13723
|
-
function getPreviewMiniflareOptions(vitePreviewServer, workerConfigs, persistState, inspectorPort) {
|
|
13764
|
+
async function getPreviewMiniflareOptions(vitePreviewServer, workerConfigs, persistState, mixedModeEnabled, inspectorPort) {
|
|
13724
13765
|
const resolvedViteConfig = vitePreviewServer.config;
|
|
13725
|
-
const workers =
|
|
13726
|
-
|
|
13727
|
-
|
|
13728
|
-
|
|
13729
|
-
|
|
13730
|
-
|
|
13731
|
-
|
|
13732
|
-
|
|
13733
|
-
|
|
13734
|
-
|
|
13735
|
-
|
|
13736
|
-
|
|
13737
|
-
|
|
13738
|
-
|
|
13766
|
+
const workers = (await Promise.all(
|
|
13767
|
+
workerConfigs.map(async (workerConfig, i) => {
|
|
13768
|
+
const mixedModeSession = mixedModeEnabled ? await maybeStartOrUpdateMixedModeSession(workerConfig) : void 0;
|
|
13769
|
+
const miniflareWorkerOptions = unstable_getMiniflareWorkerOptions(
|
|
13770
|
+
workerConfig,
|
|
13771
|
+
void 0,
|
|
13772
|
+
{
|
|
13773
|
+
mixedModeConnectionString: mixedModeSession?.mixedModeConnectionString,
|
|
13774
|
+
mixedModeEnabled
|
|
13775
|
+
}
|
|
13776
|
+
);
|
|
13777
|
+
const { externalWorkers } = miniflareWorkerOptions;
|
|
13778
|
+
const { ratelimits, modulesRules, ...workerOptions } = miniflareWorkerOptions.workerOptions;
|
|
13779
|
+
logUnknownTails(
|
|
13780
|
+
workerOptions.tails,
|
|
13781
|
+
workerConfigs,
|
|
13782
|
+
vitePreviewServer.config.logger.warn
|
|
13783
|
+
);
|
|
13784
|
+
return [
|
|
13785
|
+
{
|
|
13786
|
+
...workerOptions,
|
|
13787
|
+
name: workerOptions.name ?? workerConfig.name,
|
|
13788
|
+
unsafeInspectorProxy: inspectorPort !== false,
|
|
13789
|
+
unsafeDirectSockets: (
|
|
13790
|
+
// This exposes the default entrypoint of the entry worker on the dev registry
|
|
13791
|
+
// Assuming that the first worker config to be the entry worker.
|
|
13792
|
+
i === 0 ? [{ entrypoint: void 0, proxy: true }] : []
|
|
13793
|
+
),
|
|
13794
|
+
...miniflareWorkerOptions.main ? getPreviewModules(miniflareWorkerOptions.main, modulesRules) : { modules: true, script: "" }
|
|
13795
|
+
},
|
|
13796
|
+
...externalWorkers
|
|
13797
|
+
];
|
|
13798
|
+
})
|
|
13799
|
+
)).flat();
|
|
13739
13800
|
const logger = new ViteMiniflareLogger(resolvedViteConfig);
|
|
13740
13801
|
return {
|
|
13741
13802
|
log: logger,
|
|
13742
13803
|
inspectorPort: inspectorPort === false ? void 0 : inspectorPort,
|
|
13743
13804
|
unsafeInspectorProxy: inspectorPort !== false,
|
|
13805
|
+
unsafeDevRegistryPath: getDefaultDevRegistryPath(),
|
|
13744
13806
|
handleRuntimeStdio(stdout, stderr) {
|
|
13745
13807
|
const decoder = new TextDecoder();
|
|
13746
13808
|
stdout.forEach((data2) => logger.info(decoder.decode(data2)));
|
|
@@ -13748,11 +13810,13 @@ function getPreviewMiniflareOptions(vitePreviewServer, workerConfigs, persistSta
|
|
|
13748
13810
|
(error) => logger.logWithLevel(LogLevel.ERROR, decoder.decode(error))
|
|
13749
13811
|
);
|
|
13750
13812
|
},
|
|
13751
|
-
|
|
13813
|
+
defaultPersistRoot: getPersistenceRoot(
|
|
13814
|
+
resolvedViteConfig.root,
|
|
13815
|
+
persistState
|
|
13816
|
+
),
|
|
13752
13817
|
workers
|
|
13753
13818
|
};
|
|
13754
13819
|
}
|
|
13755
|
-
var removedMessages = [/^Ready on http/, /^Updated and ready on http/];
|
|
13756
13820
|
var ViteMiniflareLogger = class extends Log {
|
|
13757
13821
|
logger;
|
|
13758
13822
|
constructor(config) {
|
|
@@ -13760,11 +13824,6 @@ var ViteMiniflareLogger = class extends Log {
|
|
|
13760
13824
|
this.logger = config.logger;
|
|
13761
13825
|
}
|
|
13762
13826
|
logWithLevel(level, message) {
|
|
13763
|
-
for (const removedMessage of removedMessages) {
|
|
13764
|
-
if (removedMessage.test(message)) {
|
|
13765
|
-
return;
|
|
13766
|
-
}
|
|
13767
|
-
}
|
|
13768
13827
|
switch (level) {
|
|
13769
13828
|
case LogLevel.ERROR:
|
|
13770
13829
|
return this.logger.error(message);
|
|
@@ -13774,6 +13833,8 @@ var ViteMiniflareLogger = class extends Log {
|
|
|
13774
13833
|
return this.logger.info(message);
|
|
13775
13834
|
}
|
|
13776
13835
|
}
|
|
13836
|
+
logReady() {
|
|
13837
|
+
}
|
|
13777
13838
|
};
|
|
13778
13839
|
function miniflareLogLevelFromViteLogLevel(level = "info") {
|
|
13779
13840
|
switch (level) {
|
|
@@ -13787,6 +13848,24 @@ function miniflareLogLevelFromViteLogLevel(level = "info") {
|
|
|
13787
13848
|
return LogLevel.NONE;
|
|
13788
13849
|
}
|
|
13789
13850
|
}
|
|
13851
|
+
var mixedModeSessionsMap = /* @__PURE__ */ new Map();
|
|
13852
|
+
async function maybeStartOrUpdateMixedModeSession(workerConfig) {
|
|
13853
|
+
const workerRemoteBindings = experimental_pickRemoteBindings(
|
|
13854
|
+
unstable_convertConfigBindingsToStartWorkerBindings(workerConfig) ?? {}
|
|
13855
|
+
);
|
|
13856
|
+
assert6(workerConfig.name, "Found workerConfig without a name");
|
|
13857
|
+
let mixedModeSession = mixedModeSessionsMap.get(workerConfig.name);
|
|
13858
|
+
if (mixedModeSession === void 0) {
|
|
13859
|
+
if (Object.keys(workerRemoteBindings).length > 0) {
|
|
13860
|
+
mixedModeSession = await experimental_startMixedModeSession(workerRemoteBindings);
|
|
13861
|
+
mixedModeSessionsMap.set(workerConfig.name, mixedModeSession);
|
|
13862
|
+
}
|
|
13863
|
+
} else {
|
|
13864
|
+
await mixedModeSession.updateBindings(workerRemoteBindings);
|
|
13865
|
+
}
|
|
13866
|
+
await mixedModeSession?.ready;
|
|
13867
|
+
return mixedModeSession;
|
|
13868
|
+
}
|
|
13790
13869
|
|
|
13791
13870
|
// src/plugin-config.ts
|
|
13792
13871
|
import assert8 from "node:assert";
|
|
@@ -13841,12 +13920,15 @@ var nullableNonApplicable = [
|
|
|
13841
13920
|
"site",
|
|
13842
13921
|
"tsconfig"
|
|
13843
13922
|
];
|
|
13844
|
-
function readWorkerConfig(configPath, env2) {
|
|
13923
|
+
function readWorkerConfig(configPath, env2, mixedModeEnabled) {
|
|
13845
13924
|
const nonApplicable = {
|
|
13846
13925
|
replacedByVite: /* @__PURE__ */ new Set(),
|
|
13847
13926
|
notRelevant: /* @__PURE__ */ new Set()
|
|
13848
13927
|
};
|
|
13849
|
-
const config = unstable_readConfig2(
|
|
13928
|
+
const config = unstable_readConfig2(
|
|
13929
|
+
{ config: configPath, env: env2 },
|
|
13930
|
+
{ experimental: { mixedModeEnabled } }
|
|
13931
|
+
);
|
|
13850
13932
|
const raw = structuredClone(config);
|
|
13851
13933
|
nullableNonApplicable.forEach((prop) => {
|
|
13852
13934
|
if (config[prop] !== void 0) {
|
|
@@ -13941,11 +14023,15 @@ function isNotRelevant(configName) {
|
|
|
13941
14023
|
function missingFieldErrorMessage(field, configPath, env2) {
|
|
13942
14024
|
return `No ${field} field provided in '${configPath}'${env2 ? ` for '${env2}' environment` : ""}`;
|
|
13943
14025
|
}
|
|
13944
|
-
function getWorkerConfig(configPath, env2, opts) {
|
|
14026
|
+
function getWorkerConfig(configPath, env2, mixedModeEnabled, opts) {
|
|
13945
14027
|
if (opts?.visitedConfigPaths?.has(configPath)) {
|
|
13946
14028
|
throw new Error(`Duplicate Wrangler config path found: ${configPath}`);
|
|
13947
14029
|
}
|
|
13948
|
-
const { raw, config, nonApplicable } = readWorkerConfig(
|
|
14030
|
+
const { raw, config, nonApplicable } = readWorkerConfig(
|
|
14031
|
+
configPath,
|
|
14032
|
+
env2,
|
|
14033
|
+
mixedModeEnabled
|
|
14034
|
+
);
|
|
13949
14035
|
opts?.visitedConfigPaths?.add(configPath);
|
|
13950
14036
|
if (!config.name) {
|
|
13951
14037
|
throw new Error(missingFieldErrorMessage(`'name'`, configPath, env2));
|
|
@@ -14070,6 +14156,7 @@ function resolvePluginConfig(pluginConfig, userConfig, viteEnv) {
|
|
|
14070
14156
|
const entryWorkerResolvedConfig = getWorkerConfig(
|
|
14071
14157
|
entryWorkerConfigPath,
|
|
14072
14158
|
cloudflareEnv,
|
|
14159
|
+
pluginConfig.experimental?.mixedMode ?? false,
|
|
14073
14160
|
{
|
|
14074
14161
|
visitedConfigPaths: configPaths,
|
|
14075
14162
|
isEntryWorker: true
|
|
@@ -14103,6 +14190,7 @@ function resolvePluginConfig(pluginConfig, userConfig, viteEnv) {
|
|
|
14103
14190
|
const workerResolvedConfig = getWorkerConfig(
|
|
14104
14191
|
workerConfigPath,
|
|
14105
14192
|
cloudflareEnv,
|
|
14193
|
+
pluginConfig.experimental?.mixedMode ?? false,
|
|
14106
14194
|
{
|
|
14107
14195
|
visitedConfigPaths: configPaths
|
|
14108
14196
|
}
|
|
@@ -14137,6 +14225,7 @@ function resolvePluginConfig(pluginConfig, userConfig, viteEnv) {
|
|
|
14137
14225
|
}
|
|
14138
14226
|
|
|
14139
14227
|
// src/websockets.ts
|
|
14228
|
+
import { createHeaders } from "@mjackson/node-fetch-server";
|
|
14140
14229
|
import { coupleWebSocket } from "miniflare";
|
|
14141
14230
|
import { WebSocketServer } from "ws";
|
|
14142
14231
|
function handleWebSocket(httpServer, getFetcher) {
|
|
@@ -14148,7 +14237,7 @@ function handleWebSocket(httpServer, getFetcher) {
|
|
|
14148
14237
|
if (request.headers["sec-websocket-protocol"]?.startsWith("vite")) {
|
|
14149
14238
|
return;
|
|
14150
14239
|
}
|
|
14151
|
-
const headers =
|
|
14240
|
+
const headers = createHeaders(request);
|
|
14152
14241
|
const fetcher = await getFetcher();
|
|
14153
14242
|
const response = await fetcher(url, {
|
|
14154
14243
|
headers,
|
|
@@ -14180,12 +14269,15 @@ function validateWorkerEnvironmentsResolvedConfigs(resolvedPluginConfig, resolve
|
|
|
14180
14269
|
for (const envName of workersEnvironmentNames) {
|
|
14181
14270
|
const workerEnvConfig = resolvedViteConfig.environments[envName];
|
|
14182
14271
|
assert9(workerEnvConfig, `Missing environment config for "${envName}"`);
|
|
14183
|
-
const { optimizeDeps, resolve:
|
|
14272
|
+
const { optimizeDeps, resolve: resolve7 } = workerEnvConfig;
|
|
14184
14273
|
const disallowedConfig = {};
|
|
14185
14274
|
const disallowedOptimizeDepsExcludeEntries = (optimizeDeps.exclude ?? []).filter((entry) => {
|
|
14186
14275
|
if (cloudflareBuiltInModules.includes(entry)) {
|
|
14187
14276
|
return false;
|
|
14188
14277
|
}
|
|
14278
|
+
if (isNodeAlsModule(entry) && isNodeAls(resolvedPluginConfig.workers[envName])) {
|
|
14279
|
+
return false;
|
|
14280
|
+
}
|
|
14189
14281
|
if (NODEJS_MODULES_RE.test(entry) && isNodeCompat(resolvedPluginConfig.workers[envName])) {
|
|
14190
14282
|
return false;
|
|
14191
14283
|
}
|
|
@@ -14194,8 +14286,8 @@ function validateWorkerEnvironmentsResolvedConfigs(resolvedPluginConfig, resolve
|
|
|
14194
14286
|
if (disallowedOptimizeDepsExcludeEntries.length > 0) {
|
|
14195
14287
|
disallowedConfig.optimizeDepsExclude = disallowedOptimizeDepsExcludeEntries;
|
|
14196
14288
|
}
|
|
14197
|
-
if (
|
|
14198
|
-
disallowedConfig.resolveExternal =
|
|
14289
|
+
if (resolve7.external === true || resolve7.external.length > 0) {
|
|
14290
|
+
disallowedConfig.resolveExternal = resolve7.external;
|
|
14199
14291
|
}
|
|
14200
14292
|
if (Object.keys(disallowedConfig).length > 0) {
|
|
14201
14293
|
disallowedEnvsConfigs.set(envName, disallowedConfig);
|
|
@@ -14401,95 +14493,97 @@ function cloudflare2(pluginConfig = {}) {
|
|
|
14401
14493
|
}
|
|
14402
14494
|
},
|
|
14403
14495
|
hotUpdate(options) {
|
|
14404
|
-
|
|
14405
|
-
|
|
14406
|
-
resolvedPluginConfig
|
|
14407
|
-
|
|
14408
|
-
|
|
14409
|
-
|
|
14410
|
-
)
|
|
14411
|
-
) {
|
|
14496
|
+
const changedFilePath = path9.resolve(options.file);
|
|
14497
|
+
if (resolvedPluginConfig.configPaths.has(changedFilePath) || hasDotDevDotVarsFileChanged(resolvedPluginConfig, changedFilePath) || hasAssetsConfigChanged(
|
|
14498
|
+
resolvedPluginConfig,
|
|
14499
|
+
resolvedViteConfig,
|
|
14500
|
+
changedFilePath
|
|
14501
|
+
)) {
|
|
14412
14502
|
options.server.restart();
|
|
14413
14503
|
return [];
|
|
14414
14504
|
}
|
|
14415
14505
|
},
|
|
14416
14506
|
async configureServer(viteDevServer) {
|
|
14417
|
-
|
|
14418
|
-
|
|
14419
|
-
|
|
14507
|
+
const inputInspectorPort = await getInputInspectorPortOption(
|
|
14508
|
+
pluginConfig,
|
|
14509
|
+
viteDevServer
|
|
14510
|
+
);
|
|
14511
|
+
const miniflareDevOptions = await getDevMiniflareOptions(
|
|
14512
|
+
resolvedPluginConfig,
|
|
14513
|
+
viteDevServer,
|
|
14514
|
+
inputInspectorPort
|
|
14420
14515
|
);
|
|
14421
14516
|
if (!miniflare) {
|
|
14422
|
-
|
|
14423
|
-
pluginConfig,
|
|
14424
|
-
viteDevServer
|
|
14425
|
-
);
|
|
14426
|
-
miniflare = new Miniflare(
|
|
14427
|
-
getDevMiniflareOptions(
|
|
14428
|
-
resolvedPluginConfig,
|
|
14429
|
-
viteDevServer,
|
|
14430
|
-
inputInspectorPort
|
|
14431
|
-
)
|
|
14432
|
-
);
|
|
14517
|
+
miniflare = new Miniflare(miniflareDevOptions);
|
|
14433
14518
|
} else {
|
|
14434
|
-
|
|
14435
|
-
await miniflare.setOptions(
|
|
14436
|
-
getDevMiniflareOptions(
|
|
14437
|
-
resolvedPluginConfig,
|
|
14438
|
-
viteDevServer,
|
|
14439
|
-
resolvedInspectorPort ?? false
|
|
14440
|
-
)
|
|
14441
|
-
);
|
|
14519
|
+
await miniflare.setOptions(miniflareDevOptions);
|
|
14442
14520
|
}
|
|
14443
14521
|
await initRunners(resolvedPluginConfig, viteDevServer, miniflare);
|
|
14444
|
-
|
|
14445
|
-
async (
|
|
14522
|
+
if (viteDevServer.httpServer) {
|
|
14523
|
+
handleWebSocket(viteDevServer.httpServer, async () => {
|
|
14446
14524
|
assert10(miniflare, `Miniflare not defined`);
|
|
14447
14525
|
const routerWorker = await getRouterWorker(miniflare);
|
|
14448
|
-
return routerWorker.fetch
|
|
14449
|
-
|
|
14450
|
-
|
|
14451
|
-
},
|
|
14452
|
-
{ alwaysCallNext: false }
|
|
14453
|
-
);
|
|
14454
|
-
handleWebSocket(viteDevServer.httpServer, async () => {
|
|
14455
|
-
assert10(miniflare, `Miniflare not defined`);
|
|
14456
|
-
const routerWorker = await getRouterWorker(miniflare);
|
|
14457
|
-
return routerWorker.fetch;
|
|
14458
|
-
});
|
|
14526
|
+
return routerWorker.fetch;
|
|
14527
|
+
});
|
|
14528
|
+
}
|
|
14459
14529
|
return () => {
|
|
14460
|
-
viteDevServer.middlewares.use((req, res, next) => {
|
|
14461
|
-
|
|
14530
|
+
viteDevServer.middlewares.use(async (req, res, next) => {
|
|
14531
|
+
try {
|
|
14532
|
+
assert10(miniflare, `Miniflare not defined`);
|
|
14533
|
+
const routerWorker = await getRouterWorker(miniflare);
|
|
14534
|
+
const request = createRequest(req, res);
|
|
14535
|
+
const response = await routerWorker.fetch(
|
|
14536
|
+
toMiniflareRequest(request),
|
|
14537
|
+
{
|
|
14538
|
+
redirect: "manual"
|
|
14539
|
+
}
|
|
14540
|
+
);
|
|
14541
|
+
if (req.httpVersionMajor === 2) {
|
|
14542
|
+
response.headers.delete("transfer-encoding");
|
|
14543
|
+
}
|
|
14544
|
+
await sendResponse(res, response);
|
|
14545
|
+
} catch (error) {
|
|
14546
|
+
next(error);
|
|
14547
|
+
}
|
|
14462
14548
|
});
|
|
14463
14549
|
};
|
|
14464
14550
|
},
|
|
14465
14551
|
async configurePreviewServer(vitePreviewServer) {
|
|
14466
|
-
const workerConfigs = getWorkerConfigs(
|
|
14552
|
+
const workerConfigs = getWorkerConfigs(
|
|
14553
|
+
vitePreviewServer.config.root,
|
|
14554
|
+
pluginConfig.experimental?.mixedMode ?? false
|
|
14555
|
+
);
|
|
14467
14556
|
const inputInspectorPort = await getInputInspectorPortOption(
|
|
14468
14557
|
pluginConfig,
|
|
14469
14558
|
vitePreviewServer
|
|
14470
14559
|
);
|
|
14471
14560
|
const miniflare2 = new Miniflare(
|
|
14472
|
-
getPreviewMiniflareOptions(
|
|
14561
|
+
await getPreviewMiniflareOptions(
|
|
14473
14562
|
vitePreviewServer,
|
|
14474
14563
|
workerConfigs,
|
|
14475
14564
|
pluginConfig.persistState ?? true,
|
|
14565
|
+
!!pluginConfig.experimental?.mixedMode,
|
|
14476
14566
|
inputInspectorPort
|
|
14477
14567
|
)
|
|
14478
14568
|
);
|
|
14479
|
-
const middleware = createMiddleware(
|
|
14480
|
-
({ request }) => {
|
|
14481
|
-
return miniflare2.dispatchFetch(toMiniflareRequest(request), {
|
|
14482
|
-
redirect: "manual"
|
|
14483
|
-
});
|
|
14484
|
-
},
|
|
14485
|
-
{ alwaysCallNext: false }
|
|
14486
|
-
);
|
|
14487
14569
|
handleWebSocket(
|
|
14488
14570
|
vitePreviewServer.httpServer,
|
|
14489
14571
|
() => miniflare2.dispatchFetch
|
|
14490
14572
|
);
|
|
14491
|
-
vitePreviewServer.middlewares.use((req, res, next) => {
|
|
14492
|
-
|
|
14573
|
+
vitePreviewServer.middlewares.use(async (req, res, next) => {
|
|
14574
|
+
try {
|
|
14575
|
+
const request = createRequest(req, res);
|
|
14576
|
+
const response = await miniflare2.dispatchFetch(
|
|
14577
|
+
toMiniflareRequest(request),
|
|
14578
|
+
{ redirect: "manual" }
|
|
14579
|
+
);
|
|
14580
|
+
if (req.httpVersionMajor === 2) {
|
|
14581
|
+
response.headers.delete("transfer-encoding");
|
|
14582
|
+
}
|
|
14583
|
+
await sendResponse(res, response);
|
|
14584
|
+
} catch (error) {
|
|
14585
|
+
next(error);
|
|
14586
|
+
}
|
|
14493
14587
|
});
|
|
14494
14588
|
}
|
|
14495
14589
|
},
|
|
@@ -14598,6 +14692,18 @@ function cloudflare2(pluginConfig = {}) {
|
|
|
14598
14692
|
configEnvironment(name) {
|
|
14599
14693
|
if (isNodeCompat(getWorkerConfig2(name))) {
|
|
14600
14694
|
return {
|
|
14695
|
+
build: {
|
|
14696
|
+
rollupOptions: {
|
|
14697
|
+
plugins: [
|
|
14698
|
+
replace({
|
|
14699
|
+
"process.env.NODE_ENV": JSON.stringify(
|
|
14700
|
+
process.env.NODE_ENV ?? "production"
|
|
14701
|
+
),
|
|
14702
|
+
preventAssignment: true
|
|
14703
|
+
})
|
|
14704
|
+
]
|
|
14705
|
+
}
|
|
14706
|
+
},
|
|
14601
14707
|
resolve: {
|
|
14602
14708
|
builtins: [...nodeCompatExternals]
|
|
14603
14709
|
},
|
|
@@ -14639,7 +14745,9 @@ function cloudflare2(pluginConfig = {}) {
|
|
|
14639
14745
|
},
|
|
14640
14746
|
async transform(code, id) {
|
|
14641
14747
|
const workerConfig = getWorkerConfig2(this.environment.name);
|
|
14642
|
-
|
|
14748
|
+
if (!workerConfig) {
|
|
14749
|
+
return;
|
|
14750
|
+
}
|
|
14643
14751
|
const resolvedId = await this.resolve(workerConfig.main);
|
|
14644
14752
|
if (id === resolvedId?.id) {
|
|
14645
14753
|
return injectGlobalCode(id, code);
|
|
@@ -14668,6 +14776,25 @@ function cloudflare2(pluginConfig = {}) {
|
|
|
14668
14776
|
);
|
|
14669
14777
|
}
|
|
14670
14778
|
},
|
|
14779
|
+
// Plugin that handles Node.js Async Local Storage (ALS) compatibility support for Vite Environments that are hosted in Cloudflare Workers.
|
|
14780
|
+
{
|
|
14781
|
+
name: "vite-plugin-cloudflare:nodejs-als",
|
|
14782
|
+
apply(_config, env2) {
|
|
14783
|
+
return !env2.isPreview;
|
|
14784
|
+
},
|
|
14785
|
+
configEnvironment(name, config) {
|
|
14786
|
+
if (isNodeAls(getWorkerConfig2(name))) {
|
|
14787
|
+
return {
|
|
14788
|
+
resolve: {
|
|
14789
|
+
builtins: ["async_hooks", "node:async_hooks"]
|
|
14790
|
+
},
|
|
14791
|
+
optimizeDeps: {
|
|
14792
|
+
exclude: ["async_hooks", "node:async_hooks"]
|
|
14793
|
+
}
|
|
14794
|
+
};
|
|
14795
|
+
}
|
|
14796
|
+
}
|
|
14797
|
+
},
|
|
14671
14798
|
// Plugin that provides an __debug path for debugging the Cloudflare Workers.
|
|
14672
14799
|
{
|
|
14673
14800
|
name: "vite-plugin-cloudflare:debug",
|
|
@@ -14692,7 +14819,10 @@ function cloudflare2(pluginConfig = {}) {
|
|
|
14692
14819
|
});
|
|
14693
14820
|
},
|
|
14694
14821
|
async configurePreviewServer(vitePreviewServer) {
|
|
14695
|
-
const workerConfigs = getWorkerConfigs(
|
|
14822
|
+
const workerConfigs = getWorkerConfigs(
|
|
14823
|
+
vitePreviewServer.config.root,
|
|
14824
|
+
pluginConfig.experimental?.mixedMode ?? false
|
|
14825
|
+
);
|
|
14696
14826
|
if (workerConfigs.length >= 1 && pluginConfig.inspectorPort !== false) {
|
|
14697
14827
|
addDebugToVitePrintUrls(vitePreviewServer);
|
|
14698
14828
|
}
|
|
@@ -14733,6 +14863,9 @@ function cloudflare2(pluginConfig = {}) {
|
|
|
14733
14863
|
build.onResolve(
|
|
14734
14864
|
{ filter: NODEJS_MODULES_RE },
|
|
14735
14865
|
({ path: path10, importer }) => {
|
|
14866
|
+
if (isNodeAls(workerConfig) && isNodeAlsModule(path10)) {
|
|
14867
|
+
return;
|
|
14868
|
+
}
|
|
14736
14869
|
const nodeJsCompatWarnings = nodeJsCompatWarningsMap.get(workerConfig);
|
|
14737
14870
|
nodeJsCompatWarnings?.registerImport(path10, importer);
|
|
14738
14871
|
return { path: path10, external: true };
|
|
@@ -14762,6 +14895,9 @@ function cloudflare2(pluginConfig = {}) {
|
|
|
14762
14895
|
async resolveId(source, importer) {
|
|
14763
14896
|
const workerConfig = getWorkerConfig2(this.environment.name);
|
|
14764
14897
|
if (workerConfig && !isNodeCompat(workerConfig)) {
|
|
14898
|
+
if (isNodeAls(workerConfig) && isNodeAlsModule(source)) {
|
|
14899
|
+
return;
|
|
14900
|
+
}
|
|
14765
14901
|
const nodeJsCompatWarnings = nodeJsCompatWarningsMap.get(workerConfig);
|
|
14766
14902
|
if (nodejsBuiltins.has(source)) {
|
|
14767
14903
|
nodeJsCompatWarnings?.registerImport(source, importer);
|
|
@@ -14780,10 +14916,16 @@ function cloudflare2(pluginConfig = {}) {
|
|
|
14780
14916
|
}
|
|
14781
14917
|
}
|
|
14782
14918
|
async function getInputInspectorPortOption(pluginConfig, viteServer) {
|
|
14919
|
+
if (pluginConfig.inspectorPort === void 0 || pluginConfig.inspectorPort === 0) {
|
|
14920
|
+
const resolvedInspectorPort = await getResolvedInspectorPort(pluginConfig);
|
|
14921
|
+
if (resolvedInspectorPort !== null) {
|
|
14922
|
+
return resolvedInspectorPort;
|
|
14923
|
+
}
|
|
14924
|
+
}
|
|
14783
14925
|
const inputInspectorPort = pluginConfig.inspectorPort ?? await getFirstAvailablePort(DEFAULT_INSPECTOR_PORT);
|
|
14784
14926
|
if (pluginConfig.inspectorPort === void 0 && inputInspectorPort !== DEFAULT_INSPECTOR_PORT) {
|
|
14785
14927
|
viteServer.config.logger.warn(
|
|
14786
|
-
|
|
14928
|
+
colors3.dim(
|
|
14787
14929
|
`Default inspector port ${DEFAULT_INSPECTOR_PORT} not available, using ${inputInspectorPort} instead
|
|
14788
14930
|
`
|
|
14789
14931
|
)
|
|
@@ -14809,6 +14951,19 @@ function getDotDevDotVarsContent(configPath, cloudflareEnv) {
|
|
|
14809
14951
|
}
|
|
14810
14952
|
return null;
|
|
14811
14953
|
}
|
|
14954
|
+
function hasDotDevDotVarsFileChanged(resolvedPluginConfig, changedFilePath) {
|
|
14955
|
+
return [...resolvedPluginConfig.configPaths].some((configPath) => {
|
|
14956
|
+
const dotDevDotVars = path9.join(path9.dirname(configPath), ".dev.vars");
|
|
14957
|
+
if (dotDevDotVars === changedFilePath) {
|
|
14958
|
+
return true;
|
|
14959
|
+
}
|
|
14960
|
+
if (resolvedPluginConfig.cloudflareEnv) {
|
|
14961
|
+
const dotDevDotVarsForEnv = `${dotDevDotVars}.${resolvedPluginConfig.cloudflareEnv}`;
|
|
14962
|
+
return dotDevDotVarsForEnv === changedFilePath;
|
|
14963
|
+
}
|
|
14964
|
+
return false;
|
|
14965
|
+
});
|
|
14966
|
+
}
|
|
14812
14967
|
export {
|
|
14813
14968
|
cloudflare2 as cloudflare
|
|
14814
14969
|
};
|