diff --git a/src/index.js b/src/index.js index 793eb89e..862862ca 100644 --- a/src/index.js +++ b/src/index.js @@ -19,16 +19,7 @@ import rules from "./build/rules.js"; /** * @import { Linter } from "eslint"; - * @import * as Types from "./types.js"; * @typedef {Linter.RulesRecord} RulesRecord - * @typedef {Types.MarkdownRuleDefinition} RuleModule - * @typedef {Types.MarkdownRuleVisitor} MarkdownRuleVisitor - * @typedef {Types.MarkdownRuleDefinitionTypeOptions} MarkdownRuleDefinitionTypeOptions - */ - -/** - * @typedef {Types.MarkdownRuleDefinition} MarkdownRuleDefinition - * @template {Partial} [Options={}] */ //----------------------------------------------------------------------------- diff --git a/tests/types/types.test.ts b/tests/types/types.test.ts index c94cb03a..3b606782 100644 --- a/tests/types/types.test.ts +++ b/tests/types/types.test.ts @@ -1,11 +1,11 @@ -import markdown, { - MarkdownSourceCode, +import markdown, { MarkdownSourceCode } from "@eslint/markdown"; +import type { SourceLocation, SourceRange } from "@eslint/core"; +import type { MarkdownRuleDefinition, MarkdownRuleVisitor, - type RuleModule, -} from "@eslint/markdown"; -import type { SourceLocation, SourceRange } from "@eslint/core"; -import type { Toml, Json } from "@eslint/markdown/types"; + Toml, + Json, +} from "@eslint/markdown/types"; import { ESLint, Linter } from "eslint"; import type { // Nodes (abstract) @@ -77,7 +77,7 @@ typeof processorPlugins satisfies {}; null as AssertAllNamesIn; } -(): RuleModule => ({ +(): MarkdownRuleDefinition => ({ create({ sourceCode }): MarkdownRuleVisitor { sourceCode satisfies MarkdownSourceCode; sourceCode.ast satisfies Root; @@ -172,16 +172,11 @@ typeof processorPlugins satisfies {}; }, }); -// All options optional - MarkdownRuleDefinition, MarkdownRuleDefinition<{}> and RuleModule +// All options optional - MarkdownRuleDefinition and MarkdownRuleDefinition<{}> // should be the same type. -( - rule1: MarkdownRuleDefinition, - rule2: MarkdownRuleDefinition<{}>, - rule3: RuleModule, -) => { - rule1 satisfies typeof rule2 satisfies typeof rule3; - rule2 satisfies typeof rule1 satisfies typeof rule3; - rule3 satisfies typeof rule1 satisfies typeof rule2; +(rule1: MarkdownRuleDefinition, rule2: MarkdownRuleDefinition<{}>) => { + rule1 satisfies typeof rule2; + rule2 satisfies typeof rule1; }; // Type restrictions should be enforced