#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 322/week @ 2024-11-15 207/week @ 2024-11-22 157/week @ 2024-11-29 273/week @ 2024-12-06 232/week @ 2024-12-13 132/week @ 2024-12-20 35/week @ 2024-12-27 197/week @ 2025-01-03 215/week @ 2025-01-10 367/week @ 2025-01-17 317/week @ 2025-01-24 298/week @ 2025-01-31 258/week @ 2025-02-07 156/week @ 2025-02-14 137/week @ 2025-02-21 153/week @ 2025-02-28

735 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.4–1MB
~20K SLoC