eslint-config-complete 1.5.0 → 1.6.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"base-import-x.d.ts","sourceRoot":"","sources":["../../src/base/base-import-x.js"],"names":[],"mappings":"AAuOA;;;;;;;;;GASG;AACH,8FAwEE"}
1
+ {"version":3,"file":"base-import-x.d.ts","sourceRoot":"","sources":["../../src/base/base-import-x.js"],"names":[],"mappings":"AAuOA;;;;;;;;;GASG;AACH,8FA0EE"}
@@ -253,6 +253,8 @@ export const baseImportX = tseslint.config({
253
253
  "knip.config.ts",
254
254
  "prettier.config.js",
255
255
  "prettier.config.mjs",
256
+ "rollup.config.js",
257
+ "rollup.config.mjs",
256
258
  "typedoc.config.js",
257
259
  "typedoc.config.mjs",
258
260
  "vite.config.js",
@@ -1 +1 @@
1
- {"version":3,"file":"base-n.d.ts","sourceRoot":"","sources":["../../src/base/base-n.js"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wFA2IE"}
1
+ {"version":3,"file":"base-n.d.ts","sourceRoot":"","sources":["../../src/base/base-n.js"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wFA+HG"}
@@ -15,8 +15,8 @@ export const baseN = tseslint.config({
15
15
  /** Disabled since stylistic rules from this plugin are not used. */
16
16
  "n/exports-style": "off",
17
17
  /**
18
- * This rule is helpful to automatically fix file extensions in import statements throughout
19
- * an entire codebase.
18
+ * This rule is helpful to automatically fix file extensions in import statements throughout an
19
+ * entire codebase.
20
20
  */
21
21
  "n/file-extension-in-import": ["warn", "always"],
22
22
  /** Disabled since stylistic rules from this plugin are not used. */
@@ -58,12 +58,10 @@ export const baseN = tseslint.config({
58
58
  /** Disabled since stylistic rules from this plugin are not used. */
59
59
  "n/no-sync": "off",
60
60
  "n/no-unpublished-bin": "warn",
61
- /**
62
- * An exception is made for files in a "scripts" directory, since those should be allowed to
63
- * import from "devDependencies".
64
- */
65
- "n/no-unpublished-import": "warn",
66
- "n/no-unpublished-require": "warn",
61
+ /** Superseded by the `import-x/no-extraneous-dependencies` rule. */
62
+ "n/no-unpublished-import": "off",
63
+ /** Disabled since it is assumed that source code will be written in ESM. */
64
+ "n/no-unpublished-require": "off",
67
65
  /** Disabled because it is assumed that we are running on modern versions of Node.js. */
68
66
  "n/no-unsupported-features/es-builtins": "off",
69
67
  /**
@@ -97,11 +95,4 @@ export const baseN = tseslint.config({
97
95
  /** Superseded by the `n/hashbang` rule. */
98
96
  "n/shebang": "off",
99
97
  },
100
- },
101
- // Imports in a "scripts" directory can use "devDependencies".
102
- {
103
- files: ["**/scripts/*.{js,cjs,mjs,ts,cts,mts}"],
104
- rules: {
105
- "n/no-unpublished-import": "off",
106
- },
107
98
  });
@@ -1 +1 @@
1
- {"version":3,"file":"base-stylistic.d.ts","sourceRoot":"","sources":["../../src/base/base-stylistic.js"],"names":[],"mappings":"AAGA;;;GAGG;AACH,gGA8CG"}
1
+ {"version":3,"file":"base-stylistic.d.ts","sourceRoot":"","sources":["../../src/base/base-stylistic.js"],"names":[],"mappings":"AAGA;;;GAGG;AACH,gGA2CG"}
@@ -6,7 +6,6 @@ import tseslint from "typescript-eslint";
6
6
  */
7
7
  export const baseStylistic = tseslint.config({
8
8
  plugins: {
9
- // @ts-expect-error https://github.com/eslint-stylistic/eslint-stylistic/issues/506
10
9
  "@stylistic": ESLintPluginStylistic,
11
10
  },
12
11
  rules: {
@@ -23,8 +22,6 @@ export const baseStylistic = tseslint.config({
23
22
  * `eslint-config-prettier`
24
23
  * documentation](https://github.com/prettier/eslint-config-prettier#enforce-backticks).
25
24
  */
26
- // The rule is currently bugged:
27
- // https://github.com/eslint-stylistic/eslint-stylistic/issues/542
28
25
  "@stylistic/quotes": [
29
26
  "warn",
30
27
  "double",
@@ -1 +1 @@
1
- {"version":3,"file":"base-typescript-eslint.d.ts","sourceRoot":"","sources":["../../src/base/base-typescript-eslint.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH,uGA4hBE"}
1
+ {"version":3,"file":"base-typescript-eslint.d.ts","sourceRoot":"","sources":["../../src/base/base-typescript-eslint.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH,uGA+hBE"}
@@ -36,6 +36,9 @@ export const baseTypeScriptESLint = tseslint.config({
36
36
  "prettier.config.js",
37
37
  "prettier.config.cjs",
38
38
  "prettier.config.mjs",
39
+ "rollup.config.js",
40
+ "rollup.config.cjs",
41
+ "rollup.config.mjs",
39
42
  "typedoc.config.js",
40
43
  "typedoc.config.cjs",
41
44
  "typedoc.config.mjs",
@@ -1 +1 @@
1
- {"version":3,"file":"base-unicorn.d.ts","sourceRoot":"","sources":["../../src/base/base-unicorn.js"],"names":[],"mappings":"AA4OA;;;;;;;GAOG;AACH,8FASG"}
1
+ {"version":3,"file":"base-unicorn.d.ts","sourceRoot":"","sources":["../../src/base/base-unicorn.js"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,8FAqLG"}
@@ -1,195 +1,5 @@
1
1
  import ESLintPluginUnicorn from "eslint-plugin-unicorn";
2
2
  import tseslint from "typescript-eslint";
3
- /**
4
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/readme.md#rules
5
- * @type {Record<string, import("@typescript-eslint/utils").TSESLint.SharedConfig.RuleEntry>}
6
- */
7
- const NORMAL_RULES = {
8
- "unicorn/better-regex": "warn",
9
- "unicorn/catch-error-name": "warn",
10
- /** Disabled because it has too many false positives. */
11
- "unicorn/consistent-destructuring": "off",
12
- "unicorn/consistent-empty-array-spread": "warn",
13
- "unicorn/consistent-existence-index-check": "warn",
14
- "unicorn/consistent-function-scoping": "warn",
15
- "unicorn/custom-error-definition": "warn",
16
- "unicorn/empty-brace-spaces": "off", // eslint-config-prettier
17
- "unicorn/error-message": "warn",
18
- "unicorn/escape-case": "warn",
19
- "unicorn/expiring-todo-comments": "warn",
20
- "unicorn/explicit-length-check": "warn",
21
- /** Disabled since projects may use different file naming conventions. */
22
- "unicorn/filename-case": "off",
23
- "unicorn/import-style": "warn",
24
- "unicorn/new-for-builtins": "warn",
25
- /**
26
- * Disabled because if a line breaks three or more ESLint rules, then it is useful to use a single
27
- * "eslint-disable" comment to make things more concise.
28
- */
29
- "unicorn/no-abusive-eslint-disable": "off",
30
- "unicorn/no-anonymous-default-export": "warn",
31
- /** Disabled since it is not helpful when using TypeScript. */
32
- "unicorn/no-array-callback-reference": "off",
33
- "unicorn/no-array-for-each": "warn",
34
- "unicorn/no-array-method-this-argument": "warn",
35
- "unicorn/no-array-push-push": "warn",
36
- "unicorn/no-array-reduce": "warn",
37
- "unicorn/no-await-expression-member": "warn",
38
- "unicorn/no-await-in-promise-methods": "warn",
39
- "unicorn/no-console-spaces": "warn",
40
- "unicorn/no-document-cookie": "warn",
41
- "unicorn/no-empty-file": "warn",
42
- "unicorn/no-for-loop": "warn",
43
- "unicorn/no-hex-escape": "warn",
44
- "unicorn/no-instanceof-array": "warn",
45
- "unicorn/no-invalid-fetch-options": "warn",
46
- "unicorn/no-invalid-remove-event-listener": "warn",
47
- /** Disabled because it is common to prefix variables with "new". */
48
- "unicorn/no-keyword-prefix": "off",
49
- "unicorn/no-length-as-slice-end": "warn",
50
- "unicorn/no-lonely-if": "warn",
51
- "unicorn/no-magic-array-flat-depth": "warn",
52
- "unicorn/no-negated-condition": "warn",
53
- "unicorn/no-negation-in-equality-check": "warn",
54
- "unicorn/no-nested-ternary": "off", // eslint-config-prettier
55
- "unicorn/no-new-array": "warn",
56
- "unicorn/no-new-buffer": "warn",
57
- "unicorn/no-null": "warn",
58
- "unicorn/no-object-as-default-parameter": "warn",
59
- /**
60
- * Disabled because using `process.exit` is common to exit command-line applications without
61
- * verbose output.
62
- */
63
- "unicorn/no-process-exit": "off",
64
- "unicorn/no-single-promise-in-promise-methods": "warn",
65
- "unicorn/no-static-only-class": "warn",
66
- "unicorn/no-thenable": "warn",
67
- /** Superseded by the `@typescript-eslint/no-this-alias` rule. */
68
- "unicorn/no-this-assignment": "off",
69
- "unicorn/no-typeof-undefined": "warn",
70
- "unicorn/no-unnecessary-await": "warn",
71
- "unicorn/no-unnecessary-polyfills": "warn",
72
- "unicorn/no-unreadable-array-destructuring": "warn",
73
- "unicorn/no-unreadable-iife": "warn",
74
- "unicorn/no-unused-properties": "warn",
75
- "unicorn/no-useless-fallback-in-spread": "warn",
76
- "unicorn/no-useless-length-check": "warn",
77
- "unicorn/no-useless-promise-resolve-reject": "warn",
78
- "unicorn/no-useless-spread": "warn",
79
- "unicorn/no-useless-switch-case": "warn",
80
- /** Disabled since it does not work properly with TypeScript. */
81
- "unicorn/no-useless-undefined": "off",
82
- "unicorn/no-zero-fractions": "warn",
83
- "unicorn/number-literal-case": "off", // eslint-config-prettier
84
- "unicorn/numeric-separators-style": "warn",
85
- "unicorn/prefer-add-event-listener": "warn",
86
- "unicorn/prefer-array-find": "warn",
87
- "unicorn/prefer-array-flat": "warn",
88
- "unicorn/prefer-array-flat-map": "warn",
89
- "unicorn/prefer-array-index-of": "warn",
90
- "unicorn/prefer-array-some": "warn",
91
- "unicorn/prefer-at": "warn",
92
- "unicorn/prefer-blob-reading-methods": "warn",
93
- "unicorn/prefer-code-point": "warn",
94
- "unicorn/prefer-date-now": "warn",
95
- "unicorn/prefer-default-parameters": "warn",
96
- "unicorn/prefer-dom-node-append": "warn",
97
- "unicorn/prefer-dom-node-dataset": "warn",
98
- "unicorn/prefer-dom-node-remove": "warn",
99
- "unicorn/prefer-dom-node-text-content": "warn",
100
- "unicorn/prefer-event-target": "warn",
101
- "unicorn/prefer-export-from": "warn",
102
- "unicorn/prefer-global-this": "warn",
103
- "unicorn/prefer-includes": "warn",
104
- /** Disabled because the rule is not compatible with TypeScript. */
105
- "unicorn/prefer-json-parse-buffer": "off",
106
- "unicorn/prefer-keyboard-event-key": "warn",
107
- "unicorn/prefer-logical-operator-over-ternary": "warn",
108
- "unicorn/prefer-math-min-max": "warn",
109
- "unicorn/prefer-math-trunc": "warn",
110
- "unicorn/prefer-modern-dom-apis": "warn",
111
- "unicorn/prefer-modern-math-apis": "warn",
112
- "unicorn/prefer-module": "warn",
113
- "unicorn/prefer-native-coercion-functions": "warn",
114
- "unicorn/prefer-negative-index": "warn",
115
- "unicorn/prefer-node-protocol": "warn",
116
- "unicorn/prefer-number-properties": "warn",
117
- "unicorn/prefer-object-from-entries": "warn",
118
- "unicorn/prefer-optional-catch-binding": "warn",
119
- "unicorn/prefer-prototype-methods": "warn",
120
- "unicorn/prefer-query-selector": "warn",
121
- "unicorn/prefer-reflect-apply": "warn",
122
- "unicorn/prefer-regexp-test": "warn",
123
- "unicorn/prefer-set-has": "warn",
124
- "unicorn/prefer-set-size": "warn",
125
- "unicorn/prefer-spread": "warn",
126
- "unicorn/prefer-string-raw": "warn",
127
- "unicorn/prefer-string-replace-all": "warn",
128
- "unicorn/prefer-string-slice": "warn",
129
- "unicorn/prefer-string-starts-ends-with": "warn",
130
- "unicorn/prefer-string-trim-start-end": "warn",
131
- "unicorn/prefer-structured-clone": "warn",
132
- "unicorn/prefer-switch": "warn",
133
- "unicorn/prefer-ternary": "warn",
134
- "unicorn/prefer-top-level-await": "warn",
135
- "unicorn/prefer-type-error": "warn",
136
- /** Disabled since it is common to use the variable name of "i". */
137
- "unicorn/prevent-abbreviations": "off",
138
- "unicorn/relative-url-style": "warn",
139
- "unicorn/require-array-join-separator": "warn",
140
- "unicorn/require-number-to-fixed-digits-argument": "warn",
141
- /** Disabled since it is not recommended by the plugin authors. */
142
- "unicorn/require-post-message-target-origin": "off",
143
- /** Disabled since string content enforcement is too project-specific. */
144
- "unicorn/string-content": "off",
145
- "unicorn/switch-case-braces": "warn",
146
- /**
147
- * Even though this rule is in `eslint-config-prettier`, it is not actually handled by Prettier.
148
- */
149
- "unicorn/template-indent": "warn",
150
- "unicorn/text-encoding-identifier-case": "warn",
151
- "unicorn/throw-new-error": "warn",
152
- };
153
- /**
154
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/deprecated-rules.md
155
- * @type {Record<string, import("@typescript-eslint/utils").TSESLint.SharedConfig.RuleEntry>}
156
- */
157
- const DEPRECATED_RULES = {
158
- /** Disabled because this rule is deprecated. */
159
- "unicorn/import-index": "off",
160
- /** Disabled because this rule is deprecated. */
161
- "unicorn/no-array-instanceof": "off",
162
- /** Disabled because this rule is deprecated. */
163
- "unicorn/no-fn-reference-in-iterator": "off",
164
- /** Disabled because this rule is deprecated. */
165
- "unicorn/no-reduce": "off",
166
- /** Disabled because this rule is deprecated. */
167
- "unicorn/no-unsafe-regex": "off",
168
- /** Disabled because this rule is deprecated. */
169
- "unicorn/prefer-dataset": "off",
170
- /** Disabled because this rule is deprecated. */
171
- "unicorn/prefer-event-key": "off",
172
- /** Disabled because this rule is deprecated. */
173
- "unicorn/prefer-exponentiation-operator": "off",
174
- /** Disabled because this rule is deprecated. */
175
- "unicorn/prefer-flat-map": "off",
176
- /** Disabled because this rule is deprecated. */
177
- "unicorn/prefer-node-append": "off",
178
- /** Disabled because this rule is deprecated. */
179
- "unicorn/prefer-node-remove": "off",
180
- /** Disabled because this rule is deprecated. */
181
- "unicorn/prefer-object-has-own": "off",
182
- /** Disabled because this rule is deprecated. */
183
- "unicorn/prefer-replace-all": "off",
184
- /** Disabled because this rule is deprecated. */
185
- "unicorn/prefer-starts-ends-with": "off",
186
- /** Disabled because this rule is deprecated. */
187
- "unicorn/prefer-text-content": "off",
188
- /** Disabled because this rule is deprecated. */
189
- "unicorn/prefer-trim-start-end": "off",
190
- /** Disabled because this rule is deprecated. */
191
- "unicorn/regex-shorthand": "off",
192
- };
193
3
  /**
194
4
  * This ESLint config only contains rules from `eslint-plugin-unicorn`:
195
5
  * https://github.com/sindresorhus/eslint-plugin-unicorn
@@ -203,7 +13,154 @@ export const baseUnicorn = tseslint.config({
203
13
  unicorn: ESLintPluginUnicorn,
204
14
  },
205
15
  rules: {
206
- ...NORMAL_RULES,
207
- ...DEPRECATED_RULES,
16
+ "unicorn/better-regex": "warn",
17
+ "unicorn/catch-error-name": "warn",
18
+ "unicorn/consistent-assert": "warn",
19
+ "unicorn/consistent-date-clone": "warn",
20
+ /** Disabled because it has too many false positives. */
21
+ "unicorn/consistent-destructuring": "off",
22
+ "unicorn/consistent-empty-array-spread": "warn",
23
+ "unicorn/consistent-existence-index-check": "warn",
24
+ "unicorn/consistent-function-scoping": "warn",
25
+ "unicorn/custom-error-definition": "warn",
26
+ "unicorn/empty-brace-spaces": "off", // eslint-config-prettier
27
+ "unicorn/error-message": "warn",
28
+ "unicorn/escape-case": "warn",
29
+ "unicorn/expiring-todo-comments": "warn",
30
+ "unicorn/explicit-length-check": "warn",
31
+ /** Disabled since projects may use different file naming conventions. */
32
+ "unicorn/filename-case": "off",
33
+ "unicorn/import-style": "warn",
34
+ "unicorn/new-for-builtins": "warn",
35
+ /**
36
+ * Disabled because if a line breaks three or more ESLint rules, then it is useful to use a
37
+ * single "eslint-disable" comment to make things more concise.
38
+ */
39
+ "unicorn/no-abusive-eslint-disable": "off",
40
+ "unicorn/no-accessor-recursion": "warn",
41
+ "unicorn/no-anonymous-default-export": "warn",
42
+ /** Disabled since it is not helpful when using TypeScript. */
43
+ "unicorn/no-array-callback-reference": "off",
44
+ "unicorn/no-array-for-each": "warn",
45
+ "unicorn/no-array-method-this-argument": "warn",
46
+ "unicorn/no-array-push-push": "warn",
47
+ "unicorn/no-array-reduce": "warn",
48
+ "unicorn/no-await-expression-member": "warn",
49
+ "unicorn/no-await-in-promise-methods": "warn",
50
+ "unicorn/no-console-spaces": "warn",
51
+ "unicorn/no-document-cookie": "warn",
52
+ "unicorn/no-empty-file": "warn",
53
+ "unicorn/no-for-loop": "warn",
54
+ "unicorn/no-hex-escape": "warn",
55
+ "unicorn/no-instanceof-array": "warn",
56
+ "unicorn/no-instanceof-builtins": "warn",
57
+ "unicorn/no-invalid-fetch-options": "warn",
58
+ "unicorn/no-invalid-remove-event-listener": "warn",
59
+ /** Disabled because it is common to prefix variables with "new". */
60
+ "unicorn/no-keyword-prefix": "off",
61
+ "unicorn/no-length-as-slice-end": "warn",
62
+ "unicorn/no-lonely-if": "warn",
63
+ "unicorn/no-magic-array-flat-depth": "warn",
64
+ "unicorn/no-negated-condition": "warn",
65
+ "unicorn/no-negation-in-equality-check": "warn",
66
+ "unicorn/no-nested-ternary": "off", // eslint-config-prettier
67
+ "unicorn/no-new-array": "warn",
68
+ "unicorn/no-new-buffer": "warn",
69
+ "unicorn/no-named-default": "warn",
70
+ "unicorn/no-null": "warn",
71
+ "unicorn/no-object-as-default-parameter": "warn",
72
+ /**
73
+ * Disabled because using `process.exit` is common to exit command-line applications without
74
+ * verbose output.
75
+ */
76
+ "unicorn/no-process-exit": "off",
77
+ "unicorn/no-single-promise-in-promise-methods": "warn",
78
+ "unicorn/no-static-only-class": "warn",
79
+ "unicorn/no-thenable": "warn",
80
+ /** Superseded by the `@typescript-eslint/no-this-alias` rule. */
81
+ "unicorn/no-this-assignment": "off",
82
+ "unicorn/no-typeof-undefined": "warn",
83
+ "unicorn/no-unnecessary-await": "warn",
84
+ "unicorn/no-unnecessary-polyfills": "warn",
85
+ "unicorn/no-unreadable-array-destructuring": "warn",
86
+ "unicorn/no-unreadable-iife": "warn",
87
+ "unicorn/no-unused-properties": "warn",
88
+ "unicorn/no-useless-fallback-in-spread": "warn",
89
+ "unicorn/no-useless-length-check": "warn",
90
+ "unicorn/no-useless-promise-resolve-reject": "warn",
91
+ "unicorn/no-useless-spread": "warn",
92
+ "unicorn/no-useless-switch-case": "warn",
93
+ /** Disabled since it does not work properly with TypeScript. */
94
+ "unicorn/no-useless-undefined": "off",
95
+ "unicorn/no-zero-fractions": "warn",
96
+ "unicorn/number-literal-case": "off", // eslint-config-prettier
97
+ "unicorn/numeric-separators-style": "warn",
98
+ "unicorn/prefer-add-event-listener": "warn",
99
+ "unicorn/prefer-array-find": "warn",
100
+ "unicorn/prefer-array-flat": "warn",
101
+ "unicorn/prefer-array-flat-map": "warn",
102
+ "unicorn/prefer-array-index-of": "warn",
103
+ "unicorn/prefer-array-some": "warn",
104
+ "unicorn/prefer-at": "warn",
105
+ "unicorn/prefer-blob-reading-methods": "warn",
106
+ "unicorn/prefer-code-point": "warn",
107
+ "unicorn/prefer-date-now": "warn",
108
+ "unicorn/prefer-default-parameters": "warn",
109
+ "unicorn/prefer-dom-node-append": "warn",
110
+ "unicorn/prefer-dom-node-dataset": "warn",
111
+ "unicorn/prefer-dom-node-remove": "warn",
112
+ "unicorn/prefer-dom-node-text-content": "warn",
113
+ "unicorn/prefer-event-target": "warn",
114
+ "unicorn/prefer-export-from": "warn",
115
+ "unicorn/prefer-global-this": "warn",
116
+ "unicorn/prefer-includes": "warn",
117
+ /** Disabled because the rule is not compatible with TypeScript. */
118
+ "unicorn/prefer-json-parse-buffer": "off",
119
+ "unicorn/prefer-keyboard-event-key": "warn",
120
+ "unicorn/prefer-logical-operator-over-ternary": "warn",
121
+ "unicorn/prefer-math-min-max": "warn",
122
+ "unicorn/prefer-math-trunc": "warn",
123
+ "unicorn/prefer-modern-dom-apis": "warn",
124
+ "unicorn/prefer-modern-math-apis": "warn",
125
+ "unicorn/prefer-module": "warn",
126
+ "unicorn/prefer-native-coercion-functions": "warn",
127
+ "unicorn/prefer-negative-index": "warn",
128
+ "unicorn/prefer-node-protocol": "warn",
129
+ "unicorn/prefer-number-properties": "warn",
130
+ "unicorn/prefer-object-from-entries": "warn",
131
+ "unicorn/prefer-optional-catch-binding": "warn",
132
+ "unicorn/prefer-prototype-methods": "warn",
133
+ "unicorn/prefer-query-selector": "warn",
134
+ "unicorn/prefer-reflect-apply": "warn",
135
+ "unicorn/prefer-regexp-test": "warn",
136
+ "unicorn/prefer-set-has": "warn",
137
+ "unicorn/prefer-set-size": "warn",
138
+ "unicorn/prefer-spread": "warn",
139
+ "unicorn/prefer-string-raw": "warn",
140
+ "unicorn/prefer-string-replace-all": "warn",
141
+ "unicorn/prefer-string-slice": "warn",
142
+ "unicorn/prefer-string-starts-ends-with": "warn",
143
+ "unicorn/prefer-string-trim-start-end": "warn",
144
+ "unicorn/prefer-structured-clone": "warn",
145
+ "unicorn/prefer-switch": "warn",
146
+ "unicorn/prefer-ternary": "warn",
147
+ "unicorn/prefer-top-level-await": "warn",
148
+ "unicorn/prefer-type-error": "warn",
149
+ /** Disabled since it is common to use the variable name of "i". */
150
+ "unicorn/prevent-abbreviations": "off",
151
+ "unicorn/relative-url-style": "warn",
152
+ "unicorn/require-array-join-separator": "warn",
153
+ "unicorn/require-number-to-fixed-digits-argument": "warn",
154
+ /** Disabled since it is not recommended by the plugin authors. */
155
+ "unicorn/require-post-message-target-origin": "off",
156
+ /** Disabled since string content enforcement is too project-specific. */
157
+ "unicorn/string-content": "off",
158
+ "unicorn/switch-case-braces": "warn",
159
+ /**
160
+ * Even though this rule is in `eslint-config-prettier`, it is not actually handled by Prettier.
161
+ */
162
+ "unicorn/template-indent": "warn",
163
+ "unicorn/text-encoding-identifier-case": "warn",
164
+ "unicorn/throw-new-error": "warn",
208
165
  },
209
166
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-config-complete",
3
- "version": "1.5.0",
3
+ "version": "1.6.1",
4
4
  "description": "A sharable ESLint config for TypeScript projects.",
5
5
  "keywords": [
6
6
  "eslint",
@@ -35,26 +35,25 @@
35
35
  "lint": "tsx ./scripts/lint.ts"
36
36
  },
37
37
  "dependencies": {
38
- "@stylistic/eslint-plugin": "^3.1.0",
39
- "confusing-browser-globals": "^1.0.11",
40
- "eslint-import-resolver-typescript": "^3.7.0",
41
- "eslint-plugin-complete": "^1.0.8",
42
- "eslint-plugin-import-x": "^4.6.1",
43
- "eslint-plugin-jsdoc": "^50.6.3",
44
- "eslint-plugin-n": "^17.15.1",
45
- "eslint-plugin-unicorn": "^56.0.1",
46
- "typescript-eslint": "^8.24.0"
38
+ "@stylistic/eslint-plugin": "4.0.1",
39
+ "confusing-browser-globals": "1.0.11",
40
+ "eslint-import-resolver-typescript": "3.8.3",
41
+ "eslint-plugin-complete": "1.0.8",
42
+ "eslint-plugin-import-x": "4.6.1",
43
+ "eslint-plugin-jsdoc": "50.6.3",
44
+ "eslint-plugin-n": "17.15.1",
45
+ "eslint-plugin-unicorn": "57.0.0",
46
+ "typescript-eslint": "8.24.1"
47
47
  },
48
48
  "devDependencies": {
49
- "@eslint/js": "^9.20.0",
50
- "@types/confusing-browser-globals": "^1.0.3",
51
- "@types/eslint-config-prettier": "^6.11.3",
52
- "@types/eslint__js": "^8.42.3",
53
- "@types/node": "^22.13.1",
54
- "complete-common": "^1.0.1",
55
- "complete-node": "^1.7.4",
56
- "eslint-config-prettier": "^10.0.1",
57
- "extract-comments": "^1.1.0",
58
- "typescript": "^5.7.3"
49
+ "@eslint/js": "9.21.0",
50
+ "@types/confusing-browser-globals": "1.0.3",
51
+ "@types/eslint-config-prettier": "6.11.3",
52
+ "@types/node": "22.13.5",
53
+ "complete-common": "^1.1.1",
54
+ "complete-node": "^3.0.1",
55
+ "eslint-config-prettier": "10.0.1",
56
+ "extract-comments": "1.1.0",
57
+ "typescript": "5.7.3"
59
58
  }
60
59
  }