@conarti/eslint-plugin-feature-sliced
Version:
Feature-sliced design methodology plugin
52 lines (51 loc) • 1.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const rule_1 = require("../../lib/rule");
const model_1 = require("./model");
exports.default = (0, rule_1.createRule)({
name: 'absolute-relative',
meta: {
type: 'problem',
docs: {
description: 'Checks for absolute and relative paths',
},
messages: {
["must-be-relative-path"]: 'There must be relative paths',
["must-be-absolute-path"]: 'There must be absolute paths',
},
schema: [
{
type: 'object',
properties: {
ignoreInFilesPatterns: {
type: 'array',
items: {
type: 'string',
},
},
},
},
],
},
defaultOptions: [
{
ignoreInFilesPatterns: [],
},
],
create(context, optionsWithDefault) {
return {
ImportDeclaration(node) {
(0, model_1.validateAndReport)(node, context, optionsWithDefault);
},
ImportExpression(node) {
(0, model_1.validateAndReport)(node, context, optionsWithDefault);
},
ExportAllDeclaration(node) {
(0, model_1.validateAndReport)(node, context, optionsWithDefault, { needCheckForAbsolute: false });
},
ExportNamedDeclaration(node) {
(0, model_1.validateAndReport)(node, context, optionsWithDefault, { needCheckForAbsolute: false });
},
};
},
});