import type { Rule } from "eslint"; const rule: Rule.RuleModule = { meta: { type: "problem", docs: { description: "Bans import from the specifier '.' and '..' and replaces it with '.+/index'", category: "Best Practices", recommended: true, }, fixable: "code", }, create: context => ({ ImportDeclaration(node) { if (node.source.value === ".") { context.report({ node: node.source, message: "Importing from the specifier '.' is not allowed. Use './index' instead.", fix(fixer) { return fixer.replaceText(node.source, '"./index"'); }, }); } else if (node.source.value === "..") { context.report({ node: node.source, message: "Importing from the specifier '..' is not allowed. Use '../index' instead.", fix(fixer) { return fixer.replaceText(node.source, '"../index"'); }, }); } }, }), }; export default rule;