@lqbach/eslint-config 0.6.1 → 0.8.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/dist/index.d.ts CHANGED
@@ -1,15 +1,31 @@
1
+ interface AstroConfigParams {
2
+ typescript?: boolean;
3
+ }
4
+ interface ConfigObject {
5
+ files?: Array<string>;
6
+ ignores?: Array<string>;
7
+ languageOptions?: LanguageOptions;
8
+ linterOptions?: LinterOptions;
9
+ name?: string;
10
+ plugins?: object;
11
+ processor?: object;
12
+ rules?: object;
13
+ settings?: any;
14
+ }
1
15
  interface ConfigParams {
16
+ astro?: AstroConfigParams | boolean;
2
17
  ignores?: Array<string>;
3
18
  json?: boolean;
4
19
  markdown?: boolean;
20
+ next?: boolean | NextJSConfigParams;
5
21
  perfectionist?: boolean;
6
- react?: boolean;
22
+ react?: boolean | ReactJSConfigParams;
7
23
  typescript?: boolean;
8
24
  vue?: boolean;
9
25
  yaml?: boolean;
10
26
  }
11
27
  interface LanguageOptions {
12
- ecmaVersion?: string;
28
+ ecmaVersion?: number | string;
13
29
  globals?: object;
14
30
  parser?: object;
15
31
  parserOptions?: object;
@@ -19,15 +35,14 @@ interface LinterOptions {
19
35
  noInlineConfig?: boolean;
20
36
  reportUnusedDisableDirectives?: boolean;
21
37
  }
22
- interface ConfigObject {
23
- files?: Array<string>;
24
- ignores?: Array<string>;
25
- languageOptions?: LanguageOptions;
26
- linterOptions?: LinterOptions;
27
- plugins?: object;
28
- processor?: object;
29
- rules?: object;
30
- settings?: object;
38
+ interface NextJSConfigParams {
39
+ rootDir?: string;
40
+ }
41
+ interface ReactJSConfigParams {
42
+ /**
43
+ * use react hooks
44
+ */
45
+ hooks?: boolean;
31
46
  }
32
47
 
33
48
  declare function config(params?: ConfigParams): Array<ConfigObject>;
package/dist/index.js CHANGED
@@ -1,339 +1,23 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __commonJS = (cb, mod) => function __require() {
8
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
19
- // If the importer is in node compatibility mode or this is not an ESM
20
- // file that has been converted to a CommonJS file using a Babel-
21
- // compatible transform (i.e. "__esModule" has not been set), then set
22
- // "default" to the CommonJS "module.exports" for node compatibility.
23
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
24
- mod
25
- ));
26
-
27
- // ../../node_modules/.pnpm/@eslint+js@9.11.1/node_modules/@eslint/js/src/configs/eslint-all.js
28
- var require_eslint_all = __commonJS({
29
- "../../node_modules/.pnpm/@eslint+js@9.11.1/node_modules/@eslint/js/src/configs/eslint-all.js"(exports, module) {
30
- "use strict";
31
- module.exports = Object.freeze({
32
- "rules": {
33
- "accessor-pairs": "error",
34
- "array-callback-return": "error",
35
- "arrow-body-style": "error",
36
- "block-scoped-var": "error",
37
- "camelcase": "error",
38
- "capitalized-comments": "error",
39
- "class-methods-use-this": "error",
40
- "complexity": "error",
41
- "consistent-return": "error",
42
- "consistent-this": "error",
43
- "constructor-super": "error",
44
- "curly": "error",
45
- "default-case": "error",
46
- "default-case-last": "error",
47
- "default-param-last": "error",
48
- "dot-notation": "error",
49
- "eqeqeq": "error",
50
- "for-direction": "error",
51
- "func-name-matching": "error",
52
- "func-names": "error",
53
- "func-style": "error",
54
- "getter-return": "error",
55
- "grouped-accessor-pairs": "error",
56
- "guard-for-in": "error",
57
- "id-denylist": "error",
58
- "id-length": "error",
59
- "id-match": "error",
60
- "init-declarations": "error",
61
- "logical-assignment-operators": "error",
62
- "max-classes-per-file": "error",
63
- "max-depth": "error",
64
- "max-lines": "error",
65
- "max-lines-per-function": "error",
66
- "max-nested-callbacks": "error",
67
- "max-params": "error",
68
- "max-statements": "error",
69
- "new-cap": "error",
70
- "no-alert": "error",
71
- "no-array-constructor": "error",
72
- "no-async-promise-executor": "error",
73
- "no-await-in-loop": "error",
74
- "no-bitwise": "error",
75
- "no-caller": "error",
76
- "no-case-declarations": "error",
77
- "no-class-assign": "error",
78
- "no-compare-neg-zero": "error",
79
- "no-cond-assign": "error",
80
- "no-console": "error",
81
- "no-const-assign": "error",
82
- "no-constant-binary-expression": "error",
83
- "no-constant-condition": "error",
84
- "no-constructor-return": "error",
85
- "no-continue": "error",
86
- "no-control-regex": "error",
87
- "no-debugger": "error",
88
- "no-delete-var": "error",
89
- "no-div-regex": "error",
90
- "no-dupe-args": "error",
91
- "no-dupe-class-members": "error",
92
- "no-dupe-else-if": "error",
93
- "no-dupe-keys": "error",
94
- "no-duplicate-case": "error",
95
- "no-duplicate-imports": "error",
96
- "no-else-return": "error",
97
- "no-empty": "error",
98
- "no-empty-character-class": "error",
99
- "no-empty-function": "error",
100
- "no-empty-pattern": "error",
101
- "no-empty-static-block": "error",
102
- "no-eq-null": "error",
103
- "no-eval": "error",
104
- "no-ex-assign": "error",
105
- "no-extend-native": "error",
106
- "no-extra-bind": "error",
107
- "no-extra-boolean-cast": "error",
108
- "no-extra-label": "error",
109
- "no-fallthrough": "error",
110
- "no-func-assign": "error",
111
- "no-global-assign": "error",
112
- "no-implicit-coercion": "error",
113
- "no-implicit-globals": "error",
114
- "no-implied-eval": "error",
115
- "no-import-assign": "error",
116
- "no-inline-comments": "error",
117
- "no-inner-declarations": "error",
118
- "no-invalid-regexp": "error",
119
- "no-invalid-this": "error",
120
- "no-irregular-whitespace": "error",
121
- "no-iterator": "error",
122
- "no-label-var": "error",
123
- "no-labels": "error",
124
- "no-lone-blocks": "error",
125
- "no-lonely-if": "error",
126
- "no-loop-func": "error",
127
- "no-loss-of-precision": "error",
128
- "no-magic-numbers": "error",
129
- "no-misleading-character-class": "error",
130
- "no-multi-assign": "error",
131
- "no-multi-str": "error",
132
- "no-negated-condition": "error",
133
- "no-nested-ternary": "error",
134
- "no-new": "error",
135
- "no-new-func": "error",
136
- "no-new-native-nonconstructor": "error",
137
- "no-new-wrappers": "error",
138
- "no-nonoctal-decimal-escape": "error",
139
- "no-obj-calls": "error",
140
- "no-object-constructor": "error",
141
- "no-octal": "error",
142
- "no-octal-escape": "error",
143
- "no-param-reassign": "error",
144
- "no-plusplus": "error",
145
- "no-promise-executor-return": "error",
146
- "no-proto": "error",
147
- "no-prototype-builtins": "error",
148
- "no-redeclare": "error",
149
- "no-regex-spaces": "error",
150
- "no-restricted-exports": "error",
151
- "no-restricted-globals": "error",
152
- "no-restricted-imports": "error",
153
- "no-restricted-properties": "error",
154
- "no-restricted-syntax": "error",
155
- "no-return-assign": "error",
156
- "no-script-url": "error",
157
- "no-self-assign": "error",
158
- "no-self-compare": "error",
159
- "no-sequences": "error",
160
- "no-setter-return": "error",
161
- "no-shadow": "error",
162
- "no-shadow-restricted-names": "error",
163
- "no-sparse-arrays": "error",
164
- "no-template-curly-in-string": "error",
165
- "no-ternary": "error",
166
- "no-this-before-super": "error",
167
- "no-throw-literal": "error",
168
- "no-undef": "error",
169
- "no-undef-init": "error",
170
- "no-undefined": "error",
171
- "no-underscore-dangle": "error",
172
- "no-unexpected-multiline": "error",
173
- "no-unmodified-loop-condition": "error",
174
- "no-unneeded-ternary": "error",
175
- "no-unreachable": "error",
176
- "no-unreachable-loop": "error",
177
- "no-unsafe-finally": "error",
178
- "no-unsafe-negation": "error",
179
- "no-unsafe-optional-chaining": "error",
180
- "no-unused-expressions": "error",
181
- "no-unused-labels": "error",
182
- "no-unused-private-class-members": "error",
183
- "no-unused-vars": "error",
184
- "no-use-before-define": "error",
185
- "no-useless-assignment": "error",
186
- "no-useless-backreference": "error",
187
- "no-useless-call": "error",
188
- "no-useless-catch": "error",
189
- "no-useless-computed-key": "error",
190
- "no-useless-concat": "error",
191
- "no-useless-constructor": "error",
192
- "no-useless-escape": "error",
193
- "no-useless-rename": "error",
194
- "no-useless-return": "error",
195
- "no-var": "error",
196
- "no-void": "error",
197
- "no-warning-comments": "error",
198
- "no-with": "error",
199
- "object-shorthand": "error",
200
- "one-var": "error",
201
- "operator-assignment": "error",
202
- "prefer-arrow-callback": "error",
203
- "prefer-const": "error",
204
- "prefer-destructuring": "error",
205
- "prefer-exponentiation-operator": "error",
206
- "prefer-named-capture-group": "error",
207
- "prefer-numeric-literals": "error",
208
- "prefer-object-has-own": "error",
209
- "prefer-object-spread": "error",
210
- "prefer-promise-reject-errors": "error",
211
- "prefer-regex-literals": "error",
212
- "prefer-rest-params": "error",
213
- "prefer-spread": "error",
214
- "prefer-template": "error",
215
- "radix": "error",
216
- "require-atomic-updates": "error",
217
- "require-await": "error",
218
- "require-unicode-regexp": "error",
219
- "require-yield": "error",
220
- "sort-imports": "error",
221
- "sort-keys": "error",
222
- "sort-vars": "error",
223
- "strict": "error",
224
- "symbol-description": "error",
225
- "unicode-bom": "error",
226
- "use-isnan": "error",
227
- "valid-typeof": "error",
228
- "vars-on-top": "error",
229
- "yoda": "error"
230
- }
231
- });
232
- }
233
- });
234
-
235
- // ../../node_modules/.pnpm/@eslint+js@9.11.1/node_modules/@eslint/js/src/configs/eslint-recommended.js
236
- var require_eslint_recommended = __commonJS({
237
- "../../node_modules/.pnpm/@eslint+js@9.11.1/node_modules/@eslint/js/src/configs/eslint-recommended.js"(exports, module) {
238
- "use strict";
239
- module.exports = Object.freeze({
240
- rules: Object.freeze({
241
- "constructor-super": "error",
242
- "for-direction": "error",
243
- "getter-return": "error",
244
- "no-async-promise-executor": "error",
245
- "no-case-declarations": "error",
246
- "no-class-assign": "error",
247
- "no-compare-neg-zero": "error",
248
- "no-cond-assign": "error",
249
- "no-const-assign": "error",
250
- "no-constant-binary-expression": "error",
251
- "no-constant-condition": "error",
252
- "no-control-regex": "error",
253
- "no-debugger": "error",
254
- "no-delete-var": "error",
255
- "no-dupe-args": "error",
256
- "no-dupe-class-members": "error",
257
- "no-dupe-else-if": "error",
258
- "no-dupe-keys": "error",
259
- "no-duplicate-case": "error",
260
- "no-empty": "error",
261
- "no-empty-character-class": "error",
262
- "no-empty-pattern": "error",
263
- "no-empty-static-block": "error",
264
- "no-ex-assign": "error",
265
- "no-extra-boolean-cast": "error",
266
- "no-fallthrough": "error",
267
- "no-func-assign": "error",
268
- "no-global-assign": "error",
269
- "no-import-assign": "error",
270
- "no-invalid-regexp": "error",
271
- "no-irregular-whitespace": "error",
272
- "no-loss-of-precision": "error",
273
- "no-misleading-character-class": "error",
274
- "no-new-native-nonconstructor": "error",
275
- "no-nonoctal-decimal-escape": "error",
276
- "no-obj-calls": "error",
277
- "no-octal": "error",
278
- "no-prototype-builtins": "error",
279
- "no-redeclare": "error",
280
- "no-regex-spaces": "error",
281
- "no-self-assign": "error",
282
- "no-setter-return": "error",
283
- "no-shadow-restricted-names": "error",
284
- "no-sparse-arrays": "error",
285
- "no-this-before-super": "error",
286
- "no-undef": "error",
287
- "no-unexpected-multiline": "error",
288
- "no-unreachable": "error",
289
- "no-unsafe-finally": "error",
290
- "no-unsafe-negation": "error",
291
- "no-unsafe-optional-chaining": "error",
292
- "no-unused-labels": "error",
293
- "no-unused-private-class-members": "error",
294
- "no-unused-vars": "error",
295
- "no-useless-backreference": "error",
296
- "no-useless-catch": "error",
297
- "no-useless-escape": "error",
298
- "no-with": "error",
299
- "require-yield": "error",
300
- "use-isnan": "error",
301
- "valid-typeof": "error"
302
- })
303
- });
304
- }
305
- });
306
-
307
- // ../../node_modules/.pnpm/@eslint+js@9.11.1/node_modules/@eslint/js/src/index.js
308
- var require_src = __commonJS({
309
- "../../node_modules/.pnpm/@eslint+js@9.11.1/node_modules/@eslint/js/src/index.js"(exports, module) {
310
- "use strict";
311
- module.exports = {
312
- configs: {
313
- all: require_eslint_all(),
314
- recommended: require_eslint_recommended()
315
- }
316
- };
317
- }
318
- });
319
-
320
1
  // src/index.ts
321
2
  import globals from "globals";
322
3
 
323
4
  // src/libs.ts
324
- var import_js = __toESM(require_src(), 1);
325
- import { default as default3 } from "@typescript-eslint/eslint-plugin";
326
- import { default as default4 } from "@typescript-eslint/parser";
327
- import { default as default5 } from "eslint-config-prettier";
328
- import { default as default6 } from "eslint-plugin-jsonc";
329
- import { default as default7 } from "eslint-plugin-perfectionist";
330
- import { default as default8 } from "eslint-plugin-react";
331
- import { default as default9 } from "eslint-plugin-unused-imports";
332
- import { default as default10 } from "eslint-plugin-vue";
333
- import { default as default11 } from "eslint-plugin-yml";
334
- import { default as default12 } from "jsonc-eslint-parser";
335
- import { default as default13 } from "vue-eslint-parser";
336
- import { default as default14 } from "yaml-eslint-parser";
5
+ import { default as default2 } from "@eslint/js";
6
+ import { default as default3 } from "@next/eslint-plugin-next";
7
+ import { default as default4 } from "@typescript-eslint/eslint-plugin";
8
+ import { default as default5 } from "@typescript-eslint/parser";
9
+ import { default as default6 } from "eslint-config-prettier";
10
+ import { default as default7 } from "eslint-plugin-astro";
11
+ import { default as default8 } from "eslint-plugin-jsonc";
12
+ import { default as default9 } from "eslint-plugin-perfectionist";
13
+ import { default as default10 } from "eslint-plugin-react";
14
+ import { default as default11 } from "eslint-plugin-react-hooks";
15
+ import { default as default12 } from "eslint-plugin-unused-imports";
16
+ import { default as default13 } from "eslint-plugin-vue";
17
+ import { default as default14 } from "eslint-plugin-yml";
18
+ import { default as default15 } from "jsonc-eslint-parser";
19
+ import { default as default16 } from "vue-eslint-parser";
20
+ import { default as default17 } from "yaml-eslint-parser";
337
21
 
338
22
  // src/index.ts
339
23
  function config(params = {}) {
@@ -360,12 +44,14 @@ function config(params = {}) {
360
44
  "**/web/public",
361
45
  "**/studio/build",
362
46
  "**/studio/.sanity",
47
+ ...params.next ? ["**/.next"] : [],
363
48
  ...params.ignores ? params.ignores : []
364
- ]
49
+ ],
50
+ name: "lqbach/ignores"
365
51
  };
366
52
  const javascriptConfig = [
367
53
  // Default
368
- import_js.default.configs.recommended,
54
+ default2.configs.recommended,
369
55
  {
370
56
  files: ["**/*.js", "**/*.mjs"],
371
57
  languageOptions: {
@@ -379,8 +65,9 @@ function config(params = {}) {
379
65
  sourceType: "module"
380
66
  }
381
67
  },
68
+ name: "lqbach/javascript",
382
69
  plugins: {
383
- "unused-imports": default9
70
+ "unused-imports": default12
384
71
  },
385
72
  rules: {
386
73
  "unused-imports/no-unused-imports": "error",
@@ -399,19 +86,20 @@ function config(params = {}) {
399
86
  const typescriptConfig = params.typescript ?? true ? {
400
87
  files: ["**/*.{ts,tsx}"],
401
88
  languageOptions: {
402
- parser: default4,
89
+ parser: default5,
403
90
  parserOptions: {
404
91
  sourceType: "module"
405
92
  }
406
93
  },
94
+ name: "lqbach/typescript",
407
95
  plugins: {
408
- "@typescript-eslint": default3
96
+ "@typescript-eslint": default4
409
97
  },
410
98
  rules: {
411
- ...default3.configs.recommended.rules
99
+ ...default4.configs.recommended.rules
412
100
  }
413
101
  } : {};
414
- const reactConfig = params.react ?? false ? {
102
+ const reactConfig = (params.next || params.react) ?? false ? {
415
103
  files: ["**/*.{js,jsx,mjs,cjs,ts,tsx}"],
416
104
  languageOptions: {
417
105
  globals: {
@@ -424,82 +112,144 @@ function config(params = {}) {
424
112
  }
425
113
  }
426
114
  },
115
+ name: "lqbach/react",
427
116
  plugins: {
428
- react: default8
117
+ react: default10
429
118
  },
430
119
  rules: {
431
- ...default8.configs.flat.recommended.rules,
120
+ ...default10.configs.flat?.recommended.rules,
432
121
  // ignore `css` for emotion usage
433
122
  "react/no-unknown-property": ["error", { ignore: ["css"] }]
434
123
  }
435
124
  } : {};
125
+ const reactHooksConfig = (params.next || typeof params.react !== "boolean" && params.react?.hooks === true) ?? false ? {
126
+ files: ["**/*.{js,jsx,mjs,cjs,ts,tsx}"],
127
+ name: "lqbach/react-hooks",
128
+ plugins: {
129
+ "react-hooks": default11
130
+ },
131
+ rules: {
132
+ "react-hooks/exhaustive-deps": "warn",
133
+ "react-hooks/rules-of-hooks": "error"
134
+ }
135
+ } : {};
436
136
  const vueConfig = params.vue ?? false ? {
437
137
  files: ["**/*.vue"],
438
138
  languageOptions: {
439
- parser: default13,
139
+ parser: default16,
440
140
  parserOptions: {
441
- parser: params.typescript ? default4 : null,
141
+ parser: params.typescript ? default5 : null,
442
142
  sourceType: "module"
443
143
  }
444
144
  },
145
+ name: "lqbach/vue",
146
+ plugins: {
147
+ vue: default13
148
+ },
149
+ processor: default13.processors[".vue"],
150
+ rules: {
151
+ ...default13.configs["base"].rules,
152
+ ...default13.configs["essential"].rules,
153
+ ...default13.configs["strongly-recommended"].rules
154
+ }
155
+ } : {};
156
+ const nextConfig = params.next ?? false ? {
157
+ files: ["**/*.{js,jsx,ts,tsx}"],
158
+ name: "lqbach/next",
445
159
  plugins: {
446
- vue: default10
160
+ "@next/next": default3
447
161
  },
448
- processor: default10.processors[".vue"],
449
162
  rules: {
450
- ...default10.configs["base"].rules,
451
- ...default10.configs["vue3-essential"].rules,
452
- ...default10.configs["vue3-strongly-recommended"].rules
163
+ ...default3.configs.recommended.rules,
164
+ ...default3.configs["core-web-vitals"].rules
165
+ },
166
+ ...typeof params.next !== "boolean" && params.next?.rootDir && {
167
+ settings: {
168
+ nextjs: {
169
+ rootDir: params.next.rootDir
170
+ }
171
+ }
453
172
  }
454
173
  } : {};
455
174
  const yamlConfig = params.yaml ?? true ? {
456
175
  files: ["**/*.{yaml, yml}"],
457
176
  languageOptions: {
458
- parser: default14
177
+ parser: default17
459
178
  },
179
+ name: "lqbach/yaml",
460
180
  plugins: {
461
- yml: default11
181
+ yml: default14
462
182
  },
463
183
  rules: {
464
- ...default11.configs["standard"].rules,
465
- ...default11.configs["prettier"].rules
184
+ ...default14.configs["standard"].rules,
185
+ ...default14.configs["prettier"].rules
466
186
  }
467
187
  } : {};
468
188
  const jsoncConfig = params.json ?? true ? [
469
189
  {
190
+ name: "lqbach/jsonc-plugin",
470
191
  plugins: {
471
- jsonc: default6
192
+ jsonc: default8
472
193
  }
473
194
  },
474
195
  {
475
196
  files: ["**/*.{json, json5, jsonc}"],
476
197
  languageOptions: {
477
- parser: default12
198
+ parser: default15
478
199
  },
200
+ name: "lqbach/json",
479
201
  rules: {
480
- ...default6.configs["recommended-with-json"].rules,
481
- ...default6.configs["recommended-with-jsonc"].rules,
482
- ...default6.configs["recommended-with-json5"].rules,
483
- ...default6.configs["prettier"].rules,
202
+ ...default8.configs["recommended-with-json"].rules,
203
+ ...default8.configs["recommended-with-jsonc"].rules,
204
+ ...default8.configs["recommended-with-json5"].rules,
205
+ ...default8.configs["prettier"].rules,
484
206
  "jsonc/no-comments": "off"
485
207
  }
486
208
  }
487
209
  ] : [];
488
210
  const perfectionistConfig = params.perfectionist ?? true ? {
211
+ name: "lqbach/perfectionist",
212
+ plugins: {
213
+ perfectionist: default9
214
+ },
215
+ rules: {
216
+ ...default9.configs["recommended-natural"].rules
217
+ }
218
+ } : {};
219
+ const astroConfig = params.astro ?? false ? {
220
+ files: ["**/*.astro"],
221
+ languageOptions: {
222
+ parserOptions: params.typescript ? {
223
+ extraFileExtensions: [".astro"],
224
+ parser: default5,
225
+ sourceType: "module"
226
+ } : {}
227
+ },
228
+ name: "lqbach/astro",
489
229
  plugins: {
490
- perfectionist: default7
230
+ astro: default7
491
231
  },
492
232
  rules: {
493
- ...default7.configs["recommended-natural"].rules
233
+ "astro/missing-client-only-directive-value": "error",
234
+ "astro/no-conflict-set-directives": "error",
235
+ "astro/no-deprecated-astro-canonicalurl": "error",
236
+ "astro/no-deprecated-astro-fetchcontent": "error",
237
+ "astro/no-deprecated-astro-resolve": "error",
238
+ "astro/no-deprecated-getentrybyslug": "error",
239
+ "astro/no-unused-define-vars-in-style": "error",
240
+ "astro/valid-compile": "error"
494
241
  }
495
242
  } : {};
496
- const prettierConfig = default5;
243
+ const prettierConfig = default6;
497
244
  let config2 = [];
498
245
  config2.push(ignoresConfig);
499
246
  config2.push(...javascriptConfig);
500
247
  config2.push(typescriptConfig);
501
248
  config2.push(reactConfig);
249
+ config2.push(reactHooksConfig);
502
250
  config2.push(vueConfig);
251
+ config2.push(nextConfig);
252
+ config2.push(astroConfig);
503
253
  config2.push(yamlConfig);
504
254
  config2.push(...jsoncConfig);
505
255
  config2.push(perfectionistConfig);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lqbach/eslint-config",
3
3
  "type": "module",
4
- "version": "0.6.1",
4
+ "version": "0.8.0",
5
5
  "description": "lqbach's Personal Eslint Config",
6
6
  "private": false,
7
7
  "license": "MIT",
@@ -18,19 +18,22 @@
18
18
  "main": "./dist/index.js",
19
19
  "types": "./dist/index.d.ts",
20
20
  "dependencies": {
21
- "@typescript-eslint/eslint-plugin": "^8.8.0",
22
- "@typescript-eslint/parser": "^8.8.0",
23
- "eslint-config-prettier": "^9.1.0",
21
+ "@eslint/js": "^9.11.0",
22
+ "@next/eslint-plugin-next": "^15.1.2",
23
+ "@typescript-eslint/eslint-plugin": "^8.18.0",
24
+ "@typescript-eslint/parser": "^8.18.0",
25
+ "eslint-config-prettier": "^10.1.8",
26
+ "eslint-plugin-astro": "^1.3.1",
24
27
  "eslint-plugin-jsonc": "^2.16.0",
25
- "eslint-plugin-perfectionist": "^3.8.0",
28
+ "eslint-plugin-perfectionist": "^4.15.0",
26
29
  "eslint-plugin-react": "^7.37.1",
30
+ "eslint-plugin-react-hooks": "^6.1.1",
27
31
  "eslint-plugin-unused-imports": "^4.1.4",
28
- "eslint-plugin-vue": "^9.28.0",
32
+ "eslint-plugin-vue": "^10.5.0",
29
33
  "eslint-plugin-yml": "^1.14.0",
30
- "globals": "^15.0.0",
34
+ "globals": "^16.0.0",
31
35
  "jsonc-eslint-parser": "^2.4.0",
32
- "remove": "^0.1.5",
33
- "vue-eslint-parser": "^9.3.2",
36
+ "vue-eslint-parser": "^10.2.0",
34
37
  "yaml-eslint-parser": "^1.2.2"
35
38
  },
36
39
  "peerDependencies": {