UNPKG

@addon24/eslint-config

Version:

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

48 lines (41 loc) 1.21 kB
const enforceDtoFromEntityMethodRule = { meta: { type: "problem", docs: { description: "Entity-DTOs müssen fromEntity-Methoden bereitstellen", category: "Architecture", recommended: true, }, schema: [], messages: { missingFromEntityMethod: "Entity-DTO-Klasse '{{dtoName}}' muss eine statische fromEntity-Methode bereitstellen", }, }, create(context) { const filename = context.getFilename(); // Nur für Entity-DTOs anwenden const isEntityDtoFile = filename.includes("/dto/Entity/"); if (!isEntityDtoFile) { return {}; } return { ClassDeclaration(node) { const className = node.id.name; // Prüfe auf fromEntity-Methode const fromEntityMethod = node.body.body.find(member => member.type === "MethodDefinition" && member.static === true && member.key.name === "fromEntity" ); if (!fromEntityMethod) { context.report({ node: node.id, messageId: "missingFromEntityMethod", data: { dtoName: className }, }); } }, }; }, }; export default enforceDtoFromEntityMethodRule;