Skip to content

Commit 0dc6220

Browse files
authored
fix!: move certain types to import them from @eslint/markdown/types (#446)
* fix!: move certain types to import them from `@eslint/markdown/types` * wip: move `MarkdownRuleDefinition` * wip: remove `RuleModule` type
1 parent 925191e commit 0dc6220

File tree

2 files changed

+11
-25
lines changed

2 files changed

+11
-25
lines changed

src/index.js

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,7 @@ import rules from "./build/rules.js";
1919

2020
/**
2121
* @import { Linter } from "eslint";
22-
* @import * as Types from "./types.js";
2322
* @typedef {Linter.RulesRecord} RulesRecord
24-
* @typedef {Types.MarkdownRuleDefinition} RuleModule
25-
* @typedef {Types.MarkdownRuleVisitor} MarkdownRuleVisitor
26-
* @typedef {Types.MarkdownRuleDefinitionTypeOptions} MarkdownRuleDefinitionTypeOptions
27-
*/
28-
29-
/**
30-
* @typedef {Types.MarkdownRuleDefinition<Options>} MarkdownRuleDefinition<Options>
31-
* @template {Partial<MarkdownRuleDefinitionTypeOptions>} [Options={}]
3223
*/
3324

3425
//-----------------------------------------------------------------------------

tests/types/types.test.ts

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
import markdown, {
2-
MarkdownSourceCode,
1+
import markdown, { MarkdownSourceCode } from "@eslint/markdown";
2+
import type { SourceLocation, SourceRange } from "@eslint/core";
3+
import type {
34
MarkdownRuleDefinition,
45
MarkdownRuleVisitor,
5-
type RuleModule,
6-
} from "@eslint/markdown";
7-
import type { SourceLocation, SourceRange } from "@eslint/core";
8-
import type { Toml, Json } from "@eslint/markdown/types";
6+
Toml,
7+
Json,
8+
} from "@eslint/markdown/types";
99
import { ESLint, Linter } from "eslint";
1010
import type {
1111
// Nodes (abstract)
@@ -77,7 +77,7 @@ typeof processorPlugins satisfies {};
7777
null as AssertAllNamesIn<RecommendedRuleName, RuleName>;
7878
}
7979

80-
(): RuleModule => ({
80+
(): MarkdownRuleDefinition => ({
8181
create({ sourceCode }): MarkdownRuleVisitor {
8282
sourceCode satisfies MarkdownSourceCode;
8383
sourceCode.ast satisfies Root;
@@ -172,16 +172,11 @@ typeof processorPlugins satisfies {};
172172
},
173173
});
174174

175-
// All options optional - MarkdownRuleDefinition, MarkdownRuleDefinition<{}> and RuleModule
175+
// All options optional - MarkdownRuleDefinition and MarkdownRuleDefinition<{}>
176176
// should be the same type.
177-
(
178-
rule1: MarkdownRuleDefinition,
179-
rule2: MarkdownRuleDefinition<{}>,
180-
rule3: RuleModule,
181-
) => {
182-
rule1 satisfies typeof rule2 satisfies typeof rule3;
183-
rule2 satisfies typeof rule1 satisfies typeof rule3;
184-
rule3 satisfies typeof rule1 satisfies typeof rule2;
177+
(rule1: MarkdownRuleDefinition, rule2: MarkdownRuleDefinition<{}>) => {
178+
rule1 satisfies typeof rule2;
179+
rule2 satisfies typeof rule1;
185180
};
186181

187182
// Type restrictions should be enforced

0 commit comments

Comments
 (0)