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

Function resolveEnvironmentResolveOptions

packages/vite/src/node/config.ts:1100–1152  ·  view source on GitHub ↗

* alias and preserveSymlinks are not per-environment options, but they are * included in the resolved environment options for convenience.

(
  resolve: EnvironmentResolveOptions | undefined,
  alias: Alias[],
  preserveSymlinks: boolean,
  logger: Logger,
  /** undefined when resolving the top-level resolve options */
  consumer: 'client' | 'server' | undefined,
  // Backward compatibility
  isSsrTargetWebworkerEnvironment?: boolean,
)

Source from the content-addressed store, hash-verified

1098 * included in the resolved environment options for convenience.
1099 */
1100function resolveEnvironmentResolveOptions(
1101 resolve: EnvironmentResolveOptions | undefined,
1102 alias: Alias[],
1103 preserveSymlinks: boolean,
1104 logger: Logger,
1105 /** undefined when resolving the top-level resolve options */
1106 consumer: 'client' | 'server' | undefined,
1107 // Backward compatibility
1108 isSsrTargetWebworkerEnvironment?: boolean,
1109): ResolvedAllResolveOptions {
1110 const resolvedResolve: ResolvedAllResolveOptions = mergeWithDefaults(
1111 {
1112 ...configDefaults.resolve,
1113 mainFields:
1114 consumer === undefined ||
1115 consumer === 'client' ||
1116 isSsrTargetWebworkerEnvironment
1117 ? DEFAULT_CLIENT_MAIN_FIELDS
1118 : DEFAULT_SERVER_MAIN_FIELDS,
1119 conditions:
1120 consumer === undefined ||
1121 consumer === 'client' ||
1122 isSsrTargetWebworkerEnvironment
1123 ? DEFAULT_CLIENT_CONDITIONS
1124 : DEFAULT_SERVER_CONDITIONS.filter((c) => c !== 'browser'),
1125 builtins:
1126 resolve?.builtins ??
1127 (consumer === 'server'
1128 ? isSsrTargetWebworkerEnvironment && resolve?.noExternal === true
1129 ? []
1130 : nodeLikeBuiltins
1131 : []),
1132 },
1133 resolve ?? {},
1134 )
1135 resolvedResolve.preserveSymlinks = preserveSymlinks
1136 resolvedResolve.alias = alias
1137
1138 if (
1139 // @ts-expect-error removed field
1140 resolve?.browserField === false &&
1141 resolvedResolve.mainFields.includes('browser')
1142 ) {
1143 logger.warn(
1144 colors.yellow(
1145 `\`resolve.browserField\` is set to false, but the option is removed in favour of ` +
1146 `the 'browser' string in \`resolve.mainFields\`. You may want to update \`resolve.mainFields\` ` +
1147 `to remove the 'browser' string and preserve the previous browser behaviour.`,
1148 ),
1149 )
1150 }
1151 return resolvedResolve
1152}
1153
1154function resolveResolveOptions(
1155 resolve: AllResolveOptions | undefined,

Callers 2

resolveResolveOptionsFunction · 0.85

Calls 2

mergeWithDefaultsFunction · 0.90
warnMethod · 0.65

Tested by

no test coverage detected