#nodejs #resolve

nodejs-resolver

nodejs 解析

87次发布

0.1.1 2023年11月27日
0.0.88 2023年5月30日
0.0.76 2023年3月30日
0.0.58 2022年12月7日
0.0.33 2022年7月21日

#9 in #resolve

Download history 102/week @ 2024-03-11 38/week @ 2024-03-18 106/week @ 2024-04-01 29/week @ 2024-04-08 21/week @ 2024-04-15 30/week @ 2024-04-22 22/week @ 2024-04-29 14/week @ 2024-05-06 21/week @ 2024-05-13 73/week @ 2024-05-20 22/week @ 2024-05-27 30/week @ 2024-06-03 31/week @ 2024-06-10 32/week @ 2024-06-17 21/week @ 2024-06-24

117 每月下载量

MIT 许可证

190KB
6K SLoC

nodejs_resolver

基准测试

bench 中,与 esbuildenhanced-resolve 和基于 ant-design 的此项目进行了性能比较


lib.rs:

nodejs_resolver

如何使用?

// |-- node_modules
// |---- foo
// |------ index.js
// | src
// |-- foo.ts
// |-- foo.js
// | tests

use nodejs_resolver::Resolver;

let cwd = std::env::current_dir().unwrap();
let resolver = Resolver::new(Default::default());

resolver.resolve(&cwd.join("./src"), "foo");
// -> ResolveResult::Info(ResolveInfo {
//    path: PathBuf::from("<cwd>/node_modules/foo/index.js")
//    request: Request {
//       target: "",
//       fragment: "",
//       query: ""
//    }
//  })
//

resolver.resolve(&cwd.join("./src"), "./foo");
// -> ResolveResult::Info(ResolveInfo {
//    path: PathBuf::from("<cwd>/src/foo.js")
//    request: Request {
//       target: "",
//       fragment: "",
//       query: ""
//    }
//  })
//

依赖项

~7–14MB
~161K SLoC