@ntnyq/eslint-config 2.0.0-beta.12 → 2.0.0-beta.14

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
+ reactHooks: 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
@@ -490,7 +490,12 @@ var unicorn = [
490
490
  "unicorn/no-typeof-undefined": "error",
491
491
  "unicorn/prefer-set-size": "error",
492
492
  "unicorn/better-regex": "error",
493
+ "unicorn/prefer-regexp-test": "error",
494
+ "unicorn/prefer-top-level-await": "error",
495
+ "unicorn/no-static-only-class": "error",
496
+ "unicorn/no-zero-fractions": "error",
493
497
  "unicorn/custom-error-definition": "error",
498
+ "unicorn/prefer-modern-math-apis": "error",
494
499
  "unicorn/explicit-length-check": "error",
495
500
  "unicorn/new-for-builtins": "error",
496
501
  "unicorn/no-console-spaces": "error",
@@ -547,7 +552,6 @@ var ts = [
547
552
  {
548
553
  files: [GLOB_TS, GLOB_TSX],
549
554
  languageOptions: {
550
- // @ts-expect-error 2322
551
555
  parser: tsParser,
552
556
  parserOptions: {
553
557
  sourceType: "module",
@@ -639,7 +643,6 @@ var vue = [
639
643
  "@typescript-eslint": tsPlugin2
640
644
  },
641
645
  languageOptions: {
642
- // @ts-expect-error 2322
643
646
  parser: vueParser,
644
647
  parserOptions: {
645
648
  parser: "@typescript-eslint/parser",
@@ -671,7 +674,6 @@ var yml = [
671
674
  {
672
675
  files: [GLOB_YAML],
673
676
  languageOptions: {
674
- // @ts-expect-error 2322
675
677
  parser: ymlParser
676
678
  },
677
679
  plugins: {
@@ -845,12 +847,19 @@ var pkgOrder = [
845
847
  },
846
848
  {
847
849
  pathPattern: "^exports.*$",
848
- order: ["types", "require", "import"]
850
+ order: ["types", "import", "require", "default"]
849
851
  },
850
852
  {
851
853
  pathPattern: "^scripts$",
852
854
  order: { type: "asc" }
853
855
  }
856
+ ],
857
+ "jsonc/sort-array-values": [
858
+ "error",
859
+ {
860
+ pathPattern: "^files$",
861
+ order: { type: "asc" }
862
+ }
854
863
  ]
855
864
  }
856
865
  }
@@ -908,6 +917,7 @@ var markdown = [
908
917
  "@typescript-eslint/no-redeclare": "off",
909
918
  "@typescript-eslint/no-unused-vars": "off",
910
919
  "@typescript-eslint/no-var-requires": "off",
920
+ "@typescript-eslint/no-extraneous-class": "off",
911
921
  "@typescript-eslint/no-use-before-define": "off",
912
922
  "unused-imports/no-unused-imports": "off",
913
923
  "unused-imports/no-unused-vars": "off"
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.12",
5
- "packageManager": "pnpm@8.6.7",
4
+ "version": "2.0.0-beta.14",
5
+ "packageManager": "pnpm@8.6.12",
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,41 +41,41 @@
30
41
  "eslint": "^8.30.0"
31
42
  },
32
43
  "dependencies": {
33
- "@eslint/js": "^8.44.0",
34
- "@typescript-eslint/eslint-plugin": "^6.0.0",
35
- "@typescript-eslint/parser": "^6.0.0",
44
+ "@eslint/js": "^8.47.0",
45
+ "@typescript-eslint/eslint-plugin": "^6.4.0",
46
+ "@typescript-eslint/parser": "^6.4.0",
36
47
  "astro-eslint-parser": "^0.14.0",
37
- "eslint-config-prettier": "^8.8.0",
38
- "eslint-define-config": "^1.21.0",
39
- "eslint-plugin-astro": "^0.27.2",
48
+ "eslint-config-prettier": "^9.0.0",
49
+ "eslint-define-config": "^1.23.0",
50
+ "eslint-plugin-astro": "^0.28.0",
40
51
  "eslint-plugin-eslint-comments": "^3.2.0",
41
- "eslint-plugin-import": "^2.27.5",
52
+ "eslint-plugin-import": "^2.28.0",
42
53
  "eslint-plugin-jsonc": "^2.9.0",
43
- "eslint-plugin-markdown": "^3.0.0",
44
- "eslint-plugin-prettier": "^5.0.0-alpha.2",
45
- "eslint-plugin-react": "^7.32.2",
54
+ "eslint-plugin-markdown": "^3.0.1",
55
+ "eslint-plugin-prettier": "^5.0.0",
56
+ "eslint-plugin-react": "^7.33.2",
46
57
  "eslint-plugin-react-hooks": "^4.6.0",
47
- "eslint-plugin-unicorn": "^47.0.0",
48
- "eslint-plugin-vue": "^9.15.1",
58
+ "eslint-plugin-unicorn": "^48.0.1",
59
+ "eslint-plugin-vue": "^9.17.0",
49
60
  "eslint-plugin-yml": "^1.8.0",
50
- "globals": "^13.20.0",
61
+ "globals": "^13.21.0",
51
62
  "jsonc-eslint-parser": "^2.3.0",
52
63
  "local-pkg": "^0.4.3",
53
- "prettier": "^3.0.0",
64
+ "prettier": "^3.0.2",
54
65
  "vue-eslint-parser": "^9.3.1",
55
66
  "yaml-eslint-parser": "^1.2.2"
56
67
  },
57
68
  "devDependencies": {
58
- "@ntnyq/prettier-config": "^1.10.0",
59
- "@types/node": "^20.4.1",
69
+ "@ntnyq/prettier-config": "^1.12.4",
70
+ "@types/node": "^20.5.0",
60
71
  "bumpp": "^9.1.1",
61
- "eslint": "^8.44.0",
72
+ "eslint": "^8.47.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.7",
76
+ "pnpm": "^8.6.12",
66
77
  "rimraf": "^5.0.1",
67
- "tsup": "^7.1.0",
78
+ "tsup": "^7.2.0",
68
79
  "typescript": "5.1.6"
69
80
  },
70
81
  "engines": {