@cuiqg/eslint-config 2.5.1 → 2.5.3
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.js +142 -88
- package/package.json +9 -15
- package/dist/index.d.ts +0 -130
package/dist/index.js
CHANGED
|
@@ -3,11 +3,11 @@ import globals from "globals";
|
|
|
3
3
|
import process from "node:process";
|
|
4
4
|
import { isPackageExists } from "local-pkg";
|
|
5
5
|
|
|
6
|
-
//#region src/utils.
|
|
6
|
+
//#region src/utils.js
|
|
7
7
|
async function interopDefault(module) {
|
|
8
8
|
try {
|
|
9
9
|
let resolved = await module;
|
|
10
|
-
return resolved
|
|
10
|
+
return resolved?.default || resolved;
|
|
11
11
|
} catch (error) {
|
|
12
12
|
throw new Error(`Cannot import module: ${String(error)}`);
|
|
13
13
|
}
|
|
@@ -20,7 +20,7 @@ function renameRules(rules, map) {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
//#endregion
|
|
23
|
-
//#region src/configs/de-morgan.
|
|
23
|
+
//#region src/configs/de-morgan.js
|
|
24
24
|
async function deMorgan() {
|
|
25
25
|
const pluginDeMorgan = await interopDefault(import("eslint-plugin-de-morgan"));
|
|
26
26
|
return [{
|
|
@@ -30,7 +30,7 @@ async function deMorgan() {
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
//#endregion
|
|
33
|
-
//#region src/globs.
|
|
33
|
+
//#region src/globs.js
|
|
34
34
|
const GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
|
|
35
35
|
const GLOB_SRC = `**/*.${GLOB_SRC_EXT}`;
|
|
36
36
|
const GLOB_TS = `**/*.?([cm])ts`;
|
|
@@ -100,20 +100,38 @@ const GLOB_EXCLUDE = [
|
|
|
100
100
|
];
|
|
101
101
|
|
|
102
102
|
//#endregion
|
|
103
|
-
//#region src/configs/ignores.
|
|
103
|
+
//#region src/configs/ignores.js
|
|
104
104
|
async function ignores() {
|
|
105
105
|
const configGitignore = await interopDefault(import("eslint-config-flat-gitignore"));
|
|
106
106
|
return [{
|
|
107
107
|
ignores: [...GLOB_EXCLUDE],
|
|
108
108
|
name: "cuiqg/ignores"
|
|
109
109
|
}, configGitignore({
|
|
110
|
-
name: "cuiqg/
|
|
110
|
+
name: "cuiqg/gitignore",
|
|
111
111
|
strict: false
|
|
112
112
|
})];
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
//#endregion
|
|
116
|
-
//#region src/
|
|
116
|
+
//#region src/configs/imports.js
|
|
117
|
+
async function imports() {
|
|
118
|
+
const pluginImportLite = await interopDefault(import("eslint-plugin-import-lite"));
|
|
119
|
+
return [{
|
|
120
|
+
name: "cuiqg/imports",
|
|
121
|
+
plugins: { import: pluginImportLite },
|
|
122
|
+
rules: {
|
|
123
|
+
"import/consistent-type-specifier-style": ["error", "top-level"],
|
|
124
|
+
"import/first": "error",
|
|
125
|
+
"import/newline-after-import": ["error", { count: 1 }],
|
|
126
|
+
"import/no-duplicates": "error",
|
|
127
|
+
"import/no-mutable-exports": "error",
|
|
128
|
+
"import/no-named-default": "error"
|
|
129
|
+
}
|
|
130
|
+
}];
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
//#endregion
|
|
134
|
+
//#region src/env.js
|
|
117
135
|
const isInGitHookOrLintStaged = () => {
|
|
118
136
|
return !!(process.env.GIT_PARAMS || process.env.VSCODE_GIT_COMMAND || process.env.npm_lifecycle_script?.startsWith("lint-staged"));
|
|
119
137
|
};
|
|
@@ -133,7 +151,7 @@ const hasUnoCss = () => isPackageExists("unocss");
|
|
|
133
151
|
const hasNextjs = () => isPackageExists("next");
|
|
134
152
|
|
|
135
153
|
//#endregion
|
|
136
|
-
//#region src/configs/javascript.
|
|
154
|
+
//#region src/configs/javascript.js
|
|
137
155
|
async function javascript() {
|
|
138
156
|
const [pluginUnuseImports, pluginJs] = await Promise.all([interopDefault(import("eslint-plugin-unused-imports")), interopDefault(import("@eslint/js"))]);
|
|
139
157
|
return [{
|
|
@@ -352,7 +370,7 @@ async function javascript() {
|
|
|
352
370
|
}
|
|
353
371
|
|
|
354
372
|
//#endregion
|
|
355
|
-
//#region src/configs/jsdoc.
|
|
373
|
+
//#region src/configs/jsdoc.js
|
|
356
374
|
async function jsdoc() {
|
|
357
375
|
const pluginJsdoc = await interopDefault(import("eslint-plugin-jsdoc"));
|
|
358
376
|
return [{
|
|
@@ -373,13 +391,76 @@ async function jsdoc() {
|
|
|
373
391
|
"jsdoc/require-property-name": "warn",
|
|
374
392
|
"jsdoc/require-returns-check": "warn",
|
|
375
393
|
"jsdoc/require-returns-description": "warn",
|
|
376
|
-
"jsdoc/require-yields-check": "warn"
|
|
394
|
+
"jsdoc/require-yields-check": "warn",
|
|
395
|
+
"jsdoc/check-alignment": "warn",
|
|
396
|
+
"jsdoc/multiline-blocks": "warn"
|
|
377
397
|
}
|
|
378
398
|
}];
|
|
379
399
|
}
|
|
380
400
|
|
|
381
401
|
//#endregion
|
|
382
|
-
//#region src/configs/
|
|
402
|
+
//#region src/configs/jsonc.js
|
|
403
|
+
async function jsonc() {
|
|
404
|
+
const files = [
|
|
405
|
+
GLOB_JSON,
|
|
406
|
+
GLOB_JSON5,
|
|
407
|
+
GLOB_JSONC
|
|
408
|
+
];
|
|
409
|
+
const [pluginJsonc, parserJsonc] = await Promise.all([interopDefault(import("eslint-plugin-jsonc")), interopDefault(import("jsonc-eslint-parser"))]);
|
|
410
|
+
return [{
|
|
411
|
+
files,
|
|
412
|
+
name: "cuiqg/jsonc",
|
|
413
|
+
plugins: { jsonc: pluginJsonc },
|
|
414
|
+
languageOptions: { parser: parserJsonc },
|
|
415
|
+
rules: {
|
|
416
|
+
"jsonc/no-bigint-literals": "error",
|
|
417
|
+
"jsonc/no-binary-expression": "error",
|
|
418
|
+
"jsonc/no-binary-numeric-literals": "error",
|
|
419
|
+
"jsonc/no-dupe-keys": "error",
|
|
420
|
+
"jsonc/no-escape-sequence-in-identifier": "error",
|
|
421
|
+
"jsonc/no-floating-decimal": "error",
|
|
422
|
+
"jsonc/no-hexadecimal-numeric-literals": "error",
|
|
423
|
+
"jsonc/no-infinity": "error",
|
|
424
|
+
"jsonc/no-multi-str": "error",
|
|
425
|
+
"jsonc/no-nan": "error",
|
|
426
|
+
"jsonc/no-number-props": "error",
|
|
427
|
+
"jsonc/no-numeric-separators": "error",
|
|
428
|
+
"jsonc/no-octal": "error",
|
|
429
|
+
"jsonc/no-octal-escape": "error",
|
|
430
|
+
"jsonc/no-octal-numeric-literals": "error",
|
|
431
|
+
"jsonc/no-parenthesized": "error",
|
|
432
|
+
"jsonc/no-plus-sign": "error",
|
|
433
|
+
"jsonc/no-regexp-literals": "error",
|
|
434
|
+
"jsonc/no-sparse-arrays": "error",
|
|
435
|
+
"jsonc/no-template-literals": "error",
|
|
436
|
+
"jsonc/no-undefined-value": "error",
|
|
437
|
+
"jsonc/no-unicode-codepoint-escapes": "error",
|
|
438
|
+
"jsonc/no-useless-escape": "error",
|
|
439
|
+
"jsonc/space-unary-ops": "error",
|
|
440
|
+
"jsonc/valid-json-number": "error",
|
|
441
|
+
"jsonc/vue-custom-block/no-parsing-error": "error",
|
|
442
|
+
"jsonc/array-bracket-spacing": ["error", "never"],
|
|
443
|
+
"jsonc/comma-dangle": ["error", "never"],
|
|
444
|
+
"jsonc/comma-style": ["error", "last"],
|
|
445
|
+
"jsonc/indent": ["error", 2],
|
|
446
|
+
"jsonc/key-spacing": ["error", {
|
|
447
|
+
afterColon: true,
|
|
448
|
+
beforeColon: false
|
|
449
|
+
}],
|
|
450
|
+
"jsonc/object-curly-newline": ["error", {
|
|
451
|
+
consistent: true,
|
|
452
|
+
multiline: true
|
|
453
|
+
}],
|
|
454
|
+
"jsonc/object-curly-spacing": ["error", "always"],
|
|
455
|
+
"jsonc/object-property-newline": ["error", { allowAllPropertiesOnSameLine: true }],
|
|
456
|
+
"jsonc/quote-props": "error",
|
|
457
|
+
"jsonc/quotes": "error"
|
|
458
|
+
}
|
|
459
|
+
}];
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
//#endregion
|
|
463
|
+
//#region src/configs/nextjs.js
|
|
383
464
|
function normalizeRules(rules) {
|
|
384
465
|
return Object.fromEntries(Object.entries(rules).map(([key, value]) => [key, typeof value === "string" ? [value] : value]));
|
|
385
466
|
}
|
|
@@ -403,7 +484,7 @@ async function nextjs() {
|
|
|
403
484
|
}
|
|
404
485
|
|
|
405
486
|
//#endregion
|
|
406
|
-
//#region src/configs/node.
|
|
487
|
+
//#region src/configs/node.js
|
|
407
488
|
async function node() {
|
|
408
489
|
const pluginNode = await interopDefault(import("eslint-plugin-n"));
|
|
409
490
|
return [{
|
|
@@ -423,7 +504,7 @@ async function node() {
|
|
|
423
504
|
}
|
|
424
505
|
|
|
425
506
|
//#endregion
|
|
426
|
-
//#region src/configs/package-json.
|
|
507
|
+
//#region src/configs/package-json.js
|
|
427
508
|
async function packageJson() {
|
|
428
509
|
const [pluginPackageJson, pluginDepend, parserJsonc] = await Promise.all([
|
|
429
510
|
interopDefault(import("eslint-plugin-package-json")),
|
|
@@ -447,7 +528,7 @@ async function packageJson() {
|
|
|
447
528
|
}
|
|
448
529
|
|
|
449
530
|
//#endregion
|
|
450
|
-
//#region src/configs/perfectionist.
|
|
531
|
+
//#region src/configs/perfectionist.js
|
|
451
532
|
async function perfectionist() {
|
|
452
533
|
const pluginPerfectionist = await interopDefault(import("eslint-plugin-perfectionist"));
|
|
453
534
|
return [{
|
|
@@ -500,7 +581,7 @@ async function perfectionist() {
|
|
|
500
581
|
}
|
|
501
582
|
|
|
502
583
|
//#endregion
|
|
503
|
-
//#region src/configs/prettier.
|
|
584
|
+
//#region src/configs/prettier.js
|
|
504
585
|
async function prettier() {
|
|
505
586
|
const [pluginPrettier, recommendedPrettier] = await Promise.all([interopDefault(import("eslint-plugin-prettier")), interopDefault(import("eslint-plugin-prettier/recommended"))]);
|
|
506
587
|
return [{
|
|
@@ -514,70 +595,35 @@ async function prettier() {
|
|
|
514
595
|
}
|
|
515
596
|
|
|
516
597
|
//#endregion
|
|
517
|
-
//#region src/configs/
|
|
518
|
-
async function
|
|
519
|
-
const
|
|
520
|
-
const
|
|
598
|
+
//#region src/configs/stylistic.js
|
|
599
|
+
async function stylistic() {
|
|
600
|
+
const pluginStylistic = await interopDefault(import("@stylistic/eslint-plugin"));
|
|
601
|
+
const config = pluginStylistic.configs.customize({
|
|
602
|
+
pluginName: "style",
|
|
603
|
+
indent: 2,
|
|
604
|
+
quotes: "single",
|
|
605
|
+
semi: false,
|
|
606
|
+
commaDangle: "never"
|
|
607
|
+
});
|
|
521
608
|
return [{
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
plugins: { ts: pluginTs },
|
|
525
|
-
languageOptions: {
|
|
526
|
-
parser: parserTs,
|
|
527
|
-
parserOptions: {
|
|
528
|
-
ecmaFeatures: { jsx: true },
|
|
529
|
-
ecmaVersion: "latest",
|
|
530
|
-
projectService: true,
|
|
531
|
-
sourceType: "module",
|
|
532
|
-
tsconfigRootDir: process.cwd()
|
|
533
|
-
}
|
|
534
|
-
},
|
|
609
|
+
name: "cuiqg/stylistic",
|
|
610
|
+
plugins: { style: pluginStylistic },
|
|
535
611
|
rules: {
|
|
536
|
-
...
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
"no-use-before-define": "off",
|
|
541
|
-
"no-useless-constructor": "off",
|
|
542
|
-
"ts/ban-ts-comment": ["error", { "ts-expect-error": "allow-with-description" }],
|
|
543
|
-
"ts/consistent-type-definitions": ["error", "interface"],
|
|
544
|
-
"ts/consistent-type-imports": ["error", {
|
|
545
|
-
disallowTypeAnnotations: false,
|
|
546
|
-
fixStyle: "separate-type-imports",
|
|
547
|
-
prefer: "type-imports"
|
|
548
|
-
}],
|
|
549
|
-
"ts/method-signature-style": ["error", "property"],
|
|
550
|
-
"ts/no-dupe-class-members": "error",
|
|
551
|
-
"ts/no-dynamic-delete": "off",
|
|
552
|
-
"ts/no-empty-object-type": ["error", { allowInterfaces: "always" }],
|
|
553
|
-
"ts/no-explicit-any": "off",
|
|
554
|
-
"ts/no-extraneous-class": "off",
|
|
555
|
-
"ts/no-import-type-side-effects": "error",
|
|
556
|
-
"ts/no-invalid-void-type": "off",
|
|
557
|
-
"ts/no-non-null-assertion": "off",
|
|
558
|
-
"ts/no-redeclare": ["error", { builtinGlobals: false }],
|
|
559
|
-
"ts/no-require-imports": "error",
|
|
560
|
-
"ts/no-unused-expressions": ["error", {
|
|
561
|
-
allowShortCircuit: true,
|
|
562
|
-
allowTaggedTemplates: true,
|
|
563
|
-
allowTernary: true
|
|
564
|
-
}],
|
|
565
|
-
"ts/no-unused-vars": "off",
|
|
566
|
-
"ts/no-use-before-define": ["error", {
|
|
567
|
-
classes: false,
|
|
568
|
-
functions: false,
|
|
569
|
-
variables: true
|
|
612
|
+
...config.rules,
|
|
613
|
+
"style/generator-star-spacing": ["error", {
|
|
614
|
+
after: true,
|
|
615
|
+
before: false
|
|
570
616
|
}],
|
|
571
|
-
"
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
617
|
+
"style/yield-star-spacing": ["error", {
|
|
618
|
+
after: true,
|
|
619
|
+
before: false
|
|
620
|
+
}]
|
|
575
621
|
}
|
|
576
622
|
}];
|
|
577
623
|
}
|
|
578
624
|
|
|
579
625
|
//#endregion
|
|
580
|
-
//#region src/configs/unocss.
|
|
626
|
+
//#region src/configs/unocss.js
|
|
581
627
|
async function unocss() {
|
|
582
628
|
const [pluginUnoCSS] = await Promise.all([interopDefault(import("@unocss/eslint-plugin"))]);
|
|
583
629
|
return [{
|
|
@@ -588,7 +634,7 @@ async function unocss() {
|
|
|
588
634
|
}
|
|
589
635
|
|
|
590
636
|
//#endregion
|
|
591
|
-
//#region src/configs/vue.
|
|
637
|
+
//#region src/configs/vue.js
|
|
592
638
|
async function vue() {
|
|
593
639
|
const files = [GLOB_VUE];
|
|
594
640
|
const [pluginVue, parserVue] = await Promise.all([interopDefault(import("eslint-plugin-vue")), interopDefault(import("vue-eslint-parser"))]);
|
|
@@ -614,7 +660,7 @@ async function vue() {
|
|
|
614
660
|
parserOptions: {
|
|
615
661
|
ecmaFeatures: { jsx: true },
|
|
616
662
|
extraFileExtensions: [".vue"],
|
|
617
|
-
parser:
|
|
663
|
+
parser: null,
|
|
618
664
|
sourceType: "module"
|
|
619
665
|
}
|
|
620
666
|
},
|
|
@@ -637,7 +683,6 @@ async function vue() {
|
|
|
637
683
|
...c
|
|
638
684
|
}), {}),
|
|
639
685
|
"node/prefer-global/process": "off",
|
|
640
|
-
"ts/explicit-function-return-type": "off",
|
|
641
686
|
"vue/block-order": ["error", { order: [
|
|
642
687
|
"script",
|
|
643
688
|
"template",
|
|
@@ -741,36 +786,45 @@ async function vue() {
|
|
|
741
786
|
}
|
|
742
787
|
|
|
743
788
|
//#endregion
|
|
744
|
-
//#region src/
|
|
789
|
+
//#region src/configs/macros.js
|
|
790
|
+
async function macros() {
|
|
791
|
+
const configMacros = await interopDefault(import("@vue-macros/eslint-config"));
|
|
792
|
+
return [{
|
|
793
|
+
...configMacros,
|
|
794
|
+
name: "cuiqg/macros"
|
|
795
|
+
}];
|
|
796
|
+
}
|
|
797
|
+
|
|
798
|
+
//#endregion
|
|
799
|
+
//#region src/presets.js
|
|
745
800
|
const defaultPluginRenaming = {
|
|
746
801
|
"@next/next": "next",
|
|
747
802
|
n: "node",
|
|
748
803
|
vitest: "test",
|
|
749
|
-
|
|
750
|
-
"@
|
|
804
|
+
"import-lite": "import",
|
|
805
|
+
"@stylistic": "style"
|
|
751
806
|
};
|
|
752
807
|
function cuiqg(options = {}, ...userConfigs) {
|
|
753
|
-
const { prettier: enablePrettier = false,
|
|
808
|
+
const { prettier: enablePrettier = false, imports: enableImports = true, vue: enableVue = hasVue(), unocss: enableUnocss = hasUnoCss(), nextjs: enableNextjs = hasNextjs() } = options;
|
|
754
809
|
const configs = [];
|
|
755
|
-
configs.push(
|
|
756
|
-
if (
|
|
757
|
-
if (enableVue)
|
|
810
|
+
configs.push(deMorgan(), ignores(), javascript(), jsdoc(), jsonc(), stylistic(), node(), packageJson(), perfectionist());
|
|
811
|
+
if (enableImports) configs.push(imports());
|
|
812
|
+
if (enableVue) {
|
|
813
|
+
configs.push(vue());
|
|
814
|
+
configs.push(macros());
|
|
815
|
+
}
|
|
758
816
|
if (enableUnocss) configs.push(unocss());
|
|
759
817
|
if (enableNextjs) configs.push(nextjs());
|
|
760
818
|
if (enablePrettier) configs.push(prettier());
|
|
761
819
|
let composer = new FlatConfigComposer();
|
|
762
820
|
composer = composer.append(...configs, ...userConfigs).renamePlugins(defaultPluginRenaming);
|
|
763
|
-
if (isInEditor()) composer = composer.disableRulesFix([
|
|
764
|
-
"unused-imports/no-unused-imports",
|
|
765
|
-
"test/no-only-tests",
|
|
766
|
-
"prefer-const"
|
|
767
|
-
], { builtinRules: () => import(["eslint", "use-at-your-own-risk"].join("/")).then((r) => r.builtinRules) });
|
|
821
|
+
if (isInEditor()) composer = composer.disableRulesFix(["unused-imports/no-unused-imports", "prefer-const"], { builtinRules: () => import(["eslint", "use-at-your-own-risk"].join("/")).then((r) => r.builtinRules) });
|
|
768
822
|
return composer;
|
|
769
823
|
}
|
|
770
824
|
|
|
771
825
|
//#endregion
|
|
772
|
-
//#region src/index.
|
|
826
|
+
//#region src/index.js
|
|
773
827
|
var src_default = cuiqg;
|
|
774
828
|
|
|
775
829
|
//#endregion
|
|
776
|
-
export { GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_STYLUS, GLOB_SVG, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, cuiqg, deMorgan, src_default as default, defaultPluginRenaming, hasNextjs, hasTypeScript, hasUnoCss, hasVue, ignores, isInEditor, isInGitHookOrLintStaged, javascript, jsdoc, nextjs, node, packageJson, perfectionist, prettier,
|
|
830
|
+
export { GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_STYLUS, GLOB_SVG, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, cuiqg, deMorgan, src_default as default, defaultPluginRenaming, hasNextjs, hasTypeScript, hasUnoCss, hasVue, ignores, imports, isInEditor, isInGitHookOrLintStaged, javascript, jsdoc, jsonc, macros, nextjs, node, packageJson, perfectionist, prettier, stylistic, unocss, vue };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cuiqg/eslint-config",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.3",
|
|
4
4
|
"description": "Eslint config for @cuiqg",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"eslint-config"
|
|
@@ -16,17 +16,13 @@
|
|
|
16
16
|
"type": "module",
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"@cuiqg/prettier-config": "latest",
|
|
19
|
-
"@cuiqg/typescript-config": "^0.1.2",
|
|
20
19
|
"@eslint/config-inspector": "^1.1.0",
|
|
21
20
|
"@eslint/eslintrc": "^3.3.1",
|
|
22
|
-
"@types/node": "^24.2.0",
|
|
23
|
-
"@vitest/ui": "^3.2.4",
|
|
24
21
|
"bumpp": "^10.2.2",
|
|
25
22
|
"eslint": "^9.32.0",
|
|
26
23
|
"prettier": "^3.6.2",
|
|
27
24
|
"publint": "^0.3.12",
|
|
28
|
-
"tsdown": "^0.13.3"
|
|
29
|
-
"vitest": "^3.2.4"
|
|
25
|
+
"tsdown": "^0.13.3"
|
|
30
26
|
},
|
|
31
27
|
"peerDependencies": {
|
|
32
28
|
"eslint": ">=9.28.0"
|
|
@@ -34,16 +30,17 @@
|
|
|
34
30
|
"dependencies": {
|
|
35
31
|
"@eslint/js": "^9.32.0",
|
|
36
32
|
"@next/eslint-plugin-next": "^15.4.6",
|
|
37
|
-
"@
|
|
38
|
-
"@typescript-eslint/parser": "^8.39.0",
|
|
33
|
+
"@stylistic/eslint-plugin": "^5.2.3",
|
|
39
34
|
"@unocss/eslint-plugin": "^66.4.2",
|
|
35
|
+
"@vue-macros/eslint-config": "3.0.0-beta.21",
|
|
40
36
|
"eslint-config-flat-gitignore": "^2.1.0",
|
|
41
37
|
"eslint-config-prettier": "^10.1.8",
|
|
42
38
|
"eslint-flat-config-utils": "^2.1.1",
|
|
43
39
|
"eslint-plugin-de-morgan": "^1.3.1",
|
|
44
40
|
"eslint-plugin-depend": "^1.2.0",
|
|
45
|
-
"eslint-plugin-import-
|
|
41
|
+
"eslint-plugin-import-lite": "^0.3.0",
|
|
46
42
|
"eslint-plugin-jsdoc": "^52.0.4",
|
|
43
|
+
"eslint-plugin-jsonc": "^2.20.1",
|
|
47
44
|
"eslint-plugin-n": "^17.21.3",
|
|
48
45
|
"eslint-plugin-package-json": "^0.52.1",
|
|
49
46
|
"eslint-plugin-perfectionist": "^4.15.0",
|
|
@@ -60,18 +57,15 @@
|
|
|
60
57
|
"exports": {
|
|
61
58
|
".": "./dist/index.js"
|
|
62
59
|
},
|
|
63
|
-
"types": "./dist/index.d.ts",
|
|
64
60
|
"files": [
|
|
65
61
|
"./dist"
|
|
66
62
|
],
|
|
67
63
|
"scripts": {
|
|
68
64
|
"build": "tsdown",
|
|
69
65
|
"dev": "tsdown --watch",
|
|
70
|
-
"build:inspect": "eslint-config-inspector build --config eslint-inspector.config.
|
|
66
|
+
"build:inspect": "eslint-config-inspector build --config eslint-inspector.config.js",
|
|
71
67
|
"lint": "eslint .",
|
|
72
|
-
"lint:inspect": "eslint-config-inspector --open false --config eslint-inspector.config.
|
|
73
|
-
"release": "bumpp && pnpm publish"
|
|
74
|
-
"test": "vitest --ui",
|
|
75
|
-
"typecheck": "tsc --noEmit --pretty"
|
|
68
|
+
"lint:inspect": "eslint-config-inspector --open false --config eslint-inspector.config.js",
|
|
69
|
+
"release": "bumpp && pnpm publish"
|
|
76
70
|
}
|
|
77
71
|
}
|
package/dist/index.d.ts
DELETED
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { FlatConfigComposer } from "eslint-flat-config-utils";
|
|
2
|
-
import { Linter } from "eslint";
|
|
3
|
-
|
|
4
|
-
//#region src/types.d.ts
|
|
5
|
-
type Awaitable<T> = T | Promise<T>;
|
|
6
|
-
type FlatConfigItem = Omit<Linter.Config, 'plugins'> & {
|
|
7
|
-
plugins?: Record<string, any>;
|
|
8
|
-
};
|
|
9
|
-
interface OptionsOverrides {
|
|
10
|
-
overrides?: Linter.Config['rules'];
|
|
11
|
-
}
|
|
12
|
-
interface OptionsFiles {
|
|
13
|
-
files?: Array<string | string[]>;
|
|
14
|
-
}
|
|
15
|
-
interface OptionsConfig {
|
|
16
|
-
/**
|
|
17
|
-
* @default true
|
|
18
|
-
*/
|
|
19
|
-
gitignore?: boolean;
|
|
20
|
-
/**
|
|
21
|
-
* @default true
|
|
22
|
-
*/
|
|
23
|
-
javascript?: boolean;
|
|
24
|
-
/**
|
|
25
|
-
* @default hasTypeScript()
|
|
26
|
-
*/
|
|
27
|
-
typescript?: boolean;
|
|
28
|
-
/**
|
|
29
|
-
* @default true
|
|
30
|
-
*/
|
|
31
|
-
imports?: boolean;
|
|
32
|
-
/**
|
|
33
|
-
* @default hasVue()
|
|
34
|
-
*/
|
|
35
|
-
vue?: boolean;
|
|
36
|
-
/**
|
|
37
|
-
* @default false
|
|
38
|
-
*/
|
|
39
|
-
prettier?: boolean;
|
|
40
|
-
/**
|
|
41
|
-
* @default hasUnoCss()
|
|
42
|
-
*/
|
|
43
|
-
unocss?: boolean;
|
|
44
|
-
/**
|
|
45
|
-
* @default false
|
|
46
|
-
*/
|
|
47
|
-
nextjs?: boolean;
|
|
48
|
-
}
|
|
49
|
-
//#endregion
|
|
50
|
-
//#region src/presets.d.ts
|
|
51
|
-
declare const defaultPluginRenaming: {
|
|
52
|
-
'@next/next': string;
|
|
53
|
-
n: string;
|
|
54
|
-
vitest: string;
|
|
55
|
-
yml: string;
|
|
56
|
-
'@typescript-eslint': string;
|
|
57
|
-
};
|
|
58
|
-
declare function cuiqg(options?: OptionsConfig & Omit<FlatConfigItem, 'files'>, ...userConfigs: Awaitable<FlatConfigItem | FlatConfigItem[]>[]): FlatConfigComposer<FlatConfigItem, string>;
|
|
59
|
-
//#endregion
|
|
60
|
-
//#region src/configs/de-morgan.d.ts
|
|
61
|
-
declare function deMorgan(): Promise<FlatConfigItem[]>;
|
|
62
|
-
//#endregion
|
|
63
|
-
//#region src/configs/ignores.d.ts
|
|
64
|
-
declare function ignores(): Promise<FlatConfigItem[]>;
|
|
65
|
-
//#endregion
|
|
66
|
-
//#region src/configs/javascript.d.ts
|
|
67
|
-
declare function javascript(): Promise<FlatConfigItem[]>;
|
|
68
|
-
//#endregion
|
|
69
|
-
//#region src/configs/jsdoc.d.ts
|
|
70
|
-
declare function jsdoc(): Promise<FlatConfigItem[]>;
|
|
71
|
-
//#endregion
|
|
72
|
-
//#region src/configs/nextjs.d.ts
|
|
73
|
-
declare function nextjs(): Promise<FlatConfigItem[]>;
|
|
74
|
-
//#endregion
|
|
75
|
-
//#region src/configs/node.d.ts
|
|
76
|
-
declare function node(): Promise<FlatConfigItem[]>;
|
|
77
|
-
//#endregion
|
|
78
|
-
//#region src/configs/package-json.d.ts
|
|
79
|
-
declare function packageJson(): Promise<FlatConfigItem[]>;
|
|
80
|
-
//#endregion
|
|
81
|
-
//#region src/configs/perfectionist.d.ts
|
|
82
|
-
declare function perfectionist(): Promise<FlatConfigItem[]>;
|
|
83
|
-
//#endregion
|
|
84
|
-
//#region src/configs/prettier.d.ts
|
|
85
|
-
declare function prettier(): Promise<FlatConfigItem[]>;
|
|
86
|
-
//#endregion
|
|
87
|
-
//#region src/configs/typescript.d.ts
|
|
88
|
-
declare function typescript(): Promise<FlatConfigItem[]>;
|
|
89
|
-
//#endregion
|
|
90
|
-
//#region src/configs/unocss.d.ts
|
|
91
|
-
declare function unocss(): Promise<FlatConfigItem[]>;
|
|
92
|
-
//#endregion
|
|
93
|
-
//#region src/configs/vue.d.ts
|
|
94
|
-
declare function vue(): Promise<FlatConfigItem[]>;
|
|
95
|
-
//#endregion
|
|
96
|
-
//#region src/env.d.ts
|
|
97
|
-
declare const isInGitHookOrLintStaged: () => boolean;
|
|
98
|
-
declare const isInEditor: () => boolean;
|
|
99
|
-
declare const hasVue: () => boolean;
|
|
100
|
-
declare const hasTypeScript: () => boolean;
|
|
101
|
-
declare const hasUnoCss: () => boolean;
|
|
102
|
-
declare const hasNextjs: () => boolean;
|
|
103
|
-
//#endregion
|
|
104
|
-
//#region src/globs.d.ts
|
|
105
|
-
declare const GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
|
|
106
|
-
declare const GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
|
|
107
|
-
declare const GLOB_TS = "**/*.?([cm])ts";
|
|
108
|
-
declare const GLOB_TSX = "**/*.?([cm])tsx";
|
|
109
|
-
declare const GLOB_JS = "**/*.?([cm])js";
|
|
110
|
-
declare const GLOB_JSX = "**/*.?([cm])jsx";
|
|
111
|
-
declare const GLOB_STYLE = "**/*.{c,le,sc}ss";
|
|
112
|
-
declare const GLOB_CSS = "**/*.css";
|
|
113
|
-
declare const GLOB_SCSS = "**/*.scss";
|
|
114
|
-
declare const GLOB_LESS = "**/*.less";
|
|
115
|
-
declare const GLOB_STYLUS = "**/*.styl";
|
|
116
|
-
declare const GLOB_POSTCSS = "**/*.{p,post}css";
|
|
117
|
-
declare const GLOB_JSON = "**/*.json";
|
|
118
|
-
declare const GLOB_JSON5 = "**/*.json5";
|
|
119
|
-
declare const GLOB_JSONC = "**/*.jsonc";
|
|
120
|
-
declare const GLOB_MARKDOWN = "**/*.md";
|
|
121
|
-
declare const GLOB_VUE = "**/*.vue";
|
|
122
|
-
declare const GLOB_YAML = "**/*.y?(a)ml";
|
|
123
|
-
declare const GLOB_TOML = "**/*.toml";
|
|
124
|
-
declare const GLOB_XML = "**/*.xml";
|
|
125
|
-
declare const GLOB_SVG = "**/*.svg";
|
|
126
|
-
declare const GLOB_HTML = "**/*.htm?(l)";
|
|
127
|
-
declare const GLOB_ALL_SRC: string[];
|
|
128
|
-
declare const GLOB_EXCLUDE: string[];
|
|
129
|
-
//#endregion
|
|
130
|
-
export { Awaitable, FlatConfigItem, GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_STYLUS, GLOB_SVG, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, OptionsConfig, OptionsFiles, OptionsOverrides, cuiqg, deMorgan, cuiqg as default, defaultPluginRenaming, hasNextjs, hasTypeScript, hasUnoCss, hasVue, ignores, isInEditor, isInGitHookOrLintStaged, javascript, jsdoc, nextjs, node, packageJson, perfectionist, prettier, typescript, unocss, vue };
|