
Research
2025 Report: Destructive Malware in Open Source Packages
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.
eslint-plugin-local-rules
Advanced tools
A plugin for ESLint that allows you to use project-specific rules
A plugin for ESLint that allows you to use project-specific rules, similar to the deprecated --rulesdir command line option (more).
npm install eslint-plugin-local-rules
'use strict';
module.exports = {
'disallow-identifiers': {
meta: {
docs: {
description: 'disallow identifiers',
category: 'Possible Errors',
},
schema: [],
},
create: function (context) {
return {
Identifier: function (node) {
context.report({
node: node,
message: 'Identifiers not allowed for Super Important reasons.',
});
},
};
},
},
};
{
"plugins": ["local-rules"],
"extends": [
"plugin:local-rules/all"
]
}
{
"plugins": ["local-rules"],
"extends": [
"plugin:local-rules/all-warn"
]
}
{
"plugins": ["local-rules"],
"rules": {
"local-rules/disallow-identifiers": "error"
}
}
npm install ts-node @types/eslint
You'll also need an eslint config like the .eslintrc above (more info).
require("ts-node").register({
transpileOnly: true,
compilerOptions: {
module: "commonjs",
},
});
module.exports = require("./rules").default;
import type { Rule } from "eslint";
export default {
"disallow-identifiers": {
meta: {
docs: {
description: 'disallow identifiers',
category: 'Possible Errors',
},
schema: [],
},
create: function (context) {
return {
Identifier: function (node) {
context.report({
node: node,
message: 'Identifiers not allowed for Super Important reasons.',
});
},
};
},
},
} satisfies Record<string, Rule.RuleModule>;
This plugin supports npm/yarn/pnpm workspaces, although note that if the eslint-local-rules.js file is in the workspace subdirectory, running from the project root is unsupported.
For example, if there's an eslint-local-rules.js and index.js in ./src/app:
Wrong: npx eslint src/app/index.js
Right: (cd src/app; npx eslint index.js)
Also note that if there is an eslint-local-rules.js file in both the workspace subdirectory and project root, the workspace one takes precedence (assuming you're running eslint from the workspace directory, as above).
processorsMIT
FAQs
A plugin for ESLint that allows you to use project-specific rules
The npm package eslint-plugin-local-rules receives a total of 204,834 weekly downloads. As such, eslint-plugin-local-rules popularity was classified as popular.
We found that eslint-plugin-local-rules demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 open source maintainers collaborating on the project.
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.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.

Research
/Security News
A five-month operation turned 27 npm packages into durable hosting for browser-run lures that mimic document-sharing portals and Microsoft sign-in, targeting 25 organizations across manufacturing, industrial automation, plastics, and healthcare for credential theft.