@w0s/eslint-config 7.0.0-rc.6 → 7.1.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@w0s/eslint-config",
3
- "version": "7.0.0-rc.6",
3
+ "version": "7.1.0",
4
4
  "description": "ESLint configuration file used on `w0s.jp`",
5
5
  "keywords": [
6
6
  "eslint",
@@ -29,13 +29,13 @@
29
29
  "@typescript-eslint/eslint-plugin": "^7.18.0",
30
30
  "@typescript-eslint/parser": "^7.18.0",
31
31
  "eslint-plugin-import": "^2.29.1",
32
- "eslint-plugin-jsdoc": "^48.10.2",
33
- "globals": "^15.8.0",
32
+ "eslint-plugin-jsdoc": "^50.0.0",
33
+ "globals": "^15.9.0",
34
34
  "typescript-eslint": "^7.18.0"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/eslint": "^8.56.11",
38
- "@types/node": "^22.0.0",
38
+ "@types/node": "^22.1.0",
39
39
  "eslint": "^8.57.0"
40
40
  },
41
41
  "peerDependencies": {
@@ -3,6 +3,13 @@
3
3
  /** @type {import("eslint").Linter.FlatConfig} */
4
4
  export default {
5
5
  rules: {
6
+ 'line-comment-position': [
7
+ 'error',
8
+ {
9
+ position: 'beside',
10
+ ignorePattern: '@ts-',
11
+ },
12
+ ],
6
13
  'unicode-bom': 'error',
7
14
  },
8
15
  };
@@ -20,8 +20,10 @@ export default {
20
20
  'dot-notation': 'error', // eslint-config-airbnb-base@15.0.0; best-practices
21
21
  eqeqeq: 'error',
22
22
  'func-names': 'warn', // eslint-config-airbnb-base@15.0.0; style
23
+ 'func-style': 'error',
23
24
  'grouped-accessor-pairs': ['error', 'getBeforeSet'],
24
25
  'guard-for-in': 'error', // eslint-config-airbnb-base@15.0.0; best-practices
26
+ 'logical-assignment-operators': 'error',
25
27
  'max-classes-per-file': 'error', // eslint-config-airbnb-base@15.0.0; best-practices
26
28
  'new-cap': 'error',
27
29
  'no-alert': 'warn', // eslint-config-airbnb-base@15.0.0; best-practices
package/rules/import.js CHANGED
@@ -1,11 +1,14 @@
1
1
  // @ts-check
2
+ /* eslint-disable jsdoc/lines-before-block */
2
3
 
3
4
  /** @type {import("eslint").Linter.FlatConfig} */
4
5
  export default {
5
6
  rules: {
6
- /* Helpful warnings */
7
- // import/export
8
- // import/no-deprecated TODO: parserPath or languageOptions.parser is required!
7
+ /**
8
+ * Helpful warnings
9
+ */
10
+ /* ✅ import/export */
11
+ /* import/no-deprecated TODO: parserPath or languageOptions.parser is required! */
9
12
  'import/no-empty-named-blocks': 'error',
10
13
  'import/no-extraneous-dependencies': [
11
14
  'error',
@@ -19,46 +22,52 @@ export default {
19
22
  'import/no-mutable-exports': 'error',
20
23
  'import/no-named-as-default': 'off', // ✅ TODO: parserPath or languageOptions.parser is required! / 有効にする際は *.test.js での無効化を検討
21
24
  'import/no-named-as-default-member': 'off', // ✅ TODO: parserPath or languageOptions.parser is required! / 有効にする際は *.test.js での無効化を検討
22
- // import/no-unused-modules
25
+ /* import/no-unused-modules */
23
26
 
24
- /* Module systems */
25
- // import/no-amd
26
- // import/no-commonjs
27
- // import/no-import-module-exports
28
- // import/no-nodejs-modules
29
- // import/unambiguous
27
+ /**
28
+ * Module systems
29
+ */
30
+ /* import/no-amd */
31
+ /* import/no-commonjs */
32
+ /* import/no-import-module-exports */
33
+ /* import/no-nodejs-modules */
34
+ /* import/unambiguous */
30
35
 
31
- /* Static analysis */
36
+ /**
37
+ * Static analysis
38
+ */
32
39
  'import/default': 'off', // ✅ TODO: parserPath or languageOptions.parser is required!
33
- // ✅ import/named
40
+ /* ✅ import/named */
34
41
  'import/namespace': 'off', // ✅ TODO: parserPath or languageOptions.parser is required!
35
42
  'import/no-absolute-path': 'error',
36
- // import/no-cycle ⚠ This rule is comparatively computationally expensive
37
- // import/no-dynamic-require
38
- // import/no-internal-modules
39
- // import/no-relative-packages
40
- // import/no-relative-parent-imports
41
- // import/no-restricted-paths
43
+ /* import/no-cycle ⚠ This rule is comparatively computationally expensive */
44
+ /* import/no-dynamic-require */
45
+ /* import/no-internal-modules */
46
+ /* import/no-relative-packages */
47
+ /* import/no-relative-parent-imports */
48
+ /* import/no-restricted-paths */
42
49
  'import/no-self-import': 'error',
43
- // ✅ import/no-unresolved
50
+ /* ✅ import/no-unresolved */
44
51
  'import/no-useless-path-segments': 'error',
45
52
  'import/no-webpack-loader-syntax': 'error',
46
53
 
47
- /* Style guide */
48
- // import/consistent-type-specifier-style
49
- // import/dynamic-import-chunkname
50
- // import/exports-last
54
+ /**
55
+ * Style guide
56
+ */
57
+ /* import/consistent-type-specifier-style */
58
+ /* import/dynamic-import-chunkname */
59
+ /* import/exports-last */
51
60
  'import/extensions': ['error', 'ignorePackages'],
52
61
  'import/first': 'error',
53
- // import/group-exports
54
- // import/max-dependencies
62
+ /* import/group-exports */
63
+ /* import/max-dependencies */
55
64
  'import/newline-after-import': 'error',
56
- // import/no-anonymous-default-export
57
- // import/no-default-export
58
- // ✅ import/no-duplicates
65
+ /* import/no-anonymous-default-export */
66
+ /* import/no-default-export */
67
+ /* ✅ import/no-duplicates */
59
68
  'import/no-named-default': 'error',
60
- // import/no-named-export
61
- // import/no-namespace
69
+ /* import/no-named-export */
70
+ /* import/no-namespace */
62
71
  'import/no-unassigned-import': 'error',
63
72
  'import/order': 'error',
64
73
  'import/prefer-default-export': 'error',
package/rules/jsdoc.js CHANGED
@@ -3,6 +3,7 @@
3
3
  /** @type {import("eslint").Linter.FlatConfig} */
4
4
  export default {
5
5
  rules: {
6
+ 'jsdoc/lines-before-block': 'warn',
6
7
  'jsdoc/tag-lines': [
7
8
  'warn',
8
9
  'any',