@xylabs/eslint-config-flat 6.3.5 → 6.4.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.
@@ -34,22 +34,11 @@ var ignores = [
34
34
  // src/import/index.ts
35
35
  var importConfig = {
36
36
  ignores,
37
- files: [
38
- "**/*.ts",
39
- "**/*.d.ts",
40
- "**/*.tsx",
41
- "**/*.d.tsx",
42
- "**/*.ts",
43
- "**/*.d.ts",
44
- "**/*.jsx",
45
- "**/*.d.jsx"
46
- ],
37
+ files: ["**/*.ts", "**/*.d.ts", "**/*.tsx", "**/*.d.tsx", "**/*.ts", "**/*.d.ts", "**/*.jsx", "**/*.d.jsx"],
47
38
  languageOptions: {
48
39
  parser: tsParser,
49
40
  parserOptions: {
50
- ecmaFeatures: {
51
- modules: true
52
- },
41
+ ecmaFeatures: { modules: true },
53
42
  ecmaVersion: "latest",
54
43
  project: "./tsconfig.json"
55
44
  }
@@ -58,48 +47,28 @@ var importConfig = {
58
47
  "import-x": importPlugin,
59
48
  "simple-import-sort": simpleImportSort
60
49
  },
61
- settings: {
62
- "import-x/resolver": {
63
- typescript: {
64
- project: "./tsconfig.json"
65
- }
66
- }
67
- },
50
+ settings: { "import-x/resolver": { typescript: { project: "./tsconfig.json" } } },
68
51
  rules: {
69
52
  ...importPlugin.configs.recommended.rules,
70
- "simple-import-sort/imports": [
71
- "warn"
72
- ],
73
- "simple-import-sort/exports": [
74
- "warn"
75
- ],
76
- "import-x/default": [
77
- "off"
78
- ],
79
- "import-x/named": [
80
- "off"
81
- ],
82
- "import-x/namespace": [
83
- "off"
84
- ],
85
- "import-x/no-absolute-path": [
86
- "warn"
87
- ],
53
+ "simple-import-sort/imports": ["warn"],
54
+ "simple-import-sort/exports": ["warn"],
55
+ "import-x/default": ["off"],
56
+ "import-x/named": ["off"],
57
+ "import-x/namespace": ["off"],
58
+ "import-x/no-absolute-path": ["warn"],
88
59
  "import-x/no-cycle": [
89
60
  "warn",
90
- {
91
- maxDepth: 2
92
- }
93
- ],
94
- "import-x/no-deprecated": [
95
- "off"
61
+ { maxDepth: 2 }
96
62
  ],
63
+ "import-x/no-deprecated": ["off"],
97
64
  "import-x/no-internal-modules": [
98
65
  "warn",
99
66
  {
100
67
  allow: [
101
68
  "vitest/*",
69
+ // Allow imports from vitest
102
70
  "@*/**",
71
+ // Allow imports from any @scoped package
103
72
  // Allow imports to any index.js file
104
73
  "**/index.js",
105
74
  "**/index.ts",
@@ -108,21 +77,11 @@ var importConfig = {
108
77
  ]
109
78
  }
110
79
  ],
111
- "import-x/no-named-as-default-member": [
112
- "off"
113
- ],
114
- "import-x/no-named-as-default": [
115
- "off"
116
- ],
117
- "import-x/no-restricted-paths": [
118
- "warn"
119
- ],
120
- "import-x/no-self-import": [
121
- "warn"
122
- ],
123
- "import-x/no-useless-path-segments": [
124
- "warn"
125
- ]
80
+ "import-x/no-named-as-default-member": ["off"],
81
+ "import-x/no-named-as-default": ["off"],
82
+ "import-x/no-restricted-paths": ["warn"],
83
+ "import-x/no-self-import": ["warn"],
84
+ "import-x/no-useless-path-segments": ["warn"]
126
85
  }
127
86
  };
128
87
 
@@ -130,12 +89,8 @@ var importConfig = {
130
89
  import markdown from "eslint-plugin-markdown";
131
90
  var markdownConfig = {
132
91
  ignores,
133
- plugins: {
134
- markdown
135
- },
136
- files: [
137
- "**/*.md"
138
- ],
92
+ plugins: { markdown },
93
+ files: ["**/*.md"],
139
94
  processor: "markdown/markdown"
140
95
  };
141
96
 
@@ -143,14 +98,8 @@ var markdownConfig = {
143
98
  var rulesConfig = {
144
99
  ignores,
145
100
  rules: {
146
- "complexity": [
147
- "error",
148
- 18
149
- ],
150
- "max-depth": [
151
- "error",
152
- 6
153
- ],
101
+ "complexity": ["error", 18],
102
+ "max-depth": ["error", 6],
154
103
  "max-lines": [
155
104
  "error",
156
105
  {
@@ -158,18 +107,9 @@ var rulesConfig = {
158
107
  skipBlankLines: true
159
108
  }
160
109
  ],
161
- "array-element-newline": [
162
- "warn",
163
- "consistent"
164
- ],
165
- "max-nested-callbacks": [
166
- "error",
167
- 6
168
- ],
169
- "max-statements": [
170
- "error",
171
- 32
172
- ],
110
+ "array-element-newline": ["warn", "consistent"],
111
+ "max-nested-callbacks": ["error", 6],
112
+ "max-statements": ["error", 32],
173
113
  "no-restricted-imports": [
174
114
  "error",
175
115
  {
@@ -186,101 +126,47 @@ var rulesConfig = {
186
126
  }
187
127
  ],
188
128
  // 'no-secrets/no-secrets': ['off'],
189
- "no-tabs": [
190
- "error"
191
- ],
129
+ "no-tabs": ["error"],
192
130
  "no-unused-vars": "off",
193
131
  "no-useless-escape": "off",
194
- "quotes": [
195
- 2,
196
- "single",
197
- "avoid-escape"
198
- ],
132
+ "quotes": [2, "single", "avoid-escape"],
199
133
  "require-await": "error",
200
- "semi": [
201
- "warn",
202
- "never"
203
- ]
134
+ "semi": ["warn", "never"]
135
+ // 'sort-keys-fix/sort-keys-fix': 'warn',
204
136
  }
205
137
  };
206
138
 
207
139
  // src/sonar/index.ts
208
140
  import sonarjs from "eslint-plugin-sonarjs";
209
141
  var sonarConfig = {
210
- plugins: {
211
- sonarjs
212
- },
142
+ plugins: { sonarjs },
213
143
  ignores,
214
144
  rules: {
215
145
  ...sonarjs.configs.recommended.rules,
216
- "sonarjs/no-small-switch": [
217
- "off"
218
- ],
219
- "sonarjs/os-command": [
220
- "off"
221
- ],
222
- "sonarjs/no-os-command-from-path": [
223
- "off"
224
- ],
225
- "sonarjs/no-nested-conditional": [
226
- "off"
227
- ],
228
- "sonarjs/todo-tag": [
229
- "off"
230
- ],
231
- "sonarjs/deprecation": [
232
- "warn"
233
- ],
234
- "sonarjs/no-nested-functions": [
235
- "off"
236
- ],
237
- "sonarjs/function-return-type": [
238
- "off"
239
- ],
240
- "sonarjs/pseudo-random": [
241
- "off"
242
- ],
243
- "sonarjs/public-static-readonly": [
244
- "warn"
245
- ],
246
- "sonarjs/post-message": [
247
- "off"
248
- ],
249
- "sonarjs/different-types-comparison": [
250
- "off"
251
- ],
252
- "sonarjs/no-alphabetical-sort": [
253
- "warn"
254
- ],
255
- "sonarjs/no-identical-functions": [
256
- "warn"
257
- ],
258
- "sonarjs/no-empty-test-file": [
259
- "off"
260
- ],
261
- "sonarjs/no-dead-store": [
262
- "warn"
263
- ],
264
- "sonarjs/no-redundant-jump": [
265
- "warn"
266
- ],
267
- "sonarjs/void-use": [
268
- "off"
269
- ],
146
+ "sonarjs/no-small-switch": ["off"],
147
+ "sonarjs/os-command": ["off"],
148
+ "sonarjs/no-os-command-from-path": ["off"],
149
+ "sonarjs/no-nested-conditional": ["off"],
150
+ "sonarjs/todo-tag": ["off"],
151
+ "sonarjs/deprecation": ["warn"],
152
+ "sonarjs/no-nested-functions": ["off"],
153
+ "sonarjs/function-return-type": ["off"],
154
+ "sonarjs/pseudo-random": ["off"],
155
+ "sonarjs/public-static-readonly": ["warn"],
156
+ "sonarjs/post-message": ["off"],
157
+ "sonarjs/different-types-comparison": ["off"],
158
+ "sonarjs/no-alphabetical-sort": ["warn"],
159
+ "sonarjs/no-identical-functions": ["warn"],
160
+ "sonarjs/no-empty-test-file": ["off"],
161
+ "sonarjs/no-dead-store": ["warn"],
162
+ "sonarjs/no-redundant-jump": ["warn"],
163
+ "sonarjs/void-use": ["off"],
270
164
  // handled by eslint
271
- "sonarjs/cognitive-complexity": [
272
- "off"
273
- ],
274
- "sonarjs/unused-import": [
275
- "off"
276
- ],
165
+ "sonarjs/cognitive-complexity": ["off"],
166
+ "sonarjs/unused-import": ["off"],
277
167
  // handled by typescript-eslint
278
- "sonarjs/no-unused-vars": [
279
- "off"
280
- ],
281
- "sonarjs/no-commented-code": [
282
- "off"
283
- ]
168
+ "sonarjs/no-unused-vars": ["off"],
169
+ "sonarjs/no-commented-code": ["off"]
284
170
  }
285
171
  };
286
172
 
@@ -306,9 +192,7 @@ var typescriptConfig = {
306
192
  languageOptions: {
307
193
  parser: tsParser2,
308
194
  parserOptions: {
309
- ecmaFeatures: {
310
- modules: true
311
- },
195
+ ecmaFeatures: { modules: true },
312
196
  ecmaVersion: "latest",
313
197
  project: "./tsconfig.json"
314
198
  }
@@ -320,51 +204,15 @@ var typescriptConfig = {
320
204
  rules: {
321
205
  ...tsPlugin.configs.recommended.rules,
322
206
  ...esStylistic.configs["recommended"].rules,
323
- "@typescript-eslint/no-empty-object-type": [
324
- "off"
325
- ],
326
- "@typescript-eslint/explicit-member-accessibility": [
327
- "warn",
328
- {
329
- accessibility: "no-public"
330
- }
331
- ],
207
+ "@typescript-eslint/no-empty-object-type": ["off"],
208
+ "@typescript-eslint/explicit-member-accessibility": ["warn", { accessibility: "no-public" }],
332
209
  "@typescript-eslint/explicit-module-boundary-types": "off",
333
- "@stylistic/brace-style": [
334
- "warn",
335
- "1tbs",
336
- {
337
- allowSingleLine: true
338
- }
339
- ],
340
- "@stylistic/quotes": [
341
- "warn",
342
- "single",
343
- {
344
- avoidEscape: true
345
- }
346
- ],
347
- "@typescript-eslint/consistent-type-imports": [
348
- "warn",
349
- {
350
- fixStyle: "separate-type-imports",
351
- prefer: "type-imports"
352
- }
353
- ],
354
- "@stylistic/object-property-newline": [
355
- "warn",
356
- {
357
- allowAllPropertiesOnSameLine: true
358
- }
359
- ],
360
- "@stylistic/function-call-argument-newline": [
361
- "warn",
362
- "consistent"
363
- ],
364
- "@stylistic/function-paren-newline": [
365
- "warn",
366
- "multiline-arguments"
367
- ],
210
+ "@stylistic/brace-style": ["warn", "1tbs", { allowSingleLine: true }],
211
+ "@stylistic/quotes": ["warn", "single", { avoidEscape: true }],
212
+ "@typescript-eslint/consistent-type-imports": ["warn", { fixStyle: "separate-type-imports", prefer: "type-imports" }],
213
+ "@stylistic/object-property-newline": ["warn", { allowAllPropertiesOnSameLine: true }],
214
+ "@stylistic/function-call-argument-newline": ["warn", "consistent"],
215
+ "@stylistic/function-paren-newline": ["warn", "multiline-arguments"],
368
216
  "@stylistic/member-delimiter-style": [
369
217
  "error",
370
218
  {
@@ -378,37 +226,29 @@ var typescriptConfig = {
378
226
  }
379
227
  }
380
228
  ],
381
- "@stylistic/object-curly-newline": [
382
- "warn",
383
- {
384
- ObjectExpression: {
385
- multiline: true,
386
- minProperties: 3,
387
- consistent: false
388
- },
389
- ObjectPattern: {
390
- multiline: true,
391
- minProperties: 3,
392
- consistent: false
393
- },
394
- ImportDeclaration: {
395
- multiline: true,
396
- minProperties: 3,
397
- consistent: false
398
- },
399
- ExportDeclaration: {
400
- multiline: true,
401
- minProperties: 3,
402
- consistent: false
403
- }
404
- }
405
- ],
406
- "@stylistic/max-len": [
407
- "warn",
408
- {
409
- code: 160
229
+ "@stylistic/object-curly-newline": ["warn", {
230
+ ObjectExpression: {
231
+ multiline: true,
232
+ minProperties: 3,
233
+ consistent: false
234
+ },
235
+ ObjectPattern: {
236
+ multiline: true,
237
+ minProperties: 3,
238
+ consistent: false
239
+ },
240
+ ImportDeclaration: {
241
+ multiline: true,
242
+ minProperties: 3,
243
+ consistent: false
244
+ },
245
+ ExportDeclaration: {
246
+ multiline: true,
247
+ minProperties: 3,
248
+ consistent: false
410
249
  }
411
- ],
250
+ }],
251
+ "@stylistic/max-len": ["warn", { code: 160 }],
412
252
  "no-restricted-syntax": [
413
253
  "warn",
414
254
  {
@@ -446,78 +286,24 @@ var typescriptConfig = {
446
286
  "protected-constructor",
447
287
  "private-constructor",
448
288
  "constructor",
449
- [
450
- "public-static-get",
451
- "public-static-set"
452
- ],
453
- [
454
- "protected-static-get",
455
- "protected-static-set"
456
- ],
457
- [
458
- "private-static-get",
459
- "private-static-set"
460
- ],
461
- [
462
- "public-decorated-get",
463
- "public-decorated-set"
464
- ],
465
- [
466
- "protected-decorated-get",
467
- "protected-decorated-set"
468
- ],
469
- [
470
- "private-decorated-get",
471
- "private-decorated-set"
472
- ],
473
- [
474
- "public-instance-get",
475
- "public-instance-set"
476
- ],
477
- [
478
- "protected-instance-get",
479
- "protected-instance-set"
480
- ],
481
- [
482
- "private-instance-get",
483
- "private-instance-set"
484
- ],
485
- [
486
- "public-abstract-get",
487
- "public-abstract-set"
488
- ],
489
- [
490
- "protected-abstract-get",
491
- "protected-abstract-set"
492
- ],
493
- [
494
- "public-get",
495
- "public-set"
496
- ],
497
- [
498
- "protected-get",
499
- "protected-set"
500
- ],
501
- [
502
- "private-get",
503
- "private-set"
504
- ],
505
- [
506
- "static-get",
507
- "static-set"
508
- ],
509
- [
510
- "instance-get",
511
- "instance-set"
512
- ],
513
- [
514
- "abstract-get",
515
- "abstract-set"
516
- ],
517
- [
518
- "decorated-get",
519
- "decorated-set"
520
- ],
289
+ ["public-static-get", "public-static-set"],
290
+ ["protected-static-get", "protected-static-set"],
291
+ ["private-static-get", "private-static-set"],
292
+ ["public-decorated-get", "public-decorated-set"],
293
+ ["protected-decorated-get", "protected-decorated-set"],
294
+ ["private-decorated-get", "private-decorated-set"],
295
+ ["public-instance-get", "public-instance-set"],
296
+ ["protected-instance-get", "protected-instance-set"],
297
+ ["private-instance-get", "private-instance-set"],
298
+ ["public-abstract-get", "public-abstract-set"],
299
+ ["protected-abstract-get", "protected-abstract-set"],
300
+ ["public-get", "public-set"],
301
+ ["protected-get", "protected-set"],
302
+ ["private-get", "private-set"],
303
+ ["static-get", "static-set"],
304
+ ["instance-get", "instance-set"],
305
+ ["abstract-get", "abstract-set"],
306
+ ["decorated-get", "decorated-set"],
521
307
  "get",
522
308
  "set",
523
309
  "public-static-method",
@@ -548,78 +334,41 @@ var typescriptConfig = {
548
334
  "@typescript-eslint/no-misused-promises": "error",
549
335
  "@typescript-eslint/no-unused-vars": [
550
336
  "warn",
551
- {
552
- argsIgnorePattern: "^_"
553
- }
337
+ { argsIgnorePattern: "^_" }
554
338
  ],
555
- "semi": [
556
- "warn",
557
- "never"
558
- ]
339
+ "semi": ["warn", "never"]
559
340
  }
560
341
  };
561
342
 
562
343
  // src/unicorn/index.ts
563
344
  import unicornPlugin from "eslint-plugin-unicorn";
564
345
  var unicornConfig = {
565
- plugins: {
566
- unicorn: unicornPlugin
567
- },
346
+ plugins: { unicorn: unicornPlugin },
568
347
  rules: {
569
348
  ...unicornPlugin.configs["flat/recommended"].rules,
570
- "unicorn/catch-error-name": [
571
- "off"
572
- ],
573
- "unicorn/consistent-function-scoping": [
574
- "off"
575
- ],
576
- "unicorn/filename-case": [
577
- "off"
578
- ],
579
- "unicorn/new-for-builtins": [
580
- "off"
581
- ],
582
- "unicorn/no-array-callback-reference": [
583
- "off"
584
- ],
585
- "unicorn/no-await-expression-member": [
586
- "off"
587
- ],
588
- "unicorn/no-nested-ternary": [
589
- "off"
590
- ],
591
- "unicorn/no-null": [
592
- "off"
593
- ],
594
- "unicorn/number-literal-case": [
595
- "off"
596
- ],
597
- "unicorn/prefer-module": [
598
- "off"
599
- ],
600
- "unicorn/prefer-top-level-await": [
601
- "off"
602
- ],
603
- "unicorn/prevent-abbreviations": [
604
- "off"
605
- ]
349
+ "unicorn/catch-error-name": ["off"],
350
+ "unicorn/consistent-function-scoping": ["off"],
351
+ "unicorn/filename-case": ["off"],
352
+ "unicorn/new-for-builtins": ["off"],
353
+ "unicorn/no-array-callback-reference": ["off"],
354
+ "unicorn/no-await-expression-member": ["off"],
355
+ "unicorn/no-nested-ternary": ["off"],
356
+ "unicorn/no-null": ["off"],
357
+ "unicorn/number-literal-case": ["off"],
358
+ "unicorn/prefer-module": ["off"],
359
+ "unicorn/prefer-top-level-await": ["off"],
360
+ "unicorn/prevent-abbreviations": ["off"]
606
361
  }
607
362
  };
608
363
 
609
364
  // src/workspaces/index.ts
610
365
  import workspacesPlugin from "eslint-plugin-workspaces";
611
366
  var workspacesConfig = {
612
- plugins: {
613
- workspaces: workspacesPlugin
614
- },
367
+ plugins: { workspaces: workspacesPlugin },
615
368
  rules: {
616
369
  ...workspacesPlugin.configs.recommended.rules,
617
- "workspaces/no-relative-imports": [
618
- "off"
619
- ],
620
- "workspaces/require-dependency": [
621
- "off"
622
- ]
370
+ "workspaces/no-relative-imports": ["off"],
371
+ "workspaces/require-dependency": ["off"]
623
372
  }
624
373
  };
625
374
 
@@ -627,48 +376,24 @@ var workspacesConfig = {
627
376
  import json from "@eslint/json";
628
377
  var jsonConfig = {
629
378
  ignores,
630
- files: [
631
- "**/*.json"
632
- ],
633
- plugins: {
634
- json
635
- },
379
+ files: ["**/*.json"],
380
+ plugins: { json },
636
381
  language: "json/json",
637
- rules: {
638
- "json/no-duplicate-keys": [
639
- "error"
640
- ]
641
- }
382
+ rules: { "json/no-duplicate-keys": ["error"] }
642
383
  };
643
384
  var jsoncConfig = {
644
385
  ignores,
645
- files: [
646
- "**/*.jsonc"
647
- ],
648
- plugins: {
649
- json
650
- },
386
+ files: ["**/*.jsonc"],
387
+ plugins: { json },
651
388
  language: "json/jsonc",
652
- rules: {
653
- "json/no-duplicate-keys": [
654
- "error"
655
- ]
656
- }
389
+ rules: { "json/no-duplicate-keys": ["error"] }
657
390
  };
658
391
  var json5Config = {
659
392
  ignores,
660
- files: [
661
- "**/*.json5"
662
- ],
663
- plugins: {
664
- json
665
- },
393
+ files: ["**/*.json5"],
394
+ plugins: { json },
666
395
  language: "json/json5",
667
- rules: {
668
- "json/no-duplicate-keys": [
669
- "error"
670
- ]
671
- }
396
+ rules: { "json/no-duplicate-keys": ["error"] }
672
397
  };
673
398
 
674
399
  // src/index.ts