eslint-plugin-operability 3.0.5 → 3.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,120 @@
1
+ ## [3.0.5] - 2026-02-08
2
+
3
+ ## 3.0.6
4
+
5
+ ### Patch Changes
6
+
7
+ - [#197](https://github.com/ofri-peretz/eslint/pull/197) [`ecb8491`](https://github.com/ofri-peretz/eslint/commit/ecb849121833bf63b00256fa837f329bb721fbac) Thanks [@ofri-peretz](https://github.com/ofri-peretz)! - fix: republish `recommended` with correctly-namespaced, unscoped rule ids
8
+
9
+ `eslint-plugin-maintainability@3.0.3` and `eslint-plugin-operability@3.0.5`
10
+ shipped a `recommended` preset whose rule ids carried a doubled, scoped plugin
11
+ segment (`@interlace/maintainability/maintainability/cognitive-complexity`)
12
+ that no registered plugin key matched. Enabling the preset alongside any other
13
+ config made ESLint throw at load:
14
+
15
+ ```text
16
+ Could not find plugin "@interlace/maintainability/maintainability".
17
+ ```
18
+
19
+ (and the equivalent `@interlace/operability/operability` for operability.)
20
+
21
+ The source was already corrected to the bare, unscoped form
22
+ (`maintainability/cognitive-complexity` under a `maintainability` plugin key)
23
+ but was never republished, so npm still served the broken build. This release
24
+ ships the corrected build. `plugin.meta.name` is also fixed to the unscoped
25
+ `eslint-plugin-maintainability` (was `@interlace/eslint-plugin-maintainability`,
26
+ which drifted from the package name and every other plugin).
27
+
28
+ Each plugin is configured on its own — there is no unified config. No rule
29
+ behaviour changes.
30
+
31
+ New regression locks in each plugin's `index.test.ts` reproduce ESLint's rule-id
32
+ resolution, pin the plugin name and key as unscoped, and load each `recommended`
33
+ preset in a real ESLint instance — failing closed if a scoped or doubly
34
+ namespaced config could ship again.
35
+
36
+ ### Bug Fixes
37
+
38
+ - align codecov component IDs with full package names ([2831b968](https://github.com/ofri-peretz/eslint/commit/2831b968))
39
+
40
+ ### Documentation
41
+
42
+ - fix changelog header format across all packages ([c3a15082](https://github.com/ofri-peretz/eslint/commit/c3a15082))
43
+
44
+ ### ❤️ Thank You
45
+
46
+ - Ofri Peretz
47
+
48
+ ## [3.0.4] - 2026-02-06
49
+
50
+ ### Bug Fixes
51
+
52
+ - align codecov component names and update docs components ([0a59a86c](https://github.com/ofri-peretz/eslint/commit/0a59a86c))
53
+
54
+ ### ❤️ Thank You
55
+
56
+ - Ofri Peretz
57
+
58
+ ## [3.0.3] - 2026-02-02
59
+
60
+ This was a version bump only for eslint-plugin-operability to align it with other projects, there were no code changes.
61
+
62
+ # Changelog
63
+
64
+ All notable changes to `eslint-plugin-operability` will be documented in this file.
65
+
66
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
67
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
68
+
69
+ ### Documentation
70
+
71
+ - 📘 Launched new documentation site: [eslint.interlace.tools](https://eslint.interlace.tools/)
72
+ - 📝 Achieved 100% documentation parity (both .md and .mdx files)
73
+
74
+ ## [3.0.2] - 2026-02-02
75
+
76
+ This was a version bump only for eslint-plugin-operability to align it with other projects, there were no code changes.
77
+
78
+ ## [3.0.1] - 2026-02-02
79
+
80
+ This was a version bump only for eslint-plugin-operability to align it with other projects, there were no code changes.
81
+
82
+ ## [3.0.0] - 2026-02-02
83
+
84
+ This was a version bump only for eslint-plugin-operability to align it with other projects, there were no code changes.
85
+
86
+ ## [1.0.0] - 2026-01-26
87
+
88
+ ### Added
89
+
90
+ - Initial stable release with 6 production-readiness rules
91
+ - LLM-optimized error messages for AI-assisted development
92
+ - 100% test coverage across all rules
93
+ - ESLint 9 flat config support
94
+ - TypeScript type definitions for all rule options
95
+
96
+ ### Rules
97
+
98
+ | Rule | Description | 💼 | ⚠️ |
99
+ | :---------------------------- | :----------------------------------------------- | :-: | :-: |
100
+ | `no-console-log` | Disallow `console.log` in production code | 💼 | ⚠️ |
101
+ | `no-process-exit` | Disallow `process.exit()` in library code | | |
102
+ | `no-debug-code-in-production` | Detect `debugger` statements and debug keywords | 💼 | |
103
+ | `no-verbose-error-messages` | Prevent overly detailed error messages (CWE-209) | 💼 | ⚠️ |
104
+ | `require-code-minification` | Detect patterns that prevent minification | | |
105
+ | `require-data-minimization` | Detect excessive data exposure in responses | | |
106
+
107
+ ### Presets
108
+
109
+ - `recommended` - Balanced operability checks for production code
110
+
111
+ ### Security
112
+
113
+ - `no-verbose-error-messages` prevents information exposure (CWE-209)
114
+ - `require-data-minimization` enforces data protection principles
115
+
116
+ ### Jan 2026 Remediation
117
+
118
+ - Converted skeleton documentation to high-fidelity guides
119
+ - Added comprehensive examples for all rules
120
+ - Documented known limitations in `docs/KNOWN-LIMITATIONS.md`
package/LICENSE ADDED
@@ -0,0 +1,23 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Ofri Peretz
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
23
+
package/README.md CHANGED
@@ -1,23 +1,24 @@
1
1
  <p align="center">
2
- <a href="https://eslint.interlace.tools" target="blank"><img src="https://eslint.interlace.tools/eslint-interlace-logo-light.svg" alt="ESLint Interlace Logo" width="120" /></a>
2
+ <a href="https://eslint.interlace.tools/?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-operability" target="blank"><img src="https://eslint.interlace.tools/eslint-interlace-logo-light.svg" alt="ESLint Interlace Logo" width="120" /></a>
3
3
  </p>
4
4
 
5
5
  <p align="center">
6
- Security-focused ESLint plugin.
6
+ Operability rules — observability hooks, structured logging, and runtime resilience.
7
7
  </p>
8
8
 
9
9
  <p align="center">
10
10
  <a href="https://www.npmjs.com/package/eslint-plugin-operability" target="_blank"><img src="https://img.shields.io/npm/v/eslint-plugin-operability.svg" alt="NPM Version" /></a>
11
11
  <a href="https://www.npmjs.com/package/eslint-plugin-operability" target="_blank"><img src="https://img.shields.io/npm/dm/eslint-plugin-operability.svg" alt="NPM Downloads" /></a>
12
12
  <a href="https://opensource.org/licenses/MIT" target="_blank"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="Package License" /></a>
13
- <a href="https://app.codecov.io/gh/ofri-peretz/eslint/components?components%5B0%5D=operability" target="_blank"><img src="https://codecov.io/gh/ofri-peretz/eslint/graph/badge.svg?component=eslint-plugin-operability" alt="Codecov" /></a>
13
+ <a href="https://app.codecov.io/gh/ofri-peretz/eslint/components?components%5B0%5D=operability" target="_blank"><img src="https://codecov.io/gh/ofri-peretz/eslint/graph/badge.svg?component=operability" alt="Codecov" /></a>
14
14
  <a href="https://github.com/ofri-peretz/eslint" target="_blank"><img src="https://img.shields.io/badge/Since-Dec_2025-blue?logo=rocket&logoColor=white" alt="Since Dec 2025" /></a>
15
15
  </p>
16
16
 
17
+ > ⭐ If this plugin caught a real bug for you, [**star the repo**](https://github.com/ofri-peretz/eslint) — it's the signal that keeps these rules maintained.
18
+
17
19
  ## Description
18
20
 
19
- This plugin provides Security-focused ESLint plugin.
20
- By using this plugin, you can proactively identify and mitigate security risks across your entire codebase.
21
+ This plugin provides Operability rules — observability hooks, structured logging, and runtime resilience.
21
22
 
22
23
  ## Philosophy
23
24
 
@@ -25,12 +26,12 @@ By using this plugin, you can proactively identify and mitigate security risks a
25
26
 
26
27
  ## Getting Started
27
28
 
28
- - To check out the [guide](https://eslint.interlace.tools/docs/quality/plugin-operability), visit [eslint.interlace.tools](https://eslint.interlace.tools). 📚
29
- - 要查看中文 [指南](https://eslint.interlace.tools/docs/quality/plugin-operability), 请访问 [eslint.interlace.tools](https://eslint.interlace.tools). 📚
30
- - [가이드](https://eslint.interlace.tools/docs/quality/plugin-operability) 문서는 [eslint.interlace.tools](https://eslint.interlace.tools)에서 확인하실 수 있습니다. 📚
31
- - [ガイド](https://eslint.interlace.tools/docs/quality/plugin-operability)は [eslint.interlace.tools](https://eslint.interlace.tools)でご確認ください。 📚
32
- - Para ver la [guía](https://eslint.interlace.tools/docs/quality/plugin-operability), visita [eslint.interlace.tools](https://eslint.interlace.tools). 📚
33
- - للاطلاع على [الدليل](https://eslint.interlace.tools/docs/quality/plugin-operability)، قم بزيارة [eslint.interlace.tools](https://eslint.interlace.tools). 📚
29
+ - To check out the [guide](https://eslint.interlace.tools/docs/quality/plugin-operability?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-operability), visit [eslint.interlace.tools](https://eslint.interlace.tools/?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-operability). 📚
30
+ - 要查看中文 [指南](https://eslint.interlace.tools/docs/quality/plugin-operability?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-operability), 请访问 [eslint.interlace.tools](https://eslint.interlace.tools/?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-operability). 📚
31
+ - [가이드](https://eslint.interlace.tools/docs/quality/plugin-operability?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-operability) 문서는 [eslint.interlace.tools](https://eslint.interlace.tools/?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-operability)에서 확인하실 수 있습니다. 📚
32
+ - [ガイド](https://eslint.interlace.tools/docs/quality/plugin-operability?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-operability)は [eslint.interlace.tools](https://eslint.interlace.tools/?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-operability)でご確認ください。 📚
33
+ - Para ver la [guía](https://eslint.interlace.tools/docs/quality/plugin-operability?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-operability), visita [eslint.interlace.tools](https://eslint.interlace.tools/?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-operability). 📚
34
+ - للاطلاع على [الدليل](https://eslint.interlace.tools/docs/quality/plugin-operability?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-operability)، قم بزيارة [eslint.interlace.tools](https://eslint.interlace.tools/?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-operability). 📚
34
35
 
35
36
  ```bash
36
37
  npm install eslint-plugin-operability --save-dev
@@ -117,6 +118,14 @@ throw new Error('Service temporarily unavailable');
117
118
 
118
119
  ---
119
120
 
121
+ ## 📦 Compatibility
122
+ | Package | Version |
123
+ | :--- | :--- |
124
+ | ESLint | `^8.0.0 \|\| ^9.0.0 \|\| ^10.0.0` |
125
+ | Node.js | `>=18.0.0` |
126
+
127
+ See the [ESLint Version Support Policy](../../docs/ESLINT_VERSION_SUPPORT.md) — current ecosystem share data, the 20% gate, and the forward-looking exception that covers v10.
128
+
120
129
  ## Rules
121
130
 
122
131
  **Legend**
@@ -124,15 +133,24 @@ throw new Error('Service temporarily unavailable');
124
133
  | Icon | Description |
125
134
  | :---: | :--- |
126
135
  | 💼 | **Recommended**: Included in the recommended preset. |
127
- | ⚠️ | **Warns**: Set towarn in recommended preset. |
136
+ | ⚠️ | **Warns**: Set to warn in recommended preset. |
128
137
  | 🔧 | **Auto-fixable**: Automatically fixable by the `--fix` CLI option. |
129
138
  | 💡 | **Suggestions**: Providing code suggestions in IDE. |
130
139
  | 🚫 | **Deprecated**: This rule is deprecated. |
131
-
132
- | Rule | CWE | OWASP | CVSS | Description | 💼 | ⚠️ | 🔧 | 💡 | 🚫 |
133
- | :--- | :---: | :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: |
134
- | [operability](https://eslint.interlace.tools/docs/quality/plugin-operability/rules/operability) | | | | Enforce operability | | | | | |
135
-
140
+ | 🟢 | **Type-unaware**: AST-only, runs in oxlint JS-plugin tier. |
141
+ | 🟡 | **Type-aware (refining)**: pure-AST primary path; types refine precision. |
142
+ | 🟠 | **Type-aware (graceful)**: requires TS program; silent without it. |
143
+
144
+ <!-- AUTO-GENERATED:RULES_TABLE:START - Do not edit manually -->
145
+ | Rule | CWE | OWASP | CVSS | Description | 🧠 | 💼 | ⚠️ | 🔧 | 💡 | 🚫 |
146
+ | :--- | :---: | :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: |
147
+ | [no-console-log](https://eslint.interlace.tools/docs/quality/plugin-operability/rules/no-console-log?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-operability) | CWE-532 | | | Disallow console.log with configurable remediation strategies and LLM-optimized output. This rule is part o… | 🟢 | | ⚠️ | | 💡 | |
148
+ | [no-debug-code-in-production](https://eslint.interlace.tools/docs/quality/plugin-operability/rules/no-debug-code-in-production?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-operability) | CWE-489 | | | Detects debug code that should not be present in production builds. | 🟢 | 💼 | | | 💡 | |
149
+ | [no-process-exit](https://eslint.interlace.tools/docs/quality/plugin-operability/rules/no-process-exit?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-operability) | | | | Prevents direct process.exit() calls to encourage graceful shutdown patterns. This rule is part of eslint-p… | 🟢 | | | | 💡 | |
150
+ | [no-verbose-error-messages](https://eslint.interlace.tools/docs/quality/plugin-operability/rules/no-verbose-error-messages?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-operability) | CWE-209 | A01:2021 | | Prevent exposing stack traces to users in API responses | 🟢 | | ⚠️ | | | |
151
+ | [require-code-minification](https://eslint.interlace.tools/docs/quality/plugin-operability/rules/require-code-minification?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-operability) | CWE-656 | | | Require minification configuration in build tools | 🟢 | | | | | |
152
+ | [require-data-minimization](https://eslint.interlace.tools/docs/quality/plugin-operability/rules/require-data-minimization?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-operability) | CWE-213 | | | Identifies excessive data collection patterns that violate privacy principles | 🟢 | | | | 💡 | |
153
+ <!-- AUTO-GENERATED:RULES_TABLE:END -->
136
154
  ## 🔗 Related ESLint Plugins
137
155
 
138
156
  Part of the **Interlace ESLint Ecosystem** — AI-native security plugins with LLM-optimized error messages:
@@ -141,7 +159,7 @@ Part of the **Interlace ESLint Ecosystem** — AI-native security plugins with L
141
159
  | :--- | :---: | :--- |
142
160
  | [`eslint-plugin-secure-coding`](https://www.npmjs.com/package/eslint-plugin-secure-coding) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-secure-coding.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-secure-coding) | General security rules & OWASP guidelines. |
143
161
  | [`eslint-plugin-pg`](https://www.npmjs.com/package/eslint-plugin-pg) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-pg.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-pg) | PostgreSQL security & best practices. |
144
- | [`eslint-plugin-crypto`](https://www.npmjs.com/package/eslint-plugin-crypto) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-crypto.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-crypto) | NodeJS Cryptography security rules. |
162
+ | [`eslint-plugin-node-security`](https://www.npmjs.com/package/eslint-plugin-node-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-node-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-node-security) | Node.js core-module security (fs, child_process, vm, crypto, Buffer). |
145
163
  | [`eslint-plugin-jwt`](https://www.npmjs.com/package/eslint-plugin-jwt) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-jwt.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-jwt) | JWT security & best practices. |
146
164
  | [`eslint-plugin-browser-security`](https://www.npmjs.com/package/eslint-plugin-browser-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-browser-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-browser-security) | Browser-specific security & XSS prevention. |
147
165
  | [`eslint-plugin-express-security`](https://www.npmjs.com/package/eslint-plugin-express-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-express-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-express-security) | Express.js security hardening rules. |
@@ -151,10 +169,19 @@ Part of the **Interlace ESLint Ecosystem** — AI-native security plugins with L
151
169
  | [`eslint-plugin-vercel-ai-security`](https://www.npmjs.com/package/eslint-plugin-vercel-ai-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-vercel-ai-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-vercel-ai-security) | Vercel AI SDK security hardening. |
152
170
  | [`eslint-plugin-import-next`](https://www.npmjs.com/package/eslint-plugin-import-next) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-import-next.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-import-next) | Next-gen import sorting & architecture. |
153
171
 
172
+ <!-- INTERLACE:STAR_CTA:START -->
173
+ ## ⭐ Support & follow
174
+
175
+ If this plugin caught a real bug for you, **[star the repo](https://github.com/ofri-peretz/eslint)** — stars are the signal that keeps the Interlace ESLint ecosystem maintained — and **[follow the writeups on Dev.to](https://dev.to/ofri-peretz)** for the benchmarks and security research behind these rules.
176
+
177
+ [![GitHub stars](https://img.shields.io/github/stars/ofri-peretz/eslint?style=social)](https://github.com/ofri-peretz/eslint)
178
+
179
+ <!-- INTERLACE:STAR_CTA:END -->
180
+
154
181
  ## 📄 License
155
182
 
156
183
  MIT © [Ofri Peretz](https://github.com/ofri-peretz)
157
184
 
158
185
  <p align="center">
159
- <a href="https://eslint.interlace.tools/docs/quality/plugin-operability"><img src="https://eslint.interlace.tools/images/og-operability.png" alt="ESLint Interlace Plugin" width="100%" /></a>
186
+ <a href="https://eslint.interlace.tools/docs/quality/plugin-operability?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-operability"><img src="https://eslint.interlace.tools/images/og-operability.png" alt="ESLint Interlace Plugin" width="100%" /></a>
160
187
  </p>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-operability",
3
- "version": "3.0.5",
3
+ "version": "3.0.6",
4
4
  "description": "ESLint rules for production behavior, resource hygiene, and log quality.",
5
5
  "type": "commonjs",
6
6
  "main": "./src/index.js",
@@ -9,6 +9,10 @@
9
9
  ".": {
10
10
  "types": "./src/index.d.ts",
11
11
  "default": "./src/index.js"
12
+ },
13
+ "./oxlint": {
14
+ "types": "./src/oxlint.d.ts",
15
+ "default": "./src/oxlint.js"
12
16
  }
13
17
  },
14
18
  "author": "Ofri Peretz <ofriperetzdev@gmail.com>",
@@ -48,8 +52,21 @@
48
52
  "url": "https://github.com/ofri-peretz/eslint",
49
53
  "directory": "packages/eslint-plugin-operability"
50
54
  },
51
- "homepage": "https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-plugin-operability#readme",
55
+ "homepage": "https://eslint.interlace.tools/docs/quality/plugin-operability?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-operability",
52
56
  "bugs": {
53
57
  "url": "https://github.com/ofri-peretz/eslint/issues"
58
+ },
59
+ "scripts": {
60
+ "build": "tsx ../../scripts/build-package.ts",
61
+ "test": "vitest run",
62
+ "test:coverage": "vitest run --coverage",
63
+ "typecheck": "tsc -p tsconfig.lib.json --noEmit"
64
+ },
65
+ "peerDependencies": {
66
+ "eslint": "^8.0.0 || ^9.0.0 || ^10.0.0"
67
+ },
68
+ "funding": {
69
+ "type": "github",
70
+ "url": "https://github.com/ofri-peretz/eslint"
54
71
  }
55
- }
72
+ }
package/src/index.d.ts CHANGED
@@ -89,7 +89,7 @@ export declare const plugin: {
89
89
  export declare const configs: {
90
90
  recommended: {
91
91
  plugins: {
92
- '@interlace/operability': {
92
+ operability: {
93
93
  meta: {
94
94
  name: string;
95
95
  version: string;
@@ -135,9 +135,9 @@ export declare const configs: {
135
135
  };
136
136
  };
137
137
  rules: {
138
- '@interlace/operability/operability/no-console-log': "warn";
139
- '@interlace/operability/operability/no-debug-code-in-production': "error";
140
- '@interlace/operability/operability/no-verbose-error-messages': "warn";
138
+ 'operability/no-console-log': "warn";
139
+ 'operability/no-debug-code-in-production': "error";
140
+ 'operability/no-verbose-error-messages': "warn";
141
141
  };
142
142
  };
143
143
  };
package/src/index.js CHANGED
@@ -31,19 +31,19 @@ exports.rules = {
31
31
  exports.plugin = {
32
32
  meta: {
33
33
  name: 'eslint-plugin-operability',
34
- version: '1.0.0',
34
+ version: '3.0.6',
35
35
  },
36
36
  rules: exports.rules,
37
37
  };
38
38
  exports.configs = {
39
39
  recommended: {
40
40
  plugins: {
41
- '@interlace/operability': exports.plugin,
41
+ 'operability': exports.plugin,
42
42
  },
43
43
  rules: {
44
- '@interlace/operability/operability/no-console-log': 'warn',
45
- '@interlace/operability/operability/no-debug-code-in-production': 'error',
46
- '@interlace/operability/operability/no-verbose-error-messages': 'warn',
44
+ 'operability/no-console-log': 'warn',
45
+ 'operability/no-debug-code-in-production': 'error',
46
+ 'operability/no-verbose-error-messages': 'warn',
47
47
  },
48
48
  },
49
49
  };
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/eslint-plugin-operability/src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIH,oBAAoB;AACpB,uEAAkE;AAClE,yEAAoE;AACpE,iGAA0F;AAC1F,6FAAuF;AACvF,6FAAwF;AACxF,6FAAwF;AAE3E,QAAA,KAAK,GAAG;IACnB,gBAAgB,EAAE,6BAAY;IAC9B,iBAAiB,EAAE,+BAAa;IAChC,6BAA6B,EAAE,qDAAuB;IACtD,2BAA2B,EAAE,kDAAsB;IACnD,2BAA2B,EAAE,mDAAuB;IACpD,2BAA2B,EAAE,mDAAuB;IAEpD,oBAAoB;IACpB,4BAA4B,EAAE,6BAAY;IAC1C,6BAA6B,EAAE,+BAAa;IAC5C,yCAAyC,EAAE,qDAAuB;IAClE,uCAAuC,EAAE,kDAAsB;IAC/D,uCAAuC,EAAE,mDAAuB;IAChE,uCAAuC,EAAE,mDAAuB;CACS,CAAC;AAE/D,QAAA,MAAM,GAAG;IACpB,IAAI,EAAE;QACJ,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE,OAAO;KACjB;IACD,KAAK,EAAL,aAAK;CAC+B,CAAC;AAE1B,QAAA,OAAO,GAAG;IACrB,WAAW,EAAE;QACX,OAAO,EAAE;YACP,wBAAwB,EAAE,cAAM;SACjC;QACD,KAAK,EAAE;YACL,mDAAmD,EAAE,MAAM;YAC3D,gEAAgE,EAAE,OAAO;YACzE,8DAA8D,EAAE,MAAM;SACvE;KACmC;CACc,CAAC;AAEvD,kBAAe,cAAM,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIH,oBAAoB;AACpB,uEAAkE;AAClE,yEAAoE;AACpE,iGAA0F;AAC1F,6FAAuF;AACvF,6FAAwF;AACxF,6FAAwF;AAE3E,QAAA,KAAK,GAAG;IACnB,gBAAgB,EAAE,6BAAY;IAC9B,iBAAiB,EAAE,+BAAa;IAChC,6BAA6B,EAAE,qDAAuB;IACtD,2BAA2B,EAAE,kDAAsB;IACnD,2BAA2B,EAAE,mDAAuB;IACpD,2BAA2B,EAAE,mDAAuB;IAEpD,oBAAoB;IACpB,4BAA4B,EAAE,6BAAY;IAC1C,6BAA6B,EAAE,+BAAa;IAC5C,yCAAyC,EAAE,qDAAuB;IAClE,uCAAuC,EAAE,kDAAsB;IAC/D,uCAAuC,EAAE,mDAAuB;IAChE,uCAAuC,EAAE,mDAAuB;CACS,CAAC;AAE/D,QAAA,MAAM,GAAG;IACpB,IAAI,EAAE;QACJ,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE,OAAO;KACjB;IACD,KAAK,EAAL,aAAK;CAC+B,CAAC;AAE1B,QAAA,OAAO,GAAG;IACrB,WAAW,EAAE;QACX,OAAO,EAAE;YACP,aAAa,EAAE,cAAM;SACtB;QACD,KAAK,EAAE;YACL,4BAA4B,EAAE,MAAM;YACpC,yCAAyC,EAAE,OAAO;YAClD,uCAAuC,EAAE,MAAM;SAChD;KACmC;CACc,CAAC;AAEvD,kBAAe,cAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"eslint-plugin-operability.js","sourceRoot":"","sources":["../../../../../packages/eslint-plugin-operability/src/lib/eslint-plugin-operability.ts"],"names":[],"mappings":";;AAAA,0DAEC;AAFD,SAAgB,uBAAuB;IACrC,OAAO,2BAA2B,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"eslint-plugin-operability.js","sourceRoot":"","sources":["../../../src/lib/eslint-plugin-operability.ts"],"names":[],"mappings":";;AAAA,0DAEC;AAFD,SAAgB,uBAAuB;IACrC,OAAO,2BAA2B,CAAC;AACrC,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Copyright (c) 2025 Ofri Peretz
3
+ * Licensed under the MIT License. Use of this source code is governed by the
4
+ * MIT license that can be found in the LICENSE file.
5
+ */
6
+ /**
7
+ * oxlint sub-export.
8
+ *
9
+ * Consumers wire oxlint to this entry via:
10
+ * { "jsPlugins": ["eslint-plugin-operability/oxlint"] }
11
+ *
12
+ * oxlint's JS plugin loader does `require('eslint-plugin-operability/oxlint')` and reads
13
+ * `.rules` off the result. The compiled output of `export = plugin` is
14
+ * `module.exports = plugin`, which gives oxlint the plugin object directly
15
+ * (`{ meta, rules }`) — no wrapper, no `.default` indirection.
16
+ *
17
+ * Generated by scripts/generate-oxlint-shims.mjs. Do not edit by hand.
18
+ */
19
+ import { plugin } from './index';
20
+ export = plugin;
package/src/oxlint.js ADDED
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2025 Ofri Peretz
4
+ * Licensed under the MIT License. Use of this source code is governed by the
5
+ * MIT license that can be found in the LICENSE file.
6
+ */
7
+ /**
8
+ * oxlint sub-export.
9
+ *
10
+ * Consumers wire oxlint to this entry via:
11
+ * { "jsPlugins": ["eslint-plugin-operability/oxlint"] }
12
+ *
13
+ * oxlint's JS plugin loader does `require('eslint-plugin-operability/oxlint')` and reads
14
+ * `.rules` off the result. The compiled output of `export = plugin` is
15
+ * `module.exports = plugin`, which gives oxlint the plugin object directly
16
+ * (`{ meta, rules }`) — no wrapper, no `.default` indirection.
17
+ *
18
+ * Generated by scripts/generate-oxlint-shims.mjs. Do not edit by hand.
19
+ */
20
+ const index_1 = require("./index");
21
+ module.exports = index_1.plugin;
22
+ //# sourceMappingURL=oxlint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oxlint.js","sourceRoot":"","sources":["../../src/oxlint.ts"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH;;;;;;;;;;;;GAYG;AAEH,mCAAiC;AAEjC,iBAAS,cAAM,CAAC"}
@@ -19,7 +19,10 @@ exports.noConsoleLog = (0, eslint_devkit_2.createRule)({
19
19
  meta: {
20
20
  type: 'problem',
21
21
  docs: {
22
+ url: 'https://github.com/ofri-peretz/eslint/blob/main/packages/eslint-plugin-operability/docs/rules/no-console-log.md',
22
23
  description: 'Disallow console.log with configurable remediation strategies',
24
+ cwe: 'CWE-532',
25
+ cvss: 5,
23
26
  },
24
27
  fixable: 'code',
25
28
  hasSuggestions: false,
@@ -142,8 +145,9 @@ exports.noConsoleLog = (0, eslint_devkit_2.createRule)({
142
145
  const { strategy = 'remove', ignorePaths = [], loggerName, maxOccurrences, severityMap = {}, autoDetectLogger = true, sourcePatterns = ['console'], } = options;
143
146
  /** Merge user's severityMap with defaults to determine method mappings */
144
147
  const effectiveSeverityMap = { ...DEFAULT_SEVERITY_MAP, ...severityMap };
145
- const filename = context.filename || context.getFilename();
146
- const sourceCode = context.sourceCode || context.sourceCode;
148
+ const filename = context.filename;
149
+ // oxlint-disable-next-line no-shadow
150
+ const sourceCode = context.sourceCode;
147
151
  const occurrences = [];
148
152
  /**
149
153
  * Auto-detect logger in file by scanning imports.
@@ -206,11 +210,20 @@ exports.noConsoleLog = (0, eslint_devkit_2.createRule)({
206
210
  /** Directory match */
207
211
  if (normalizedPath.startsWith(normalizedPattern + '/'))
208
212
  return true;
209
- /** Glob-like pattern support */
210
- const regexPattern = normalizedPattern
211
- .replace(/\./g, '\\.')
212
- .replace(/\*/g, '.*')
213
- .replace(/\?/g, '.');
213
+ /**
214
+ * Glob-like pattern support. Escape ALL regex metacharacters (the
215
+ * previous logic only escaped `.`, so `(`, `)`, `+`, `[`, `]`, `\`
216
+ * etc. were interpreted as regex syntax). CodeQL specifically flagged
217
+ * the unescaped backslash as `js/incomplete-sanitization`. The escape
218
+ * set MUST include `*` and `?` so the subsequent replaces can find
219
+ * the escaped tokens and translate them to glob equivalents — without
220
+ * that, raw `*` / `?` reach `new RegExp()` and the pattern matching
221
+ * is silently broken.
222
+ */
223
+ const escaped = normalizedPattern.replace(/[.+^${}()|[\]\\*?]/g, '\\$&');
224
+ const regexPattern = escaped
225
+ .replace(/\\\*/g, '.*')
226
+ .replace(/\\\?/g, '.');
214
227
  return new RegExp(regexPattern).test(normalizedPath);
215
228
  });
216
229
  };
@@ -249,7 +262,6 @@ exports.noConsoleLog = (0, eslint_devkit_2.createRule)({
249
262
  typeof maxOccurrences === 'number' &&
250
263
  maxOccurrences > 0 &&
251
264
  occurrences.length > maxOccurrences;
252
- const sourceCode = context.sourceCode || context.sourceCode;
253
265
  const relativePath = (0, eslint_devkit_3.getRelativePath)(process.cwd(), filename);
254
266
  /**
255
267
  * Determine the target logger method to use based on severityMap.
@@ -1 +1 @@
1
- {"version":3,"file":"no-console-log.js","sourceRoot":"","sources":["../../../../../../packages/eslint-plugin-operability/src/rules/operability/no-console-log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"no-console-log.js","sourceRoot":"","sources":["../../../../src/rules/operability/no-console-log.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,10 @@ exports.noDebugCodeInProduction = (0, eslint_devkit_1.createRule)({
17
17
  meta: {
18
18
  type: 'problem',
19
19
  docs: {
20
+ url: 'https://github.com/ofri-peretz/eslint/blob/main/packages/eslint-plugin-operability/docs/rules/no-debug-code-in-production.md',
20
21
  description: 'Detect debug code in production',
22
+ cwe: 'CWE-489',
23
+ cvss: 7.5,
21
24
  },
22
25
  messages: {
23
26
  violationDetected: (0, eslint_devkit_1.formatLLMMessage)({
@@ -1 +1 @@
1
- {"version":3,"file":"no-debug-code-in-production.js","sourceRoot":"","sources":["../../../../../../packages/eslint-plugin-operability/src/rules/operability/no-debug-code-in-production.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH;;;;GAIG;AAEH,4DAKkC;AAUrB,QAAA,uBAAuB,GAAG,IAAA,0BAAU,EAA0B;IACzE,IAAI,EAAE,6BAA6B;IACnC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,iCAAiC;SAC/C;QACD,QAAQ,EAAE;YACR,iBAAiB,EAAE,IAAA,gCAAgB,EAAC;gBAClC,IAAI,EAAE,4BAAY,CAAC,QAAQ;gBAC3B,SAAS,EAAE,oBAAoB;gBAC/B,GAAG,EAAE,SAAS;gBACd,WAAW,EACT,oEAAoE;gBACtE,QAAQ,EAAE,MAAM;gBAChB,GAAG,EAAE,mCAAmC;gBACxC,iBAAiB,EAAE,iDAAiD;aACrE,CAAC;SACH;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,UAAU,CAAC,IAAyB;gBAClC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7C,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;YACD,cAAc,CAAC,IAA6B;gBAC1C,IACE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,8BAAc,CAAC,gBAAgB;oBACpD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,8BAAc,CAAC,UAAU;oBACrD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS;oBACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,8BAAc,CAAC,UAAU;oBACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,EACnC,CAAC;oBACD,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"no-debug-code-in-production.js","sourceRoot":"","sources":["../../../../src/rules/operability/no-debug-code-in-production.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH;;;;GAIG;AAEH,4DAKkC;AAUrB,QAAA,uBAAuB,GAAG,IAAA,0BAAU,EAA0B;IACzE,IAAI,EAAE,6BAA6B;IACnC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,GAAG,EAAE,8HAA8H;YACnI,WAAW,EAAE,iCAAiC;YAC9C,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,GAAG;SACV;QACD,QAAQ,EAAE;YACR,iBAAiB,EAAE,IAAA,gCAAgB,EAAC;gBAClC,IAAI,EAAE,4BAAY,CAAC,QAAQ;gBAC3B,SAAS,EAAE,oBAAoB;gBAC/B,GAAG,EAAE,SAAS;gBACd,WAAW,EACT,oEAAoE;gBACtE,QAAQ,EAAE,MAAM;gBAChB,GAAG,EAAE,mCAAmC;gBACxC,iBAAiB,EAAE,iDAAiD;aACrE,CAAC;SACH;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,UAAU,CAAC,IAAyB;gBAClC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7C,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;YACD,cAAc,CAAC,IAA6B;gBAC1C,IACE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,8BAAc,CAAC,gBAAgB;oBACpD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,8BAAc,CAAC,UAAU;oBACrD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS;oBACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,8BAAc,CAAC,UAAU;oBACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,EACnC,CAAC;oBACD,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -13,6 +13,7 @@ exports.noProcessExit = (0, eslint_devkit_1.createRule)({
13
13
  meta: {
14
14
  type: 'problem',
15
15
  docs: {
16
+ url: 'https://github.com/ofri-peretz/eslint/blob/main/packages/eslint-plugin-operability/docs/rules/no-process-exit.md',
16
17
  description: 'Prevent usage of process.exit() which can terminate the process unexpectedly',
17
18
  },
18
19
  hasSuggestions: false,
@@ -42,12 +43,14 @@ exports.noProcessExit = (0, eslint_devkit_1.createRule)({
42
43
  },
43
44
  defaultOptions: [{ allow: [] }],
44
45
  create(context) {
46
+ // oxlint-disable-next-line consistent-function-scoping
45
47
  function isInAllowedContext() {
46
48
  // For simplicity, we'll skip the allow option for now
47
49
  return false;
48
50
  }
49
51
  function isProcessExitCall(node) {
50
52
  // Check if this is a call to process.exit
53
+ // oxlint-disable-next-line consistent-function-scoping
51
54
  function isProcessExitMember(callee) {
52
55
  if (callee.type === 'MemberExpression' &&
53
56
  callee.object.type === 'Identifier' &&
@@ -1 +1 @@
1
- {"version":3,"file":"no-process-exit.js","sourceRoot":"","sources":["../../../../../../packages/eslint-plugin-operability/src/rules/operability/no-process-exit.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAOH,4DAAsD;AACtD,4DAA0E;AAW7D,QAAA,aAAa,GAAG,IAAA,0BAAU,EAA0B;IAC/D,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EACT,8EAA8E;SACjF;QACD,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE;YACR,aAAa,EAAE,IAAA,gCAAgB,EAAC;gBAC9B,IAAI,EAAE,4BAAY,CAAC,OAAO;gBAC1B,SAAS,EAAE,cAAc;gBACzB,WAAW,EAAE,4BAA4B;gBACzC,QAAQ,EAAE,MAAM;gBAChB,GAAG,EAAE,6CAA6C;gBAClD,iBAAiB,EACf,+FAA+F;aAClG,CAAC;SACH;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,OAAO,EAAE,EAAE;qBACZ;iBACF;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;KACF;IACD,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAE/B,MAAM,CAAC,OAAsD;QAC3D,SAAS,kBAAkB;YACzB,sDAAsD;YACtD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,SAAS,iBAAiB,CAAC,IAA6B;YACtD,0CAA0C;YAC1C,SAAS,mBAAmB,CAAC,MAA2B;gBACtD,IACE,MAAM,CAAC,IAAI,KAAK,kBAAkB;oBAClC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY;oBACnC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS;oBAChC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;oBACrC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,EAC/B,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO;YACL,cAAc,CAAC,IAA6B;gBAC1C,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;oBACrD,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI;wBACJ,SAAS,EAAE,eAAe;wBAC1B,IAAI,EAAE;4BACJ,OAAO,EAAE,gBAAgB;4BACzB,GAAG,EAAE,uBAAuB;yBAC7B;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"no-process-exit.js","sourceRoot":"","sources":["../../../../src/rules/operability/no-process-exit.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAOH,4DAAsD;AACtD,4DAA0E;AAW7D,QAAA,aAAa,GAAG,IAAA,0BAAU,EAA0B;IAC/D,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,GAAG,EAAE,kHAAkH;YACvH,WAAW,EACT,8EAA8E;SACjF;QACD,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE;YACR,aAAa,EAAE,IAAA,gCAAgB,EAAC;gBAC9B,IAAI,EAAE,4BAAY,CAAC,OAAO;gBAC1B,SAAS,EAAE,cAAc;gBACzB,WAAW,EAAE,4BAA4B;gBACzC,QAAQ,EAAE,MAAM;gBAChB,GAAG,EAAE,6CAA6C;gBAClD,iBAAiB,EACf,+FAA+F;aAClG,CAAC;SACH;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,OAAO,EAAE,EAAE;qBACZ;iBACF;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;KACF;IACD,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAE/B,MAAM,CAAC,OAAsD;QAC3D,uDAAuD;QACvD,SAAS,kBAAkB;YACzB,sDAAsD;YACtD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,SAAS,iBAAiB,CAAC,IAA6B;YACtD,0CAA0C;YAC1C,uDAAuD;YACvD,SAAS,mBAAmB,CAAC,MAA2B;gBACtD,IACE,MAAM,CAAC,IAAI,KAAK,kBAAkB;oBAClC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY;oBACnC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS;oBAChC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;oBACrC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,EAC/B,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO;YACL,cAAc,CAAC,IAA6B;gBAC1C,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;oBACrD,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI;wBACJ,SAAS,EAAE,eAAe;wBAC1B,IAAI,EAAE;4BACJ,OAAO,EAAE,gBAAgB;4BACzB,GAAG,EAAE,uBAAuB;yBAC7B;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -17,7 +17,10 @@ exports.noVerboseErrorMessages = (0, eslint_devkit_1.createRule)({
17
17
  meta: {
18
18
  type: 'problem',
19
19
  docs: {
20
+ url: 'https://github.com/ofri-peretz/eslint/blob/main/packages/eslint-plugin-operability/docs/rules/no-verbose-error-messages.md',
20
21
  description: 'Prevent exposing stack traces to users',
22
+ cwe: 'CWE-209',
23
+ cvss: 5,
21
24
  },
22
25
  messages: {
23
26
  violationDetected: (0, eslint_devkit_1.formatLLMMessage)({
@@ -1 +1 @@
1
- {"version":3,"file":"no-verbose-error-messages.js","sourceRoot":"","sources":["../../../../../../packages/eslint-plugin-operability/src/rules/operability/no-verbose-error-messages.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH;;;;GAIG;AAEH,4DAKkC;AAUrB,QAAA,sBAAsB,GAAG,IAAA,0BAAU,EAA0B;IACxE,IAAI,EAAE,2BAA2B;IACjC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,wCAAwC;SACtD;QACD,QAAQ,EAAE;YACR,iBAAiB,EAAE,IAAA,gCAAgB,EAAC;gBAClC,IAAI,EAAE,4BAAY,CAAC,QAAQ;gBAC3B,SAAS,EAAE,oBAAoB;gBAC/B,GAAG,EAAE,SAAS;gBACd,WAAW,EACT,2EAA2E;gBAC7E,QAAQ,EAAE,QAAQ;gBAClB,GAAG,EAAE,mCAAmC;gBACxC,iBAAiB,EAAE,iDAAiD;aACrE,CAAC;SACH;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,SAAS,MAAM,CAAC,IAAmB;YACjC,OAAO,CAAC,MAAM,CAAC;gBACb,IAAI;gBACJ,SAAS,EAAE,mBAAmB;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,cAAc,CAAC,IAA6B;gBAC1C,2CAA2C;gBAC3C,IACE,IAAI,CAAC,IAAI,KAAK,8BAAc,CAAC,cAAc;oBAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,8BAAc,CAAC,gBAAgB;oBACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,8BAAc,CAAC,UAAU;oBACvD,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EACpD,CAAC;oBACD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBAE9B,qCAAqC;oBACrC,IACE,GAAG,EAAE,IAAI,KAAK,8BAAc,CAAC,gBAAgB;wBAC7C,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,8BAAc,CAAC,UAAU;wBAC/C,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,EAC7B,CAAC;wBACD,MAAM,CAAC,IAAI,CAAC,CAAC;oBACf,CAAC;oBAED,6CAA6C;oBAC7C,IAAI,GAAG,EAAE,IAAI,KAAK,8BAAc,CAAC,gBAAgB,EAAE,CAAC;wBAClD,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,8BAAc,CAAC,QAAQ;4BAClC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,8BAAc,CAAC,UAAU;4BACxC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO;gCACrB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,8BAAc,CAAC,gBAAgB;oCAC/C,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,8BAAc,CAAC,UAAU;oCACnD,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAC1C,CAAC;wBACF,IAAI,SAAS,EAAE,CAAC;4BACd,MAAM,CAAC,IAAI,CAAC,CAAC;wBACf,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"no-verbose-error-messages.js","sourceRoot":"","sources":["../../../../src/rules/operability/no-verbose-error-messages.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH;;;;GAIG;AAEH,4DAKkC;AAUrB,QAAA,sBAAsB,GAAG,IAAA,0BAAU,EAA0B;IACxE,IAAI,EAAE,2BAA2B;IACjC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,GAAG,EAAE,4HAA4H;YACjI,WAAW,EAAE,wCAAwC;YACrD,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,CAAC;SACR;QACD,QAAQ,EAAE;YACR,iBAAiB,EAAE,IAAA,gCAAgB,EAAC;gBAClC,IAAI,EAAE,4BAAY,CAAC,QAAQ;gBAC3B,SAAS,EAAE,oBAAoB;gBAC/B,GAAG,EAAE,SAAS;gBACd,WAAW,EACT,2EAA2E;gBAC7E,QAAQ,EAAE,QAAQ;gBAClB,GAAG,EAAE,mCAAmC;gBACxC,iBAAiB,EAAE,iDAAiD;aACrE,CAAC;SACH;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,SAAS,MAAM,CAAC,IAAmB;YACjC,OAAO,CAAC,MAAM,CAAC;gBACb,IAAI;gBACJ,SAAS,EAAE,mBAAmB;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,cAAc,CAAC,IAA6B;gBAC1C,2CAA2C;gBAC3C,IACE,IAAI,CAAC,IAAI,KAAK,8BAAc,CAAC,cAAc;oBAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,8BAAc,CAAC,gBAAgB;oBACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,8BAAc,CAAC,UAAU;oBACvD,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EACpD,CAAC;oBACD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBAE9B,qCAAqC;oBACrC,IACE,GAAG,EAAE,IAAI,KAAK,8BAAc,CAAC,gBAAgB;wBAC7C,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,8BAAc,CAAC,UAAU;wBAC/C,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,EAC7B,CAAC;wBACD,MAAM,CAAC,IAAI,CAAC,CAAC;oBACf,CAAC;oBAED,6CAA6C;oBAC7C,IAAI,GAAG,EAAE,IAAI,KAAK,8BAAc,CAAC,gBAAgB,EAAE,CAAC;wBAClD,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,8BAAc,CAAC,QAAQ;4BAClC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,8BAAc,CAAC,UAAU;4BACxC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO;gCACrB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,8BAAc,CAAC,gBAAgB;oCAC/C,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,8BAAc,CAAC,UAAU;oCACnD,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAC1C,CAAC;wBACF,IAAI,SAAS,EAAE,CAAC;4BACd,MAAM,CAAC,IAAI,CAAC,CAAC;wBACf,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -17,7 +17,10 @@ exports.requireCodeMinification = (0, eslint_devkit_1.createRule)({
17
17
  meta: {
18
18
  type: 'problem',
19
19
  docs: {
20
+ url: 'https://github.com/ofri-peretz/eslint/blob/main/packages/eslint-plugin-operability/docs/rules/require-code-minification.md',
20
21
  description: 'Require minification configuration',
22
+ cwe: 'CWE-656',
23
+ cvss: 2.5,
21
24
  },
22
25
  messages: {
23
26
  violationDetected: (0, eslint_devkit_1.formatLLMMessage)({
@@ -1 +1 @@
1
- {"version":3,"file":"require-code-minification.js","sourceRoot":"","sources":["../../../../../../packages/eslint-plugin-operability/src/rules/operability/require-code-minification.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH;;;;GAIG;AAEH,4DAIkC;AAUrB,QAAA,uBAAuB,GAAG,IAAA,0BAAU,EAA0B;IACzE,IAAI,EAAE,2BAA2B;IACjC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,oCAAoC;SAClD;QACD,QAAQ,EAAE;YACR,iBAAiB,EAAE,IAAA,gCAAgB,EAAC;gBAClC,IAAI,EAAE,4BAAY,CAAC,QAAQ;gBAC3B,SAAS,EAAE,oBAAoB;gBAC/B,GAAG,EAAE,SAAS;gBACd,WAAW,EACT,iFAAiF;gBACnF,QAAQ,EAAE,KAAK;gBACf,GAAG,EAAE,mCAAmC;gBACxC,iBAAiB,EAAE,iDAAiD;aACrE,CAAC;SACH;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,QAAQ,CAAC,IAAuB;gBAC9B,IACE,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY;oBAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU;oBAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;oBAC7B,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,EAC1B,CAAC;oBACD,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"require-code-minification.js","sourceRoot":"","sources":["../../../../src/rules/operability/require-code-minification.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH;;;;GAIG;AAEH,4DAIkC;AAUrB,QAAA,uBAAuB,GAAG,IAAA,0BAAU,EAA0B;IACzE,IAAI,EAAE,2BAA2B;IACjC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,GAAG,EAAE,4HAA4H;YACjI,WAAW,EAAE,oCAAoC;YACjD,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,GAAG;SACV;QACD,QAAQ,EAAE;YACR,iBAAiB,EAAE,IAAA,gCAAgB,EAAC;gBAClC,IAAI,EAAE,4BAAY,CAAC,QAAQ;gBAC3B,SAAS,EAAE,oBAAoB;gBAC/B,GAAG,EAAE,SAAS;gBACd,WAAW,EACT,iFAAiF;gBACnF,QAAQ,EAAE,KAAK;gBACf,GAAG,EAAE,mCAAmC;gBACxC,iBAAiB,EAAE,iDAAiD;aACrE,CAAC;SACH;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,QAAQ,CAAC,IAAuB;gBAC9B,IACE,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY;oBAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU;oBAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;oBAC7B,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,EAC1B,CAAC;oBACD,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -17,7 +17,10 @@ exports.requireDataMinimization = (0, eslint_devkit_1.createRule)({
17
17
  meta: {
18
18
  type: 'suggestion',
19
19
  docs: {
20
+ url: 'https://github.com/ofri-peretz/eslint/blob/main/packages/eslint-plugin-operability/docs/rules/require-data-minimization.md',
20
21
  description: 'Identify excessive data collection patterns',
22
+ cwe: 'CWE-213',
23
+ cvss: 5,
21
24
  },
22
25
  messages: {
23
26
  violationDetected: (0, eslint_devkit_1.formatLLMMessage)({
@@ -1 +1 @@
1
- {"version":3,"file":"require-data-minimization.js","sourceRoot":"","sources":["../../../../../../packages/eslint-plugin-operability/src/rules/operability/require-data-minimization.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH;;;;GAIG;AAEH,4DAKkC;AAUrB,QAAA,uBAAuB,GAAG,IAAA,0BAAU,EAA0B;IACzE,IAAI,EAAE,2BAA2B;IACjC,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,6CAA6C;SAC3D;QACD,QAAQ,EAAE;YACR,iBAAiB,EAAE,IAAA,gCAAgB,EAAC;gBAClC,IAAI,EAAE,4BAAY,CAAC,QAAQ;gBAC3B,SAAS,EAAE,oBAAoB;gBAC/B,GAAG,EAAE,SAAS;gBACd,WAAW,EACT,0EAA0E;gBAC5E,QAAQ,EAAE,QAAQ;gBAClB,GAAG,EAAE,mCAAmC;gBACxC,iBAAiB,EAAE,iDAAiD;aACrE,CAAC;SACH;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,SAAS,MAAM,CAAC,IAAmB;YACjC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO;YACL,gBAAgB,CAAC,IAA+B;gBAC9C,mDAAmD;gBACnD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;oBAChC,gDAAgD;oBAChD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,8BAAc,CAAC,QAAQ;wBAClC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,8BAAc,CAAC,UAAU;wBACxC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAC7D,CAAC;oBAEF,IAAI,WAAW,EAAE,CAAC;wBAChB,MAAM,CAAC,IAAI,CAAC,CAAC;oBACf,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"require-data-minimization.js","sourceRoot":"","sources":["../../../../src/rules/operability/require-data-minimization.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH;;;;GAIG;AAEH,4DAKkC;AAUrB,QAAA,uBAAuB,GAAG,IAAA,0BAAU,EAA0B;IACzE,IAAI,EAAE,2BAA2B;IACjC,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,GAAG,EAAE,4HAA4H;YACjI,WAAW,EAAE,6CAA6C;YAC1D,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,CAAC;SACR;QACD,QAAQ,EAAE;YACR,iBAAiB,EAAE,IAAA,gCAAgB,EAAC;gBAClC,IAAI,EAAE,4BAAY,CAAC,QAAQ;gBAC3B,SAAS,EAAE,oBAAoB;gBAC/B,GAAG,EAAE,SAAS;gBACd,WAAW,EACT,0EAA0E;gBAC5E,QAAQ,EAAE,QAAQ;gBAClB,GAAG,EAAE,mCAAmC;gBACxC,iBAAiB,EAAE,iDAAiD;aACrE,CAAC;SACH;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,SAAS,MAAM,CAAC,IAAmB;YACjC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO;YACL,gBAAgB,CAAC,IAA+B;gBAC9C,mDAAmD;gBACnD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;oBAChC,gDAAgD;oBAChD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,8BAAc,CAAC,QAAQ;wBAClC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,8BAAc,CAAC,UAAU;wBACxC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAC7D,CAAC;oBAEF,IAAI,WAAW,EAAE,CAAC;wBAChB,MAAM,CAAC,IAAI,CAAC,CAAC;oBACf,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}