UNPKG

eslint-plugin-canonical

Version:
52 lines (51 loc) 1.68 kB
"use strict"; /** * @file Rule to ensure that there exist no index files * @author Stefan Lau */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const node_path_1 = __importDefault(require("node:path")); const utilities_1 = require("../utilities"); const isIgnoredFilename_1 = require("../utilities/isIgnoredFilename"); const isIndexFile_1 = require("../utilities/isIndexFile"); const parseFilename_1 = require("../utilities/parseFilename"); const create = (context) => { var _a; const filename = (_a = context.filename) !== null && _a !== void 0 ? _a : context.getFilename(); return { Program(node) { const absoluteFilename = node_path_1.default.resolve(filename); const parsed = (0, parseFilename_1.parseFilename)(absoluteFilename); const shouldIgnore = (0, isIgnoredFilename_1.isIgnoredFilename)(filename); const isIndex = (0, isIndexFile_1.isIndexFile)(parsed); if (shouldIgnore) { return; } if (isIndex) { context.report({ messageId: 'noIndex', node, }); } }, }; }; const messages = { noIndex: "'index.js' files are not allowed.", }; exports.default = (0, utilities_1.createRule)({ create, defaultOptions: [], meta: { docs: { description: '', }, messages, schema: [], type: 'suggestion', }, name: 'filename-no-index', });