**Description:**
See #8858
**BREAKING CHANGE:**
`jsc.paths` are now prioritized differently to align with `tsc`. The order is:
1. Exact matches
2. Wildcard pattern matches, sorted by length of prefix before wildcard
**Related issue:**
- Closes#8858
**Description:**
From the typescript
[baseUrl](https://www.typescriptlang.org/docs/handbook/modules/reference.html#baseurl)
doc: When using bare specifiers (module specifiers that don’t begin with
./, ../, or /), baseUrl has a higher precedence than node_modules
package lookups.
In the current tsc resolver implementation, when resolving bare module
specifiers, baseUrl was not used except for `paths`, this cause the
belowing resolution failed, but it worked when used in typescript
project.
`tsconfig.json` / `.swcrc`:
```json
{
baseUrl: "."
paths: {
"@common/*": ["src/common/*"]
}
}
```
File structure:
- ./src/common/helper.ts
- ./src/index.ts
./src/index.ts content:
```ts
// tsc can resolve this, but tsc resolver cannot
import sth from "src/common/helper"
```
**Description:**
I changed the signature of `Resolve` because there was a need to pass the `value` part from `jsc.paths` to the caller.
**Related issue:**
- Closes#8184