@rslint/core 0.5.3 → 0.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.
Files changed (74) hide show
  1. package/bin/rslint.cjs +21 -4
  2. package/dist/0~engine.js +406 -0
  3. package/dist/34.js +33 -0
  4. package/dist/browser.d.ts +52 -39
  5. package/dist/browser.js +42 -74
  6. package/dist/cli.d.ts +3 -2
  7. package/dist/cli.js +1051 -93
  8. package/dist/config-loader.d.ts +45 -14
  9. package/dist/config-loader.js +95 -59
  10. package/dist/eslint-plugin/612.js +43 -0
  11. package/dist/eslint-plugin/index.d.ts +892 -0
  12. package/dist/eslint-plugin/index.js +26692 -0
  13. package/dist/eslint-plugin/lint-worker.js +26225 -0
  14. package/dist/eslint-plugin/types.d.ts +23 -0
  15. package/dist/eslint-plugin/types.js +1 -0
  16. package/dist/index.d.ts +626 -19
  17. package/dist/index.js +598 -15
  18. package/dist/service.d.ts +360 -30
  19. package/dist/service.js +19 -34
  20. package/package.json +27 -11
  21. package/dist/browser.d.ts.map +0 -1
  22. package/dist/cli.d.ts.map +0 -1
  23. package/dist/config-loader.d.ts.map +0 -1
  24. package/dist/configs/import.d.ts +0 -6
  25. package/dist/configs/import.d.ts.map +0 -1
  26. package/dist/configs/import.js +0 -7
  27. package/dist/configs/index.d.ts +0 -47
  28. package/dist/configs/index.d.ts.map +0 -1
  29. package/dist/configs/index.js +0 -36
  30. package/dist/configs/javascript.d.ts +0 -6
  31. package/dist/configs/javascript.d.ts.map +0 -1
  32. package/dist/configs/javascript.js +0 -72
  33. package/dist/configs/jest.d.ts +0 -7
  34. package/dist/configs/jest.d.ts.map +0 -1
  35. package/dist/configs/jest.js +0 -35
  36. package/dist/configs/jsx-a11y.d.ts +0 -6
  37. package/dist/configs/jsx-a11y.d.ts.map +0 -1
  38. package/dist/configs/jsx-a11y.js +0 -135
  39. package/dist/configs/promise.d.ts +0 -6
  40. package/dist/configs/promise.d.ts.map +0 -1
  41. package/dist/configs/promise.js +0 -20
  42. package/dist/configs/react-hooks.d.ts +0 -6
  43. package/dist/configs/react-hooks.d.ts.map +0 -1
  44. package/dist/configs/react-hooks.js +0 -24
  45. package/dist/configs/react.d.ts +0 -6
  46. package/dist/configs/react.d.ts.map +0 -1
  47. package/dist/configs/react.js +0 -31
  48. package/dist/configs/typescript.d.ts +0 -9
  49. package/dist/configs/typescript.d.ts.map +0 -1
  50. package/dist/configs/typescript.js +0 -122
  51. package/dist/configs/unicorn.d.ts +0 -8
  52. package/dist/configs/unicorn.d.ts.map +0 -1
  53. package/dist/configs/unicorn.js +0 -161
  54. package/dist/define-config.d.ts +0 -110
  55. package/dist/define-config.d.ts.map +0 -1
  56. package/dist/define-config.js +0 -6
  57. package/dist/index.d.ts.map +0 -1
  58. package/dist/node.d.ts +0 -31
  59. package/dist/node.d.ts.map +0 -1
  60. package/dist/node.js +0 -116
  61. package/dist/service.d.ts.map +0 -1
  62. package/dist/tsconfig.build.tsbuildinfo +0 -1
  63. package/dist/types.d.ts +0 -342
  64. package/dist/types.d.ts.map +0 -1
  65. package/dist/types.js +0 -1
  66. package/dist/utils/args.d.ts +0 -19
  67. package/dist/utils/args.d.ts.map +0 -1
  68. package/dist/utils/args.js +0 -101
  69. package/dist/utils/config-discovery.d.ts +0 -47
  70. package/dist/utils/config-discovery.d.ts.map +0 -1
  71. package/dist/utils/config-discovery.js +0 -238
  72. package/dist/worker.d.ts +0 -2
  73. package/dist/worker.d.ts.map +0 -1
  74. package/dist/worker.js +0 -114
@@ -1,72 +0,0 @@
1
- // Aligned with official eslint:recommended (@eslint/js@10.x).
2
- // Rules commented out with "not implemented" are in the official preset but not yet available.
3
- const recommended = {
4
- files: ['**/*.js', '**/*.jsx', '**/*.mjs', '**/*.cjs'],
5
- rules: {
6
- 'constructor-super': 'error',
7
- 'no-control-regex': 'error',
8
- 'no-delete-var': 'error',
9
- 'no-dupe-class-members': 'error',
10
- 'no-dupe-else-if': 'error',
11
- 'no-empty-character-class': 'error',
12
- // 'no-empty-static-block': 'error', // not implemented
13
- 'no-ex-assign': 'error',
14
- 'no-extra-boolean-cast': 'error',
15
- 'no-fallthrough': 'error',
16
- 'no-func-assign': 'error',
17
- 'no-global-assign': 'error',
18
- 'no-import-assign': 'error',
19
- 'no-invalid-regexp': 'error',
20
- // 'no-irregular-whitespace': 'error', // not implemented
21
- 'no-misleading-character-class': 'error',
22
- // 'no-new-native-nonconstructor': 'error', // not implemented
23
- // 'no-nonoctal-decimal-escape': 'error', // not implemented
24
- 'no-obj-calls': 'error',
25
- 'no-octal': 'error',
26
- 'no-prototype-builtins': 'error',
27
- // 'no-redeclare': 'error', // not implemented
28
- 'no-regex-spaces': 'error',
29
- 'no-self-assign': 'error',
30
- 'no-setter-return': 'error',
31
- 'no-shadow-restricted-names': 'error',
32
- 'no-this-before-super': 'error',
33
- 'no-undef': 'error',
34
- // 'no-unexpected-multiline': 'error', // not implemented
35
- 'no-unreachable': 'error',
36
- 'no-unsafe-finally': 'error',
37
- 'no-unsafe-negation': 'error',
38
- 'no-unsafe-optional-chaining': 'error',
39
- // 'no-unused-labels': 'error', // not implemented
40
- // 'no-unused-private-class-members': 'error', // not implemented
41
- // 'no-unused-vars': 'error', // not implemented
42
- // 'no-unassigned-vars': 'error', // not implemented
43
- // 'no-useless-assignment': 'error', // not implemented
44
- // 'no-useless-backreference': 'error', // not implemented
45
- 'no-useless-catch': 'error',
46
- // 'no-useless-escape': 'error', // not implemented
47
- 'no-with': 'error',
48
- // 'preserve-caught-error': 'error', // not implemented
49
- 'require-yield': 'error',
50
- 'use-isnan': 'error',
51
- 'valid-typeof': 'error',
52
- 'for-direction': 'error',
53
- 'getter-return': 'error',
54
- 'no-async-promise-executor': 'error',
55
- 'no-case-declarations': 'error',
56
- 'no-class-assign': 'error',
57
- 'no-compare-neg-zero': 'error',
58
- 'no-cond-assign': 'error',
59
- 'no-const-assign': 'error',
60
- 'no-constant-binary-expression': 'error',
61
- 'no-constant-condition': 'error',
62
- 'no-debugger': 'error',
63
- 'no-dupe-args': 'error',
64
- 'no-dupe-keys': 'error',
65
- 'no-duplicate-case': 'error',
66
- 'no-empty': 'error',
67
- 'no-empty-pattern': 'error',
68
- 'no-loss-of-precision': 'error',
69
- 'no-sparse-arrays': 'error',
70
- },
71
- };
72
- export { recommended };
@@ -1,7 +0,0 @@
1
- import type { RslintConfigEntry } from '../define-config.js';
2
- // Aligned with official eslint-plugin-jest@29.x recommended.
3
- // Rules commented out with "not implemented" are in the official preset but not yet available.
4
- declare const recommended: RslintConfigEntry;
5
- declare const style: RslintConfigEntry;
6
- export { recommended, style };
7
- //# sourceMappingURL=jest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jest.d.ts","sourceRoot":"","sources":["../../src/configs/jest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,6DAA6D;AAC7D,+FAA+F;AAC/F,QAAA,MAAM,WAAW,EAAE,iBAuBlB,CAAC;AAEF,QAAA,MAAM,KAAK,EAAE,iBAOZ,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC"}
@@ -1,35 +0,0 @@
1
- // Aligned with official eslint-plugin-jest@29.x recommended.
2
- // Rules commented out with "not implemented" are in the official preset but not yet available.
3
- const recommended = {
4
- plugins: ['jest'],
5
- rules: {
6
- // 'jest/expect-expect': 'warn', // not implemented
7
- 'jest/no-alias-methods': 'error',
8
- 'jest/no-commented-out-tests': 'warn',
9
- // 'jest/no-conditional-expect': 'error', // not implemented
10
- 'jest/no-deprecated-functions': 'error',
11
- 'jest/no-disabled-tests': 'warn',
12
- 'jest/no-done-callback': 'error',
13
- // 'jest/no-export': 'error', // not implemented
14
- 'jest/no-focused-tests': 'error',
15
- 'jest/no-identical-title': 'error',
16
- // 'jest/no-interpolation-in-snapshots': 'error', // not implemented
17
- // 'jest/no-jasmine-globals': 'error', // not implemented
18
- 'jest/no-mocks-import': 'error',
19
- // 'jest/no-standalone-expect': 'error', // not implemented
20
- 'jest/no-test-prefixes': 'error',
21
- 'jest/valid-describe-callback': 'error',
22
- // 'jest/valid-expect': 'error', // not implemented
23
- // 'jest/valid-expect-in-promise': 'error', // not implemented
24
- // 'jest/valid-title': 'error', // not implemented
25
- },
26
- };
27
- const style = {
28
- plugins: ['jest'],
29
- rules: {
30
- 'jest/prefer-to-be': 'error',
31
- 'jest/prefer-to-contain': 'error',
32
- 'jest/prefer-to-have-length': 'error',
33
- },
34
- };
35
- export { recommended, style };
@@ -1,6 +0,0 @@
1
- import type { RslintConfigEntry } from '../define-config.js';
2
- // Aligned with official eslint-plugin-jsx-a11y@6.10.x recommended.
3
- // Rules commented out with "not implemented" are in the official preset but not yet available.
4
- declare const recommended: RslintConfigEntry;
5
- export { recommended };
6
- //# sourceMappingURL=jsx-a11y.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsx-a11y.d.ts","sourceRoot":"","sources":["../../src/configs/jsx-a11y.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,mEAAmE;AACnE,+FAA+F;AAC/F,QAAA,MAAM,WAAW,EAAE,iBAmIlB,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1,135 +0,0 @@
1
- // Aligned with official eslint-plugin-jsx-a11y@6.10.x recommended.
2
- // Rules commented out with "not implemented" are in the official preset but not yet available.
3
- const recommended = {
4
- files: ['**/*.jsx', '**/*.tsx'],
5
- plugins: ['jsx-a11y'],
6
- rules: {
7
- 'jsx-a11y/alt-text': 'error',
8
- // 'jsx-a11y/anchor-ambiguous-text': 'off', // not implemented (off in upstream)
9
- 'jsx-a11y/anchor-has-content': 'error',
10
- 'jsx-a11y/anchor-is-valid': 'error',
11
- 'jsx-a11y/aria-activedescendant-has-tabindex': 'error',
12
- 'jsx-a11y/aria-props': 'error',
13
- 'jsx-a11y/aria-proptypes': 'error',
14
- 'jsx-a11y/aria-role': 'error',
15
- 'jsx-a11y/aria-unsupported-elements': 'error',
16
- 'jsx-a11y/autocomplete-valid': 'error',
17
- 'jsx-a11y/click-events-have-key-events': 'error',
18
- 'jsx-a11y/control-has-associated-label': 'off',
19
- 'jsx-a11y/heading-has-content': 'error',
20
- 'jsx-a11y/html-has-lang': 'error',
21
- 'jsx-a11y/iframe-has-title': 'error',
22
- 'jsx-a11y/img-redundant-alt': 'error',
23
- 'jsx-a11y/interactive-supports-focus': [
24
- 'error',
25
- {
26
- tabbable: [
27
- 'button',
28
- 'checkbox',
29
- 'link',
30
- 'searchbox',
31
- 'spinbutton',
32
- 'switch',
33
- 'textbox',
34
- ],
35
- },
36
- ],
37
- 'jsx-a11y/label-has-associated-control': 'error',
38
- // 'jsx-a11y/label-has-for': 'off', // not implemented (off in upstream)
39
- 'jsx-a11y/media-has-caption': 'error',
40
- 'jsx-a11y/mouse-events-have-key-events': 'error',
41
- 'jsx-a11y/no-access-key': 'error',
42
- 'jsx-a11y/no-autofocus': 'error',
43
- 'jsx-a11y/no-distracting-elements': 'error',
44
- 'jsx-a11y/no-interactive-element-to-noninteractive-role': [
45
- 'error',
46
- {
47
- tr: ['none', 'presentation'],
48
- canvas: ['img'],
49
- },
50
- ],
51
- 'jsx-a11y/no-noninteractive-element-interactions': [
52
- 'error',
53
- {
54
- handlers: [
55
- 'onClick',
56
- 'onError',
57
- 'onLoad',
58
- 'onMouseDown',
59
- 'onMouseUp',
60
- 'onKeyPress',
61
- 'onKeyDown',
62
- 'onKeyUp',
63
- ],
64
- alert: ['onKeyUp', 'onKeyDown', 'onKeyPress'],
65
- body: ['onError', 'onLoad'],
66
- dialog: ['onKeyUp', 'onKeyDown', 'onKeyPress'],
67
- iframe: ['onError', 'onLoad'],
68
- img: ['onError', 'onLoad'],
69
- },
70
- ],
71
- 'jsx-a11y/no-noninteractive-element-to-interactive-role': [
72
- 'error',
73
- {
74
- ul: [
75
- 'listbox',
76
- 'menu',
77
- 'menubar',
78
- 'radiogroup',
79
- 'tablist',
80
- 'tree',
81
- 'treegrid',
82
- ],
83
- ol: [
84
- 'listbox',
85
- 'menu',
86
- 'menubar',
87
- 'radiogroup',
88
- 'tablist',
89
- 'tree',
90
- 'treegrid',
91
- ],
92
- li: [
93
- 'menuitem',
94
- 'menuitemradio',
95
- 'menuitemcheckbox',
96
- 'option',
97
- 'row',
98
- 'tab',
99
- 'treeitem',
100
- ],
101
- table: ['grid'],
102
- td: ['gridcell'],
103
- fieldset: ['radiogroup', 'presentation'],
104
- },
105
- ],
106
- 'jsx-a11y/no-noninteractive-tabindex': [
107
- 'error',
108
- {
109
- tags: [],
110
- roles: ['tabpanel'],
111
- allowExpressionValues: true,
112
- },
113
- ],
114
- 'jsx-a11y/no-redundant-roles': 'error',
115
- 'jsx-a11y/no-static-element-interactions': [
116
- 'error',
117
- {
118
- allowExpressionValues: true,
119
- handlers: [
120
- 'onClick',
121
- 'onMouseDown',
122
- 'onMouseUp',
123
- 'onKeyPress',
124
- 'onKeyDown',
125
- 'onKeyUp',
126
- ],
127
- },
128
- ],
129
- 'jsx-a11y/role-has-required-aria-props': 'error',
130
- 'jsx-a11y/role-supports-aria-props': 'error',
131
- 'jsx-a11y/scope': 'error',
132
- 'jsx-a11y/tabindex-no-positive': 'error',
133
- },
134
- };
135
- export { recommended };
@@ -1,6 +0,0 @@
1
- import type { RslintConfigEntry } from '../define-config.js';
2
- // Aligned with official eslint-plugin-promise@7.x recommended.
3
- // Rules commented out with "not implemented" are in the official preset but not yet available.
4
- declare const recommended: RslintConfigEntry;
5
- export { recommended };
6
- //# sourceMappingURL=promise.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../src/configs/promise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,+DAA+D;AAC/D,+FAA+F;AAC/F,QAAA,MAAM,WAAW,EAAE,iBAgBlB,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1,20 +0,0 @@
1
- // Aligned with official eslint-plugin-promise@7.x recommended.
2
- // Rules commented out with "not implemented" are in the official preset but not yet available.
3
- const recommended = {
4
- plugins: ['promise'],
5
- rules: {
6
- // 'promise/always-return': 'error', // not implemented
7
- // 'promise/no-return-wrap': 'error', // not implemented
8
- 'promise/param-names': 'error',
9
- // 'promise/catch-or-return': 'error', // not implemented
10
- // 'promise/no-native': 'off', // not implemented
11
- // 'promise/no-nesting': 'warn', // not implemented
12
- // 'promise/no-promise-in-callback': 'warn', // not implemented
13
- // 'promise/no-callback-in-promise': 'warn', // not implemented
14
- // 'promise/avoid-new': 'off', // not implemented
15
- // 'promise/no-new-statics': 'error', // not implemented
16
- // 'promise/no-return-in-finally': 'warn', // not implemented
17
- // 'promise/valid-params': 'warn', // not implemented
18
- },
19
- };
20
- export { recommended };
@@ -1,6 +0,0 @@
1
- import type { RslintConfigEntry } from '../define-config.js';
2
- // Aligned with official eslint-plugin-react-hooks@7.x recommended.
3
- // Rules commented out with "not implemented" are in the official preset but not yet available.
4
- declare const recommended: RslintConfigEntry;
5
- export { recommended };
6
- //# sourceMappingURL=react-hooks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react-hooks.d.ts","sourceRoot":"","sources":["../../src/configs/react-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,mEAAmE;AACnE,+FAA+F;AAC/F,QAAA,MAAM,WAAW,EAAE,iBAoBlB,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1,24 +0,0 @@
1
- // Aligned with official eslint-plugin-react-hooks@7.x recommended.
2
- // Rules commented out with "not implemented" are in the official preset but not yet available.
3
- const recommended = {
4
- plugins: ['react-hooks'],
5
- rules: {
6
- 'react-hooks/rules-of-hooks': 'error',
7
- 'react-hooks/exhaustive-deps': 'warn',
8
- // 'react-hooks/config': 'error', // not implemented
9
- // 'react-hooks/error-boundaries': 'error', // not implemented
10
- // 'react-hooks/gating': 'error', // not implemented
11
- // 'react-hooks/globals': 'error', // not implemented
12
- // 'react-hooks/immutability': 'error', // not implemented
13
- // 'react-hooks/incompatible-library': 'warn', // not implemented
14
- // 'react-hooks/preserve-manual-memoization': 'error', // not implemented
15
- // 'react-hooks/purity': 'error', // not implemented
16
- // 'react-hooks/refs': 'error', // not implemented
17
- // 'react-hooks/set-state-in-effect': 'error', // not implemented
18
- // 'react-hooks/set-state-in-render': 'error', // not implemented
19
- // 'react-hooks/static-components': 'error', // not implemented
20
- // 'react-hooks/unsupported-syntax': 'warn', // not implemented
21
- // 'react-hooks/use-memo': 'error', // not implemented
22
- },
23
- };
24
- export { recommended };
@@ -1,6 +0,0 @@
1
- import type { RslintConfigEntry } from '../define-config.js';
2
- // Aligned with official eslint-plugin-react@7.x recommended.
3
- // Rules commented out with "not implemented" are in the official preset but not yet available.
4
- declare const recommended: RslintConfigEntry;
5
- export { recommended };
6
- //# sourceMappingURL=react.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/configs/react.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,6DAA6D;AAC7D,+FAA+F;AAC/F,QAAA,MAAM,WAAW,EAAE,iBA2BlB,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1,31 +0,0 @@
1
- // Aligned with official eslint-plugin-react@7.x recommended.
2
- // Rules commented out with "not implemented" are in the official preset but not yet available.
3
- const recommended = {
4
- files: ['**/*.jsx', '**/*.tsx'],
5
- plugins: ['react'],
6
- rules: {
7
- // 'react/display-name': 'error', // not implemented
8
- 'react/jsx-key': 'error',
9
- 'react/jsx-no-comment-textnodes': 'error',
10
- 'react/jsx-no-duplicate-props': 'error',
11
- 'react/jsx-no-target-blank': 'error',
12
- 'react/jsx-no-undef': 'error',
13
- 'react/jsx-uses-react': 'error',
14
- 'react/jsx-uses-vars': 'error',
15
- 'react/no-children-prop': 'error',
16
- 'react/no-danger-with-children': 'error',
17
- 'react/no-deprecated': 'error',
18
- 'react/no-direct-mutation-state': 'error',
19
- 'react/no-find-dom-node': 'error',
20
- 'react/no-is-mounted': 'error',
21
- 'react/no-render-return-value': 'error',
22
- 'react/no-string-refs': 'error',
23
- 'react/no-unescaped-entities': 'error',
24
- 'react/no-unknown-property': 'error',
25
- 'react/no-unsafe': 'off',
26
- // 'react/prop-types': 'error', // not implemented
27
- 'react/react-in-jsx-scope': 'error',
28
- 'react/require-render-return': 'error',
29
- },
30
- };
31
- export { recommended };
@@ -1,9 +0,0 @@
1
- import type { RslintConfigEntry } from '../define-config.js';
2
- declare const base: RslintConfigEntry;
3
- // Aligned with official @typescript-eslint/recommended.
4
- // Includes the eslint-recommended override layer (disables core rules handled by TS,
5
- // enables TS-beneficial rules).
6
- // Rules commented out with "not implemented" are in the official preset but not yet available.
7
- declare const recommended: RslintConfigEntry;
8
- export { base, recommended };
9
- //# sourceMappingURL=typescript.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../src/configs/typescript.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,QAAA,MAAM,IAAI,EAAE,iBAGX,CAAC;AAEF,wDAAwD;AACxD,qFAAqF;AACrF,gCAAgC;AAChC,+FAA+F;AAC/F,QAAA,MAAM,WAAW,EAAE,iBAmHlB,CAAC;AAEF,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC"}
@@ -1,122 +0,0 @@
1
- const base = {
2
- files: ['**/*.ts', '**/*.tsx', '**/*.mts', '**/*.cts'],
3
- plugins: ['@typescript-eslint'],
4
- };
5
- // Aligned with official @typescript-eslint/recommended.
6
- // Includes the eslint-recommended override layer (disables core rules handled by TS,
7
- // enables TS-beneficial rules).
8
- // Rules commented out with "not implemented" are in the official preset but not yet available.
9
- const recommended = {
10
- ...base,
11
- languageOptions: {
12
- parserOptions: {
13
- projectService: true,
14
- },
15
- },
16
- rules: {
17
- // --- Core ESLint rules (eslint:recommended) ---
18
- // Rules handled by TypeScript are turned off per the official
19
- // typescript-eslint eslint-recommended override.
20
- 'constructor-super': 'off',
21
- 'getter-return': 'off',
22
- 'no-class-assign': 'off',
23
- 'no-const-assign': 'off',
24
- 'no-dupe-args': 'off',
25
- 'no-dupe-class-members': 'off',
26
- 'no-dupe-keys': 'off',
27
- 'no-func-assign': 'off',
28
- 'no-import-assign': 'off',
29
- 'no-new-native-nonconstructor': 'off',
30
- 'no-new-symbol': 'off',
31
- 'no-obj-calls': 'off',
32
- 'no-redeclare': 'off',
33
- 'no-setter-return': 'off',
34
- 'no-this-before-super': 'off',
35
- 'no-undef': 'off',
36
- 'no-unreachable': 'off',
37
- 'no-unsafe-negation': 'off',
38
- 'no-with': 'off',
39
- // TS-beneficial rules enabled by eslint-recommended override
40
- 'no-var': 'error',
41
- 'prefer-const': 'error',
42
- 'prefer-rest-params': 'error',
43
- 'prefer-spread': 'error',
44
- // Remaining eslint:recommended rules (not turned off by TS)
45
- // 'no-control-regex': 'error', // not implemented
46
- 'no-delete-var': 'error',
47
- // 'no-dupe-else-if': 'error', // not implemented
48
- 'no-empty-character-class': 'error',
49
- // 'no-empty-static-block': 'error', // not implemented
50
- 'no-ex-assign': 'error',
51
- // 'no-extra-boolean-cast': 'error', // not implemented
52
- // 'no-fallthrough': 'error', // not implemented
53
- 'no-global-assign': 'error',
54
- 'no-invalid-regexp': 'error',
55
- // 'no-irregular-whitespace': 'error', // not implemented
56
- // 'no-misleading-character-class': 'error', // not implemented
57
- // 'no-nonoctal-decimal-escape': 'error', // not implemented
58
- // 'no-octal': 'error', // not implemented
59
- // 'no-prototype-builtins': 'error', // not implemented
60
- // 'no-regex-spaces': 'error', // not implemented
61
- 'no-self-assign': 'error',
62
- // 'no-shadow-restricted-names': 'error', // not implemented
63
- // 'no-unexpected-multiline': 'error', // not implemented
64
- // 'no-unsafe-finally': 'error', // not implemented
65
- // 'no-unsafe-optional-chaining': 'error', // not implemented
66
- // 'no-unused-labels': 'error', // not implemented
67
- // 'no-unused-private-class-members': 'error', // not implemented
68
- // 'no-unassigned-vars': 'error', // not implemented
69
- // 'no-useless-assignment': 'error', // not implemented
70
- // 'no-useless-backreference': 'error', // not implemented
71
- // 'no-useless-catch': 'error', // not implemented
72
- // 'no-useless-escape': 'error', // not implemented
73
- // 'preserve-caught-error': 'error', // not implemented
74
- // 'require-yield': 'error', // not implemented
75
- 'use-isnan': 'error',
76
- // 'valid-typeof': 'error', // not implemented
77
- 'for-direction': 'error',
78
- 'no-async-promise-executor': 'error',
79
- 'no-case-declarations': 'error',
80
- 'no-compare-neg-zero': 'error',
81
- 'no-cond-assign': 'error',
82
- 'no-constant-binary-expression': 'error',
83
- 'no-constant-condition': 'error',
84
- 'no-debugger': 'error',
85
- 'no-duplicate-case': 'error',
86
- 'no-empty': 'error',
87
- 'no-empty-pattern': 'error',
88
- 'no-loss-of-precision': 'error',
89
- 'no-sparse-arrays': 'error',
90
- // --- @typescript-eslint/recommended rules ---
91
- '@typescript-eslint/ban-ts-comment': 'error',
92
- 'no-array-constructor': 'off',
93
- '@typescript-eslint/no-array-constructor': 'error',
94
- '@typescript-eslint/no-duplicate-enum-values': 'error',
95
- // '@typescript-eslint/no-empty-object-type': 'error', // not implemented
96
- '@typescript-eslint/no-explicit-any': 'error',
97
- '@typescript-eslint/no-extra-non-null-assertion': 'error',
98
- '@typescript-eslint/no-misused-new': 'error',
99
- '@typescript-eslint/no-namespace': 'error',
100
- '@typescript-eslint/no-non-null-asserted-optional-chain': 'error',
101
- '@typescript-eslint/no-require-imports': 'error',
102
- '@typescript-eslint/no-this-alias': 'error',
103
- '@typescript-eslint/no-unnecessary-type-constraint': 'error',
104
- // '@typescript-eslint/no-unsafe-declaration-merging': 'error', // not implemented
105
- // '@typescript-eslint/no-unsafe-function-type': 'error', // not implemented
106
- 'no-unused-expressions': 'off',
107
- '@typescript-eslint/no-unused-expressions': 'error',
108
- 'no-unused-vars': 'off',
109
- // Differs from typescript-eslint recommended (which uses bare 'error').
110
- // Ignoring _-prefixed vars/args is a widely adopted community convention,
111
- // so we include it in our default recommended config for better DX.
112
- '@typescript-eslint/no-unused-vars': [
113
- 'error',
114
- { varsIgnorePattern: '^_', argsIgnorePattern: '^_' },
115
- ],
116
- // '@typescript-eslint/no-wrapper-object-types': 'error', // not implemented
117
- '@typescript-eslint/prefer-as-const': 'error',
118
- '@typescript-eslint/prefer-namespace-keyword': 'error',
119
- '@typescript-eslint/triple-slash-reference': 'error',
120
- },
121
- };
122
- export { base, recommended };
@@ -1,8 +0,0 @@
1
- import type { RslintConfigEntry } from '../define-config.js';
2
- // Aligned with official eslint-plugin-unicorn@64.x recommended.
3
- // Rules commented out with "not implemented" are in the official preset but not yet available.
4
- // The official preset also injects `languageOptions.globals` (Array, Promise, Map, …);
5
- // rslint's config entry doesn't expose a `globals` field, so that part is omitted.
6
- declare const recommended: RslintConfigEntry;
7
- export { recommended };
8
- //# sourceMappingURL=unicorn.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unicorn.d.ts","sourceRoot":"","sources":["../../src/configs/unicorn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,gEAAgE;AAChE,+FAA+F;AAC/F,yFAAuF;AACvF,mFAAmF;AACnF,QAAA,MAAM,WAAW,EAAE,iBA4JlB,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}