elearning/Frontend-Learner/node_modules/eslint-plugin-import-x/lib/rules/no-amd.js
2026-01-13 10:48:02 +07:00

46 lines
No EOL
1.4 KiB
JavaScript

import { createRule } from '../utils/index.js';
export default createRule({
name: 'no-amd',
meta: {
type: 'suggestion',
docs: {
category: 'Module systems',
description: 'Forbid AMD `require` and `define` calls.',
},
schema: [],
messages: {
amd: 'Expected imports instead of AMD {{type}}().',
},
},
defaultOptions: [],
create(context) {
return {
CallExpression(node) {
if (context.sourceCode.getScope(node).type !== 'module') {
return;
}
if (node.callee.type !== 'Identifier') {
return;
}
if (node.callee.name !== 'require' && node.callee.name !== 'define') {
return;
}
if (node.arguments.length !== 2) {
return;
}
const modules = node.arguments[0];
if (modules.type !== 'ArrayExpression') {
return;
}
context.report({
node,
messageId: 'amd',
data: {
type: node.callee.name,
},
});
},
};
},
});
//# sourceMappingURL=no-amd.js.map