From 97f77430dbf886e801caad61c57708f4d8325d36 Mon Sep 17 00:00:00 2001 From: sushichan044 <71284054+sushichan044@users.noreply.github.com> Date: Mon, 19 Jan 2026 00:00:10 +0900 Subject: [PATCH 1/2] refactor: use ConfigEnv for typing mode --- packages/vite-plugin-cloudflare/src/plugins/config.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/vite-plugin-cloudflare/src/plugins/config.ts b/packages/vite-plugin-cloudflare/src/plugins/config.ts index 9f47ce24c51b..d11d5725f051 100644 --- a/packages/vite-plugin-cloudflare/src/plugins/config.ts +++ b/packages/vite-plugin-cloudflare/src/plugins/config.ts @@ -12,7 +12,7 @@ import { createPlugin, debuglog, getOutputDirectory } from "../utils"; import { validateWorkerEnvironmentOptions } from "../vite-config"; import { getWarningForWorkersConfigs } from "../workers-configs"; import type { PluginContext } from "../context"; -import type { EnvironmentOptions, UserConfig } from "vite"; +import type { ConfigEnv, EnvironmentOptions, UserConfig } from "vite"; /** * Plugin to handle configuration and config file watching @@ -144,7 +144,7 @@ export const configPlugin = createPlugin("config", (ctx) => { function getEnvironmentsConfig( ctx: PluginContext, userConfig: UserConfig, - mode: string + mode: ConfigEnv["mode"] ): Record | undefined { if (ctx.resolvedPluginConfig.type !== "workers") { return undefined; From 718d57ffa476e32aa383acfc77fb9ee970913bc8 Mon Sep 17 00:00:00 2001 From: sushichan044 <71284054+sushichan044@users.noreply.github.com> Date: Mon, 19 Jan 2026 00:02:32 +0900 Subject: [PATCH 2/2] feat(vite-plugin-cloudflare): generate sourcemap for worker environments in build if `upload_source_maps` is true --- .../src/cloudflare-environment.ts | 6 ++++++ packages/vite-plugin-cloudflare/src/plugins/config.ts | 11 +++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/packages/vite-plugin-cloudflare/src/cloudflare-environment.ts b/packages/vite-plugin-cloudflare/src/cloudflare-environment.ts index db5b18b9292c..60b71427d2a4 100644 --- a/packages/vite-plugin-cloudflare/src/cloudflare-environment.ts +++ b/packages/vite-plugin-cloudflare/src/cloudflare-environment.ts @@ -192,6 +192,7 @@ export function createCloudflareEnvironmentOptions({ workerConfig, userConfig, mode, + command, environmentName, isEntryWorker, isParentEnvironment, @@ -200,6 +201,7 @@ export function createCloudflareEnvironmentOptions({ workerConfig: ResolvedWorkerConfig; userConfig: vite.UserConfig; mode: vite.ConfigEnv["mode"]; + command: vite.ConfigEnv["command"]; environmentName: string; isEntryWorker: boolean; isParentEnvironment: boolean; @@ -236,6 +238,10 @@ export function createCloudflareEnvironmentOptions({ createEnvironment(name, config) { return new vite.BuildEnvironment(name, config); }, + sourcemap: + workerConfig.upload_source_maps === true && command === "build" + ? true + : undefined, target, emitAssets: true, manifest: isEntryWorker, diff --git a/packages/vite-plugin-cloudflare/src/plugins/config.ts b/packages/vite-plugin-cloudflare/src/plugins/config.ts index d11d5725f051..7edb4b4f8e50 100644 --- a/packages/vite-plugin-cloudflare/src/plugins/config.ts +++ b/packages/vite-plugin-cloudflare/src/plugins/config.ts @@ -48,7 +48,12 @@ export const configPlugin = createPlugin("config", (ctx) => { deny: [...defaultDeniedFiles, ".dev.vars", ".dev.vars.*"], }, }, - environments: getEnvironmentsConfig(ctx, userConfig, env.mode), + environments: getEnvironmentsConfig( + ctx, + userConfig, + env.mode, + env.command + ), builder: { buildApp: userConfig.builder?.buildApp ?? @@ -144,7 +149,8 @@ export const configPlugin = createPlugin("config", (ctx) => { function getEnvironmentsConfig( ctx: PluginContext, userConfig: UserConfig, - mode: ConfigEnv["mode"] + mode: ConfigEnv["mode"], + command: ConfigEnv["command"] ): Record | undefined { if (ctx.resolvedPluginConfig.type !== "workers") { return undefined; @@ -164,6 +170,7 @@ function getEnvironmentsConfig( workerConfig: worker.config, userConfig, mode, + command, hasNodeJsCompat: ctx.getNodeJsCompat(environmentName) !== undefined, };