eslint-plugin-import-name

1.2.3 • Public • Published

eslint-plugin-import-name

npm

Eslint plugin to restrict import name. Works with default and CommonJS imports.

Installation

yarn add -D eslint-plugin-import-name

or

npm install -D eslint-plugin-import-name

How to use:

Add to your .eslintrc:

"extends": [
    "plugin:import-name/recommended"
]

This will add the correct name for the package classnames. Or create your own rule for your imports:

"plugins": ["import-name"],
"rules": {
    "import-name/default-import-name": [
        'error',
        { classnames: 'classNames', 'prop-types': 'PropTypes' }
    ],
    "import-name/common-import-name": [
        'warning',
        { 'cookie-parser': 'cookieParser' }
    ],
}

Rules:

  • all-imports-name - combines the two previous rules together.
'import-name/all-imports-name': [
    'error',
    { classnames: 'classNames', 'prop-types': 'PropTypes' }
],
  • default-import-name - allows you to create a constant name for default import.
'import-name/default-import-name': [
    'error',
    { classnames: 'classNames', 'prop-types': 'PropTypes' }
]

Bad: ❌
import cx from 'classnames';
import proptypes from 'prop-types';

Good: ✅
import classNames from 'classnames';
import PropTypes from 'prop-types';
  • common-import-name - allows you to create a constant name for CommonJS import.
'import-name/common-import-name': [
    'error',
    { classnames: 'classNames', 'prop-types': 'PropTypes' }
]

Bad: ❌
const cx = require('classnames');
const proptypes = require('prop-types');

Good: ✅
const classNames = require('classnames');
const PropTypes = require('prop-types');

Package Sidebar

Install

npm i eslint-plugin-import-name

Weekly Downloads

2,133

Version

1.2.3

License

MIT

Unpacked Size

11.8 kB

Total Files

11

Last publish

Collaborators

  • r1on