#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

#25 in #resolve

Download history 149/week @ 2024-03-11 158/week @ 2024-03-18 83/week @ 2024-03-25 131/week @ 2024-04-01 89/week @ 2024-04-08 66/week @ 2024-04-15 131/week @ 2024-04-22 190/week @ 2024-04-29 112/week @ 2024-05-06 120/week @ 2024-05-13 247/week @ 2024-05-20 72/week @ 2024-05-27 131/week @ 2024-06-03 77/week @ 2024-06-10 59/week @ 2024-06-17 137/week @ 2024-06-24

407 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

~360–760KB
~17K SLoC