eslint-plugin-fsd-arch-validator
Version:
Validate whether module imports within your project meet the requirements of FSD architecture
48 lines (42 loc) • 1.7 kB
JavaScript
/**
* @fileoverview Ensure modules within a singe module are relative
* @author demetrxx
*/
"use strict";
//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------
const rule = require("../../../lib/rules/relative-imports-within-module"),
RuleTester = require("eslint").RuleTester;
//------------------------------------------------------------------------------
// Tests
//------------------------------------------------------------------------------
const ruleTester = new RuleTester({
parserOptions: {ecmaVersion: 6, sourceType: 'module'}
});
ruleTester.run("path-checker", rule, {
valid: [
{
filename: 'C:\\Users\\tim\\Desktop\\javascript\\production_project\\src\\entities\\Article',
code: "import { addCommentFormActions, addCommentFormReducer } from '../../model/slices/addCommentFormSlice'",
errors: [],
},
],
invalid: [
{
filename: 'C:\\Users\\tim\\Desktop\\javascript\\production_project\\src\\entities\\Article',
code: "import { addCommentFormActions, addCommentFormReducer } from '@/entities/Article/model/slices/addCommentFormSlice'",
errors: [{ message: "Imports within a slice should be relative."}],
options: [
{
alias: '@'
}
]
},
{
filename: 'C:\\Users\\tim\\Desktop\\javascript\\production_project\\src\\entities\\Article',
code: "import { addCommentFormActions, addCommentFormReducer } from 'entities/Article/model/slices/addCommentFormSlice'",
errors: [{ message: "Imports within a slice should be relative."}],
},
],
});