Skip to content

Commit ec59d22

Browse files
authored
fix: absolute path aliasing should not be skipped (#410)
close #401
1 parent e5964f2 commit ec59d22

File tree

10 files changed

+93
-71
lines changed

10 files changed

+93
-71
lines changed

.changeset/quiet-moons-sell.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"eslint-import-resolver-typescript": patch
3+
---
4+
5+
fix: absolute path aliasing should not be skipped

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
"prepare": "simple-git-hooks && yarn-berry-deduplicate || exit 0",
4848
"release": "clean-pkg-json && changeset publish",
4949
"test": "run-p 'test:*'",
50+
"test:absoluteAlias": "yarn eslint --ext ts,tsx tests/absoluteAlias",
5051
"test:dotInclude": "yarn eslint --ext ts,tsx tests/dotInclude --ignore-pattern \"!.dot\"",
5152
"test:dotPaths": "yarn eslint --ext ts,tsx tests/dotPaths --ignore-pattern \"!.dot\"",
5253
"test:dotProject": "yarn eslint --ext ts,tsx tests/dotProject --ignore-pattern \"!.dot\"",
@@ -82,7 +83,7 @@
8283
"is-bun-module": "^2.0.0",
8384
"stable-hash": "^0.0.5",
8485
"tinyglobby": "^0.2.12",
85-
"unrs-resolver": "^1.3.1"
86+
"unrs-resolver": "^1.3.2"
8687
},
8788
"devDependencies": {
8889
"@1stg/common-config": "^11.1.0",

src/index.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ const tsconfigCache = new Map<string, TsConfigJsonResolved>()
3333

3434
const matcherCache = new Map<string, FileMatcher>()
3535

36-
const oxcResolve = (
36+
const unrsResolve = (
3737
source: string,
3838
file: string,
3939
resolver: ResolverFactory,
@@ -157,7 +157,7 @@ export const resolve = (
157157
}
158158
}
159159

160-
const resolved = oxcResolve(source, file, resolver)
160+
const resolved = unrsResolve(source, file, resolver)
161161

162162
const foundPath = resolved.path
163163

@@ -170,7 +170,7 @@ export const resolve = (
170170
!path.isAbsolute(source) &&
171171
!source.startsWith('.')
172172
) {
173-
const definitelyTyped = oxcResolve(
173+
const definitelyTyped = unrsResolve(
174174
'@types/' + mangleScopedPackage(source),
175175
file,
176176
resolver,

src/normalize-options.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,9 @@ export function normalizeOptions(
3939
configFile = tryFile(configFile)
4040
ensured = true
4141
} else if (project) {
42+
project = Array.isArray(project) ? project : [project]
4243
log('original projects:', ...project)
43-
project = (Array.isArray(project) ? project : [project]).map(toGlobPath)
44+
project = project.map(toGlobPath)
4445
if (project.some(p => isDynamicPattern(p))) {
4546
project = globSync(project, {
4647
absolute: true,

tests/absoluteAlias/.eslintrc.cjs

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module.exports = require('../base.eslintrc.cjs')(__dirname)
+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export default 'image.webp'

tests/absoluteAlias/test.ts

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import image from '/images/foo.js'
2+
3+
console.log(image)

tests/absoluteAlias/tsconfig.json

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"compilerOptions": {
3+
"paths": {
4+
"/*": ["./public/*"]
5+
}
6+
}
7+
}

tests/base.eslintrc.cjs

+3
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ const base = project => ({
3838
overrides: [
3939
{
4040
files: '**/.*.cjs',
41+
env: {
42+
node: true,
43+
},
4144
rules: {
4245
'@typescript-eslint/no-require-imports': 'off',
4346
},

yarn.lock

+66-66
Original file line numberDiff line numberDiff line change
@@ -4125,109 +4125,109 @@ __metadata:
41254125
languageName: node
41264126
linkType: hard
41274127

4128-
"@unrs/resolver-binding-darwin-arm64@npm:1.3.1":
4129-
version: 1.3.1
4130-
resolution: "@unrs/resolver-binding-darwin-arm64@npm:1.3.1"
4128+
"@unrs/resolver-binding-darwin-arm64@npm:1.3.2":
4129+
version: 1.3.2
4130+
resolution: "@unrs/resolver-binding-darwin-arm64@npm:1.3.2"
41314131
conditions: os=darwin & cpu=arm64
41324132
languageName: node
41334133
linkType: hard
41344134

4135-
"@unrs/resolver-binding-darwin-x64@npm:1.3.1":
4136-
version: 1.3.1
4137-
resolution: "@unrs/resolver-binding-darwin-x64@npm:1.3.1"
4135+
"@unrs/resolver-binding-darwin-x64@npm:1.3.2":
4136+
version: 1.3.2
4137+
resolution: "@unrs/resolver-binding-darwin-x64@npm:1.3.2"
41384138
conditions: os=darwin & cpu=x64
41394139
languageName: node
41404140
linkType: hard
41414141

4142-
"@unrs/resolver-binding-freebsd-x64@npm:1.3.1":
4143-
version: 1.3.1
4144-
resolution: "@unrs/resolver-binding-freebsd-x64@npm:1.3.1"
4142+
"@unrs/resolver-binding-freebsd-x64@npm:1.3.2":
4143+
version: 1.3.2
4144+
resolution: "@unrs/resolver-binding-freebsd-x64@npm:1.3.2"
41454145
conditions: os=freebsd & cpu=x64
41464146
languageName: node
41474147
linkType: hard
41484148

4149-
"@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.3.1":
4150-
version: 1.3.1
4151-
resolution: "@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.3.1"
4149+
"@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.3.2":
4150+
version: 1.3.2
4151+
resolution: "@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.3.2"
41524152
conditions: os=linux & cpu=arm
41534153
languageName: node
41544154
linkType: hard
41554155

4156-
"@unrs/resolver-binding-linux-arm-musleabihf@npm:1.3.1":
4157-
version: 1.3.1
4158-
resolution: "@unrs/resolver-binding-linux-arm-musleabihf@npm:1.3.1"
4156+
"@unrs/resolver-binding-linux-arm-musleabihf@npm:1.3.2":
4157+
version: 1.3.2
4158+
resolution: "@unrs/resolver-binding-linux-arm-musleabihf@npm:1.3.2"
41594159
conditions: os=linux & cpu=arm
41604160
languageName: node
41614161
linkType: hard
41624162

4163-
"@unrs/resolver-binding-linux-arm64-gnu@npm:1.3.1":
4164-
version: 1.3.1
4165-
resolution: "@unrs/resolver-binding-linux-arm64-gnu@npm:1.3.1"
4163+
"@unrs/resolver-binding-linux-arm64-gnu@npm:1.3.2":
4164+
version: 1.3.2
4165+
resolution: "@unrs/resolver-binding-linux-arm64-gnu@npm:1.3.2"
41664166
conditions: os=linux & cpu=arm64 & libc=glibc
41674167
languageName: node
41684168
linkType: hard
41694169

4170-
"@unrs/resolver-binding-linux-arm64-musl@npm:1.3.1":
4171-
version: 1.3.1
4172-
resolution: "@unrs/resolver-binding-linux-arm64-musl@npm:1.3.1"
4170+
"@unrs/resolver-binding-linux-arm64-musl@npm:1.3.2":
4171+
version: 1.3.2
4172+
resolution: "@unrs/resolver-binding-linux-arm64-musl@npm:1.3.2"
41734173
conditions: os=linux & cpu=arm64 & libc=musl
41744174
languageName: node
41754175
linkType: hard
41764176

4177-
"@unrs/resolver-binding-linux-ppc64-gnu@npm:1.3.1":
4178-
version: 1.3.1
4179-
resolution: "@unrs/resolver-binding-linux-ppc64-gnu@npm:1.3.1"
4177+
"@unrs/resolver-binding-linux-ppc64-gnu@npm:1.3.2":
4178+
version: 1.3.2
4179+
resolution: "@unrs/resolver-binding-linux-ppc64-gnu@npm:1.3.2"
41804180
conditions: os=linux & cpu=ppc64 & libc=glibc
41814181
languageName: node
41824182
linkType: hard
41834183

4184-
"@unrs/resolver-binding-linux-s390x-gnu@npm:1.3.1":
4185-
version: 1.3.1
4186-
resolution: "@unrs/resolver-binding-linux-s390x-gnu@npm:1.3.1"
4184+
"@unrs/resolver-binding-linux-s390x-gnu@npm:1.3.2":
4185+
version: 1.3.2
4186+
resolution: "@unrs/resolver-binding-linux-s390x-gnu@npm:1.3.2"
41874187
conditions: os=linux & cpu=s390x & libc=glibc
41884188
languageName: node
41894189
linkType: hard
41904190

4191-
"@unrs/resolver-binding-linux-x64-gnu@npm:1.3.1":
4192-
version: 1.3.1
4193-
resolution: "@unrs/resolver-binding-linux-x64-gnu@npm:1.3.1"
4191+
"@unrs/resolver-binding-linux-x64-gnu@npm:1.3.2":
4192+
version: 1.3.2
4193+
resolution: "@unrs/resolver-binding-linux-x64-gnu@npm:1.3.2"
41944194
conditions: os=linux & cpu=x64 & libc=glibc
41954195
languageName: node
41964196
linkType: hard
41974197

4198-
"@unrs/resolver-binding-linux-x64-musl@npm:1.3.1":
4199-
version: 1.3.1
4200-
resolution: "@unrs/resolver-binding-linux-x64-musl@npm:1.3.1"
4198+
"@unrs/resolver-binding-linux-x64-musl@npm:1.3.2":
4199+
version: 1.3.2
4200+
resolution: "@unrs/resolver-binding-linux-x64-musl@npm:1.3.2"
42014201
conditions: os=linux & cpu=x64 & libc=musl
42024202
languageName: node
42034203
linkType: hard
42044204

4205-
"@unrs/resolver-binding-wasm32-wasi@npm:1.3.1":
4206-
version: 1.3.1
4207-
resolution: "@unrs/resolver-binding-wasm32-wasi@npm:1.3.1"
4205+
"@unrs/resolver-binding-wasm32-wasi@npm:1.3.2":
4206+
version: 1.3.2
4207+
resolution: "@unrs/resolver-binding-wasm32-wasi@npm:1.3.2"
42084208
dependencies:
42094209
"@napi-rs/wasm-runtime": "npm:^0.2.7"
42104210
conditions: cpu=wasm32
42114211
languageName: node
42124212
linkType: hard
42134213

4214-
"@unrs/resolver-binding-win32-arm64-msvc@npm:1.3.1":
4215-
version: 1.3.1
4216-
resolution: "@unrs/resolver-binding-win32-arm64-msvc@npm:1.3.1"
4214+
"@unrs/resolver-binding-win32-arm64-msvc@npm:1.3.2":
4215+
version: 1.3.2
4216+
resolution: "@unrs/resolver-binding-win32-arm64-msvc@npm:1.3.2"
42174217
conditions: os=win32 & cpu=arm64
42184218
languageName: node
42194219
linkType: hard
42204220

4221-
"@unrs/resolver-binding-win32-ia32-msvc@npm:1.3.1":
4222-
version: 1.3.1
4223-
resolution: "@unrs/resolver-binding-win32-ia32-msvc@npm:1.3.1"
4221+
"@unrs/resolver-binding-win32-ia32-msvc@npm:1.3.2":
4222+
version: 1.3.2
4223+
resolution: "@unrs/resolver-binding-win32-ia32-msvc@npm:1.3.2"
42244224
conditions: os=win32 & cpu=ia32
42254225
languageName: node
42264226
linkType: hard
42274227

4228-
"@unrs/resolver-binding-win32-x64-msvc@npm:1.3.1":
4229-
version: 1.3.1
4230-
resolution: "@unrs/resolver-binding-win32-x64-msvc@npm:1.3.1"
4228+
"@unrs/resolver-binding-win32-x64-msvc@npm:1.3.2":
4229+
version: 1.3.2
4230+
resolution: "@unrs/resolver-binding-win32-x64-msvc@npm:1.3.2"
42314231
conditions: os=win32 & cpu=x64
42324232
languageName: node
42334233
linkType: hard
@@ -6663,7 +6663,7 @@ __metadata:
66636663
tinyglobby: "npm:^0.2.12"
66646664
type-coverage: "npm:^2.29.7"
66656665
typescript: "npm:~5.8.2"
6666-
unrs-resolver: "npm:^1.3.1"
6666+
unrs-resolver: "npm:^1.3.2"
66676667
vitest: "npm:^3.0.9"
66686668
yarn-berry-deduplicate: "npm:^6.1.1"
66696669
peerDependencies:
@@ -14434,25 +14434,25 @@ __metadata:
1443414434
languageName: node
1443514435
linkType: hard
1443614436

14437-
"unrs-resolver@npm:^1.3.1":
14438-
version: 1.3.1
14439-
resolution: "unrs-resolver@npm:1.3.1"
14440-
dependencies:
14441-
"@unrs/resolver-binding-darwin-arm64": "npm:1.3.1"
14442-
"@unrs/resolver-binding-darwin-x64": "npm:1.3.1"
14443-
"@unrs/resolver-binding-freebsd-x64": "npm:1.3.1"
14444-
"@unrs/resolver-binding-linux-arm-gnueabihf": "npm:1.3.1"
14445-
"@unrs/resolver-binding-linux-arm-musleabihf": "npm:1.3.1"
14446-
"@unrs/resolver-binding-linux-arm64-gnu": "npm:1.3.1"
14447-
"@unrs/resolver-binding-linux-arm64-musl": "npm:1.3.1"
14448-
"@unrs/resolver-binding-linux-ppc64-gnu": "npm:1.3.1"
14449-
"@unrs/resolver-binding-linux-s390x-gnu": "npm:1.3.1"
14450-
"@unrs/resolver-binding-linux-x64-gnu": "npm:1.3.1"
14451-
"@unrs/resolver-binding-linux-x64-musl": "npm:1.3.1"
14452-
"@unrs/resolver-binding-wasm32-wasi": "npm:1.3.1"
14453-
"@unrs/resolver-binding-win32-arm64-msvc": "npm:1.3.1"
14454-
"@unrs/resolver-binding-win32-ia32-msvc": "npm:1.3.1"
14455-
"@unrs/resolver-binding-win32-x64-msvc": "npm:1.3.1"
14437+
"unrs-resolver@npm:^1.3.1, unrs-resolver@npm:^1.3.2":
14438+
version: 1.3.2
14439+
resolution: "unrs-resolver@npm:1.3.2"
14440+
dependencies:
14441+
"@unrs/resolver-binding-darwin-arm64": "npm:1.3.2"
14442+
"@unrs/resolver-binding-darwin-x64": "npm:1.3.2"
14443+
"@unrs/resolver-binding-freebsd-x64": "npm:1.3.2"
14444+
"@unrs/resolver-binding-linux-arm-gnueabihf": "npm:1.3.2"
14445+
"@unrs/resolver-binding-linux-arm-musleabihf": "npm:1.3.2"
14446+
"@unrs/resolver-binding-linux-arm64-gnu": "npm:1.3.2"
14447+
"@unrs/resolver-binding-linux-arm64-musl": "npm:1.3.2"
14448+
"@unrs/resolver-binding-linux-ppc64-gnu": "npm:1.3.2"
14449+
"@unrs/resolver-binding-linux-s390x-gnu": "npm:1.3.2"
14450+
"@unrs/resolver-binding-linux-x64-gnu": "npm:1.3.2"
14451+
"@unrs/resolver-binding-linux-x64-musl": "npm:1.3.2"
14452+
"@unrs/resolver-binding-wasm32-wasi": "npm:1.3.2"
14453+
"@unrs/resolver-binding-win32-arm64-msvc": "npm:1.3.2"
14454+
"@unrs/resolver-binding-win32-ia32-msvc": "npm:1.3.2"
14455+
"@unrs/resolver-binding-win32-x64-msvc": "npm:1.3.2"
1445614456
dependenciesMeta:
1445714457
"@unrs/resolver-binding-darwin-arm64":
1445814458
optional: true
@@ -14484,7 +14484,7 @@ __metadata:
1448414484
optional: true
1448514485
"@unrs/resolver-binding-win32-x64-msvc":
1448614486
optional: true
14487-
checksum: 10/0614246309fd0ac9ad89b36753e006ee3ec36decda97e9cbd88b28b90637a2799e2b12f83cae16d5d0b06a2f8134ffd6760622952f3b2a682cc2a28c7f9dbaaa
14487+
checksum: 10/13dbee27cc3288437a798338c54de4cb3b249e46ee97d3d4ac1976276e040b0e3c43594ce818a7e66f69241bf042ad47a3c2ad548358613125111c55b4ba5469
1448814488
languageName: node
1448914489
linkType: hard
1449014490

0 commit comments

Comments
 (0)