UNPKG

eslint-plugin-tis-imports

Version:

Eslint plugin for precise control of architectural restrictions. FSD, public api, hierarchy of entities in the project.

52 lines (51 loc) 1.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.restrictImportsRule = void 0; const createRestrictImportsRule_1 = require("./createRestrictImportsRule"); const PROPERTIES = { type: 'object', properties: { alias: { type: 'string' }, imports: { type: 'array', items: { type: 'object', properties: { checkingImport: { type: 'string' }, allowedFolders: { type: 'array', items: { type: 'string' } } }, required: ['checkingImport', 'allowedFolders'], additionalProperties: false } } }, required: ['imports', 'alias'], additionalProperties: false }; const MESSAGES = { forbiddenImport: "Импорт модуля из '{{checkingImport}}' запрещён в '{{importingFile}}'" }; const DOCS = { description: 'Запрещает импорт файлов/папок, не находящихся в разрешённых слоях проекта', }; exports.restrictImportsRule = (() => { return { meta: { type: 'problem', docs: DOCS, schema: [PROPERTIES], messages: MESSAGES, }, defaultOptions: [{ imports: [], alias: createRestrictImportsRule_1.DEFAULT_ALIAS }], create(context) { return (0, createRestrictImportsRule_1.createRestrictImportsRule)({ options: context.options[0], filename: context.filename, report: context.report, }); }, }; })();