Skip to content

Commit bae5826

Browse files
committed
Filter entry Worker config before passing to config function
1 parent de06d68 commit bae5826

File tree

3 files changed

+26
-6
lines changed

3 files changed

+26
-6
lines changed

packages/vite-plugin-cloudflare/playground/prerendering/vite.config.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,12 @@ export default defineConfig({
1111
persistState: false,
1212
experimental: {
1313
prerenderWorker: {
14-
config: {
15-
name: "prerender",
16-
main: "./src/prerender.ts",
14+
config(_, { entryWorkerConfig }) {
15+
return {
16+
...entryWorkerConfig,
17+
name: "prerender",
18+
main: "./src/prerender.ts",
19+
};
1720
},
1821
},
1922
},

packages/vite-plugin-cloudflare/src/__tests__/resolve-plugin-config.spec.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,6 @@ describe("resolvePluginConfig - auxiliary workers", () => {
212212
// Verify we receive both parameters
213213
expect(userConfig).toBeDefined();
214214
expect(entryWorkerConfig).toBeDefined();
215-
expect(entryWorkerConfig.name).toBe("entry-worker");
216215
expect(entryWorkerConfig.compatibility_date).toBe("2024-01-01");
217216

218217
return {

packages/vite-plugin-cloudflare/src/plugin-config.ts

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,21 @@ interface Experimental {
5252
prerenderWorker?: AuxiliaryWorkerConfig;
5353
}
5454

55+
type FilteredEntryWorkerConfig = Omit<
56+
ResolvedAssetsOnlyConfig,
57+
"topLevelName" | "name"
58+
>;
59+
5560
type WorkerConfigCustomizer<TIsEntryWorker extends boolean> =
5661
| Partial<WorkerConfig>
5762
| ((
5863
...args: TIsEntryWorker extends true
5964
? [config: WorkerConfig]
6065
: [
6166
config: WorkerConfig,
62-
{ entryWorkerConfig: ResolvedAssetsOnlyConfig },
67+
{
68+
entryWorkerConfig: FilteredEntryWorkerConfig;
69+
},
6370
]
6471
) => Partial<WorkerConfig> | void);
6572

@@ -131,6 +138,15 @@ export type ResolvedPluginConfig =
131138
| WorkersResolvedConfig
132139
| PreviewResolvedConfig;
133140

141+
function filterEntryWorkerConfig(
142+
config: ResolvedAssetsOnlyConfig
143+
): FilteredEntryWorkerConfig {
144+
// eslint-disable-next-line unused-imports/no-unused-vars
145+
const { topLevelName, name, ...filteredConfig } = config;
146+
147+
return filteredConfig;
148+
}
149+
134150
export function customizeWorkerConfig(options: {
135151
workerConfig: WorkerConfig;
136152
configCustomizer: WorkerConfigCustomizer<false> | undefined;
@@ -158,7 +174,9 @@ export function customizeWorkerConfig(
158174
typeof options.configCustomizer === "function"
159175
? "entryWorkerConfig" in options
160176
? options.configCustomizer(options.workerConfig, {
161-
entryWorkerConfig: options.entryWorkerConfig,
177+
entryWorkerConfig: filterEntryWorkerConfig(
178+
options.entryWorkerConfig
179+
),
162180
})
163181
: options.configCustomizer(options.workerConfig)
164182
: options.configCustomizer;

0 commit comments

Comments
 (0)