oxlint-plugin-reliability 4.1.12 → 4.2.1
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/README.md +254 -11
- package/index.d.ts +3 -0
- package/index.js +1 -1
- package/package.json +22 -11
package/README.md
CHANGED
|
@@ -1,22 +1,265 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://eslint.interlace.tools/docs/quality/plugin-reliability?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-reliability" target="blank"><picture><source media="(prefers-color-scheme: dark)" srcset="https://eslint.interlace.tools/logos/interlace-dark.svg"><img src="https://eslint.interlace.tools/logos/interlace-light.svg" alt="Interlace" height="90" /></picture></a>
|
|
3
|
+
|
|
4
|
+
<a href="https://oxc.rs" target="_blank"><picture><source media="(prefers-color-scheme: dark)" srcset="https://eslint.interlace.tools/logos/oxlint-dark.svg"><img src="https://eslint.interlace.tools/logos/oxlint-light.svg" alt="oxlint" height="90" /></picture></a>
|
|
5
|
+
</p>
|
|
2
6
|
|
|
3
|
-
|
|
4
|
-
|
|
7
|
+
<p align="center">
|
|
8
|
+
Reliability rules for defensive programming, error handling, and async correctness.
|
|
9
|
+
</p>
|
|
5
10
|
|
|
6
|
-
|
|
7
|
-
|
|
11
|
+
<p align="center">
|
|
12
|
+
<a href="https://www.npmjs.com/package/oxlint-plugin-reliability" target="_blank"><img src="https://img.shields.io/npm/v/oxlint-plugin-reliability.svg" alt="NPM Version" /></a>
|
|
13
|
+
<a href="https://www.npmjs.com/package/oxlint-plugin-reliability" target="_blank"><img src="https://img.shields.io/npm/dm/oxlint-plugin-reliability.svg" alt="NPM Downloads" /></a>
|
|
14
|
+
<a href="https://packagephobia.com/result?p=oxlint-plugin-reliability" target="_blank"><img src="https://badgen.net/packagephobia/install/oxlint-plugin-reliability" alt="Install Size" /></a>
|
|
15
|
+
<a href="https://opensource.org/licenses/MIT" target="_blank"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="Package License" /></a>
|
|
16
|
+
<a href="https://app.codecov.io/gh/ofri-peretz/eslint/components?components%5B0%5D=eslint-plugin-reliability" target="_blank"><img src="https://codecov.io/gh/ofri-peretz/eslint/graph/badge.svg?component=eslint-plugin-reliability" alt="Codecov" /></a>
|
|
17
|
+
<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>
|
|
18
|
+
<a href="https://scorecard.dev/viewer/?uri=github.com/ofri-peretz/eslint" target="_blank"><img src="https://api.securityscorecards.dev/projects/github.com/ofri-peretz/eslint/badge" alt="OpenSSF Scorecard" /></a>
|
|
19
|
+
</p>
|
|
20
|
+
|
|
21
|
+
> ⭐ 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.
|
|
22
|
+
|
|
23
|
+
## Description
|
|
24
|
+
|
|
25
|
+
`oxlint-plugin-reliability` is the [oxlint](https://oxc.rs/docs/guide/usage/linter/js-plugins) and [Vite+](https://viteplus.dev/guide/lint) name for [`eslint-plugin-reliability`](https://www.npmjs.com/package/eslint-plugin-reliability). It carries the same rules under the same IDs (`reliability/<rule>`), always at the same version, because it re-exports that package rather than copying it. Installing it does not install ESLint.
|
|
26
|
+
|
|
27
|
+
## Why These Rules?
|
|
28
|
+
|
|
29
|
+
### `no-silent-errors`
|
|
30
|
+
|
|
31
|
+
Empty catch blocks hide errors, making debugging impossible.
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
// ❌ Bad: Silent error swallowing
|
|
35
|
+
try {
|
|
36
|
+
await processPayment(order);
|
|
37
|
+
} catch (e) {
|
|
38
|
+
// Error is silently ignored!
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// ✅ Good: Handle or log the error
|
|
42
|
+
try {
|
|
43
|
+
await processPayment(order);
|
|
44
|
+
} catch (e) {
|
|
45
|
+
logger.error('Payment processing failed', { orderId: order.id, error: e });
|
|
46
|
+
throw new PaymentError('Payment failed', { cause: e });
|
|
47
|
+
}
|
|
8
48
|
```
|
|
9
49
|
|
|
10
|
-
|
|
50
|
+
### `no-missing-null-checks`
|
|
11
51
|
|
|
12
|
-
|
|
13
|
-
|
|
52
|
+
Catches potential `null` or `undefined` dereferences.
|
|
53
|
+
|
|
54
|
+
```ts
|
|
55
|
+
// ❌ Bad: Potential runtime error
|
|
56
|
+
function greet(user: User | null) {
|
|
57
|
+
return `Hello, ${user.name}`; // TypeError if user is null!
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// ✅ Good: Null-safe access
|
|
61
|
+
function greet(user: User | null) {
|
|
62
|
+
return user ? `Hello, ${user.name}` : 'Hello, guest';
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### `require-network-timeout`
|
|
67
|
+
|
|
68
|
+
Network requests without timeouts can hang indefinitely.
|
|
69
|
+
|
|
70
|
+
```ts
|
|
71
|
+
// ❌ Bad: No timeout, can hang forever
|
|
72
|
+
const response = await fetch('/api/data');
|
|
73
|
+
|
|
74
|
+
// ✅ Good: Request with timeout
|
|
75
|
+
const controller = new AbortController();
|
|
76
|
+
const timeoutId = setTimeout(() => controller.abort(), 5000);
|
|
77
|
+
|
|
78
|
+
const response = await fetch('/api/data', {
|
|
79
|
+
signal: controller.signal,
|
|
80
|
+
});
|
|
81
|
+
clearTimeout(timeoutId);
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### `no-await-in-loop`
|
|
85
|
+
|
|
86
|
+
Sequential awaits in loops cause N+1 performance issues.
|
|
87
|
+
|
|
88
|
+
```ts
|
|
89
|
+
// ❌ Bad: Sequential requests (slow)
|
|
90
|
+
for (const id of userIds) {
|
|
91
|
+
const user = await fetchUser(id); // N sequential requests
|
|
92
|
+
results.push(user);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// ✅ Good: Parallel requests (fast)
|
|
96
|
+
const results = await Promise.all(userIds.map((id) => fetchUser(id)));
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Covered natively by oxlint
|
|
102
|
+
|
|
103
|
+
oxlint already ships 2 of these 9 rules as built-ins. Enable the built-in instead: it is the same check, runs natively, and running both would report every finding twice. Each rule carries the mapping as `meta.interop.nativeEquivalent`.
|
|
104
|
+
|
|
105
|
+
| This plugin | oxlint built-in |
|
|
106
|
+
| :----------------------------- | :------------------------ |
|
|
107
|
+
| `reliability/error-message` | `unicorn/error-message` |
|
|
108
|
+
| `reliability/no-await-in-loop` | `eslint/no-await-in-loop` |
|
|
109
|
+
|
|
110
|
+
What this package adds to oxlint is the other 7: every rule in the table below that is not listed here.
|
|
111
|
+
|
|
112
|
+
- **Why** — a linter nobody reads protects nothing. We would rather miss a finding
|
|
113
|
+
than spend your attention on one that was never real.
|
|
114
|
+
- **How** — evidence, not names. A rule fires on what the code _does_, resolved
|
|
115
|
+
through the AST and ESLint's own scope analysis.
|
|
116
|
+
- **What** — every finding carries its fix, in prose for a human and as structured
|
|
117
|
+
JSON for an agent. Security rules add a CWE mapping and, where assigned, a CVSS score.
|
|
118
|
+
|
|
119
|
+
That trade costs recall, and we measure it:
|
|
120
|
+
[methodology](https://github.com/ofri-peretz/eslint/blob/main/BENCHMARK-METHODOLOGY.md)
|
|
121
|
+
· [results](https://github.com/ofri-peretz/eslint/blob/main/BENCHMARK-RESULTS.md)
|
|
122
|
+
· [a false positive is a bug](https://github.com/ofri-peretz/eslint/issues).
|
|
123
|
+
|
|
124
|
+
## Getting Started
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
npm install oxlint-plugin-reliability --save-dev
|
|
14
128
|
```
|
|
15
129
|
|
|
16
|
-
|
|
130
|
+
### Vite+
|
|
17
131
|
|
|
18
132
|
```ts
|
|
19
|
-
|
|
133
|
+
// vite.config.ts
|
|
134
|
+
import { defineConfig } from 'vite-plus';
|
|
135
|
+
|
|
136
|
+
export default defineConfig({
|
|
137
|
+
lint: {
|
|
138
|
+
jsPlugins: ['oxlint-plugin-reliability'],
|
|
139
|
+
rules: {
|
|
140
|
+
'reliability/no-silent-errors': 'error',
|
|
141
|
+
'reliability/require-network-timeout': 'error',
|
|
142
|
+
},
|
|
143
|
+
},
|
|
144
|
+
});
|
|
20
145
|
```
|
|
21
146
|
|
|
22
|
-
|
|
147
|
+
### oxlint
|
|
148
|
+
|
|
149
|
+
```json
|
|
150
|
+
{
|
|
151
|
+
"jsPlugins": ["oxlint-plugin-reliability"],
|
|
152
|
+
"rules": {
|
|
153
|
+
"reliability/no-silent-errors": "error",
|
|
154
|
+
"reliability/require-network-timeout": "error"
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
These are the rules the plugin recommends (💼 in the table below), minus the ones oxlint already ships natively.
|
|
160
|
+
|
|
161
|
+
### ESLint
|
|
162
|
+
|
|
163
|
+
Install [`eslint-plugin-reliability`](https://www.npmjs.com/package/eslint-plugin-reliability) instead. It has the same rules, plus presets for ESLint's flat config.
|
|
164
|
+
|
|
165
|
+
## 📦 Compatibility
|
|
166
|
+
|
|
167
|
+
| Package | Version |
|
|
168
|
+
| :------ | :--------------------------------------------------------------- |
|
|
169
|
+
| oxlint | verified on `1.90.0`: CI loads every rule ID through `jsPlugins` |
|
|
170
|
+
| Vite+ | `lint.jsPlugins` in `vite.config.ts` |
|
|
171
|
+
| Node.js | `>=18.0.0` |
|
|
172
|
+
|
|
173
|
+
## Rules
|
|
174
|
+
|
|
175
|
+
**Legend**
|
|
176
|
+
|
|
177
|
+
| Icon | Description |
|
|
178
|
+
| :--: | :------------------------------------------------------------------------ |
|
|
179
|
+
| 💼 | **Recommended**: Included in the recommended preset. |
|
|
180
|
+
| ⚠️ | **Warns**: Set to warn in recommended preset. |
|
|
181
|
+
| 🔧 | **Auto-fixable**: Automatically fixable by the `--fix` CLI option. |
|
|
182
|
+
| 💡 | **Suggestions**: Providing code suggestions in IDE. |
|
|
183
|
+
| 🚫 | **Deprecated**: This rule is deprecated. |
|
|
184
|
+
| 🟢 | **Type-unaware**: AST-only, runs in oxlint JS-plugin tier. |
|
|
185
|
+
| 🟡 | **Type-aware (refining)**: pure-AST primary path; types refine precision. |
|
|
186
|
+
| 🟠 | **Type-aware (graceful)**: requires TS program; silent without it. |
|
|
187
|
+
|
|
188
|
+
| Rule | CWE | OWASP | CVSS | Description | 🧠 | 💼 | ⚠️ | 🔧 | 💡 | 🚫 |
|
|
189
|
+
| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------: | :---: | :--: | :----------------------------------------------------------------------------------------------------------- | :-: | :-: | :-: | :-: | :-: | :-: |
|
|
190
|
+
| [error-message](https://eslint.interlace.tools/docs/quality/plugin-reliability/rules/error-message?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-reliability) | | | | Enforce providing a message when creating built-in Error objects for better debugging. This rule is part of… | 🟢 | | | | 💡 | |
|
|
191
|
+
| [no-await-in-loop](https://eslint.interlace.tools/docs/quality/plugin-reliability/rules/no-await-in-loop?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-reliability) | | | | Disallow await inside loops without considering concurrency implications | 🟢 | | | | 💡 | |
|
|
192
|
+
| [no-jsdoc-terminator-in-example](https://eslint.interlace.tools/docs/quality/plugin-reliability/rules/no-jsdoc-terminator-in-example?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-reliability) | | | | Detect `*/` sequences inside JSDoc `@example` blocks that prematurely close the JSDoc comment. | 🟢 | | | | 💡 | |
|
|
193
|
+
| [no-missing-error-context](https://eslint.interlace.tools/docs/quality/plugin-reliability/rules/no-missing-error-context?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-reliability) | | | | ESLint Rule: no-missing-error-context with LLM-optimized suggestions and auto-fix capabilities. | 🟢 | | | | 💡 | |
|
|
194
|
+
| [no-missing-null-checks](https://eslint.interlace.tools/docs/quality/plugin-reliability/rules/no-missing-null-checks?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-reliability) | CWE-476 | | | ESLint Rule: no-missing-null-checks with LLM-optimized suggestions and auto-fix capabilities. | 🟢 | | ⚠️ | | 💡 | |
|
|
195
|
+
| [no-silent-errors](https://eslint.interlace.tools/docs/quality/plugin-reliability/rules/no-silent-errors?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-reliability) | | | | ESLint Rule: no-silent-errors with LLM-optimized suggestions and auto-fix capabilities. | 🟢 | 💼 | | | 💡 | |
|
|
196
|
+
| [no-unhandled-promise](https://eslint.interlace.tools/docs/quality/plugin-reliability/rules/no-unhandled-promise?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-reliability) | CWE-1024 | | | Disallow unhandled Promise rejections with LLM-optimized suggestions for proper async error handling. This… | 🟢 | | | | 💡 | |
|
|
197
|
+
| [no-unsafe-type-narrowing](https://eslint.interlace.tools/docs/quality/plugin-reliability/rules/no-unsafe-type-narrowing?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-reliability) | | | | ESLint Rule: no-unsafe-type-narrowing with LLM-optimized suggestions and auto-fix capabilities. | 🟢 | | | | 💡 | |
|
|
198
|
+
| [require-network-timeout](https://eslint.interlace.tools/docs/quality/plugin-reliability/rules/require-network-timeout?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-reliability) | | | | Require timeout configuration for network requests. This rule is part of eslint-plugin-reliability and prov… | 🟢 | 💼 | | | 💡 | |
|
|
199
|
+
|
|
200
|
+
<!-- AUTO-GENERATED:ECOSYSTEM_TABLE:START - Do not edit manually -->
|
|
201
|
+
|
|
202
|
+
## 🔗 Related ESLint Plugins
|
|
203
|
+
|
|
204
|
+
Part of the **Interlace ESLint ecosystem** — AI-native rules with LLM-optimized error messages:
|
|
205
|
+
|
|
206
|
+
**Security**
|
|
207
|
+
|
|
208
|
+
| Plugin | Downloads | Description |
|
|
209
|
+
| :----------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------- |
|
|
210
|
+
| [`eslint-plugin-anthropic-security`](https://www.npmjs.com/package/eslint-plugin-anthropic-security) | [](https://www.npmjs.com/package/eslint-plugin-anthropic-security) | Anthropic SDK security. |
|
|
211
|
+
| [`eslint-plugin-browser-security`](https://www.npmjs.com/package/eslint-plugin-browser-security) | [](https://www.npmjs.com/package/eslint-plugin-browser-security) | XSS, DOM security. |
|
|
212
|
+
| [`eslint-plugin-drizzle-security`](https://www.npmjs.com/package/eslint-plugin-drizzle-security) | [](https://www.npmjs.com/package/eslint-plugin-drizzle-security) | Drizzle security. |
|
|
213
|
+
| [`eslint-plugin-express-security`](https://www.npmjs.com/package/eslint-plugin-express-security) | [](https://www.npmjs.com/package/eslint-plugin-express-security) | Express middleware hardening. |
|
|
214
|
+
| [`eslint-plugin-gemini-security`](https://www.npmjs.com/package/eslint-plugin-gemini-security) | [](https://www.npmjs.com/package/eslint-plugin-gemini-security) | Google Gemini SDK security. |
|
|
215
|
+
| [`eslint-plugin-jwt-security`](https://www.npmjs.com/package/eslint-plugin-jwt-security) | [](https://www.npmjs.com/package/eslint-plugin-jwt-security) | Token security. |
|
|
216
|
+
| [`eslint-plugin-knex-security`](https://www.npmjs.com/package/eslint-plugin-knex-security) | [](https://www.npmjs.com/package/eslint-plugin-knex-security) | Knex security. |
|
|
217
|
+
| [`eslint-plugin-lambda-security`](https://www.npmjs.com/package/eslint-plugin-lambda-security) | [](https://www.npmjs.com/package/eslint-plugin-lambda-security) | AWS Lambda hardening. |
|
|
218
|
+
| [`eslint-plugin-mcp-sdk-security`](https://www.npmjs.com/package/eslint-plugin-mcp-sdk-security) | [](https://www.npmjs.com/package/eslint-plugin-mcp-sdk-security) | MCP SDK security. |
|
|
219
|
+
| [`eslint-plugin-mongodb-security`](https://www.npmjs.com/package/eslint-plugin-mongodb-security) | [](https://www.npmjs.com/package/eslint-plugin-mongodb-security) | MongoDB injection. |
|
|
220
|
+
| [`eslint-plugin-mysql-security`](https://www.npmjs.com/package/eslint-plugin-mysql-security) | [](https://www.npmjs.com/package/eslint-plugin-mysql-security) | MySQL security. |
|
|
221
|
+
| [`eslint-plugin-nestjs-security`](https://www.npmjs.com/package/eslint-plugin-nestjs-security) | [](https://www.npmjs.com/package/eslint-plugin-nestjs-security) | NestJS framework hardening. |
|
|
222
|
+
| [`eslint-plugin-node-security`](https://www.npmjs.com/package/eslint-plugin-node-security) | [](https://www.npmjs.com/package/eslint-plugin-node-security) | Server-side patterns. |
|
|
223
|
+
| [`eslint-plugin-openai-security`](https://www.npmjs.com/package/eslint-plugin-openai-security) | [](https://www.npmjs.com/package/eslint-plugin-openai-security) | OpenAI SDK security. |
|
|
224
|
+
| [`eslint-plugin-postgresql-security`](https://www.npmjs.com/package/eslint-plugin-postgresql-security) | [](https://www.npmjs.com/package/eslint-plugin-postgresql-security) | PostgreSQL security. |
|
|
225
|
+
| [`eslint-plugin-prisma-security`](https://www.npmjs.com/package/eslint-plugin-prisma-security) | [](https://www.npmjs.com/package/eslint-plugin-prisma-security) | Prisma security. |
|
|
226
|
+
| [`eslint-plugin-secure-coding`](https://www.npmjs.com/package/eslint-plugin-secure-coding) | [](https://www.npmjs.com/package/eslint-plugin-secure-coding) | Injection prevention. |
|
|
227
|
+
| [`eslint-plugin-sequelize-security`](https://www.npmjs.com/package/eslint-plugin-sequelize-security) | [](https://www.npmjs.com/package/eslint-plugin-sequelize-security) | Sequelize ORM security. |
|
|
228
|
+
| [`eslint-plugin-sqlite-security`](https://www.npmjs.com/package/eslint-plugin-sqlite-security) | [](https://www.npmjs.com/package/eslint-plugin-sqlite-security) | SQLite security. |
|
|
229
|
+
| [`eslint-plugin-supabase-security`](https://www.npmjs.com/package/eslint-plugin-supabase-security) | [](https://www.npmjs.com/package/eslint-plugin-supabase-security) | Supabase security. |
|
|
230
|
+
| [`eslint-plugin-typeorm-security`](https://www.npmjs.com/package/eslint-plugin-typeorm-security) | [](https://www.npmjs.com/package/eslint-plugin-typeorm-security) | TypeORM security. |
|
|
231
|
+
| [`eslint-plugin-vercel-ai-security`](https://www.npmjs.com/package/eslint-plugin-vercel-ai-security) | [](https://www.npmjs.com/package/eslint-plugin-vercel-ai-security) | AI SDK security. |
|
|
232
|
+
|
|
233
|
+
**Code quality**
|
|
234
|
+
|
|
235
|
+
| Plugin | Downloads | Description |
|
|
236
|
+
| :--------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------- |
|
|
237
|
+
| [`eslint-plugin-conventions`](https://www.npmjs.com/package/eslint-plugin-conventions) | [](https://www.npmjs.com/package/eslint-plugin-conventions) | Team-specific habits and styles. |
|
|
238
|
+
| [`eslint-plugin-import-next`](https://www.npmjs.com/package/eslint-plugin-import-next) | [](https://www.npmjs.com/package/eslint-plugin-import-next) | Fast cycle + import-graph analysis. |
|
|
239
|
+
| [`eslint-plugin-maintainability`](https://www.npmjs.com/package/eslint-plugin-maintainability) | [](https://www.npmjs.com/package/eslint-plugin-maintainability) | Cognitive load and clean-code patterns. |
|
|
240
|
+
| [`eslint-plugin-modernization`](https://www.npmjs.com/package/eslint-plugin-modernization) | [](https://www.npmjs.com/package/eslint-plugin-modernization) | ESNext migration + syntax evolution. |
|
|
241
|
+
| [`eslint-plugin-modularity`](https://www.npmjs.com/package/eslint-plugin-modularity) | [](https://www.npmjs.com/package/eslint-plugin-modularity) | Structural integrity and DDD patterns. |
|
|
242
|
+
| [`eslint-plugin-operability`](https://www.npmjs.com/package/eslint-plugin-operability) | [](https://www.npmjs.com/package/eslint-plugin-operability) | Production readiness and resource health. |
|
|
243
|
+
| [`eslint-plugin-react-a11y`](https://www.npmjs.com/package/eslint-plugin-react-a11y) | [](https://www.npmjs.com/package/eslint-plugin-react-a11y) | React accessibility / WCAG. |
|
|
244
|
+
| [`eslint-plugin-react-features`](https://www.npmjs.com/package/eslint-plugin-react-features) | [](https://www.npmjs.com/package/eslint-plugin-react-features) | React best practices and optimization. |
|
|
245
|
+
| [`eslint-plugin-reliability`](https://www.npmjs.com/package/eslint-plugin-reliability) | [](https://www.npmjs.com/package/eslint-plugin-reliability) | Runtime stability and error safety. |
|
|
246
|
+
|
|
247
|
+
<!-- AUTO-GENERATED:ECOSYSTEM_TABLE:END -->
|
|
248
|
+
|
|
249
|
+
## ⭐ Support & follow
|
|
250
|
+
|
|
251
|
+
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.
|
|
252
|
+
|
|
253
|
+
[](https://github.com/ofri-peretz/eslint)
|
|
254
|
+
|
|
255
|
+
## 📄 License
|
|
256
|
+
|
|
257
|
+
MIT © [Ofri Peretz](https://github.com/ofri-peretz)
|
|
258
|
+
|
|
259
|
+
<p align="center">
|
|
260
|
+
<a href="https://eslint.interlace.tools/docs/quality/plugin-reliability?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-reliability"><img src="https://eslint.interlace.tools/images/og-reliability.png" alt="ESLint Interlace Plugin" width="100%" /></a>
|
|
261
|
+
</p>
|
|
262
|
+
|
|
263
|
+
<p align="center">
|
|
264
|
+
<a href="https://eslint.interlace.tools/docs/quality/plugin-reliability?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-reliability" target="blank"><picture><source media="(prefers-color-scheme: dark)" srcset="https://eslint.interlace.tools/logos/interlace-dark.svg"><img src="https://eslint.interlace.tools/logos/interlace-light.svg" alt="Interlace" height="70" /></picture></a>
|
|
265
|
+
</p>
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
module.exports
|
|
1
|
+
module.exports=require("eslint-plugin-reliability/oxlint");
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oxlint-plugin-reliability",
|
|
3
|
-
"version": "4.1
|
|
4
|
-
"description": "
|
|
5
|
-
"
|
|
6
|
-
"
|
|
3
|
+
"version": "4.2.1",
|
|
4
|
+
"description": "The reliability rules for oxlint and Vite+. Same rules and rule IDs as eslint-plugin-reliability.",
|
|
5
|
+
"type": "commonjs",
|
|
6
|
+
"main": "./index.js",
|
|
7
|
+
"types": "./index.d.ts",
|
|
7
8
|
"files": [
|
|
8
9
|
"index.js",
|
|
9
10
|
"index.d.ts",
|
|
@@ -14,7 +15,7 @@
|
|
|
14
15
|
"oxlint",
|
|
15
16
|
"oxlint-plugin",
|
|
16
17
|
"vite-plus",
|
|
17
|
-
"
|
|
18
|
+
"eslint",
|
|
18
19
|
"static-analysis",
|
|
19
20
|
"linting",
|
|
20
21
|
"code-quality",
|
|
@@ -32,18 +33,28 @@
|
|
|
32
33
|
"ai-assistant",
|
|
33
34
|
"typescript"
|
|
34
35
|
],
|
|
35
|
-
"
|
|
36
|
-
"eslint-plugin-reliability": "4.1.12"
|
|
37
|
-
},
|
|
38
|
-
"license": "MIT",
|
|
36
|
+
"homepage": "https://eslint.interlace.tools/docs/quality/plugin-reliability?utm_source=npm&utm_medium=referral&utm_campaign=oxlint-plugin-reliability",
|
|
39
37
|
"repository": {
|
|
40
38
|
"type": "git",
|
|
41
39
|
"url": "git+https://github.com/ofri-peretz/eslint.git",
|
|
42
40
|
"directory": "packages/oxlint-plugin-reliability"
|
|
43
41
|
},
|
|
44
|
-
"homepage": "https://eslint.interlace.tools/docs/quality/plugin-reliability?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-reliability",
|
|
45
42
|
"bugs": {
|
|
46
43
|
"url": "https://github.com/ofri-peretz/eslint/issues"
|
|
47
44
|
},
|
|
48
|
-
"author": "Ofri Peretz <ofriperetzdev@gmail.com>"
|
|
45
|
+
"author": "Ofri Peretz <ofriperetzdev@gmail.com>",
|
|
46
|
+
"license": "MIT",
|
|
47
|
+
"engines": {
|
|
48
|
+
"node": ">=18.0.0"
|
|
49
|
+
},
|
|
50
|
+
"funding": {
|
|
51
|
+
"type": "github",
|
|
52
|
+
"url": "git+https://github.com/ofri-peretz/eslint.git"
|
|
53
|
+
},
|
|
54
|
+
"publishConfig": {
|
|
55
|
+
"access": "public"
|
|
56
|
+
},
|
|
57
|
+
"dependencies": {
|
|
58
|
+
"eslint-plugin-reliability": "4.2.1"
|
|
59
|
+
}
|
|
49
60
|
}
|