oxlint-plugin-lambda-security 2.1.5 → 2.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.
Files changed (4) hide show
  1. package/README.md +190 -11
  2. package/index.d.ts +3 -0
  3. package/index.js +1 -1
  4. package/package.json +22 -11
package/README.md CHANGED
@@ -1,22 +1,201 @@
1
- # oxlint-plugin-lambda-security
1
+ <p align="center">
2
+ <a href="https://eslint.interlace.tools/docs/security/plugin-lambda-security?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-lambda-security" 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
+ &nbsp;&nbsp;
4
+ <a href="https://aws.amazon.com/lambda/" target="_blank"><img src="https://eslint.interlace.tools/logos/lambda.svg" alt="AWS Lambda" height="90" /></a>
5
+ &nbsp;&nbsp;
6
+ <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>
7
+ </p>
2
8
 
3
- [`eslint-plugin-lambda-security`](https://www.npmjs.com/package/eslint-plugin-lambda-security) for [Oxlint](https://oxc.rs) and [Vite+](https://viteplus.dev).
4
- Same rules, same `lambda-security/*` rule IDs, one implementation — this package re-exports `eslint-plugin-lambda-security/oxlint`.
9
+ <p align="center">
10
+ Security best practices for AWS Lambda functions (IAM, timeouts, environment).
11
+ </p>
12
+
13
+ <p align="center">
14
+ <a href="https://www.npmjs.com/package/oxlint-plugin-lambda-security" target="_blank"><img src="https://img.shields.io/npm/v/oxlint-plugin-lambda-security.svg" alt="NPM Version" /></a>
15
+ <a href="https://www.npmjs.com/package/oxlint-plugin-lambda-security" target="_blank"><img src="https://img.shields.io/npm/dm/oxlint-plugin-lambda-security.svg" alt="NPM Downloads" /></a>
16
+ <a href="https://packagephobia.com/result?p=oxlint-plugin-lambda-security" target="_blank"><img src="https://badgen.net/packagephobia/install/oxlint-plugin-lambda-security" alt="Install Size" /></a>
17
+ <a href="https://opensource.org/licenses/MIT" target="_blank"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="Package License" /></a>
18
+ <a href="https://app.codecov.io/gh/ofri-peretz/eslint/components?components%5B0%5D=eslint-plugin-lambda-security" target="_blank"><img src="https://codecov.io/gh/ofri-peretz/eslint/graph/badge.svg?component=eslint-plugin-lambda-security" alt="Codecov" /></a>
19
+ <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>
20
+ <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>
21
+ </p>
22
+
23
+ > ⭐ 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.
24
+
25
+ ## Description
26
+
27
+ `oxlint-plugin-lambda-security` is the [oxlint](https://oxc.rs/docs/guide/usage/linter/js-plugins) and [Vite+](https://viteplus.dev/guide/lint) name for [`eslint-plugin-lambda-security`](https://www.npmjs.com/package/eslint-plugin-lambda-security). It carries the same rules under the same IDs (`lambda-security/<rule>`), always at the same version, because it re-exports that package rather than copying it. Installing it does not install ESLint.
28
+
29
+ ## Covered natively by oxlint
30
+
31
+ None of these 14 rules has an oxlint built-in equivalent. Every rule here is new to oxlint.
32
+
33
+ - **Why** — a linter nobody reads protects nothing. We would rather miss a finding
34
+ than spend your attention on one that was never real.
35
+ - **How** — evidence, not names. A rule fires on what the code _does_, resolved
36
+ through the AST and ESLint's own scope analysis.
37
+ - **What** — every finding carries its fix, in prose for a human and as structured
38
+ JSON for an agent. Security rules add a CWE mapping and, where assigned, a CVSS score.
39
+
40
+ That trade costs recall, and we measure it:
41
+ [methodology](https://github.com/ofri-peretz/eslint/blob/main/BENCHMARK-METHODOLOGY.md)
42
+ · [results](https://github.com/ofri-peretz/eslint/blob/main/BENCHMARK-RESULTS.md)
43
+ · [a false positive is a bug](https://github.com/ofri-peretz/eslint/issues).
44
+
45
+ ## Getting Started
5
46
 
6
47
  ```bash
7
- npm i -D oxlint-plugin-lambda-security
48
+ npm install oxlint-plugin-lambda-security --save-dev
8
49
  ```
9
50
 
10
- `.oxlintrc.json`:
51
+ ### Vite+
11
52
 
12
- ```json
13
- { "jsPlugins": ["oxlint-plugin-lambda-security"] }
53
+ ```ts
54
+ // vite.config.ts
55
+ import { defineConfig } from 'vite-plus';
56
+
57
+ export default defineConfig({
58
+ lint: {
59
+ jsPlugins: ['oxlint-plugin-lambda-security'],
60
+ rules: {
61
+ 'lambda-security/no-exposed-debug-endpoints': 'error',
62
+ 'lambda-security/no-hardcoded-credentials-sdk': 'error',
63
+ 'lambda-security/no-overly-permissive-iam-policy': 'error',
64
+ 'lambda-security/no-permissive-cors-middy': 'error',
65
+ 'lambda-security/no-permissive-cors-response': 'error',
66
+ 'lambda-security/no-secrets-in-env': 'error',
67
+ 'lambda-security/no-user-controlled-requests': 'error',
68
+ },
69
+ },
70
+ });
14
71
  ```
15
72
 
16
- `vite.config.ts`:
73
+ ### oxlint
17
74
 
18
- ```ts
19
- export default defineConfig({ lint: { jsPlugins: ['oxlint-plugin-lambda-security'] } });
75
+ ```json
76
+ {
77
+ "jsPlugins": ["oxlint-plugin-lambda-security"],
78
+ "rules": {
79
+ "lambda-security/no-exposed-debug-endpoints": "error",
80
+ "lambda-security/no-hardcoded-credentials-sdk": "error",
81
+ "lambda-security/no-overly-permissive-iam-policy": "error",
82
+ "lambda-security/no-permissive-cors-middy": "error",
83
+ "lambda-security/no-permissive-cors-response": "error",
84
+ "lambda-security/no-secrets-in-env": "error",
85
+ "lambda-security/no-user-controlled-requests": "error"
86
+ }
87
+ }
20
88
  ```
21
89
 
22
- Rule list and docs: [eslint-plugin-lambda-security](https://eslint.interlace.tools/docs/security/plugin-lambda-security?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-lambda-security).
90
+ These are the rules the plugin recommends (💼 in the table below).
91
+
92
+ ### ESLint
93
+
94
+ Install [`eslint-plugin-lambda-security`](https://www.npmjs.com/package/eslint-plugin-lambda-security) instead. It has the same rules, plus presets for ESLint's flat config.
95
+
96
+ ## 📦 Compatibility
97
+
98
+ | Package | Version |
99
+ | :------ | :--------------------------------------------------------------- |
100
+ | oxlint | verified on `1.90.0`: CI loads every rule ID through `jsPlugins` |
101
+ | Vite+ | `lint.jsPlugins` in `vite.config.ts` |
102
+ | Node.js | `>=18.0.0` |
103
+
104
+ ## Rules
105
+
106
+ **Legend**
107
+
108
+ | Icon | Description |
109
+ | :--: | :------------------------------------------------------------------------ |
110
+ | 💼 | **Recommended**: Included in the recommended preset. |
111
+ | ⚠️ | **Warns**: Set to warn in recommended preset. |
112
+ | 🔧 | **Auto-fixable**: Automatically fixable by the `--fix` CLI option. |
113
+ | 💡 | **Suggestions**: Providing code suggestions in IDE. |
114
+ | 🚫 | **Deprecated**: This rule is deprecated. |
115
+ | 🟢 | **Type-unaware**: AST-only, runs in oxlint JS-plugin tier. |
116
+ | 🟡 | **Type-aware (refining)**: pure-AST primary path; types refine precision. |
117
+ | 🟠 | **Type-aware (graceful)**: requires TS program; silent without it. |
118
+
119
+ | Rule | CWE | OWASP | CVSS | Description | 🧠 | 💼 | ⚠️ | 🔧 | 💡 | 🚫 |
120
+ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-----: | :------: | :--: | :----------------------------------------------------------------------------------------------------------- | :-: | :-: | :-: | :-: | :-: | :-: |
121
+ | [no-env-logging](https://eslint.interlace.tools/docs/security/plugin-lambda-security/rules/no-env-logging?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-lambda-security) | CWE-532 | A09:2021 | | Detect logging of process.env which may expose secrets | 🟢 | | ⚠️ | | | |
122
+ | [no-error-swallowing](https://eslint.interlace.tools/docs/security/plugin-lambda-security/rules/no-error-swallowing?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-lambda-security) | CWE-390 | A09:2021 | | Detect empty catch blocks and missing error logging | 🟢 | | ⚠️ | | | |
123
+ | [no-exposed-debug-endpoints](https://eslint.interlace.tools/docs/security/plugin-lambda-security/rules/no-exposed-debug-endpoints?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-lambda-security) | CWE-489 | A05:2021 | | Detect debug endpoints without authentication in Lambda handlers | 🟢 | 💼 | | | | |
124
+ | [no-exposed-error-details](https://eslint.interlace.tools/docs/security/plugin-lambda-security/rules/no-exposed-error-details?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-lambda-security) | CWE-209 | A01:2021 | | Detect Lambda handlers exposing internal error details in responses | 🟢 | | ⚠️ | | | |
125
+ | [no-hardcoded-credentials-sdk](https://eslint.interlace.tools/docs/security/plugin-lambda-security/rules/no-hardcoded-credentials-sdk?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-lambda-security) | CWE-798 | | | Detects hardcoded AWS credentials in SDK client configurations | 🟢 | 💼 | | | | |
126
+ | [no-missing-authorization-check](https://eslint.interlace.tools/docs/security/plugin-lambda-security/rules/no-missing-authorization-check?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-lambda-security) | | | | Security rule for lambda-security. This rule is part of eslint-plugin-lambda-security and provides LLM-opti… | 🟢 | | ⚠️ | | | |
127
+ | [no-overly-permissive-iam-policy](https://eslint.interlace.tools/docs/security/plugin-lambda-security/rules/no-overly-permissive-iam-policy?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-lambda-security) | CWE-732 | | | Security rule for lambda-security. This rule is part of eslint-plugin-lambda-security and provides LLM-opti… | 🟢 | 💼 | | | | |
128
+ | [no-permissive-cors-middy](https://eslint.interlace.tools/docs/security/plugin-lambda-security/rules/no-permissive-cors-middy?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-lambda-security) | CWE-942 | | | Detects permissive CORS configurations in Middy middleware | 🟢 | 💼 | | | | |
129
+ | [no-permissive-cors-response](https://eslint.interlace.tools/docs/security/plugin-lambda-security/rules/no-permissive-cors-response?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-lambda-security) | CWE-942 | | | Detects permissive CORS headers in Lambda API Gateway responses | 🟢 | 💼 | | | | |
130
+ | [no-secrets-in-env](https://eslint.interlace.tools/docs/security/plugin-lambda-security/rules/no-secrets-in-env?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-lambda-security) | CWE-798 | | | Detects secrets defined directly in environment variable configurations | 🟢 | 💼 | | | | |
131
+ | [no-unbounded-batch-processing](https://eslint.interlace.tools/docs/security/plugin-lambda-security/rules/no-unbounded-batch-processing?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-lambda-security) | CWE-770 | | | Detect processing batch records without size validation | 🟢 | | ⚠️ | | | |
132
+ | [no-unvalidated-event-body](https://eslint.interlace.tools/docs/security/plugin-lambda-security/rules/no-unvalidated-event-body?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-lambda-security) | CWE-20 | A03:2021 | | Detect Lambda handlers using event body without validation | 🟢 | | ⚠️ | | | |
133
+ | [no-user-controlled-requests](https://eslint.interlace.tools/docs/security/plugin-lambda-security/rules/no-user-controlled-requests?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-lambda-security) | CWE-918 | A10:2021 | | Detect HTTP requests with user-controlled URLs (SSRF) | 🟢 | 💼 | | | | |
134
+ | [require-timeout-handling](https://eslint.interlace.tools/docs/security/plugin-lambda-security/rules/require-timeout-handling?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-lambda-security) | CWE-400 | | | Require timeout handling in Lambda handlers with external calls | 🟢 | | ⚠️ | | | |
135
+
136
+ <!-- AUTO-GENERATED:ECOSYSTEM_TABLE:START - Do not edit manually -->
137
+
138
+ ## 🔗 Related ESLint Plugins
139
+
140
+ Part of the **Interlace ESLint ecosystem** — AI-native rules with LLM-optimized error messages:
141
+
142
+ **Security**
143
+
144
+ | Plugin | Downloads | Description |
145
+ | :----------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------- |
146
+ | [`eslint-plugin-anthropic-security`](https://www.npmjs.com/package/eslint-plugin-anthropic-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-anthropic-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-anthropic-security) | Anthropic SDK security. |
147
+ | [`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) | XSS, DOM security. |
148
+ | [`eslint-plugin-drizzle-security`](https://www.npmjs.com/package/eslint-plugin-drizzle-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-drizzle-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-drizzle-security) | Drizzle security. |
149
+ | [`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 middleware hardening. |
150
+ | [`eslint-plugin-gemini-security`](https://www.npmjs.com/package/eslint-plugin-gemini-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-gemini-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-gemini-security) | Google Gemini SDK security. |
151
+ | [`eslint-plugin-jwt-security`](https://www.npmjs.com/package/eslint-plugin-jwt-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-jwt-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-jwt-security) | Token security. |
152
+ | [`eslint-plugin-knex-security`](https://www.npmjs.com/package/eslint-plugin-knex-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-knex-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-knex-security) | Knex security. |
153
+ | [`eslint-plugin-lambda-security`](https://www.npmjs.com/package/eslint-plugin-lambda-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-lambda-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-lambda-security) | AWS Lambda hardening. |
154
+ | [`eslint-plugin-mcp-sdk-security`](https://www.npmjs.com/package/eslint-plugin-mcp-sdk-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-mcp-sdk-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-mcp-sdk-security) | MCP SDK security. |
155
+ | [`eslint-plugin-mongodb-security`](https://www.npmjs.com/package/eslint-plugin-mongodb-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-mongodb-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-mongodb-security) | MongoDB injection. |
156
+ | [`eslint-plugin-mysql-security`](https://www.npmjs.com/package/eslint-plugin-mysql-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-mysql-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-mysql-security) | MySQL security. |
157
+ | [`eslint-plugin-nestjs-security`](https://www.npmjs.com/package/eslint-plugin-nestjs-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-nestjs-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-nestjs-security) | NestJS framework hardening. |
158
+ | [`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) | Server-side patterns. |
159
+ | [`eslint-plugin-openai-security`](https://www.npmjs.com/package/eslint-plugin-openai-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-openai-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-openai-security) | OpenAI SDK security. |
160
+ | [`eslint-plugin-postgresql-security`](https://www.npmjs.com/package/eslint-plugin-postgresql-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-postgresql-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-postgresql-security) | PostgreSQL security. |
161
+ | [`eslint-plugin-prisma-security`](https://www.npmjs.com/package/eslint-plugin-prisma-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-prisma-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-prisma-security) | Prisma security. |
162
+ | [`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) | Injection prevention. |
163
+ | [`eslint-plugin-sequelize-security`](https://www.npmjs.com/package/eslint-plugin-sequelize-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-sequelize-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-sequelize-security) | Sequelize ORM security. |
164
+ | [`eslint-plugin-sqlite-security`](https://www.npmjs.com/package/eslint-plugin-sqlite-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-sqlite-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-sqlite-security) | SQLite security. |
165
+ | [`eslint-plugin-supabase-security`](https://www.npmjs.com/package/eslint-plugin-supabase-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-supabase-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-supabase-security) | Supabase security. |
166
+ | [`eslint-plugin-typeorm-security`](https://www.npmjs.com/package/eslint-plugin-typeorm-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-typeorm-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-typeorm-security) | TypeORM security. |
167
+ | [`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) | AI SDK security. |
168
+
169
+ **Code quality**
170
+
171
+ | Plugin | Downloads | Description |
172
+ | :--------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------- |
173
+ | [`eslint-plugin-conventions`](https://www.npmjs.com/package/eslint-plugin-conventions) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-conventions.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-conventions) | Team-specific habits and styles. |
174
+ | [`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) | Fast cycle + import-graph analysis. |
175
+ | [`eslint-plugin-maintainability`](https://www.npmjs.com/package/eslint-plugin-maintainability) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-maintainability.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-maintainability) | Cognitive load and clean-code patterns. |
176
+ | [`eslint-plugin-modernization`](https://www.npmjs.com/package/eslint-plugin-modernization) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-modernization.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-modernization) | ESNext migration + syntax evolution. |
177
+ | [`eslint-plugin-modularity`](https://www.npmjs.com/package/eslint-plugin-modularity) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-modularity.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-modularity) | Structural integrity and DDD patterns. |
178
+ | [`eslint-plugin-operability`](https://www.npmjs.com/package/eslint-plugin-operability) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-operability.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-operability) | Production readiness and resource health. |
179
+ | [`eslint-plugin-react-a11y`](https://www.npmjs.com/package/eslint-plugin-react-a11y) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-react-a11y.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-react-a11y) | React accessibility / WCAG. |
180
+ | [`eslint-plugin-react-features`](https://www.npmjs.com/package/eslint-plugin-react-features) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-react-features.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-react-features) | React best practices and optimization. |
181
+ | [`eslint-plugin-reliability`](https://www.npmjs.com/package/eslint-plugin-reliability) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-reliability.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-reliability) | Runtime stability and error safety. |
182
+
183
+ <!-- AUTO-GENERATED:ECOSYSTEM_TABLE:END -->
184
+
185
+ ## ⭐ Support & follow
186
+
187
+ 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.
188
+
189
+ [![GitHub stars](https://img.shields.io/github/stars/ofri-peretz/eslint?style=social)](https://github.com/ofri-peretz/eslint)
190
+
191
+ ## 📄 License
192
+
193
+ MIT © [Ofri Peretz](https://github.com/ofri-peretz)
194
+
195
+ <p align="center">
196
+ <a href="https://eslint.interlace.tools/docs/security/plugin-lambda-security?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-lambda-security"><img src="https://eslint.interlace.tools/images/og-lambda-security.png" alt="ESLint Interlace Plugin" width="100%" /></a>
197
+ </p>
198
+
199
+ <p align="center">
200
+ <a href="https://eslint.interlace.tools/docs/security/plugin-lambda-security?utm_source=github&utm_medium=referral&utm_campaign=oxlint-plugin-lambda-security" 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>
201
+ </p>
package/index.d.ts CHANGED
@@ -1,2 +1,5 @@
1
+ // Generated by scripts/generate-oxlint-aliases.mts. Do not edit by hand.
2
+ // The rules live in eslint-plugin-lambda-security; this package only gives them an oxlint name.
1
3
  import plugin = require('eslint-plugin-lambda-security/oxlint');
4
+
2
5
  export = plugin;
package/index.js CHANGED
@@ -1 +1 @@
1
- module.exports = require('eslint-plugin-lambda-security/oxlint');
1
+ module.exports=require("eslint-plugin-lambda-security/oxlint");
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "oxlint-plugin-lambda-security",
3
- "version": "2.1.5",
4
- "description": "eslint-plugin-lambda-security for Oxlint and Vite+: the same lambda-security/* rules.",
5
- "main": "index.js",
6
- "types": "index.d.ts",
3
+ "version": "2.2.1",
4
+ "description": "The lambda-security rules for oxlint and Vite+. Same rules and rule IDs as eslint-plugin-lambda-security.",
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
- "eslintplugin",
18
+ "eslint",
18
19
  "static-analysis",
19
20
  "linting",
20
21
  "code-quality",
@@ -44,18 +45,28 @@
44
45
  "ai-assistant",
45
46
  "typescript"
46
47
  ],
47
- "dependencies": {
48
- "eslint-plugin-lambda-security": "2.1.5"
49
- },
50
- "license": "MIT",
48
+ "homepage": "https://eslint.interlace.tools/docs/security/plugin-lambda-security?utm_source=npm&utm_medium=referral&utm_campaign=oxlint-plugin-lambda-security",
51
49
  "repository": {
52
50
  "type": "git",
53
51
  "url": "git+https://github.com/ofri-peretz/eslint.git",
54
52
  "directory": "packages/oxlint-plugin-lambda-security"
55
53
  },
56
- "homepage": "https://eslint.interlace.tools/docs/security/plugin-lambda-security?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-lambda-security",
57
54
  "bugs": {
58
55
  "url": "https://github.com/ofri-peretz/eslint/issues"
59
56
  },
60
- "author": "Ofri Peretz <ofriperetzdev@gmail.com>"
57
+ "author": "Ofri Peretz <ofriperetzdev@gmail.com>",
58
+ "license": "MIT",
59
+ "engines": {
60
+ "node": ">=18.0.0"
61
+ },
62
+ "funding": {
63
+ "type": "github",
64
+ "url": "git+https://github.com/ofri-peretz/eslint.git"
65
+ },
66
+ "publishConfig": {
67
+ "access": "public"
68
+ },
69
+ "dependencies": {
70
+ "eslint-plugin-lambda-security": "2.2.1"
71
+ }
61
72
  }