0.1.16 • Published 2 years ago

eslint-plugin-fsd-import-linter v0.1.16

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

eslint-plugin-fsd-import-linter

Eslint plugin which checks whether modules are imported according to feature sliced design (FSD) architecture

Installation

You'll first need to install ESLint:

npm i eslint --save-dev

Next, install eslint-plugin-fsd-import-linter:

npm install eslint-plugin-fsd-import-linter --save-dev

Usage

Add fsd-import-linter to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix:

{
  "plugins": ["fsd-import-linter"]
}

Then configure the rules you want to use under the rules section.

  • Set "alias" to empty "" if you don't user alias for imports.
  • "public-api-imports" rule also checks testing.ts public api for test files for imports some mock data
  • "ignoreImportPatterns" is used to ignore layer import rules. Includes files in which you want to import overlying files in underlying files for testing purposes.
{
  "rules": {
    "fsd-import-linter/path-checker-fsd": ["error", { "alias": "@" }],
    "fsd-import-linter/public-api-imports": [
      "error",
      {
        "alias": "@",
        "testFilesPatterns": [
          "**/*.test.*",
          "**/*.stories.*",
          "**/StoreDecorator.tsx"
        ]
      }
    ],
    "fsd-import-linter/fsd-layer-imports": [
      "error",
      {
        "alias": "@",
        "ignoreImportPatterns": ["**/StoreProvider", "**/testing"]
      }
    ]
  }
}

Rules

Name              Description
fsd-layer-importsUnderlying layer modules should not use overlying layer modules. There is ignore options for some files such as StoreProvider or testing files
path-checker-fsdWithing a slice all paths should be relative
public-api-importsThe plugin should not allow to import module directly from file. Modules can be imported only from public api
0.1.11

2 years ago

0.0.10

2 years ago

0.1.12

2 years ago

0.1.13

2 years ago

0.1.14

2 years ago

0.1.15

2 years ago

0.1.0

2 years ago

0.1.1

2 years ago

0.1.16

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago

0.0.0

2 years ago