Socket
Socket
Sign inDemoInstall

eslint-config-jimmy-guzman

Package Overview
Dependencies
13
Maintainers
1
Versions
27
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    eslint-config-jimmy-guzman

An opinionated ESLint configuration that targets typescript, javascript, react, jest and testing-library


Version published
Weekly downloads
11
increased by37.5%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

eslint-config-jimmy-guzman

actions version downloads semantic-release code style: prettier Code Coverage

An opinionated ESLint configuration that targets typescript, javascript, react, jest vitest and testing-library

Usage

The current version of eslint-config-jimmy-guzman is fully supported on LTS and current versions of node, and requires at least node v20.

Installation

pnpm add -D eslint-config-jimmy-guzman

Configuration

Add extends: ['jimmy-guzman'] to your .eslintrc to get all the rules that enforce code style, enforce best practices and prevent errors.

This package also includes rules for jest, vitest, react, typescript and testing-library that can be used such as:

rulesconfigurationnotes
baseextends: ['jimmy-guzman']
jestextends: ['jimmy-guzman', 'jimmy-guzman/jest']
vitestextends: ['jimmy-guzman', 'jimmy-guzman/vitest']
typescriptextends: ['jimmy-guzman', 'jimmy-guzman/typescript']here
reactextends: ['jimmy-guzman', 'jimmy-guzman/react']here
testing-libraryextends: ['jimmy-guzman', 'jimmy-guzman/react', 'jimmy-guzman/testing-library']here

Monorepos

The following rules don't support some monorepo setups so you might need to turned them off:

/** @type {import('eslint').Linter.Config} */
module.exports = {
  extends: ['jimmy-guzman'],
  rules: {
    'import/no-extraneous-dependencies': 'off',
    'react/jsx-uses-react': 'error',
  },
}

Typescript

jimmy-guzman/typescript ruleset requires type information that needs further configuration:

/** @type {import('eslint').Linter.Config} */
module.exports = {
  extends: ['jimmy-guzman', 'jimmy-guzman/typescript'],
  parserOptions: {
    project: ['./tsconfig.json'],
  },
}

You can read more about linting with type information here

React

jimmy-guzman/react favors React 17's new jsx transform so a couple of rules are turned off by default. If you are not using the new jsx transform, it's recommended to add this configuration:

/** @type {import('eslint').Linter.Config} */
module.exports = {
  extends: ['jimmy-guzman', 'jimmy-guzman/react'],
  parserOptions: {
    ecmaFeatures: {
      jsx: true,
      pragma: 'React',
    },
  },
  rules: {
    'react/react-in-jsx-scope': 'error',
    'react/jsx-uses-react': 'error',
  },
}

Testing Library

jimmy-guzman/testing-library makes an assumption that a suite of Testing Library packages are being used such as @testing-library/react, @testing-library/jest-dom and @testing-library/user-event.

Keywords

FAQs

Last updated on 30 Mar 2024

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc