custom-resolve v1.0.1
custom-resolve
Return a function works like substack's node-resolve, with some options set by default.
Example
⌘ tree example/
example/
├── node_modules
│ └── colors
│ ├── colors.scss
│ └── package.json
├── resolve.js
└── style_modules
└── red
└── index.scssexample/node_modules/colors/package.json:
{
"style": "colors"
}example/resolve.js:
var resolver = require('..')
var path = require('path')
var resolve = resolver({
main: 'style',
extensions: ['.scss'],
})
resolve('colors', function (err, file) {
console.log(path.relative(__dirname, file))
})
console.log(
path.relative(__dirname, resolve.sync('./red', {
basedir: path.join(__dirname, 'style_modules'),
}))
)output:
⌘ node example/resolve.js
style_modules/red/index.scss
node_modules/colors/colors.scssBreaking changes in v1.0.0
- The options specified will be treated as the default options for
node-resolve, and when the returned custom resolve function called, options passed to it will overwrite the corresponding default options. - The
packageEntryoption is replaced bymain. - The
symlinksoption is replaced bysymlink. Checksymlinkfor more details. - The API only receives one argument.
resolve = resolver(defaultOptions)
Return a function like node-resolve,
with some of the options set by default according to defaultOptions.
When resolve is called with extra options,
they overwrite those in defaultOptions.
Besides all options supported by node-resolve,
defaultOptions supports the following options.
Refer to node-resolve for more information about supported options.
main
Specify the package entry.
If defaultOptions is String, it is treated as the main option.
Type: String
Default: main
filename
Specify the file path where to start resolving.
It is meant to make setting the basedir option conveniently.
Type: String
symlink
Specify how to treat symlinks in the top node_modules directory.
Type: true
All symlinks will be resolved to their realpaths.
Type: Array, String
Only those specified will be resolved to realpaths.
Type: Function
Signature: needRealpath = symlink(file)
Realpaths are used only when this function returns a truthy value.