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.
Files changed (2) hide show
  1. package/README.md +39 -61
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  </p>
4
4
 
5
5
  <p align="center">
6
- Code conventions and style enforcement for JavaScript/TypeScript teams.
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 enforces consistent code conventions and style patterns across JavaScript and TypeScript projects. It helps teams maintain clean, readable, and maintainable codebases by detecting commented-out code, expired TODOs, deprecated API usage, and inconsistent naming patterns.
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**. We believe conventions should be enforced automatically, not debated endlessly. These rules capture best practices from top engineering teams and enforce them consistently across your codebase.
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
- | ๐Ÿ’ผ | **Recommended**: Included in the recommended preset. |
86
- | โš ๏ธ | **Warns**: Set to warn in recommended preset. |
87
- | ๐Ÿ”ง | **Auto-fixable**: Automatically fixable by the `--fix` CLI option. |
88
- | ๐Ÿ’ก | **Suggestions**: Providing code suggestions in IDE. |
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 quality plugins with LLM-optimized error messages:
107
-
108
- | Plugin | Downloads | Description |
109
- | :--------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------- |
110
- | [`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 complexity & code quality |
111
- | [`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) | Error handling & null safety |
112
- | [`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 & debug code |
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) | [![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. |
81
+ | [`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. |
82
+ | [`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. |
83
+ | [`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. |
84
+ | [`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. |
85
+ | [`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. |
86
+ | [`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 security best practices. |
87
+ | [`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 security rules & patterns. |
88
+ | [`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 security best practices. |
89
+ | [`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. |
90
+ | [`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. |
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-quality.png" alt="ESLint Interlace Plugin" width="300" /></a>
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>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-conventions",
3
- "version": "4.0.1",
3
+ "version": "4.0.2",
4
4
  "description": "ESLint rules for team-specific disciplinary patterns and code conventions.",
5
5
  "type": "commonjs",
6
6
  "main": "./src/index.js",