UNPKG

@addon24/eslint-config

Version:

ESLint configuration rules for WorldOfTextcraft projects - Centralized configuration for all project types

46 lines (43 loc) 1.38 kB
export default { meta: { type: "suggestion", docs: { description: "Enforce consistent Result pattern usage", category: "Best Practices", recommended: true, }, fixable: null, schema: [], }, create(context) { return { ImportDeclaration(node) { if (node.source.value === "@/dto/Result") { const specifiers = node.specifiers; const hasDefaultImport = specifiers.some(spec => spec.type === "ImportDefaultSpecifier"); const hasNamedImport = specifiers.some(spec => spec.type === "ImportSpecifier" && spec.imported.name === "Result"); if (hasDefaultImport && hasNamedImport) { context.report({ node, message: "Duplicate Result import detected. Use either default or named import, not both.", fix(fixer) { return fixer.replaceText(node, 'import { Result } from "@/dto/Result";'); } }); } } }, CallExpression(node) { if (node.callee.type === "Identifier" && node.callee.name === "Result") { const args = node.arguments; if (args.length === 0) { context.report({ node, message: "Result constructor requires at least one argument." }); } } } }; } };