@jabworks/eslint-plugin
v1.0.6
Published
Opinionated ESLint plugin and flat config for JS, TS, React, and Next.js
Maintainers
Readme
@jabworks/eslint-plugin
A custom ESLint plugin and shareable config for JavaScript, TypeScript, React, and Next.js projects. This package provides a set of curated rules and configurations to help enforce code quality, consistency, and best practices across your codebase.
Features
- Comprehensive rule sets for JavaScript, TypeScript, React, and Next.js
- Opinionated import sorting with
simple-import-sort - Best practices and stylistic rules
- Prettier integration for code formatting
- Support for modern ECMAScript features
- Flat config support (ESLint v9+)
Installation
pnpm add -D @jabworks/eslint-plugin
# or
yarn add -D @jabworks/eslint-plugin
# or
npm install --save-dev @jabworks/eslint-pluginUsage
Add the plugin to your ESLint configuration. Example using the flat config format (recommended for ESLint v9+):
// eslint.config.js or eslint.config.mjs
import { plugin as jabworksPlugin } from '@jabworks/eslint-plugin';
export default [
...jabworksPlugin.configs.base,
// or for React/Next.js/TypeScript/Vitest:
// ...jabworksPlugin.configs.react,
// ...jabworksPlugin.configs.next,
// ...jabworksPlugin.configs.typescript,
// ...jabworksPlugin.configs.vitest,
];Or, if using legacy config:
{
"extends": ["plugin:@jabworks/base"]
}Available Configs
base– General JavaScript/TypeScript rulescomments– Rules for ESLint directive commentsreact– React-specific rulesnext– Next.js-specific rulestypescript– TypeScript-specific rulesvitest– Vitest-specific rules
Example: Import Sorting
This plugin enforces a consistent import order using simple-import-sort. Example:
import React from 'react';
import express from 'express';
import lodash from 'lodash';
import myUtil from '@/utils/myUtil';
import helper from './helper';
import styles from './styles.css';License
MIT
