es_resolve 0.4.3

JavaScript/TypeScript module resolution in Rust
Documentation
[![Crates.io](https://img.shields.io/crates/v/es_resolve)](https://crates.io/crates/es_resolve) 

# ES Resolve

JavaScript/TypeScript module resolution in Rust

# Installation

```bash
cargo add es_resolve
```

# Get Started

```rust
use std::path::{Path, PathBuf};
use es_resolve::*;

// Provide an exact path to the file from which we resolve
let source = PathBuf::from("tests/fixtures/relative/js.js");
// Construct an `es_resolve::EsResolver`, then call `resolve` to get the result.
// Also check `es_resolve::EsResolverError` for a list of errors that might occur!
let target = EsResolver::new("./ts", &source, TargetEnv::Browser).resolve().unwrap();
let expected_target_path = Path::new("tests/fixtures/relative/ts.ts").canonicalize().unwrap();
let expected_target = expected_target_path.to_string_lossy();

// We expect to get the absolute path to the resolved target module!
assert_eq!(target, expected_target);
```

# Features

## General Features

| Feature | Status | Since  | Note |
|---|---|---|---|
| Relative Module Import | 👌 | 0.1.0 | `import './App'` when there is an `./App.ts ./App.tsx ./App.js` etc.
| Non-relative Module Import | 👌 | 0.1.0 | `import '@angular/core'`. See also **Package.json Supports**.
| [TypeScript Path Mapping]https://www.typescriptlang.org/docs/handbook/module-resolution.html#path-mapping | 👌 | 0.1.0 | `import '@/App'` when you define `baseUrl` and `paths` in a parent `tsconfig.json`.
| Node Built-in Modules | 👌 | 0.1.0 | Resolve node built-in modules like `"http"` as-is instead of throwing an error.

## Package.json Supports

| Feature | Status | Since  | Note |
|---|---|---|---|
| Main Fields | 👌 | 0.1.0 | Try fields like `"main"`, `"browser"`, `"module"` in `package.json` by default.
| [Subpath Exports]https://nodejs.org/api/packages.html#subpath-exports | 👌 | 0.1.0 | `{ "exports": { "import": "./index.mjs", "require": "./index.cjs" } }` in package.json is gaining popularity.
| [Subpath Imports]https://nodejs.org/api/packages.html#subpath-imports | 👷 |  |