linter-bundle 3.5.0 → 3.7.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,29 @@ 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.5.0...HEAD)
9
+ [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v3.7.0...HEAD)
10
+
11
+ ## [3.7.0] - 2023-08-11
12
+
13
+ - [eslint] Adjusted `jsdoc/tag-lines` configuration to enforce no empty like for `@typedef`, `@property` and `@returns`; and weakened line configuration for `@see`
14
+
15
+ [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v3.6.0...v3.7.0)
16
+
17
+ ## [3.6.0] - 2023-08-11
18
+
19
+ - [general] Change peer-dependency of `typescript` from `^4.0.0` to `>=4.0.0`
20
+ - [eslint] Updated `@typescript-eslint` from `6.2.0` to `6.3.0`
21
+ - [eslint] Updated `eslint` from `8.45.0` to `8.47.0`
22
+ - [eslint] Updated `eslint-import-resolver-typescript` from `3.5.5` to `3.6.0`
23
+ - [eslint] Updated `eslint-import-resolver-webpack` from `0.13.2` to `0.13.4`
24
+ - [eslint] Updated `eslint-plugin-functional` from `5.0.8` to `6.0.0`
25
+ - [eslint] Updated `eslint-plugin-jsdoc` from `46.4.5` to `46.4.6`
26
+ - [eslint] Updated `eslint-plugin-react` from `7.33.0` to `7.33.1`
27
+ - [stylelint] Updated `stylelint-scss` from `5.0.1` to `5.1.0`
28
+ - [eslint] Removed deprecated (and currently disabled) `no-return-await` rule
29
+ - [styleint] Added but disabled [`scss/function-disallowed-list`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/function-disallowed-list) rule
30
+
31
+ [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v3.5.0...v3.6.0)
10
32
 
11
33
  ## [3.5.0] - 2023-07-28
12
34
 
package/eslint/index.js CHANGED
@@ -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',
@@ -783,10 +782,10 @@ module.exports = {
783
782
  * @see https://github.com/jonaskello/eslint-plugin-functional#supported-rules
784
783
  */
785
784
  'functional/functional-parameters': 'off',
786
- '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?
787
786
  'functional/no-classes': 'off',
788
787
  'functional/no-conditional-statements': 'off',
789
- '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?
790
789
  'functional/no-let': 'off', // This is better covered by the `prefer-const` rule
791
790
  'functional/no-loop-statements': 'off',
792
791
  'functional/no-mixed-types': ['error', {
@@ -70,13 +70,16 @@ module.exports = {
70
70
  file: { lines: 'always' },
71
71
  fileOverview: { lines: 'always' },
72
72
  license: { lines: 'always' },
73
- see: { lines: 'never' },
74
- template: { lines: 'never' },
75
73
  param: { lines: 'never' },
76
74
  private: { lines: 'never' },
75
+ property: { lines: 'never' },
77
76
  protected: { lines: 'never' },
78
77
  public: { lines: 'never' },
79
- throws: { lines: 'never' }
78
+ returns: { lines: 'never' },
79
+ see: { lines: 'any' },
80
+ template: { lines: 'never' },
81
+ throws: { lines: 'never' },
82
+ typedef: { lines: 'never' }
80
83
  },
81
84
  startLines: null,
82
85
  endLines: null,
package/lint.js CHANGED
@@ -259,7 +259,6 @@ void (async () => {
259
259
  *
260
260
  * @param {ReturnType<isNpmOrYarn>} npmOrYarn - This should be the return value of `isNpmOrYarn()`.
261
261
  * @returns {boolean} Returns `true` if the environment is valid, otherwise `false` is returned.
262
- *
263
262
  */
264
263
  function validateEnvironment (npmOrYarn) {
265
264
  const outdatedOverrides = validatePackageOverrides();
@@ -312,7 +311,6 @@ function validateEnvironment (npmOrYarn) {
312
311
  *
313
312
  * @param {string[]} argv - Command-line arguments (usual `process.argv.splice(2)`)
314
313
  * @returns {TaskNameAndConfig[]} The task execution setup.
315
- *
316
314
  * @throws {Error} If no task has be specified in the arguments.
317
315
  */
318
316
  function getTasksToRun (argv) {
@@ -379,7 +377,6 @@ function getTasksToRun (argv) {
379
377
  * @param {string} pattern - Glob pattern
380
378
  * @param {Partial<Record<string, (string | true)[]>>} config - Linter configuration
381
379
  * @returns {string} Space-separated file names in double-quotes to be used in the command-line, or an empty string if no file matches.
382
- *
383
380
  */
384
381
  function getIncludes (list, pattern, config) {
385
382
  const include = config['include']?.[0];
@@ -402,7 +399,6 @@ function getIncludes (list, pattern, config) {
402
399
  *
403
400
  * @param {TaskSetup} setup - The task execution setup.
404
401
  * @returns {Job} Job
405
- *
406
402
  */
407
403
  function runTask (setup) {
408
404
  return {
@@ -419,7 +415,6 @@ function runTask (setup) {
419
415
  * @param {Partial<Record<string, (string | true)[]>>} config - The configuration of the task.
420
416
  * @param {{ code?: number; stdout?: string; stderr?: string; }} output - The output which should be returned as result of the job.
421
417
  * @returns {Job} Job
422
- *
423
418
  */
424
419
  function generateDummyJobOutput (taskName, config, output) {
425
420
  return {
@@ -448,7 +443,6 @@ function generateDummyJobOutput (taskName, config, output) {
448
443
  *
449
444
  * @param {TaskSetup} setup - The task execution setup.
450
445
  * @returns {string} The title of the job with a leading line-break and two trailing line-breaks.
451
- *
452
446
  */
453
447
  function getJobTitle (setup) {
454
448
  /** @type {string} */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linter-bundle",
3
- "version": "3.5.0",
3
+ "version": "3.7.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,21 +40,21 @@
40
40
  "check-outdated": "npx --yes -- check-outdated --ignore-pre-releases"
41
41
  },
42
42
  "dependencies": {
43
- "@typescript-eslint/eslint-plugin": "6.2.0",
44
- "@typescript-eslint/parser": "6.2.0",
45
- "@typescript-eslint/utils": "6.2.0",
46
- "eslint": "8.45.0",
47
- "eslint-import-resolver-typescript": "3.5.5",
48
- "eslint-import-resolver-webpack": "0.13.2",
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": "5.0.8",
50
+ "eslint-plugin-functional": "6.0.0",
51
51
  "eslint-plugin-import": "2.28.0",
52
52
  "eslint-plugin-jest": "27.2.3",
53
- "eslint-plugin-jsdoc": "46.4.5",
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.33.0",
57
+ "eslint-plugin-react": "7.33.1",
58
58
  "eslint-plugin-react-hooks": "4.6.0",
59
59
  "eslint-plugin-unicorn": "48.0.1",
60
60
  "markdownlint-cli": "0.35.0",
@@ -63,17 +63,17 @@
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.1",
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": "^4.0.0"
71
+ "typescript": ">=4.0.0"
72
72
  },
73
73
  "devDependencies": {
74
- "@types/eslint": "8.44.1",
74
+ "@types/eslint": "8.44.2",
75
75
  "@types/micromatch": "4.0.2",
76
- "@types/node": "20.4.5",
76
+ "@types/node": "20.4.9",
77
77
  "stylelint-find-new-rules": "4.1.0",
78
78
  "typescript": "5.1.6"
79
79
  }
@@ -921,6 +921,7 @@ module.exports = {
921
921
  'scss/double-slash-comment-inline': null,
922
922
  'scss/double-slash-comment-whitespace-inside': 'always',
923
923
  'scss/function-color-relative': true,
924
+ 'scss/function-disallowed-list': null,
924
925
  'scss/function-no-unknown': [true, { ignoreFunctions: [/^custom-/u] }],
925
926
  'scss/function-quote-no-quoted-strings-inside': true,
926
927
  'scss/function-unquote-no-unquoted-strings-inside': true,
@@ -139,11 +139,11 @@ const getDisallowedList = (ignore) => {
139
139
  /**
140
140
  * Returns the input string stripped of its vendor prefix.
141
141
  *
142
- * @param {string} property - String with or without vendor prefix.
143
- * @returns {string} String name without vendor prefixes.
144
- *
145
142
  * @example
146
143
  * unprefixed('-moz-tab-size') //=> 'tab-size'
144
+ *
145
+ * @param {string} property - String with or without vendor prefix.
146
+ * @returns {string} String name without vendor prefixes.
147
147
  */
148
148
  const unprefixed = (property) => property.replace(/^-\w+-/u, '');
149
149