eslint-config-mgz 1.0.3 → 1.0.5

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 (3) hide show
  1. package/README.md +147 -9
  2. package/flat-config.js +12 -0
  3. package/package.json +9 -4
package/README.md CHANGED
@@ -23,9 +23,10 @@ Shared ESLint configuration for React + TypeScript projects
23
23
 
24
24
  ### 📂 Содержимое пакета
25
25
 
26
- | Файл | Назначение |
27
- | --------- | ---------------------------- |
28
- | `base.js` | Основная конфигурация ESLint |
26
+ | Файл | Назначение |
27
+ | ---------------- | ----------------------------------- |
28
+ | `base.js` | Основная конфигурация ESLint (v7-8) |
29
+ | `flat-config.js` | Flat config для ESLint v9+ |
29
30
 
30
31
  ---
31
32
 
@@ -45,6 +46,16 @@ yarn add -D eslint-config-mgz eslint @typescript-eslint/parser @typescript-eslin
45
46
 
46
47
  ---
47
48
 
49
+ ## 🚨 **Совместимость с ESLint**
50
+
51
+ ### 📊 **Таблица совместимости:**
52
+
53
+ | ESLint версия | Совместимость | Конфиг файл | Примечания |
54
+ | ------------- | ------------- | ----------------- | ----------------------- |
55
+ | **v7.x** | ✅ Полная | `.eslintrc.*` | Рекомендуется |
56
+ | **v8.x** | ✅ Полная | `.eslintrc.*` | Рекомендуется |
57
+ | **v9.x** | ✅ Полная | `eslint.config.*` | Используйте flat-config |
58
+
48
59
  ### 🧩 Использование
49
60
 
50
61
  #### В .eslintrc.js
@@ -85,6 +96,41 @@ module.exports = {
85
96
  };
86
97
  ```
87
98
 
99
+ #### Для ESLint v9+ (Flat Config)
100
+
101
+ ```javascript
102
+ // eslint.config.js
103
+ import config from "eslint-config-mgz/flat-config";
104
+
105
+ export default config;
106
+ ```
107
+
108
+ Или с дополнительными правилами:
109
+
110
+ ```javascript
111
+ // eslint.config.js
112
+ import { FlatCompat } from "@eslint/eslintrc";
113
+ import baseConfig from "eslint-config-mgz";
114
+
115
+ const compat = new FlatCompat();
116
+ export default [
117
+ ...compat.config(baseConfig),
118
+ {
119
+ rules: {
120
+ // Ваши дополнительные правила
121
+ "no-console": "warn",
122
+ },
123
+ },
124
+ ];
125
+ ```
126
+
127
+ #### Для старых версий ESLint (v7-8)
128
+
129
+ ```bash
130
+ # Принудительное использование старого формата в v9
131
+ npx eslint --config .eslintrc.js src/
132
+ ```
133
+
88
134
  ---
89
135
 
90
136
  ### 🧠 Включенные правила
@@ -161,9 +207,10 @@ The goal is to standardize linting across all projects and ensure code quality.
161
207
 
162
208
  ### 📂 Package contents
163
209
 
164
- | File | Purpose |
165
- | --------- | ------------------------- |
166
- | `base.js` | Main ESLint configuration |
210
+ | File | Purpose |
211
+ | ---------------- | -------------------------------- |
212
+ | `base.js` | Main ESLint configuration (v7-8) |
213
+ | `flat-config.js` | Flat config for ESLint v9+ |
167
214
 
168
215
  ---
169
216
 
@@ -175,6 +222,16 @@ npm install -D eslint-config-mgz eslint @typescript-eslint/parser @typescript-es
175
222
 
176
223
  ---
177
224
 
225
+ ## 🚨 **ESLint Compatibility**
226
+
227
+ ### 📊 **Compatibility Table:**
228
+
229
+ | ESLint Version | Compatibility | Config File | Notes |
230
+ | -------------- | ------------- | ----------------- | --------------- |
231
+ | **v7.x** | ✅ Full | `.eslintrc.*` | Recommended |
232
+ | **v8.x** | ✅ Full | `.eslintrc.*` | Recommended |
233
+ | **v9.x** | ✅ Full | `eslint.config.*` | Use flat-config |
234
+
178
235
  ### 🧩 Usage
179
236
 
180
237
  #### In .eslintrc.js
@@ -203,6 +260,41 @@ module.exports = {
203
260
  };
204
261
  ```
205
262
 
263
+ #### For ESLint v9+ (Flat Config)
264
+
265
+ ```javascript
266
+ // eslint.config.js
267
+ import config from "eslint-config-mgz/flat-config";
268
+
269
+ export default config;
270
+ ```
271
+
272
+ Or with additional rules:
273
+
274
+ ```javascript
275
+ // eslint.config.js
276
+ import { FlatCompat } from "@eslint/eslintrc";
277
+ import baseConfig from "eslint-config-mgz";
278
+
279
+ const compat = new FlatCompat();
280
+ export default [
281
+ ...compat.config(baseConfig),
282
+ {
283
+ rules: {
284
+ // Your additional rules
285
+ "no-console": "warn",
286
+ },
287
+ },
288
+ ];
289
+ ```
290
+
291
+ #### For older ESLint versions (v7-8)
292
+
293
+ ```bash
294
+ # Force old config format in v9
295
+ npx eslint --config .eslintrc.js src/
296
+ ```
297
+
206
298
  ---
207
299
 
208
300
  ### ⚠️ Important notes
@@ -244,9 +336,10 @@ Some rules are intentionally disabled for flexibility or due to conflicts with o
244
336
 
245
337
  ### 📂 Пакет құрамында
246
338
 
247
- | Файл | Мақсаты |
248
- | --------- | ---------------------- |
249
- | `base.js` | Негізгі ESLint конфигі |
339
+ | Файл | Мақсаты |
340
+ | ---------------- | ----------------------------- |
341
+ | `base.js` | Негізгі ESLint конфигі (v7-8) |
342
+ | `flat-config.js` | Flat config ESLint v9+ үшін |
250
343
 
251
344
  ---
252
345
 
@@ -258,6 +351,16 @@ npm install -D eslint-config-mgz eslint @typescript-eslint/parser @typescript-es
258
351
 
259
352
  ---
260
353
 
354
+ ## 🚨 **ESLint үйлесімділігі**
355
+
356
+ ### 📊 **Үйлесімділік кестесі:**
357
+
358
+ | ESLint нұсқасы | Үйлесімділік | Конфиг файл | Ескертулер |
359
+ | -------------- | ------------ | ----------------- | ------------------------ |
360
+ | **v7.x** | ✅ Толық | `.eslintrc.*` | Ұсынылады |
361
+ | **v8.x** | ✅ Толық | `.eslintrc.*` | Ұсынылады |
362
+ | **v9.x** | ✅ Толық | `eslint.config.*` | flat-config пайдаланыңыз |
363
+
261
364
  ### 🧩 Қолдану
262
365
 
263
366
  #### .eslintrc.js ішінде
@@ -271,6 +374,41 @@ module.exports = {
271
374
  };
272
375
  ```
273
376
 
377
+ #### ESLint v9+ үшін (Flat Config)
378
+
379
+ ```javascript
380
+ // eslint.config.js
381
+ import config from "eslint-config-mgz/flat-config";
382
+
383
+ export default config;
384
+ ```
385
+
386
+ Қосымша ережелермен:
387
+
388
+ ```javascript
389
+ // eslint.config.js
390
+ import { FlatCompat } from "@eslint/eslintrc";
391
+ import baseConfig from "eslint-config-mgz";
392
+
393
+ const compat = new FlatCompat();
394
+ export default [
395
+ ...compat.config(baseConfig),
396
+ {
397
+ rules: {
398
+ // Сіздің қосымша ережелеріңіз
399
+ "no-console": "warn",
400
+ },
401
+ },
402
+ ];
403
+ ```
404
+
405
+ #### Ескі ESLint нұсқалары үшін (v7-8)
406
+
407
+ ```bash
408
+ # v9-да ескі конфиг форматын мәжбүрлеу
409
+ npx eslint --config .eslintrc.js src/
410
+ ```
411
+
274
412
  ---
275
413
 
276
414
  ### ⚠️ Маңызды ескертулер
package/flat-config.js ADDED
@@ -0,0 +1,12 @@
1
+ // Flat config for ESLint v9+
2
+ // Usage: import config from 'eslint-config-mgz/flat-config';
3
+
4
+ const { FlatCompat } = require("@eslint/eslintrc");
5
+ const baseConfig = require("./base");
6
+
7
+ const compat = new FlatCompat({
8
+ baseDirectory: __dirname,
9
+ resolvePluginsRelativeTo: __dirname,
10
+ });
11
+
12
+ module.exports = compat.config(baseConfig);
package/package.json CHANGED
@@ -1,13 +1,18 @@
1
1
  {
2
2
  "name": "eslint-config-mgz",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "Shared ESLint config for React + TypeScript projects",
5
5
  "main": "base.js",
6
6
  "files": [
7
7
  "README.md",
8
- "base.js"
8
+ "base.js",
9
+ "flat-config.js"
9
10
  ],
10
11
  "readme": "README.md",
12
+ "exports": {
13
+ ".": "./base.js",
14
+ "./flat-config": "./flat-config.js"
15
+ },
11
16
  "keywords": [
12
17
  "eslint",
13
18
  "typescript",
@@ -17,11 +22,11 @@
17
22
  "author": "DSRC TEAM",
18
23
  "license": "MIT",
19
24
  "peerDependencies": {
20
- "eslint": "^8.0.0 || ^9.0.0",
25
+ "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0",
21
26
  "@typescript-eslint/parser": "^6.0.0 || ^7.0.0 || ^8.0.0",
22
27
  "@typescript-eslint/eslint-plugin": "^6.0.0 || ^7.0.0 || ^8.0.0",
23
28
  "eslint-plugin-react": "^7.0.0 || ^8.0.0",
24
- "eslint-plugin-react-hooks": "^4.0.0 || ^5.0.0",
29
+ "eslint-plugin-react-hooks": "^4.0.0 || ^5.0.0 || ^7.0.0",
25
30
  "eslint-plugin-import": "^2.0.0",
26
31
  "eslint-plugin-jsx-a11y": "^6.0.0",
27
32
  "eslint-config-prettier": "^9.0.0"