UNPKG

eslint-plugin-fsd-architecture

Version:

ESlint plugin to comply with FSD (Feature Sliced Design) frontend architecture rules

50 lines (35 loc) 1.58 kB
# Rule for check imports from layers structure of FSD architecture (`fsd-architecture/layer-imports`) <!-- end auto-generated rule header --> ## Rule Details Rule for check imports from layers structure of FSD architecture ### Options | Name | Description | | :----------------------- | :--------------------------------------------- | | alias | The alias with which the import path begins | | ignoreImportPatterns | Array of glob path templates to ignore of rule | ### Examples options settings ```js 'fsd-architecture/layer-imports': ['error', { alias: '@', // Example import path with alias - @/shared/... ignoreImportPatterns: ['**/StoreProvider', '**/*.test.*'], }], ``` ### Examples Examples of **correct** code for this rule: ```js // File path C:/Users/project/src/features/Component import Button from 'shared/Button.tsx' import Post from 'entities/Post.tsx' // With option: alias: '@' // File path C:/Users/project/src/features/Component import Button from '@/shared/Button.tsx' import Post from '@/entities/Post.tsx' // With option: ignoreImportPatterns: ['**/StoreProvider'] // File path C:/Users/project/src/features/Component import { StateSchema } from 'app/providers/StoreProvider' ``` Examples of **incorrect** code for this rule: ```js // File path C:/Users/project/src/entities/Component import AddComment from '@/features/AddComment' // Error: A layer can only import the underlying layers into itself. (app > pages > widgets > features > entities > shared) ```