@ntnyq/eslint-config 2.0.0-beta.13 → 2.0.0-beta.15

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.cjs ADDED
@@ -0,0 +1,1123 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all2) => {
9
+ for (var name in all2)
10
+ __defProp(target, name, { get: all2[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/index.ts
31
+ var src_exports = {};
32
+ __export(src_exports, {
33
+ GLOB_ALL_SRC: () => GLOB_ALL_SRC,
34
+ GLOB_ASTRO: () => GLOB_ASTRO,
35
+ GLOB_CSS: () => GLOB_CSS,
36
+ GLOB_DIST: () => GLOB_DIST,
37
+ GLOB_EXCLUDE: () => GLOB_EXCLUDE,
38
+ GLOB_HTML: () => GLOB_HTML,
39
+ GLOB_JS: () => GLOB_JS,
40
+ GLOB_JSON: () => GLOB_JSON,
41
+ GLOB_JSON5: () => GLOB_JSON5,
42
+ GLOB_JSONC: () => GLOB_JSONC,
43
+ GLOB_JSX: () => GLOB_JSX,
44
+ GLOB_LESS: () => GLOB_LESS,
45
+ GLOB_LOCKFILE: () => GLOB_LOCKFILE,
46
+ GLOB_MARKDOWN: () => GLOB_MARKDOWN,
47
+ GLOB_NODE_MODULES: () => GLOB_NODE_MODULES,
48
+ GLOB_SCSS: () => GLOB_SCSS,
49
+ GLOB_SRC: () => GLOB_SRC,
50
+ GLOB_SRC_EXT: () => GLOB_SRC_EXT,
51
+ GLOB_STYLE: () => GLOB_STYLE,
52
+ GLOB_TS: () => GLOB_TS,
53
+ GLOB_TSX: () => GLOB_TSX,
54
+ GLOB_VUE: () => GLOB_VUE,
55
+ GLOB_YAML: () => GLOB_YAML,
56
+ all: () => all,
57
+ astro: () => astro,
58
+ basic: () => basic,
59
+ eslintComments: () => eslintComments,
60
+ getVueVersion: () => getVueVersion,
61
+ imports: () => imports,
62
+ js: () => js,
63
+ jsonc: () => jsonc,
64
+ jsx: () => jsx,
65
+ markdown: () => markdown,
66
+ ntnyq: () => ntnyq,
67
+ pkgOrder: () => pkgOrder,
68
+ prettier: () => prettier,
69
+ react: () => react,
70
+ reactHooksPlugin: () => import_eslint_plugin_react_hooks.default,
71
+ reactPlugin: () => import_eslint_plugin_react.default,
72
+ ts: () => ts,
73
+ tsParser: () => tsParser,
74
+ tsPlugin: () => import_eslint_plugin.default,
75
+ unicorn: () => unicorn,
76
+ vue: () => vue,
77
+ vueParser: () => import_vue_eslint_parser.default,
78
+ vuePlugin: () => import_eslint_plugin_vue.default,
79
+ yml: () => yml
80
+ });
81
+ module.exports = __toCommonJS(src_exports);
82
+
83
+ // src/shared.ts
84
+ var GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
85
+ var GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
86
+ var GLOB_JS = "**/*.?([cm])js";
87
+ var GLOB_JSX = "**/*.?([cm])jsx";
88
+ var GLOB_TS = "**/*.?([cm])ts";
89
+ var GLOB_TSX = "**/*.?([cm])tsx";
90
+ var GLOB_STYLE = "**/*.{c,le,sc}ss";
91
+ var GLOB_CSS = "**/*.css";
92
+ var GLOB_LESS = "**/*.less";
93
+ var GLOB_SCSS = "**/*.scss";
94
+ var GLOB_JSON = "**/*.json";
95
+ var GLOB_JSON5 = "**/*.json5";
96
+ var GLOB_JSONC = "**/*.jsonc";
97
+ var GLOB_VUE = "**/*.vue";
98
+ var GLOB_ASTRO = "**/*.astro";
99
+ var GLOB_MARKDOWN = "**/*.md";
100
+ var GLOB_YAML = "**/*.y?(a)ml";
101
+ var GLOB_HTML = "**/*.htm?(l)";
102
+ var GLOB_ALL_SRC = [
103
+ GLOB_SRC,
104
+ GLOB_STYLE,
105
+ GLOB_JSON,
106
+ GLOB_JSON5,
107
+ GLOB_MARKDOWN,
108
+ GLOB_VUE,
109
+ GLOB_YAML,
110
+ GLOB_HTML
111
+ ];
112
+ var GLOB_NODE_MODULES = "**/node_modules/**";
113
+ var GLOB_DIST = "**/dist/**";
114
+ var GLOB_LOCKFILE = ["**/package-lock.json", "**/yarn.lock", "**/pnpm-lock.yaml"];
115
+ var GLOB_EXCLUDE = [
116
+ GLOB_NODE_MODULES,
117
+ GLOB_DIST,
118
+ ...GLOB_LOCKFILE,
119
+ "**/CHANGELOG*.md",
120
+ "**/*.min.*",
121
+ "**/LICENSE*",
122
+ "**/__snapshots__",
123
+ "**/auto-import?(s).d.ts",
124
+ "**/components.d.ts",
125
+ "**/output",
126
+ "**/coverage",
127
+ "**/temp",
128
+ "**/cache",
129
+ "**/fixtures",
130
+ "**/.vitepress/cache",
131
+ "**/.nuxt",
132
+ "**/.vercel",
133
+ "**/.changeset",
134
+ "**/.npmrc",
135
+ "**/.yarnrc"
136
+ ];
137
+
138
+ // src/configs/js.ts
139
+ var import_globals = __toESM(require("globals"), 1);
140
+ var import_js = __toESM(require("@eslint/js"), 1);
141
+ var import_eslint_plugin_import = __toESM(require("eslint-plugin-import"), 1);
142
+ var import_eslint_plugin_unicorn = __toESM(require("eslint-plugin-unicorn"), 1);
143
+ var js = [
144
+ import_js.default.configs.recommended,
145
+ {
146
+ languageOptions: {
147
+ globals: {
148
+ ...import_globals.default.browser,
149
+ ...import_globals.default.es2021,
150
+ ...import_globals.default.node
151
+ },
152
+ sourceType: "module"
153
+ },
154
+ rules: {
155
+ // standard v 17.0.0
156
+ "accessor-pairs": ["error", { setWithoutGet: true, enforceForClassMembers: true }],
157
+ "array-bracket-spacing": ["error", "never"],
158
+ "arrow-spacing": ["error", { before: true, after: true }],
159
+ "block-spacing": ["error", "always"],
160
+ "brace-style": ["error", "1tbs", { allowSingleLine: true }],
161
+ camelcase: [
162
+ "error",
163
+ {
164
+ allow: ["^UNSAFE_"],
165
+ properties: "never",
166
+ ignoreGlobals: true
167
+ }
168
+ ],
169
+ "comma-spacing": ["error", { before: false, after: true }],
170
+ "comma-style": ["error", "last"],
171
+ "computed-property-spacing": ["error", "never", { enforceForClassMembers: true }],
172
+ "constructor-super": "error",
173
+ curly: ["error", "multi-line"],
174
+ "default-case-last": "error",
175
+ "dot-location": ["error", "property"],
176
+ "dot-notation": ["error", { allowKeywords: true }],
177
+ "eol-last": "error",
178
+ "func-call-spacing": ["error", "never"],
179
+ indent: [
180
+ "error",
181
+ 2,
182
+ {
183
+ SwitchCase: 1,
184
+ VariableDeclarator: 1,
185
+ outerIIFEBody: 1,
186
+ MemberExpression: 1,
187
+ FunctionDeclaration: { parameters: 1, body: 1 },
188
+ FunctionExpression: { parameters: 1, body: 1 },
189
+ CallExpression: { arguments: 1 },
190
+ ArrayExpression: 1,
191
+ ObjectExpression: 1,
192
+ ImportDeclaration: 1,
193
+ flatTernaryExpressions: false,
194
+ ignoreComments: false,
195
+ ignoredNodes: [
196
+ "TemplateLiteral *",
197
+ "JSXElement",
198
+ "JSXElement > *",
199
+ "JSXAttribute",
200
+ "JSXIdentifier",
201
+ "JSXNamespacedName",
202
+ "JSXMemberExpression",
203
+ "JSXSpreadAttribute",
204
+ "JSXExpressionContainer",
205
+ "JSXOpeningElement",
206
+ "JSXClosingElement",
207
+ "JSXFragment",
208
+ "JSXOpeningFragment",
209
+ "JSXClosingFragment",
210
+ "JSXText",
211
+ "JSXEmptyExpression",
212
+ "JSXSpreadChild"
213
+ ],
214
+ offsetTernaryExpressions: true
215
+ }
216
+ ],
217
+ "key-spacing": ["error", { beforeColon: false, afterColon: true }],
218
+ "keyword-spacing": ["error", { before: true, after: true }],
219
+ "lines-between-class-members": ["error", "always", { exceptAfterSingleLine: true }],
220
+ "multiline-ternary": ["error", "always-multiline"],
221
+ "new-cap": ["error", { newIsCap: true, capIsNew: false, properties: true }],
222
+ "new-parens": "error",
223
+ "no-array-constructor": "error",
224
+ "no-async-promise-executor": "error",
225
+ "no-caller": "error",
226
+ "no-class-assign": "error",
227
+ "no-compare-neg-zero": "error",
228
+ "no-cond-assign": "error",
229
+ "no-const-assign": "error",
230
+ "no-constant-condition": ["error", { checkLoops: false }],
231
+ "no-control-regex": "error",
232
+ "no-debugger": "error",
233
+ "no-delete-var": "error",
234
+ "no-dupe-args": "error",
235
+ "no-dupe-class-members": "error",
236
+ "no-dupe-keys": "error",
237
+ "no-duplicate-case": "error",
238
+ "no-useless-backreference": "error",
239
+ "no-empty": ["error", { allowEmptyCatch: true }],
240
+ "no-empty-character-class": "error",
241
+ "no-empty-pattern": "error",
242
+ "no-eval": "error",
243
+ "no-ex-assign": "error",
244
+ "no-extend-native": "error",
245
+ "no-extra-bind": "error",
246
+ "no-extra-boolean-cast": "error",
247
+ "no-extra-parens": ["error", "functions"],
248
+ "no-fallthrough": "error",
249
+ "no-floating-decimal": "error",
250
+ "no-func-assign": "error",
251
+ "no-global-assign": "error",
252
+ "no-implied-eval": "error",
253
+ "no-import-assign": "error",
254
+ "no-invalid-regexp": "error",
255
+ "no-irregular-whitespace": "error",
256
+ "no-iterator": "error",
257
+ "no-labels": ["error", { allowLoop: false, allowSwitch: false }],
258
+ "no-lone-blocks": "error",
259
+ "no-loss-of-precision": "error",
260
+ "no-misleading-character-class": "error",
261
+ "no-prototype-builtins": "error",
262
+ "no-useless-catch": "error",
263
+ "no-mixed-operators": [
264
+ "error",
265
+ {
266
+ groups: [
267
+ ["==", "!=", "===", "!==", ">", ">=", "<", "<="],
268
+ ["&&", "||"],
269
+ ["in", "instanceof"]
270
+ ],
271
+ allowSamePrecedence: true
272
+ }
273
+ ],
274
+ "no-mixed-spaces-and-tabs": "error",
275
+ "no-multiple-empty-lines": ["error", { max: 1, maxBOF: 0, maxEOF: 0 }],
276
+ "no-new": "error",
277
+ "no-new-func": "error",
278
+ "no-new-object": "error",
279
+ "no-new-symbol": "error",
280
+ "no-new-wrappers": "error",
281
+ "no-obj-calls": "error",
282
+ "no-octal": "error",
283
+ "no-octal-escape": "error",
284
+ "no-proto": "error",
285
+ "no-redeclare": ["error", { builtinGlobals: false }],
286
+ "no-regex-spaces": "error",
287
+ "no-self-assign": ["error", { props: true }],
288
+ "no-self-compare": "error",
289
+ "no-sequences": "error",
290
+ "no-shadow-restricted-names": "error",
291
+ "no-sparse-arrays": "error",
292
+ "no-tabs": "error",
293
+ "no-template-curly-in-string": "error",
294
+ "no-this-before-super": "error",
295
+ "no-throw-literal": "error",
296
+ "no-trailing-spaces": "error",
297
+ "no-undef": "error",
298
+ "no-undef-init": "error",
299
+ "no-unexpected-multiline": "error",
300
+ "no-unmodified-loop-condition": "error",
301
+ "no-unneeded-ternary": ["error", { defaultAssignment: false }],
302
+ "no-unreachable": "error",
303
+ "no-unreachable-loop": "error",
304
+ "no-unsafe-finally": "error",
305
+ "no-unsafe-negation": "error",
306
+ "no-unused-expressions": [
307
+ "error",
308
+ {
309
+ allowShortCircuit: true,
310
+ allowTernary: true,
311
+ allowTaggedTemplates: true
312
+ }
313
+ ],
314
+ "no-unused-vars": [
315
+ "error",
316
+ {
317
+ args: "none",
318
+ caughtErrors: "none",
319
+ ignoreRestSiblings: true,
320
+ vars: "all"
321
+ }
322
+ ],
323
+ "no-useless-call": "error",
324
+ "no-useless-computed-key": "error",
325
+ "no-useless-constructor": "error",
326
+ "no-useless-rename": "error",
327
+ "no-useless-return": "error",
328
+ "no-whitespace-before-property": "error",
329
+ "object-curly-newline": ["error", { multiline: true, consistent: true }],
330
+ "object-curly-spacing": ["error", "always"],
331
+ "object-property-newline": ["error", { allowMultiplePropertiesPerLine: true }],
332
+ "padded-blocks": ["error", { blocks: "never", switches: "never", classes: "never" }],
333
+ "prefer-promise-reject-errors": "error",
334
+ "prefer-regex-literals": ["error", { disallowRedundantWrapping: true }],
335
+ "quote-props": ["error", "as-needed"],
336
+ "rest-spread-spacing": ["error", "never"],
337
+ semi: ["error", "never"],
338
+ "semi-spacing": ["error", { before: false, after: true }],
339
+ "space-before-blocks": ["error", "always"],
340
+ "space-before-function-paren": ["error", "always"],
341
+ "space-in-parens": ["error", "never"],
342
+ "space-infix-ops": "error",
343
+ "space-unary-ops": ["error", { words: true, nonwords: false }],
344
+ "symbol-description": "error",
345
+ "template-tag-spacing": ["error", "never"],
346
+ "unicode-bom": ["error", "never"],
347
+ "use-isnan": [
348
+ "error",
349
+ {
350
+ enforceForSwitchCase: true,
351
+ enforceForIndexOf: true
352
+ }
353
+ ],
354
+ "valid-typeof": ["error", { requireStringLiterals: true }],
355
+ "wrap-iife": ["error", "any", { functionPrototypeMethods: true }],
356
+ "yield-star-spacing": ["error", "both"],
357
+ yoda: ["error", "never"],
358
+ // es6+
359
+ "no-var": "error",
360
+ "prefer-rest-params": "error",
361
+ "prefer-spread": "error",
362
+ "prefer-template": "error",
363
+ "template-curly-spacing": "error",
364
+ "generator-star-spacing": "off",
365
+ "no-empty-static-block": "error",
366
+ "no-new-native-nonconstructor": "error",
367
+ "arrow-parens": [
368
+ "error",
369
+ "as-needed",
370
+ {
371
+ requireForBlockBody: false
372
+ }
373
+ ],
374
+ quotes: [
375
+ "error",
376
+ "single",
377
+ {
378
+ avoidEscape: true,
379
+ allowTemplateLiterals: false
380
+ }
381
+ ],
382
+ "prefer-const": [
383
+ "error",
384
+ {
385
+ destructuring: "all",
386
+ ignoreReadBeforeAssign: true
387
+ }
388
+ ],
389
+ "prefer-arrow-callback": [
390
+ "error",
391
+ {
392
+ allowNamedFunctions: false,
393
+ allowUnboundThis: true
394
+ }
395
+ ],
396
+ "object-shorthand": [
397
+ "error",
398
+ "always",
399
+ {
400
+ ignoreConstructors: false,
401
+ avoidQuotes: true
402
+ }
403
+ ],
404
+ "spaced-comment": [
405
+ "error",
406
+ "always",
407
+ {
408
+ line: {
409
+ markers: ["/"],
410
+ exceptions: ["/", "#"]
411
+ },
412
+ block: {
413
+ markers: ["!"],
414
+ exceptions: ["*"],
415
+ balanced: true
416
+ }
417
+ }
418
+ ],
419
+ // best-practice
420
+ eqeqeq: ["error", "smart"],
421
+ complexity: ["error", { max: 30 }],
422
+ "array-callback-return": "error",
423
+ "block-scoped-var": "error",
424
+ "consistent-return": "off",
425
+ "no-alert": "error",
426
+ "no-case-declarations": "error",
427
+ "no-multi-spaces": "error",
428
+ "no-multi-str": "error",
429
+ "no-with": "error",
430
+ "no-void": "error",
431
+ "no-useless-escape": "off",
432
+ "vars-on-top": "error",
433
+ "require-await": "off",
434
+ "no-return-assign": "off",
435
+ "one-var": ["error", "never"],
436
+ "operator-linebreak": ["error", "before"],
437
+ "comma-dangle": ["error", "always-multiline"],
438
+ "max-params": ["error", { max: 5 }],
439
+ "max-depth": ["error", { max: 5 }],
440
+ "max-nested-callbacks": ["error", { max: 10 }],
441
+ "max-statements-per-line": ["error", { max: 2 }],
442
+ "max-lines": [
443
+ "error",
444
+ {
445
+ max: 1e3,
446
+ skipComments: true,
447
+ skipBlankLines: true
448
+ }
449
+ ],
450
+ "max-lines-per-function": [
451
+ "error",
452
+ {
453
+ max: 100,
454
+ skipComments: true,
455
+ skipBlankLines: true
456
+ }
457
+ ],
458
+ "no-use-before-define": [
459
+ "error",
460
+ {
461
+ functions: false,
462
+ classes: false,
463
+ variables: true
464
+ }
465
+ ],
466
+ "max-len": [
467
+ "error",
468
+ {
469
+ code: 200,
470
+ tabWidth: 2,
471
+ comments: 200,
472
+ ignoreUrls: true,
473
+ ignoreStrings: true,
474
+ ignoreRegExpLiterals: true,
475
+ ignoreTemplateLiterals: true,
476
+ ignoreTrailingComments: true
477
+ }
478
+ ],
479
+ "sort-imports": [
480
+ "error",
481
+ {
482
+ ignoreCase: false,
483
+ ignoreDeclarationSort: true,
484
+ ignoreMemberSort: false,
485
+ memberSyntaxSortOrder: ["none", "all", "multiple", "single"],
486
+ allowSeparatedGroups: false
487
+ }
488
+ ]
489
+ }
490
+ },
491
+ {
492
+ files: ["**/scripts/*", "**/cli.*"],
493
+ rules: {
494
+ "no-console": "off"
495
+ }
496
+ },
497
+ {
498
+ files: ["**/*.{test,spec}.js?(x)"],
499
+ rules: {
500
+ "no-unused-expressions": "off",
501
+ "max-lines-per-function": "off"
502
+ }
503
+ }
504
+ ];
505
+ var jsx = [
506
+ {
507
+ files: ["**/*.jsx"],
508
+ languageOptions: {
509
+ parserOptions: {
510
+ ecmaFeatures: {
511
+ jsx: true
512
+ }
513
+ }
514
+ }
515
+ }
516
+ ];
517
+ var imports = [
518
+ {
519
+ plugins: {
520
+ import: import_eslint_plugin_import.default
521
+ },
522
+ settings: {
523
+ "import/resolver": {
524
+ node: { extensions: [".js", ".mjs", ".ts", ".mts", ".d.ts"] }
525
+ }
526
+ },
527
+ rules: {
528
+ "import/no-unresolved": "off",
529
+ "import/no-absolute-path": "off",
530
+ "import/no-named-as-default-member": "off",
531
+ "import/first": "error",
532
+ "import/no-duplicates": "error",
533
+ "import/no-mutable-exports": "error",
534
+ "import/newline-after-import": "error",
535
+ "import/order": [
536
+ "error",
537
+ {
538
+ groups: [
539
+ "builtin",
540
+ "external",
541
+ "internal",
542
+ "parent",
543
+ "sibling",
544
+ "index",
545
+ "object",
546
+ "type"
547
+ ],
548
+ "newlines-between": "never",
549
+ pathGroups: [{ pattern: "@/**", group: "internal" }],
550
+ pathGroupsExcludedImportTypes: ["type"]
551
+ }
552
+ ]
553
+ }
554
+ }
555
+ ];
556
+ var unicorn = [
557
+ {
558
+ plugins: {
559
+ unicorn: import_eslint_plugin_unicorn.default
560
+ },
561
+ rules: {
562
+ "unicorn/no-unsafe-regex": "off",
563
+ "unicorn/error-message": "error",
564
+ "unicorn/escape-case": "error",
565
+ "unicorn/no-new-buffer": "error",
566
+ "unicorn/number-literal-case": "error",
567
+ "unicorn/prefer-includes": "error",
568
+ "unicorn/prefer-type-error": "error",
569
+ "unicorn/throw-new-error": "error",
570
+ "unicorn/no-unnecessary-await": "error",
571
+ "unicorn/switch-case-braces": ["error", "avoid"],
572
+ "unicorn/no-typeof-undefined": "error",
573
+ "unicorn/prefer-set-size": "error",
574
+ "unicorn/better-regex": "error",
575
+ "unicorn/prefer-regexp-test": "error",
576
+ "unicorn/prefer-top-level-await": "error",
577
+ "unicorn/no-static-only-class": "error",
578
+ "unicorn/no-zero-fractions": "error",
579
+ "unicorn/custom-error-definition": "error",
580
+ "unicorn/prefer-modern-math-apis": "error",
581
+ "unicorn/explicit-length-check": "error",
582
+ "unicorn/new-for-builtins": "error",
583
+ "unicorn/no-console-spaces": "error",
584
+ "unicorn/no-for-loop": "error",
585
+ "unicorn/no-hex-escape": "error",
586
+ "unicorn/no-lonely-if": "error",
587
+ "unicorn/prefer-keyboard-event-key": "error",
588
+ "unicorn/prefer-math-trunc": "error",
589
+ "unicorn/prefer-negative-index": "error",
590
+ "unicorn/prefer-node-protocol": "error",
591
+ "unicorn/prefer-number-properties": "error",
592
+ "unicorn/prefer-optional-catch-binding": "error",
593
+ "unicorn/prefer-prototype-methods": "error",
594
+ "unicorn/prefer-reflect-apply": "error",
595
+ "unicorn/catch-error-name": [
596
+ "error",
597
+ {
598
+ name: "err",
599
+ ignore: ["^_."]
600
+ }
601
+ ],
602
+ "unicorn/prefer-date-now": "error",
603
+ // String
604
+ "unicorn/prefer-string-slice": "error",
605
+ "unicorn/prefer-string-trim-start-end": "error",
606
+ "unicorn/prefer-string-starts-ends-with": "error",
607
+ // DOM
608
+ "unicorn/prefer-add-event-listener": "error",
609
+ "unicorn/no-invalid-remove-event-listener": "error",
610
+ "unicorn/prefer-query-selector": "error",
611
+ "unicorn/prefer-modern-dom-apis": "error",
612
+ "unicorn/prefer-dom-node-append": "error",
613
+ "unicorn/prefer-dom-node-dataset": "error",
614
+ "unicorn/prefer-dom-node-remove": "error",
615
+ "unicorn/prefer-dom-node-text-content": "error",
616
+ // Array
617
+ "unicorn/no-new-array": "error",
618
+ "unicorn/no-instanceof-array": "error",
619
+ "unicorn/no-array-push-push": "error",
620
+ "unicorn/no-array-callback-reference": "error",
621
+ "unicorn/no-array-method-this-argument": "error",
622
+ "unicorn/prefer-array-find": "error",
623
+ "unicorn/prefer-array-some": "error",
624
+ "unicorn/prefer-array-flat-map": "error",
625
+ "unicorn/prefer-array-index-of": "error"
626
+ }
627
+ }
628
+ ];
629
+
630
+ // src/configs/ts.ts
631
+ var tsParser = __toESM(require("@typescript-eslint/parser"), 1);
632
+ var import_eslint_plugin = __toESM(require("@typescript-eslint/eslint-plugin"), 1);
633
+ var ts = [
634
+ {
635
+ files: [GLOB_TS, GLOB_TSX],
636
+ languageOptions: {
637
+ parser: tsParser,
638
+ parserOptions: {
639
+ sourceType: "module",
640
+ project: true
641
+ }
642
+ },
643
+ plugins: {
644
+ "@typescript-eslint": import_eslint_plugin.default
645
+ },
646
+ rules: {
647
+ ...import_eslint_plugin.default.configs.recommended.rules,
648
+ ...import_eslint_plugin.default.configs.stylistic.rules,
649
+ "@typescript-eslint/no-unused-vars": "error",
650
+ "@typescript-eslint/no-redeclare": "error",
651
+ "@typescript-eslint/consistent-type-imports": [
652
+ "error",
653
+ {
654
+ prefer: "type-imports",
655
+ fixStyle: "separate-type-imports",
656
+ disallowTypeAnnotations: false
657
+ }
658
+ ],
659
+ "@typescript-eslint/prefer-as-const": "warn",
660
+ "@typescript-eslint/ban-types": "off",
661
+ "@typescript-eslint/camelcase": "off",
662
+ "@typescript-eslint/no-namespace": "off",
663
+ "@typescript-eslint/ban-ts-ignore": "off",
664
+ "@typescript-eslint/ban-ts-comment": "off",
665
+ "@typescript-eslint/no-explicit-any": "off",
666
+ "@typescript-eslint/no-empty-function": "off",
667
+ "@typescript-eslint/naming-convention": "off",
668
+ "@typescript-eslint/no-empty-interface": "off",
669
+ "@typescript-eslint/no-non-null-assertion": "off",
670
+ "@typescript-eslint/triple-slash-reference": "off",
671
+ "@typescript-eslint/no-parameter-properties": "off",
672
+ "@typescript-eslint/explicit-member-accessibility": "off",
673
+ "@typescript-eslint/explicit-function-return-type": "off",
674
+ "@typescript-eslint/explicit-module-boundary-types": "off",
675
+ "@typescript-eslint/consistent-indexed-object-style": "off"
676
+ }
677
+ },
678
+ {
679
+ files: ["**/*.d.ts"],
680
+ rules: {
681
+ "import/no-duplicates": "off",
682
+ "import/newline-after-import": "off"
683
+ }
684
+ },
685
+ {
686
+ files: ["**/*.{spec,test}.ts?(x)"],
687
+ rules: {
688
+ "no-unused-expressions": "off",
689
+ "max-lines-per-function": "off"
690
+ }
691
+ },
692
+ {
693
+ files: ["**/*.js", "**/*.cjs"],
694
+ rules: {
695
+ "@typescript-eslint/no-var-requires": "off"
696
+ }
697
+ }
698
+ ];
699
+
700
+ // src/configs/vue.ts
701
+ var import_local_pkg = require("local-pkg");
702
+ var import_eslint_plugin_vue = __toESM(require("eslint-plugin-vue"), 1);
703
+ var import_vue_eslint_parser = __toESM(require("vue-eslint-parser"), 1);
704
+ var import_eslint_plugin2 = __toESM(require("@typescript-eslint/eslint-plugin"), 1);
705
+ function getVueVersion() {
706
+ const pkg = (0, import_local_pkg.getPackageInfoSync)("vue", { paths: [process.cwd()] });
707
+ if (pkg && typeof pkg.version === "string" && !Number.isNaN(+pkg.version[0])) {
708
+ return +pkg.version[0];
709
+ }
710
+ return 3;
711
+ }
712
+ var isVue3 = getVueVersion() === 3;
713
+ var vueBaseRules = {};
714
+ var vue2Rules = {
715
+ ...vueBaseRules
716
+ };
717
+ var vue3Rules = {
718
+ ...vueBaseRules
719
+ };
720
+ var vue = [
721
+ {
722
+ files: [GLOB_VUE],
723
+ plugins: {
724
+ vue: import_eslint_plugin_vue.default,
725
+ "@typescript-eslint": import_eslint_plugin2.default
726
+ },
727
+ languageOptions: {
728
+ parser: import_vue_eslint_parser.default,
729
+ parserOptions: {
730
+ parser: "@typescript-eslint/parser",
731
+ sourceType: "module",
732
+ extraFileExtensions: [".vue"],
733
+ ecmaFeatures: {
734
+ jsx: true
735
+ }
736
+ }
737
+ },
738
+ processor: import_eslint_plugin_vue.default.processors[".vue"],
739
+ rules: {
740
+ // @ts-expect-error 2339
741
+ ...ts[0].rules
742
+ }
743
+ },
744
+ {
745
+ plugins: {
746
+ vue: import_eslint_plugin_vue.default
747
+ },
748
+ rules: isVue3 ? vue3Rules : vue2Rules
749
+ }
750
+ ];
751
+
752
+ // src/configs/yml.ts
753
+ var import_eslint_plugin_yml = __toESM(require("eslint-plugin-yml"), 1);
754
+ var ymlParser = __toESM(require("yaml-eslint-parser"), 1);
755
+ var yml = [
756
+ {
757
+ files: [GLOB_YAML],
758
+ languageOptions: {
759
+ parser: ymlParser
760
+ },
761
+ plugins: {
762
+ yml: import_eslint_plugin_yml.default
763
+ },
764
+ // @ts-expect-error 2322
765
+ rules: {
766
+ ...import_eslint_plugin_yml.configs.standard.rules,
767
+ ...import_eslint_plugin_yml.configs.prettier.rules,
768
+ "yml/no-empty-mapping-value": "off"
769
+ }
770
+ }
771
+ ];
772
+
773
+ // src/configs/react.ts
774
+ var import_eslint_plugin_react = __toESM(require("eslint-plugin-react"), 1);
775
+ var import_eslint_plugin_react_hooks = __toESM(require("eslint-plugin-react-hooks"), 1);
776
+ var react = [
777
+ {
778
+ files: [GLOB_JSX, GLOB_TSX],
779
+ plugins: {
780
+ react: import_eslint_plugin_react.default,
781
+ "react-hooks": import_eslint_plugin_react_hooks.default
782
+ },
783
+ settings: {
784
+ react: {
785
+ version: "18.0"
786
+ }
787
+ },
788
+ languageOptions: {
789
+ parserOptions: {
790
+ ecmaFeatures: {
791
+ jsx: true
792
+ }
793
+ }
794
+ },
795
+ rules: {
796
+ ...import_eslint_plugin_react.default.configs.recommended.rules,
797
+ ...import_eslint_plugin_react_hooks.default.configs.recommended.rules,
798
+ "jsx-quotes": ["error", "prefer-double"],
799
+ "react/react-in-jsx-scope": "off"
800
+ }
801
+ }
802
+ ];
803
+
804
+ // src/configs/astro.ts
805
+ var import_eslint_plugin_astro = __toESM(require("eslint-plugin-astro"), 1);
806
+ var import_astro_eslint_parser = __toESM(require("astro-eslint-parser"), 1);
807
+ var astro = [
808
+ {
809
+ files: [GLOB_ASTRO],
810
+ plugins: {
811
+ astro: import_eslint_plugin_astro.default
812
+ },
813
+ languageOptions: {
814
+ parser: import_astro_eslint_parser.default,
815
+ parserOptions: {
816
+ parser: "@typescript-eslint/parser",
817
+ extraFileExtensions: [".astro"]
818
+ }
819
+ },
820
+ // @ts-expect-error 2322
821
+ rules: {
822
+ ...import_eslint_plugin_astro.configs.recommended.rules
823
+ }
824
+ }
825
+ ];
826
+
827
+ // src/configs/jsonc.ts
828
+ var import_eslint_plugin_jsonc = __toESM(require("eslint-plugin-jsonc"), 1);
829
+ var import_jsonc_eslint_parser = __toESM(require("jsonc-eslint-parser"), 1);
830
+ var jsonc = [
831
+ {
832
+ files: [GLOB_JSON, GLOB_JSON5, GLOB_JSONC, "**/*rc"],
833
+ plugins: {
834
+ jsonc: import_eslint_plugin_jsonc.default
835
+ },
836
+ languageOptions: {
837
+ parser: import_jsonc_eslint_parser.default
838
+ },
839
+ // @ts-expect-error 2322
840
+ rules: {
841
+ ...import_eslint_plugin_jsonc.configs["recommended-with-jsonc"].rules,
842
+ "jsonc/array-bracket-spacing": ["error", "never"],
843
+ "jsonc/comma-dangle": ["error", "never"],
844
+ "jsonc/comma-style": ["error", "last"],
845
+ "jsonc/indent": ["error", 2],
846
+ "jsonc/key-spacing": [
847
+ "error",
848
+ {
849
+ beforeColon: false,
850
+ afterColon: true
851
+ }
852
+ ],
853
+ "jsonc/no-octal-escape": "error",
854
+ "jsonc/object-curly-newline": [
855
+ "error",
856
+ {
857
+ multiline: true,
858
+ consistent: true
859
+ }
860
+ ],
861
+ "jsonc/object-curly-spacing": ["error", "always"],
862
+ "jsonc/object-property-newline": [
863
+ "error",
864
+ {
865
+ allowMultiplePropertiesPerLine: true
866
+ }
867
+ ]
868
+ }
869
+ }
870
+ ];
871
+ var pkgOrder = [
872
+ {
873
+ files: ["**/package.json"],
874
+ rules: {
875
+ "jsonc/sort-keys": [
876
+ "error",
877
+ {
878
+ pathPattern: "^$",
879
+ order: [
880
+ "publisher",
881
+ "name",
882
+ "displayName",
883
+ "type",
884
+ "version",
885
+ "private",
886
+ "packageManager",
887
+ "description",
888
+ "keywords",
889
+ "license",
890
+ "author",
891
+ "homepage",
892
+ "repository",
893
+ "funding",
894
+ "exports",
895
+ "main",
896
+ "module",
897
+ "unpkg",
898
+ "jsdelivr",
899
+ // workaround for `type: "module"` with TS `moduleResolution: "node16"`
900
+ "types",
901
+ "typesVersions",
902
+ "bin",
903
+ "icon",
904
+ "files",
905
+ "sideEffects",
906
+ "scripts",
907
+ "peerDependencies",
908
+ "peerDependenciesMeta",
909
+ "dependencies",
910
+ "optionalDependencies",
911
+ "devDependencies",
912
+ "activationEvents",
913
+ "contributes",
914
+ "categories",
915
+ "engines",
916
+ "pnpm",
917
+ "overrides",
918
+ "resolutions",
919
+ "husky",
920
+ "prettier",
921
+ "nano-staged",
922
+ "lint-staged",
923
+ "eslintConfig"
924
+ ]
925
+ },
926
+ {
927
+ pathPattern: "^(?:dev|peer|optional|bundled)?[Dd]ependencies$",
928
+ order: { type: "asc" }
929
+ },
930
+ {
931
+ pathPattern: "^exports.*$",
932
+ order: ["types", "import", "require", "default"]
933
+ },
934
+ {
935
+ pathPattern: "^scripts$",
936
+ order: { type: "asc" }
937
+ }
938
+ ],
939
+ "jsonc/sort-array-values": [
940
+ "error",
941
+ {
942
+ pathPattern: "^files$",
943
+ order: { type: "asc" }
944
+ }
945
+ ]
946
+ }
947
+ }
948
+ ];
949
+
950
+ // src/configs/prettier.ts
951
+ var import_eslint_plugin_prettier = __toESM(require("eslint-plugin-prettier"), 1);
952
+ var import_eslint_config_prettier = __toESM(require("eslint-config-prettier"), 1);
953
+ var prettier = [
954
+ {
955
+ plugins: {
956
+ prettier: import_eslint_plugin_prettier.default
957
+ },
958
+ rules: {
959
+ ...import_eslint_config_prettier.default.rules,
960
+ ...import_eslint_plugin_prettier.default.configs.recommended.rules,
961
+ "prettier/prettier": "warn"
962
+ }
963
+ }
964
+ ];
965
+
966
+ // src/configs/markdown.ts
967
+ var import_eslint_plugin_markdown = __toESM(require("eslint-plugin-markdown"), 1);
968
+ var import_eslint_plugin3 = __toESM(require("@typescript-eslint/eslint-plugin"), 1);
969
+ var markdown = [
970
+ {
971
+ files: [GLOB_MARKDOWN],
972
+ plugins: {
973
+ markdown: import_eslint_plugin_markdown.default
974
+ },
975
+ processor: "markdown/markdown"
976
+ },
977
+ {
978
+ files: [`${GLOB_MARKDOWN}/${GLOB_SRC}`, `${GLOB_MARKDOWN}/${GLOB_VUE}`],
979
+ languageOptions: {
980
+ parserOptions: {
981
+ ecmaFeatures: {
982
+ impliedStrict: true
983
+ }
984
+ }
985
+ },
986
+ plugins: {
987
+ "@typescript-eslint": import_eslint_plugin3.default
988
+ },
989
+ rules: {
990
+ ...import_eslint_plugin_markdown.default.configs.recommended.overrides[1].rules,
991
+ "no-undef": "off",
992
+ "no-alert": "off",
993
+ "no-console": "off",
994
+ "no-unused-vars": "off",
995
+ "no-unused-expressions": "off",
996
+ "no-restricted-imports": "off",
997
+ "import/no-unresolved": "off",
998
+ "@typescript-eslint/comma-dangle": "off",
999
+ "@typescript-eslint/no-redeclare": "off",
1000
+ "@typescript-eslint/no-unused-vars": "off",
1001
+ "@typescript-eslint/no-var-requires": "off",
1002
+ "@typescript-eslint/no-extraneous-class": "off",
1003
+ "@typescript-eslint/no-use-before-define": "off",
1004
+ "unused-imports/no-unused-imports": "off",
1005
+ "unused-imports/no-unused-vars": "off"
1006
+ }
1007
+ }
1008
+ ];
1009
+
1010
+ // src/configs/eslint-comments.ts
1011
+ var import_eslint_plugin_eslint_comments = __toESM(require("eslint-plugin-eslint-comments"), 1);
1012
+ var eslintComments = [
1013
+ {
1014
+ plugins: {
1015
+ "eslint-comments": import_eslint_plugin_eslint_comments.default
1016
+ },
1017
+ rules: {
1018
+ ...import_eslint_plugin_eslint_comments.default.configs.recommended.rules,
1019
+ "eslint-comments/disable-enable-pair": ["error", { allowWholeFile: true }]
1020
+ }
1021
+ }
1022
+ ];
1023
+
1024
+ // src/presets.ts
1025
+ var GLOBAL_IGNORE = { ignores: GLOB_EXCLUDE };
1026
+ var basic = [
1027
+ GLOBAL_IGNORE,
1028
+ ...js,
1029
+ ...jsx,
1030
+ ...ts,
1031
+ ...yml,
1032
+ ...imports,
1033
+ ...unicorn,
1034
+ ...jsonc,
1035
+ ...pkgOrder,
1036
+ ...eslintComments
1037
+ ];
1038
+ var all = [
1039
+ ...basic,
1040
+ ...vue,
1041
+ ...react,
1042
+ ...astro,
1043
+ ...prettier,
1044
+ ...markdown
1045
+ ];
1046
+ function ntnyq(config = [], {
1047
+ vue: enableVue = false,
1048
+ react: enableReact = false,
1049
+ astro: enableAstro = false,
1050
+ prettier: enablePrettier = false,
1051
+ markdown: enableMarkdown = false
1052
+ } = {}) {
1053
+ const configs4 = [...basic];
1054
+ if (enableVue) {
1055
+ configs4.push(...vue);
1056
+ }
1057
+ if (enableReact) {
1058
+ configs4.push(...react);
1059
+ }
1060
+ if (enableAstro) {
1061
+ configs4.push(...astro);
1062
+ }
1063
+ if (enableMarkdown) {
1064
+ configs4.push(...markdown);
1065
+ }
1066
+ if (enablePrettier) {
1067
+ configs4.push(...prettier);
1068
+ }
1069
+ if (Object.keys(config).length > 0) {
1070
+ configs4.push(...Array.isArray(config) ? config : [config]);
1071
+ }
1072
+ return configs4;
1073
+ }
1074
+ // Annotate the CommonJS export names for ESM import in node:
1075
+ 0 && (module.exports = {
1076
+ GLOB_ALL_SRC,
1077
+ GLOB_ASTRO,
1078
+ GLOB_CSS,
1079
+ GLOB_DIST,
1080
+ GLOB_EXCLUDE,
1081
+ GLOB_HTML,
1082
+ GLOB_JS,
1083
+ GLOB_JSON,
1084
+ GLOB_JSON5,
1085
+ GLOB_JSONC,
1086
+ GLOB_JSX,
1087
+ GLOB_LESS,
1088
+ GLOB_LOCKFILE,
1089
+ GLOB_MARKDOWN,
1090
+ GLOB_NODE_MODULES,
1091
+ GLOB_SCSS,
1092
+ GLOB_SRC,
1093
+ GLOB_SRC_EXT,
1094
+ GLOB_STYLE,
1095
+ GLOB_TS,
1096
+ GLOB_TSX,
1097
+ GLOB_VUE,
1098
+ GLOB_YAML,
1099
+ all,
1100
+ astro,
1101
+ basic,
1102
+ eslintComments,
1103
+ getVueVersion,
1104
+ imports,
1105
+ js,
1106
+ jsonc,
1107
+ jsx,
1108
+ markdown,
1109
+ ntnyq,
1110
+ pkgOrder,
1111
+ prettier,
1112
+ react,
1113
+ reactHooksPlugin,
1114
+ reactPlugin,
1115
+ ts,
1116
+ tsParser,
1117
+ tsPlugin,
1118
+ unicorn,
1119
+ vue,
1120
+ vueParser,
1121
+ vuePlugin,
1122
+ yml
1123
+ });
@@ -0,0 +1,81 @@
1
+ import { FlatESLintConfig } from 'eslint-define-config';
2
+ import * as parser from '@typescript-eslint/parser';
3
+ export { parser as tsParser };
4
+ export { default as tsPlugin } from '@typescript-eslint/eslint-plugin';
5
+ export { default as vueParser } from 'vue-eslint-parser';
6
+ export { default as vuePlugin } from 'eslint-plugin-vue';
7
+ export { default as reactPlugin } from 'eslint-plugin-react';
8
+ export { default as reactHooksPlugin } from 'eslint-plugin-react-hooks';
9
+
10
+ /**
11
+ * @file shared constants
12
+ */
13
+ declare const GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
14
+ declare const GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
15
+ declare const GLOB_JS = "**/*.?([cm])js";
16
+ declare const GLOB_JSX = "**/*.?([cm])jsx";
17
+ declare const GLOB_TS = "**/*.?([cm])ts";
18
+ declare const GLOB_TSX = "**/*.?([cm])tsx";
19
+ declare const GLOB_STYLE = "**/*.{c,le,sc}ss";
20
+ declare const GLOB_CSS = "**/*.css";
21
+ declare const GLOB_LESS = "**/*.less";
22
+ declare const GLOB_SCSS = "**/*.scss";
23
+ declare const GLOB_JSON = "**/*.json";
24
+ declare const GLOB_JSON5 = "**/*.json5";
25
+ declare const GLOB_JSONC = "**/*.jsonc";
26
+ declare const GLOB_VUE = "**/*.vue";
27
+ declare const GLOB_ASTRO = "**/*.astro";
28
+ declare const GLOB_MARKDOWN = "**/*.md";
29
+ declare const GLOB_YAML = "**/*.y?(a)ml";
30
+ declare const GLOB_HTML = "**/*.htm?(l)";
31
+ declare const GLOB_ALL_SRC: string[];
32
+ declare const GLOB_NODE_MODULES = "**/node_modules/**";
33
+ declare const GLOB_DIST = "**/dist/**";
34
+ declare const GLOB_LOCKFILE: string[];
35
+ declare const GLOB_EXCLUDE: string[];
36
+
37
+ /**
38
+ * no framework
39
+ */
40
+ declare const basic: FlatESLintConfig[];
41
+ /**
42
+ * all supported framework
43
+ */
44
+ declare const all: FlatESLintConfig[];
45
+ /**
46
+ * custom framework support
47
+ */
48
+ declare function ntnyq(config?: FlatESLintConfig | FlatESLintConfig[], { vue: enableVue, react: enableReact, astro: enableAstro, prettier: enablePrettier, markdown: enableMarkdown, }?: {
49
+ vue?: boolean | undefined;
50
+ react?: boolean | undefined;
51
+ astro?: boolean | undefined;
52
+ prettier?: boolean | undefined;
53
+ markdown?: boolean | undefined;
54
+ }): FlatESLintConfig[];
55
+
56
+ declare const js: FlatESLintConfig[];
57
+ declare const jsx: FlatESLintConfig[];
58
+ declare const imports: FlatESLintConfig[];
59
+ declare const unicorn: FlatESLintConfig[];
60
+
61
+ declare const ts: FlatESLintConfig[];
62
+
63
+ declare function getVueVersion(): number;
64
+ declare const vue: FlatESLintConfig[];
65
+
66
+ declare const yml: FlatESLintConfig[];
67
+
68
+ declare const react: FlatESLintConfig[];
69
+
70
+ declare const astro: FlatESLintConfig[];
71
+
72
+ declare const jsonc: FlatESLintConfig[];
73
+ declare const pkgOrder: FlatESLintConfig[];
74
+
75
+ declare const prettier: FlatESLintConfig[];
76
+
77
+ declare const markdown: FlatESLintConfig[];
78
+
79
+ declare const eslintComments: FlatESLintConfig[];
80
+
81
+ export { GLOB_ALL_SRC, GLOB_ASTRO, GLOB_CSS, GLOB_DIST, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_LOCKFILE, GLOB_MARKDOWN, GLOB_NODE_MODULES, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, all, astro, basic, eslintComments, getVueVersion, imports, js, jsonc, jsx, markdown, ntnyq, pkgOrder, prettier, react, ts, unicorn, vue, yml };
package/dist/index.js CHANGED
@@ -696,7 +696,7 @@ var react = [
696
696
  files: [GLOB_JSX, GLOB_TSX],
697
697
  plugins: {
698
698
  react: reactPlugin,
699
- reactHooks: reactHooksPlugin
699
+ "react-hooks": reactHooksPlugin
700
700
  },
701
701
  settings: {
702
702
  react: {
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@ntnyq/eslint-config",
3
3
  "type": "module",
4
- "version": "2.0.0-beta.13",
5
- "packageManager": "pnpm@8.6.12",
4
+ "version": "2.0.0-beta.15",
5
+ "packageManager": "pnpm@8.7.0",
6
6
  "description": "ESLint flat config of ntnyq",
7
7
  "keywords": [
8
8
  "eslint",
@@ -16,7 +16,18 @@
16
16
  "email": "ntnyq13@gmail.com"
17
17
  },
18
18
  "repository": "ntnyq/eslint-config",
19
- "exports": "./dist/index.js",
19
+ "exports": {
20
+ ".": {
21
+ "import": {
22
+ "types": "./dist/index.d.ts",
23
+ "default": "./dist/index.js"
24
+ },
25
+ "require": {
26
+ "types": "./dist/index.d.cts",
27
+ "default": "./dist/index.cjs"
28
+ }
29
+ }
30
+ },
20
31
  "main": "./dist/index.js",
21
32
  "module": "./dist/index.js",
22
33
  "types": "./dist/index.d.ts",
@@ -30,15 +41,15 @@
30
41
  "eslint": "^8.30.0"
31
42
  },
32
43
  "dependencies": {
33
- "@eslint/js": "^8.47.0",
34
- "@typescript-eslint/eslint-plugin": "^6.4.0",
35
- "@typescript-eslint/parser": "^6.4.0",
36
- "astro-eslint-parser": "^0.14.0",
44
+ "@eslint/js": "^8.48.0",
45
+ "@typescript-eslint/eslint-plugin": "^6.5.0",
46
+ "@typescript-eslint/parser": "^6.5.0",
47
+ "astro-eslint-parser": "^0.15.0",
37
48
  "eslint-config-prettier": "^9.0.0",
38
49
  "eslint-define-config": "^1.23.0",
39
- "eslint-plugin-astro": "^0.28.0",
50
+ "eslint-plugin-astro": "^0.29.0",
40
51
  "eslint-plugin-eslint-comments": "^3.2.0",
41
- "eslint-plugin-import": "^2.28.0",
52
+ "eslint-plugin-import": "^2.28.1",
42
53
  "eslint-plugin-jsonc": "^2.9.0",
43
54
  "eslint-plugin-markdown": "^3.0.1",
44
55
  "eslint-plugin-prettier": "^5.0.0",
@@ -56,16 +67,16 @@
56
67
  },
57
68
  "devDependencies": {
58
69
  "@ntnyq/prettier-config": "^1.12.4",
59
- "@types/node": "^20.5.0",
60
- "bumpp": "^9.1.1",
61
- "eslint": "^8.47.0",
70
+ "@types/node": "^20.5.7",
71
+ "bumpp": "^9.2.0",
72
+ "eslint": "^8.48.0",
62
73
  "husky": "^8.0.3",
63
74
  "nano-staged": "^0.8.0",
64
75
  "npm-run-all": "^4.1.5",
65
- "pnpm": "^8.6.12",
76
+ "pnpm": "^8.7.0",
66
77
  "rimraf": "^5.0.1",
67
78
  "tsup": "^7.2.0",
68
- "typescript": "5.1.6"
79
+ "typescript": "5.2.2"
69
80
  },
70
81
  "engines": {
71
82
  "node": ">=16.14.0"
@@ -77,7 +88,7 @@
77
88
  "scripts": {
78
89
  "build": "tsup",
79
90
  "clean": "rimraf dist",
80
- "lint": "ESLINT_USE_FLAT_CONFIG=true eslint .",
91
+ "lint": "ESLINT_USE_FLAT_CONFIG=true eslint -c eslint.config.mjs .",
81
92
  "release": "run-s release:check release:version",
82
93
  "release:check": "run-s clean build lint typecheck",
83
94
  "release:version": "bumpp && pnpm publish --tag next",