MCPcopy
hub / github.com/vitejs/vite / resolveDepOptimizationOptions

Function resolveDepOptimizationOptions

packages/vite/src/node/config.ts:1193–1350  ·  view source on GitHub ↗
(
  optimizeDeps: DepOptimizationOptions | undefined,
  preserveSymlinks: boolean,
  forceOptimizeDeps: boolean | undefined,
  consumer: 'client' | 'server' | undefined,
  logger: Logger,
)

Source from the content-addressed store, hash-verified

1191
1192// TODO: Introduce ResolvedDepOptimizationOptions
1193function resolveDepOptimizationOptions(
1194 optimizeDeps: DepOptimizationOptions | undefined,
1195 preserveSymlinks: boolean,
1196 forceOptimizeDeps: boolean | undefined,
1197 consumer: 'client' | 'server' | undefined,
1198 logger: Logger,
1199): DepOptimizationOptions {
1200 if (
1201 optimizeDeps?.rolldownOptions &&
1202 optimizeDeps?.rolldownOptions === optimizeDeps?.rollupOptions
1203 ) {
1204 delete optimizeDeps?.rollupOptions
1205 }
1206 const merged = mergeWithDefaults(
1207 {
1208 ...configDefaults.optimizeDeps,
1209 disabled: undefined, // do not set here to avoid deprecation warning
1210 noDiscovery: consumer !== 'client',
1211 force: forceOptimizeDeps ?? configDefaults.optimizeDeps.force,
1212 },
1213 optimizeDeps ?? {},
1214 )
1215 setupRollupOptionCompat(merged, 'optimizeDeps')
1216
1217 const rolldownOptions = merged.rolldownOptions as Exclude<
1218 DepOptimizationOptions['rolldownOptions'],
1219 undefined
1220 >
1221
1222 if (merged.esbuildOptions && Object.keys(merged.esbuildOptions).length > 0) {
1223 logger.warn(
1224 colors.yellow(
1225 `You or a plugin you are using have set \`optimizeDeps.esbuildOptions\` ` +
1226 `but this option is now deprecated. ` +
1227 `Vite now uses Rolldown to optimize the dependencies. ` +
1228 `Please use \`optimizeDeps.rolldownOptions\` instead.`,
1229 ),
1230 )
1231
1232 rolldownOptions.resolve ??= {}
1233 rolldownOptions.output ??= {}
1234 rolldownOptions.transform ??= {}
1235
1236 const setResolveOptions = <
1237 T extends keyof Exclude<RolldownOptions['resolve'], undefined>,
1238 >(
1239 key: T,
1240 value: Exclude<RolldownOptions['resolve'], undefined>[T],
1241 ) => {
1242 if (value !== undefined && rolldownOptions.resolve![key] === undefined) {
1243 rolldownOptions.resolve![key] = value
1244 }
1245 }
1246
1247 if (
1248 merged.esbuildOptions.minify !== undefined &&
1249 rolldownOptions.output.minify === undefined
1250 ) {

Callers 1

Calls 4

mergeWithDefaultsFunction · 0.90
setupRollupOptionCompatFunction · 0.90
setResolveOptionsFunction · 0.85
warnMethod · 0.65

Tested by

no test coverage detected