New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@sharegate/eslint-plugin

Package Overview
Dependencies
Maintainers
5
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@sharegate/eslint-plugin

Sharegates ESLint rules and configs.

  • 3.2.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
55
increased by5.77%
Maintainers
5
Weekly downloads
 
Created
Source

@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 :

"extends": [ 
  "plugin:@sharegate/core", /* For all JavaScript projects */ 
  "plugin:@sharegate/typescript", /* For all TypeScript projects */ 
  "plugin:@sharegate/react", /* For all React projects */ 
  "plugin:@sharegate/nextjs", /* For all NextJS projects, includes plugin:@sharegate/react */ 
  "plugin:@sharegate/sort-imports", /* if you want to sort your import statements */ 
  "plugin:@sharegate/mdx", /* if you have *.mdx files */
  "plugin:@sharegate/lodash", /* if you use Lodash in your project */
  "plugin:@sharegate/jest", /* if you use Jest in your project */
  "plugin:@sharegate/testing-library", /* if you use React Testing Library in your project */
  "plugin:@sharegate/storybook",  /* if you use Storybook in your project */
  "plugin:@sharegate/storybook-csf",/* if you use Storybook with CSF Stories in your project */
]

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

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

If your project is NOT using TypeScript, you'll need to install @babel/eslint-parser and update your .eslintrc.js configuration file:

 npm i -D @babel/eslint-parser

.eslintrc.js

module.exports = {
    ...
    parser: "@babel/eslint-parser" /* (If your project is NOT in TypeScript) */
    extends: [
        "plugin:@sharegate/core",
        "plugin:@sharegate/nextjs"
        ...
    ],
    ...
};

Recipes

Simple TypeScript Project

{
  "extends": [
    "plugin:@sharegate/core",
    "plugin:@sharegate/sort-imports",
    "plugin:@sharegate/typescript"
  ]
}

React + TypeScript App

{
  "extends": [
    "plugin:@sharegate/core",
    "plugin:@sharegate/sort-imports",
    "plugin:@sharegate/react"
    "plugin:@sharegate/typescript",
  ]
}

NextJs App

{
  "extends": [
    "plugin:@sharegate/core",
    "plugin:@sharegate/sort-imports",
    "plugin:@sharegate/typescript",
    "plugin:@sharegate/nextjs"
  ]
}

React + TypeScript App with Storybook and Jest/Testing-library

{
  "extends": [
    "plugin:@sharegate/core",
    "plugin:@sharegate/sort-imports",
    "plugin:@sharegate/react"
    "plugin:@sharegate/typescript",
    "plugin:@sharegate/jest",
    "plugin:@sharegate/testing-library",
    "plugin:@sharegate/storybook",
    "plugin:@sharegate/storybook-csf"
  ]
}

Provided Configurations

Language/Framework-specific configs.

Language/FrameworkConfigDescription
JavaScript - core"plugin:@sharegate/core"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. Must be used with the other storybook config

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.

Keywords

FAQs

Package last updated on 16 Mar 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc