@cloudflare/vite-plugin 0.0.0-624882eae → 0.0.0-6291fa161
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/README.md +15 -540
- package/dist/asset-workers/asset-worker.js +489 -489
- package/dist/asset-workers/router-worker.js +1 -1
- package/dist/index.js +91 -23
- package/package.json +9 -8
|
@@ -1985,7 +1985,7 @@ var we = class {
|
|
|
1985
1985
|
this.hasWritten || this.readyAnalytics && (this.hasWritten = true, this.readyAnalytics.logEvent({ version: 1, accountId: this.data.accountId, indexId: this.data.scriptId?.toString(), doubles: [this.data.requestTime ?? -1, this.data.coloId ?? -1, this.data.metalId ?? -1, this.data.coloTier ?? -1, this.data.userWorkerAhead === void 0 ? -1 : Number(this.data.userWorkerAhead)], blobs: [this.data.hostname?.substring(0, 256), this.data.dispatchtype, this.data.error?.substring(0, 256), this.data.version, this.data.coloRegion] }));
|
|
1986
1986
|
}
|
|
1987
1987
|
};
|
|
1988
|
-
var On = (t4) => ({ invoke_user_worker_ahead_of_assets: t4?.invoke_user_worker_ahead_of_assets ?? false, has_user_worker: t4?.has_user_worker ?? false, account_id: t4?.account_id ?? -1, script_id: t4?.script_id ?? -1 });
|
|
1988
|
+
var On = (t4) => ({ invoke_user_worker_ahead_of_assets: t4?.invoke_user_worker_ahead_of_assets ?? false, has_user_worker: t4?.has_user_worker ?? false, account_id: t4?.account_id ?? -1, script_id: t4?.script_id ?? -1, debug: t4?.debug ?? false });
|
|
1989
1989
|
var Bc = { async fetch(t4, e, n) {
|
|
1990
1990
|
let r, o = false, s = new we(e.ANALYTICS), i = new ue(e.UNSAFE_PERFORMANCE), a = i.now();
|
|
1991
1991
|
try {
|
package/dist/index.js
CHANGED
|
@@ -490,6 +490,7 @@ import * as fs5 from "node:fs";
|
|
|
490
490
|
import * as fsp2 from "node:fs/promises";
|
|
491
491
|
import * as path9 from "node:path";
|
|
492
492
|
import { createMiddleware } from "@hattip/adapter-node";
|
|
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);
|
|
@@ -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 })
|
|
@@ -13828,8 +13839,7 @@ var nonApplicableWorkerConfigs = {
|
|
|
13828
13839
|
"preserve_file_names",
|
|
13829
13840
|
"rules",
|
|
13830
13841
|
"site",
|
|
13831
|
-
"tsconfig"
|
|
13832
|
-
"upload_source_maps"
|
|
13842
|
+
"tsconfig"
|
|
13833
13843
|
]
|
|
13834
13844
|
};
|
|
13835
13845
|
var nullableNonApplicable = [
|
|
@@ -13840,8 +13850,7 @@ var nullableNonApplicable = [
|
|
|
13840
13850
|
"no_bundle",
|
|
13841
13851
|
"preserve_file_names",
|
|
13842
13852
|
"site",
|
|
13843
|
-
"tsconfig"
|
|
13844
|
-
"upload_source_maps"
|
|
13853
|
+
"tsconfig"
|
|
13845
13854
|
];
|
|
13846
13855
|
function readWorkerConfig(configPath, env2) {
|
|
13847
13856
|
const nonApplicable = {
|
|
@@ -14182,12 +14191,15 @@ function validateWorkerEnvironmentsResolvedConfigs(resolvedPluginConfig, resolve
|
|
|
14182
14191
|
for (const envName of workersEnvironmentNames) {
|
|
14183
14192
|
const workerEnvConfig = resolvedViteConfig.environments[envName];
|
|
14184
14193
|
assert9(workerEnvConfig, `Missing environment config for "${envName}"`);
|
|
14185
|
-
const { optimizeDeps, resolve:
|
|
14194
|
+
const { optimizeDeps, resolve: resolve7 } = workerEnvConfig;
|
|
14186
14195
|
const disallowedConfig = {};
|
|
14187
14196
|
const disallowedOptimizeDepsExcludeEntries = (optimizeDeps.exclude ?? []).filter((entry) => {
|
|
14188
14197
|
if (cloudflareBuiltInModules.includes(entry)) {
|
|
14189
14198
|
return false;
|
|
14190
14199
|
}
|
|
14200
|
+
if (isNodeAlsModule(entry) && isNodeAls(resolvedPluginConfig.workers[envName])) {
|
|
14201
|
+
return false;
|
|
14202
|
+
}
|
|
14191
14203
|
if (NODEJS_MODULES_RE.test(entry) && isNodeCompat(resolvedPluginConfig.workers[envName])) {
|
|
14192
14204
|
return false;
|
|
14193
14205
|
}
|
|
@@ -14196,8 +14208,8 @@ function validateWorkerEnvironmentsResolvedConfigs(resolvedPluginConfig, resolve
|
|
|
14196
14208
|
if (disallowedOptimizeDepsExcludeEntries.length > 0) {
|
|
14197
14209
|
disallowedConfig.optimizeDepsExclude = disallowedOptimizeDepsExcludeEntries;
|
|
14198
14210
|
}
|
|
14199
|
-
if (
|
|
14200
|
-
disallowedConfig.resolveExternal =
|
|
14211
|
+
if (resolve7.external === true || resolve7.external.length > 0) {
|
|
14212
|
+
disallowedConfig.resolveExternal = resolve7.external;
|
|
14201
14213
|
}
|
|
14202
14214
|
if (Object.keys(disallowedConfig).length > 0) {
|
|
14203
14215
|
disallowedEnvsConfigs.set(envName, disallowedConfig);
|
|
@@ -14403,14 +14415,12 @@ function cloudflare2(pluginConfig = {}) {
|
|
|
14403
14415
|
}
|
|
14404
14416
|
},
|
|
14405
14417
|
hotUpdate(options) {
|
|
14406
|
-
|
|
14407
|
-
|
|
14408
|
-
resolvedPluginConfig
|
|
14409
|
-
|
|
14410
|
-
|
|
14411
|
-
|
|
14412
|
-
)
|
|
14413
|
-
) {
|
|
14418
|
+
const changedFilePath = path9.resolve(options.file);
|
|
14419
|
+
if (resolvedPluginConfig.configPaths.has(changedFilePath) || hasDotDevDotVarsFileChanged(resolvedPluginConfig, changedFilePath) || hasAssetsConfigChanged(
|
|
14420
|
+
resolvedPluginConfig,
|
|
14421
|
+
resolvedViteConfig,
|
|
14422
|
+
changedFilePath
|
|
14423
|
+
)) {
|
|
14414
14424
|
options.server.restart();
|
|
14415
14425
|
return [];
|
|
14416
14426
|
}
|
|
@@ -14424,8 +14434,8 @@ function cloudflare2(pluginConfig = {}) {
|
|
|
14424
14434
|
pluginConfig,
|
|
14425
14435
|
viteDevServer
|
|
14426
14436
|
);
|
|
14427
|
-
if (miniflare) {
|
|
14428
|
-
|
|
14437
|
+
if (!miniflare) {
|
|
14438
|
+
miniflare = new Miniflare(
|
|
14429
14439
|
getDevMiniflareOptions(
|
|
14430
14440
|
resolvedPluginConfig,
|
|
14431
14441
|
viteDevServer,
|
|
@@ -14433,7 +14443,7 @@ function cloudflare2(pluginConfig = {}) {
|
|
|
14433
14443
|
)
|
|
14434
14444
|
);
|
|
14435
14445
|
} else {
|
|
14436
|
-
miniflare
|
|
14446
|
+
await miniflare.setOptions(
|
|
14437
14447
|
getDevMiniflareOptions(
|
|
14438
14448
|
resolvedPluginConfig,
|
|
14439
14449
|
viteDevServer,
|
|
@@ -14599,6 +14609,18 @@ function cloudflare2(pluginConfig = {}) {
|
|
|
14599
14609
|
configEnvironment(name) {
|
|
14600
14610
|
if (isNodeCompat(getWorkerConfig2(name))) {
|
|
14601
14611
|
return {
|
|
14612
|
+
build: {
|
|
14613
|
+
rollupOptions: {
|
|
14614
|
+
plugins: [
|
|
14615
|
+
replace({
|
|
14616
|
+
"process.env.NODE_ENV": JSON.stringify(
|
|
14617
|
+
process.env.NODE_ENV ?? "production"
|
|
14618
|
+
),
|
|
14619
|
+
preventAssignment: true
|
|
14620
|
+
})
|
|
14621
|
+
]
|
|
14622
|
+
}
|
|
14623
|
+
},
|
|
14602
14624
|
resolve: {
|
|
14603
14625
|
builtins: [...nodeCompatExternals]
|
|
14604
14626
|
},
|
|
@@ -14640,7 +14662,9 @@ function cloudflare2(pluginConfig = {}) {
|
|
|
14640
14662
|
},
|
|
14641
14663
|
async transform(code, id) {
|
|
14642
14664
|
const workerConfig = getWorkerConfig2(this.environment.name);
|
|
14643
|
-
|
|
14665
|
+
if (!workerConfig) {
|
|
14666
|
+
return;
|
|
14667
|
+
}
|
|
14644
14668
|
const resolvedId = await this.resolve(workerConfig.main);
|
|
14645
14669
|
if (id === resolvedId?.id) {
|
|
14646
14670
|
return injectGlobalCode(id, code);
|
|
@@ -14669,6 +14693,25 @@ function cloudflare2(pluginConfig = {}) {
|
|
|
14669
14693
|
);
|
|
14670
14694
|
}
|
|
14671
14695
|
},
|
|
14696
|
+
// Plugin that handles Node.js Async Local Storage (ALS) compatibility support for Vite Environments that are hosted in Cloudflare Workers.
|
|
14697
|
+
{
|
|
14698
|
+
name: "vite-plugin-cloudflare:nodejs-als",
|
|
14699
|
+
apply(_config, env2) {
|
|
14700
|
+
return !env2.isPreview;
|
|
14701
|
+
},
|
|
14702
|
+
configEnvironment(name, config) {
|
|
14703
|
+
if (isNodeAls(getWorkerConfig2(name))) {
|
|
14704
|
+
return {
|
|
14705
|
+
resolve: {
|
|
14706
|
+
builtins: ["async_hooks", "node:async_hooks"]
|
|
14707
|
+
},
|
|
14708
|
+
optimizeDeps: {
|
|
14709
|
+
exclude: ["async_hooks", "node:async_hooks"]
|
|
14710
|
+
}
|
|
14711
|
+
};
|
|
14712
|
+
}
|
|
14713
|
+
}
|
|
14714
|
+
},
|
|
14672
14715
|
// Plugin that provides an __debug path for debugging the Cloudflare Workers.
|
|
14673
14716
|
{
|
|
14674
14717
|
name: "vite-plugin-cloudflare:debug",
|
|
@@ -14734,6 +14777,9 @@ function cloudflare2(pluginConfig = {}) {
|
|
|
14734
14777
|
build.onResolve(
|
|
14735
14778
|
{ filter: NODEJS_MODULES_RE },
|
|
14736
14779
|
({ path: path10, importer }) => {
|
|
14780
|
+
if (isNodeAls(workerConfig) && isNodeAlsModule(path10)) {
|
|
14781
|
+
return;
|
|
14782
|
+
}
|
|
14737
14783
|
const nodeJsCompatWarnings = nodeJsCompatWarningsMap.get(workerConfig);
|
|
14738
14784
|
nodeJsCompatWarnings?.registerImport(path10, importer);
|
|
14739
14785
|
return { path: path10, external: true };
|
|
@@ -14763,6 +14809,9 @@ function cloudflare2(pluginConfig = {}) {
|
|
|
14763
14809
|
async resolveId(source, importer) {
|
|
14764
14810
|
const workerConfig = getWorkerConfig2(this.environment.name);
|
|
14765
14811
|
if (workerConfig && !isNodeCompat(workerConfig)) {
|
|
14812
|
+
if (isNodeAls(workerConfig) && isNodeAlsModule(source)) {
|
|
14813
|
+
return;
|
|
14814
|
+
}
|
|
14766
14815
|
const nodeJsCompatWarnings = nodeJsCompatWarningsMap.get(workerConfig);
|
|
14767
14816
|
if (nodejsBuiltins.has(source)) {
|
|
14768
14817
|
nodeJsCompatWarnings?.registerImport(source, importer);
|
|
@@ -14781,6 +14830,12 @@ function cloudflare2(pluginConfig = {}) {
|
|
|
14781
14830
|
}
|
|
14782
14831
|
}
|
|
14783
14832
|
async function getInputInspectorPortOption(pluginConfig, viteServer) {
|
|
14833
|
+
if (pluginConfig.inspectorPort === void 0 || pluginConfig.inspectorPort === 0) {
|
|
14834
|
+
const resolvedInspectorPort = await getResolvedInspectorPort(pluginConfig);
|
|
14835
|
+
if (resolvedInspectorPort !== null) {
|
|
14836
|
+
return resolvedInspectorPort;
|
|
14837
|
+
}
|
|
14838
|
+
}
|
|
14784
14839
|
const inputInspectorPort = pluginConfig.inspectorPort ?? await getFirstAvailablePort(DEFAULT_INSPECTOR_PORT);
|
|
14785
14840
|
if (pluginConfig.inspectorPort === void 0 && inputInspectorPort !== DEFAULT_INSPECTOR_PORT) {
|
|
14786
14841
|
viteServer.config.logger.warn(
|
|
@@ -14810,6 +14865,19 @@ function getDotDevDotVarsContent(configPath, cloudflareEnv) {
|
|
|
14810
14865
|
}
|
|
14811
14866
|
return null;
|
|
14812
14867
|
}
|
|
14868
|
+
function hasDotDevDotVarsFileChanged(resolvedPluginConfig, changedFilePath) {
|
|
14869
|
+
return [...resolvedPluginConfig.configPaths].some((configPath) => {
|
|
14870
|
+
const dotDevDotVars = path9.join(path9.dirname(configPath), ".dev.vars");
|
|
14871
|
+
if (dotDevDotVars === changedFilePath) {
|
|
14872
|
+
return true;
|
|
14873
|
+
}
|
|
14874
|
+
if (resolvedPluginConfig.cloudflareEnv) {
|
|
14875
|
+
const dotDevDotVarsForEnv = `${dotDevDotVars}.${resolvedPluginConfig.cloudflareEnv}`;
|
|
14876
|
+
return dotDevDotVarsForEnv === changedFilePath;
|
|
14877
|
+
}
|
|
14878
|
+
return false;
|
|
14879
|
+
});
|
|
14880
|
+
}
|
|
14813
14881
|
export {
|
|
14814
14882
|
cloudflare2 as cloudflare
|
|
14815
14883
|
};
|
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-6291fa161",
|
|
4
4
|
"description": "Cloudflare plugin for Vite",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cloudflare",
|
|
@@ -34,17 +34,18 @@
|
|
|
34
34
|
],
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@hattip/adapter-node": "^0.0.49",
|
|
37
|
+
"@rollup/plugin-replace": "^6.0.1",
|
|
37
38
|
"get-port": "^7.1.0",
|
|
38
39
|
"picocolors": "^1.1.1",
|
|
39
40
|
"tinyglobby": "^0.2.12",
|
|
40
41
|
"unenv": "2.0.0-rc.15",
|
|
41
42
|
"ws": "8.18.0",
|
|
42
|
-
"@cloudflare/unenv-preset": "0.0.0-
|
|
43
|
-
"
|
|
44
|
-
"
|
|
43
|
+
"@cloudflare/unenv-preset": "0.0.0-6291fa161",
|
|
44
|
+
"miniflare": "0.0.0-6291fa161",
|
|
45
|
+
"wrangler": "0.0.0-6291fa161"
|
|
45
46
|
},
|
|
46
47
|
"devDependencies": {
|
|
47
|
-
"@cloudflare/workers-types": "^4.
|
|
48
|
+
"@cloudflare/workers-types": "^4.20250422.0",
|
|
48
49
|
"@types/node": "^22.10.1",
|
|
49
50
|
"@types/ws": "^8.5.13",
|
|
50
51
|
"magic-string": "^0.30.12",
|
|
@@ -53,10 +54,10 @@
|
|
|
53
54
|
"typescript": "^5.7.2",
|
|
54
55
|
"undici": "^5.28.5",
|
|
55
56
|
"vite": "^6.1.0",
|
|
56
|
-
"vitest": "~3.
|
|
57
|
+
"vitest": "~3.1.1",
|
|
58
|
+
"@cloudflare/workers-shared": "0.0.0-6291fa161",
|
|
57
59
|
"@cloudflare/mock-npm-registry": "0.0.0",
|
|
58
|
-
"@cloudflare/workers-tsconfig": "0.0.0"
|
|
59
|
-
"@cloudflare/workers-shared": "0.0.0-624882eae"
|
|
60
|
+
"@cloudflare/workers-tsconfig": "0.0.0"
|
|
60
61
|
},
|
|
61
62
|
"peerDependencies": {
|
|
62
63
|
"vite": "^6.1.0",
|