@cuiqg/eslint-config 2.5.1 → 2.5.2
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 +127 -87
- package/package.json +8 -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"
|
|
397
|
+
}
|
|
398
|
+
}];
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
//#endregion
|
|
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"
|
|
377
458
|
}
|
|
378
459
|
}];
|
|
379
460
|
}
|
|
380
461
|
|
|
381
462
|
//#endregion
|
|
382
|
-
//#region src/configs/nextjs.
|
|
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,34 @@ 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
|
+
});
|
|
521
607
|
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
|
-
},
|
|
608
|
+
name: "cuiqg/stylistic",
|
|
609
|
+
plugins: { style: pluginStylistic },
|
|
535
610
|
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
|
|
611
|
+
...config.rules,
|
|
612
|
+
"style/generator-star-spacing": ["error", {
|
|
613
|
+
after: true,
|
|
614
|
+
before: false
|
|
570
615
|
}],
|
|
571
|
-
"
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
616
|
+
"style/yield-star-spacing": ["error", {
|
|
617
|
+
after: true,
|
|
618
|
+
before: false
|
|
619
|
+
}]
|
|
575
620
|
}
|
|
576
621
|
}];
|
|
577
622
|
}
|
|
578
623
|
|
|
579
624
|
//#endregion
|
|
580
|
-
//#region src/configs/unocss.
|
|
625
|
+
//#region src/configs/unocss.js
|
|
581
626
|
async function unocss() {
|
|
582
627
|
const [pluginUnoCSS] = await Promise.all([interopDefault(import("@unocss/eslint-plugin"))]);
|
|
583
628
|
return [{
|
|
@@ -588,7 +633,7 @@ async function unocss() {
|
|
|
588
633
|
}
|
|
589
634
|
|
|
590
635
|
//#endregion
|
|
591
|
-
//#region src/configs/vue.
|
|
636
|
+
//#region src/configs/vue.js
|
|
592
637
|
async function vue() {
|
|
593
638
|
const files = [GLOB_VUE];
|
|
594
639
|
const [pluginVue, parserVue] = await Promise.all([interopDefault(import("eslint-plugin-vue")), interopDefault(import("vue-eslint-parser"))]);
|
|
@@ -614,7 +659,7 @@ async function vue() {
|
|
|
614
659
|
parserOptions: {
|
|
615
660
|
ecmaFeatures: { jsx: true },
|
|
616
661
|
extraFileExtensions: [".vue"],
|
|
617
|
-
parser:
|
|
662
|
+
parser: null,
|
|
618
663
|
sourceType: "module"
|
|
619
664
|
}
|
|
620
665
|
},
|
|
@@ -637,7 +682,6 @@ async function vue() {
|
|
|
637
682
|
...c
|
|
638
683
|
}), {}),
|
|
639
684
|
"node/prefer-global/process": "off",
|
|
640
|
-
"ts/explicit-function-return-type": "off",
|
|
641
685
|
"vue/block-order": ["error", { order: [
|
|
642
686
|
"script",
|
|
643
687
|
"template",
|
|
@@ -741,36 +785,32 @@ async function vue() {
|
|
|
741
785
|
}
|
|
742
786
|
|
|
743
787
|
//#endregion
|
|
744
|
-
//#region src/presets.
|
|
788
|
+
//#region src/presets.js
|
|
745
789
|
const defaultPluginRenaming = {
|
|
746
790
|
"@next/next": "next",
|
|
747
791
|
n: "node",
|
|
748
792
|
vitest: "test",
|
|
749
|
-
|
|
750
|
-
"@
|
|
793
|
+
"import-lite": "import",
|
|
794
|
+
"@stylistic": "style"
|
|
751
795
|
};
|
|
752
796
|
function cuiqg(options = {}, ...userConfigs) {
|
|
753
|
-
const { prettier: enablePrettier = false,
|
|
797
|
+
const { prettier: enablePrettier = false, imports: enableImports = true, vue: enableVue = hasVue(), unocss: enableUnocss = hasUnoCss(), nextjs: enableNextjs = hasNextjs() } = options;
|
|
754
798
|
const configs = [];
|
|
755
|
-
configs.push(
|
|
756
|
-
if (
|
|
799
|
+
configs.push(deMorgan(), ignores(), javascript(), jsdoc(), jsonc(), stylistic(), perfectionist());
|
|
800
|
+
if (enableImports) configs.push(imports());
|
|
757
801
|
if (enableVue) configs.push(vue());
|
|
758
802
|
if (enableUnocss) configs.push(unocss());
|
|
759
803
|
if (enableNextjs) configs.push(nextjs());
|
|
760
804
|
if (enablePrettier) configs.push(prettier());
|
|
761
805
|
let composer = new FlatConfigComposer();
|
|
762
806
|
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) });
|
|
807
|
+
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
808
|
return composer;
|
|
769
809
|
}
|
|
770
810
|
|
|
771
811
|
//#endregion
|
|
772
|
-
//#region src/index.
|
|
812
|
+
//#region src/index.js
|
|
773
813
|
var src_default = cuiqg;
|
|
774
814
|
|
|
775
815
|
//#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,
|
|
816
|
+
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, 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.2",
|
|
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,16 @@
|
|
|
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",
|
|
40
35
|
"eslint-config-flat-gitignore": "^2.1.0",
|
|
41
36
|
"eslint-config-prettier": "^10.1.8",
|
|
42
37
|
"eslint-flat-config-utils": "^2.1.1",
|
|
43
38
|
"eslint-plugin-de-morgan": "^1.3.1",
|
|
44
39
|
"eslint-plugin-depend": "^1.2.0",
|
|
45
|
-
"eslint-plugin-import-
|
|
40
|
+
"eslint-plugin-import-lite": "^0.3.0",
|
|
46
41
|
"eslint-plugin-jsdoc": "^52.0.4",
|
|
42
|
+
"eslint-plugin-jsonc": "^2.20.1",
|
|
47
43
|
"eslint-plugin-n": "^17.21.3",
|
|
48
44
|
"eslint-plugin-package-json": "^0.52.1",
|
|
49
45
|
"eslint-plugin-perfectionist": "^4.15.0",
|
|
@@ -60,18 +56,15 @@
|
|
|
60
56
|
"exports": {
|
|
61
57
|
".": "./dist/index.js"
|
|
62
58
|
},
|
|
63
|
-
"types": "./dist/index.d.ts",
|
|
64
59
|
"files": [
|
|
65
60
|
"./dist"
|
|
66
61
|
],
|
|
67
62
|
"scripts": {
|
|
68
63
|
"build": "tsdown",
|
|
69
64
|
"dev": "tsdown --watch",
|
|
70
|
-
"build:inspect": "eslint-config-inspector build --config eslint-inspector.config.
|
|
65
|
+
"build:inspect": "eslint-config-inspector build --config eslint-inspector.config.js",
|
|
71
66
|
"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"
|
|
67
|
+
"lint:inspect": "eslint-config-inspector --open false --config eslint-inspector.config.js",
|
|
68
|
+
"release": "bumpp && pnpm publish"
|
|
76
69
|
}
|
|
77
70
|
}
|
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 };
|