linter-bundle 6.0.0 → 6.2.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/CHANGELOG.md CHANGED
@@ -6,7 +6,31 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
- [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v6.0.0...HEAD)
9
+ [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v6.2.0...HEAD)
10
+
11
+ ## [6.2.0] - 2024-01-25
12
+
13
+ ### Changed
14
+
15
+ - [eslint/overrides-jsdoc] Updated `eslint-plugin-jsdoc` from `48.0.2` to `48.0.3`
16
+ - [stylelint] Remove `padding-inline`, `margin-inline`, `inset-inline`, `inset-inline-start` and `inset-inline-end` from [`property-disallowed-list`](https://stylelint.io/user-guide/rules/property-disallowed-list/) rule, as it is supported in all main browsers since at least 3 years
17
+ - [stylelint] Add `inset-block(-start/-end)`, `inset-inline(-start/-end)`, `padding-block(-start/-end)`, `padding-inline(-start/-end)` and `margin-block(-start/-end)`, `margin-inline(-start/-end)`
18
+ to [`order/properties-order`](https://github.com/hudochenkov/stylelint-order/blob/master/rules/properties-order/README.md) configuration
19
+
20
+ [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v6.1.0...v6.2.0)
21
+
22
+ ## [6.1.0] - 2024-01-24
23
+
24
+ ### Changed
25
+
26
+ - [eslint] Updated `@typescript-eslint` from `6.19.0` to `6.19.1`
27
+ - [stylelint] Updated `stylelint-scss` from `6.0.0` to `6.1.0`
28
+ - [eslint] Activate `allowConstantLoopConditions` of [`@typescript-eslint/no-unnecessary-condition`](https://typescript-eslint.io/rules/no-unnecessary-condition/) rule, as this is covered by [`no-constant-condition`](https://archive.eslint.org/docs/rules/no-constant-condition)
29
+ - [eslint] Allow "camelCase" and "PascalCase" style in [`@typescript-eslint/naming-convention`](https://typescript-eslint.io/rules/naming-convention/) rule for imports
30
+ - [eslint/overrides-javascript] Disable [`unicorn/prefer-module`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-module.md) for *.js files in the root directory (so that configuration files are ignored)
31
+ - [stylelint] Make use of new [`scss/no-unused-private-members`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/no-unused-private-members/README.md) rule
32
+
33
+ [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v6.0.0...v6.1.0)
10
34
 
11
35
  ## [6.0.0] - 2024-01-21
12
36
 
@@ -231,7 +255,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
231
255
  - [eslint] Updated `eslint-plugin-react` from `7.32.2` to `7.33.0`
232
256
  - [eslint] Updated `eslint-plugin-unicorn` from `48.0.0` to `48.0.1`
233
257
  - [eslint] Reactivated `unicorn/no-empty-file`
234
- - [eslint] Activated `ignoreConditionalTests` and `ignoreMixedLogicalExpressions` options of [@typescript-eslint/prefer-nullish-coalescing](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-nullish-coalescing.md) rule
258
+ - [eslint] Activated `ignoreConditionalTests` and `ignoreMixedLogicalExpressions` options of [@typescript-eslint/prefer-nullish-coalescing](https://typescript-eslint.io/rules/prefer-nullish-coalescing.md) rule
235
259
  - [styleint] Set `ignoreFunctions` option to `/^custom-/u` of [`scss/function-no-unknown`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/function-no-unknown/README.md) rule
236
260
  - [stylelint] Ignore SCSS variables in [`declaration-property-value-no-unknown`](https://stylelint.io/user-guide/rules/declaration-property-value-no-unknown/) rule
237
261
  - [stylelint] Ignore wrapping parentheses for `grid-template-areas` values in [`declaration-property-value-no-unknown`](https://stylelint.io/user-guide/rules/declaration-property-value-no-unknown/) rule
@@ -377,12 +401,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
377
401
 
378
402
  ### Added
379
403
 
380
- - [eslint] Added new [`@typescript-eslint/key-spacing`](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/key-spacing.md) rule
381
- - [eslint] Added new [`@typescript-eslint/no-duplicate-type-constituents.md`](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/no-duplicate-type-constituents.md) rule
382
- - [eslint] Added new [`@typescript-eslint/no-import-type-side-effects`](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/no-import-type-side-effects.md) rule
383
- - [eslint] Added new [`@typescript-eslint/no-mixed-enums`](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/no-mixed-enums.md) rule
384
- - [eslint] Added new [`@typescript-eslint/no-unsafe-enum-comparison`](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/no-unsafe-enum-comparison.md) rule
385
- - [eslint] Added new [`@typescript-eslint/sort-type-constituents`](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/sort-type-constituents.md) rule
404
+ - [eslint] Added new [`@typescript-eslint/key-spacing`](https://typescript-eslint.io/rules/key-spacing.md) rule
405
+ - [eslint] Added new [`@typescript-eslint/no-duplicate-type-constituents.md`](https://typescript-eslint.io/rules/no-duplicate-type-constituents.md) rule
406
+ - [eslint] Added new [`@typescript-eslint/no-import-type-side-effects`](https://typescript-eslint.io/rules/no-import-type-side-effects.md) rule
407
+ - [eslint] Added new [`@typescript-eslint/no-mixed-enums`](https://typescript-eslint.io/rules/no-mixed-enums.md) rule
408
+ - [eslint] Added new [`@typescript-eslint/no-unsafe-enum-comparison`](https://typescript-eslint.io/rules/no-unsafe-enum-comparison.md) rule
409
+ - [eslint] Added new [`@typescript-eslint/sort-type-constituents`](https://typescript-eslint.io/rules/sort-type-constituents.md) rule
386
410
  - [eslint] Added new [`no-constant-binary-expression`](https://github.com/eslint/eslint/blob/main/docs/src/rules/no-constant-binary-expression.md) rule
387
411
  - [eslint] Added new [`functional/prefer-immutable-types`](https://github.com/eslint-functional/eslint-plugin-functional/blob/main/docs/rules/prefer-immutable-types.md) rule, but disabled it
388
412
  - [eslint] Added new [`functional/readonly-type`](https://github.com/eslint-functional/eslint-plugin-functional/blob/main/docs/rules/readonly-type.md) rule with option `keyword`
@@ -900,7 +924,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
900
924
  - [eslint] Updated `@typescript-eslint` from v5.11.0 to v5.12.0
901
925
  - [eslint] Updated `eslint` from v8.8.0 to v8.9.0
902
926
  - [eslint] Updated `eslint-plugin-jsdoc` from v37.8.2 to v37.9.1
903
- - [eslint] Ignore `generics` in [`@typescript-eslint/comma-dangle`](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/comma-dangle.md) to allow [generic component definitions for function components](https://wanago.io/2020/03/09/functional-react-components-with-generic-props-in-typescript/#crayon-620a96e97d44a141656396)
927
+ - [eslint] Ignore `generics` in [`@typescript-eslint/comma-dangle`](https://typescript-eslint.io/rules/comma-dangle.md) to allow [generic component definitions for function components](https://wanago.io/2020/03/09/functional-react-components-with-generic-props-in-typescript/#crayon-620a96e97d44a141656396)
904
928
 
905
929
  [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v2.5.0...v2.6.0)
906
930
 
package/eslint/index.cjs CHANGED
@@ -650,6 +650,9 @@ module.exports = {
650
650
  // Interface
651
651
  { selector: 'interface', format: ['PascalCase'] },
652
652
 
653
+ // Import
654
+ { selector: 'import', format: ['camelCase', 'PascalCase'] },
655
+
653
656
  // Type alias
654
657
  { selector: 'typeAlias', format: ['PascalCase'] },
655
658
 
@@ -718,7 +721,7 @@ module.exports = {
718
721
  allowTupleTypes: 'in-unions-and-intersections'
719
722
  }],
720
723
  '@typescript-eslint/no-unnecessary-boolean-literal-compare': 'error',
721
- '@typescript-eslint/no-unnecessary-condition': 'error',
724
+ '@typescript-eslint/no-unnecessary-condition': ['error', { allowConstantLoopConditions: true }],
722
725
  '@typescript-eslint/no-unnecessary-qualifier': 'error',
723
726
  '@typescript-eslint/no-unnecessary-type-arguments': 'error',
724
727
  '@typescript-eslint/no-unnecessary-type-assertion': 'error',
@@ -110,6 +110,12 @@ module.exports = {
110
110
  rules: {
111
111
  'unicorn/prefer-top-level-await': 'error'
112
112
  }
113
+ },
114
+ {
115
+ files: ['./*.js'],
116
+ rules: {
117
+ 'unicorn/prefer-module': 'off'
118
+ }
113
119
  }
114
120
  ]
115
121
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linter-bundle",
3
- "version": "6.0.0",
3
+ "version": "6.2.0",
4
4
  "type": "module",
5
5
  "description": "Ready-to use bundle of linting tools, containing configurations for ESLint, stylelint and markdownlint.",
6
6
  "keywords": [
@@ -41,9 +41,9 @@
41
41
  "_test-stylelint": "node ./test-stylelint.js"
42
42
  },
43
43
  "dependencies": {
44
- "@typescript-eslint/eslint-plugin": "6.19.0",
45
- "@typescript-eslint/parser": "6.19.0",
46
- "@typescript-eslint/utils": "6.19.0",
44
+ "@typescript-eslint/eslint-plugin": "6.19.1",
45
+ "@typescript-eslint/parser": "6.19.1",
46
+ "@typescript-eslint/utils": "6.19.1",
47
47
  "eslint": "8.56.0",
48
48
  "eslint-import-resolver-typescript": "3.6.1",
49
49
  "eslint-import-resolver-webpack": "0.13.8",
@@ -51,7 +51,7 @@
51
51
  "eslint-plugin-functional": "6.0.0",
52
52
  "eslint-plugin-import": "2.29.1",
53
53
  "eslint-plugin-jest": "27.6.3",
54
- "eslint-plugin-jsdoc": "48.0.2",
54
+ "eslint-plugin-jsdoc": "48.0.3",
55
55
  "eslint-plugin-jsx-a11y": "6.8.0",
56
56
  "eslint-plugin-n": "16.6.2",
57
57
  "eslint-plugin-promise": "6.1.1",
@@ -65,7 +65,7 @@
65
65
  "stylelint-declaration-block-no-ignored-properties": "2.8.0",
66
66
  "stylelint-high-performance-animation": "1.10.0",
67
67
  "stylelint-order": "6.0.4",
68
- "stylelint-scss": "6.0.0",
68
+ "stylelint-scss": "6.1.0",
69
69
  "stylelint-use-logical-spec": "5.0.1"
70
70
  },
71
71
  "peerDependencies": {
@@ -75,7 +75,7 @@
75
75
  "devDependencies": {
76
76
  "@types/eslint": "8.56.2",
77
77
  "@types/micromatch": "4.0.6",
78
- "@types/node": "20.11.5",
78
+ "@types/node": "20.11.6",
79
79
  "stylelint-find-new-rules": "5.0.0",
80
80
  "typescript": "5.3.3"
81
81
  }
@@ -281,12 +281,7 @@ module.exports = (async () => {
281
281
  'property-allowed-list': null,
282
282
  'property-disallowed-list': [
283
283
  'font', // Shorthand property is to complex
284
- 'grid-gap', // @deprecated Use gap.
285
- 'padding-inline', // That's not widely supported and there is no fallback. @see https://caniuse.com/mdn-css_properties_padding-inline
286
- 'margin-inline', // That's not widely supported and there is no fallback. @see https://caniuse.com/mdn-css_properties_margin-inline
287
- 'inset-inline', // That's not widely supported and there is no fallback. @see https://caniuse.com/mdn-css_properties_inset-inline
288
- 'inset-inline-start', // That's not widely supported and there is no fallback. @see https://caniuse.com/mdn-css_properties_inset-inline-start
289
- 'inset-inline-end' // That's not widely supported and there is no fallback. @see https://caniuse.com/mdn-css_properties_inset-inline-end
284
+ 'grid-gap' // @deprecated Use gap.
290
285
  ],
291
286
  'property-no-unknown': null, // Covered by scss/property-no-unknown
292
287
  'property-no-vendor-prefix': true,
@@ -533,6 +528,13 @@ module.exports = (async () => {
533
528
  'bottom',
534
529
  'left',
535
530
 
531
+ 'inset-inline',
532
+ 'inset-inline-start',
533
+ 'inset-inline-end',
534
+ 'inset-block',
535
+ 'inset-block-start',
536
+ 'inset-block-end',
537
+
536
538
  'box-sizing'
537
539
  ]
538
540
  },
@@ -630,8 +632,13 @@ module.exports = (async () => {
630
632
  'margin-right',
631
633
  'margin-bottom',
632
634
  'margin-left',
635
+
636
+ 'margin-inline',
633
637
  'margin-inline-start',
634
- 'margin-inline-end'
638
+ 'margin-inline-end',
639
+ 'margin-block',
640
+ 'margin-block-start',
641
+ 'margin-block-end'
635
642
  ]
636
643
  },
637
644
  {
@@ -644,8 +651,13 @@ module.exports = (async () => {
644
651
  'padding-right',
645
652
  'padding-bottom',
646
653
  'padding-left',
654
+
655
+ 'padding-inline',
647
656
  'padding-inline-start',
648
- 'padding-inline-end'
657
+ 'padding-inline-end',
658
+ 'padding-block',
659
+ 'padding-block-start',
660
+ 'padding-block-end'
649
661
  ]
650
662
  },
651
663
  {
@@ -1015,6 +1027,7 @@ module.exports = (async () => {
1015
1027
  'scss/no-duplicate-dollar-variables': true,
1016
1028
  'scss/no-duplicate-mixins': true,
1017
1029
  'scss/no-global-function-names': true,
1030
+ 'scss/no-unused-private-members': true,
1018
1031
  'scss/operator-no-newline-after': true,
1019
1032
  'scss/operator-no-newline-before': true,
1020
1033
  'scss/operator-no-unspaced': true,
@@ -1074,8 +1087,8 @@ module.exports = (async () => {
1074
1087
  'padding-top',
1075
1088
  'padding-bottom',
1076
1089
 
1077
- 'left', // "inset-inline" is not supported by any browser, expect Firefox. @see https://caniuse.com/mdn-css_properties_inset-inline
1078
- 'right', // "inset-inline-end" is not supported by any browser, expect Firefox. @see https://caniuse.com/mdn-css_properties_inset-inline
1090
+ 'left',
1091
+ 'right',
1079
1092
 
1080
1093
  'text-align', // @todo Should only be disabled for "right", since numbers should be always aligned right, for any direction.
1081
1094