Used to configure the Rspack module resolution logic.
Object
Record<string, false | string | (string | false)[]>
{}
Path alias, e.g.
At this point:
require("@/a")
will attempt to resolve <root>/src/a
.require("abc")
will attempt to resolve <root>/src/abc
.require("abc/file.js")
will not match, and it will attempt to resolve node_modules/abc/file.js
.string[]
['browser']
Define a field, such as browser
, that should be parsed in accordance with this specification.
boolean
true
Whether to resolve according to the package-browser-filed-spec rule.
Works the same with enhanced-resolve's resolve.aliasFields = ["browser"]
.
string[]
[]
Same as node's conditionNames for the exports
and imports
fields in package.json.
string[]
[".js", ".json", ".wasm"]
Parse modules in order, e.g. require('. /index')
, will try to parse '. /index.js'
, '. /index.json'
...
Record<string, string[] | string>
{}
Define alias for the extension. e.g.
require('./index.js')
will try to parse './index.ts'
, ./index.js
.
Record<string, false | string>
{}
Redirect in case of failed parsing.
string[]
target
is ["browser", "module", "main"]
when it is web["module", "main"]
for othersTry to parse the fields in package.json, e.g.
then import value from 'lib'
results in lib/es/index.js
.
string[]
["index"]
The filename suffix when resolving directories, e.g. require('. /dir/')
will try to resolve '. /dir/index'
.
string[]
["exports"]
Customize the exports
field in package.json. e.g.
When this configuration is ["testExports", "exports"]
, the result of import value from 'lib'
is lib/test.js
.
string[]
["node_modules"]
The name of the directory to use when resolving dependencies.
boolean
false
When enabled, require('file')
will first look for the . /file
file in the current directory, not <modules>/file
.
boolean
false
Opt for absolute paths when resolving, in relation to resolve.roots
.
string | undefined
undefined
If you pass the path of tsconfig.json
via the option, Rspack will try to resolve modules based on the paths
and baseUrl
of tsconfig.json
, functionally equivalent to tsconfig-paths-webpack-plugin.
tsconfig.json#extends
is not supported.
object
undefined
string
Same as resolve.tsConfigPath.
If you pass the path of tsconfig.json
via the option, Rspack will try to resolve modules based on the paths
and baseUrl
of tsconfig.json
, functionally equivalent to tsconfig-paths-webpack-plugin.
string[] | "auto" | undefined
undefined
Supports tsconfig project references defined in tsconfig-paths-webpack-plugin.
The list of tsconfig paths can be provided manually, or you may specify auto
to read the paths list from tsconfig.references
automatically.
This feature is disabled when the value is undefined
.
boolean
false
No longer resolve extensions, no longer resolve mainFiles in package.json (but does not affect requests from mainFiles, browser, alias).
string[]
[]
A list of resolve restrictions to restrict the paths that a request can be resolved on.
string[]
[]
A list of directories where server-relative URLs (beginning with '/') are resolved. It defaults to the context
configuration option. On systems other than Windows, these requests are initially resolved as an absolute path.
Record<string, Resolve>
.Customize the Resolve configuration based on the module type.