Skip to main content
Version: 3x

Function: getResolveOptions

getResolveOptions(platform, options?): Object

Get Webpack's resolve options to properly resolve JavaScript files:

  • resolve platform extensions (e.g. file.ios.js)
  • resolve native extensions (e.g. file.native.js)
  • optionally use package exports (exports field in package.json) instead of main fields (e.g. main or browser or react-native)

Parameters

NameTypeDescription
platformstringTarget application platform.
options?ResolveOptionsAdditional options that can modify resolution behaviour.

Returns

Object

Webpack's resolve options.

NameTypeDescription
aliasFieldsstring[]Reference: Webpack's configuration.resolve.aliasFields
conditionNamesstring[]Reference: Webpack's configuration.resolve.conditionNames
exportsFieldsstring[]Reference: Webpack's configuration.resolve.exportsFields
extensionsstring[]Reference: Webpack's configuration.resolve.extensions
mainFieldsstring[]Reference: Webpack's configuration.resolve.mainFields

Example

Usage in Webpack config:

import * as Repack from '@callstack/repack';

export default (env) => {
const { platform } = env;

return {
resolve: {
...Repack.getResolveOptions(platform, {
enablePackageExports: false,
preferNativePlatform: true
}),
},
};
};

Defined in

packages/repack/src/webpack/utils/getResolveOptions.ts:48