@@ -75,29 +75,45 @@ export type LegacyResolverResolve<T = unknown> = (
75
75
76
76
export interface LegacyResolver < T = unknown , U = T > {
77
77
interfaceVersion ?: 1 | 2
78
- resolve : LegacyResolverResolve < T >
79
- resolveImport : LegacyResolverResolveImport < U >
78
+ resolve ? : LegacyResolverResolve < T >
79
+ resolveImport ? : LegacyResolverResolveImport < U >
80
80
}
81
81
82
- export interface LegacyResolverObject {
82
+ export interface LegacyResolverObjectBase {
83
83
// node, typescript, webpack...
84
84
name : LegacyResolverName
85
85
86
86
// Enabled by default
87
87
enable ?: boolean
88
88
89
89
// Options passed to the resolver
90
- options ?:
91
- | NodeResolverOptions
92
- | TsResolverOptions
93
- | WebpackResolverOptions
94
- // eslint-disable-next-line @typescript-eslint/no-empty-object-type
95
- | { }
90
+ options ?: unknown
96
91
97
92
// Any object satisfied Resolver type
98
93
resolver : LegacyResolver
99
94
}
100
95
96
+ export interface LegacyNodeResolverObject extends LegacyResolverObjectBase {
97
+ name : 'node'
98
+ options ?: NodeResolverOptions | boolean
99
+ }
100
+
101
+ export interface LegacyTsResolverObject extends LegacyResolverObjectBase {
102
+ name : 'typescript'
103
+ options ?: TsResolverOptions | boolean
104
+ }
105
+
106
+ export interface LegacyWebpackResolverObject extends LegacyResolverObjectBase {
107
+ name : 'webpack'
108
+ options ?: WebpackResolverOptions | boolean
109
+ }
110
+
111
+ export type LegacyResolverObject =
112
+ | LegacyNodeResolverObject
113
+ | LegacyResolverObjectBase
114
+ | LegacyTsResolverObject
115
+ | LegacyWebpackResolverObject
116
+
101
117
export interface LegacyResolverRecord {
102
118
[ resolve : string ] : unknown
103
119
node ?: NodeResolverOptions | boolean
0 commit comments