1.3.2 ā€¢ Published 2 months ago

eslint-config-productsway v1.3.2

Weekly downloads
-
License
MIT
Repository
-
Last release
2 months ago

eslint-config-productsway šŸ‘‹

Version License: MIT Twitter: jellydn

Enhance your code quality with XO's ESLint config, further augmented with TypeScript and Prettier support.

IT Man - A Guide to Professional JavaScript & TypeScript Development [Vietnamese]

Installation

npx install-peerdeps --dev eslint-config-productsway

Usage

Create a .eslintrc.cjs file at the root of your project's directory.

For TypeScript projects:

module.exports = {
    extends: ['productsway/typescript'],
};

For TypeScript and React projects:

module.exports = {
    root: true,
    env: { browser: true, es2020: true },
    extends: ['productsway/react'],
    ignorePatterns: ['dist', '.eslintrc.cjs', 'vite.config.ts'],
    parserOptions: {
        project: ['./tsconfig.json', './tsconfig.node.json'],
    },
    rules: {},
};

Configuring the ESLint TypeScript Parser

If your project uses TypeScript, ensure to configure the ESLint TypeScript parser by specifying your tsconfig.json files in the parserOptions.project array:

module.exports = {
    extends: ['productsway/typescript'], // or 'productsway/react' for TypeScript and React
    parserOptions: {
        project: ['./tsconfig.json', './tsconfig.node.json'], // include all your tsconfig.json files here
    },
};

Executing ESLint

From your project's root directory, execute:

npx eslint . --ext .js,.jsx,.ts,.tsx

For Vite React App, include .ts and .tsx extensions and report unused disable directives:

"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",

Integration with Next.js

For Next.js projects, you can use the following configuration in your .eslintrc.json file:

{
    "extends": ["productsway/react", "plugin:@next/next/recommended"]
}

Please note: You need to install eslint-config-next to use the recommended ESLint configuration for Next.js.

Roadmap

Tips

Sorting Imports with Prettier Plugin

For consistent import ordering, utilize the trivago/prettier-plugin-sort-imports plugin.

In your .prettierrc.js file:

module.exports = {
  ...
  "importOrder": ["^@core/(.*)$", "^@server/(.*)$", "^@ui/(.*)$", "^[./]"],
  "importOrderSeparation": true,
  "importOrderSortSpecifiers": true,
  "plugins": ["@trivago/prettier-plugin-sort-imports"]
}

Resources

Author

šŸ‘¤ Huynh Duc Dung

Show Your Support

If this project assists you, give it a ā­ļø!

1.3.2

2 months ago

1.3.1

6 months ago

1.2.0

9 months ago

1.3.0

9 months ago

1.3.0-0

9 months ago

1.3.0-2

9 months ago

1.3.0-1

9 months ago

1.1.1

10 months ago

1.1.0

10 months ago

1.0.1

10 months ago

1.0.0

10 months ago

0.3.0-0

10 months ago

1.0.0-1

10 months ago

1.0.0-0

10 months ago

1.0.0-3

10 months ago

1.0.0-2

10 months ago

0.3.0

10 months ago

0.2.0

1 year ago

0.1.16

2 years ago

0.1.15

2 years ago

0.1.12

2 years ago

0.1.13

2 years ago

0.1.14

2 years ago

0.1.10

2 years ago

0.1.11

2 years ago

0.1.11-0

2 years ago

0.1.11-1

2 years ago

0.1.9

3 years ago

0.1.8

3 years ago

0.1.7

3 years ago

0.1.4

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago