module.exports = { meta: { type: 'problem', docs: { description: 'Enforce that Core Domain does not depend on Application layer', category: 'Architecture', recommended: true, }, fixable: null, schema: [], messages: { forbiddenImport: 'Domain layer should not depend on Application layer. Forbidden import from "{{source}}".', }, }, create(context) { const filename = context.getFilename(); const isDomainFile = filename.includes('/domain/'); if (!isDomainFile) return {}; return { ImportDeclaration(node) { const source = node.source.value; if (source.includes('/application/')) { context.report({ node, messageId: 'forbiddenImport', data: { source, }, }); } }, }; }, };