@sorrell/eslint-plugin
v1.1.0
Published
ES Lint rules that complement popular ES Lint plugins, such as eslint-plugin-jsdoc.
Maintainers
Readme
Copyright © 2026 Gage Sorrell. Released under the MIT license.
@sorrell/eslint-plugin
The ESLint plugin used by SorrellWm et al.
It provides these rules:
Installation
The plugin ships as TypeScript and is compiled to ./Distribution before use.
npm run build --workspace Package/EsLintPluginSorrelleslint (^9.39.4) is a peer dependency.
Usage
Register the plugin under the @sorrell namespace in your flat config and turn
the rules on. None are enabled by default, so nothing happens until you opt in.
import Sorrell from "@sorrell/eslint-plugin";
export default [
{
files: [ "**/*.{js,ts,tsx}" ],
plugins:
{
"@sorrell": Sorrell
},
rules:
{
"@sorrell/jsdoc-file-name": "error",
"@sorrell/jsdoc-module-name-package": "error"
}
}
];jsdoc-file-name
Ensures that, when a module documents itself with a JSDoc @file tag, the tag's
value matches the name of the file that contains it.
A module with no @file tag is left alone — the rule only checks the tag
when it is present.
The rule is fixable: running ESLint with --fix rewrites the tag's value to
the correct file name.
Examples
Given a file named Widget.ts:
/* Incorrect — the tag value does not match the file name. */
/**
* @file Gadget.ts
*/
/* Correct. */
/**
* @file Widget.ts
*/jsdoc-module-name-package
Ensures that, when a module documents itself with a JSDoc @module tag, the
tag's value either equals the "name" of the nearest package.json or begins
with that name followed by / (a sub-path within the package).
A module with no @module tag — or one that resolves to no named
package.json — is left alone.
This rule is not fixable: the intended sub-path cannot be inferred, so mismatches are reported for the author to correct.
Examples
For a file in the package named @sorrell/eslint-plugin:
/* Incorrect — does not begin with the package name. */
/**
* @module @sorrell/other/Rules/Widget
*/
/* Correct — exactly the package name. */
/**
* @module @sorrell/eslint-plugin
*/
/* Correct — a sub-path within the package. */
/**
* @module @sorrell/eslint-plugin/Rules/Widget
*/