Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/tall-days-draw.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sveltejs/vite-plugin-svelte': patch
---

Remove automatic configuration for rolldownOptions.optimization.inlineConst because latest version of rolldown-vite has it enabled by default.
33 changes: 0 additions & 33 deletions packages/vite-plugin-svelte/src/plugins/configure.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import {
} from '../utils/options.js';
import { buildIdFilter, buildIdParser } from '../utils/id.js';
import { createCompileSvelte } from '../utils/compile.js';
import { gte } from '../utils/svelte-version.js';

// @ts-ignore rolldownVersion
const { version: viteVersion, rolldownVersion } = vite;
Expand Down Expand Up @@ -59,39 +58,7 @@ export function configure(api, inlineOptions) {
preOptions = await preResolveOptions(inlineOptions, config, configEnv);
// extra vite config
const extraViteConfig = await buildExtraViteConfig(preOptions, config);

if (
rolldownVersion &&
configEnv.command === 'build' &&
gte(rolldownVersion, '1.0.0-beta.35') // inlineConst received a critical bugfix in 1.0.0-beta.35
) {
extraViteConfig.build ??= {};
// rename rollupOptions to rolldownOptions
//@ts-ignore rolldownOptions only exists in rolldown-vite
extraViteConfig.build.rolldownOptions = extraViteConfig.build.rollupOptions || {};
delete extraViteConfig.build.rollupOptions;
// read user config inlineConst value
const inlineConst =
//@ts-ignore optimization only exists in rolldown-vite
config.build?.rolldownOptions?.optimization?.inlineConst ??
//@ts-ignore optimization only exists in rolldown-vite
config.build?.rollupOptions?.optimization?.inlineConst;

if (inlineConst == null) {
// set inlineConst build optimization for esm-env
//@ts-ignore rolldownOptions only exists in rolldown-vite
extraViteConfig.build.rolldownOptions.optimization ??= {};
//@ts-ignore rolldownOptions only exists in rolldown-vite
extraViteConfig.build.rolldownOptions.optimization.inlineConst = true;
} else if (inlineConst === false) {
log.warn(
'Your rolldown config contains `optimization.inlineConst: false`. This can lead to increased bundle size and leaked server code in client build.'
);
}
}

log.debug('additional vite config', extraViteConfig, 'config');

return extraViteConfig;
}
},
Expand Down
18 changes: 17 additions & 1 deletion packages/vite-plugin-svelte/src/utils/options.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ const {
defaultClientConditions,
defaultServerConditions,
normalizePath,
searchForWorkspaceRoot
searchForWorkspaceRoot,
// @ts-ignore
rolldownVersion
} = vite;
import { log } from './log.js';
import { loadSvelteConfig } from './load-svelte-config.js';
Expand Down Expand Up @@ -418,6 +420,20 @@ function validateViteConfig(extraViteConfig, config, options) {
);
}
}
if (rolldownVersion && isBuild) {
// read user config inlineConst value
const inlineConst =
//@ts-ignore optimization only exists in rolldown-vite
config.build?.rolldownOptions?.optimization?.inlineConst ??
//@ts-ignore optimization only exists in rolldown-vite
config.build?.rollupOptions?.optimization?.inlineConst;

if (inlineConst === false) {
log.warn(
'Your rolldown config contains `optimization.inlineConst: false`. This can lead to increased bundle size and leaked server code in client build.'
);
}
}
}

/**
Expand Down
Loading