Skip to content

Commit d015c72

Browse files
committed
feat: implement resolver interface v3
un-ts/eslint-plugin-import-x#192
1 parent c788710 commit d015c72

File tree

2 files changed

+25
-5
lines changed

2 files changed

+25
-5
lines changed

src/index.ts

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,22 @@
11
import resolve from "./resolve";
2+
import type {
3+
NewResolver,
4+
Options,
5+
PackageGlobOptions,
6+
PackageOptions,
7+
} from "./types";
28

3-
export type { Options, PackageGlobOptions, PackageOptions } from "./types";
9+
const interfaceVersion = 2;
410

5-
export default {
6-
interfaceVersion: 2,
7-
resolve,
8-
};
11+
export function createNextImportResolver(options: Options): NewResolver {
12+
return {
13+
interfaceVersion: 3,
14+
name: "eslint-import-resolver-next",
15+
resolve: (modulePath: string, sourceFile: string) =>
16+
resolve(modulePath, sourceFile, options),
17+
};
18+
}
19+
20+
export type { NewResolver, Options, PackageGlobOptions, PackageOptions };
21+
22+
export { interfaceVersion, resolve };

src/types.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,3 +72,9 @@ export interface ResultFound {
7272
}
7373

7474
export type ResolvedResult = ResultNotFound | ResultFound;
75+
76+
export interface NewResolver {
77+
interfaceVersion: 3;
78+
name?: string; // This will be included in the debug log
79+
resolve: (modulePath: string, sourceFile: string) => ResolvedResult;
80+
}

0 commit comments

Comments
 (0)