@taiga-ui/eslint-plugin-experience-next 0.250.0 → 0.252.0
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/eslint.config.js +44 -41
- package/eslint.config.ts +46 -42
- package/package.json +7 -7
package/eslint.config.js
CHANGED
|
@@ -34,7 +34,7 @@ try {
|
|
|
34
34
|
angularVersion = parseInt(major, 10);
|
|
35
35
|
}
|
|
36
36
|
catch { }
|
|
37
|
-
export default tseslint.config(progress.configs['recommended-ci'], require('eslint-plugin-import').flatConfigs.recommended, require('eslint-plugin-promise').configs['flat/recommended'], {
|
|
37
|
+
export default tseslint.config(progress.configs['recommended-ci'], require('eslint-plugin-import').flatConfigs.recommended, require('eslint-plugin-import').flatConfigs.typescript, require('eslint-plugin-promise').configs['flat/recommended'], {
|
|
38
38
|
ignores: [
|
|
39
39
|
'*/icons/all.ts',
|
|
40
40
|
'**/tests-report/**',
|
|
@@ -77,12 +77,18 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
77
77
|
],
|
|
78
78
|
}, eslint.configs.recommended, tseslint.configs.recommended, require('eslint-config-prettier'), {
|
|
79
79
|
files: ['**/*.ts', '**/*.js'],
|
|
80
|
-
|
|
81
|
-
'
|
|
82
|
-
'
|
|
80
|
+
plugins: {
|
|
81
|
+
'@stylistic': stylistic,
|
|
82
|
+
'@stylistic/ts': stylisticTs,
|
|
83
|
+
'decorator-position': require('eslint-plugin-decorator-position'),
|
|
84
|
+
perfectionist: require('eslint-plugin-perfectionist'),
|
|
85
|
+
prettier,
|
|
86
|
+
rxjs,
|
|
87
|
+
'simple-import-sort': simpleImportSort,
|
|
88
|
+
sonarjs,
|
|
89
|
+
unicorn,
|
|
90
|
+
'unused-imports': unusedImports,
|
|
83
91
|
},
|
|
84
|
-
}, {
|
|
85
|
-
files: ['**/*.ts'],
|
|
86
92
|
extends: [
|
|
87
93
|
eslint.configs.recommended,
|
|
88
94
|
...tseslint.configs.recommended,
|
|
@@ -90,7 +96,6 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
90
96
|
...angular.configs.tsRecommended,
|
|
91
97
|
],
|
|
92
98
|
languageOptions: {
|
|
93
|
-
globals: globals.builtin,
|
|
94
99
|
parserOptions: {
|
|
95
100
|
ecmaVersion: 'latest',
|
|
96
101
|
errorOnTypeScriptSyntacticAndSemanticIssues: false,
|
|
@@ -99,21 +104,13 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
99
104
|
warnOnUnsupportedTypeScriptVersion: false,
|
|
100
105
|
...parserOptions,
|
|
101
106
|
},
|
|
107
|
+
globals: globals.builtin,
|
|
102
108
|
},
|
|
103
109
|
processor: angular.processInlineTemplates,
|
|
104
|
-
plugins: {
|
|
105
|
-
rxjs,
|
|
106
|
-
unicorn,
|
|
107
|
-
sonarjs,
|
|
108
|
-
prettier,
|
|
109
|
-
perfectionist: require('eslint-plugin-perfectionist'),
|
|
110
|
-
'@stylistic': stylistic,
|
|
111
|
-
'@stylistic/ts': stylisticTs,
|
|
112
|
-
'unused-imports': unusedImports,
|
|
113
|
-
'decorator-position': require('eslint-plugin-decorator-position'),
|
|
114
|
-
'simple-import-sort': simpleImportSort,
|
|
115
|
-
},
|
|
116
110
|
rules: {
|
|
111
|
+
'@typescript-eslint/no-import-type-side-effects': 'error',
|
|
112
|
+
'no-void': ['error', { allowAsStatement: true }],
|
|
113
|
+
'sonarjs/no-identical-functions': 'error',
|
|
117
114
|
'@angular-eslint/contextual-decorator': 'error',
|
|
118
115
|
'@angular-eslint/contextual-lifecycle': 'error',
|
|
119
116
|
'@angular-eslint/directive-selector': 'error',
|
|
@@ -227,7 +224,7 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
227
224
|
},
|
|
228
225
|
},
|
|
229
226
|
],
|
|
230
|
-
'@typescript-eslint/max-params': ['error', { countVoidThis: true, max:
|
|
227
|
+
'@typescript-eslint/max-params': ['error', { countVoidThis: true, max: 5 }],
|
|
231
228
|
'@typescript-eslint/member-ordering': [
|
|
232
229
|
'error',
|
|
233
230
|
{
|
|
@@ -384,7 +381,6 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
384
381
|
],
|
|
385
382
|
'@typescript-eslint/no-for-in-array': 'error',
|
|
386
383
|
'@typescript-eslint/no-implied-eval': 'error',
|
|
387
|
-
'@typescript-eslint/no-import-type-side-effects': 'error',
|
|
388
384
|
'@typescript-eslint/no-inferrable-types': 'error',
|
|
389
385
|
'@typescript-eslint/no-namespace': ['error', { allowDeclarations: true }],
|
|
390
386
|
'@typescript-eslint/no-non-null-asserted-nullish-coalescing': 'error',
|
|
@@ -393,9 +389,6 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
393
389
|
'error',
|
|
394
390
|
{
|
|
395
391
|
types: {
|
|
396
|
-
'{}': {
|
|
397
|
-
message: '`{}` actually means `any non-nullish value`.\n- If you want a type meaning `any object`, you probably want `object` instead.\n- If you want a type meaning `any value`, you probably want `unknown` instead.\n- If you want a type meaning `empty object`, you probably want `Record<string, never>` instead.',
|
|
398
|
-
},
|
|
399
392
|
BigInt: {
|
|
400
393
|
fixWith: 'bigint',
|
|
401
394
|
message: 'Use bigint instead',
|
|
@@ -419,6 +412,9 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
419
412
|
fixWith: 'symbol',
|
|
420
413
|
message: 'Use symbol instead',
|
|
421
414
|
},
|
|
415
|
+
'{}': {
|
|
416
|
+
message: '`{}` actually means `any non-nullish value`.\n- If you want a type meaning `any object`, you probably want `object` instead.\n- If you want a type meaning `any value`, you probably want `unknown` instead.\n- If you want a type meaning `empty object`, you probably want `Record<string, never>` instead.',
|
|
417
|
+
},
|
|
422
418
|
},
|
|
423
419
|
},
|
|
424
420
|
],
|
|
@@ -480,8 +476,8 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
480
476
|
'@typescript-eslint/switch-exhaustiveness-check': [
|
|
481
477
|
'error',
|
|
482
478
|
{
|
|
483
|
-
allowDefaultCaseForExhaustiveSwitch: true,
|
|
484
479
|
considerDefaultExhaustiveForUnions: true,
|
|
480
|
+
allowDefaultCaseForExhaustiveSwitch: true,
|
|
485
481
|
requireDefaultForNonUnion: false,
|
|
486
482
|
},
|
|
487
483
|
],
|
|
@@ -498,8 +494,8 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
498
494
|
'decorator-position/decorator-position': [
|
|
499
495
|
'error',
|
|
500
496
|
{
|
|
501
|
-
methods: 'above',
|
|
502
497
|
printWidth: 120,
|
|
498
|
+
methods: 'above',
|
|
503
499
|
properties: 'above',
|
|
504
500
|
},
|
|
505
501
|
],
|
|
@@ -523,7 +519,6 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
523
519
|
'import/newline-after-import': ['error', { count: 1 }],
|
|
524
520
|
'import/no-absolute-path': 'error',
|
|
525
521
|
'import/no-cycle': 'error',
|
|
526
|
-
'import/no-deprecated': 'error',
|
|
527
522
|
'import/no-duplicates': 'error',
|
|
528
523
|
'import/no-mutable-exports': 'error',
|
|
529
524
|
'import/no-self-import': 'error',
|
|
@@ -554,6 +549,7 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
554
549
|
],
|
|
555
550
|
'max-depth': 'error',
|
|
556
551
|
'max-nested-callbacks': ['error', 4],
|
|
552
|
+
'max-params': ['error', 5],
|
|
557
553
|
'no-bitwise': 'error',
|
|
558
554
|
'no-case-declarations': 'error',
|
|
559
555
|
'no-console': [
|
|
@@ -563,9 +559,10 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
563
559
|
},
|
|
564
560
|
],
|
|
565
561
|
'no-constant-condition': 'error',
|
|
562
|
+
'no-empty': ['error', { allowEmptyCatch: true }],
|
|
566
563
|
'no-implicit-coercion': ['error', { allow: ['!!'] }],
|
|
567
|
-
'no-irregular-whitespace': 'error',
|
|
568
564
|
'no-loop-func': 'error',
|
|
565
|
+
'no-nested-ternary': 'error',
|
|
569
566
|
'no-restricted-imports': [
|
|
570
567
|
'error',
|
|
571
568
|
{
|
|
@@ -670,7 +667,6 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
670
667
|
},
|
|
671
668
|
],
|
|
672
669
|
'no-var': 'error',
|
|
673
|
-
'no-void': ['error', { allowAsStatement: true }],
|
|
674
670
|
'perfectionist/sort-array-includes': [
|
|
675
671
|
'error',
|
|
676
672
|
{
|
|
@@ -726,6 +722,7 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
726
722
|
'rxjs/no-connectable': 'error',
|
|
727
723
|
'rxjs/no-cyclic-action': 'error',
|
|
728
724
|
'rxjs/no-ignored-observable': 'error',
|
|
725
|
+
'rxjs/no-nested-subscribe': 'error',
|
|
729
726
|
'rxjs/no-topromise': 'error',
|
|
730
727
|
'rxjs/no-unsafe-catch': 'error',
|
|
731
728
|
'rxjs/no-unsafe-first': 'error',
|
|
@@ -733,7 +730,6 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
733
730
|
'rxjs/throw-error': 'error',
|
|
734
731
|
'simple-import-sort/exports': 'error',
|
|
735
732
|
'simple-import-sort/imports': 'error',
|
|
736
|
-
'sonarjs/no-identical-functions': 'error',
|
|
737
733
|
'sonarjs/no-inverted-boolean-check': 'error',
|
|
738
734
|
'spaced-comment': [
|
|
739
735
|
'error',
|
|
@@ -776,9 +772,9 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
776
772
|
...angular.configs.templateAccessibility,
|
|
777
773
|
],
|
|
778
774
|
rules: {
|
|
779
|
-
'@angular-eslint/template/no-negated-async': 'off',
|
|
780
|
-
'@angular-eslint/template/label-has-associated-control': 'off',
|
|
781
775
|
'@angular-eslint/template/interactive-supports-focus': 'off',
|
|
776
|
+
'@angular-eslint/template/label-has-associated-control': 'off',
|
|
777
|
+
'@angular-eslint/template/no-negated-async': 'off',
|
|
782
778
|
'@typescript-eslint/ban-ts-comment': 'off',
|
|
783
779
|
'import/namespace': 'off',
|
|
784
780
|
},
|
|
@@ -787,9 +783,9 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
787
783
|
...playwright.configs['flat/recommended'],
|
|
788
784
|
rules: {
|
|
789
785
|
...playwright.configs['flat/recommended'].rules,
|
|
786
|
+
'playwright/no-networkidle': 'off',
|
|
790
787
|
'jest/prefer-importing-jest-globals': 'off',
|
|
791
788
|
'playwright/no-force-option': 'error',
|
|
792
|
-
'playwright/no-networkidle': 'off',
|
|
793
789
|
'playwright/no-skipped-test': 'error',
|
|
794
790
|
'playwright/no-wait-for-selector': 'off',
|
|
795
791
|
'playwright/no-wait-for-timeout': 'off',
|
|
@@ -821,6 +817,7 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
821
817
|
* If enabled we have
|
|
822
818
|
* Expected to be running in 'ProxyZone', but it was not found
|
|
823
819
|
*/
|
|
820
|
+
'jest/valid-title': 'error',
|
|
824
821
|
'jest/prefer-importing-jest-globals': 'off',
|
|
825
822
|
'jest/prefer-lowercase-title': [
|
|
826
823
|
'error',
|
|
@@ -857,7 +854,6 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
857
854
|
},
|
|
858
855
|
],
|
|
859
856
|
'jest/unbound-method': 'off',
|
|
860
|
-
'jest/valid-title': 'error',
|
|
861
857
|
},
|
|
862
858
|
}, {
|
|
863
859
|
files: ['**/*.cy.ts'],
|
|
@@ -867,10 +863,17 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
867
863
|
'max-nested-callbacks': 'off',
|
|
868
864
|
'no-implicit-globals': 'error',
|
|
869
865
|
},
|
|
866
|
+
}, {
|
|
867
|
+
files: ['**/*.js'],
|
|
868
|
+
rules: {
|
|
869
|
+
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
870
|
+
'no-template-curly-in-string': 'off',
|
|
871
|
+
},
|
|
870
872
|
}, {
|
|
871
873
|
files: ['**/*'],
|
|
872
874
|
rules: {
|
|
873
|
-
'
|
|
875
|
+
'@angular-eslint/use-injectable-provided-in': 'off',
|
|
876
|
+
'sonarjs/no-invalid-await': 'off',
|
|
874
877
|
'@angular-eslint/component-class-suffix': 'off',
|
|
875
878
|
'@angular-eslint/component-max-inline-declarations': 'off',
|
|
876
879
|
'@angular-eslint/component-selector': 'off',
|
|
@@ -888,17 +891,16 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
888
891
|
'@angular-eslint/template/click-events-have-key-events': 'off',
|
|
889
892
|
'@angular-eslint/use-component-selector': 'off',
|
|
890
893
|
'@angular-eslint/use-component-view-encapsulation': 'off',
|
|
891
|
-
'@angular-eslint/use-injectable-provided-in': 'off',
|
|
892
894
|
'@typescript-eslint/adjacent-overload-signatures': 'off',
|
|
893
|
-
'@typescript-eslint/class-literal-property-style': 'off',
|
|
894
|
-
'@typescript-eslint/no-require-imports': 'off',
|
|
895
895
|
'@typescript-eslint/ban-ts-comment': 'off',
|
|
896
|
+
'@typescript-eslint/class-literal-property-style': 'off',
|
|
896
897
|
'@typescript-eslint/consistent-return': 'off',
|
|
897
898
|
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
|
898
899
|
'@typescript-eslint/no-base-to-string': 'off',
|
|
899
900
|
'@typescript-eslint/no-explicit-any': 'off',
|
|
900
901
|
'@typescript-eslint/no-floating-promises': 'off',
|
|
901
902
|
'@typescript-eslint/no-non-null-assertion': 'off',
|
|
903
|
+
'@typescript-eslint/no-require-imports': 'off',
|
|
902
904
|
'@typescript-eslint/no-shadow': 'off',
|
|
903
905
|
'@typescript-eslint/no-unnecessary-condition': 'off',
|
|
904
906
|
'@typescript-eslint/no-unsafe-member-access': 'off',
|
|
@@ -921,9 +923,11 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
921
923
|
'func-names': 'off',
|
|
922
924
|
'global-require': 'off',
|
|
923
925
|
'grouped-accessor-pairs': 'off',
|
|
926
|
+
'import/export': 'off',
|
|
924
927
|
'import/exports-last': 'off',
|
|
925
928
|
'import/extensions': 'off',
|
|
926
929
|
'import/no-default-export': 'off',
|
|
930
|
+
'import/no-deprecated': 'off',
|
|
927
931
|
'import/no-dynamic-require': 'off',
|
|
928
932
|
'import/no-extraneous-dependencies': 'off',
|
|
929
933
|
'import/no-relative-packages': 'off',
|
|
@@ -931,15 +935,16 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
931
935
|
'import/prefer-default-export': 'off',
|
|
932
936
|
'lines-between-class-members': 'off',
|
|
933
937
|
'max-classes-per-file': 'off',
|
|
934
|
-
'max-params': 'off',
|
|
935
938
|
'max-statements': 'off',
|
|
936
939
|
'no-await-in-loop': 'off',
|
|
937
940
|
'no-bitwise': 'off',
|
|
941
|
+
'no-constant-binary-expression': 'off',
|
|
938
942
|
'no-constructor-return': 'off',
|
|
939
943
|
'no-continue': 'off',
|
|
940
944
|
'no-dupe-class-members': 'off',
|
|
941
945
|
'no-duplicate-imports': 'off',
|
|
942
946
|
'no-empty-function': 'off',
|
|
947
|
+
'no-irregular-whitespace': 'off',
|
|
943
948
|
'no-param-reassign': 'off',
|
|
944
949
|
'no-plusplus': 'off',
|
|
945
950
|
'no-prototype-builtins': 'off',
|
|
@@ -961,7 +966,6 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
961
966
|
'react/no-is-mounted': 'off',
|
|
962
967
|
'require-await': 'off',
|
|
963
968
|
'rxjs/no-ignored-takewhile-value': 'off',
|
|
964
|
-
'rxjs/no-nested-subscribe': 'off',
|
|
965
969
|
'rxjs/no-unsafe-takeuntil': 'off',
|
|
966
970
|
'sonarjs/aws-apigateway-public-api': 'off',
|
|
967
971
|
'sonarjs/aws-ec2-rds-dms-public': 'off',
|
|
@@ -994,7 +998,6 @@ export default tseslint.config(progress.configs['recommended-ci'], require('esli
|
|
|
994
998
|
'sonarjs/no-commented-code': 'off',
|
|
995
999
|
'sonarjs/no-duplicate-string': 'off',
|
|
996
1000
|
'sonarjs/no-empty-function': 'off',
|
|
997
|
-
'sonarjs/no-invalid-await': 'off',
|
|
998
1001
|
'sonarjs/no-misleading-array-reverse': 'off',
|
|
999
1002
|
'sonarjs/no-misused-promises': 'off',
|
|
1000
1003
|
'sonarjs/no-nested-conditional': 'off',
|
package/eslint.config.ts
CHANGED
|
@@ -44,6 +44,7 @@ try {
|
|
|
44
44
|
export default tseslint.config(
|
|
45
45
|
progress.configs['recommended-ci'],
|
|
46
46
|
require('eslint-plugin-import').flatConfigs.recommended,
|
|
47
|
+
require('eslint-plugin-import').flatConfigs.typescript,
|
|
47
48
|
require('eslint-plugin-promise').configs['flat/recommended'],
|
|
48
49
|
{
|
|
49
50
|
ignores: [
|
|
@@ -92,13 +93,18 @@ export default tseslint.config(
|
|
|
92
93
|
require('eslint-config-prettier'),
|
|
93
94
|
{
|
|
94
95
|
files: ['**/*.ts', '**/*.js'],
|
|
95
|
-
|
|
96
|
-
'
|
|
97
|
-
'
|
|
96
|
+
plugins: {
|
|
97
|
+
'@stylistic': stylistic,
|
|
98
|
+
'@stylistic/ts': stylisticTs,
|
|
99
|
+
'decorator-position': require('eslint-plugin-decorator-position'),
|
|
100
|
+
perfectionist: require('eslint-plugin-perfectionist'),
|
|
101
|
+
prettier,
|
|
102
|
+
rxjs,
|
|
103
|
+
'simple-import-sort': simpleImportSort,
|
|
104
|
+
sonarjs,
|
|
105
|
+
unicorn,
|
|
106
|
+
'unused-imports': unusedImports,
|
|
98
107
|
},
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
files: ['**/*.ts'],
|
|
102
108
|
extends: [
|
|
103
109
|
eslint.configs.recommended,
|
|
104
110
|
...tseslint.configs.recommended,
|
|
@@ -106,7 +112,6 @@ export default tseslint.config(
|
|
|
106
112
|
...angular.configs.tsRecommended,
|
|
107
113
|
],
|
|
108
114
|
languageOptions: {
|
|
109
|
-
globals: globals.builtin,
|
|
110
115
|
parserOptions: {
|
|
111
116
|
ecmaVersion: 'latest',
|
|
112
117
|
errorOnTypeScriptSyntacticAndSemanticIssues: false,
|
|
@@ -115,21 +120,13 @@ export default tseslint.config(
|
|
|
115
120
|
warnOnUnsupportedTypeScriptVersion: false,
|
|
116
121
|
...parserOptions,
|
|
117
122
|
},
|
|
123
|
+
globals: globals.builtin,
|
|
118
124
|
},
|
|
119
125
|
processor: angular.processInlineTemplates,
|
|
120
|
-
plugins: {
|
|
121
|
-
rxjs,
|
|
122
|
-
unicorn,
|
|
123
|
-
sonarjs,
|
|
124
|
-
prettier,
|
|
125
|
-
perfectionist: require('eslint-plugin-perfectionist'),
|
|
126
|
-
'@stylistic': stylistic,
|
|
127
|
-
'@stylistic/ts': stylisticTs,
|
|
128
|
-
'unused-imports': unusedImports,
|
|
129
|
-
'decorator-position': require('eslint-plugin-decorator-position'),
|
|
130
|
-
'simple-import-sort': simpleImportSort,
|
|
131
|
-
},
|
|
132
126
|
rules: {
|
|
127
|
+
'@typescript-eslint/no-import-type-side-effects': 'error',
|
|
128
|
+
'no-void': ['error', {allowAsStatement: true}],
|
|
129
|
+
'sonarjs/no-identical-functions': 'error',
|
|
133
130
|
'@angular-eslint/contextual-decorator': 'error',
|
|
134
131
|
'@angular-eslint/contextual-lifecycle': 'error',
|
|
135
132
|
'@angular-eslint/directive-selector': 'error',
|
|
@@ -244,7 +241,7 @@ export default tseslint.config(
|
|
|
244
241
|
},
|
|
245
242
|
},
|
|
246
243
|
],
|
|
247
|
-
'@typescript-eslint/max-params': ['error', {countVoidThis: true, max:
|
|
244
|
+
'@typescript-eslint/max-params': ['error', {countVoidThis: true, max: 5}],
|
|
248
245
|
'@typescript-eslint/member-ordering': [
|
|
249
246
|
'error',
|
|
250
247
|
{
|
|
@@ -401,7 +398,6 @@ export default tseslint.config(
|
|
|
401
398
|
],
|
|
402
399
|
'@typescript-eslint/no-for-in-array': 'error',
|
|
403
400
|
'@typescript-eslint/no-implied-eval': 'error',
|
|
404
|
-
'@typescript-eslint/no-import-type-side-effects': 'error',
|
|
405
401
|
'@typescript-eslint/no-inferrable-types': 'error',
|
|
406
402
|
'@typescript-eslint/no-namespace': ['error', {allowDeclarations: true}],
|
|
407
403
|
'@typescript-eslint/no-non-null-asserted-nullish-coalescing': 'error',
|
|
@@ -410,10 +406,6 @@ export default tseslint.config(
|
|
|
410
406
|
'error',
|
|
411
407
|
{
|
|
412
408
|
types: {
|
|
413
|
-
'{}': {
|
|
414
|
-
message:
|
|
415
|
-
'`{}` actually means `any non-nullish value`.\n- If you want a type meaning `any object`, you probably want `object` instead.\n- If you want a type meaning `any value`, you probably want `unknown` instead.\n- If you want a type meaning `empty object`, you probably want `Record<string, never>` instead.',
|
|
416
|
-
},
|
|
417
409
|
BigInt: {
|
|
418
410
|
fixWith: 'bigint',
|
|
419
411
|
message: 'Use bigint instead',
|
|
@@ -438,6 +430,10 @@ export default tseslint.config(
|
|
|
438
430
|
fixWith: 'symbol',
|
|
439
431
|
message: 'Use symbol instead',
|
|
440
432
|
},
|
|
433
|
+
'{}': {
|
|
434
|
+
message:
|
|
435
|
+
'`{}` actually means `any non-nullish value`.\n- If you want a type meaning `any object`, you probably want `object` instead.\n- If you want a type meaning `any value`, you probably want `unknown` instead.\n- If you want a type meaning `empty object`, you probably want `Record<string, never>` instead.',
|
|
436
|
+
},
|
|
441
437
|
},
|
|
442
438
|
},
|
|
443
439
|
],
|
|
@@ -499,8 +495,8 @@ export default tseslint.config(
|
|
|
499
495
|
'@typescript-eslint/switch-exhaustiveness-check': [
|
|
500
496
|
'error',
|
|
501
497
|
{
|
|
502
|
-
allowDefaultCaseForExhaustiveSwitch: true,
|
|
503
498
|
considerDefaultExhaustiveForUnions: true,
|
|
499
|
+
allowDefaultCaseForExhaustiveSwitch: true,
|
|
504
500
|
requireDefaultForNonUnion: false,
|
|
505
501
|
},
|
|
506
502
|
],
|
|
@@ -517,8 +513,8 @@ export default tseslint.config(
|
|
|
517
513
|
'decorator-position/decorator-position': [
|
|
518
514
|
'error',
|
|
519
515
|
{
|
|
520
|
-
methods: 'above',
|
|
521
516
|
printWidth: 120,
|
|
517
|
+
methods: 'above',
|
|
522
518
|
properties: 'above',
|
|
523
519
|
},
|
|
524
520
|
],
|
|
@@ -542,7 +538,6 @@ export default tseslint.config(
|
|
|
542
538
|
'import/newline-after-import': ['error', {count: 1}],
|
|
543
539
|
'import/no-absolute-path': 'error',
|
|
544
540
|
'import/no-cycle': 'error',
|
|
545
|
-
'import/no-deprecated': 'error',
|
|
546
541
|
'import/no-duplicates': 'error',
|
|
547
542
|
'import/no-mutable-exports': 'error',
|
|
548
543
|
'import/no-self-import': 'error',
|
|
@@ -573,6 +568,7 @@ export default tseslint.config(
|
|
|
573
568
|
],
|
|
574
569
|
'max-depth': 'error',
|
|
575
570
|
'max-nested-callbacks': ['error', 4],
|
|
571
|
+
'max-params': ['error', 5],
|
|
576
572
|
'no-bitwise': 'error',
|
|
577
573
|
'no-case-declarations': 'error',
|
|
578
574
|
'no-console': [
|
|
@@ -582,9 +578,10 @@ export default tseslint.config(
|
|
|
582
578
|
},
|
|
583
579
|
],
|
|
584
580
|
'no-constant-condition': 'error',
|
|
581
|
+
'no-empty': ['error', {allowEmptyCatch: true}],
|
|
585
582
|
'no-implicit-coercion': ['error', {allow: ['!!']}],
|
|
586
|
-
'no-irregular-whitespace': 'error',
|
|
587
583
|
'no-loop-func': 'error',
|
|
584
|
+
'no-nested-ternary': 'error',
|
|
588
585
|
'no-restricted-imports': [
|
|
589
586
|
'error',
|
|
590
587
|
{
|
|
@@ -706,7 +703,6 @@ export default tseslint.config(
|
|
|
706
703
|
},
|
|
707
704
|
],
|
|
708
705
|
'no-var': 'error',
|
|
709
|
-
'no-void': ['error', {allowAsStatement: true}],
|
|
710
706
|
'perfectionist/sort-array-includes': [
|
|
711
707
|
'error',
|
|
712
708
|
{
|
|
@@ -762,6 +758,7 @@ export default tseslint.config(
|
|
|
762
758
|
'rxjs/no-connectable': 'error',
|
|
763
759
|
'rxjs/no-cyclic-action': 'error',
|
|
764
760
|
'rxjs/no-ignored-observable': 'error',
|
|
761
|
+
'rxjs/no-nested-subscribe': 'error',
|
|
765
762
|
'rxjs/no-topromise': 'error',
|
|
766
763
|
'rxjs/no-unsafe-catch': 'error',
|
|
767
764
|
'rxjs/no-unsafe-first': 'error',
|
|
@@ -769,7 +766,6 @@ export default tseslint.config(
|
|
|
769
766
|
'rxjs/throw-error': 'error',
|
|
770
767
|
'simple-import-sort/exports': 'error',
|
|
771
768
|
'simple-import-sort/imports': 'error',
|
|
772
|
-
'sonarjs/no-identical-functions': 'error',
|
|
773
769
|
'sonarjs/no-inverted-boolean-check': 'error',
|
|
774
770
|
'spaced-comment': [
|
|
775
771
|
'error',
|
|
@@ -813,9 +809,9 @@ export default tseslint.config(
|
|
|
813
809
|
...angular.configs.templateAccessibility,
|
|
814
810
|
],
|
|
815
811
|
rules: {
|
|
816
|
-
'@angular-eslint/template/no-negated-async': 'off',
|
|
817
|
-
'@angular-eslint/template/label-has-associated-control': 'off',
|
|
818
812
|
'@angular-eslint/template/interactive-supports-focus': 'off',
|
|
813
|
+
'@angular-eslint/template/label-has-associated-control': 'off',
|
|
814
|
+
'@angular-eslint/template/no-negated-async': 'off',
|
|
819
815
|
'@typescript-eslint/ban-ts-comment': 'off',
|
|
820
816
|
'import/namespace': 'off',
|
|
821
817
|
},
|
|
@@ -825,9 +821,9 @@ export default tseslint.config(
|
|
|
825
821
|
...playwright.configs['flat/recommended'],
|
|
826
822
|
rules: {
|
|
827
823
|
...playwright.configs['flat/recommended'].rules,
|
|
824
|
+
'playwright/no-networkidle': 'off',
|
|
828
825
|
'jest/prefer-importing-jest-globals': 'off',
|
|
829
826
|
'playwright/no-force-option': 'error',
|
|
830
|
-
'playwright/no-networkidle': 'off',
|
|
831
827
|
'playwright/no-skipped-test': 'error',
|
|
832
828
|
'playwright/no-wait-for-selector': 'off',
|
|
833
829
|
'playwright/no-wait-for-timeout': 'off',
|
|
@@ -860,6 +856,7 @@ export default tseslint.config(
|
|
|
860
856
|
* If enabled we have
|
|
861
857
|
* Expected to be running in 'ProxyZone', but it was not found
|
|
862
858
|
*/
|
|
859
|
+
'jest/valid-title': 'error',
|
|
863
860
|
'jest/prefer-importing-jest-globals': 'off',
|
|
864
861
|
'jest/prefer-lowercase-title': [
|
|
865
862
|
'error',
|
|
@@ -896,7 +893,6 @@ export default tseslint.config(
|
|
|
896
893
|
},
|
|
897
894
|
],
|
|
898
895
|
'jest/unbound-method': 'off',
|
|
899
|
-
'jest/valid-title': 'error',
|
|
900
896
|
},
|
|
901
897
|
},
|
|
902
898
|
{
|
|
@@ -908,10 +904,18 @@ export default tseslint.config(
|
|
|
908
904
|
'no-implicit-globals': 'error',
|
|
909
905
|
},
|
|
910
906
|
},
|
|
907
|
+
{
|
|
908
|
+
files: ['**/*.js'],
|
|
909
|
+
rules: {
|
|
910
|
+
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
911
|
+
'no-template-curly-in-string': 'off',
|
|
912
|
+
},
|
|
913
|
+
},
|
|
911
914
|
{
|
|
912
915
|
files: ['**/*'],
|
|
913
916
|
rules: {
|
|
914
|
-
'
|
|
917
|
+
'@angular-eslint/use-injectable-provided-in': 'off',
|
|
918
|
+
'sonarjs/no-invalid-await': 'off',
|
|
915
919
|
'@angular-eslint/component-class-suffix': 'off',
|
|
916
920
|
'@angular-eslint/component-max-inline-declarations': 'off',
|
|
917
921
|
'@angular-eslint/component-selector': 'off',
|
|
@@ -929,17 +933,16 @@ export default tseslint.config(
|
|
|
929
933
|
'@angular-eslint/template/click-events-have-key-events': 'off',
|
|
930
934
|
'@angular-eslint/use-component-selector': 'off',
|
|
931
935
|
'@angular-eslint/use-component-view-encapsulation': 'off',
|
|
932
|
-
'@angular-eslint/use-injectable-provided-in': 'off',
|
|
933
936
|
'@typescript-eslint/adjacent-overload-signatures': 'off',
|
|
934
|
-
'@typescript-eslint/class-literal-property-style': 'off',
|
|
935
|
-
'@typescript-eslint/no-require-imports': 'off',
|
|
936
937
|
'@typescript-eslint/ban-ts-comment': 'off',
|
|
938
|
+
'@typescript-eslint/class-literal-property-style': 'off',
|
|
937
939
|
'@typescript-eslint/consistent-return': 'off',
|
|
938
940
|
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
|
939
941
|
'@typescript-eslint/no-base-to-string': 'off',
|
|
940
942
|
'@typescript-eslint/no-explicit-any': 'off',
|
|
941
943
|
'@typescript-eslint/no-floating-promises': 'off',
|
|
942
944
|
'@typescript-eslint/no-non-null-assertion': 'off',
|
|
945
|
+
'@typescript-eslint/no-require-imports': 'off',
|
|
943
946
|
'@typescript-eslint/no-shadow': 'off',
|
|
944
947
|
'@typescript-eslint/no-unnecessary-condition': 'off',
|
|
945
948
|
'@typescript-eslint/no-unsafe-member-access': 'off',
|
|
@@ -962,9 +965,11 @@ export default tseslint.config(
|
|
|
962
965
|
'func-names': 'off',
|
|
963
966
|
'global-require': 'off',
|
|
964
967
|
'grouped-accessor-pairs': 'off',
|
|
968
|
+
'import/export': 'off',
|
|
965
969
|
'import/exports-last': 'off',
|
|
966
970
|
'import/extensions': 'off',
|
|
967
971
|
'import/no-default-export': 'off',
|
|
972
|
+
'import/no-deprecated': 'off',
|
|
968
973
|
'import/no-dynamic-require': 'off',
|
|
969
974
|
'import/no-extraneous-dependencies': 'off',
|
|
970
975
|
'import/no-relative-packages': 'off',
|
|
@@ -972,15 +977,16 @@ export default tseslint.config(
|
|
|
972
977
|
'import/prefer-default-export': 'off',
|
|
973
978
|
'lines-between-class-members': 'off',
|
|
974
979
|
'max-classes-per-file': 'off',
|
|
975
|
-
'max-params': 'off',
|
|
976
980
|
'max-statements': 'off',
|
|
977
981
|
'no-await-in-loop': 'off',
|
|
978
982
|
'no-bitwise': 'off',
|
|
983
|
+
'no-constant-binary-expression': 'off',
|
|
979
984
|
'no-constructor-return': 'off',
|
|
980
985
|
'no-continue': 'off',
|
|
981
986
|
'no-dupe-class-members': 'off',
|
|
982
987
|
'no-duplicate-imports': 'off',
|
|
983
988
|
'no-empty-function': 'off',
|
|
989
|
+
'no-irregular-whitespace': 'off',
|
|
984
990
|
'no-param-reassign': 'off',
|
|
985
991
|
'no-plusplus': 'off',
|
|
986
992
|
'no-prototype-builtins': 'off',
|
|
@@ -1002,7 +1008,6 @@ export default tseslint.config(
|
|
|
1002
1008
|
'react/no-is-mounted': 'off',
|
|
1003
1009
|
'require-await': 'off',
|
|
1004
1010
|
'rxjs/no-ignored-takewhile-value': 'off',
|
|
1005
|
-
'rxjs/no-nested-subscribe': 'off',
|
|
1006
1011
|
'rxjs/no-unsafe-takeuntil': 'off',
|
|
1007
1012
|
'sonarjs/aws-apigateway-public-api': 'off',
|
|
1008
1013
|
'sonarjs/aws-ec2-rds-dms-public': 'off',
|
|
@@ -1035,7 +1040,6 @@ export default tseslint.config(
|
|
|
1035
1040
|
'sonarjs/no-commented-code': 'off',
|
|
1036
1041
|
'sonarjs/no-duplicate-string': 'off',
|
|
1037
1042
|
'sonarjs/no-empty-function': 'off',
|
|
1038
|
-
'sonarjs/no-invalid-await': 'off',
|
|
1039
1043
|
'sonarjs/no-misleading-array-reverse': 'off',
|
|
1040
1044
|
'sonarjs/no-misused-promises': 'off',
|
|
1041
1045
|
'sonarjs/no-nested-conditional': 'off',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taiga-ui/eslint-plugin-experience-next",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.252.0",
|
|
4
4
|
"description": "An ESLint plugin to enforce a consistent code styles across taiga-ui projects",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "eslint.config.ts",
|
|
@@ -9,24 +9,24 @@
|
|
|
9
9
|
"@smarttools/eslint-plugin-rxjs": ">=1.0.18",
|
|
10
10
|
"@stylistic/eslint-plugin": ">=3.1.0",
|
|
11
11
|
"@stylistic/eslint-plugin-ts": ">=3.1.0",
|
|
12
|
-
"@typescript-eslint/eslint-plugin": ">=8.
|
|
12
|
+
"@typescript-eslint/eslint-plugin": ">=8.24.0",
|
|
13
13
|
"angular-eslint": ">=19.1.0",
|
|
14
|
-
"eslint": ">=9.20.
|
|
14
|
+
"eslint": ">=9.20.1",
|
|
15
15
|
"eslint-config-prettier": ">=10.0.1",
|
|
16
16
|
"eslint-plugin-decorator-position": ">=6.0.0",
|
|
17
17
|
"eslint-plugin-file-progress": ">=3.0.1",
|
|
18
18
|
"eslint-plugin-import": ">=2.31.0",
|
|
19
19
|
"eslint-plugin-jest": ">=28.11.0",
|
|
20
|
-
"eslint-plugin-perfectionist": ">=4.
|
|
20
|
+
"eslint-plugin-perfectionist": ">=4.9.0",
|
|
21
21
|
"eslint-plugin-playwright": ">=2.2.0",
|
|
22
22
|
"eslint-plugin-prettier": ">=5.2.3",
|
|
23
23
|
"eslint-plugin-promise": ">=7.2.1",
|
|
24
24
|
"eslint-plugin-simple-import-sort": ">=12.1.1",
|
|
25
|
-
"eslint-plugin-sonarjs": ">=3.0.
|
|
25
|
+
"eslint-plugin-sonarjs": ">=3.0.2",
|
|
26
26
|
"eslint-plugin-unicorn": ">=56.0.1",
|
|
27
27
|
"eslint-plugin-unused-imports": ">=4.1.4",
|
|
28
|
-
"globals": ">=15.
|
|
29
|
-
"typescript-eslint": ">=8.
|
|
28
|
+
"globals": ">=15.15.0",
|
|
29
|
+
"typescript-eslint": ">=8.24.0"
|
|
30
30
|
},
|
|
31
31
|
"publishConfig": {
|
|
32
32
|
"access": "public"
|