Files
gridpilot.gg/core/eslint-rules/no-framework-imports.js
2026-01-16 11:51:12 +01:00

40 lines
814 B
JavaScript

module.exports = {
meta: {
type: 'problem',
docs: {
description: 'Ban framework imports in Core',
category: 'Architecture',
recommended: true,
},
fixable: null,
schema: [],
messages: {
frameworkImport: 'Core must be framework-free. Forbidden import from "{{source}}".',
},
},
create(context) {
const forbiddenPatterns = [
/^@nestjs\//,
/^express/,
/^react/,
/^next\//,
];
return {
ImportDeclaration(node) {
const source = node.source.value;
if (forbiddenPatterns.some(pattern => pattern.test(source))) {
context.report({
node,
messageId: 'frameworkImport',
data: {
source,
},
});
}
},
};
},
};