3.2.0 • Published 1 year ago

@alexasselin/eslint-plugin-1 v3.2.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
1 year ago

@sharegate/eslint-plugin

License npm version

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",
]

If you want to use plugin-provided rules, you can do it like this:

"plugins": [
   "@sharegate"
],
"rules": {
   "@sharegate/prefer-cx": "warn"
}

Provided Configurations

Language/Framework-specific configs.

Language/FrameworkConfigDescription
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.
mdx"plugin:@sharegate/mdx"Use this for mdx files.

Third-party-specific configs.

Third partyConfigDescription
lodash"plugin:@sharegate/lodash"Use this for projects using lodash.
jest"plugin:@sharegate/jest"Use this for projects using jest.
testing-library"plugin:@sharegate/testing-library"Use this for projects using testing-library.
storybook"plugin:@sharegate/storybook"Use this for projects using storybook.
storybook-csf"plugin:@sharegate/storybook-csf"Use this for projects using storybook but with the CSF format.

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.