eslint-plugin-conventions 4.0.1 โ 4.0.2
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 +39 -61
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
|
-
|
|
6
|
+
Security-focused ESLint plugin.
|
|
7
7
|
</p>
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
@@ -16,27 +16,27 @@
|
|
|
16
16
|
|
|
17
17
|
## Description
|
|
18
18
|
|
|
19
|
-
This plugin
|
|
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.
|
|
20
21
|
|
|
21
22
|
## Philosophy
|
|
22
23
|
|
|
23
|
-
**Interlace** fosters **strength through integration**.
|
|
24
|
+
**Interlace** fosters **strength through integration**. Instead of stacking isolated rules, we **interlace** security directly into your workflow to create a resilient fabric of code. We believe tools should **guide rather than gatekeep**, providing educational feedback that strengthens the developer with every interaction.
|
|
24
25
|
|
|
25
26
|
## Getting Started
|
|
26
27
|
|
|
27
|
-
- To check out the [guide](https://eslint.interlace.tools/docs/conventions), visit [eslint.interlace.tools](https://eslint.interlace.tools). ๐
|
|
28
|
-
- ่ฆๆฅ็ไธญๆ [ๆๅ](https://eslint.interlace.tools/docs/conventions), ่ฏท่ฎฟ้ฎ [eslint.interlace.tools](https://eslint.interlace.tools). ๐
|
|
29
|
-
- [๊ฐ์ด๋](https://eslint.interlace.tools/docs/conventions) ๋ฌธ์๋ [eslint.interlace.tools](https://eslint.interlace.tools)์์ ํ์ธํ์ค ์ ์์ต๋๋ค. ๐
|
|
30
|
-
- [ใฌใคใ](https://eslint.interlace.tools/docs/conventions)ใฏ [eslint.interlace.tools](https://eslint.interlace.tools)ใงใ็ขบ่ชใใ ใใใ ๐
|
|
31
|
-
- Para ver la [guรญa](https://eslint.interlace.tools/docs/conventions), visita [eslint.interlace.tools](https://eslint.interlace.tools). ๐
|
|
32
|
-
- ููุงุทูุงุน ุนูู [ุงูุฏููู](https://eslint.interlace.tools/docs/conventions)ุ ูู
ุจุฒูุงุฑุฉ [eslint.interlace.tools](https://eslint.interlace.tools). ๐
|
|
28
|
+
- To check out the [guide](https://eslint.interlace.tools/docs/quality/plugin-conventions), visit [eslint.interlace.tools](https://eslint.interlace.tools). ๐
|
|
29
|
+
- ่ฆๆฅ็ไธญๆ [ๆๅ](https://eslint.interlace.tools/docs/quality/plugin-conventions), ่ฏท่ฎฟ้ฎ [eslint.interlace.tools](https://eslint.interlace.tools). ๐
|
|
30
|
+
- [๊ฐ์ด๋](https://eslint.interlace.tools/docs/quality/plugin-conventions) ๋ฌธ์๋ [eslint.interlace.tools](https://eslint.interlace.tools)์์ ํ์ธํ์ค ์ ์์ต๋๋ค. ๐
|
|
31
|
+
- [ใฌใคใ](https://eslint.interlace.tools/docs/quality/plugin-conventions)ใฏ [eslint.interlace.tools](https://eslint.interlace.tools)ใงใ็ขบ่ชใใ ใใใ ๐
|
|
32
|
+
- Para ver la [guรญa](https://eslint.interlace.tools/docs/quality/plugin-conventions), visita [eslint.interlace.tools](https://eslint.interlace.tools). ๐
|
|
33
|
+
- ููุงุทูุงุน ุนูู [ุงูุฏููู](https://eslint.interlace.tools/docs/quality/plugin-conventions)ุ ูู
ุจุฒูุงุฑุฉ [eslint.interlace.tools](https://eslint.interlace.tools). ๐
|
|
33
34
|
|
|
34
35
|
```bash
|
|
35
36
|
npm install eslint-plugin-conventions --save-dev
|
|
36
37
|
```
|
|
37
38
|
|
|
38
39
|
## โ๏ธ Configuration Presets
|
|
39
|
-
|
|
40
40
|
| Preset | Description |
|
|
41
41
|
| :------------ | :---------------------------------- |
|
|
42
42
|
| `recommended` | Balanced conventions for most teams |
|
|
@@ -44,7 +44,6 @@ npm install eslint-plugin-conventions --save-dev
|
|
|
44
44
|
---
|
|
45
45
|
|
|
46
46
|
## ๐ข Usage Example
|
|
47
|
-
|
|
48
47
|
```js
|
|
49
48
|
// eslint.config.js
|
|
50
49
|
import conventions from 'eslint-plugin-conventions';
|
|
@@ -54,67 +53,46 @@ export default [conventions.configs.recommended];
|
|
|
54
53
|
|
|
55
54
|
---
|
|
56
55
|
|
|
57
|
-
## AI-Optimized Messages
|
|
58
|
-
|
|
59
|
-
This plugin is optimized for ESLint's [Model Context Protocol (MCP)](https://eslint.org/docs/latest/use/mcp), enabling AI assistants like **Cursor**, **GitHub Copilot**, and **Claude** to:
|
|
60
|
-
|
|
61
|
-
- Understand the exact issue via structured context
|
|
62
|
-
- Apply the correct fix using guidance
|
|
63
|
-
- Provide educational context to developers
|
|
64
|
-
|
|
65
|
-
```json
|
|
66
|
-
// .cursor/mcp.json
|
|
67
|
-
{
|
|
68
|
-
"mcpServers": {
|
|
69
|
-
"eslint": {
|
|
70
|
-
"command": "npx",
|
|
71
|
-
"args": ["@eslint/mcp@latest"]
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
---
|
|
78
|
-
|
|
79
56
|
## Rules
|
|
80
57
|
|
|
81
58
|
**Legend**
|
|
82
59
|
|
|
83
|
-
| Icon | Description
|
|
84
|
-
|
|
|
85
|
-
|
|
|
86
|
-
|
|
|
87
|
-
|
|
|
88
|
-
|
|
|
89
|
-
|
|
90
|
-
| Rule | Description | ๐ผ | โ ๏ธ | ๐ง | ๐ก |
|
|
91
|
-
| :--------------------------------------------------------------------------------------- | :-------------------------------------------------------- | :-: | :-: | :-: | :-: |
|
|
92
|
-
| [no-commented-code](./docs/rules/no-commented-code.md) | Disallow commented-out code blocks | ๐ผ | โ ๏ธ | | |
|
|
93
|
-
| [expiring-todo-comments](./docs/rules/expiring-todo-comments.md) | Enforce expiration dates on TODO comments | ๐ผ | โ ๏ธ | | |
|
|
94
|
-
| [prefer-code-point](./docs/rules/prefer-code-point.md) | Prefer `codePointAt` over `charCodeAt` for Unicode safety | | | ๐ง | |
|
|
95
|
-
| [prefer-dom-node-text-content](./docs/rules/prefer-dom-node-text-content.md) | Prefer `textContent` over `innerText` for performance | | | ๐ง | |
|
|
96
|
-
| [no-console-spaces](./docs/rules/no-console-spaces.md) | Disallow leading/trailing spaces in console calls | | | ๐ง | |
|
|
97
|
-
| [no-deprecated-api](./docs/rules/no-deprecated-api.md) | Disallow usage of deprecated Node.js APIs | ๐ผ | โ ๏ธ | | |
|
|
98
|
-
| [prefer-dependency-version-strategy](./docs/rules/prefer-dependency-version-strategy.md) | Enforce consistent version strategies in package.json | | | | |
|
|
99
|
-
| [filename-case](./docs/rules/filename-case.md) | Enforce consistent file naming conventions | | | | |
|
|
100
|
-
| [consistent-existence-index-check](./docs/rules/consistent-existence-index-check.md) | Enforce consistent array index existence checks | | | ๐ง | |
|
|
60
|
+
| Icon | Description |
|
|
61
|
+
| :---: | :--- |
|
|
62
|
+
| ๐ผ | **Recommended**: Included in the recommended preset. |
|
|
63
|
+
| โ ๏ธ | **Warns**: Set towarn in recommended preset. |
|
|
64
|
+
| ๐ง | **Auto-fixable**: Automatically fixable by the `--fix` CLI option. |
|
|
65
|
+
| ๐ก | **Suggestions**: Providing code suggestions in IDE. |
|
|
66
|
+
| ๐ซ | **Deprecated**: This rule is deprecated. |
|
|
101
67
|
|
|
102
|
-
|
|
68
|
+
| Rule | CWE | OWASP | CVSS | Description | ๐ผ | โ ๏ธ | ๐ง | ๐ก | ๐ซ |
|
|
69
|
+
| :--- | :---: | :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: |
|
|
70
|
+
| [conventions](https://eslint.interlace.tools/docs/quality/plugin-conventions/rules/conventions) | | | | Enforce conventions | | | | | |
|
|
71
|
+
| [deprecation](https://eslint.interlace.tools/docs/quality/plugin-conventions/rules/deprecation) | | | | Enforce deprecation | | | | | |
|
|
72
|
+
| [development](https://eslint.interlace.tools/docs/quality/plugin-conventions/rules/development) | | | | Enforce development | | | | | |
|
|
103
73
|
|
|
104
74
|
## ๐ Related ESLint Plugins
|
|
105
75
|
|
|
106
|
-
Part of the **Interlace ESLint Ecosystem** โ AI-native
|
|
107
|
-
|
|
108
|
-
| Plugin
|
|
109
|
-
|
|
|
110
|
-
| [`eslint-plugin-
|
|
111
|
-
| [`eslint-plugin-
|
|
112
|
-
| [`eslint-plugin-
|
|
76
|
+
Part of the **Interlace ESLint Ecosystem** โ AI-native security plugins with LLM-optimized error messages:
|
|
77
|
+
|
|
78
|
+
| Plugin | Downloads | Description |
|
|
79
|
+
| :--- | :---: | :--- |
|
|
80
|
+
| [`eslint-plugin-secure-coding`](https://www.npmjs.com/package/eslint-plugin-secure-coding) | [](https://www.npmjs.com/package/eslint-plugin-secure-coding) | General security rules & OWASP guidelines. |
|
|
81
|
+
| [`eslint-plugin-pg`](https://www.npmjs.com/package/eslint-plugin-pg) | [](https://www.npmjs.com/package/eslint-plugin-pg) | PostgreSQL security & best practices. |
|
|
82
|
+
| [`eslint-plugin-crypto`](https://www.npmjs.com/package/eslint-plugin-crypto) | [](https://www.npmjs.com/package/eslint-plugin-crypto) | NodeJS Cryptography security rules. |
|
|
83
|
+
| [`eslint-plugin-jwt`](https://www.npmjs.com/package/eslint-plugin-jwt) | [](https://www.npmjs.com/package/eslint-plugin-jwt) | JWT security & best practices. |
|
|
84
|
+
| [`eslint-plugin-browser-security`](https://www.npmjs.com/package/eslint-plugin-browser-security) | [](https://www.npmjs.com/package/eslint-plugin-browser-security) | Browser-specific security & XSS prevention. |
|
|
85
|
+
| [`eslint-plugin-express-security`](https://www.npmjs.com/package/eslint-plugin-express-security) | [](https://www.npmjs.com/package/eslint-plugin-express-security) | Express.js security hardening rules. |
|
|
86
|
+
| [`eslint-plugin-lambda-security`](https://www.npmjs.com/package/eslint-plugin-lambda-security) | [](https://www.npmjs.com/package/eslint-plugin-lambda-security) | AWS Lambda security best practices. |
|
|
87
|
+
| [`eslint-plugin-nestjs-security`](https://www.npmjs.com/package/eslint-plugin-nestjs-security) | [](https://www.npmjs.com/package/eslint-plugin-nestjs-security) | NestJS security rules & patterns. |
|
|
88
|
+
| [`eslint-plugin-mongodb-security`](https://www.npmjs.com/package/eslint-plugin-mongodb-security) | [](https://www.npmjs.com/package/eslint-plugin-mongodb-security) | MongoDB security best practices. |
|
|
89
|
+
| [`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) | Vercel AI SDK security hardening. |
|
|
90
|
+
| [`eslint-plugin-import-next`](https://www.npmjs.com/package/eslint-plugin-import-next) | [](https://www.npmjs.com/package/eslint-plugin-import-next) | Next-gen import sorting & architecture. |
|
|
113
91
|
|
|
114
92
|
## ๐ License
|
|
115
93
|
|
|
116
94
|
MIT ยฉ [Ofri Peretz](https://github.com/ofri-peretz)
|
|
117
95
|
|
|
118
96
|
<p align="center">
|
|
119
|
-
<a href="https://eslint.interlace.tools/docs/conventions"><img src="https://eslint.interlace.tools/images/og-
|
|
120
|
-
</p>
|
|
97
|
+
<a href="https://eslint.interlace.tools/docs/quality/plugin-conventions"><img src="https://eslint.interlace.tools/images/og-conventions.png" alt="ESLint Interlace Plugin" width="100%" /></a>
|
|
98
|
+
</p>
|