@noctcore/eslint-plugin-observability
v0.1.0
Published
Structured-logging discipline ESLint rules — context objects over interpolated messages, no sensitive fields in logs, no error-detail loss.
Maintainers
Readme
@noctcore/eslint-plugin-observability
Structured-logging discipline rules — context objects over interpolated messages, no sensitive fields in logs, no error-detail loss. Flat-config only, ESLint 9+.
Install
bun add -D @noctcore/eslint-plugin-observability # or npm i -D / pnpm add -DUse
// eslint.config.js
import observability from '@noctcore/eslint-plugin-observability';
export default [
observability.configs.recommended,
];Or wire rules individually:
import observability from '@noctcore/eslint-plugin-observability';
export default [
{
plugins: { 'noctcore-observability': observability },
rules: {
'noctcore-observability/structured-log-arguments': ['error', { loggers: ['log', 'audit'] }],
},
},
];Rules
| Rule | Description | Recommended |
| --- | --- | --- |
| structured-log-arguments | Pass dynamic values in a structured context object, not interpolated into the message string. | error |
| no-sensitive-fields-in-logs | Name-heuristic guard against writing credentials/secrets into log sinks. | warn |
| no-error-detail-loss | A catch block that reports failure must log the error itself, not only e.message. | error |
