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 inpackage.json
) instead of main fields (e.g.main
orbrowser
orreact-native
)
Parameters
Name | Type | Description |
---|---|---|
platform | string | Target application platform. |
options? | ResolveOptions | Additional options that can modify resolution behaviour. |
Returns
Object
Webpack's resolve options.
Name | Type | Description |
---|---|---|
aliasFields | string [] | Reference: Webpack's configuration.resolve.aliasFields |
conditionNames | string [] | Reference: Webpack's configuration.resolve.conditionNames |
exportsFields | string [] | Reference: Webpack's configuration.resolve.exportsFields |
extensions | string [] | Reference: Webpack's configuration.resolve.extensions |
mainFields | string [] | 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
}),
},
};
};