#nodejs #node #module #js #resolution #resolve #algorithm

node-resolve

The Node.js module resolution algorithm

6 stable releases

Uses old Rust 2015

2.2.0 May 16, 2018
2.1.1 May 8, 2018
2.0.0 May 6, 2018
1.1.0 Mar 8, 2018
1.0.1 Mar 6, 2018

#26 in #resolve

Download history 129/week @ 2024-09-04 193/week @ 2024-09-11 215/week @ 2024-09-18 345/week @ 2024-09-25 422/week @ 2024-10-02 349/week @ 2024-10-09 168/week @ 2024-10-16 197/week @ 2024-10-23 211/week @ 2024-10-30 140/week @ 2024-11-06 278/week @ 2024-11-13 267/week @ 2024-11-20 142/week @ 2024-11-27 259/week @ 2024-12-04 213/week @ 2024-12-11 201/week @ 2024-12-18

859 downloads per month
Used in hai_pal

Apache-2.0

18KB
320 lines

node-resolve

node-resolve on crates.io

Rust implementation of the Node.js module resolution algorithm.

Missing features:

  • async?
  • maybe more

Install

Add to your Cargo.toml:

[dependencies]
node-resolve = "2.2.0"

Usage

See docs.rs/node-resolve.

License

Apache-2.0


lib.rs:

Resolve module identifiers in a Node-style require() to a full file path.

use node_resolve::{resolve, resolve_from};

resolve("abc");
// → Ok("/path/to/cwd/node_modules/abc/index.js")
resolve_from("abc", PathBuf::from("/other/path"));
// → Ok("/other/path/node_modules/abc/index.js")

Dependencies

~0.5–1MB
~20K SLoC