0.1.16 • Published 12 months ago

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

Weekly downloads
-
License
ISC
Repository
-
Last release
12 months 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

12 months ago

0.0.10

12 months ago

0.1.12

12 months ago

0.1.13

12 months ago

0.1.14

12 months ago

0.1.15

12 months ago

0.1.0

12 months ago

0.1.1

12 months ago

0.1.16

12 months ago

0.0.9

12 months ago

0.0.8

12 months ago

0.0.7

12 months ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago

0.0.0

1 year ago