resolve-dependency-path

Convert a dependency path into a filepath

MIT 9 个版本
安装
npm install resolve-dependency-path
yarn add resolve-dependency-path
pnpm add resolve-dependency-path
bun add resolve-dependency-path
README

resolve-dependency-path

CI npm version npm downloads

Convert a dependency path into a filepath

npm install resolve-dependency-path

Usage

ESM

import resolvePath from 'resolve-dependency-path';

const resolved = resolvePath({
  dependency: './foobar',
  filename: 'path/to/file/containing/dependency.js',
  directory: 'path/to/all/files'
});

CommonJS

const { default: resolvePath } = require('resolve-dependency-path');

Options

Option Type Required Description
dependency string Yes The dependency specifier (e.g. the argument to require())
filename string Yes Absolute or relative path of the file that contains the dependency
directory string Yes Root directory used to resolve non-relative dependencies

Example

If you have a file like:

myapp/foo.js

require('./bar');

Then if you want to open the file associated with the dependency, you need to resolve ./bar onto the filesystem.

Since ./bar is a relative path, it should be resolved relative to foo.js, more specifically the directory containing foo.js, myapp/. This resolution would yield myapp/bar.js.

This is why the filename attribute is required to use this library.

If you have a non-relative dependency path like:

myapp/foo.js

define([
  'bar'
], function(bar) {

});

Then bar is relative to the root of all files, myapp. The resolution would yield myapp/bar.js.

A more complex example with subdirectories:

myapp/feature1/foo.js

define([
  'feature2/bar'
], function(bar) {

});

The dependency feature2/bar is relative to the root of all files, myapp, not the file foo.js.

This is why the directory attribute is required to use this library.

License

MIT

版本列表
5.0.0 2026-05-19
4.0.1 2025-02-01
4.0.0 2024-04-10
3.0.2 2023-05-07
3.0.1 2023-05-07
3.0.0 2023-05-06
2.0.0 2018-12-21
1.0.2 2015-02-28
1.0.1 2014-11-28