eslint-plugin-import-rules-pack

1.1.3 • Public • Published

eslint-plugin-import-rules-pack

This plugin will help with writing sorted imports in your code

Installation

You can can install this plugin with npm

  npm install -D eslint-plugin-import-rules-pack

and add this to your eslint config file:

{
    "plugins": ["import-rules-pack"],
    "rules": {
        "import-rules-pack/semicolon-after-import": "warn",
        "import-rules-pack/import-combination": "warn"
    }
}

Usage/Examples

This plugin includes two rules for imports: import-combination and semicolon-after-import

import-combination

import-combination will help you with sorting imports according to the following structure:

  • Hooks
  • Custom function and helpers
  • Styles
  • Components

Unsorted example

import "animate.css";
import React from "react";
import Background from "./components/Background";
import Form from "./components/Form";
import "./App.scss";
import Button from "/components/Button";
import store from "store";
import { useStoreThink } from "store";
import storeHelper from "store/helpers";

Sorted after fixing with import-combination rule

import React from "react"; // Hooks 
import { useStoreThink } from "store";

import store from "store"; // Custom function and helpers
import storeHelper from "store/helpers"; 

import "animate.css"; // Styles
import "./App.scss"; 

import Background from "./components/Background"; // Components
import Form from "./components/Form";
import Button from "/components/Button";

It also further sorts the user-defined functions by logically separating them by path while keeping the comments associated with those imports:

Unsorted example

import "animate.css";
import React from "react";
// this is ideal background
import Background from "./components/Background";
import Form from "./components/Form";
import "./App.scss";
// perfect button 
import Button from "/components/Button";
import store from "store";
import { useStoreThink } from "store";
import storeHelper from "store/helpers";

import ElseComponent from "else"
import ElseComponent2 from "else/second"
import helper from "helper"
import helper2 from "helper/second"

Sorted after fixing with import-combination rule

import React from "react";
import { useStoreThink } from "store"; // Hooks

import store from "store";
import storeHelper from "store/helpers"; // Custom function and helpers

import helper from "helper"
import helper2 from "helper/second" // This custom function and helpers too 

import "animate.css";
import "./App.scss"; // Styles 

// this is ideal background
import Background from "./components/Background";
import Form from "./components/Form";
// perfect button 
import Button from "/components/Button"; // Components
import ElseComponent from "else"
import ElseComponent2 from "else/second" // This components too

semicolon-after-import

This rule watches for semicolons after imports:

Unchanged example

import some from "some"

Modified example

import some from "some";

Readme

Keywords

Package Sidebar

Install

npm i eslint-plugin-import-rules-pack

Weekly Downloads

7

Version

1.1.3

License

ISC

Unpacked Size

15.1 kB

Total Files

5

Last publish

Collaborators

  • the_fiafi