@next-friday/eslint-plugin-friday
v1.1.2
Published
Next Friday-specific ESLint rules for shared engineering standards.
Maintainers
Readme
@next-friday/eslint-plugin-friday
Next Friday-specific ESLint rules for structural constraints generic lint stacks do not encode.
- Rules target module boundaries, React component structure, JSX layout, props shape, and identifier quality.
- Rules expose focused behavior and documented options.
- The plugin is intentionally narrow: it adds Next Friday-specific semantics instead of duplicating maintained ecosystem rules.
Usage
Register the plugin in an ESLint Flat Config and enable the rules you need:
import friday from "@next-friday/eslint-plugin-friday";
export default [
{
plugins: {friday},
rules: {
"friday/no-lazy-identifiers": "error",
},
},
];The package exports rule implementations and their documented options.
Rules
🔧 Automatically fixable by the --fix CLI option.
| Name | Description | 🔧 | | :--------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-- | | component-definition-style | require named React function components to use function declarations | | | component-entrypoint | require Friday component index entrypoints to expose a canonical compound API | | | component-module | require React component modules to contain only component definitions, component-support declarations, imports, exports, directives, and explicitly allowed framework declarations | | | index-export-only | require index files to contain only public-surface syntax and narrowly scoped compound component API assembly | | | jsx-newline-between-elements | require empty lines between adjacent JSX elements, fragments, or expression containers when either is multi-line | 🔧 | | jsx-no-newline-single-line-elements | disallow empty lines between adjacent single-line JSX elements or fragments | 🔧 | | named-props | disallow inline intersections in the first parameter of React function components | | | no-lazy-identifiers | disallow lazy placeholder identifiers such as repeated characters and keyboard-row runs | | | object-curly-newline | require every non-empty object literal to use multiline braces | 🔧 | | props-in-body | require React function components to accept props through a named parameter and destructure them inside the body | |
Compatibility
| Surface | Supported contract |
| :------------ | :----------------- |
| Node.js | ^22.13.0 | | >=24.0.0 |
| ESLint | ^10.4.0 |
| Module format | ESM |
License
MIT © Next Friday
