1.0.1 • Published 10 years ago

custom-resolve v1.0.1

Weekly downloads
5
License
MIT
Repository
github
Last release
10 years ago

custom-resolve

version status coverage dependencies devDependencies

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.scss

example/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.scss

Breaking 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 packageEntry option is replaced by main.
  • The symlinks option is replaced by symlink. Check symlink for 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.

1.0.1

10 years ago

1.0.0

10 years ago

0.2.1

10 years ago

0.2.0

10 years ago

0.1.6

10 years ago

0.1.5

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago