Skip to content

Commit 8e4cc43

Browse files
committed
refactor: Resolver.resolveElements returns MetaDataTable to be consistent with other methods
1 parent 83d11a1 commit 8e4cc43

File tree

6 files changed

+14
-10
lines changed

6 files changed

+14
-10
lines changed

etc/browser.api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -979,7 +979,7 @@ export interface ResolvedConfigData {
979979
export interface Resolver {
980980
name: string;
981981
resolveConfig?(id: string, options: ResolverOptions): ConfigData | null;
982-
resolveElements?(id: string, options: ResolverOptions): unknown | null;
982+
resolveElements?(id: string, options: ResolverOptions): MetaDataTable | null;
983983
resolvePlugin?(id: string, options: ResolverOptions): Plugin_2 | null;
984984
resolveTransformer?(id: string, options: ResolverOptions): Transformer_2 | null;
985985
}

etc/index.api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1072,7 +1072,7 @@ export interface ResolvedConfigData {
10721072
export interface Resolver {
10731073
name: string;
10741074
resolveConfig?(id: string, options: ResolverOptions): ConfigData | null;
1075-
resolveElements?(id: string, options: ResolverOptions): unknown | null;
1075+
resolveElements?(id: string, options: ResolverOptions): MetaDataTable | null;
10761076
resolvePlugin?(id: string, options: ResolverOptions): Plugin_2 | null;
10771077
resolveTransformer?(id: string, options: ResolverOptions): Transformer_2 | null;
10781078
}

src/config/resolver/nodejs/nodejs-resolver.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import path from "node:path";
2+
import { type MetaDataTable } from "../../../meta";
23
import { type Plugin } from "../../../plugin";
34
import { legacyRequire } from "../../../resolve";
45
import { type Transformer } from "../../../transform";
@@ -68,7 +69,7 @@ export function nodejsResolver(options: { rootDir?: string } = {}): NodeJSResolv
6869
return {
6970
name: "nodejs-resolver",
7071

71-
resolveElements(id: string, options: ResolverOptions): unknown | null {
72+
resolveElements(id: string, options: ResolverOptions): MetaDataTable | null {
7273
return internalRequire(id, options);
7374
},
7475

src/config/resolver/resolve-helpers.spec.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Source } from "../../context";
2+
import { type MetaDataTable } from "../../meta";
23
import { type Plugin } from "../../plugin";
34
import { type Transformer } from "../../transform";
45
import { type ConfigData } from "../config-data";
@@ -25,10 +26,10 @@ function mockConfigResolver(givenId: string, config: ConfigData): Resolver {
2526
};
2627
}
2728

28-
function mockElementsResolver(givenId: string, elements: unknown): Resolver {
29+
function mockElementsResolver(givenId: string, elements: MetaDataTable): Resolver {
2930
return {
3031
name: "mock-elements-resolver",
31-
resolveElements(id: string): unknown | null {
32+
resolveElements(id: string): MetaDataTable | null {
3233
return id === givenId ? elements : null;
3334
},
3435
};
@@ -122,9 +123,9 @@ describe("resolveElements()", () => {
122123
it("should throw error if no entry matches", () => {
123124
expect.assertions(1);
124125
const resolvers = [
125-
mockElementsResolver("foo", { foo: "error" }),
126-
mockElementsResolver("bar", { bar: "error" }),
127-
mockElementsResolver("baz", { foo: "error" }),
126+
mockElementsResolver("foo", { foo: {} }),
127+
mockElementsResolver("bar", { bar: {} }),
128+
mockElementsResolver("baz", { foo: {} }),
128129
];
129130
expect(() => {
130131
return resolveElements(resolvers, "spam", { cache: false });

src/config/resolver/resolve-helpers.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { UserError } from "../../error";
2+
import { type MetaDataTable } from "../../meta";
23
import { type Plugin } from "../../plugin";
34
import { type Transformer } from "../../transform";
45
import { type ConfigData } from "../config-data";
@@ -53,7 +54,7 @@ export function resolveElements(
5354
resolvers: Resolver[],
5455
id: string,
5556
options: ResolverOptions,
56-
): unknown {
57+
): MetaDataTable {
5758
for (const resolver of resolvers.filter(haveElementsResolver)) {
5859
const elements = resolver.resolveElements(id, options);
5960
if (elements) {

src/config/resolver/resolver.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { type MetaDataTable } from "../../meta";
12
import { type Plugin } from "../../plugin";
23
import { type Transformer } from "../../transform";
34
import { type ConfigData } from "../config-data";
@@ -21,7 +22,7 @@ export interface Resolver {
2122
/**
2223
* Resolve table of element metadata.
2324
*/
24-
resolveElements?(id: string, options: ResolverOptions): unknown | null;
25+
resolveElements?(id: string, options: ResolverOptions): MetaDataTable | null;
2526

2627
/**
2728
* Resolve a configuration to extend.

0 commit comments

Comments
 (0)