@sharegate/eslint-plugin
ShareGate’s ESLint configs.
Installation
Install the package.
With npm
npm i --save-dev @sharegate/eslint-plugin
With yarn
yarn add --dev @sharegate/eslint-plugin
Usage
ShareGate’s ESLint configs come bundled in this package. In order to use them, you simply extend the relevant configuration in your project’s .eslintrc. For example, if you are developing an application using TypeScript and React, using third party like lodash :
"extends": [
"plugin:@sharegate/recommended",
"plugin:@sharegate/sort-imports",
"plugin:@sharegate/typescript",
"plugin:@sharegate/react",
"plugin:@sharegate/lodash",
]
Provided Configurations
Language-specific configs.
Language/Package Name | Config | Description |
---|---|---|
JavaScript - recommended | "plugin:@sharegate/recommended" | Use this for all JavaScript/TypeScript projects. |
JavaScript - sort-imports | "plugin:@sharegate/sort-imports" | Use this for JavaScript/TypeScript projects. |
typescript | "plugin:@sharegate/typescript" | Use this for TypeScript projects. |
react | "plugin:@sharegate/react" | Use this for React projects. |
nextjs | "plugin:@sharegate/nextjs" | Use this for NextJs projects. |
Third-party-specific configs.
Third party | Config | Description |
---|---|---|
lodash | "plugin:@sharegate/lodash" | Use this for projects using lodash. |
Plugin-Provided Rules
This plugin provides the following custom rules, which are included as appropriate in all core linting configs:
- prefer-cx: Prefer cx over classnames as the name of classnames imports.
- restrict-full-import: Prevent importing the entirety of a package.
- strict-css-modules-names: CSS modules should have the same file name (minus the file extension) as the scoped component and be located in the same folder.
License
Copyright © 2023, GSoft inc. This code is licensed under the Apache License, Version 2.0. You may obtain a copy of this license at https://github.com/gsoft-inc/gsoft-license/blob/master/LICENSE.