linter-bundle 3.4.0 → 3.6.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 +38 -1
- package/eslint/index.js +7 -9
- package/package.json +16 -16
- package/stylelint/index.js +7 -3
package/CHANGELOG.md
CHANGED
|
@@ -6,7 +6,44 @@ 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/v3.
|
|
9
|
+
[Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v3.6.0...HEAD)
|
|
10
|
+
|
|
11
|
+
## [3.6.0] - 2023-08-11
|
|
12
|
+
|
|
13
|
+
- [general] Change peer-dependency of `typescript` from `^4.0.0` to `>=4.0.0`
|
|
14
|
+
- [eslint] Updated `@typescript-eslint` from `6.2.0` to `6.3.0`
|
|
15
|
+
- [eslint] Updated `eslint` from `8.45.0` to `8.47.0`
|
|
16
|
+
- [eslint] Updated `eslint-import-resolver-typescript` from `3.5.5` to `3.6.0`
|
|
17
|
+
- [eslint] Updated `eslint-import-resolver-webpack` from `0.13.2` to `0.13.4`
|
|
18
|
+
- [eslint] Updated `eslint-plugin-functional` from `5.0.8` to `6.0.0`
|
|
19
|
+
- [eslint] Updated `eslint-plugin-jsdoc` from `46.4.5` to `46.4.6`
|
|
20
|
+
- [eslint] Updated `eslint-plugin-react` from `7.33.0` to `7.33.1`
|
|
21
|
+
- [stylelint] Updated `stylelint-scss` from `5.0.1` to `5.1.0`
|
|
22
|
+
- [eslint] Removed deprecated (and currently disabled) `no-return-await` rule
|
|
23
|
+
- [styleint] Added but disabled [`scss/function-disallowed-list`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/function-disallowed-list) rule
|
|
24
|
+
|
|
25
|
+
[Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v3.5.0...v3.6.0)
|
|
26
|
+
|
|
27
|
+
## [3.5.0] - 2023-07-28
|
|
28
|
+
|
|
29
|
+
### Changed
|
|
30
|
+
|
|
31
|
+
- [eslint] Updated `@typescript-eslint/eslint-plugin` from `6.1.0` to `6.2.0`
|
|
32
|
+
- [eslint] Updated `eslint-plugin-import` from `2.27.5` to `2.28.0`
|
|
33
|
+
- [eslint] Updated `eslint-plugin-jsdoc` from `46.4.4` to `46.4.5`
|
|
34
|
+
- [eslint] Updated `eslint-plugin-react` from `7.32.2` to `7.33.0`
|
|
35
|
+
- [eslint] Updated `eslint-plugin-unicorn` from `48.0.0` to `48.0.1`
|
|
36
|
+
- [eslint] Reactivated `unicorn/no-empty-file`
|
|
37
|
+
- [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
|
|
38
|
+
- [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
|
|
39
|
+
- [stylelint] Ignore SCSS variables in [`declaration-property-value-no-unknown`](https://stylelint.io/user-guide/rules/declaration-property-value-no-unknown/) rule
|
|
40
|
+
- [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
|
|
41
|
+
|
|
42
|
+
### Added
|
|
43
|
+
|
|
44
|
+
- Replace the ESLint rule `class-methods-use-this` by the new [`@typescript-eslint/class-methods-use-this`](https://typescript-eslint.io/rules/class-methods-use-this/) rule
|
|
45
|
+
|
|
46
|
+
[Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v3.4.0...v3.5.0)
|
|
10
47
|
|
|
11
48
|
## [3.4.0] - 2023-07-20
|
|
12
49
|
|
package/eslint/index.js
CHANGED
|
@@ -125,7 +125,7 @@ module.exports = {
|
|
|
125
125
|
'brace-style': 'off', // Covered by @typescript-eslint/brace-style
|
|
126
126
|
'camelcase': 'off', // Covered by @typescript-eslint/naming-convention
|
|
127
127
|
'capitalized-comments': 'off',
|
|
128
|
-
'class-methods-use-this':
|
|
128
|
+
'class-methods-use-this': 'off', // Covered by @typescript-eslint/class-methods-use-this
|
|
129
129
|
'comma-dangle': 'off', // Covered by @typescript-eslint/comma-dangle
|
|
130
130
|
'comma-spacing': 'off', // Covered by @typescript-eslint/comma-spacing
|
|
131
131
|
'comma-style': 'error',
|
|
@@ -294,7 +294,6 @@ module.exports = {
|
|
|
294
294
|
...ensureType.array(global.linterBundleSettings?.overrides?.general?.['no-restricted-syntax']?.additionalRestrictions)
|
|
295
295
|
],
|
|
296
296
|
'no-return-assign': 'error',
|
|
297
|
-
'no-return-await': 'off', // Covered by @typescript-eslint/return-await
|
|
298
297
|
'no-script-url': 'error',
|
|
299
298
|
'no-self-assign': 'error',
|
|
300
299
|
'no-self-compare': 'error',
|
|
@@ -423,9 +422,8 @@ module.exports = {
|
|
|
423
422
|
}],
|
|
424
423
|
'@typescript-eslint/brace-style': ['error', 'stroustrup', { allowSingleLine: true }],
|
|
425
424
|
'@typescript-eslint/class-literal-property-style': 'error',
|
|
426
|
-
'@typescript-eslint/
|
|
427
|
-
|
|
428
|
-
}],
|
|
425
|
+
'@typescript-eslint/class-methods-use-this': ['error', { exceptMethods: ['componentDidMount', 'componentDidUpdate', 'componentWillUnmount', 'shouldComponentUpdate'] }],
|
|
426
|
+
'@typescript-eslint/comma-dangle': ['error', { generics: 'ignore' }],
|
|
429
427
|
'@typescript-eslint/comma-spacing': 'error',
|
|
430
428
|
'@typescript-eslint/consistent-generic-constructors': 'error',
|
|
431
429
|
'@typescript-eslint/consistent-indexed-object-style': 'error',
|
|
@@ -745,7 +743,7 @@ module.exports = {
|
|
|
745
743
|
'@typescript-eslint/prefer-includes': 'error',
|
|
746
744
|
'@typescript-eslint/prefer-literal-enum-member': 'error',
|
|
747
745
|
'@typescript-eslint/prefer-namespace-keyword': 'error',
|
|
748
|
-
'@typescript-eslint/prefer-nullish-coalescing': 'error',
|
|
746
|
+
'@typescript-eslint/prefer-nullish-coalescing': ['error', { ignoreConditionalTests: true, ignoreMixedLogicalExpressions: true }],
|
|
749
747
|
'@typescript-eslint/prefer-optional-chain': 'error',
|
|
750
748
|
'@typescript-eslint/prefer-readonly': 'error',
|
|
751
749
|
'@typescript-eslint/prefer-readonly-parameter-types': ['off', { ignoreInferredTypes: true }], // @todo An interface should ensure that it's properties are readonly, not every usage of it
|
|
@@ -784,10 +782,10 @@ module.exports = {
|
|
|
784
782
|
* @see https://github.com/jonaskello/eslint-plugin-functional#supported-rules
|
|
785
783
|
*/
|
|
786
784
|
'functional/functional-parameters': 'off',
|
|
787
|
-
'functional/immutable-data': 'off', // This rule would require a lot of additional code and workarounds, which would make the result much more illegible.
|
|
785
|
+
'functional/immutable-data': 'off', // This rule would require a lot of additional code and workarounds, which would make the result much more illegible // @todo is that resolved in v6.0.0?
|
|
788
786
|
'functional/no-classes': 'off',
|
|
789
787
|
'functional/no-conditional-statements': 'off',
|
|
790
|
-
'functional/no-expression-statements': ['off', { ignoreVoid: true }], // Creates too much false-positives
|
|
788
|
+
'functional/no-expression-statements': ['off', { ignoreVoid: true }], // Creates too much false-positives // @todo is that resolved in v6.0.0?
|
|
791
789
|
'functional/no-let': 'off', // This is better covered by the `prefer-const` rule
|
|
792
790
|
'functional/no-loop-statements': 'off',
|
|
793
791
|
'functional/no-mixed-types': ['error', {
|
|
@@ -961,7 +959,7 @@ module.exports = {
|
|
|
961
959
|
'unicorn/no-await-expression-member': 'error',
|
|
962
960
|
'unicorn/no-console-spaces': 'error',
|
|
963
961
|
'unicorn/no-document-cookie': 'error',
|
|
964
|
-
'unicorn/no-empty-file': '
|
|
962
|
+
'unicorn/no-empty-file': 'error',
|
|
965
963
|
'unicorn/no-for-loop': 'off', // @typescript-eslint/prefer-for-of
|
|
966
964
|
'unicorn/no-hex-escape': 'error',
|
|
967
965
|
'unicorn/no-instanceof-array': 'error',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "linter-bundle",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.6.0",
|
|
4
4
|
"description": "Ready-to use bundle of linting tools, containing configurations for ESLint, stylelint and markdownlint.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"eslint",
|
|
@@ -40,40 +40,40 @@
|
|
|
40
40
|
"check-outdated": "npx --yes -- check-outdated --ignore-pre-releases"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@typescript-eslint/eslint-plugin": "6.
|
|
44
|
-
"@typescript-eslint/parser": "6.
|
|
45
|
-
"@typescript-eslint/utils": "6.
|
|
46
|
-
"eslint": "8.
|
|
47
|
-
"eslint-import-resolver-typescript": "3.
|
|
48
|
-
"eslint-import-resolver-webpack": "0.13.
|
|
43
|
+
"@typescript-eslint/eslint-plugin": "6.3.0",
|
|
44
|
+
"@typescript-eslint/parser": "6.3.0",
|
|
45
|
+
"@typescript-eslint/utils": "6.3.0",
|
|
46
|
+
"eslint": "8.47.0",
|
|
47
|
+
"eslint-import-resolver-typescript": "3.6.0",
|
|
48
|
+
"eslint-import-resolver-webpack": "0.13.4",
|
|
49
49
|
"eslint-plugin-eslint-comments": "3.2.0",
|
|
50
|
-
"eslint-plugin-functional": "
|
|
51
|
-
"eslint-plugin-import": "2.
|
|
50
|
+
"eslint-plugin-functional": "6.0.0",
|
|
51
|
+
"eslint-plugin-import": "2.28.0",
|
|
52
52
|
"eslint-plugin-jest": "27.2.3",
|
|
53
|
-
"eslint-plugin-jsdoc": "46.4.
|
|
53
|
+
"eslint-plugin-jsdoc": "46.4.6",
|
|
54
54
|
"eslint-plugin-jsx-a11y": "6.7.1",
|
|
55
55
|
"eslint-plugin-n": "16.0.1",
|
|
56
56
|
"eslint-plugin-promise": "6.1.1",
|
|
57
|
-
"eslint-plugin-react": "7.
|
|
57
|
+
"eslint-plugin-react": "7.33.1",
|
|
58
58
|
"eslint-plugin-react-hooks": "4.6.0",
|
|
59
|
-
"eslint-plugin-unicorn": "48.0.
|
|
59
|
+
"eslint-plugin-unicorn": "48.0.1",
|
|
60
60
|
"markdownlint-cli": "0.35.0",
|
|
61
61
|
"micromatch": "4.0.5",
|
|
62
62
|
"postcss-scss": "4.0.6",
|
|
63
63
|
"stylelint": "15.10.2",
|
|
64
64
|
"stylelint-declaration-block-no-ignored-properties": "2.7.0",
|
|
65
65
|
"stylelint-order": "6.0.3",
|
|
66
|
-
"stylelint-scss": "5.0
|
|
66
|
+
"stylelint-scss": "5.1.0",
|
|
67
67
|
"stylelint-use-logical-spec": "5.0.0"
|
|
68
68
|
},
|
|
69
69
|
"peerDependencies": {
|
|
70
70
|
"postcss-value-parser": "*",
|
|
71
|
-
"typescript": "
|
|
71
|
+
"typescript": ">=4.0.0"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
|
-
"@types/eslint": "8.44.
|
|
74
|
+
"@types/eslint": "8.44.2",
|
|
75
75
|
"@types/micromatch": "4.0.2",
|
|
76
|
-
"@types/node": "20.4.
|
|
76
|
+
"@types/node": "20.4.9",
|
|
77
77
|
"stylelint-find-new-rules": "4.1.0",
|
|
78
78
|
"typescript": "5.1.6"
|
|
79
79
|
}
|
package/stylelint/index.js
CHANGED
|
@@ -155,7 +155,9 @@ module.exports = {
|
|
|
155
155
|
true,
|
|
156
156
|
{
|
|
157
157
|
ignoreProperties: {
|
|
158
|
-
'initial-value':
|
|
158
|
+
'initial-value': /.+/u,
|
|
159
|
+
'grid-template-areas': /^\([^\u0000]+\)$/u, // Whole block wrapped in parentheses.
|
|
160
|
+
'/.+/': /((^|\s)\$[a-z])|/ui // SCSS variables
|
|
159
161
|
}
|
|
160
162
|
}
|
|
161
163
|
],
|
|
@@ -901,7 +903,8 @@ module.exports = {
|
|
|
901
903
|
'scss/dollar-variable-empty-line-after': [
|
|
902
904
|
'always',
|
|
903
905
|
{
|
|
904
|
-
except: ['last-nested', 'before-dollar-variable']
|
|
906
|
+
except: ['last-nested', 'before-dollar-variable'],
|
|
907
|
+
ignore: ['before-comment', 'inside-single-line-block']
|
|
905
908
|
}
|
|
906
909
|
],
|
|
907
910
|
'scss/dollar-variable-first-in-block': [true, { ignore: ['comments', 'imports'] }],
|
|
@@ -918,7 +921,8 @@ module.exports = {
|
|
|
918
921
|
'scss/double-slash-comment-inline': null,
|
|
919
922
|
'scss/double-slash-comment-whitespace-inside': 'always',
|
|
920
923
|
'scss/function-color-relative': true,
|
|
921
|
-
'scss/function-
|
|
924
|
+
'scss/function-disallowed-list': null,
|
|
925
|
+
'scss/function-no-unknown': [true, { ignoreFunctions: [/^custom-/u] }],
|
|
922
926
|
'scss/function-quote-no-quoted-strings-inside': true,
|
|
923
927
|
'scss/function-unquote-no-unquoted-strings-inside': true,
|
|
924
928
|
'scss/map-keys-quotes': 'always',
|