@zayne-labs/eslint-config 0.12.0 → 0.12.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/cli/index.js +1 -1
- package/dist/constants/defaults.d.ts +0 -1
- package/dist/constants/defaults.js +0 -1
- package/dist/constants/defaults.js.map +1 -1
- package/dist/{index-BHP9DnyA.d.ts → index-0P4qj2JA.d.ts} +115 -7
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4 -6
- package/dist/index.js.map +1 -1
- package/dist/utils.d.ts +1 -1
- package/package.json +8 -8
package/dist/cli/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import fsp from "node:fs/promises";
|
|
|
9
9
|
import parse from "parse-gitignore";
|
|
10
10
|
import { execSync } from "node:child_process";
|
|
11
11
|
//#region package.json
|
|
12
|
-
var version = "0.12.
|
|
12
|
+
var version = "0.12.2";
|
|
13
13
|
//#endregion
|
|
14
14
|
//#region src/cli/constants.ts
|
|
15
15
|
const vscodeSettingsString = `
|
|
@@ -3,7 +3,6 @@ declare const getDefaultPluginRenameMap: () => {
|
|
|
3
3
|
"@eslint-react": "react-x";
|
|
4
4
|
"@eslint-react/debug": "react-debug";
|
|
5
5
|
"@eslint-react/dom": "react-dom";
|
|
6
|
-
"@eslint-react/hooks-extra": "react-hooks-extra";
|
|
7
6
|
"@eslint-react/naming-convention": "react-naming-convention";
|
|
8
7
|
"@eslint-react/rsc": "react-rsc";
|
|
9
8
|
"@eslint-react/web-api": "react-web-api";
|
|
@@ -5,7 +5,6 @@ const getDefaultPluginRenameMap = () => {
|
|
|
5
5
|
"@eslint-react": "react-x",
|
|
6
6
|
"@eslint-react/debug": "react-debug",
|
|
7
7
|
"@eslint-react/dom": "react-dom",
|
|
8
|
-
"@eslint-react/hooks-extra": "react-hooks-extra",
|
|
9
8
|
"@eslint-react/naming-convention": "react-naming-convention",
|
|
10
9
|
"@eslint-react/rsc": "react-rsc",
|
|
11
10
|
"@eslint-react/web-api": "react-web-api",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","names":[],"sources":["../../src/constants/defaults.ts"],"sourcesContent":["import { defineEnum, defineEnumDeep } from \"@zayne-labs/toolkit-type-helpers\";\nimport type { OptionsTailwindCSSBetter } from \"@/types\";\n\nexport const getDefaultPluginRenameMap = () => {\n\treturn defineEnum({\n\t\t\"@eslint-react\": \"react-x\",\n\t\t\"@eslint-react/debug\": \"react-debug\",\n\t\t\"@eslint-react/dom\": \"react-dom\",\n\t\t\"@eslint-react/
|
|
1
|
+
{"version":3,"file":"defaults.js","names":[],"sources":["../../src/constants/defaults.ts"],"sourcesContent":["import { defineEnum, defineEnumDeep } from \"@zayne-labs/toolkit-type-helpers\";\nimport type { OptionsTailwindCSSBetter } from \"@/types\";\n\nexport const getDefaultPluginRenameMap = () => {\n\treturn defineEnum({\n\t\t\"@eslint-react\": \"react-x\",\n\t\t\"@eslint-react/debug\": \"react-debug\",\n\t\t\"@eslint-react/dom\": \"react-dom\",\n\t\t\"@eslint-react/naming-convention\": \"react-naming-convention\",\n\t\t\"@eslint-react/rsc\": \"react-rsc\",\n\t\t\"@eslint-react/web-api\": \"react-web-api\",\n\n\t\t\"@next/next\": \"nextjs\",\n\n\t\t\"@stylistic\": \"stylistic\",\n\n\t\t\"@tanstack/query\": \"tanstack-query\",\n\t\t\"@tanstack/router\": \"tanstack-router\",\n\n\t\t\"@typescript-eslint\": \"ts-eslint\",\n\n\t\t\"better-tailwindcss\": \"tailwindcss-better\",\n\n\t\t\"import-x\": \"import\",\n\n\t\tn: \"node\",\n\t});\n};\n\nexport const getDefaultAllowedNextJsExportNames = () => {\n\treturn defineEnum([\n\t\t\"dynamic\",\n\t\t\"dynamicParams\",\n\t\t\"revalidate\",\n\t\t\"fetchCache\",\n\t\t\"runtime\",\n\t\t\"preferredRegion\",\n\t\t\"maxDuration\",\n\t\t\"config\",\n\t\t\"generateStaticParams\",\n\t\t\"metadata\",\n\t\t\"generateMetadata\",\n\t\t\"viewport\",\n\t\t\"generateViewport\",\n\t]);\n};\n\nexport const getDefaultAllowedReactRouterExportNames = () => {\n\treturn defineEnum([\n\t\t\"meta\",\n\t\t\"links\",\n\t\t\"headers\",\n\t\t\"loader\",\n\t\t\"action\",\n\t\t\"clientLoader\",\n\t\t\"clientAction\",\n\t\t\"handle\",\n\t\t\"shouldRevalidate\",\n\t]);\n};\n\nexport const getDefaultTailwindcssBetterSettings = () => {\n\treturn defineEnumDeep({\n\t\tentryPoint: `${process.cwd()}/tailwind.css`,\n\t\tselectors: [\n\t\t\t{\n\t\t\t\tkind: \"attribute\",\n\t\t\t\tmatch: [{ type: \"objectValues\" }],\n\t\t\t\tname: \"^classNames$\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tkind: \"callee\",\n\t\t\t\tmatch: [{ type: \"strings\" }],\n\t\t\t\tname: \"cnMerge\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tkind: \"callee\",\n\t\t\t\tmatch: [{ type: \"strings\" }],\n\t\t\t\tname: \"cnJoin\",\n\t\t\t},\n\t\t],\n\t} as const satisfies OptionsTailwindCSSBetter[\"settings\"]);\n};\n\nexport const getDefaultAllowedDependencies = () => {\n\treturn defineEnum([\"lint-staged\"]);\n};\n"],"mappings":";;AAGA,MAAa,kCAAkC;AAC9C,QAAO,WAAW;EACjB,iBAAiB;EACjB,uBAAuB;EACvB,qBAAqB;EACrB,mCAAmC;EACnC,qBAAqB;EACrB,yBAAyB;EAEzB,cAAc;EAEd,cAAc;EAEd,mBAAmB;EACnB,oBAAoB;EAEpB,sBAAsB;EAEtB,sBAAsB;EAEtB,YAAY;EAEZ,GAAG;EACH,CAAC;;AAGH,MAAa,2CAA2C;AACvD,QAAO,WAAW;EACjB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,CAAC;;AAGH,MAAa,gDAAgD;AAC5D,QAAO,WAAW;EACjB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,CAAC;;AAGH,MAAa,4CAA4C;AACxD,QAAO,eAAe;EACrB,YAAY,GAAG,QAAQ,KAAK,CAAC;EAC7B,WAAW;GACV;IACC,MAAM;IACN,OAAO,CAAC,EAAE,MAAM,gBAAgB,CAAC;IACjC,MAAM;IACN;GACD;IACC,MAAM;IACN,OAAO,CAAC,EAAE,MAAM,WAAW,CAAC;IAC5B,MAAM;IACN;GACD;IACC,MAAM;IACN,OAAO,CAAC,EAAE,MAAM,WAAW,CAAC;IAC5B,MAAM;IACN;GACD;EACD,CAAyD;;AAG3D,MAAa,sCAAsC;AAClD,QAAO,WAAW,CAAC,cAAc,CAAC"}
|
|
@@ -10637,6 +10637,7 @@ type PerfectionistSortArrayIncludes = {
|
|
|
10637
10637
|
pattern: string;
|
|
10638
10638
|
flags?: string;
|
|
10639
10639
|
} | string));
|
|
10640
|
+
matchesAstSelector?: string;
|
|
10640
10641
|
};
|
|
10641
10642
|
partitionByComment?: (boolean | (({
|
|
10642
10643
|
pattern: string;
|
|
@@ -10662,7 +10663,7 @@ type PerfectionistSortArrayIncludes = {
|
|
|
10662
10663
|
});
|
|
10663
10664
|
partitionByNewLine?: boolean;
|
|
10664
10665
|
}[]; // ----- perfectionist/sort-classes -----
|
|
10665
|
-
type PerfectionistSortClasses =
|
|
10666
|
+
type PerfectionistSortClasses = {
|
|
10666
10667
|
fallbackSort?: {
|
|
10667
10668
|
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
10668
10669
|
order?: ("asc" | "desc");
|
|
@@ -10779,6 +10780,16 @@ type PerfectionistSortClasses = [] | [{
|
|
|
10779
10780
|
order?: ("asc" | "desc");
|
|
10780
10781
|
})[];
|
|
10781
10782
|
newlinesBetween?: ("ignore" | number);
|
|
10783
|
+
useConfigurationIf?: {
|
|
10784
|
+
allNamesMatchPattern?: (({
|
|
10785
|
+
pattern: string;
|
|
10786
|
+
flags?: string;
|
|
10787
|
+
} | string)[] | ({
|
|
10788
|
+
pattern: string;
|
|
10789
|
+
flags?: string;
|
|
10790
|
+
} | string));
|
|
10791
|
+
matchesAstSelector?: string;
|
|
10792
|
+
};
|
|
10782
10793
|
useExperimentalDependencyDetection?: boolean;
|
|
10783
10794
|
ignoreCallbackDependenciesPatterns?: (({
|
|
10784
10795
|
pattern: string;
|
|
@@ -10810,7 +10821,7 @@ type PerfectionistSortClasses = [] | [{
|
|
|
10810
10821
|
} | string)));
|
|
10811
10822
|
});
|
|
10812
10823
|
partitionByNewLine?: boolean;
|
|
10813
|
-
}]; // ----- perfectionist/sort-decorators -----
|
|
10824
|
+
}[]; // ----- perfectionist/sort-decorators -----
|
|
10814
10825
|
type PerfectionistSortDecorators = {
|
|
10815
10826
|
fallbackSort?: {
|
|
10816
10827
|
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
@@ -10909,7 +10920,7 @@ type PerfectionistSortDecorators = {
|
|
|
10909
10920
|
});
|
|
10910
10921
|
partitionByNewLine?: boolean;
|
|
10911
10922
|
}[]; // ----- perfectionist/sort-enums -----
|
|
10912
|
-
type PerfectionistSortEnums =
|
|
10923
|
+
type PerfectionistSortEnums = {
|
|
10913
10924
|
fallbackSort?: {
|
|
10914
10925
|
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
10915
10926
|
order?: ("asc" | "desc");
|
|
@@ -10999,6 +11010,16 @@ type PerfectionistSortEnums = [] | [{
|
|
|
10999
11010
|
order?: ("asc" | "desc");
|
|
11000
11011
|
})[];
|
|
11001
11012
|
newlinesBetween?: ("ignore" | number);
|
|
11013
|
+
useConfigurationIf?: {
|
|
11014
|
+
allNamesMatchPattern?: (({
|
|
11015
|
+
pattern: string;
|
|
11016
|
+
flags?: string;
|
|
11017
|
+
} | string)[] | ({
|
|
11018
|
+
pattern: string;
|
|
11019
|
+
flags?: string;
|
|
11020
|
+
} | string));
|
|
11021
|
+
matchesAstSelector?: string;
|
|
11022
|
+
};
|
|
11002
11023
|
sortByValue?: ("always" | "ifNumericEnum" | "never");
|
|
11003
11024
|
useExperimentalDependencyDetection?: boolean;
|
|
11004
11025
|
partitionByComment?: (boolean | (({
|
|
@@ -11024,7 +11045,7 @@ type PerfectionistSortEnums = [] | [{
|
|
|
11024
11045
|
} | string)));
|
|
11025
11046
|
});
|
|
11026
11047
|
partitionByNewLine?: boolean;
|
|
11027
|
-
}]; // ----- perfectionist/sort-export-attributes -----
|
|
11048
|
+
}[]; // ----- perfectionist/sort-export-attributes -----
|
|
11028
11049
|
type PerfectionistSortExportAttributes = {
|
|
11029
11050
|
fallbackSort?: {
|
|
11030
11051
|
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
@@ -11094,6 +11115,16 @@ type PerfectionistSortExportAttributes = {
|
|
|
11094
11115
|
order?: ("asc" | "desc");
|
|
11095
11116
|
})[];
|
|
11096
11117
|
newlinesBetween?: ("ignore" | number);
|
|
11118
|
+
useConfigurationIf?: {
|
|
11119
|
+
allNamesMatchPattern?: (({
|
|
11120
|
+
pattern: string;
|
|
11121
|
+
flags?: string;
|
|
11122
|
+
} | string)[] | ({
|
|
11123
|
+
pattern: string;
|
|
11124
|
+
flags?: string;
|
|
11125
|
+
} | string));
|
|
11126
|
+
matchesAstSelector?: string;
|
|
11127
|
+
};
|
|
11097
11128
|
partitionByComment?: (boolean | (({
|
|
11098
11129
|
pattern: string;
|
|
11099
11130
|
flags?: string;
|
|
@@ -11286,6 +11317,16 @@ type PerfectionistSortHeritageClauses = {
|
|
|
11286
11317
|
order?: ("asc" | "desc");
|
|
11287
11318
|
})[];
|
|
11288
11319
|
newlinesBetween?: ("ignore" | number);
|
|
11320
|
+
useConfigurationIf?: {
|
|
11321
|
+
allNamesMatchPattern?: (({
|
|
11322
|
+
pattern: string;
|
|
11323
|
+
flags?: string;
|
|
11324
|
+
} | string)[] | ({
|
|
11325
|
+
pattern: string;
|
|
11326
|
+
flags?: string;
|
|
11327
|
+
} | string));
|
|
11328
|
+
matchesAstSelector?: string;
|
|
11329
|
+
};
|
|
11289
11330
|
partitionByNewLine?: boolean;
|
|
11290
11331
|
partitionByComment?: (boolean | (({
|
|
11291
11332
|
pattern: string;
|
|
@@ -11379,6 +11420,16 @@ type PerfectionistSortImportAttributes = {
|
|
|
11379
11420
|
order?: ("asc" | "desc");
|
|
11380
11421
|
})[];
|
|
11381
11422
|
newlinesBetween?: ("ignore" | number);
|
|
11423
|
+
useConfigurationIf?: {
|
|
11424
|
+
allNamesMatchPattern?: (({
|
|
11425
|
+
pattern: string;
|
|
11426
|
+
flags?: string;
|
|
11427
|
+
} | string)[] | ({
|
|
11428
|
+
pattern: string;
|
|
11429
|
+
flags?: string;
|
|
11430
|
+
} | string));
|
|
11431
|
+
matchesAstSelector?: string;
|
|
11432
|
+
};
|
|
11382
11433
|
partitionByComment?: (boolean | (({
|
|
11383
11434
|
pattern: string;
|
|
11384
11435
|
flags?: string;
|
|
@@ -11647,6 +11698,7 @@ type PerfectionistSortInterfaces = {
|
|
|
11647
11698
|
pattern: string;
|
|
11648
11699
|
flags?: string;
|
|
11649
11700
|
} | string));
|
|
11701
|
+
matchesAstSelector?: string;
|
|
11650
11702
|
declarationMatchesPattern?: (({
|
|
11651
11703
|
scope?: ("shallow" | "deep");
|
|
11652
11704
|
pattern: string;
|
|
@@ -11753,6 +11805,16 @@ type PerfectionistSortIntersectionTypes = {
|
|
|
11753
11805
|
order?: ("asc" | "desc");
|
|
11754
11806
|
})[];
|
|
11755
11807
|
newlinesBetween?: ("ignore" | number);
|
|
11808
|
+
useConfigurationIf?: {
|
|
11809
|
+
allNamesMatchPattern?: (({
|
|
11810
|
+
pattern: string;
|
|
11811
|
+
flags?: string;
|
|
11812
|
+
} | string)[] | ({
|
|
11813
|
+
pattern: string;
|
|
11814
|
+
flags?: string;
|
|
11815
|
+
} | string));
|
|
11816
|
+
matchesAstSelector?: string;
|
|
11817
|
+
};
|
|
11756
11818
|
partitionByComment?: (boolean | (({
|
|
11757
11819
|
pattern: string;
|
|
11758
11820
|
flags?: string;
|
|
@@ -11881,6 +11943,7 @@ type PerfectionistSortJsxProps = {
|
|
|
11881
11943
|
pattern: string;
|
|
11882
11944
|
flags?: string;
|
|
11883
11945
|
} | string));
|
|
11946
|
+
matchesAstSelector?: string;
|
|
11884
11947
|
tagMatchesPattern?: (({
|
|
11885
11948
|
pattern: string;
|
|
11886
11949
|
flags?: string;
|
|
@@ -11968,6 +12031,7 @@ type PerfectionistSortMaps = {
|
|
|
11968
12031
|
pattern: string;
|
|
11969
12032
|
flags?: string;
|
|
11970
12033
|
} | string));
|
|
12034
|
+
matchesAstSelector?: string;
|
|
11971
12035
|
};
|
|
11972
12036
|
partitionByComment?: (boolean | (({
|
|
11973
12037
|
pattern: string;
|
|
@@ -12189,6 +12253,16 @@ type PerfectionistSortNamedExports = {
|
|
|
12189
12253
|
order?: ("asc" | "desc");
|
|
12190
12254
|
})[];
|
|
12191
12255
|
newlinesBetween?: ("ignore" | number);
|
|
12256
|
+
useConfigurationIf?: {
|
|
12257
|
+
allNamesMatchPattern?: (({
|
|
12258
|
+
pattern: string;
|
|
12259
|
+
flags?: string;
|
|
12260
|
+
} | string)[] | ({
|
|
12261
|
+
pattern: string;
|
|
12262
|
+
flags?: string;
|
|
12263
|
+
} | string));
|
|
12264
|
+
matchesAstSelector?: string;
|
|
12265
|
+
};
|
|
12192
12266
|
ignoreAlias?: boolean;
|
|
12193
12267
|
partitionByComment?: (boolean | (({
|
|
12194
12268
|
pattern: string;
|
|
@@ -12289,6 +12363,16 @@ type PerfectionistSortNamedImports = {
|
|
|
12289
12363
|
order?: ("asc" | "desc");
|
|
12290
12364
|
})[];
|
|
12291
12365
|
newlinesBetween?: ("ignore" | number);
|
|
12366
|
+
useConfigurationIf?: {
|
|
12367
|
+
allNamesMatchPattern?: (({
|
|
12368
|
+
pattern: string;
|
|
12369
|
+
flags?: string;
|
|
12370
|
+
} | string)[] | ({
|
|
12371
|
+
pattern: string;
|
|
12372
|
+
flags?: string;
|
|
12373
|
+
} | string));
|
|
12374
|
+
matchesAstSelector?: string;
|
|
12375
|
+
};
|
|
12292
12376
|
ignoreAlias?: boolean;
|
|
12293
12377
|
partitionByComment?: (boolean | (({
|
|
12294
12378
|
pattern: string;
|
|
@@ -12436,6 +12520,7 @@ type PerfectionistSortObjectTypes = {
|
|
|
12436
12520
|
pattern: string;
|
|
12437
12521
|
flags?: string;
|
|
12438
12522
|
} | string));
|
|
12523
|
+
matchesAstSelector?: string;
|
|
12439
12524
|
declarationMatchesPattern?: (({
|
|
12440
12525
|
scope?: ("shallow" | "deep");
|
|
12441
12526
|
pattern: string;
|
|
@@ -12602,6 +12687,7 @@ type PerfectionistSortObjects = {
|
|
|
12602
12687
|
pattern: string;
|
|
12603
12688
|
flags?: string;
|
|
12604
12689
|
} | string));
|
|
12690
|
+
matchesAstSelector?: string;
|
|
12605
12691
|
declarationMatchesPattern?: (({
|
|
12606
12692
|
scope?: ("shallow" | "deep");
|
|
12607
12693
|
pattern: string;
|
|
@@ -12612,6 +12698,7 @@ type PerfectionistSortObjects = {
|
|
|
12612
12698
|
flags?: string;
|
|
12613
12699
|
} | string));
|
|
12614
12700
|
};
|
|
12701
|
+
partitionByComputedKey?: boolean;
|
|
12615
12702
|
styledComponents?: boolean;
|
|
12616
12703
|
useExperimentalDependencyDetection?: boolean;
|
|
12617
12704
|
partitionByComment?: (boolean | (({
|
|
@@ -12718,6 +12805,7 @@ type PerfectionistSortSets = {
|
|
|
12718
12805
|
pattern: string;
|
|
12719
12806
|
flags?: string;
|
|
12720
12807
|
} | string));
|
|
12808
|
+
matchesAstSelector?: string;
|
|
12721
12809
|
};
|
|
12722
12810
|
partitionByComment?: (boolean | (({
|
|
12723
12811
|
pattern: string;
|
|
@@ -12827,6 +12915,16 @@ type PerfectionistSortUnionTypes = {
|
|
|
12827
12915
|
order?: ("asc" | "desc");
|
|
12828
12916
|
})[];
|
|
12829
12917
|
newlinesBetween?: ("ignore" | number);
|
|
12918
|
+
useConfigurationIf?: {
|
|
12919
|
+
allNamesMatchPattern?: (({
|
|
12920
|
+
pattern: string;
|
|
12921
|
+
flags?: string;
|
|
12922
|
+
} | string)[] | ({
|
|
12923
|
+
pattern: string;
|
|
12924
|
+
flags?: string;
|
|
12925
|
+
} | string));
|
|
12926
|
+
matchesAstSelector?: string;
|
|
12927
|
+
};
|
|
12830
12928
|
partitionByComment?: (boolean | (({
|
|
12831
12929
|
pattern: string;
|
|
12832
12930
|
flags?: string;
|
|
@@ -12851,7 +12949,7 @@ type PerfectionistSortUnionTypes = {
|
|
|
12851
12949
|
});
|
|
12852
12950
|
partitionByNewLine?: boolean;
|
|
12853
12951
|
}[]; // ----- perfectionist/sort-variable-declarations -----
|
|
12854
|
-
type PerfectionistSortVariableDeclarations =
|
|
12952
|
+
type PerfectionistSortVariableDeclarations = {
|
|
12855
12953
|
fallbackSort?: {
|
|
12856
12954
|
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
12857
12955
|
order?: ("asc" | "desc");
|
|
@@ -12923,6 +13021,16 @@ type PerfectionistSortVariableDeclarations = [] | [{
|
|
|
12923
13021
|
order?: ("asc" | "desc");
|
|
12924
13022
|
})[];
|
|
12925
13023
|
newlinesBetween?: ("ignore" | number);
|
|
13024
|
+
useConfigurationIf?: {
|
|
13025
|
+
allNamesMatchPattern?: (({
|
|
13026
|
+
pattern: string;
|
|
13027
|
+
flags?: string;
|
|
13028
|
+
} | string)[] | ({
|
|
13029
|
+
pattern: string;
|
|
13030
|
+
flags?: string;
|
|
13031
|
+
} | string));
|
|
13032
|
+
matchesAstSelector?: string;
|
|
13033
|
+
};
|
|
12926
13034
|
useExperimentalDependencyDetection?: boolean;
|
|
12927
13035
|
partitionByComment?: (boolean | (({
|
|
12928
13036
|
pattern: string;
|
|
@@ -12947,7 +13055,7 @@ type PerfectionistSortVariableDeclarations = [] | [{
|
|
|
12947
13055
|
} | string)));
|
|
12948
13056
|
});
|
|
12949
13057
|
partitionByNewLine?: boolean;
|
|
12950
|
-
}]; // ----- pnpm/json-enforce-catalog -----
|
|
13058
|
+
}[]; // ----- pnpm/json-enforce-catalog -----
|
|
12951
13059
|
type PnpmJsonEnforceCatalog = [] | [{
|
|
12952
13060
|
allowedProtocols?: string[];
|
|
12953
13061
|
autofix?: boolean;
|
|
@@ -19013,4 +19121,4 @@ type ExtractOptions<TUnion> = Extract<TUnion, object>;
|
|
|
19013
19121
|
type Prettify<TObject> = NonNullable<unknown> & { [Key in keyof TObject]: TObject[Key] };
|
|
19014
19122
|
//#endregion
|
|
19015
19123
|
export { OptionsTypeScriptWithTypes as C, ConfigNames as D, TypedFlatConfigItem as E, Rules as O, OptionsTypeScriptParserOptions as S, OptionsVue as T, OptionsStylistic as _, OptionsComponentExts as a, OptionsTanstack as b, OptionsFiles as c, OptionsJSX as d, OptionsNode as f, OptionsRegExp as g, OptionsReact as h, OptionsAppType as i, OptionsHasJsx as l, OptionsPnpm as m, ExtractOptions as n, OptionsComponentExtsTypeAware as o, OptionsOverrides as p, Prettify as r, OptionsConfig as s, Awaitable as t, OptionsHasTypeScript as u, OptionsTailwindCSS as v, OptionsTypescript as w, OptionsTypeScriptErasableOnly as x, OptionsTailwindCSSBetter as y };
|
|
19016
|
-
//# sourceMappingURL=index-
|
|
19124
|
+
//# sourceMappingURL=index-0P4qj2JA.d.ts.map
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as OptionsTypeScriptWithTypes, D as ConfigNames, E as TypedFlatConfigItem, O as Rules, S as OptionsTypeScriptParserOptions, T as OptionsVue, _ as OptionsStylistic, a as OptionsComponentExts, b as OptionsTanstack, c as OptionsFiles, d as OptionsJSX, f as OptionsNode, g as OptionsRegExp, h as OptionsReact, i as OptionsAppType, l as OptionsHasJsx, m as OptionsPnpm, n as ExtractOptions, o as OptionsComponentExtsTypeAware, p as OptionsOverrides, r as Prettify, s as OptionsConfig, t as Awaitable, u as OptionsHasTypeScript, v as OptionsTailwindCSS, w as OptionsTypescript, x as OptionsTypeScriptErasableOnly, y as OptionsTailwindCSSBetter } from "./index-
|
|
1
|
+
import { C as OptionsTypeScriptWithTypes, D as ConfigNames, E as TypedFlatConfigItem, O as Rules, S as OptionsTypeScriptParserOptions, T as OptionsVue, _ as OptionsStylistic, a as OptionsComponentExts, b as OptionsTanstack, c as OptionsFiles, d as OptionsJSX, f as OptionsNode, g as OptionsRegExp, h as OptionsReact, i as OptionsAppType, l as OptionsHasJsx, m as OptionsPnpm, n as ExtractOptions, o as OptionsComponentExtsTypeAware, p as OptionsOverrides, r as Prettify, s as OptionsConfig, t as Awaitable, u as OptionsHasTypeScript, v as OptionsTailwindCSS, w as OptionsTypescript, x as OptionsTypeScriptErasableOnly, y as OptionsTailwindCSSBetter } from "./index-0P4qj2JA.js";
|
|
2
2
|
import { FlatConfigComposer } from "eslint-flat-config-utils";
|
|
3
3
|
import { Linter } from "eslint";
|
|
4
4
|
|
package/dist/index.js
CHANGED
|
@@ -1023,10 +1023,7 @@ const react = async (options = {}) => {
|
|
|
1023
1023
|
if (enableReact && strictReactConfig && eslintReactHooks) config.push({
|
|
1024
1024
|
files,
|
|
1025
1025
|
name: "zayne/react/official/rules",
|
|
1026
|
-
rules: {
|
|
1027
|
-
"react-hooks/exhaustive-deps": "warn",
|
|
1028
|
-
"react-hooks/rules-of-hooks": "error"
|
|
1029
|
-
}
|
|
1026
|
+
rules: {}
|
|
1030
1027
|
}, {
|
|
1031
1028
|
files: typescript ? filesTypeAware : files,
|
|
1032
1029
|
...typescript && { ignores: ignoresTypeAware },
|
|
@@ -1037,7 +1034,6 @@ const react = async (options = {}) => {
|
|
|
1037
1034
|
files,
|
|
1038
1035
|
name: "zayne/react/unofficial/rules",
|
|
1039
1036
|
rules: {
|
|
1040
|
-
"react-hooks-extra/no-direct-set-state-in-use-effect": "off",
|
|
1041
1037
|
"react-x/jsx-shorthand-boolean": ["error", -1],
|
|
1042
1038
|
"react-x/jsx-shorthand-fragment": "warn",
|
|
1043
1039
|
"react-x/no-children-count": "off",
|
|
@@ -1045,6 +1041,8 @@ const react = async (options = {}) => {
|
|
|
1045
1041
|
"react-x/no-clone-element": "off",
|
|
1046
1042
|
"react-x/no-implicit-key": "off",
|
|
1047
1043
|
"react-x/no-missing-component-display-name": "warn",
|
|
1044
|
+
"react-x/exhaustive-deps": "warn",
|
|
1045
|
+
"react-x/rules-of-hooks": "error",
|
|
1048
1046
|
...overrides,
|
|
1049
1047
|
...isObject(enableReact) && enableReact.overrides
|
|
1050
1048
|
}
|
|
@@ -1065,7 +1063,7 @@ const react = async (options = {}) => {
|
|
|
1065
1063
|
"react-hooks/preserve-manual-memoization": "warn",
|
|
1066
1064
|
"react-hooks/purity": "warn",
|
|
1067
1065
|
"react-hooks/refs": "error",
|
|
1068
|
-
"react-hooks/rule-suppression": "
|
|
1066
|
+
"react-hooks/rule-suppression": "off",
|
|
1069
1067
|
"react-hooks/set-state-in-effect": "warn",
|
|
1070
1068
|
"react-hooks/set-state-in-render": "error",
|
|
1071
1069
|
"react-hooks/static-components": "warn",
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["isObject","isObject","isObject","isObject"],"sources":["../src/globs.ts","../src/configs/astro.ts","../src/configs/comments.ts","../src/configs/depend.ts","../src/configs/expo.ts","../src/configs/ignores.ts","../src/configs/imports.ts","../src/configs/javascript.ts","../src/configs/jsdoc.ts","../src/configs/jsonc.ts","../src/configs/jsx.ts","../src/configs/markdown.ts","../src/configs/node.ts","../src/configs/perfectionist.ts","../src/configs/pnpm.ts","../src/configs/react.ts","../src/configs/solid.ts","../src/configs/sort.ts","../src/configs/stylistic.ts","../src/configs/tailwindcss.ts","../src/configs/tanstack.ts","../src/configs/toml.ts","../src/configs/typescript.ts","../src/configs/unicorn.ts","../src/configs/vue.ts","../src/configs/yaml.ts","../src/factory.ts"],"sourcesContent":["import { defineEnum } from \"@zayne-labs/toolkit-type-helpers\";\n\nexport const GLOB_SRC_EXT = \"?([cm])[jt]s?(x)\";\nexport const GLOB_SRC = \"**/*.?([cm])[jt]s?(x)\";\n\nexport const GLOB_JS = \"**/*.?([cm])js\";\nexport const GLOB_JSX = \"**/*.?([cm])jsx\";\n\nexport const GLOB_TS = \"**/*.?([cm])ts\";\nexport const GLOB_TSX = \"**/*.?([cm])tsx\";\n\nexport const GLOB_STYLES = \"**/*.{c,le,sc}ss\";\nexport const GLOB_CSS = \"**/*.css\";\nexport const GLOB_POSTCSS = \"**/*.{p,post}css\";\nexport const GLOB_LESS = \"**/*.less\";\nexport const GLOB_SCSS = \"**/*.scss\";\n\nexport const GLOB_JSON = \"**/*.json\";\nexport const GLOB_JSON5 = \"**/*.json5\";\nexport const GLOB_JSONC = \"**/*.jsonc\";\n\nexport const GLOB_MARKDOWN = \"**/*.md?(x)\";\nexport const GLOB_MARKDOWN_IN_MARKDOWN = `${GLOB_MARKDOWN}/*.md?(x)`;\nexport const GLOB_SVELTE = \"**/*.svelte?(.{js,ts})\";\nexport const GLOB_VUE = \"**/*.vue\";\nexport const GLOB_YAML = \"**/*.y?(a)ml\";\nexport const GLOB_TOML = \"**/*.toml\";\nexport const GLOB_XML = \"**/*.xml\";\nexport const GLOB_SVG = \"**/*.svg\";\nexport const GLOB_HTML = \"**/*.htm?(l)\";\nexport const GLOB_ASTRO = \"**/*.astro\";\nexport const GLOB_ASTRO_TS = \"**/*.astro/*.ts\";\nexport const GLOB_GRAPHQL = \"**/*.{g,graph}ql\";\n\nexport const GLOB_MARKDOWN_CODE = `${GLOB_MARKDOWN}/${GLOB_SRC}`;\nexport const GLOB_MARKDOWN_JSON = `${GLOB_MARKDOWN}/**/*.json?({c,5})`;\n\nexport const GLOB_TESTS = defineEnum([\n\t`**/__tests__/**/*.${GLOB_SRC_EXT}`,\n\t`**/*.spec.${GLOB_SRC_EXT}`,\n\t`**/*.test.${GLOB_SRC_EXT}`,\n\t`**/*.bench.${GLOB_SRC_EXT}`,\n\t`**/*.benchmark.${GLOB_SRC_EXT}`,\n]);\n\nexport const GLOB_ALL_SRC = [\n\tGLOB_SRC,\n\tGLOB_STYLES,\n\tGLOB_JSON,\n\tGLOB_JSON5,\n\tGLOB_MARKDOWN,\n\tGLOB_SVELTE,\n\tGLOB_VUE,\n\tGLOB_YAML,\n\tGLOB_XML,\n\tGLOB_HTML,\n];\n\nexport const GLOB_EXCLUDE = defineEnum([\n\t\"**/node_modules\",\n\t\"**/dist\",\n\t\"**/package-lock.json\",\n\t\"**/yarn.lock\",\n\t\"**/pnpm-lock.yaml\",\n\t\"**/bun.lockb\",\n\n\t\"**/output\",\n\t\"**/coverage\",\n\t\"**/temp\",\n\t\"**/.temp\",\n\t\"**/tmp\",\n\t\"**/.tmp\",\n\t\"**/.history\",\n\t\"**/.vitepress/cache\",\n\t\"**/.nuxt\",\n\t\"**/.next\",\n\t\"**/.svelte-kit\",\n\t\"**/.vercel\",\n\t\"**/.changeset\",\n\t\"**/.idea\",\n\t\"**/.cache\",\n\t\"**/.output\",\n\t\"**/.vite-inspect\",\n\t\"**/.yarn\",\n\t\"**/vite.config.*.timestamp-*\",\n\n\t\"**/CHANGELOG*.md\",\n\t\"**/*.min.*\",\n\t\"**/LICENSE*\",\n\t\"**/__snapshots__\",\n\t\"**/auto-import?(s).d.ts\",\n\t\"**/components.d.ts\",\n]);\n","import { GLOB_ASTRO } from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { ensurePackages, interopDefault } from \"../utils\";\n\nexport const astro = async (\n\toptions: ExtractOptions<OptionsConfig[\"astro\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { files = [GLOB_ASTRO], overrides, typescript = true } = options;\n\n\tawait ensurePackages([\"eslint-plugin-astro\", \"astro-eslint-parser\"]);\n\n\tconst [eslintPluginAstro, parserAstro, tsEslint] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-astro\")),\n\t\tinteropDefault(import(\"astro-eslint-parser\")),\n\t\ttypescript ? interopDefault(import(\"typescript-eslint\")) : undefined,\n\t]);\n\n\tconst recommendedRules = eslintPluginAstro.configs.recommended\n\t\t.map((config) => config.rules)\n\t\t.reduce<TypedFlatConfigItem[\"rules\"]>((accumulator, rules) => ({ ...accumulator, ...rules }), {});\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/astro/setup\",\n\n\t\t\tplugins: {\n\t\t\t\tastro: eslintPluginAstro,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tlanguageOptions: {\n\t\t\t\tglobals: eslintPluginAstro.environments.astro.globals,\n\t\t\t\tparser: parserAstro,\n\t\t\t\tparserOptions: {\n\t\t\t\t\textraFileExtensions: [\".astro\"],\n\t\t\t\t\t...(typescript && { parser: tsEslint?.parser }),\n\t\t\t\t},\n\t\t\t\tsourceType: \"module\",\n\t\t\t},\n\n\t\t\tname: \"zayne/astro/parser\",\n\n\t\t\tprocessor: typescript ? \"astro/client-side-ts\" : \"astro/astro\",\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/astro/recommended\",\n\n\t\t\trules: recommendedRules,\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/astro/rules\",\n\n\t\t\trules: {\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n","import type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault } from \"../utils\";\n\nexport const comments = async (\n\toptions: ExtractOptions<OptionsConfig[\"comments\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, type = \"app\" } = options;\n\n\tconst eslintPluginComments = await interopDefault(\n\t\timport(\"@eslint-community/eslint-plugin-eslint-comments\")\n\t);\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/eslint-comments/rules\",\n\t\t\tplugins: {\n\t\t\t\t\"eslint-comments\": eslintPluginComments,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t\"eslint-comments/disable-enable-pair\": [\"error\", { allowWholeFile: true }],\n\t\t\t\t\"eslint-comments/no-aggregating-enable\": \"error\",\n\t\t\t\t\"eslint-comments/no-duplicate-disable\": \"error\",\n\t\t\t\t\"eslint-comments/no-unlimited-disable\": \"error\",\n\t\t\t\t\"eslint-comments/no-unused-enable\": \"error\",\n\n\t\t\t\t...(type !== \"app\" && {\n\t\t\t\t\t\"eslint-comments/require-description\": \"warn\",\n\t\t\t\t}),\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n","import { getDefaultAllowedDependencies } from \"@/constants/defaults\";\nimport { GLOB_SRC } from \"@/globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { ensurePackages, interopDefault } from \"../utils\";\n\nexport const depend = async (\n\toptions: ExtractOptions<OptionsConfig[\"depend\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { files = [GLOB_SRC], overrides } = options;\n\n\tawait ensurePackages([\"eslint-plugin-depend\"]);\n\n\tconst [eslintPluginDepend, jsoncParser] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-depend\")),\n\t\tinteropDefault(import(\"jsonc-eslint-parser\")),\n\t]);\n\n\tconst dependRules: TypedFlatConfigItem[\"rules\"] = {\n\t\t\"depend/ban-dependencies\": [\"error\", { allowed: getDefaultAllowedDependencies() }],\n\t};\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/depend/setup\",\n\n\t\t\tplugins: {\n\t\t\t\tdepend: eslintPluginDepend,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/depend/rules\",\n\n\t\t\trules: {\n\t\t\t\t...dependRules,\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles: [\"package.json\", \"**/package.json\"],\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: jsoncParser,\n\t\t\t},\n\n\t\t\tname: \"zayne/depend/recommended/package-json\",\n\n\t\t\tplugins: {\n\t\t\t\tdepend: eslintPluginDepend,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t...dependRules,\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n","import type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { ensurePackages, interopDefault, overrideConfigs } from \"../utils\";\n\nconst expo = async (\n\toptions: ExtractOptions<OptionsConfig[\"expo\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides } = options;\n\n\tawait ensurePackages([\"eslint-config-expo\"]);\n\n\tconst eslintConfigExpo = await interopDefault(import(\"eslint-config-expo/flat/utils/expo.js\"));\n\n\treturn [\n\t\t...overrideConfigs({\n\t\t\tconfigArray: eslintConfigExpo,\n\t\t\toverrides: { name: \"zayne/expo/recommended\" },\n\t\t}),\n\n\t\t{\n\t\t\tname: \"zayne/expo/rules\",\n\n\t\t\trules: { ...overrides },\n\t\t},\n\t];\n};\n\nexport { expo };\n","import { isFunction } from \"@zayne-labs/toolkit-type-helpers\";\nimport { globalIgnores } from \"eslint/config\";\nimport { GLOB_EXCLUDE } from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault } from \"../utils\";\n\nexport const ignores = (userIgnores: OptionsConfig[\"ignores\"] = []): TypedFlatConfigItem[] => {\n\tconst initIgnores = [...GLOB_EXCLUDE];\n\n\tconst resolvedUserIgnores = isFunction(userIgnores) ? userIgnores(initIgnores) : userIgnores;\n\n\treturn [globalIgnores([...initIgnores, ...resolvedUserIgnores], \"zayne/defaults/ignores\")];\n};\n\nexport const gitIgnores = async (\n\toptions?: ExtractOptions<OptionsConfig[\"gitignore\"]>\n): Promise<TypedFlatConfigItem[]> => {\n\tconst antfuGitIgnore = await interopDefault(import(\"eslint-config-flat-gitignore\"));\n\n\tconst config = antfuGitIgnore({\n\t\tname: \"zayne/gitignore/setup\",\n\t\tstrict: false,\n\t\t...options,\n\t});\n\n\treturn [config];\n};\n","import type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault } from \"../utils\";\n\nconst imports = async (\n\toptions: ExtractOptions<OptionsConfig[\"imports\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, stylistic = true, typescript = true } = options;\n\n\tconst eslintPluginImportX = await interopDefault(import(\"eslint-plugin-import-x\"));\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/import/setup\",\n\n\t\t\tplugins: {\n\t\t\t\timport: eslintPluginImportX,\n\t\t\t},\n\n\t\t\t...(typescript && {\n\t\t\t\tsettings: eslintPluginImportX.flatConfigs.typescript.settings,\n\t\t\t}),\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/import/recommended\",\n\n\t\t\trules: {\n\t\t\t\t...eslintPluginImportX.flatConfigs.recommended.rules,\n\t\t\t\t...(typescript && eslintPluginImportX.flatConfigs.typescript.rules),\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/import/rules\",\n\n\t\t\trules: {\n\t\t\t\t// == This rules keeps giving issues, so off for now\n\t\t\t\t\"import/extensions\": \"off\",\n\t\t\t\t// \"import/extensions\": [\n\t\t\t\t// \t\"error\",\n\t\t\t\t// \t\"never\",\n\t\t\t\t// \t{ ignorePackages: true, pattern: { css: \"always\", png: \"always\", svg: \"always\" } },\n\t\t\t\t// ],\n\t\t\t\t\"import/first\": \"error\",\n\t\t\t\t\"import/no-absolute-path\": \"error\",\n\t\t\t\t// \"import/no-cycle\": [\"error\", { ignoreExternal: true, maxDepth: 3 }],\n\t\t\t\t\"import/no-duplicates\": \"error\",\n\t\t\t\t\"import/no-extraneous-dependencies\": [\"error\", { devDependencies: true }],\n\t\t\t\t\"import/no-mutable-exports\": \"error\",\n\t\t\t\t\"import/no-named-default\": \"error\",\n\t\t\t\t\"import/no-relative-packages\": \"error\",\n\t\t\t\t\"import/no-self-import\": \"error\",\n\n\t\t\t\t// == This rule keeps giving issues, so off for now\n\t\t\t\t\"import/no-unresolved\": \"off\",\n\n\t\t\t\t\"import/no-useless-path-segments\": \"error\",\n\n\t\t\t\t...(stylistic && { \"import/newline-after-import\": \"error\" }),\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n\nexport { imports };\n","import globals from \"globals\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault } from \"../utils\";\n\nconst javascript = async (\n\toptions: ExtractOptions<OptionsConfig[\"javascript\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides } = options;\n\n\tconst eslintJs = await interopDefault(import(\"@eslint/js\"));\n\n\treturn [\n\t\t{\n\t\t\tlanguageOptions: {\n\t\t\t\tecmaVersion: \"latest\",\n\n\t\t\t\tglobals: {\n\t\t\t\t\t...globals.browser,\n\t\t\t\t\t...globals.node,\n\t\t\t\t\tdocument: \"readonly\",\n\t\t\t\t\tnavigator: \"readonly\",\n\t\t\t\t\twindow: \"readonly\",\n\t\t\t\t},\n\n\t\t\t\tparserOptions: {\n\t\t\t\t\tecmaVersion: \"latest\",\n\t\t\t\t\tsourceType: \"module\",\n\t\t\t\t},\n\n\t\t\t\tsourceType: \"module\",\n\t\t\t},\n\n\t\t\tlinterOptions: {\n\t\t\t\treportUnusedDisableDirectives: true,\n\t\t\t},\n\n\t\t\tname: \"zayne/js-eslint/setup\",\n\t\t},\n\n\t\t{\n\t\t\t...eslintJs.configs.recommended,\n\n\t\t\tname: \"zayne/js-eslint/recommended\",\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/js-eslint/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"accessor-pairs\": [\"error\", { enforceForClassMembers: true, setWithoutGet: true }],\n\t\t\t\t\"array-callback-return\": [\"error\", { allowImplicit: true }],\n\t\t\t\t\"block-scoped-var\": \"error\",\n\t\t\t\t\"class-methods-use-this\": \"error\",\n\t\t\t\tcomplexity: [\"warn\", 50],\n\t\t\t\t\"constructor-super\": \"error\",\n\t\t\t\tcurly: [\"error\", \"multi-line\"],\n\t\t\t\t\"default-case\": [\"error\", { commentPattern: \"^no default$\" }],\n\t\t\t\t\"default-case-last\": \"error\",\n\t\t\t\t\"default-param-last\": \"error\",\n\t\t\t\t\"dot-notation\": [\"error\", { allowKeywords: true }],\n\t\t\t\teqeqeq: [\"error\", \"always\", { null: \"ignore\" }],\n\t\t\t\t\"grouped-accessor-pairs\": \"error\",\n\t\t\t\t\"logical-assignment-operators\": \"warn\",\n\t\t\t\t\"max-depth\": [\"error\", 2],\n\t\t\t\t\"new-cap\": [\"error\", { capIsNew: false, newIsCap: true, properties: true }],\n\t\t\t\t\"no-alert\": \"warn\",\n\t\t\t\t\"no-array-constructor\": \"error\",\n\t\t\t\t\"no-async-promise-executor\": \"error\",\n\t\t\t\t\"no-await-in-loop\": \"error\",\n\t\t\t\t\"no-caller\": \"error\",\n\t\t\t\t\"no-case-declarations\": \"error\",\n\t\t\t\t\"no-class-assign\": \"error\",\n\t\t\t\t\"no-compare-neg-zero\": \"error\",\n\t\t\t\t\"no-cond-assign\": [\"error\", \"always\"],\n\t\t\t\t\"no-console\": [\"error\", { allow: [\"warn\", \"error\", \"info\", \"trace\"] }],\n\t\t\t\t\"no-const-assign\": \"error\",\n\t\t\t\t\"no-constant-condition\": \"warn\",\n\t\t\t\t\"no-constructor-return\": \"error\",\n\t\t\t\t\"no-control-regex\": \"error\",\n\t\t\t\t\"no-debugger\": \"error\",\n\t\t\t\t\"no-delete-var\": \"error\",\n\t\t\t\t\"no-dupe-args\": \"error\",\n\t\t\t\t\"no-dupe-class-members\": \"error\",\n\t\t\t\t\"no-dupe-keys\": \"error\",\n\t\t\t\t\"no-duplicate-case\": \"error\",\n\t\t\t\t\"no-else-return\": [\"error\", { allowElseIf: false }],\n\t\t\t\t\"no-empty\": [\"error\", { allowEmptyCatch: true }],\n\t\t\t\t\"no-empty-character-class\": \"error\",\n\t\t\t\t\"no-empty-pattern\": \"error\",\n\t\t\t\t\"no-eval\": [\"error\", { allowIndirect: true }],\n\t\t\t\t\"no-ex-assign\": \"error\",\n\t\t\t\t\"no-extend-native\": \"error\",\n\t\t\t\t\"no-extra-bind\": \"error\",\n\t\t\t\t\"no-extra-boolean-cast\": \"error\",\n\t\t\t\t\"no-fallthrough\": \"error\",\n\t\t\t\t\"no-func-assign\": \"error\",\n\t\t\t\t\"no-global-assign\": \"error\",\n\t\t\t\t\"no-implicit-coercion\": \"warn\",\n\t\t\t\t\"no-implied-eval\": \"error\",\n\t\t\t\t\"no-import-assign\": \"error\",\n\t\t\t\t\"no-invalid-regexp\": \"error\",\n\t\t\t\t\"no-irregular-whitespace\": \"error\",\n\t\t\t\t\"no-iterator\": \"error\",\n\t\t\t\t\"no-labels\": [\"error\", { allowLoop: false, allowSwitch: false }],\n\t\t\t\t\"no-lone-blocks\": \"error\",\n\t\t\t\t\"no-loop-func\": \"error\",\n\t\t\t\t\"no-loss-of-precision\": \"error\",\n\t\t\t\t\"no-misleading-character-class\": \"error\",\n\t\t\t\t\"no-multi-str\": \"error\",\n\t\t\t\t\"no-new\": \"error\",\n\t\t\t\t\"no-new-func\": \"error\",\n\t\t\t\t\"no-new-native-nonconstructor\": \"error\",\n\t\t\t\t\"no-new-wrappers\": \"error\",\n\t\t\t\t\"no-obj-calls\": \"error\",\n\t\t\t\t\"no-octal\": \"error\",\n\t\t\t\t\"no-octal-escape\": \"error\",\n\t\t\t\t\"no-param-reassign\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tignorePropertyModificationsFor: [\n\t\t\t\t\t\t\t\"acc\", // for reduce accumulators\n\t\t\t\t\t\t\t\"accumulator\", // for reduce accumulators\n\t\t\t\t\t\t\t\"e\", // for e.returnvalue\n\t\t\t\t\t\t\t\"ctx\", // for Koa routing\n\t\t\t\t\t\t\t\"context\", // for Koa routing\n\t\t\t\t\t\t\t\"req\", // for Express requests\n\t\t\t\t\t\t\t\"request\", // for Express requests\n\t\t\t\t\t\t\t\"res\", // for Express responses\n\t\t\t\t\t\t\t\"response\", // for Express responses\n\t\t\t\t\t\t\t\"$scope\", // for Angular 1 scopes\n\t\t\t\t\t\t\t\"staticContext\", // for ReactRouter context\n\t\t\t\t\t\t],\n\t\t\t\t\t\tprops: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"no-proto\": \"error\",\n\t\t\t\t\"no-prototype-builtins\": \"error\",\n\t\t\t\t\"no-redeclare\": [\"error\", { builtinGlobals: false }],\n\t\t\t\t\"no-regex-spaces\": \"error\",\n\t\t\t\t\"no-restricted-exports\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\trestrictedNamedExports: [\n\t\t\t\t\t\t\t\"default\", // use `export default` to provide a default export\n\t\t\t\t\t\t\t\"then\", // this will cause tons of confusion when your module is dynamically `import()`ed, and will break in most node ESM versions\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"no-restricted-globals\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\t\"Use Number.isFinite instead https://github.com/airbnb/javascript#standard-library--isfinite\",\n\t\t\t\t\t\tname: \"isFinite\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\t\"Use Number.isNaN instead https://github.com/airbnb/javascript#standard-library--isnan\",\n\t\t\t\t\t\tname: \"isNaN\",\n\t\t\t\t\t},\n\t\t\t\t\t{ message: \"Use `globalThis` instead.\", name: \"global\" },\n\t\t\t\t\t{ message: \"Use `globalThis` instead.\", name: \"self\" },\n\t\t\t\t],\n\t\t\t\t\"no-restricted-imports\": [\"off\", { paths: [], patterns: [] }],\n\t\t\t\t\"no-restricted-properties\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"arguments.callee is deprecated\",\n\t\t\t\t\t\tobject: \"arguments\",\n\t\t\t\t\t\tproperty: \"callee\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isFinite instead\",\n\t\t\t\t\t\tobject: \"global\",\n\t\t\t\t\t\tproperty: \"isFinite\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isFinite instead\",\n\t\t\t\t\t\tobject: \"self\",\n\t\t\t\t\t\tproperty: \"isFinite\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isFinite instead\",\n\t\t\t\t\t\tobject: \"window\",\n\t\t\t\t\t\tproperty: \"isFinite\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isNaN instead\",\n\t\t\t\t\t\tobject: \"global\",\n\t\t\t\t\t\tproperty: \"isNaN\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isNaN instead\",\n\t\t\t\t\t\tobject: \"self\",\n\t\t\t\t\t\tproperty: \"isNaN\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isNaN instead\",\n\t\t\t\t\t\tobject: \"window\",\n\t\t\t\t\t\tproperty: \"isNaN\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Use the exponentiation operator (**) instead.\",\n\t\t\t\t\t\tobject: \"Math\",\n\t\t\t\t\t\tproperty: \"pow\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Use `Object.getPrototypeOf` or `Object.setPrototypeOf` instead.\",\n\t\t\t\t\t\tproperty: \"__proto__\",\n\t\t\t\t\t},\n\t\t\t\t\t{ message: \"Use `Object.defineProperty` instead.\", property: \"__defineGetter__\" },\n\t\t\t\t\t{ message: \"Use `Object.defineProperty` instead.\", property: \"__defineSetter__\" },\n\t\t\t\t\t{ message: \"Use `Object.getOwnPropertyDescriptor` instead.\", property: \"__lookupGetter__\" },\n\t\t\t\t\t{ message: \"Use `Object.getOwnPropertyDescriptor` instead.\", property: \"__lookupSetter__\" },\n\t\t\t\t],\n\t\t\t\t\"no-restricted-syntax\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t\"ForInStatement\",\n\t\t\t\t\t\"LabeledStatement\",\n\t\t\t\t\t\"WithStatement\",\n\t\t\t\t\t\"TSEnumDeclaration[const=true]\",\n\t\t\t\t\t\"TSExportAssignment\",\n\t\t\t\t],\n\t\t\t\t\"no-return-assign\": [\"error\", \"except-parens\"],\n\t\t\t\t\"no-script-url\": \"error\",\n\t\t\t\t\"no-self-assign\": [\"error\", { props: true }],\n\t\t\t\t\"no-self-compare\": \"error\",\n\t\t\t\t\"no-sequences\": \"error\",\n\t\t\t\t\"no-shadow-restricted-names\": \"error\",\n\t\t\t\t\"no-sparse-arrays\": \"error\",\n\t\t\t\t\"no-template-curly-in-string\": \"error\",\n\t\t\t\t\"no-this-before-super\": \"error\",\n\t\t\t\t\"no-throw-literal\": \"error\",\n\t\t\t\t\"no-undef\": \"error\",\n\t\t\t\t\"no-undef-init\": \"error\",\n\t\t\t\t\"no-unexpected-multiline\": \"error\",\n\t\t\t\t\"no-unmodified-loop-condition\": \"error\",\n\t\t\t\t\"no-unneeded-ternary\": [\"warn\", { defaultAssignment: false }],\n\t\t\t\t\"no-unreachable\": \"error\",\n\t\t\t\t\"no-unreachable-loop\": \"error\",\n\t\t\t\t\"no-unsafe-finally\": \"error\",\n\t\t\t\t\"no-unsafe-negation\": \"error\",\n\t\t\t\t\"no-unused-expressions\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tallowShortCircuit: true,\n\t\t\t\t\t\tallowTaggedTemplates: true,\n\t\t\t\t\t\tallowTernary: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"no-unused-vars\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\targs: \"all\",\n\t\t\t\t\t\targsIgnorePattern: \"^_\",\n\t\t\t\t\t\tcaughtErrors: \"all\",\n\t\t\t\t\t\tdestructuredArrayIgnorePattern: \"^_\",\n\t\t\t\t\t\treportUsedIgnorePattern: true,\n\t\t\t\t\t\tvars: \"all\",\n\t\t\t\t\t\tvarsIgnorePattern: \"[iI]gnored\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"no-useless-backreference\": \"error\",\n\t\t\t\t\"no-useless-call\": \"error\",\n\t\t\t\t\"no-useless-catch\": \"error\",\n\t\t\t\t\"no-useless-computed-key\": \"error\",\n\t\t\t\t\"no-useless-concat\": \"error\",\n\t\t\t\t\"no-useless-constructor\": \"error\",\n\t\t\t\t\"no-useless-rename\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{ ignoreDestructuring: false, ignoreExport: false, ignoreImport: false },\n\t\t\t\t],\n\t\t\t\t\"no-useless-return\": \"error\",\n\t\t\t\t\"no-var\": \"error\",\n\t\t\t\t\"no-with\": \"error\",\n\t\t\t\t\"object-shorthand\": [\"error\", \"always\", { avoidQuotes: true, ignoreConstructors: false }],\n\t\t\t\t\"one-var\": [\"error\", { initialized: \"never\" }],\n\t\t\t\t\"operator-assignment\": \"warn\",\n\t\t\t\t\"prefer-arrow-callback\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tallowNamedFunctions: false,\n\t\t\t\t\t\tallowUnboundThis: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"prefer-const\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tdestructuring: \"all\",\n\t\t\t\t\t\tignoreReadBeforeAssign: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"prefer-exponentiation-operator\": \"error\",\n\t\t\t\t\"prefer-object-has-own\": \"error\",\n\t\t\t\t\"prefer-object-spread\": \"warn\",\n\t\t\t\t\"prefer-promise-reject-errors\": \"error\",\n\t\t\t\t\"prefer-regex-literals\": [\"error\", { disallowRedundantWrapping: true }],\n\t\t\t\t\"prefer-rest-params\": \"error\",\n\t\t\t\t\"prefer-spread\": \"error\",\n\t\t\t\t\"prefer-template\": \"error\",\n\t\t\t\t\"preserve-caught-error\": [\"error\", { requireCatchParameter: true }],\n\t\t\t\tradix: \"error\",\n\t\t\t\t\"symbol-description\": \"error\",\n\t\t\t\t\"unicode-bom\": [\"error\", \"never\"],\n\t\t\t\t\"use-isnan\": [\"error\", { enforceForIndexOf: true, enforceForSwitchCase: true }],\n\t\t\t\t\"valid-typeof\": [\"error\", { requireStringLiterals: true }],\n\t\t\t\t\"vars-on-top\": \"error\",\n\t\t\t\tyoda: [\"error\", \"never\"],\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n\nexport { javascript };\n","import type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault } from \"../utils\";\n\nconst jsdoc = async (\n\toptions: ExtractOptions<OptionsConfig[\"jsdoc\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, stylistic = true } = options;\n\n\tconst eslintPluginJsdoc = await interopDefault(import(\"eslint-plugin-jsdoc\"));\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/jsdoc/rules\",\n\n\t\t\tplugins: {\n\t\t\t\tjsdoc: eslintPluginJsdoc,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t\"jsdoc/check-access\": \"warn\",\n\t\t\t\t\"jsdoc/check-param-names\": \"warn\",\n\t\t\t\t\"jsdoc/check-property-names\": \"warn\",\n\t\t\t\t\"jsdoc/check-types\": \"warn\",\n\t\t\t\t\"jsdoc/empty-tags\": \"warn\",\n\t\t\t\t\"jsdoc/implements-on-classes\": \"warn\",\n\t\t\t\t\"jsdoc/no-defaults\": \"warn\",\n\t\t\t\t\"jsdoc/no-multi-asterisks\": \"warn\",\n\t\t\t\t\"jsdoc/require-description\": [\"warn\", { descriptionStyle: \"any\" }],\n\t\t\t\t\"jsdoc/require-param-name\": \"warn\",\n\t\t\t\t\"jsdoc/require-property\": \"warn\",\n\t\t\t\t\"jsdoc/require-property-description\": \"warn\",\n\t\t\t\t\"jsdoc/require-property-name\": \"warn\",\n\t\t\t\t\"jsdoc/require-returns-check\": \"warn\",\n\t\t\t\t\"jsdoc/require-returns-description\": \"warn\",\n\t\t\t\t\"jsdoc/require-yields-check\": \"warn\",\n\n\t\t\t\t...(stylistic && {\n\t\t\t\t\t\"jsdoc/check-alignment\": \"warn\",\n\t\t\t\t\t\"jsdoc/multiline-blocks\": \"warn\",\n\t\t\t\t\t\"jsdoc/require-description\": [\"warn\", { descriptionStyle: \"tag\" }],\n\t\t\t\t}),\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n\nexport { jsdoc };\n","import { GLOB_JSON, GLOB_JSON5, GLOB_JSONC } from \"@/globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault } from \"../utils\";\n\nconst jsonc = async (\n\toptions: ExtractOptions<OptionsConfig[\"jsonc\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { files = [GLOB_JSON, GLOB_JSON5, GLOB_JSONC], overrides } = options;\n\n\tconst [eslintPluginJsonc, parserJsonc] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-jsonc\")),\n\t\tinteropDefault(import(\"jsonc-eslint-parser\")),\n\t]);\n\n\tconst recommendedRules = eslintPluginJsonc.configs[\"flat/recommended-with-jsonc\"]\n\t\t.map((config) => config.rules)\n\t\t.reduce<TypedFlatConfigItem[\"rules\"]>((accumulator, rules) => ({ ...accumulator, ...rules }), {});\n\n\tconst disablePrettierRules = eslintPluginJsonc.configs[\"flat/prettier\"].at(-1)?.rules;\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/jsonc/setup\",\n\n\t\t\tplugins: {\n\t\t\t\tjsonc: eslintPluginJsonc,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: parserJsonc,\n\t\t\t},\n\n\t\t\tname: \"zayne/jsonc/parser\",\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/jsonc/recommended\",\n\n\t\t\trules: recommendedRules,\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/jsonc/rules\",\n\n\t\t\trules: {\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/jsonc/disables-prettier\",\n\n\t\t\trules: disablePrettierRules,\n\t\t},\n\t];\n};\n\nexport { jsonc };\n","import { GLOB_JSX, GLOB_TSX } from \"@/globs\";\nimport { ensurePackages, interopDefault, isObject } from \"@/utils\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\n\nconst jsx = async (options: ExtractOptions<OptionsConfig[\"jsx\"]> = {}): Promise<TypedFlatConfigItem[]> => {\n\tconst { a11y = false, overrides } = options;\n\n\tawait ensurePackages([a11y ? \"eslint-plugin-jsx-a11y\" : undefined]);\n\n\tconst eslintPluginJsxA11y = a11y ? await interopDefault(import(\"eslint-plugin-jsx-a11y\")) : undefined;\n\n\tconst config: TypedFlatConfigItem[] = [];\n\n\tconst files = [GLOB_JSX, GLOB_TSX];\n\n\tconfig.push({\n\t\tfiles,\n\n\t\tlanguageOptions: {\n\t\t\tparserOptions: {\n\t\t\t\tecmaFeatures: {\n\t\t\t\t\tjsx: true,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tname: \"zayne/jsx/setup\",\n\t});\n\n\tif (a11y && eslintPluginJsxA11y) {\n\t\tconfig.push(\n\t\t\t{\n\t\t\t\tname: \"zayne/jsx/a11y/setup\",\n\n\t\t\t\tplugins: {\n\t\t\t\t\t\"jsx-a11y\": eslintPluginJsxA11y,\n\t\t\t\t},\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tfiles,\n\n\t\t\t\tname: \"zayne/jsx/a11y/recommended\",\n\n\t\t\t\trules: eslintPluginJsxA11y.flatConfigs.recommended.rules,\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tfiles,\n\n\t\t\t\tname: \"zayne/jsx/a11y/rules\",\n\n\t\t\t\trules: {\n\t\t\t\t\t...overrides,\n\t\t\t\t\t...(isObject(a11y) && a11y.overrides),\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t}\n\n\treturn config;\n};\n\nexport { jsx };\n","import { mergeProcessors, processorPassThrough } from \"eslint-merge-processors\";\nimport {\n\tGLOB_MARKDOWN,\n\tGLOB_MARKDOWN_CODE,\n\tGLOB_MARKDOWN_IN_MARKDOWN,\n\tGLOB_MARKDOWN_JSON,\n} from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault, parserPlain } from \"../utils\";\n\nexport const markdown = async (\n\toptions: ExtractOptions<OptionsConfig[\"markdown\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { componentExts = [], files = [GLOB_MARKDOWN], overrides } = options;\n\n\tconst eslintPluginMarkdown = await interopDefault(import(\"@eslint/markdown\"));\n\n\tconst recommendedRules = eslintPluginMarkdown.configs.recommended\n\t\t.map((config) => config.rules)\n\t\t.reduce<TypedFlatConfigItem[\"rules\"]>((accumulator, rules) => ({ ...accumulator, ...rules }), {});\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/markdown/setup\",\n\n\t\t\tplugins: {\n\t\t\t\tmarkdown: eslintPluginMarkdown,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: parserPlain,\n\t\t\t},\n\n\t\t\tname: \"zayne/markdown/parser\",\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\t\t\tignores: [GLOB_MARKDOWN_IN_MARKDOWN],\n\t\t\tname: \"zayne/markdown/processor\",\n\t\t\t// `@eslint/markdown` only creates virtual files for code blocks, but not the markdown file itself.\n\t\t\t// We use `eslint-merge-processors` to add a pass-through processor for the markdown file itself.\n\t\t\tprocessor: mergeProcessors([eslintPluginMarkdown.processors.markdown, processorPassThrough]),\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/markdown/recommended\",\n\t\t\trules: recommendedRules,\n\t\t},\n\n\t\t{\n\t\t\tfiles: [\n\t\t\t\t...files,\n\t\t\t\tGLOB_MARKDOWN_CODE,\n\t\t\t\tGLOB_MARKDOWN_JSON,\n\t\t\t\t...componentExts.map((ext) => `${GLOB_MARKDOWN}/**/*.${ext}`),\n\t\t\t],\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparserOptions: {\n\t\t\t\t\tecmaFeatures: {\n\t\t\t\t\t\timpliedStrict: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tname: \"zayne/markdown/disables\",\n\n\t\t\trules: {\n\t\t\t\t\"import/no-extraneous-dependencies\": \"off\",\n\n\t\t\t\t\"jsonc/no-dupe-keys\": \"off\",\n\n\t\t\t\t\"no-alert\": \"off\",\n\t\t\t\t\"no-console\": \"off\",\n\t\t\t\t\"no-labels\": \"off\",\n\t\t\t\t\"no-lone-blocks\": \"off\",\n\t\t\t\t\"no-restricted-syntax\": \"off\",\n\t\t\t\t\"no-undef\": \"off\",\n\t\t\t\t\"no-unused-expressions\": \"off\",\n\t\t\t\t\"no-unused-labels\": \"off\",\n\n\t\t\t\t\"no-unused-vars\": \"off\",\n\n\t\t\t\t\"node/prefer-global/process\": \"off\",\n\n\t\t\t\t\"perfectionist/sort-objects\": \"off\",\n\n\t\t\t\t\"ts-eslint/consistent-type-imports\": \"off\",\n\t\t\t\t\"ts-eslint/explicit-function-return-type\": \"off\",\n\t\t\t\t\"ts-eslint/no-namespace\": \"off\",\n\t\t\t\t\"ts-eslint/no-redeclare\": \"off\",\n\t\t\t\t\"ts-eslint/no-require-imports-eslint\": \"off\",\n\t\t\t\t\"ts-eslint/no-unused-expressions\": \"off\",\n\t\t\t\t\"ts-eslint/no-unused-vars\": \"off\",\n\n\t\t\t\t\"ts-eslint/no-use-before-define\": \"off\",\n\n\t\t\t\t\"unicode-bom\": \"off\",\n\n\t\t\t\t\"unicorn/filename-case\": \"off\",\n\t\t\t\t\"unicorn/prefer-export-from\": \"off\",\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n","import type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault, isObject, renameRules } from \"../utils\";\n\nexport const node = async (\n\toptions: ExtractOptions<OptionsConfig[\"node\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, security = false, type = \"app\" } = options;\n\n\tconst [eslintPluginNode, eslintPluginSecurity] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-n\")),\n\t\tsecurity ? interopDefault(import(\"eslint-plugin-security\")) : undefined,\n\t]);\n\n\tconst config: TypedFlatConfigItem[] = [\n\t\t{\n\t\t\tname: \"zayne/node/recommended\",\n\n\t\t\tplugins: {\n\t\t\t\tnode: eslintPluginNode,\n\t\t\t},\n\n\t\t\trules: renameRules(eslintPluginNode.configs[\"flat/recommended-module\"].rules, {\n\t\t\t\tn: \"node\",\n\t\t\t}),\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/node/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"node/no-deprecated-api\": \"error\",\n\t\t\t\t\"node/no-exports-assign\": \"error\",\n\t\t\t\t\"node/no-extraneous-import\": \"off\", // `eslint-plugin-import-x` handles this\n\t\t\t\t\"node/no-missing-import\": \"off\",\n\t\t\t\t\"node/no-path-concat\": \"error\",\n\t\t\t\t\"node/no-unpublished-import\": \"off\",\n\t\t\t\t\"node/no-unsupported-features/es-syntax\": \"off\",\n\t\t\t\t\"node/no-unsupported-features/node-builtins\": \"off\",\n\t\t\t\t\"node/process-exit-as-throw\": \"error\",\n\n\t\t\t\t...(type === \"app-strict\" && {\n\t\t\t\t\t\"node/no-process-env\": \"error\",\n\t\t\t\t}),\n\n\t\t\t\t...(type === \"lib-strict\" && {\n\t\t\t\t\t\"node/no-unsupported-features/es-syntax\": \"error\",\n\t\t\t\t\t\"node/no-unsupported-features/node-builtins\": \"error\",\n\t\t\t\t}),\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n\n\tif (security && eslintPluginSecurity) {\n\t\tconfig.push({\n\t\t\tname: \"zayne/node/security/recommended\",\n\n\t\t\tplugins: {\n\t\t\t\tsecurity: eslintPluginSecurity,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t...eslintPluginSecurity.configs.recommended.rules,\n\n\t\t\t\t...overrides,\n\t\t\t\t...(isObject(security) && security.overrides),\n\t\t\t},\n\t\t});\n\t}\n\n\treturn config;\n};\n","import type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault } from \"../utils\";\n\nconst perfectionist = async (\n\toptions: ExtractOptions<OptionsConfig[\"perfectionist\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides } = options;\n\n\tconst eslintPluginPerfectionist = await interopDefault(import(\"eslint-plugin-perfectionist\"));\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/perfectionist/rules\",\n\n\t\t\tplugins: {\n\t\t\t\tperfectionist: eslintPluginPerfectionist,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t\"perfectionist/sort-array-includes\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-classes\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-interfaces\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-intersection-types\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\tgroups: [\n\t\t\t\t\t\t\t\"conditional\",\n\t\t\t\t\t\t\t\"literal\",\n\t\t\t\t\t\t\t\"import\",\n\t\t\t\t\t\t\t\"intersection\",\n\t\t\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\t\t\"tuple\",\n\t\t\t\t\t\t\t\"named\",\n\t\t\t\t\t\t\t\"object\",\n\t\t\t\t\t\t\t\"function\",\n\t\t\t\t\t\t\t\"operator\",\n\t\t\t\t\t\t\t\"union\",\n\t\t\t\t\t\t\t\"nullish\",\n\t\t\t\t\t\t],\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-maps\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-object-types\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-objects\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-switch-case\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-union-types\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\tgroups: [\n\t\t\t\t\t\t\t\"conditional\",\n\t\t\t\t\t\t\t\"literal\",\n\t\t\t\t\t\t\t\"import\",\n\t\t\t\t\t\t\t\"intersection\",\n\t\t\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\t\t\"tuple\",\n\t\t\t\t\t\t\t\"named\",\n\t\t\t\t\t\t\t\"object\",\n\t\t\t\t\t\t\t\"function\",\n\t\t\t\t\t\t\t\"operator\",\n\t\t\t\t\t\t\t\"union\",\n\t\t\t\t\t\t\t\"nullish\",\n\t\t\t\t\t\t],\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"perfectionist/sort-variable-declarations\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t// \"perfectionist/sort-svelte-attributes\": [\n\t\t\t\t// \t\"warn\",\n\t\t\t\t// \t{\n\t\t\t\t// \t\torder: \"asc\",\n\t\t\t\t// \t\ttype: \"alphabetical\",\n\t\t\t\t// \t},\n\t\t\t\t// ],\n\t\t\t\t// \"perfectionist/sort-astro-attributes\": [\n\t\t\t\t// \t\"warn\",\n\t\t\t\t// \t{\n\t\t\t\t// \t\torder: \"asc\",\n\t\t\t\t// \t\ttype: \"alphabetical\",\n\t\t\t\t// \t},\n\t\t\t\t// ],\n\t\t\t\t// \"perfectionist/sort-vue-attributes\": [\n\t\t\t\t// \t\"warn\",\n\t\t\t\t// \t{\n\t\t\t\t// \t\torder: \"asc\",\n\t\t\t\t// \t\ttype: \"alphabetical\",\n\t\t\t\t// \t},\n\t\t\t\t// ],\n\t\t\t\t// \"perfectionist/sort-jsx-props\": [\n\t\t\t\t// \t\"warn\",\n\t\t\t\t// \t{\n\t\t\t\t// \t\t// ignorePattern: [\"src\"],\n\t\t\t\t// \t\torder: \"asc\",\n\t\t\t\t// \t\ttype: \"alphabetical\",\n\t\t\t\t// \t},\n\t\t\t\t// ],\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n\nexport { perfectionist };\n","// import fs from \"node:fs/promises\";\n// import { findUp } from \"find-up-simple\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"@/types\";\nimport { ensurePackages, interopDefault } from \"@/utils\";\n\n// const detectCatalogUsage = async (): Promise<boolean> => {\n// \tconst workspaceFile = await findUp(\"pnpm-workspace.yaml\");\n\n// \tif (!workspaceFile) {\n// \t\treturn false;\n// \t}\n\n// \tconst yaml = await fs.readFile(workspaceFile, \"utf8\");\n\n// \treturn yaml.includes(\"catalog:\") || yaml.includes(\"catalogs:\");\n// };\n\nexport async function pnpm(\n\toptions: ExtractOptions<OptionsConfig[\"pnpm\"]> = {}\n): Promise<TypedFlatConfigItem[]> {\n\tconst {\n\t\t// catalogs = await detectCatalogUsage(),\n\t\tcatalogs = false,\n\t\tjson = true,\n\t\toverrides,\n\t\tsort = true,\n\t\tyaml = true,\n\t} = options;\n\n\tawait ensurePackages([\"eslint-plugin-pnpm\"]);\n\n\tconst [eslintPluginPnpm, yamlParser, eslintPluginYaml, jsoncParser] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-pnpm\")),\n\t\tinteropDefault(import(\"yaml-eslint-parser\")),\n\t\tinteropDefault(import(\"eslint-plugin-yml\")),\n\t\tinteropDefault(import(\"jsonc-eslint-parser\")),\n\t]);\n\n\tconst configs: TypedFlatConfigItem[] = [];\n\n\tif (json) {\n\t\tconfigs.push({\n\t\t\tfiles: [\"package.json\", \"**/package.json\"],\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: jsoncParser,\n\t\t\t},\n\n\t\t\tname: \"zayne/pnpm/package-json/rules\",\n\n\t\t\tplugins: {\n\t\t\t\tpnpm: eslintPluginPnpm,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t...(catalogs && {\n\t\t\t\t\t\"pnpm/json-enforce-catalog\": [\"error\", { ignores: [\"@types/vscode\"] }],\n\t\t\t\t}),\n\t\t\t\t\"pnpm/json-prefer-workspace-settings\": \"error\",\n\t\t\t\t\"pnpm/json-valid-catalog\": \"error\",\n\n\t\t\t\t...overrides?.json,\n\t\t\t},\n\t\t});\n\t}\n\n\tif (yaml) {\n\t\tconfigs.push({\n\t\t\tfiles: [\"pnpm-workspace.yaml\"],\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: yamlParser,\n\t\t\t},\n\n\t\t\tname: \"zayne/pnpm/pnpm-workspace-yaml/rules\",\n\n\t\t\tplugins: {\n\t\t\t\tpnpm: eslintPluginPnpm,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t// \"pnpm/yaml-enforce-settings\": [\n\t\t\t\t// \t\"error\",\n\t\t\t\t// \t{\n\t\t\t\t// \t\tsettings: {\n\t\t\t\t// \t\t\tshellEmulator: true,\n\t\t\t\t// \t\t\ttrustPolicy: \"no-downgrade\",\n\t\t\t\t// \t\t},\n\t\t\t\t// \t},\n\t\t\t\t// ],\n\t\t\t\t\"pnpm/yaml-no-duplicate-catalog-item\": \"error\",\n\t\t\t\t\"pnpm/yaml-no-unused-catalog-item\": \"error\",\n\n\t\t\t\t...overrides?.yaml,\n\t\t\t},\n\t\t});\n\t}\n\n\tif (yaml && sort) {\n\t\tconfigs.push({\n\t\t\tfiles: [\"pnpm-workspace.yaml\"],\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: yamlParser,\n\t\t\t},\n\t\t\tname: \"zayne/pnpm/sort/pnpm-workspace-yaml\",\n\n\t\t\tplugins: {\n\t\t\t\tyaml: eslintPluginYaml,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t\"yaml/sort-keys\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: [\n\t\t\t\t\t\t\t// Settings\n\t\t\t\t\t\t\t// @keep-sorted\n\t\t\t\t\t\t\t\"cacheDir\",\n\t\t\t\t\t\t\t\"catalogMode\",\n\t\t\t\t\t\t\t\"cleanupUnusedCatalogs\",\n\t\t\t\t\t\t\t\"dedupeDirectDeps\",\n\t\t\t\t\t\t\t\"deployAllFiles\",\n\t\t\t\t\t\t\t\"enablePrePostScripts\",\n\t\t\t\t\t\t\t\"engineStrict\",\n\t\t\t\t\t\t\t\"extendNodePath\",\n\t\t\t\t\t\t\t\"hoist\",\n\t\t\t\t\t\t\t\"hoistPattern\",\n\t\t\t\t\t\t\t\"hoistWorkspacePackages\",\n\t\t\t\t\t\t\t\"ignoreCompatibilityDb\",\n\t\t\t\t\t\t\t\"ignoreDepScripts\",\n\t\t\t\t\t\t\t\"ignoreScripts\",\n\t\t\t\t\t\t\t\"ignoreWorkspaceRootCheck\",\n\t\t\t\t\t\t\t\"managePackageManagerVersions\",\n\t\t\t\t\t\t\t\"minimumReleaseAge\",\n\t\t\t\t\t\t\t\"minimumReleaseAgeExclude\",\n\t\t\t\t\t\t\t\"modulesDir\",\n\t\t\t\t\t\t\t\"nodeLinker\",\n\t\t\t\t\t\t\t\"nodeVersion\",\n\t\t\t\t\t\t\t\"optimisticRepeatInstall\",\n\t\t\t\t\t\t\t\"packageManagerStrict\",\n\t\t\t\t\t\t\t\"packageManagerStrictVersion\",\n\t\t\t\t\t\t\t\"preferSymlinkedExecutables\",\n\t\t\t\t\t\t\t\"preferWorkspacePackages\",\n\t\t\t\t\t\t\t\"publicHoistPattern\",\n\t\t\t\t\t\t\t\"registrySupportsTimeField\",\n\t\t\t\t\t\t\t\"requiredScripts\",\n\t\t\t\t\t\t\t\"resolutionMode\",\n\t\t\t\t\t\t\t\"savePrefix\",\n\t\t\t\t\t\t\t\"scriptShell\",\n\t\t\t\t\t\t\t\"shamefullyHoist\",\n\t\t\t\t\t\t\t\"shellEmulator\",\n\t\t\t\t\t\t\t\"stateDir\",\n\t\t\t\t\t\t\t\"supportedArchitectures\",\n\t\t\t\t\t\t\t\"symlink\",\n\t\t\t\t\t\t\t\"tag\",\n\t\t\t\t\t\t\t\"trustPolicy\",\n\t\t\t\t\t\t\t\"trustPolicyExclude\",\n\t\t\t\t\t\t\t\"updateNotifier\",\n\n\t\t\t\t\t\t\t// Packages and dependencies\n\t\t\t\t\t\t\t\"packages\",\n\t\t\t\t\t\t\t\"overrides\",\n\t\t\t\t\t\t\t\"patchedDependencies\",\n\t\t\t\t\t\t\t\"catalog\",\n\t\t\t\t\t\t\t\"catalogs\",\n\n\t\t\t\t\t\t\t// Other\n\t\t\t\t\t\t\t// @keep-sorted\n\t\t\t\t\t\t\t\"allowedDeprecatedVersions\",\n\t\t\t\t\t\t\t\"allowNonAppliedPatches\",\n\t\t\t\t\t\t\t\"configDependencies\",\n\t\t\t\t\t\t\t\"ignoredBuiltDependencies\",\n\t\t\t\t\t\t\t\"ignoredOptionalDependencies\",\n\t\t\t\t\t\t\t\"neverBuiltDependencies\",\n\t\t\t\t\t\t\t\"onlyBuiltDependencies\",\n\t\t\t\t\t\t\t\"onlyBuiltDependenciesFile\",\n\t\t\t\t\t\t\t\"packageExtensions\",\n\t\t\t\t\t\t\t\"peerDependencyRules\",\n\t\t\t\t\t\t],\n\t\t\t\t\t\tpathPattern: \"^$\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\t\tpathPattern: \".*\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t});\n\t}\n\n\treturn configs;\n}\n","import { isObject } from \"@zayne-labs/toolkit-type-helpers\";\nimport { isPackageExists } from \"local-pkg\";\nimport {\n\tgetDefaultAllowedNextJsExportNames,\n\tgetDefaultAllowedReactRouterExportNames,\n\tgetDefaultPluginRenameMap,\n} from \"../constants/defaults\";\nimport { GLOB_ASTRO_TS, GLOB_MARKDOWN, GLOB_SRC, GLOB_TS, GLOB_TSX } from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { ensurePackages, interopDefault, renamePlugins, renameRules } from \"../utils\";\n\n// React refresh\nconst ReactRefreshAllowConstantExportPackages = [\"vite\"];\nconst ReactRouterPackages = [\n\t\"@react-router/node\",\n\t\"@react-router/react\",\n\t\"@react-router/serve\",\n\t\"@react-router/dev\",\n];\nconst NextJsPackages = [\"next\"];\n\nconst isAllowConstantExport = ReactRefreshAllowConstantExportPackages.some((i) => isPackageExists(i));\nconst isUsingReactRouter = ReactRouterPackages.some((i) => isPackageExists(i));\nconst isUsingNext = NextJsPackages.some((i) => isPackageExists(i));\n\nconst react = async (\n\toptions: ExtractOptions<OptionsConfig[\"react\"]> = {}\n\t// eslint-disable-next-line complexity -- Ignore\n): Promise<TypedFlatConfigItem[]> => {\n\tconst {\n\t\tcompiler = true,\n\t\tfiles = [GLOB_SRC],\n\t\tfilesTypeAware = [GLOB_TS, GLOB_TSX],\n\t\tignoresTypeAware = [`${GLOB_MARKDOWN}/**`, GLOB_ASTRO_TS],\n\t\tnextjs = isUsingNext,\n\t\toverrides,\n\t\treact: enableReact = true,\n\t\trefresh = true,\n\t\ttypescript = true,\n\t\tyouMightNotNeedAnEffect = true,\n\t} = options;\n\n\tawait ensurePackages([\n\t\tenableReact ? \"@eslint-react/eslint-plugin\" : undefined,\n\t\tenableReact ? \"eslint-plugin-react-hooks\" : undefined,\n\t\trefresh ? \"eslint-plugin-react-refresh\" : undefined,\n\t\tyouMightNotNeedAnEffect ? \"eslint-plugin-react-you-might-not-need-an-effect\" : undefined,\n\t\tnextjs ? \"@next/eslint-plugin-next\" : undefined,\n\t]);\n\n\tconst [\n\t\teslintPluginReact,\n\t\teslintReactHooks,\n\t\teslintPluginReactRefresh,\n\t\teslintPluginReactYouMightNotNeedAnEffect,\n\t\teslintPluginNextjs,\n\t] = await Promise.all([\n\t\tenableReact ? interopDefault(import(\"@eslint-react/eslint-plugin\")) : undefined,\n\t\tenableReact ? interopDefault(import(\"eslint-plugin-react-hooks\")) : undefined,\n\t\trefresh ? interopDefault(import(\"eslint-plugin-react-refresh\")) : undefined,\n\t\tyouMightNotNeedAnEffect ?\n\t\t\tinteropDefault(import(\"eslint-plugin-react-you-might-not-need-an-effect\"))\n\t\t:\tundefined,\n\t\tnextjs ? interopDefault(import(\"@next/eslint-plugin-next\")) : undefined,\n\t]);\n\n\tconst strictConfigKey = typescript ? \"strict-type-checked\" : \"strict\";\n\n\tconst strictReactConfig = eslintPluginReact?.configs[strictConfigKey];\n\n\tconst config: TypedFlatConfigItem[] = [\n\t\t{\n\t\t\tlanguageOptions: {\n\t\t\t\tparserOptions: {\n\t\t\t\t\tecmaFeatures: { jsx: true },\n\t\t\t\t\tsourceType: \"module\",\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tname: \"zayne/react/setup\",\n\n\t\t\tplugins: {\n\t\t\t\t...(strictReactConfig\n\t\t\t\t\t&& renamePlugins(\n\t\t\t\t\t\t(strictReactConfig as { plugins: Record<string, unknown> }).plugins,\n\t\t\t\t\t\tgetDefaultPluginRenameMap()\n\t\t\t\t\t)),\n\t\t\t\t...(eslintReactHooks && {\n\t\t\t\t\t\"react-hooks\": eslintReactHooks,\n\t\t\t\t}),\n\t\t\t\t...(eslintPluginReactRefresh && {\n\t\t\t\t\t\"react-refresh\": eslintPluginReactRefresh,\n\t\t\t\t}),\n\t\t\t\t...(eslintPluginReactYouMightNotNeedAnEffect && {\n\t\t\t\t\t\"react-you-might-not-need-an-effect\": eslintPluginReactYouMightNotNeedAnEffect,\n\t\t\t\t}),\n\t\t\t\t...(eslintPluginNextjs && {\n\t\t\t\t\tnextjs: eslintPluginNextjs,\n\t\t\t\t}),\n\t\t\t},\n\t\t},\n\t];\n\n\tif (enableReact && strictReactConfig && eslintReactHooks) {\n\t\tconfig.push(\n\t\t\t{\n\t\t\t\tfiles,\n\n\t\t\t\tname: \"zayne/react/official/rules\",\n\n\t\t\t\trules: {\n\t\t\t\t\t\"react-hooks/exhaustive-deps\": \"warn\",\n\t\t\t\t\t\"react-hooks/rules-of-hooks\": \"error\",\n\t\t\t\t},\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tfiles: typescript ? filesTypeAware : files,\n\n\t\t\t\t...(typescript && { ignores: ignoresTypeAware }),\n\n\t\t\t\tname: `zayne/react/unofficial/${strictConfigKey}`,\n\n\t\t\t\trules: renameRules(strictReactConfig.rules, getDefaultPluginRenameMap()),\n\n\t\t\t\tsettings: strictReactConfig.settings,\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tfiles,\n\n\t\t\t\tname: \"zayne/react/unofficial/rules\",\n\n\t\t\t\trules: {\n\t\t\t\t\t// React official plugin now offers this directly, so turn it off\n\t\t\t\t\t\"react-hooks-extra/no-direct-set-state-in-use-effect\": \"off\",\n\n\t\t\t\t\t// Regular React rules\n\t\t\t\t\t\"react-x/jsx-shorthand-boolean\": [\"error\", -1],\n\t\t\t\t\t\"react-x/jsx-shorthand-fragment\": \"warn\",\n\t\t\t\t\t\"react-x/no-children-count\": \"off\",\n\t\t\t\t\t\"react-x/no-children-only\": \"off\",\n\t\t\t\t\t\"react-x/no-clone-element\": \"off\",\n\t\t\t\t\t\"react-x/no-implicit-key\": \"off\",\n\t\t\t\t\t\"react-x/no-missing-component-display-name\": \"warn\",\n\n\t\t\t\t\t...overrides,\n\t\t\t\t\t...(isObject(enableReact) && enableReact.overrides),\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t}\n\n\tif (compiler && eslintPluginReact) {\n\t\tconfig.push({\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/react/official/compiler/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"react-hooks/capitalized-calls\": \"error\",\n\t\t\t\t\"react-hooks/config\": \"error\",\n\t\t\t\t\"react-hooks/error-boundaries\": \"error\",\n\t\t\t\t\"react-hooks/gating\": \"error\",\n\t\t\t\t\"react-hooks/globals\": \"error\",\n\t\t\t\t\"react-hooks/hooks\": \"error\",\n\t\t\t\t\"react-hooks/immutability\": \"error\",\n\t\t\t\t\"react-hooks/incompatible-library\": \"warn\",\n\t\t\t\t\"react-hooks/no-deriving-state-in-effects\": \"error\",\n\t\t\t\t\"react-hooks/preserve-manual-memoization\": \"warn\",\n\t\t\t\t\"react-hooks/purity\": \"warn\",\n\t\t\t\t\"react-hooks/refs\": \"error\",\n\t\t\t\t\"react-hooks/rule-suppression\": \"warn\",\n\t\t\t\t\"react-hooks/set-state-in-effect\": \"warn\",\n\t\t\t\t\"react-hooks/set-state-in-render\": \"error\",\n\t\t\t\t\"react-hooks/static-components\": \"warn\",\n\t\t\t\t\"react-hooks/syntax\": \"error\",\n\t\t\t\t\"react-hooks/todo\": \"error\",\n\t\t\t\t\"react-hooks/unsupported-syntax\": \"error\",\n\t\t\t\t\"react-hooks/use-memo\": \"warn\",\n\n\t\t\t\t...overrides,\n\t\t\t\t...(isObject(compiler) && compiler.overrides),\n\t\t\t},\n\t\t});\n\t}\n\n\tif (refresh && eslintPluginReactRefresh) {\n\t\tconfig.push({\n\t\t\tfiles: isObject(refresh) && refresh.files ? refresh.files : files,\n\n\t\t\tname: \"zayne/react/refresh/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"react-refresh/only-export-components\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\tallowConstantExport: isAllowConstantExport,\n\t\t\t\t\t\tallowExportNames: [\n\t\t\t\t\t\t\t...(nextjs ? getDefaultAllowedNextJsExportNames() : []),\n\t\t\t\t\t\t\t...(isUsingReactRouter ? getDefaultAllowedReactRouterExportNames() : []),\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t...overrides,\n\t\t\t\t...(isObject(refresh) && refresh.overrides),\n\t\t\t},\n\t\t});\n\t}\n\n\tif (youMightNotNeedAnEffect && eslintPluginReactYouMightNotNeedAnEffect) {\n\t\tconfig.push(\n\t\t\t{\n\t\t\t\tfiles,\n\n\t\t\t\tname: \"zayne/react/you-might-not-need-an-effect/recommended\",\n\n\t\t\t\trules: eslintPluginReactYouMightNotNeedAnEffect.configs.recommended.rules,\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tfiles,\n\n\t\t\t\tname: \"zayne/react/you-might-not-need-an-effect/rules\",\n\n\t\t\t\trules: {\n\t\t\t\t\t...overrides,\n\t\t\t\t\t...(isObject(youMightNotNeedAnEffect) && youMightNotNeedAnEffect.overrides),\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t}\n\n\tif (nextjs && eslintPluginNextjs) {\n\t\tconfig.push(\n\t\t\t{\n\t\t\t\tfiles: isObject(nextjs) && nextjs.files ? nextjs.files : files,\n\n\t\t\t\tname: \"zayne/react/nextjs/recommended\",\n\n\t\t\t\trules: renameRules(\n\t\t\t\t\t{\n\t\t\t\t\t\t// @ts-expect-error -- missing types\n\t\t\t\t\t\t// eslint-disable-next-line ts-eslint/no-unsafe-member-access -- missing types\n\t\t\t\t\t\t...(eslintPluginNextjs.configs?.recommended?.rules as Record<string, unknown>),\n\t\t\t\t\t\t// @ts-expect-error -- missing types\n\t\t\t\t\t\t// eslint-disable-next-line ts-eslint/no-unsafe-member-access -- missing types\n\t\t\t\t\t\t...(eslintPluginNextjs.configs?.[\"core-web-vitals\"]?.rules as Record<string, unknown>),\n\t\t\t\t\t},\n\t\t\t\t\tgetDefaultPluginRenameMap()\n\t\t\t\t),\n\t\t\t},\n\t\t\t{\n\t\t\t\tfiles: isObject(nextjs) && nextjs.files ? nextjs.files : files,\n\n\t\t\t\tname: \"zayne/react/nextjs/rules\",\n\n\t\t\t\trules: {\n\t\t\t\t\t...overrides,\n\t\t\t\t\t...(isObject(nextjs) && nextjs.overrides),\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t}\n\n\treturn config;\n};\n\nexport { react };\n","import { GLOB_SRC } from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { ensurePackages, interopDefault } from \"../utils\";\n\nconst solid = async (\n\toptions: ExtractOptions<OptionsConfig[\"solid\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { files = [GLOB_SRC], overrides, typescript = true } = options;\n\n\tawait ensurePackages([\"eslint-plugin-solid\"]);\n\n\tconst eslintPluginSolid = await interopDefault(import(\"eslint-plugin-solid\"));\n\n\tconst recommendedSolidConfig =\n\t\teslintPluginSolid.configs[typescript ? \"flat/typescript\" : \"flat/recommended\"];\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/solid/setup\",\n\n\t\t\tplugins: {\n\t\t\t\tsolid: eslintPluginSolid,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/solid/recommended\",\n\n\t\t\trules: recommendedSolidConfig.rules,\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/solid/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"solid/no-innerhtml\": [\"error\", { allowStatic: true }],\n\t\t\t\t\"solid/style-prop\": [\"error\", { styleProps: [\"style\", \"css\"] }],\n\t\t\t},\n\n\t\t\t...overrides,\n\t\t},\n\t];\n};\n\nexport { solid };\n","import type { TypedFlatConfigItem } from \"../types\";\n\n/**\n * @description - Sort package.json\n *\n * Requires `jsonc` config\n */\nexport const sortPackageJson = (): TypedFlatConfigItem[] => [\n\t{\n\t\tfiles: [\"**/package.json\"],\n\n\t\tname: \"zayne/sort/package.json\",\n\n\t\trules: {\n\t\t\t\"jsonc/sort-array-values\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\tpathPattern: \"^files$\",\n\t\t\t\t},\n\t\t\t],\n\t\t\t\"jsonc/sort-keys\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\torder: [\n\t\t\t\t\t\t\"publisher\",\n\t\t\t\t\t\t\"name\",\n\t\t\t\t\t\t\"displayName\",\n\t\t\t\t\t\t\"type\",\n\t\t\t\t\t\t\"version\",\n\t\t\t\t\t\t\"private\",\n\t\t\t\t\t\t\"packageManager\",\n\t\t\t\t\t\t\"description\",\n\t\t\t\t\t\t\"author\",\n\t\t\t\t\t\t\"contributors\",\n\t\t\t\t\t\t\"license\",\n\t\t\t\t\t\t\"funding\",\n\t\t\t\t\t\t\"homepage\",\n\t\t\t\t\t\t\"repository\",\n\t\t\t\t\t\t\"bugs\",\n\t\t\t\t\t\t\"keywords\",\n\t\t\t\t\t\t\"categories\",\n\t\t\t\t\t\t\"sideEffects\",\n\t\t\t\t\t\t\"exports\",\n\t\t\t\t\t\t\"main\",\n\t\t\t\t\t\t\"module\",\n\t\t\t\t\t\t\"unpkg\",\n\t\t\t\t\t\t\"jsdelivr\",\n\t\t\t\t\t\t\"types\",\n\t\t\t\t\t\t\"typesVersions\",\n\t\t\t\t\t\t\"bin\",\n\t\t\t\t\t\t\"icon\",\n\t\t\t\t\t\t\"files\",\n\t\t\t\t\t\t\"engines\",\n\t\t\t\t\t\t\"activationEvents\",\n\t\t\t\t\t\t\"contributes\",\n\t\t\t\t\t\t\"scripts\",\n\t\t\t\t\t\t\"peerDependencies\",\n\t\t\t\t\t\t\"peerDependenciesMeta\",\n\t\t\t\t\t\t\"dependencies\",\n\t\t\t\t\t\t\"optionalDependencies\",\n\t\t\t\t\t\t\"devDependencies\",\n\t\t\t\t\t\t\"pnpm\",\n\t\t\t\t\t\t\"overrides\",\n\t\t\t\t\t\t\"resolutions\",\n\t\t\t\t\t\t\"husky\",\n\t\t\t\t\t\t\"simple-git-hooks\",\n\t\t\t\t\t\t\"lint-staged\",\n\t\t\t\t\t\t\"eslintConfig\",\n\t\t\t\t\t],\n\t\t\t\t\tpathPattern: \"^$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\tpathPattern: \"^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\tpathPattern: \"scripts\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\tpathPattern: \"^(?:resolutions|overrides|pnpm.overrides)$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\tpathPattern: String.raw`^workspaces\\.catalog$`,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\tpathPattern: String.raw`^workspaces\\.catalogs\\.[^.]+$`,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: [\"types\", \"import\", \"require\", \"default\"],\n\t\t\t\t\tpathPattern: \"^exports.*$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: [\n\t\t\t\t\t\t// client hooks only\n\t\t\t\t\t\t\"pre-commit\",\n\t\t\t\t\t\t\"prepare-commit-msg\",\n\t\t\t\t\t\t\"commit-msg\",\n\t\t\t\t\t\t\"post-commit\",\n\t\t\t\t\t\t\"pre-rebase\",\n\t\t\t\t\t\t\"post-rewrite\",\n\t\t\t\t\t\t\"post-checkout\",\n\t\t\t\t\t\t\"post-merge\",\n\t\t\t\t\t\t\"pre-push\",\n\t\t\t\t\t\t\"pre-auto-gc\",\n\t\t\t\t\t],\n\t\t\t\t\tpathPattern: \"^(?:gitHooks|husky|simple-git-hooks)$\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n];\n\n/**\n * Sort tsconfig.json\n *\n * Requires `jsonc` config\n */\n\nexport const sortTsconfig = (): TypedFlatConfigItem[] => [\n\t{\n\t\tfiles: [\"**/[jt]sconfig.json\", \"**/[jt]sconfig.*.json\"],\n\n\t\tname: \"zayne/sort/tsconfig.json\",\n\n\t\trules: {\n\t\t\t\"jsonc/sort-keys\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\torder: [\"extends\", \"compilerOptions\", \"references\", \"files\", \"include\", \"exclude\"],\n\t\t\t\t\tpathPattern: \"^$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: [\n\t\t\t\t\t\t/* Projects */\n\t\t\t\t\t\t\"incremental\",\n\t\t\t\t\t\t\"composite\",\n\t\t\t\t\t\t\"tsBuildInfoFile\",\n\t\t\t\t\t\t\"disableSourceOfProjectReferenceRedirect\",\n\t\t\t\t\t\t\"disableSolutionSearching\",\n\t\t\t\t\t\t\"disableReferencedProjectLoad\",\n\n\t\t\t\t\t\t/* Language and Environment */\n\t\t\t\t\t\t\"target\",\n\t\t\t\t\t\t\"jsx\",\n\t\t\t\t\t\t\"jsxFactory\",\n\t\t\t\t\t\t\"jsxFragmentFactory\",\n\t\t\t\t\t\t\"jsxImportSource\",\n\t\t\t\t\t\t\"lib\",\n\t\t\t\t\t\t\"moduleDetection\",\n\t\t\t\t\t\t\"noLib\",\n\t\t\t\t\t\t\"reactNamespace\",\n\t\t\t\t\t\t\"useDefineForClassFields\",\n\t\t\t\t\t\t\"emitDecoratorMetadata\",\n\t\t\t\t\t\t\"experimentalDecorators\",\n\n\t\t\t\t\t\t/* Modules */\n\t\t\t\t\t\t\"baseUrl\",\n\t\t\t\t\t\t\"rootDir\",\n\t\t\t\t\t\t\"rootDirs\",\n\t\t\t\t\t\t\"customConditions\",\n\t\t\t\t\t\t\"module\",\n\t\t\t\t\t\t\"moduleResolution\",\n\t\t\t\t\t\t\"moduleSuffixes\",\n\t\t\t\t\t\t\"noResolve\",\n\t\t\t\t\t\t\"paths\",\n\t\t\t\t\t\t\"resolveJsonModule\",\n\t\t\t\t\t\t\"resolvePackageJsonExports\",\n\t\t\t\t\t\t\"resolvePackageJsonImports\",\n\t\t\t\t\t\t\"typeRoots\",\n\t\t\t\t\t\t\"types\",\n\t\t\t\t\t\t\"allowArbitraryExtensions\",\n\t\t\t\t\t\t\"allowImportingTsExtensions\",\n\t\t\t\t\t\t\"allowUmdGlobalAccess\",\n\n\t\t\t\t\t\t/* JavaScript Support */\n\t\t\t\t\t\t\"allowJs\",\n\t\t\t\t\t\t\"checkJs\",\n\t\t\t\t\t\t\"maxNodeModuleJsDepth\",\n\n\t\t\t\t\t\t/* Type Checking */\n\t\t\t\t\t\t\"strict\",\n\t\t\t\t\t\t\"strictBindCallApply\",\n\t\t\t\t\t\t\"strictFunctionTypes\",\n\t\t\t\t\t\t\"strictNullChecks\",\n\t\t\t\t\t\t\"strictPropertyInitialization\",\n\t\t\t\t\t\t\"allowUnreachableCode\",\n\t\t\t\t\t\t\"allowUnusedLabels\",\n\t\t\t\t\t\t\"alwaysStrict\",\n\t\t\t\t\t\t\"exactOptionalPropertyTypes\",\n\t\t\t\t\t\t\"noFallthroughCasesInSwitch\",\n\t\t\t\t\t\t\"noImplicitAny\",\n\t\t\t\t\t\t\"noImplicitOverride\",\n\t\t\t\t\t\t\"noImplicitReturns\",\n\t\t\t\t\t\t\"noImplicitThis\",\n\t\t\t\t\t\t\"noPropertyAccessFromIndexSignature\",\n\t\t\t\t\t\t\"noUncheckedIndexedAccess\",\n\t\t\t\t\t\t\"noUnusedLocals\",\n\t\t\t\t\t\t\"noUnusedParameters\",\n\t\t\t\t\t\t\"useUnknownInCatchVariables\",\n\n\t\t\t\t\t\t/* Emit */\n\t\t\t\t\t\t\"declaration\",\n\t\t\t\t\t\t\"declarationDir\",\n\t\t\t\t\t\t\"declarationMap\",\n\t\t\t\t\t\t\"downlevelIteration\",\n\t\t\t\t\t\t\"emitBOM\",\n\t\t\t\t\t\t\"emitDeclarationOnly\",\n\t\t\t\t\t\t\"importHelpers\",\n\t\t\t\t\t\t\"importsNotUsedAsValues\",\n\t\t\t\t\t\t\"inlineSourceMap\",\n\t\t\t\t\t\t\"inlineSources\",\n\t\t\t\t\t\t\"mapRoot\",\n\t\t\t\t\t\t\"newLine\",\n\t\t\t\t\t\t\"noEmit\",\n\t\t\t\t\t\t\"noEmitHelpers\",\n\t\t\t\t\t\t\"noEmitOnError\",\n\t\t\t\t\t\t\"outDir\",\n\t\t\t\t\t\t\"outFile\",\n\t\t\t\t\t\t\"preserveConstEnums\",\n\t\t\t\t\t\t\"preserveValueImports\",\n\t\t\t\t\t\t\"removeComments\",\n\t\t\t\t\t\t\"sourceMap\",\n\t\t\t\t\t\t\"sourceRoot\",\n\t\t\t\t\t\t\"stripInternal\",\n\n\t\t\t\t\t\t/* Interop Constraints */\n\t\t\t\t\t\t\"allowSyntheticDefaultImports\",\n\t\t\t\t\t\t\"esModuleInterop\",\n\t\t\t\t\t\t\"forceConsistentCasingInFileNames\",\n\t\t\t\t\t\t\"isolatedDeclarations\",\n\t\t\t\t\t\t\"isolatedModules\",\n\t\t\t\t\t\t\"preserveSymlinks\",\n\t\t\t\t\t\t\"verbatimModuleSyntax\",\n\n\t\t\t\t\t\t/* Completeness */\n\t\t\t\t\t\t\"skipDefaultLibCheck\",\n\t\t\t\t\t\t\"skipLibCheck\",\n\t\t\t\t\t],\n\n\t\t\t\t\tpathPattern: \"^compilerOptions$\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n];\n","import type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault } from \"../utils\";\n\nconst stylistic = async (\n\toptions: ExtractOptions<OptionsConfig[\"stylistic\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { jsx = true, overrides } = options;\n\n\tconst eslintPluginStylistic = await interopDefault(import(\"@stylistic/eslint-plugin\"));\n\n\treturn [\n\t\t// == Stylistic Rules (Optional)\n\t\t{\n\t\t\tname: \"zayne/stylistic/rules\",\n\n\t\t\tplugins: {\n\t\t\t\tstylistic: eslintPluginStylistic,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t\"stylistic/no-floating-decimal\": \"error\",\n\t\t\t\t\"stylistic/spaced-comment\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t\"always\",\n\t\t\t\t\t{\n\t\t\t\t\t\tblock: {\n\t\t\t\t\t\t\tbalanced: true,\n\t\t\t\t\t\t\texceptions: [\"*\"],\n\t\t\t\t\t\t\tmarkers: [\"!\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t\tline: {\n\t\t\t\t\t\t\texceptions: [\"/\", \"#\"],\n\t\t\t\t\t\t\tmarkers: [\"/\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t...(jsx && {\n\t\t\t\t\t\"stylistic/jsx-self-closing-comp\": \"warn\",\n\t\t\t\t}),\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n\nexport { stylistic };\n","import { getDefaultPluginRenameMap, getDefaultTailwindcssBetterSettings } from \"@/constants/defaults\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { ensurePackages, interopDefault, renameRules } from \"../utils\";\n\nexport const tailwindcssBetter = async (\n\toptions: ExtractOptions<OptionsConfig[\"tailwindcssBetter\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, settings: tailwindCssBetterSettings } = options;\n\n\tawait ensurePackages([\"eslint-plugin-better-tailwindcss\"]);\n\n\tconst [eslintPluginBetterTailwindCss, defaults] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-better-tailwindcss\")),\n\t\tinteropDefault(import(\"eslint-plugin-better-tailwindcss/defaults\")),\n\t]);\n\n\tconst zayneDefaultSettings = getDefaultTailwindcssBetterSettings();\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/tailwindcss-better/setup\",\n\n\t\t\tplugins: {\n\t\t\t\t\"tailwindcss-better\": eslintPluginBetterTailwindCss,\n\t\t\t},\n\n\t\t\tsettings: {\n\t\t\t\t\"better-tailwindcss\": {\n\t\t\t\t\t...tailwindCssBetterSettings,\n\n\t\t\t\t\tentryPoint: tailwindCssBetterSettings?.entryPoint ?? zayneDefaultSettings.entryPoint,\n\n\t\t\t\t\tselectors: [\n\t\t\t\t\t\t...defaults.getDefaultSelectors(),\n\t\t\t\t\t\t...zayneDefaultSettings.selectors,\n\t\t\t\t\t\t...(tailwindCssBetterSettings?.selectors ?? []),\n\t\t\t\t\t],\n\t\t\t\t} satisfies typeof tailwindCssBetterSettings,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/tailwindcss-better/recommended\",\n\n\t\t\trules: renameRules(\n\t\t\t\teslintPluginBetterTailwindCss.configs[\"recommended-warn\"].rules,\n\t\t\t\tgetDefaultPluginRenameMap()\n\t\t\t),\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/tailwindcss-better/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"tailwindcss-better/enforce-consistent-important-position\": \"warn\",\n\t\t\t\t\"tailwindcss-better/enforce-consistent-line-wrapping\": \"off\",\n\t\t\t\t\"tailwindcss-better/enforce-consistent-variable-syntax\": \"warn\",\n\t\t\t\t\"tailwindcss-better/enforce-shorthand-classes\": \"warn\",\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n\n/**\n * @description tailwindcss v4 is not supported yet\n * @deprecated until `eslint-plugin-tailwindcss` supports tailwindcss v4\n */\n// export const tailwindcss = async (\n// \toptions: ExtractOptions<OptionsConfig[\"tailwindcss\"]> = {}\n// ): Promise<TypedFlatConfigItem[]> => {\n// \tconst { overrides, settings: tailwindCssSettings } = options;\n\n// \tawait ensurePackages([\"eslint-plugin-tailwindcss\"]);\n\n// \tconst eslintPluginTailwindCss = await interopDefault(import(\"eslint-plugin-tailwindcss\"));\n\n// \treturn [\n// \t\t{\n// \t\t\tname: \"zayne/tailwindcss/setup\",\n// \t\t\tplugins: {\n// \t\t\t\ttailwindcss: eslintPluginTailwindCss,\n// \t\t\t},\n// \t\t\tsettings: {\n// \t\t\t\ttailwindcss: {\n// \t\t\t\t\tcallees: [\"tv\", \"cnMerge\", \"cn\", \"cnJoin\", \"twMerge\", \"twJoin\"],\n// \t\t\t\t\tclassRegex: \"^class(Name|Names)?$\",\n// \t\t\t\t\tcssFiles: [],\n// \t\t\t\t\tremoveDuplicates: false, // Turned off cuz prettier already handles this via plugin\n// \t\t\t\t\t...tailwindCssSettings,\n// \t\t\t\t},\n// \t\t\t},\n// \t\t},\n\n// \t\t{\n// \t\t\tname: \"zayne/tailwindcss/recommended\",\n\n// \t\t\trules: eslintPluginTailwindCss.configs[\"flat/recommended\"][1]?.rules,\n// \t\t},\n\n// \t\t{\n// \t\t\tname: \"zayne/tailwindcss/rules\",\n\n// \t\t\trules: {\n// \t\t\t\t\"tailwindcss/no-contradicting-classname\": \"off\", // Turned off cuz tw intellisense already handles this\n// \t\t\t\t\"tailwindcss/no-custom-classname\": [\n// \t\t\t\t\t\"warn\",\n// \t\t\t\t\t{ ignoredKeys: [\"compoundVariants\", \"defaultVariants\", \"responsiveVariants\"] },\n// \t\t\t\t],\n\n// \t\t\t\t...overrides,\n// \t\t\t},\n// \t\t},\n// \t];\n// };\n","import { getDefaultPluginRenameMap } from \"../constants/defaults\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { ensurePackages, interopDefault, isObject, renameRules } from \"../utils\";\n\nconst tanstack = async (\n\toptions: ExtractOptions<OptionsConfig[\"tanstack\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, query = true, router } = options;\n\n\tconst config: TypedFlatConfigItem[] = [];\n\n\tawait ensurePackages([\n\t\tquery ? \"@tanstack/eslint-plugin-query\" : undefined,\n\t\trouter ? \"@tanstack/eslint-plugin-router\" : undefined,\n\t]);\n\n\tconst [eslintPluginTanstackQuery, eslintPluginTanstackRouter] = await Promise.all([\n\t\tquery ? interopDefault(import(\"@tanstack/eslint-plugin-query\")) : undefined,\n\t\trouter ? interopDefault(import(\"@tanstack/eslint-plugin-router\")) : undefined,\n\t]);\n\n\tif (query && eslintPluginTanstackQuery) {\n\t\tconfig.push(\n\t\t\t{\n\t\t\t\tname: \"zayne/tanstack-query/recommended\",\n\n\t\t\t\tplugins: {\n\t\t\t\t\t\"tanstack-query\": eslintPluginTanstackQuery,\n\t\t\t\t},\n\n\t\t\t\trules: renameRules(\n\t\t\t\t\teslintPluginTanstackQuery.configs[\"flat/recommended\"][0]?.rules,\n\t\t\t\t\tgetDefaultPluginRenameMap()\n\t\t\t\t),\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tname: \"zayne/tanstack-query/rules\",\n\n\t\t\t\trules: {\n\t\t\t\t\t...overrides,\n\t\t\t\t\t...(isObject(query) && query.overrides),\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t}\n\n\tif (router && eslintPluginTanstackRouter) {\n\t\tconfig.push(\n\t\t\t{\n\t\t\t\tname: \"zayne/tanstack-router/recommended\",\n\n\t\t\t\tplugins: {\n\t\t\t\t\t\"tanstack-router\": eslintPluginTanstackRouter,\n\t\t\t\t},\n\n\t\t\t\trules: renameRules(\n\t\t\t\t\teslintPluginTanstackRouter.configs[\"flat/recommended\"][0]?.rules,\n\t\t\t\t\tgetDefaultPluginRenameMap()\n\t\t\t\t),\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tname: \"zayne/tanstack-router/rules\",\n\n\t\t\t\trules: {\n\t\t\t\t\t...overrides,\n\t\t\t\t\t...(isObject(router) && router.overrides),\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t}\n\n\treturn config;\n};\n\nexport { tanstack };\n","import { GLOB_TOML } from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault } from \"../utils\";\n\nexport const toml = async (\n\toptions: ExtractOptions<OptionsConfig[\"toml\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { files = [GLOB_TOML], overrides, stylistic = true } = options;\n\n\tconst [pluginToml, parserToml] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-toml\")),\n\t\tinteropDefault(import(\"toml-eslint-parser\")),\n\t]);\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/toml/setup\",\n\n\t\t\tplugins: {\n\t\t\t\ttoml: pluginToml,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: parserToml,\n\t\t\t},\n\n\t\t\tname: \"zayne/toml/parser\",\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/toml/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"style/spaced-comment\": \"off\",\n\n\t\t\t\t\"toml/comma-style\": \"error\",\n\t\t\t\t\"toml/keys-order\": \"error\",\n\t\t\t\t\"toml/no-space-dots\": \"error\",\n\t\t\t\t\"toml/no-unreadable-number-separator\": \"error\",\n\t\t\t\t\"toml/precision-of-fractional-seconds\": \"error\",\n\t\t\t\t\"toml/precision-of-integer\": \"error\",\n\t\t\t\t\"toml/tables-order\": \"error\",\n\n\t\t\t\t\"toml/vue-custom-block/no-parsing-error\": \"error\",\n\n\t\t\t\t...(stylistic && {\n\t\t\t\t\t\"toml/array-bracket-newline\": \"error\",\n\t\t\t\t\t\"toml/array-bracket-spacing\": \"error\",\n\t\t\t\t\t\"toml/array-element-newline\": \"error\",\n\t\t\t\t\t// \"toml/indent\": [\"error\", indent],\n\t\t\t\t\t\"toml/inline-table-curly-spacing\": \"error\",\n\t\t\t\t\t\"toml/key-spacing\": \"error\",\n\t\t\t\t\t\"toml/padding-line-between-pairs\": \"error\",\n\t\t\t\t\t\"toml/padding-line-between-tables\": \"error\",\n\t\t\t\t\t\"toml/quoted-keys\": \"error\",\n\t\t\t\t\t\"toml/spaced-comment\": \"error\",\n\t\t\t\t\t\"toml/table-bracket-spacing\": \"error\",\n\t\t\t\t}),\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n","import { getDefaultPluginRenameMap } from \"@/constants/defaults\";\nimport { GLOB_ASTRO_TS, GLOB_MARKDOWN, GLOB_TS, GLOB_TSX } from \"../globs\";\nimport type {\n\tExtractOptions,\n\tOptionsConfig,\n\tOptionsTypeScriptParserOptions,\n\tOptionsTypeScriptWithTypes,\n\tTypedFlatConfigItem,\n} from \"../types\";\nimport { ensurePackages, interopDefault, renameRules } from \"../utils\";\n\nexport const typescript = async (\n\toptions: ExtractOptions<OptionsConfig[\"typescript\"]>\n\t\t& OptionsTypeScriptParserOptions\n\t\t& OptionsTypeScriptWithTypes = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst {\n\t\tallowDefaultProject,\n\t\tcomponentExts = [],\n\t\tcomponentExtsTypeAware = [],\n\t\terasableOnly = false,\n\t\tfiles = [GLOB_TS, GLOB_TSX, ...componentExts.map((ext) => `**/*.${ext}`)],\n\t\tfilesTypeAware = [GLOB_TS, GLOB_TSX, ...componentExtsTypeAware.map((ext) => `**/*.${ext}`)],\n\t\tignoresTypeAware = [`${GLOB_MARKDOWN}/**`, GLOB_ASTRO_TS],\n\t\ttsconfigPath = true,\n\t\tisTypeAware = Boolean(tsconfigPath),\n\t\toverrides,\n\t\tparserOptions,\n\t\tstylistic = true,\n\t} = options;\n\n\tawait ensurePackages([erasableOnly ? \"eslint-plugin-erasable-syntax-only\" : undefined]);\n\n\tconst [tsEslint, eslintPluginErasableOnly] = await Promise.all([\n\t\tinteropDefault(import(\"typescript-eslint\")),\n\t\terasableOnly ? interopDefault(import(\"eslint-plugin-erasable-syntax-only\")) : undefined,\n\t]);\n\n\tconst makeParser = (\n\t\ttypeAware: boolean,\n\t\tparsedFiles: string[],\n\t\tignores?: string[]\n\t): TypedFlatConfigItem => {\n\t\treturn {\n\t\t\tfiles: parsedFiles,\n\n\t\t\t...(ignores && { ignores }),\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: tsEslint.parser,\n\n\t\t\t\tparserOptions: {\n\t\t\t\t\textraFileExtensions: componentExts.map((ext) => `.${ext}`),\n\n\t\t\t\t\tsourceType: \"module\",\n\n\t\t\t\t\t...(typeAware\n\t\t\t\t\t\t&& (allowDefaultProject ?\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tprojectService: {\n\t\t\t\t\t\t\t\t\tallowDefaultProject,\n\t\t\t\t\t\t\t\t\tdefaultProject: tsconfigPath,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\ttsconfigRootDir: process.cwd(),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t:\t{\n\t\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t\t * @default true for auto-discovery of project's tsconfig as fallback\n\t\t\t\t\t\t\t\t * @see https://typescript-eslint.io/blog/parser-options-project-true\n\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\tproject: tsconfigPath,\n\t\t\t\t\t\t\t\ttsconfigRootDir: process.cwd(),\n\t\t\t\t\t\t\t})),\n\n\t\t\t\t\t...parserOptions,\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tname: `zayne/ts-eslint/${typeAware ? \"parser-type-aware\" : \"parser\"}`,\n\t\t};\n\t};\n\n\tconst recommendedRules = tsEslint.configs[isTypeAware ? \"strictTypeChecked\" : \"strict\"]\n\t\t.map((config) => config.rules)\n\t\t.reduce<TypedFlatConfigItem[\"rules\"]>((accumulator, rules) => ({ ...accumulator, ...rules }), {});\n\n\tconst recommendedStylisticRules = tsEslint.configs[isTypeAware ? \"stylisticTypeChecked\" : \"stylistic\"]\n\t\t.map((config) => config.rules)\n\t\t.reduce<TypedFlatConfigItem[\"rules\"]>((accumulator, rules) => ({ ...accumulator, ...rules }), {});\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/ts-eslint/setup\",\n\n\t\t\tplugins: {\n\t\t\t\t\"ts-eslint\": tsEslint.plugin,\n\t\t\t},\n\t\t},\n\n\t\t// == Assign both type-aware and type-unaware parser for type-aware files and only type-unaware parser for the rest\n\t\t...(isTypeAware ?\n\t\t\t[makeParser(false, files), makeParser(true, filesTypeAware, ignoresTypeAware)]\n\t\t:\t[makeParser(false, files)]),\n\n\t\t{\n\t\t\tfiles: isTypeAware ? filesTypeAware : files,\n\n\t\t\tignores: isTypeAware ? ignoresTypeAware : [],\n\n\t\t\tname: `zayne/ts-eslint/recommended-${isTypeAware ? \"strict-type-checked\" : \"strict\"}`,\n\n\t\t\trules: renameRules(recommendedRules, getDefaultPluginRenameMap()),\n\t\t},\n\n\t\t...(stylistic ?\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\tfiles: isTypeAware ? filesTypeAware : files,\n\n\t\t\t\t\tignores: isTypeAware ? ignoresTypeAware : [],\n\n\t\t\t\t\tname: `zayne/ts-eslint/recommended-${isTypeAware ? \"stylistic-type-checked\" : \"stylistic\"}`,\n\n\t\t\t\t\trules: renameRules(recommendedStylisticRules, getDefaultPluginRenameMap()),\n\t\t\t\t},\n\t\t\t]\n\t\t:\t[]),\n\n\t\t{\n\t\t\tfiles: isTypeAware ? filesTypeAware : files,\n\n\t\t\tignores: isTypeAware ? ignoresTypeAware : [],\n\n\t\t\tname: `zayne/ts-eslint/rules${isTypeAware ? \"-type-checked\" : \"\"}`,\n\n\t\t\trules: {\n\t\t\t\t\"ts-eslint/array-type\": [\"error\", { default: \"array-simple\" }],\n\t\t\t\t\"ts-eslint/consistent-type-definitions\": [\"error\", \"type\"],\n\t\t\t\t\"ts-eslint/default-param-last\": \"error\",\n\t\t\t\t\"ts-eslint/member-ordering\": \"error\",\n\t\t\t\t\"ts-eslint/method-signature-style\": [\"error\", \"property\"],\n\t\t\t\t\"ts-eslint/no-confusing-void-expression\": \"off\",\n\t\t\t\t\"ts-eslint/no-empty-function\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{ allow: [\"arrowFunctions\", \"functions\", \"methods\"] },\n\t\t\t\t],\n\t\t\t\t\"ts-eslint/no-import-type-side-effects\": \"error\",\n\t\t\t\t\"ts-eslint/no-shadow\": \"error\",\n\t\t\t\t\"ts-eslint/no-unused-expressions\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tallowShortCircuit: true,\n\t\t\t\t\t\tallowTernary: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"ts-eslint/no-unused-vars\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\targs: \"all\",\n\t\t\t\t\t\targsIgnorePattern: \"^_\",\n\t\t\t\t\t\tcaughtErrors: \"all\",\n\t\t\t\t\t\tdestructuredArrayIgnorePattern: \"^_\",\n\t\t\t\t\t\treportUsedIgnorePattern: true,\n\t\t\t\t\t\tvars: \"all\",\n\t\t\t\t\t\tvarsIgnorePattern: \"[iI]gnored\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"ts-eslint/no-use-before-define\": \"off\",\n\t\t\t\t\"ts-eslint/no-useless-constructor\": \"error\",\n\t\t\t\t\"ts-eslint/no-useless-empty-export\": \"error\",\n\n\t\t\t\t...(isTypeAware && {\n\t\t\t\t\t\"ts-eslint/no-unnecessary-type-conversion\": \"error\",\n\t\t\t\t\t\"ts-eslint/no-unnecessary-type-parameters\": \"off\",\n\t\t\t\t\t\"ts-eslint/non-nullable-type-assertion-style\": \"off\",\n\t\t\t\t\t\"ts-eslint/prefer-nullish-coalescing\": [\"error\", { ignoreConditionalTests: true }],\n\t\t\t\t\t\"ts-eslint/restrict-template-expressions\": [\n\t\t\t\t\t\t\"error\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tallowAny: false,\n\t\t\t\t\t\t\tallowArray: false,\n\t\t\t\t\t\t\tallowBoolean: true,\n\t\t\t\t\t\t\tallowNever: true,\n\t\t\t\t\t\t\tallowNullish: true,\n\t\t\t\t\t\t\tallowNumber: true,\n\t\t\t\t\t\t\tallowRegExp: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\t\"ts-eslint/return-await\": [\"error\", \"in-try-catch\"],\n\t\t\t\t}),\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\n\t\t...(erasableOnly ?\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\tname: \"zayne/ts-eslint/erasable-syntax-only/recommended\",\n\n\t\t\t\t\tplugins: {\n\t\t\t\t\t\t\"erasable-syntax-only\": eslintPluginErasableOnly,\n\t\t\t\t\t},\n\n\t\t\t\t\trules: eslintPluginErasableOnly?.configs.recommended.rules as TypedFlatConfigItem[\"rules\"],\n\t\t\t\t},\n\t\t\t]\n\t\t:\t[]),\n\t];\n};\n","import type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault } from \"../utils\";\n\nexport const unicorn = async (\n\toptions: ExtractOptions<OptionsConfig[\"unicorn\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, type = \"app\" } = options;\n\n\tconst eslintPluginUnicorn = await interopDefault(import(\"eslint-plugin-unicorn\"));\n\n\treturn [\n\t\t{\n\t\t\t...eslintPluginUnicorn.configs.recommended,\n\n\t\t\tname: \"zayne/unicorn/recommended\",\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/unicorn/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"unicorn/filename-case\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{ cases: { camelCase: true, kebabCase: true, pascalCase: true } },\n\t\t\t\t],\n\t\t\t\t\"unicorn/new-for-builtins\": \"off\",\n\t\t\t\t\"unicorn/no-array-for-each\": \"off\",\n\t\t\t\t\"unicorn/no-array-reduce\": \"off\",\n\t\t\t\t\"unicorn/no-negated-condition\": \"off\",\n\t\t\t\t\"unicorn/no-null\": \"off\",\n\t\t\t\t\"unicorn/no-useless-undefined\": [\"error\", { checkArguments: true }],\n\t\t\t\t\"unicorn/numeric-separators-style\": \"off\",\n\t\t\t\t\"unicorn/prefer-global-this\": type === \"lib\" || type === \"lib-strict\" ? \"warn\" : \"off\",\n\t\t\t\t\"unicorn/prefer-native-coercion-functions\": \"off\",\n\t\t\t\t\"unicorn/prevent-abbreviations\": \"off\",\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n","import type { Linter } from \"eslint\";\nimport { mergeProcessors } from \"eslint-merge-processors\";\nimport { GLOB_VUE } from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { ensurePackages, interopDefault, resolveOptions } from \"../utils\";\n\nexport const vue = async (\n\toptions: ExtractOptions<OptionsConfig[\"vue\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst {\n\t\tfiles = [GLOB_VUE],\n\t\toverrides,\n\t\tsfcBlocks = true,\n\t\tstylistic = true,\n\t\ttypescript = true,\n\t\tvueVersion = 3,\n\t} = options;\n\n\tawait ensurePackages([\n\t\t\"eslint-plugin-vue\",\n\t\t\"vue-eslint-parser\",\n\t\tsfcBlocks ? \"eslint-processor-vue-blocks\" : undefined,\n\t]);\n\n\tconst [pluginVue, parserVue, processorVueBlocks, tsEslint] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-vue\")),\n\t\tinteropDefault(import(\"vue-eslint-parser\")),\n\t\tsfcBlocks ? interopDefault(import(\"eslint-processor-vue-blocks\")) : undefined,\n\t\ttypescript ? interopDefault(import(\"typescript-eslint\")) : undefined,\n\t]);\n\n\treturn [\n\t\t{\n\t\t\t/**\n\t\t\t * This allows Vue plugin to work with auto imports\n\t\t\t * @ see https://github.com/vuejs/eslint-plugin-vue/pull/2422\n\t\t\t */\n\t\t\tlanguageOptions: {\n\t\t\t\tglobals: {\n\t\t\t\t\tcomputed: \"readonly\",\n\t\t\t\t\tdefineEmits: \"readonly\",\n\t\t\t\t\tdefineExpose: \"readonly\",\n\t\t\t\t\tdefineProps: \"readonly\",\n\t\t\t\t\tonMounted: \"readonly\",\n\t\t\t\t\tonUnmounted: \"readonly\",\n\t\t\t\t\treactive: \"readonly\",\n\t\t\t\t\tref: \"readonly\",\n\t\t\t\t\tshallowReactive: \"readonly\",\n\t\t\t\t\tshallowRef: \"readonly\",\n\t\t\t\t\ttoRef: \"readonly\",\n\t\t\t\t\ttoRefs: \"readonly\",\n\t\t\t\t\twatch: \"readonly\",\n\t\t\t\t\twatchEffect: \"readonly\",\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tname: \"zayne/vue/setup\",\n\n\t\t\tplugins: {\n\t\t\t\tvue: pluginVue,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: parserVue,\n\t\t\t\tparserOptions: {\n\t\t\t\t\tecmaFeatures: {\n\t\t\t\t\t\tjsx: true,\n\t\t\t\t\t},\n\t\t\t\t\textraFileExtensions: [\".vue\"],\n\t\t\t\t\tsourceType: \"module\",\n\t\t\t\t\t...(typescript && { parser: tsEslint?.parser }),\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tname: \"zayne/vue/parser\",\n\n\t\t\tprocessor:\n\t\t\t\tsfcBlocks === false ?\n\t\t\t\t\t(pluginVue.processors[\".vue\"] as Linter.Processor)\n\t\t\t\t:\tmergeProcessors([\n\t\t\t\t\t\tpluginVue.processors[\".vue\"] as Linter.Processor,\n\t\t\t\t\t\tprocessorVueBlocks?.({\n\t\t\t\t\t\t\t...resolveOptions(sfcBlocks),\n\t\t\t\t\t\t\tblocks: {\n\t\t\t\t\t\t\t\tstyles: true,\n\t\t\t\t\t\t\t\t...resolveOptions(sfcBlocks).blocks,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}) ?? (pluginVue.processors[\".vue\"] as Linter.Processor),\n\t\t\t\t\t]),\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/vue/recommended\",\n\n\t\t\trules: {\n\t\t\t\t...pluginVue.configs.base.rules,\n\n\t\t\t\t...pluginVue.configs[`flat/${vueVersion === 2 ? \"vue2-\" : \"\"}essential`].at(-1)?.rules,\n\t\t\t\t...pluginVue.configs[`flat/${vueVersion === 2 ? \"vue2-\" : \"\"}strongly-recommended`].at(-1)\n\t\t\t\t\t?.rules,\n\t\t\t\t...pluginVue.configs[`flat/${vueVersion === 2 ? \"vue2-\" : \"\"}recommended`].at(-1)?.rules,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/vue/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"vue/block-order\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: [\"script\", \"template\", \"style\"],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"vue/component-name-in-template-casing\": [\"error\", \"PascalCase\"],\n\n\t\t\t\t\"vue/component-options-name-casing\": [\"error\", \"PascalCase\"],\n\n\t\t\t\t// == this is deprecated\n\t\t\t\t\"vue/component-tags-order\": \"off\",\n\n\t\t\t\t\"vue/custom-event-name-casing\": [\"error\", \"camelCase\"],\n\t\t\t\t\"vue/define-macros-order\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: [\"defineOptions\", \"defineProps\", \"defineEmits\", \"defineSlots\"],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"vue/dot-location\": [\"error\", \"property\"],\n\t\t\t\t\"vue/dot-notation\": [\"error\", { allowKeywords: true }],\n\t\t\t\t\"vue/eqeqeq\": [\"error\", \"smart\"],\n\t\t\t\t\"vue/html-indent\": \"off\",\n\t\t\t\t\"vue/html-quotes\": [\"error\", \"double\"],\n\t\t\t\t\"vue/max-attributes-per-line\": \"off\",\n\t\t\t\t\"vue/multi-word-component-names\": \"off\",\n\t\t\t\t\"vue/no-dupe-keys\": \"off\",\n\t\t\t\t\"vue/no-empty-pattern\": \"error\",\n\t\t\t\t\"vue/no-irregular-whitespace\": \"error\",\n\t\t\t\t\"vue/no-loss-of-precision\": \"error\",\n\t\t\t\t\"vue/no-restricted-syntax\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t\"DebuggerStatement\",\n\t\t\t\t\t\"LabeledStatement\",\n\t\t\t\t\t\"WithStatement\",\n\t\t\t\t],\n\t\t\t\t\"vue/no-restricted-v-bind\": [\"error\", \"/^v-/\"],\n\t\t\t\t\"vue/no-setup-props-reactivity-loss\": \"off\",\n\t\t\t\t\"vue/no-sparse-arrays\": \"error\",\n\t\t\t\t\"vue/no-unused-refs\": \"error\",\n\t\t\t\t\"vue/no-useless-v-bind\": \"error\",\n\t\t\t\t\"vue/no-v-html\": \"off\",\n\t\t\t\t\"vue/object-shorthand\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t\"always\",\n\t\t\t\t\t{\n\t\t\t\t\t\tavoidQuotes: true,\n\t\t\t\t\t\tignoreConstructors: false,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"vue/prefer-separate-static-class\": \"error\",\n\t\t\t\t\"vue/prefer-template\": \"error\",\n\t\t\t\t\"vue/prop-name-casing\": [\"error\", \"camelCase\"],\n\t\t\t\t\"vue/require-default-prop\": \"off\",\n\t\t\t\t\"vue/require-prop-types\": \"off\",\n\t\t\t\t\"vue/singleline-html-element-content-newline\": \"off\",\n\t\t\t\t\"vue/space-infix-ops\": \"error\",\n\t\t\t\t\"vue/space-unary-ops\": [\"error\", { nonwords: false, words: true }],\n\n\t\t\t\t...(stylistic && {\n\t\t\t\t\t\"vue/array-bracket-spacing\": [\"error\", \"never\"],\n\t\t\t\t\t\"vue/arrow-spacing\": [\"error\", { after: true, before: true }],\n\t\t\t\t\t\"vue/block-spacing\": [\"error\", \"always\"],\n\t\t\t\t\t\"vue/block-tag-newline\": [\n\t\t\t\t\t\t\"error\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmultiline: \"always\",\n\t\t\t\t\t\t\tsingleline: \"always\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\t\"vue/brace-style\": [\"error\", \"stroustrup\", { allowSingleLine: true }],\n\t\t\t\t\t\"vue/comma-dangle\": [\"error\", \"always-multiline\"],\n\t\t\t\t\t\"vue/comma-spacing\": [\"error\", { after: true, before: false }],\n\t\t\t\t\t\"vue/comma-style\": [\"error\", \"last\"],\n\t\t\t\t\t\"vue/html-comment-content-spacing\": [\n\t\t\t\t\t\t\"error\",\n\t\t\t\t\t\t\"always\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\texceptions: [\"-\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\t\"vue/key-spacing\": [\"error\", { afterColon: true, beforeColon: false }],\n\t\t\t\t\t\"vue/keyword-spacing\": [\"error\", { after: true, before: true }],\n\t\t\t\t\t\"vue/object-curly-newline\": \"off\",\n\t\t\t\t\t\"vue/object-curly-spacing\": [\"error\", \"always\"],\n\t\t\t\t\t\"vue/object-property-newline\": [\"error\", { allowMultiplePropertiesPerLine: true }],\n\t\t\t\t\t\"vue/operator-linebreak\": [\"error\", \"before\"],\n\t\t\t\t\t\"vue/padding-line-between-blocks\": [\"error\", \"always\"],\n\t\t\t\t\t\"vue/quote-props\": [\"error\", \"consistent-as-needed\"],\n\t\t\t\t\t\"vue/space-in-parens\": [\"error\", \"never\"],\n\t\t\t\t\t\"vue/template-curly-spacing\": \"error\",\n\t\t\t\t}),\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/vue/disables\",\n\n\t\t\trules: {\n\t\t\t\t\"node/prefer-global/process\": \"off\",\n\t\t\t\t\"ts-eslint/no-unused-vars\": \"off\",\n\t\t\t},\n\t\t},\n\t];\n};\n","import { GLOB_YAML } from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault } from \"../utils\";\n\nexport const yaml = async (\n\toptions: ExtractOptions<OptionsConfig[\"yaml\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { files = [GLOB_YAML], overrides, stylistic = true } = options;\n\n\tconst [eslintPluginYaml, parserYaml] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-yml\")),\n\t\tinteropDefault(import(\"yaml-eslint-parser\")),\n\t]);\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/yaml/setup\",\n\n\t\t\tplugins: {\n\t\t\t\tyaml: eslintPluginYaml,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: parserYaml,\n\t\t\t},\n\n\t\t\tname: \"zayne/yaml/parser\",\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/yaml/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"yaml/block-mapping\": \"error\",\n\t\t\t\t\"yaml/block-sequence\": \"error\",\n\t\t\t\t\"yaml/no-empty-key\": \"error\",\n\t\t\t\t\"yaml/no-empty-sequence-entry\": \"error\",\n\t\t\t\t\"yaml/no-irregular-whitespace\": \"error\",\n\t\t\t\t\"yaml/plain-scalar\": \"error\",\n\n\t\t\t\t\"yaml/vue-custom-block/no-parsing-error\": \"error\",\n\n\t\t\t\t...(stylistic && {\n\t\t\t\t\t\"yaml/block-mapping-question-indicator-newline\": \"error\",\n\t\t\t\t\t\"yaml/block-sequence-hyphen-indicator-newline\": \"error\",\n\t\t\t\t\t\"yaml/flow-mapping-curly-newline\": \"error\",\n\t\t\t\t\t\"yaml/flow-mapping-curly-spacing\": \"error\",\n\t\t\t\t\t\"yaml/flow-sequence-bracket-newline\": \"error\",\n\t\t\t\t\t\"yaml/flow-sequence-bracket-spacing\": \"error\",\n\t\t\t\t\t// \"yaml/indent\": [\"error\", indent],\n\t\t\t\t\t\"yaml/key-spacing\": \"error\",\n\t\t\t\t\t\"yaml/no-tab-indent\": \"error\",\n\t\t\t\t\t// \"yaml/quotes\": [\n\t\t\t\t\t// \t\"error\",\n\t\t\t\t\t// \t{ avoidEscape: true, prefer: quotes === \"backtick\" ? \"double\" : quotes },\n\t\t\t\t\t// ],\n\t\t\t\t\t\"yaml/spaced-comment\": \"error\",\n\t\t\t\t}),\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/yaml/disables\",\n\n\t\t\trules: {\n\t\t\t\t\"stylistic/spaced-comment\": \"off\",\n\t\t\t},\n\t\t},\n\t];\n};\n","import { assert } from \"@zayne-labs/toolkit-type-helpers\";\nimport type { Linter } from \"eslint\";\nimport { FlatConfigComposer } from \"eslint-flat-config-utils\";\nimport { findUpSync } from \"find-up-simple\";\nimport { isPackageExists } from \"local-pkg\";\nimport {\n\tastro,\n\tcomments,\n\tdepend,\n\texpo,\n\tgitIgnores,\n\tignores,\n\timports,\n\tjavascript,\n\tjsdoc,\n\tjsonc,\n\tjsx,\n\tmarkdown,\n\tnode,\n\tperfectionist,\n\tpnpm,\n\treact,\n\tsolid,\n\tsortPackageJson,\n\tsortTsconfig,\n\tstylistic,\n\ttailwindcssBetter,\n\ttanstack,\n\ttoml,\n\ttypescript,\n\tunicorn,\n\tvue,\n\tyaml,\n} from \"./configs\";\nimport { getDefaultPluginRenameMap } from \"./constants/defaults\";\nimport type { Awaitable, ConfigNames, OptionsConfig, Prettify, TypedFlatConfigItem } from \"./types\";\nimport { isObject, resolveOptions } from \"./utils\";\n\nconst ReactPackages = [\"react\", \"react-dom\"];\n\n/**\n * @description Construct an array of ESLint flat config items.\n * @param options\n * The options for generating the ESLint configurations.\n * @param userConfigs\n * The extra user configurations to be merged with the generated configurations.\n * @returns\n * The merged ESLint configurations.\n */\nexport const zayne = (\n\toptions: OptionsConfig & Prettify<Pick<TypedFlatConfigItem, \"ignores\">> = {},\n\t...userConfigs: Array<\n\t\tAwaitable<FlatConfigComposer | Linter.Config[] | TypedFlatConfigItem | TypedFlatConfigItem[]>\n\t>\n\t// eslint-disable-next-line complexity -- Ignore\n): FlatConfigComposer<TypedFlatConfigItem, ConfigNames> => {\n\tconst {\n\t\tautoRenamePlugins = true,\n\t\tcomponentExts = [],\n\t\tcomponentExtsTypeAware = [],\n\t\tignores: userIgnores,\n\t\ttype = \"app\",\n\t\twithDefaults = true,\n\t\t...restOfOptions\n\t} = options;\n\n\t// == These configs are too needful to be turned off with a single switch, plus won't harm things much\n\tconst enableGitignore = restOfOptions.gitignore ?? true;\n\tconst enableJsx = restOfOptions.jsx ?? true;\n\n\t// == These ones won't matter if they are all turned off at once\n\tconst enableComments = restOfOptions.comments ?? withDefaults;\n\tconst enableImports = restOfOptions.imports ?? withDefaults;\n\tconst enableJsdoc = restOfOptions.jsdoc ?? withDefaults;\n\tconst enableJsonc = restOfOptions.jsonc ?? withDefaults;\n\tconst enableNode = restOfOptions.node ?? withDefaults;\n\tconst enablePerfectionist = restOfOptions.perfectionist ?? withDefaults;\n\tconst enableReact =\n\t\trestOfOptions.react ?? (withDefaults && ReactPackages.some((pkg) => isPackageExists(pkg)));\n\tconst enableStylistic = restOfOptions.stylistic ?? withDefaults;\n\tconst enableToml = restOfOptions.toml ?? withDefaults;\n\tconst enableTypeScript = restOfOptions.typescript ?? (withDefaults && isPackageExists(\"typescript\"));\n\tconst enableUnicorn = restOfOptions.unicorn ?? withDefaults;\n\tconst enableYaml = restOfOptions.yaml ?? withDefaults;\n\tconst enableMarkdown = restOfOptions.markdown ?? withDefaults;\n\tconst enablePnpmCatalogs =\n\t\trestOfOptions.pnpm ?? (withDefaults && Boolean(findUpSync(\"pnpm-workspace.yaml\")));\n\n\tconst isStylistic = Boolean(enableStylistic);\n\n\tconst tsconfigPath =\n\t\tisObject(enableTypeScript) && \"tsconfigPath\" in enableTypeScript ? enableTypeScript.tsconfigPath\n\t\t\t// eslint-disable-next-line unicorn/no-nested-ternary -- Allow\n\t\t: enableTypeScript === true ? enableTypeScript\n\t\t: null;\n\n\tconst isTypeAware = Boolean(tsconfigPath);\n\n\tconst configs: Array<Awaitable<TypedFlatConfigItem[]>> = [\n\t\t// == Base configs\n\t\tignores(userIgnores),\n\t\tjavascript(restOfOptions.javascript),\n\t];\n\n\tif (enableGitignore) {\n\t\tconfigs.push(gitIgnores(resolveOptions(enableGitignore)));\n\t}\n\n\t// == Other configs\n\tif (enableJsx) {\n\t\tconfigs.push(jsx(resolveOptions(enableJsx)));\n\t}\n\n\tif (restOfOptions.vue) {\n\t\tcomponentExts.push(\"vue\");\n\n\t\t(resolveOptions(restOfOptions.vue).typescript ?? isTypeAware) && componentExtsTypeAware.push(\"vue\");\n\t}\n\n\tif (restOfOptions.astro) {\n\t\tcomponentExts.push(\"astro\");\n\n\t\t(resolveOptions(restOfOptions.astro).typescript ?? isTypeAware)\n\t\t\t&& componentExtsTypeAware.push(\"astro\");\n\t}\n\n\tif (enableTypeScript) {\n\t\tconfigs.push(\n\t\t\ttypescript({\n\t\t\t\tcomponentExts,\n\t\t\t\tcomponentExtsTypeAware,\n\t\t\t\tisTypeAware,\n\t\t\t\tstylistic: isStylistic,\n\t\t\t\t...resolveOptions(enableTypeScript),\n\t\t\t\ttsconfigPath,\n\t\t\t})\n\t\t);\n\t}\n\n\tif (enableStylistic) {\n\t\tconfigs.push(stylistic({ jsx: Boolean(enableJsx), ...resolveOptions(enableStylistic) }));\n\t}\n\n\tif (enableComments) {\n\t\tconfigs.push(comments({ type, ...resolveOptions(enableComments) }));\n\t}\n\n\tif (enableImports) {\n\t\tconfigs.push(\n\t\t\timports({ stylistic: isStylistic, typescript: isTypeAware, ...resolveOptions(enableImports) })\n\t\t);\n\t}\n\n\tif (enablePnpmCatalogs) {\n\t\tconfigs.push(pnpm(resolveOptions(enablePnpmCatalogs)));\n\t}\n\n\tif (enableNode) {\n\t\tconfigs.push(node({ type, ...resolveOptions(enableNode) }));\n\t}\n\n\tif (enablePerfectionist) {\n\t\tconfigs.push(perfectionist(resolveOptions(enablePerfectionist)));\n\t}\n\n\tif (enableUnicorn) {\n\t\tconfigs.push(unicorn({ type, ...resolveOptions(enableUnicorn) }));\n\t}\n\n\tif (enableJsonc) {\n\t\tconfigs.push(jsonc(resolveOptions(enableJsonc)), sortPackageJson(), sortTsconfig());\n\t}\n\n\tif (enableJsdoc) {\n\t\tconfigs.push(jsdoc({ stylistic: isStylistic, ...resolveOptions(enableJsdoc) }));\n\t}\n\n\tif (enableToml) {\n\t\tconfigs.push(toml({ stylistic: isStylistic, ...resolveOptions(enableToml) }));\n\t}\n\n\tif (enableYaml) {\n\t\tconfigs.push(yaml({ stylistic: isStylistic, ...resolveOptions(enableYaml) }));\n\t}\n\n\tif (enableMarkdown) {\n\t\tconfigs.push(markdown({ componentExts, ...resolveOptions(enableMarkdown) }));\n\t}\n\n\tif (enableReact) {\n\t\tconfigs.push(react({ typescript: isTypeAware, ...resolveOptions(enableReact) }));\n\t}\n\n\tif (restOfOptions.vue) {\n\t\tconfigs.push(\n\t\t\tvue({ stylistic: isStylistic, typescript: isTypeAware, ...resolveOptions(restOfOptions.vue) })\n\t\t);\n\t}\n\n\tif (restOfOptions.solid) {\n\t\tconfigs.push(solid({ typescript: isTypeAware, ...resolveOptions(restOfOptions.solid) }));\n\t}\n\n\tif (restOfOptions.astro) {\n\t\tconfigs.push(astro({ typescript: isTypeAware, ...resolveOptions(restOfOptions.astro) }));\n\t}\n\n\tif (restOfOptions.expo) {\n\t\tconfigs.push(expo(resolveOptions(restOfOptions.expo)));\n\t}\n\n\tif (restOfOptions.tailwindcssBetter) {\n\t\tconfigs.push(tailwindcssBetter(resolveOptions(restOfOptions.tailwindcssBetter)));\n\t}\n\n\tif (restOfOptions.tanstack) {\n\t\tconfigs.push(tanstack(resolveOptions(restOfOptions.tanstack)));\n\t}\n\n\tif (restOfOptions.depend) {\n\t\tconfigs.push(depend(resolveOptions(restOfOptions.depend)));\n\t}\n\n\tassert(\n\t\t!(\"files\" in restOfOptions),\n\t\t`[@zayne-labs/eslint-config]: The first argument should not contain the \"files\" property as the options are supposed to be global. Place it in the second config array instead.`\n\t);\n\n\tconst composer = new FlatConfigComposer<TypedFlatConfigItem, ConfigNames>()\n\t\t.append(...configs, ...(userConfigs as TypedFlatConfigItem[]))\n\t\t.renamePlugins(autoRenamePlugins ? getDefaultPluginRenameMap() : {});\n\n\treturn composer;\n};\n"],"mappings":";;;;;;;;;;AAEA,MAAa,eAAe;AAC5B,MAAa,WAAW;AAExB,MAAa,UAAU;AACvB,MAAa,WAAW;AAExB,MAAa,UAAU;AACvB,MAAa,WAAW;AAExB,MAAa,cAAc;AAC3B,MAAa,WAAW;AACxB,MAAa,eAAe;AAC5B,MAAa,YAAY;AACzB,MAAa,YAAY;AAEzB,MAAa,YAAY;AACzB,MAAa,aAAa;AAC1B,MAAa,aAAa;AAE1B,MAAa,gBAAgB;AAC7B,MAAa,4BAA4B,GAAG,cAAc;AAC1D,MAAa,cAAc;AAC3B,MAAa,WAAW;AACxB,MAAa,YAAY;AACzB,MAAa,YAAY;AACzB,MAAa,WAAW;AACxB,MAAa,WAAW;AACxB,MAAa,YAAY;AACzB,MAAa,aAAa;AAC1B,MAAa,gBAAgB;AAC7B,MAAa,eAAe;AAE5B,MAAa,qBAAqB,GAAG,cAAc,GAAG;AACtD,MAAa,qBAAqB,GAAG,cAAc;AAEnD,MAAa,aAAa,WAAW;CACpC,qBAAqB;CACrB,aAAa;CACb,aAAa;CACb,cAAc;CACd,kBAAkB;CAClB,CAAC;AAEF,MAAa,eAAe;CAC3B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AAED,MAAa,eAAe,WAAW;CACtC;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA,CAAC;;;ACxFF,MAAa,QAAQ,OACpB,UAAkD,EAAE,KAChB;CACpC,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE,WAAW,aAAa,SAAS;AAE/D,OAAM,eAAe,CAAC,uBAAuB,sBAAsB,CAAC;CAEpE,MAAM,CAAC,mBAAmB,aAAa,YAAY,MAAM,QAAQ,IAAI;EACpE,eAAe,OAAO,uBAAuB;EAC7C,eAAe,OAAO,uBAAuB;EAC7C,aAAa,eAAe,OAAO,qBAAqB,GAAG,KAAA;EAC3D,CAAC;CAEF,MAAM,mBAAmB,kBAAkB,QAAQ,YACjD,KAAK,WAAW,OAAO,MAAM,CAC7B,QAAsC,aAAa,WAAW;EAAE,GAAG;EAAa,GAAG;EAAO,GAAG,EAAE,CAAC;AAElG,QAAO;EACN;GACC,MAAM;GAEN,SAAS,EACR,OAAO,mBACP;GACD;EAED;GACC;GAEA,iBAAiB;IAChB,SAAS,kBAAkB,aAAa,MAAM;IAC9C,QAAQ;IACR,eAAe;KACd,qBAAqB,CAAC,SAAS;KAC/B,GAAI,cAAc,EAAE,QAAQ,UAAU,QAAQ;KAC9C;IACD,YAAY;IACZ;GAED,MAAM;GAEN,WAAW,aAAa,yBAAyB;GACjD;EAED;GACC;GAEA,MAAM;GAEN,OAAO;GACP;EAED;GACC;GAEA,MAAM;GAEN,OAAO,EACN,GAAG,WACH;GACD;EACD;;;;AC9DF,MAAa,WAAW,OACvB,UAAqD,EAAE,KACnB;CACpC,MAAM,EAAE,WAAW,OAAO,UAAU;CAEpC,MAAM,uBAAuB,MAAM,eAClC,OAAO,mDACP;AAED,QAAO,CACN;EACC,MAAM;EACN,SAAS,EACR,mBAAmB,sBACnB;EAED,OAAO;GACN,uCAAuC,CAAC,SAAS,EAAE,gBAAgB,MAAM,CAAC;GAC1E,yCAAyC;GACzC,wCAAwC;GACxC,wCAAwC;GACxC,oCAAoC;GAEpC,GAAI,SAAS,SAAS,EACrB,uCAAuC,QACvC;GAED,GAAG;GACH;EACD,CACD;;;;AC5BF,MAAa,SAAS,OACrB,UAAmD,EAAE,KACjB;CACpC,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE,cAAc;AAE1C,OAAM,eAAe,CAAC,uBAAuB,CAAC;CAE9C,MAAM,CAAC,oBAAoB,eAAe,MAAM,QAAQ,IAAI,CAC3D,eAAe,OAAO,wBAAwB,EAC9C,eAAe,OAAO,uBAAuB,CAC7C,CAAC;CAEF,MAAM,cAA4C,EACjD,2BAA2B,CAAC,SAAS,EAAE,SAAS,+BAA+B,EAAE,CAAC,EAClF;AAED,QAAO;EACN;GACC,MAAM;GAEN,SAAS,EACR,QAAQ,oBACR;GACD;EAED;GACC;GAEA,MAAM;GAEN,OAAO;IACN,GAAG;IACH,GAAG;IACH;GACD;EAED;GACC,OAAO,CAAC,gBAAgB,kBAAkB;GAE1C,iBAAiB,EAChB,QAAQ,aACR;GAED,MAAM;GAEN,SAAS,EACR,QAAQ,oBACR;GAED,OAAO;IACN,GAAG;IACH,GAAG;IACH;GACD;EACD;;;;ACxDF,MAAM,OAAO,OACZ,UAAiD,EAAE,KACf;CACpC,MAAM,EAAE,cAAc;AAEtB,OAAM,eAAe,CAAC,qBAAqB,CAAC;AAI5C,QAAO,CACN,GAAG,gBAAgB;EAClB,aAJuB,MAAM,eAAe,OAAO,yCAAyC;EAK5F,WAAW,EAAE,MAAM,0BAA0B;EAC7C,CAAC,EAEF;EACC,MAAM;EAEN,OAAO,EAAE,GAAG,WAAW;EACvB,CACD;;;;ACjBF,MAAa,WAAW,cAAwC,EAAE,KAA4B;CAC7F,MAAM,cAAc,CAAC,GAAG,aAAa;CAErC,MAAM,sBAAsB,WAAW,YAAY,GAAG,YAAY,YAAY,GAAG;AAEjF,QAAO,CAAC,cAAc,CAAC,GAAG,aAAa,GAAG,oBAAoB,EAAE,yBAAyB,CAAC;;AAG3F,MAAa,aAAa,OACzB,YACoC;AASpC,QAAO,EARgB,MAAM,eAAe,OAAO,gCAAgC,EAErD;EAC7B,MAAM;EACN,QAAQ;EACR,GAAG;EACH,CAAC,CAEa;;;;ACtBhB,MAAM,UAAU,OACf,UAAoD,EAAE,KAClB;CACpC,MAAM,EAAE,WAAW,YAAY,MAAM,aAAa,SAAS;CAE3D,MAAM,sBAAsB,MAAM,eAAe,OAAO,0BAA0B;AAElF,QAAO;EACN;GACC,MAAM;GAEN,SAAS,EACR,QAAQ,qBACR;GAED,GAAI,cAAc,EACjB,UAAU,oBAAoB,YAAY,WAAW,UACrD;GACD;EAED;GACC,MAAM;GAEN,OAAO;IACN,GAAG,oBAAoB,YAAY,YAAY;IAC/C,GAAI,cAAc,oBAAoB,YAAY,WAAW;IAC7D;GACD;EAED;GACC,MAAM;GAEN,OAAO;IAEN,qBAAqB;IAMrB,gBAAgB;IAChB,2BAA2B;IAE3B,wBAAwB;IACxB,qCAAqC,CAAC,SAAS,EAAE,iBAAiB,MAAM,CAAC;IACzE,6BAA6B;IAC7B,2BAA2B;IAC3B,+BAA+B;IAC/B,yBAAyB;IAGzB,wBAAwB;IAExB,mCAAmC;IAEnC,GAAI,aAAa,EAAE,+BAA+B,SAAS;IAE3D,GAAG;IACH;GACD;EACD;;;;AC3DF,MAAM,aAAa,OAClB,UAAuD,EAAE,KACrB;CACpC,MAAM,EAAE,cAAc;CAEtB,MAAM,WAAW,MAAM,eAAe,OAAO,cAAc;AAE3D,QAAO;EACN;GACC,iBAAiB;IAChB,aAAa;IAEb,SAAS;KACR,GAAG,QAAQ;KACX,GAAG,QAAQ;KACX,UAAU;KACV,WAAW;KACX,QAAQ;KACR;IAED,eAAe;KACd,aAAa;KACb,YAAY;KACZ;IAED,YAAY;IACZ;GAED,eAAe,EACd,+BAA+B,MAC/B;GAED,MAAM;GACN;EAED;GACC,GAAG,SAAS,QAAQ;GAEpB,MAAM;GACN;EAED;GACC,MAAM;GAEN,OAAO;IACN,kBAAkB,CAAC,SAAS;KAAE,wBAAwB;KAAM,eAAe;KAAM,CAAC;IAClF,yBAAyB,CAAC,SAAS,EAAE,eAAe,MAAM,CAAC;IAC3D,oBAAoB;IACpB,0BAA0B;IAC1B,YAAY,CAAC,QAAQ,GAAG;IACxB,qBAAqB;IACrB,OAAO,CAAC,SAAS,aAAa;IAC9B,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,gBAAgB,CAAC;IAC7D,qBAAqB;IACrB,sBAAsB;IACtB,gBAAgB,CAAC,SAAS,EAAE,eAAe,MAAM,CAAC;IAClD,QAAQ;KAAC;KAAS;KAAU,EAAE,MAAM,UAAU;KAAC;IAC/C,0BAA0B;IAC1B,gCAAgC;IAChC,aAAa,CAAC,SAAS,EAAE;IACzB,WAAW,CAAC,SAAS;KAAE,UAAU;KAAO,UAAU;KAAM,YAAY;KAAM,CAAC;IAC3E,YAAY;IACZ,wBAAwB;IACxB,6BAA6B;IAC7B,oBAAoB;IACpB,aAAa;IACb,wBAAwB;IACxB,mBAAmB;IACnB,uBAAuB;IACvB,kBAAkB,CAAC,SAAS,SAAS;IACrC,cAAc,CAAC,SAAS,EAAE,OAAO;KAAC;KAAQ;KAAS;KAAQ;KAAQ,EAAE,CAAC;IACtE,mBAAmB;IACnB,yBAAyB;IACzB,yBAAyB;IACzB,oBAAoB;IACpB,eAAe;IACf,iBAAiB;IACjB,gBAAgB;IAChB,yBAAyB;IACzB,gBAAgB;IAChB,qBAAqB;IACrB,kBAAkB,CAAC,SAAS,EAAE,aAAa,OAAO,CAAC;IACnD,YAAY,CAAC,SAAS,EAAE,iBAAiB,MAAM,CAAC;IAChD,4BAA4B;IAC5B,oBAAoB;IACpB,WAAW,CAAC,SAAS,EAAE,eAAe,MAAM,CAAC;IAC7C,gBAAgB;IAChB,oBAAoB;IACpB,iBAAiB;IACjB,yBAAyB;IACzB,kBAAkB;IAClB,kBAAkB;IAClB,oBAAoB;IACpB,wBAAwB;IACxB,mBAAmB;IACnB,oBAAoB;IACpB,qBAAqB;IACrB,2BAA2B;IAC3B,eAAe;IACf,aAAa,CAAC,SAAS;KAAE,WAAW;KAAO,aAAa;KAAO,CAAC;IAChE,kBAAkB;IAClB,gBAAgB;IAChB,wBAAwB;IACxB,iCAAiC;IACjC,gBAAgB;IAChB,UAAU;IACV,eAAe;IACf,gCAAgC;IAChC,mBAAmB;IACnB,gBAAgB;IAChB,YAAY;IACZ,mBAAmB;IACnB,qBAAqB,CACpB,SACA;KACC,gCAAgC;MAC/B;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;KACD,OAAO;KACP,CACD;IACD,YAAY;IACZ,yBAAyB;IACzB,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,OAAO,CAAC;IACpD,mBAAmB;IACnB,yBAAyB,CACxB,SACA,EACC,wBAAwB,CACvB,WACA,OACA,EACD,CACD;IACD,yBAAyB;KACxB;KACA;MACC,SACC;MACD,MAAM;MACN;KACD;MACC,SACC;MACD,MAAM;MACN;KACD;MAAE,SAAS;MAA6B,MAAM;MAAU;KACxD;MAAE,SAAS;MAA6B,MAAM;MAAQ;KACtD;IACD,yBAAyB,CAAC,OAAO;KAAE,OAAO,EAAE;KAAE,UAAU,EAAE;KAAE,CAAC;IAC7D,4BAA4B;KAC3B;KACA;MACC,SAAS;MACT,QAAQ;MACR,UAAU;MACV;KACD;MACC,SAAS;MACT,QAAQ;MACR,UAAU;MACV;KACD;MACC,SAAS;MACT,QAAQ;MACR,UAAU;MACV;KACD;MACC,SAAS;MACT,QAAQ;MACR,UAAU;MACV;KACD;MACC,SAAS;MACT,QAAQ;MACR,UAAU;MACV;KACD;MACC,SAAS;MACT,QAAQ;MACR,UAAU;MACV;KACD;MACC,SAAS;MACT,QAAQ;MACR,UAAU;MACV;KACD;MACC,SAAS;MACT,QAAQ;MACR,UAAU;MACV;KACD;MACC,SAAS;MACT,UAAU;MACV;KACD;MAAE,SAAS;MAAwC,UAAU;MAAoB;KACjF;MAAE,SAAS;MAAwC,UAAU;MAAoB;KACjF;MAAE,SAAS;MAAkD,UAAU;MAAoB;KAC3F;MAAE,SAAS;MAAkD,UAAU;MAAoB;KAC3F;IACD,wBAAwB;KACvB;KACA;KACA;KACA;KACA;KACA;KACA;IACD,oBAAoB,CAAC,SAAS,gBAAgB;IAC9C,iBAAiB;IACjB,kBAAkB,CAAC,SAAS,EAAE,OAAO,MAAM,CAAC;IAC5C,mBAAmB;IACnB,gBAAgB;IAChB,8BAA8B;IAC9B,oBAAoB;IACpB,+BAA+B;IAC/B,wBAAwB;IACxB,oBAAoB;IACpB,YAAY;IACZ,iBAAiB;IACjB,2BAA2B;IAC3B,gCAAgC;IAChC,uBAAuB,CAAC,QAAQ,EAAE,mBAAmB,OAAO,CAAC;IAC7D,kBAAkB;IAClB,uBAAuB;IACvB,qBAAqB;IACrB,sBAAsB;IACtB,yBAAyB,CACxB,SACA;KACC,mBAAmB;KACnB,sBAAsB;KACtB,cAAc;KACd,CACD;IACD,kBAAkB,CACjB,QACA;KACC,MAAM;KACN,mBAAmB;KACnB,cAAc;KACd,gCAAgC;KAChC,yBAAyB;KACzB,MAAM;KACN,mBAAmB;KACnB,CACD;IACD,4BAA4B;IAC5B,mBAAmB;IACnB,oBAAoB;IACpB,2BAA2B;IAC3B,qBAAqB;IACrB,0BAA0B;IAC1B,qBAAqB,CACpB,SACA;KAAE,qBAAqB;KAAO,cAAc;KAAO,cAAc;KAAO,CACxE;IACD,qBAAqB;IACrB,UAAU;IACV,WAAW;IACX,oBAAoB;KAAC;KAAS;KAAU;MAAE,aAAa;MAAM,oBAAoB;MAAO;KAAC;IACzF,WAAW,CAAC,SAAS,EAAE,aAAa,SAAS,CAAC;IAC9C,uBAAuB;IACvB,yBAAyB,CACxB,SACA;KACC,qBAAqB;KACrB,kBAAkB;KAClB,CACD;IACD,gBAAgB,CACf,SACA;KACC,eAAe;KACf,wBAAwB;KACxB,CACD;IACD,kCAAkC;IAClC,yBAAyB;IACzB,wBAAwB;IACxB,gCAAgC;IAChC,yBAAyB,CAAC,SAAS,EAAE,2BAA2B,MAAM,CAAC;IACvE,sBAAsB;IACtB,iBAAiB;IACjB,mBAAmB;IACnB,yBAAyB,CAAC,SAAS,EAAE,uBAAuB,MAAM,CAAC;IACnE,OAAO;IACP,sBAAsB;IACtB,eAAe,CAAC,SAAS,QAAQ;IACjC,aAAa,CAAC,SAAS;KAAE,mBAAmB;KAAM,sBAAsB;KAAM,CAAC;IAC/E,gBAAgB,CAAC,SAAS,EAAE,uBAAuB,MAAM,CAAC;IAC1D,eAAe;IACf,MAAM,CAAC,SAAS,QAAQ;IAExB,GAAG;IACH;GACD;EACD;;;;ACrTF,MAAM,QAAQ,OACb,UAAkD,EAAE,KAChB;CACpC,MAAM,EAAE,WAAW,YAAY,SAAS;AAIxC,QAAO,CACN;EACC,MAAM;EAEN,SAAS,EACR,OAPuB,MAAM,eAAe,OAAO,uBAAuB,EAQ1E;EAED,OAAO;GACN,sBAAsB;GACtB,2BAA2B;GAC3B,8BAA8B;GAC9B,qBAAqB;GACrB,oBAAoB;GACpB,+BAA+B;GAC/B,qBAAqB;GACrB,4BAA4B;GAC5B,6BAA6B,CAAC,QAAQ,EAAE,kBAAkB,OAAO,CAAC;GAClE,4BAA4B;GAC5B,0BAA0B;GAC1B,sCAAsC;GACtC,+BAA+B;GAC/B,+BAA+B;GAC/B,qCAAqC;GACrC,8BAA8B;GAE9B,GAAI,aAAa;IAChB,yBAAyB;IACzB,0BAA0B;IAC1B,6BAA6B,CAAC,QAAQ,EAAE,kBAAkB,OAAO,CAAC;IAClE;GAED,GAAG;GACH;EACD,CACD;;;;ACzCF,MAAM,QAAQ,OACb,UAAkD,EAAE,KAChB;CACpC,MAAM,EAAE,QAAQ;EAAC;EAAW;EAAY;EAAW,EAAE,cAAc;CAEnE,MAAM,CAAC,mBAAmB,eAAe,MAAM,QAAQ,IAAI,CAC1D,eAAe,OAAO,uBAAuB,EAC7C,eAAe,OAAO,uBAAuB,CAC7C,CAAC;CAEF,MAAM,mBAAmB,kBAAkB,QAAQ,+BACjD,KAAK,WAAW,OAAO,MAAM,CAC7B,QAAsC,aAAa,WAAW;EAAE,GAAG;EAAa,GAAG;EAAO,GAAG,EAAE,CAAC;CAElG,MAAM,uBAAuB,kBAAkB,QAAQ,iBAAiB,GAAG,GAAG,EAAE;AAEhF,QAAO;EACN;GACC,MAAM;GAEN,SAAS,EACR,OAAO,mBACP;GACD;EAED;GACC;GAEA,iBAAiB,EAChB,QAAQ,aACR;GAED,MAAM;GACN;EAED;GACC;GAEA,MAAM;GAEN,OAAO;GACP;EAED;GACC;GAEA,MAAM;GAEN,OAAO,EACN,GAAG,WACH;GACD;EAED;GACC;GAEA,MAAM;GAEN,OAAO;GACP;EACD;;;;AC5DF,MAAM,MAAM,OAAO,UAAgD,EAAE,KAAqC;CACzG,MAAM,EAAE,OAAO,OAAO,cAAc;AAEpC,OAAM,eAAe,CAAC,OAAO,2BAA2B,KAAA,EAAU,CAAC;CAEnE,MAAM,sBAAsB,OAAO,MAAM,eAAe,OAAO,0BAA0B,GAAG,KAAA;CAE5F,MAAM,SAAgC,EAAE;CAExC,MAAM,QAAQ,CAAC,UAAU,SAAS;AAElC,QAAO,KAAK;EACX;EAEA,iBAAiB,EAChB,eAAe,EACd,cAAc,EACb,KAAK,MACL,EACD,EACD;EAED,MAAM;EACN,CAAC;AAEF,KAAI,QAAQ,oBACX,QAAO,KACN;EACC,MAAM;EAEN,SAAS,EACR,YAAY,qBACZ;EACD,EAED;EACC;EAEA,MAAM;EAEN,OAAO,oBAAoB,YAAY,YAAY;EACnD,EAED;EACC;EAEA,MAAM;EAEN,OAAO;GACN,GAAG;GACH,GAAIA,WAAS,KAAK,IAAI,KAAK;GAC3B;EACD,CACD;AAGF,QAAO;;;;AClDR,MAAa,WAAW,OACvB,UAAqD,EAAE,KACnB;CACpC,MAAM,EAAE,gBAAgB,EAAE,EAAE,QAAQ,CAAC,cAAc,EAAE,cAAc;CAEnE,MAAM,uBAAuB,MAAM,eAAe,OAAO,oBAAoB;CAE7E,MAAM,mBAAmB,qBAAqB,QAAQ,YACpD,KAAK,WAAW,OAAO,MAAM,CAC7B,QAAsC,aAAa,WAAW;EAAE,GAAG;EAAa,GAAG;EAAO,GAAG,EAAE,CAAC;AAElG,QAAO;EACN;GACC,MAAM;GAEN,SAAS,EACR,UAAU,sBACV;GACD;EAED;GACC;GAEA,iBAAiB,EAChB,QAAQ,aACR;GAED,MAAM;GACN;EAED;GACC;GACA,SAAS,CAAC,0BAA0B;GACpC,MAAM;GAGN,WAAW,gBAAgB,CAAC,qBAAqB,WAAW,UAAU,qBAAqB,CAAC;GAC5F;EAED;GACC;GAEA,MAAM;GACN,OAAO;GACP;EAED;GACC,OAAO;IACN,GAAG;IACH;IACA;IACA,GAAG,cAAc,KAAK,QAAQ,GAAG,cAAc,QAAQ,MAAM;IAC7D;GAED,iBAAiB,EAChB,eAAe,EACd,cAAc,EACb,eAAe,MACf,EACD,EACD;GAED,MAAM;GAEN,OAAO;IACN,qCAAqC;IAErC,sBAAsB;IAEtB,YAAY;IACZ,cAAc;IACd,aAAa;IACb,kBAAkB;IAClB,wBAAwB;IACxB,YAAY;IACZ,yBAAyB;IACzB,oBAAoB;IAEpB,kBAAkB;IAElB,8BAA8B;IAE9B,8BAA8B;IAE9B,qCAAqC;IACrC,2CAA2C;IAC3C,0BAA0B;IAC1B,0BAA0B;IAC1B,uCAAuC;IACvC,mCAAmC;IACnC,4BAA4B;IAE5B,kCAAkC;IAElC,eAAe;IAEf,yBAAyB;IACzB,8BAA8B;IAE9B,GAAG;IACH;GACD;EACD;;;;AC7GF,MAAa,OAAO,OACnB,UAAiD,EAAE,KACf;CACpC,MAAM,EAAE,WAAW,WAAW,OAAO,OAAO,UAAU;CAEtD,MAAM,CAAC,kBAAkB,wBAAwB,MAAM,QAAQ,IAAI,CAClE,eAAe,OAAO,mBAAmB,EACzC,WAAW,eAAe,OAAO,0BAA0B,GAAG,KAAA,EAC9D,CAAC;CAEF,MAAM,SAAgC,CACrC;EACC,MAAM;EAEN,SAAS,EACR,MAAM,kBACN;EAED,OAAO,YAAY,iBAAiB,QAAQ,2BAA2B,OAAO,EAC7E,GAAG,QACH,CAAC;EACF,EAED;EACC,MAAM;EAEN,OAAO;GACN,0BAA0B;GAC1B,0BAA0B;GAC1B,6BAA6B;GAC7B,0BAA0B;GAC1B,uBAAuB;GACvB,8BAA8B;GAC9B,0CAA0C;GAC1C,8CAA8C;GAC9C,8BAA8B;GAE9B,GAAI,SAAS,gBAAgB,EAC5B,uBAAuB,SACvB;GAED,GAAI,SAAS,gBAAgB;IAC5B,0CAA0C;IAC1C,8CAA8C;IAC9C;GAED,GAAG;GACH;EACD,CACD;AAED,KAAI,YAAY,qBACf,QAAO,KAAK;EACX,MAAM;EAEN,SAAS,EACR,UAAU,sBACV;EAED,OAAO;GACN,GAAG,qBAAqB,QAAQ,YAAY;GAE5C,GAAG;GACH,GAAIC,WAAS,SAAS,IAAI,SAAS;GACnC;EACD,CAAC;AAGH,QAAO;;;;ACpER,MAAM,gBAAgB,OACrB,UAA0D,EAAE,KACxB;CACpC,MAAM,EAAE,cAAc;AAItB,QAAO,CACN;EACC,MAAM;EAEN,SAAS,EACR,eAP+B,MAAM,eAAe,OAAO,+BAA+B,EAQ1F;EAED,OAAO;GACN,qCAAqC,CACpC,QACA;IACC,OAAO;IACP,MAAM;IACN,CACD;GAED,8BAA8B,CAC7B,QACA;IACC,OAAO;IACP,MAAM;IACN,CACD;GAED,iCAAiC,CAChC,QACA;IACC,OAAO;IACP,MAAM;IACN,CACD;GAED,yCAAyC,CACxC,QACA;IACC,QAAQ;KACP;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;IACD,OAAO;IACP,MAAM;IACN,CACD;GAED,2BAA2B,CAC1B,QACA;IACC,OAAO;IACP,MAAM;IACN,CACD;GAED,mCAAmC,CAClC,QACA;IACC,OAAO;IACP,MAAM;IACN,CACD;GAED,8BAA8B,CAC7B,QACA;IACC,OAAO;IACP,MAAM;IACN,CACD;GAED,kCAAkC,CACjC,QACA;IACC,OAAO;IACP,MAAM;IACN,CACD;GAED,kCAAkC,CACjC,QACA;IACC,QAAQ;KACP;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;IACD,OAAO;IACP,MAAM;IACN,CACD;GACD,4CAA4C,CAC3C,QACA;IACC,OAAO;IACP,MAAM;IACN,CACD;GA+BD,GAAG;GACH;EACD,CACD;;;;AC7IF,eAAsB,KACrB,UAAiD,EAAE,EAClB;CACjC,MAAM,EAEL,WAAW,OACX,OAAO,MACP,WACA,OAAO,MACP,OAAO,SACJ;AAEJ,OAAM,eAAe,CAAC,qBAAqB,CAAC;CAE5C,MAAM,CAAC,kBAAkB,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KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;IACD,aAAa;IACb;GACD;IACC,OAAO,EAAE,MAAM,OAAO;IACtB,aAAa;IACb;GACD;IACC,OAAO,EAAE,MAAM,OAAO;IACtB,aAAa;IACb;GACD;IACC,OAAO,EAAE,MAAM,OAAO;IACtB,aAAa;IACb;GACD;IACC,OAAO,EAAE,MAAM,OAAO;IACtB,aAAa,OAAO,GAAG;IACvB;GACD;IACC,OAAO,EAAE,MAAM,OAAO;IACtB,aAAa,OAAO,GAAG;IACvB;GACD;IACC,OAAO;KAAC;KAAS;KAAU;KAAW;KAAU;IAChD,aAAa;IACb;GACD;IACC,OAAO;KAEN;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;IACD,aAAa;IACb;GACD;EACD;CACD,CACD;;;;;;AAQD,MAAa,qBAA4C,CACxD;CACC,OAAO,CAAC,uBAAuB,wBAAwB;CAEvD,MAAM;CAEN,OAAO,EACN,mBAAmB;EAClB;EACA;GACC,OAAO;IAAC;IAAW;IAAmB;IAAc;IAAS;IAAW;IAAU;GAClF,aAAa;GACb;EACD;GACC,OAAO;IAEN;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;IACA;IAGA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;IACA;GAED,aAAa;GACb;EACD,EACD;CACD,CACD;;;ACtPD,MAAM,YAAY,OACjB,UAAsD,EAAE,KACpB;CACpC,MAAM,EAAE,MAAM,MAAM,cA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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["isObject","isObject","isObject","isObject"],"sources":["../src/globs.ts","../src/configs/astro.ts","../src/configs/comments.ts","../src/configs/depend.ts","../src/configs/expo.ts","../src/configs/ignores.ts","../src/configs/imports.ts","../src/configs/javascript.ts","../src/configs/jsdoc.ts","../src/configs/jsonc.ts","../src/configs/jsx.ts","../src/configs/markdown.ts","../src/configs/node.ts","../src/configs/perfectionist.ts","../src/configs/pnpm.ts","../src/configs/react.ts","../src/configs/solid.ts","../src/configs/sort.ts","../src/configs/stylistic.ts","../src/configs/tailwindcss.ts","../src/configs/tanstack.ts","../src/configs/toml.ts","../src/configs/typescript.ts","../src/configs/unicorn.ts","../src/configs/vue.ts","../src/configs/yaml.ts","../src/factory.ts"],"sourcesContent":["import { defineEnum } from \"@zayne-labs/toolkit-type-helpers\";\n\nexport const GLOB_SRC_EXT = \"?([cm])[jt]s?(x)\";\nexport const GLOB_SRC = \"**/*.?([cm])[jt]s?(x)\";\n\nexport const GLOB_JS = \"**/*.?([cm])js\";\nexport const GLOB_JSX = \"**/*.?([cm])jsx\";\n\nexport const GLOB_TS = \"**/*.?([cm])ts\";\nexport const GLOB_TSX = \"**/*.?([cm])tsx\";\n\nexport const GLOB_STYLES = \"**/*.{c,le,sc}ss\";\nexport const GLOB_CSS = \"**/*.css\";\nexport const GLOB_POSTCSS = \"**/*.{p,post}css\";\nexport const GLOB_LESS = \"**/*.less\";\nexport const GLOB_SCSS = \"**/*.scss\";\n\nexport const GLOB_JSON = \"**/*.json\";\nexport const GLOB_JSON5 = \"**/*.json5\";\nexport const GLOB_JSONC = \"**/*.jsonc\";\n\nexport const GLOB_MARKDOWN = \"**/*.md?(x)\";\nexport const GLOB_MARKDOWN_IN_MARKDOWN = `${GLOB_MARKDOWN}/*.md?(x)`;\nexport const GLOB_SVELTE = \"**/*.svelte?(.{js,ts})\";\nexport const GLOB_VUE = \"**/*.vue\";\nexport const GLOB_YAML = \"**/*.y?(a)ml\";\nexport const GLOB_TOML = \"**/*.toml\";\nexport const GLOB_XML = \"**/*.xml\";\nexport const GLOB_SVG = \"**/*.svg\";\nexport const GLOB_HTML = \"**/*.htm?(l)\";\nexport const GLOB_ASTRO = \"**/*.astro\";\nexport const GLOB_ASTRO_TS = \"**/*.astro/*.ts\";\nexport const GLOB_GRAPHQL = \"**/*.{g,graph}ql\";\n\nexport const GLOB_MARKDOWN_CODE = `${GLOB_MARKDOWN}/${GLOB_SRC}`;\nexport const GLOB_MARKDOWN_JSON = `${GLOB_MARKDOWN}/**/*.json?({c,5})`;\n\nexport const GLOB_TESTS = defineEnum([\n\t`**/__tests__/**/*.${GLOB_SRC_EXT}`,\n\t`**/*.spec.${GLOB_SRC_EXT}`,\n\t`**/*.test.${GLOB_SRC_EXT}`,\n\t`**/*.bench.${GLOB_SRC_EXT}`,\n\t`**/*.benchmark.${GLOB_SRC_EXT}`,\n]);\n\nexport const GLOB_ALL_SRC = [\n\tGLOB_SRC,\n\tGLOB_STYLES,\n\tGLOB_JSON,\n\tGLOB_JSON5,\n\tGLOB_MARKDOWN,\n\tGLOB_SVELTE,\n\tGLOB_VUE,\n\tGLOB_YAML,\n\tGLOB_XML,\n\tGLOB_HTML,\n];\n\nexport const GLOB_EXCLUDE = defineEnum([\n\t\"**/node_modules\",\n\t\"**/dist\",\n\t\"**/package-lock.json\",\n\t\"**/yarn.lock\",\n\t\"**/pnpm-lock.yaml\",\n\t\"**/bun.lockb\",\n\n\t\"**/output\",\n\t\"**/coverage\",\n\t\"**/temp\",\n\t\"**/.temp\",\n\t\"**/tmp\",\n\t\"**/.tmp\",\n\t\"**/.history\",\n\t\"**/.vitepress/cache\",\n\t\"**/.nuxt\",\n\t\"**/.next\",\n\t\"**/.svelte-kit\",\n\t\"**/.vercel\",\n\t\"**/.changeset\",\n\t\"**/.idea\",\n\t\"**/.cache\",\n\t\"**/.output\",\n\t\"**/.vite-inspect\",\n\t\"**/.yarn\",\n\t\"**/vite.config.*.timestamp-*\",\n\n\t\"**/CHANGELOG*.md\",\n\t\"**/*.min.*\",\n\t\"**/LICENSE*\",\n\t\"**/__snapshots__\",\n\t\"**/auto-import?(s).d.ts\",\n\t\"**/components.d.ts\",\n]);\n","import { GLOB_ASTRO } from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { ensurePackages, interopDefault } from \"../utils\";\n\nexport const astro = async (\n\toptions: ExtractOptions<OptionsConfig[\"astro\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { files = [GLOB_ASTRO], overrides, typescript = true } = options;\n\n\tawait ensurePackages([\"eslint-plugin-astro\", \"astro-eslint-parser\"]);\n\n\tconst [eslintPluginAstro, parserAstro, tsEslint] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-astro\")),\n\t\tinteropDefault(import(\"astro-eslint-parser\")),\n\t\ttypescript ? interopDefault(import(\"typescript-eslint\")) : undefined,\n\t]);\n\n\tconst recommendedRules = eslintPluginAstro.configs.recommended\n\t\t.map((config) => config.rules)\n\t\t.reduce<TypedFlatConfigItem[\"rules\"]>((accumulator, rules) => ({ ...accumulator, ...rules }), {});\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/astro/setup\",\n\n\t\t\tplugins: {\n\t\t\t\tastro: eslintPluginAstro,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tlanguageOptions: {\n\t\t\t\tglobals: eslintPluginAstro.environments.astro.globals,\n\t\t\t\tparser: parserAstro,\n\t\t\t\tparserOptions: {\n\t\t\t\t\textraFileExtensions: [\".astro\"],\n\t\t\t\t\t...(typescript && { parser: tsEslint?.parser }),\n\t\t\t\t},\n\t\t\t\tsourceType: \"module\",\n\t\t\t},\n\n\t\t\tname: \"zayne/astro/parser\",\n\n\t\t\tprocessor: typescript ? \"astro/client-side-ts\" : \"astro/astro\",\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/astro/recommended\",\n\n\t\t\trules: recommendedRules,\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/astro/rules\",\n\n\t\t\trules: {\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n","import type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault } from \"../utils\";\n\nexport const comments = async (\n\toptions: ExtractOptions<OptionsConfig[\"comments\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, type = \"app\" } = options;\n\n\tconst eslintPluginComments = await interopDefault(\n\t\timport(\"@eslint-community/eslint-plugin-eslint-comments\")\n\t);\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/eslint-comments/rules\",\n\t\t\tplugins: {\n\t\t\t\t\"eslint-comments\": eslintPluginComments,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t\"eslint-comments/disable-enable-pair\": [\"error\", { allowWholeFile: true }],\n\t\t\t\t\"eslint-comments/no-aggregating-enable\": \"error\",\n\t\t\t\t\"eslint-comments/no-duplicate-disable\": \"error\",\n\t\t\t\t\"eslint-comments/no-unlimited-disable\": \"error\",\n\t\t\t\t\"eslint-comments/no-unused-enable\": \"error\",\n\n\t\t\t\t...(type !== \"app\" && {\n\t\t\t\t\t\"eslint-comments/require-description\": \"warn\",\n\t\t\t\t}),\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n","import { getDefaultAllowedDependencies } from \"@/constants/defaults\";\nimport { GLOB_SRC } from \"@/globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { ensurePackages, interopDefault } from \"../utils\";\n\nexport const depend = async (\n\toptions: ExtractOptions<OptionsConfig[\"depend\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { files = [GLOB_SRC], overrides } = options;\n\n\tawait ensurePackages([\"eslint-plugin-depend\"]);\n\n\tconst [eslintPluginDepend, jsoncParser] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-depend\")),\n\t\tinteropDefault(import(\"jsonc-eslint-parser\")),\n\t]);\n\n\tconst dependRules: TypedFlatConfigItem[\"rules\"] = {\n\t\t\"depend/ban-dependencies\": [\"error\", { allowed: getDefaultAllowedDependencies() }],\n\t};\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/depend/setup\",\n\n\t\t\tplugins: {\n\t\t\t\tdepend: eslintPluginDepend,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/depend/rules\",\n\n\t\t\trules: {\n\t\t\t\t...dependRules,\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles: [\"package.json\", \"**/package.json\"],\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: jsoncParser,\n\t\t\t},\n\n\t\t\tname: \"zayne/depend/recommended/package-json\",\n\n\t\t\tplugins: {\n\t\t\t\tdepend: eslintPluginDepend,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t...dependRules,\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n","import type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { ensurePackages, interopDefault, overrideConfigs } from \"../utils\";\n\nconst expo = async (\n\toptions: ExtractOptions<OptionsConfig[\"expo\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides } = options;\n\n\tawait ensurePackages([\"eslint-config-expo\"]);\n\n\tconst eslintConfigExpo = await interopDefault(import(\"eslint-config-expo/flat/utils/expo.js\"));\n\n\treturn [\n\t\t...overrideConfigs({\n\t\t\tconfigArray: eslintConfigExpo,\n\t\t\toverrides: { name: \"zayne/expo/recommended\" },\n\t\t}),\n\n\t\t{\n\t\t\tname: \"zayne/expo/rules\",\n\n\t\t\trules: { ...overrides },\n\t\t},\n\t];\n};\n\nexport { expo };\n","import { isFunction } from \"@zayne-labs/toolkit-type-helpers\";\nimport { globalIgnores } from \"eslint/config\";\nimport { GLOB_EXCLUDE } from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault } from \"../utils\";\n\nexport const ignores = (userIgnores: OptionsConfig[\"ignores\"] = []): TypedFlatConfigItem[] => {\n\tconst initIgnores = [...GLOB_EXCLUDE];\n\n\tconst resolvedUserIgnores = isFunction(userIgnores) ? userIgnores(initIgnores) : userIgnores;\n\n\treturn [globalIgnores([...initIgnores, ...resolvedUserIgnores], \"zayne/defaults/ignores\")];\n};\n\nexport const gitIgnores = async (\n\toptions?: ExtractOptions<OptionsConfig[\"gitignore\"]>\n): Promise<TypedFlatConfigItem[]> => {\n\tconst antfuGitIgnore = await interopDefault(import(\"eslint-config-flat-gitignore\"));\n\n\tconst config = antfuGitIgnore({\n\t\tname: \"zayne/gitignore/setup\",\n\t\tstrict: false,\n\t\t...options,\n\t});\n\n\treturn [config];\n};\n","import type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault } from \"../utils\";\n\nconst imports = async (\n\toptions: ExtractOptions<OptionsConfig[\"imports\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, stylistic = true, typescript = true } = options;\n\n\tconst eslintPluginImportX = await interopDefault(import(\"eslint-plugin-import-x\"));\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/import/setup\",\n\n\t\t\tplugins: {\n\t\t\t\timport: eslintPluginImportX,\n\t\t\t},\n\n\t\t\t...(typescript && {\n\t\t\t\tsettings: eslintPluginImportX.flatConfigs.typescript.settings,\n\t\t\t}),\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/import/recommended\",\n\n\t\t\trules: {\n\t\t\t\t...eslintPluginImportX.flatConfigs.recommended.rules,\n\t\t\t\t...(typescript && eslintPluginImportX.flatConfigs.typescript.rules),\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/import/rules\",\n\n\t\t\trules: {\n\t\t\t\t// == This rules keeps giving issues, so off for now\n\t\t\t\t\"import/extensions\": \"off\",\n\t\t\t\t// \"import/extensions\": [\n\t\t\t\t// \t\"error\",\n\t\t\t\t// \t\"never\",\n\t\t\t\t// \t{ ignorePackages: true, pattern: { css: \"always\", png: \"always\", svg: \"always\" } },\n\t\t\t\t// ],\n\t\t\t\t\"import/first\": \"error\",\n\t\t\t\t\"import/no-absolute-path\": \"error\",\n\t\t\t\t// \"import/no-cycle\": [\"error\", { ignoreExternal: true, maxDepth: 3 }],\n\t\t\t\t\"import/no-duplicates\": \"error\",\n\t\t\t\t\"import/no-extraneous-dependencies\": [\"error\", { devDependencies: true }],\n\t\t\t\t\"import/no-mutable-exports\": \"error\",\n\t\t\t\t\"import/no-named-default\": \"error\",\n\t\t\t\t\"import/no-relative-packages\": \"error\",\n\t\t\t\t\"import/no-self-import\": \"error\",\n\n\t\t\t\t// == This rule keeps giving issues, so off for now\n\t\t\t\t\"import/no-unresolved\": \"off\",\n\n\t\t\t\t\"import/no-useless-path-segments\": \"error\",\n\n\t\t\t\t...(stylistic && { \"import/newline-after-import\": \"error\" }),\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n\nexport { imports };\n","import globals from \"globals\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault } from \"../utils\";\n\nconst javascript = async (\n\toptions: ExtractOptions<OptionsConfig[\"javascript\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides } = options;\n\n\tconst eslintJs = await interopDefault(import(\"@eslint/js\"));\n\n\treturn [\n\t\t{\n\t\t\tlanguageOptions: {\n\t\t\t\tecmaVersion: \"latest\",\n\n\t\t\t\tglobals: {\n\t\t\t\t\t...globals.browser,\n\t\t\t\t\t...globals.node,\n\t\t\t\t\tdocument: \"readonly\",\n\t\t\t\t\tnavigator: \"readonly\",\n\t\t\t\t\twindow: \"readonly\",\n\t\t\t\t},\n\n\t\t\t\tparserOptions: {\n\t\t\t\t\tecmaVersion: \"latest\",\n\t\t\t\t\tsourceType: \"module\",\n\t\t\t\t},\n\n\t\t\t\tsourceType: \"module\",\n\t\t\t},\n\n\t\t\tlinterOptions: {\n\t\t\t\treportUnusedDisableDirectives: true,\n\t\t\t},\n\n\t\t\tname: \"zayne/js-eslint/setup\",\n\t\t},\n\n\t\t{\n\t\t\t...eslintJs.configs.recommended,\n\n\t\t\tname: \"zayne/js-eslint/recommended\",\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/js-eslint/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"accessor-pairs\": [\"error\", { enforceForClassMembers: true, setWithoutGet: true }],\n\t\t\t\t\"array-callback-return\": [\"error\", { allowImplicit: true }],\n\t\t\t\t\"block-scoped-var\": \"error\",\n\t\t\t\t\"class-methods-use-this\": \"error\",\n\t\t\t\tcomplexity: [\"warn\", 50],\n\t\t\t\t\"constructor-super\": \"error\",\n\t\t\t\tcurly: [\"error\", \"multi-line\"],\n\t\t\t\t\"default-case\": [\"error\", { commentPattern: \"^no default$\" }],\n\t\t\t\t\"default-case-last\": \"error\",\n\t\t\t\t\"default-param-last\": \"error\",\n\t\t\t\t\"dot-notation\": [\"error\", { allowKeywords: true }],\n\t\t\t\teqeqeq: [\"error\", \"always\", { null: \"ignore\" }],\n\t\t\t\t\"grouped-accessor-pairs\": \"error\",\n\t\t\t\t\"logical-assignment-operators\": \"warn\",\n\t\t\t\t\"max-depth\": [\"error\", 2],\n\t\t\t\t\"new-cap\": [\"error\", { capIsNew: false, newIsCap: true, properties: true }],\n\t\t\t\t\"no-alert\": \"warn\",\n\t\t\t\t\"no-array-constructor\": \"error\",\n\t\t\t\t\"no-async-promise-executor\": \"error\",\n\t\t\t\t\"no-await-in-loop\": \"error\",\n\t\t\t\t\"no-caller\": \"error\",\n\t\t\t\t\"no-case-declarations\": \"error\",\n\t\t\t\t\"no-class-assign\": \"error\",\n\t\t\t\t\"no-compare-neg-zero\": \"error\",\n\t\t\t\t\"no-cond-assign\": [\"error\", \"always\"],\n\t\t\t\t\"no-console\": [\"error\", { allow: [\"warn\", \"error\", \"info\", \"trace\"] }],\n\t\t\t\t\"no-const-assign\": \"error\",\n\t\t\t\t\"no-constant-condition\": \"warn\",\n\t\t\t\t\"no-constructor-return\": \"error\",\n\t\t\t\t\"no-control-regex\": \"error\",\n\t\t\t\t\"no-debugger\": \"error\",\n\t\t\t\t\"no-delete-var\": \"error\",\n\t\t\t\t\"no-dupe-args\": \"error\",\n\t\t\t\t\"no-dupe-class-members\": \"error\",\n\t\t\t\t\"no-dupe-keys\": \"error\",\n\t\t\t\t\"no-duplicate-case\": \"error\",\n\t\t\t\t\"no-else-return\": [\"error\", { allowElseIf: false }],\n\t\t\t\t\"no-empty\": [\"error\", { allowEmptyCatch: true }],\n\t\t\t\t\"no-empty-character-class\": \"error\",\n\t\t\t\t\"no-empty-pattern\": \"error\",\n\t\t\t\t\"no-eval\": [\"error\", { allowIndirect: true }],\n\t\t\t\t\"no-ex-assign\": \"error\",\n\t\t\t\t\"no-extend-native\": \"error\",\n\t\t\t\t\"no-extra-bind\": \"error\",\n\t\t\t\t\"no-extra-boolean-cast\": \"error\",\n\t\t\t\t\"no-fallthrough\": \"error\",\n\t\t\t\t\"no-func-assign\": \"error\",\n\t\t\t\t\"no-global-assign\": \"error\",\n\t\t\t\t\"no-implicit-coercion\": \"warn\",\n\t\t\t\t\"no-implied-eval\": \"error\",\n\t\t\t\t\"no-import-assign\": \"error\",\n\t\t\t\t\"no-invalid-regexp\": \"error\",\n\t\t\t\t\"no-irregular-whitespace\": \"error\",\n\t\t\t\t\"no-iterator\": \"error\",\n\t\t\t\t\"no-labels\": [\"error\", { allowLoop: false, allowSwitch: false }],\n\t\t\t\t\"no-lone-blocks\": \"error\",\n\t\t\t\t\"no-loop-func\": \"error\",\n\t\t\t\t\"no-loss-of-precision\": \"error\",\n\t\t\t\t\"no-misleading-character-class\": \"error\",\n\t\t\t\t\"no-multi-str\": \"error\",\n\t\t\t\t\"no-new\": \"error\",\n\t\t\t\t\"no-new-func\": \"error\",\n\t\t\t\t\"no-new-native-nonconstructor\": \"error\",\n\t\t\t\t\"no-new-wrappers\": \"error\",\n\t\t\t\t\"no-obj-calls\": \"error\",\n\t\t\t\t\"no-octal\": \"error\",\n\t\t\t\t\"no-octal-escape\": \"error\",\n\t\t\t\t\"no-param-reassign\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tignorePropertyModificationsFor: [\n\t\t\t\t\t\t\t\"acc\", // for reduce accumulators\n\t\t\t\t\t\t\t\"accumulator\", // for reduce accumulators\n\t\t\t\t\t\t\t\"e\", // for e.returnvalue\n\t\t\t\t\t\t\t\"ctx\", // for Koa routing\n\t\t\t\t\t\t\t\"context\", // for Koa routing\n\t\t\t\t\t\t\t\"req\", // for Express requests\n\t\t\t\t\t\t\t\"request\", // for Express requests\n\t\t\t\t\t\t\t\"res\", // for Express responses\n\t\t\t\t\t\t\t\"response\", // for Express responses\n\t\t\t\t\t\t\t\"$scope\", // for Angular 1 scopes\n\t\t\t\t\t\t\t\"staticContext\", // for ReactRouter context\n\t\t\t\t\t\t],\n\t\t\t\t\t\tprops: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"no-proto\": \"error\",\n\t\t\t\t\"no-prototype-builtins\": \"error\",\n\t\t\t\t\"no-redeclare\": [\"error\", { builtinGlobals: false }],\n\t\t\t\t\"no-regex-spaces\": \"error\",\n\t\t\t\t\"no-restricted-exports\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\trestrictedNamedExports: [\n\t\t\t\t\t\t\t\"default\", // use `export default` to provide a default export\n\t\t\t\t\t\t\t\"then\", // this will cause tons of confusion when your module is dynamically `import()`ed, and will break in most node ESM versions\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"no-restricted-globals\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\t\"Use Number.isFinite instead https://github.com/airbnb/javascript#standard-library--isfinite\",\n\t\t\t\t\t\tname: \"isFinite\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\t\"Use Number.isNaN instead https://github.com/airbnb/javascript#standard-library--isnan\",\n\t\t\t\t\t\tname: \"isNaN\",\n\t\t\t\t\t},\n\t\t\t\t\t{ message: \"Use `globalThis` instead.\", name: \"global\" },\n\t\t\t\t\t{ message: \"Use `globalThis` instead.\", name: \"self\" },\n\t\t\t\t],\n\t\t\t\t\"no-restricted-imports\": [\"off\", { paths: [], patterns: [] }],\n\t\t\t\t\"no-restricted-properties\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"arguments.callee is deprecated\",\n\t\t\t\t\t\tobject: \"arguments\",\n\t\t\t\t\t\tproperty: \"callee\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isFinite instead\",\n\t\t\t\t\t\tobject: \"global\",\n\t\t\t\t\t\tproperty: \"isFinite\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isFinite instead\",\n\t\t\t\t\t\tobject: \"self\",\n\t\t\t\t\t\tproperty: \"isFinite\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isFinite instead\",\n\t\t\t\t\t\tobject: \"window\",\n\t\t\t\t\t\tproperty: \"isFinite\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isNaN instead\",\n\t\t\t\t\t\tobject: \"global\",\n\t\t\t\t\t\tproperty: \"isNaN\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isNaN instead\",\n\t\t\t\t\t\tobject: \"self\",\n\t\t\t\t\t\tproperty: \"isNaN\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isNaN instead\",\n\t\t\t\t\t\tobject: \"window\",\n\t\t\t\t\t\tproperty: \"isNaN\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Use the exponentiation operator (**) instead.\",\n\t\t\t\t\t\tobject: \"Math\",\n\t\t\t\t\t\tproperty: \"pow\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Use `Object.getPrototypeOf` or `Object.setPrototypeOf` instead.\",\n\t\t\t\t\t\tproperty: \"__proto__\",\n\t\t\t\t\t},\n\t\t\t\t\t{ message: \"Use `Object.defineProperty` instead.\", property: \"__defineGetter__\" },\n\t\t\t\t\t{ message: \"Use `Object.defineProperty` instead.\", property: \"__defineSetter__\" },\n\t\t\t\t\t{ message: \"Use `Object.getOwnPropertyDescriptor` instead.\", property: \"__lookupGetter__\" },\n\t\t\t\t\t{ message: \"Use `Object.getOwnPropertyDescriptor` instead.\", property: \"__lookupSetter__\" },\n\t\t\t\t],\n\t\t\t\t\"no-restricted-syntax\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t\"ForInStatement\",\n\t\t\t\t\t\"LabeledStatement\",\n\t\t\t\t\t\"WithStatement\",\n\t\t\t\t\t\"TSEnumDeclaration[const=true]\",\n\t\t\t\t\t\"TSExportAssignment\",\n\t\t\t\t],\n\t\t\t\t\"no-return-assign\": [\"error\", \"except-parens\"],\n\t\t\t\t\"no-script-url\": \"error\",\n\t\t\t\t\"no-self-assign\": [\"error\", { props: true }],\n\t\t\t\t\"no-self-compare\": \"error\",\n\t\t\t\t\"no-sequences\": \"error\",\n\t\t\t\t\"no-shadow-restricted-names\": \"error\",\n\t\t\t\t\"no-sparse-arrays\": \"error\",\n\t\t\t\t\"no-template-curly-in-string\": \"error\",\n\t\t\t\t\"no-this-before-super\": \"error\",\n\t\t\t\t\"no-throw-literal\": \"error\",\n\t\t\t\t\"no-undef\": \"error\",\n\t\t\t\t\"no-undef-init\": \"error\",\n\t\t\t\t\"no-unexpected-multiline\": \"error\",\n\t\t\t\t\"no-unmodified-loop-condition\": \"error\",\n\t\t\t\t\"no-unneeded-ternary\": [\"warn\", { defaultAssignment: false }],\n\t\t\t\t\"no-unreachable\": \"error\",\n\t\t\t\t\"no-unreachable-loop\": \"error\",\n\t\t\t\t\"no-unsafe-finally\": \"error\",\n\t\t\t\t\"no-unsafe-negation\": \"error\",\n\t\t\t\t\"no-unused-expressions\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tallowShortCircuit: true,\n\t\t\t\t\t\tallowTaggedTemplates: true,\n\t\t\t\t\t\tallowTernary: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"no-unused-vars\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\targs: \"all\",\n\t\t\t\t\t\targsIgnorePattern: \"^_\",\n\t\t\t\t\t\tcaughtErrors: \"all\",\n\t\t\t\t\t\tdestructuredArrayIgnorePattern: \"^_\",\n\t\t\t\t\t\treportUsedIgnorePattern: true,\n\t\t\t\t\t\tvars: \"all\",\n\t\t\t\t\t\tvarsIgnorePattern: \"[iI]gnored\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"no-useless-backreference\": \"error\",\n\t\t\t\t\"no-useless-call\": \"error\",\n\t\t\t\t\"no-useless-catch\": \"error\",\n\t\t\t\t\"no-useless-computed-key\": \"error\",\n\t\t\t\t\"no-useless-concat\": \"error\",\n\t\t\t\t\"no-useless-constructor\": \"error\",\n\t\t\t\t\"no-useless-rename\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{ ignoreDestructuring: false, ignoreExport: false, ignoreImport: false },\n\t\t\t\t],\n\t\t\t\t\"no-useless-return\": \"error\",\n\t\t\t\t\"no-var\": \"error\",\n\t\t\t\t\"no-with\": \"error\",\n\t\t\t\t\"object-shorthand\": [\"error\", \"always\", { avoidQuotes: true, ignoreConstructors: false }],\n\t\t\t\t\"one-var\": [\"error\", { initialized: \"never\" }],\n\t\t\t\t\"operator-assignment\": \"warn\",\n\t\t\t\t\"prefer-arrow-callback\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tallowNamedFunctions: false,\n\t\t\t\t\t\tallowUnboundThis: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"prefer-const\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tdestructuring: \"all\",\n\t\t\t\t\t\tignoreReadBeforeAssign: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"prefer-exponentiation-operator\": \"error\",\n\t\t\t\t\"prefer-object-has-own\": \"error\",\n\t\t\t\t\"prefer-object-spread\": \"warn\",\n\t\t\t\t\"prefer-promise-reject-errors\": \"error\",\n\t\t\t\t\"prefer-regex-literals\": [\"error\", { disallowRedundantWrapping: true }],\n\t\t\t\t\"prefer-rest-params\": \"error\",\n\t\t\t\t\"prefer-spread\": \"error\",\n\t\t\t\t\"prefer-template\": \"error\",\n\t\t\t\t\"preserve-caught-error\": [\"error\", { requireCatchParameter: true }],\n\t\t\t\tradix: \"error\",\n\t\t\t\t\"symbol-description\": \"error\",\n\t\t\t\t\"unicode-bom\": [\"error\", \"never\"],\n\t\t\t\t\"use-isnan\": [\"error\", { enforceForIndexOf: true, enforceForSwitchCase: true }],\n\t\t\t\t\"valid-typeof\": [\"error\", { requireStringLiterals: true }],\n\t\t\t\t\"vars-on-top\": \"error\",\n\t\t\t\tyoda: [\"error\", \"never\"],\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n\nexport { javascript };\n","import type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault } from \"../utils\";\n\nconst jsdoc = async (\n\toptions: ExtractOptions<OptionsConfig[\"jsdoc\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, stylistic = true } = options;\n\n\tconst eslintPluginJsdoc = await interopDefault(import(\"eslint-plugin-jsdoc\"));\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/jsdoc/rules\",\n\n\t\t\tplugins: {\n\t\t\t\tjsdoc: eslintPluginJsdoc,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t\"jsdoc/check-access\": \"warn\",\n\t\t\t\t\"jsdoc/check-param-names\": \"warn\",\n\t\t\t\t\"jsdoc/check-property-names\": \"warn\",\n\t\t\t\t\"jsdoc/check-types\": \"warn\",\n\t\t\t\t\"jsdoc/empty-tags\": \"warn\",\n\t\t\t\t\"jsdoc/implements-on-classes\": \"warn\",\n\t\t\t\t\"jsdoc/no-defaults\": \"warn\",\n\t\t\t\t\"jsdoc/no-multi-asterisks\": \"warn\",\n\t\t\t\t\"jsdoc/require-description\": [\"warn\", { descriptionStyle: \"any\" }],\n\t\t\t\t\"jsdoc/require-param-name\": \"warn\",\n\t\t\t\t\"jsdoc/require-property\": \"warn\",\n\t\t\t\t\"jsdoc/require-property-description\": \"warn\",\n\t\t\t\t\"jsdoc/require-property-name\": \"warn\",\n\t\t\t\t\"jsdoc/require-returns-check\": \"warn\",\n\t\t\t\t\"jsdoc/require-returns-description\": \"warn\",\n\t\t\t\t\"jsdoc/require-yields-check\": \"warn\",\n\n\t\t\t\t...(stylistic && {\n\t\t\t\t\t\"jsdoc/check-alignment\": \"warn\",\n\t\t\t\t\t\"jsdoc/multiline-blocks\": \"warn\",\n\t\t\t\t\t\"jsdoc/require-description\": [\"warn\", { descriptionStyle: \"tag\" }],\n\t\t\t\t}),\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n\nexport { jsdoc };\n","import { GLOB_JSON, GLOB_JSON5, GLOB_JSONC } from \"@/globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault } from \"../utils\";\n\nconst jsonc = async (\n\toptions: ExtractOptions<OptionsConfig[\"jsonc\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { files = [GLOB_JSON, GLOB_JSON5, GLOB_JSONC], overrides } = options;\n\n\tconst [eslintPluginJsonc, parserJsonc] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-jsonc\")),\n\t\tinteropDefault(import(\"jsonc-eslint-parser\")),\n\t]);\n\n\tconst recommendedRules = eslintPluginJsonc.configs[\"flat/recommended-with-jsonc\"]\n\t\t.map((config) => config.rules)\n\t\t.reduce<TypedFlatConfigItem[\"rules\"]>((accumulator, rules) => ({ ...accumulator, ...rules }), {});\n\n\tconst disablePrettierRules = eslintPluginJsonc.configs[\"flat/prettier\"].at(-1)?.rules;\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/jsonc/setup\",\n\n\t\t\tplugins: {\n\t\t\t\tjsonc: eslintPluginJsonc,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: parserJsonc,\n\t\t\t},\n\n\t\t\tname: \"zayne/jsonc/parser\",\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/jsonc/recommended\",\n\n\t\t\trules: recommendedRules,\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/jsonc/rules\",\n\n\t\t\trules: {\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/jsonc/disables-prettier\",\n\n\t\t\trules: disablePrettierRules,\n\t\t},\n\t];\n};\n\nexport { jsonc };\n","import { GLOB_JSX, GLOB_TSX } from \"@/globs\";\nimport { ensurePackages, interopDefault, isObject } from \"@/utils\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\n\nconst jsx = async (options: ExtractOptions<OptionsConfig[\"jsx\"]> = {}): Promise<TypedFlatConfigItem[]> => {\n\tconst { a11y = false, overrides } = options;\n\n\tawait ensurePackages([a11y ? \"eslint-plugin-jsx-a11y\" : undefined]);\n\n\tconst eslintPluginJsxA11y = a11y ? await interopDefault(import(\"eslint-plugin-jsx-a11y\")) : undefined;\n\n\tconst config: TypedFlatConfigItem[] = [];\n\n\tconst files = [GLOB_JSX, GLOB_TSX];\n\n\tconfig.push({\n\t\tfiles,\n\n\t\tlanguageOptions: {\n\t\t\tparserOptions: {\n\t\t\t\tecmaFeatures: {\n\t\t\t\t\tjsx: true,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tname: \"zayne/jsx/setup\",\n\t});\n\n\tif (a11y && eslintPluginJsxA11y) {\n\t\tconfig.push(\n\t\t\t{\n\t\t\t\tname: \"zayne/jsx/a11y/setup\",\n\n\t\t\t\tplugins: {\n\t\t\t\t\t\"jsx-a11y\": eslintPluginJsxA11y,\n\t\t\t\t},\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tfiles,\n\n\t\t\t\tname: \"zayne/jsx/a11y/recommended\",\n\n\t\t\t\trules: eslintPluginJsxA11y.flatConfigs.recommended.rules,\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tfiles,\n\n\t\t\t\tname: \"zayne/jsx/a11y/rules\",\n\n\t\t\t\trules: {\n\t\t\t\t\t...overrides,\n\t\t\t\t\t...(isObject(a11y) && a11y.overrides),\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t}\n\n\treturn config;\n};\n\nexport { jsx };\n","import { mergeProcessors, processorPassThrough } from \"eslint-merge-processors\";\nimport {\n\tGLOB_MARKDOWN,\n\tGLOB_MARKDOWN_CODE,\n\tGLOB_MARKDOWN_IN_MARKDOWN,\n\tGLOB_MARKDOWN_JSON,\n} from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault, parserPlain } from \"../utils\";\n\nexport const markdown = async (\n\toptions: ExtractOptions<OptionsConfig[\"markdown\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { componentExts = [], files = [GLOB_MARKDOWN], overrides } = options;\n\n\tconst eslintPluginMarkdown = await interopDefault(import(\"@eslint/markdown\"));\n\n\tconst recommendedRules = eslintPluginMarkdown.configs.recommended\n\t\t.map((config) => config.rules)\n\t\t.reduce<TypedFlatConfigItem[\"rules\"]>((accumulator, rules) => ({ ...accumulator, ...rules }), {});\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/markdown/setup\",\n\n\t\t\tplugins: {\n\t\t\t\tmarkdown: eslintPluginMarkdown,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: parserPlain,\n\t\t\t},\n\n\t\t\tname: \"zayne/markdown/parser\",\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\t\t\tignores: [GLOB_MARKDOWN_IN_MARKDOWN],\n\t\t\tname: \"zayne/markdown/processor\",\n\t\t\t// `@eslint/markdown` only creates virtual files for code blocks, but not the markdown file itself.\n\t\t\t// We use `eslint-merge-processors` to add a pass-through processor for the markdown file itself.\n\t\t\tprocessor: mergeProcessors([eslintPluginMarkdown.processors.markdown, processorPassThrough]),\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/markdown/recommended\",\n\t\t\trules: recommendedRules,\n\t\t},\n\n\t\t{\n\t\t\tfiles: [\n\t\t\t\t...files,\n\t\t\t\tGLOB_MARKDOWN_CODE,\n\t\t\t\tGLOB_MARKDOWN_JSON,\n\t\t\t\t...componentExts.map((ext) => `${GLOB_MARKDOWN}/**/*.${ext}`),\n\t\t\t],\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparserOptions: {\n\t\t\t\t\tecmaFeatures: {\n\t\t\t\t\t\timpliedStrict: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tname: \"zayne/markdown/disables\",\n\n\t\t\trules: {\n\t\t\t\t\"import/no-extraneous-dependencies\": \"off\",\n\n\t\t\t\t\"jsonc/no-dupe-keys\": \"off\",\n\n\t\t\t\t\"no-alert\": \"off\",\n\t\t\t\t\"no-console\": \"off\",\n\t\t\t\t\"no-labels\": \"off\",\n\t\t\t\t\"no-lone-blocks\": \"off\",\n\t\t\t\t\"no-restricted-syntax\": \"off\",\n\t\t\t\t\"no-undef\": \"off\",\n\t\t\t\t\"no-unused-expressions\": \"off\",\n\t\t\t\t\"no-unused-labels\": \"off\",\n\n\t\t\t\t\"no-unused-vars\": \"off\",\n\n\t\t\t\t\"node/prefer-global/process\": \"off\",\n\n\t\t\t\t\"perfectionist/sort-objects\": \"off\",\n\n\t\t\t\t\"ts-eslint/consistent-type-imports\": \"off\",\n\t\t\t\t\"ts-eslint/explicit-function-return-type\": \"off\",\n\t\t\t\t\"ts-eslint/no-namespace\": \"off\",\n\t\t\t\t\"ts-eslint/no-redeclare\": \"off\",\n\t\t\t\t\"ts-eslint/no-require-imports-eslint\": \"off\",\n\t\t\t\t\"ts-eslint/no-unused-expressions\": \"off\",\n\t\t\t\t\"ts-eslint/no-unused-vars\": \"off\",\n\n\t\t\t\t\"ts-eslint/no-use-before-define\": \"off\",\n\n\t\t\t\t\"unicode-bom\": \"off\",\n\n\t\t\t\t\"unicorn/filename-case\": \"off\",\n\t\t\t\t\"unicorn/prefer-export-from\": \"off\",\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n","import type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault, isObject, renameRules } from \"../utils\";\n\nexport const node = async (\n\toptions: ExtractOptions<OptionsConfig[\"node\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, security = false, type = \"app\" } = options;\n\n\tconst [eslintPluginNode, eslintPluginSecurity] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-n\")),\n\t\tsecurity ? interopDefault(import(\"eslint-plugin-security\")) : undefined,\n\t]);\n\n\tconst config: TypedFlatConfigItem[] = [\n\t\t{\n\t\t\tname: \"zayne/node/recommended\",\n\n\t\t\tplugins: {\n\t\t\t\tnode: eslintPluginNode,\n\t\t\t},\n\n\t\t\trules: renameRules(eslintPluginNode.configs[\"flat/recommended-module\"].rules, {\n\t\t\t\tn: \"node\",\n\t\t\t}),\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/node/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"node/no-deprecated-api\": \"error\",\n\t\t\t\t\"node/no-exports-assign\": \"error\",\n\t\t\t\t\"node/no-extraneous-import\": \"off\", // `eslint-plugin-import-x` handles this\n\t\t\t\t\"node/no-missing-import\": \"off\",\n\t\t\t\t\"node/no-path-concat\": \"error\",\n\t\t\t\t\"node/no-unpublished-import\": \"off\",\n\t\t\t\t\"node/no-unsupported-features/es-syntax\": \"off\",\n\t\t\t\t\"node/no-unsupported-features/node-builtins\": \"off\",\n\t\t\t\t\"node/process-exit-as-throw\": \"error\",\n\n\t\t\t\t...(type === \"app-strict\" && {\n\t\t\t\t\t\"node/no-process-env\": \"error\",\n\t\t\t\t}),\n\n\t\t\t\t...(type === \"lib-strict\" && {\n\t\t\t\t\t\"node/no-unsupported-features/es-syntax\": \"error\",\n\t\t\t\t\t\"node/no-unsupported-features/node-builtins\": \"error\",\n\t\t\t\t}),\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n\n\tif (security && eslintPluginSecurity) {\n\t\tconfig.push({\n\t\t\tname: \"zayne/node/security/recommended\",\n\n\t\t\tplugins: {\n\t\t\t\tsecurity: eslintPluginSecurity,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t...eslintPluginSecurity.configs.recommended.rules,\n\n\t\t\t\t...overrides,\n\t\t\t\t...(isObject(security) && security.overrides),\n\t\t\t},\n\t\t});\n\t}\n\n\treturn config;\n};\n","import type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault } from \"../utils\";\n\nconst perfectionist = async (\n\toptions: ExtractOptions<OptionsConfig[\"perfectionist\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides } = options;\n\n\tconst eslintPluginPerfectionist = await interopDefault(import(\"eslint-plugin-perfectionist\"));\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/perfectionist/rules\",\n\n\t\t\tplugins: {\n\t\t\t\tperfectionist: eslintPluginPerfectionist,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t\"perfectionist/sort-array-includes\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-classes\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-interfaces\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-intersection-types\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\tgroups: [\n\t\t\t\t\t\t\t\"conditional\",\n\t\t\t\t\t\t\t\"literal\",\n\t\t\t\t\t\t\t\"import\",\n\t\t\t\t\t\t\t\"intersection\",\n\t\t\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\t\t\"tuple\",\n\t\t\t\t\t\t\t\"named\",\n\t\t\t\t\t\t\t\"object\",\n\t\t\t\t\t\t\t\"function\",\n\t\t\t\t\t\t\t\"operator\",\n\t\t\t\t\t\t\t\"union\",\n\t\t\t\t\t\t\t\"nullish\",\n\t\t\t\t\t\t],\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-maps\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-object-types\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-objects\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-switch-case\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-union-types\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\tgroups: [\n\t\t\t\t\t\t\t\"conditional\",\n\t\t\t\t\t\t\t\"literal\",\n\t\t\t\t\t\t\t\"import\",\n\t\t\t\t\t\t\t\"intersection\",\n\t\t\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\t\t\"tuple\",\n\t\t\t\t\t\t\t\"named\",\n\t\t\t\t\t\t\t\"object\",\n\t\t\t\t\t\t\t\"function\",\n\t\t\t\t\t\t\t\"operator\",\n\t\t\t\t\t\t\t\"union\",\n\t\t\t\t\t\t\t\"nullish\",\n\t\t\t\t\t\t],\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"perfectionist/sort-variable-declarations\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t// \"perfectionist/sort-svelte-attributes\": [\n\t\t\t\t// \t\"warn\",\n\t\t\t\t// \t{\n\t\t\t\t// \t\torder: \"asc\",\n\t\t\t\t// \t\ttype: \"alphabetical\",\n\t\t\t\t// \t},\n\t\t\t\t// ],\n\t\t\t\t// \"perfectionist/sort-astro-attributes\": [\n\t\t\t\t// \t\"warn\",\n\t\t\t\t// \t{\n\t\t\t\t// \t\torder: \"asc\",\n\t\t\t\t// \t\ttype: \"alphabetical\",\n\t\t\t\t// \t},\n\t\t\t\t// ],\n\t\t\t\t// \"perfectionist/sort-vue-attributes\": [\n\t\t\t\t// \t\"warn\",\n\t\t\t\t// \t{\n\t\t\t\t// \t\torder: \"asc\",\n\t\t\t\t// \t\ttype: \"alphabetical\",\n\t\t\t\t// \t},\n\t\t\t\t// ],\n\t\t\t\t// \"perfectionist/sort-jsx-props\": [\n\t\t\t\t// \t\"warn\",\n\t\t\t\t// \t{\n\t\t\t\t// \t\t// ignorePattern: [\"src\"],\n\t\t\t\t// \t\torder: \"asc\",\n\t\t\t\t// \t\ttype: \"alphabetical\",\n\t\t\t\t// \t},\n\t\t\t\t// ],\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n\nexport { perfectionist };\n","// import fs from \"node:fs/promises\";\n// import { findUp } from \"find-up-simple\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"@/types\";\nimport { ensurePackages, interopDefault } from \"@/utils\";\n\n// const detectCatalogUsage = async (): Promise<boolean> => {\n// \tconst workspaceFile = await findUp(\"pnpm-workspace.yaml\");\n\n// \tif (!workspaceFile) {\n// \t\treturn false;\n// \t}\n\n// \tconst yaml = await fs.readFile(workspaceFile, \"utf8\");\n\n// \treturn yaml.includes(\"catalog:\") || yaml.includes(\"catalogs:\");\n// };\n\nexport async function pnpm(\n\toptions: ExtractOptions<OptionsConfig[\"pnpm\"]> = {}\n): Promise<TypedFlatConfigItem[]> {\n\tconst {\n\t\t// catalogs = await detectCatalogUsage(),\n\t\tcatalogs = false,\n\t\tjson = true,\n\t\toverrides,\n\t\tsort = true,\n\t\tyaml = true,\n\t} = options;\n\n\tawait ensurePackages([\"eslint-plugin-pnpm\"]);\n\n\tconst [eslintPluginPnpm, yamlParser, eslintPluginYaml, jsoncParser] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-pnpm\")),\n\t\tinteropDefault(import(\"yaml-eslint-parser\")),\n\t\tinteropDefault(import(\"eslint-plugin-yml\")),\n\t\tinteropDefault(import(\"jsonc-eslint-parser\")),\n\t]);\n\n\tconst configs: TypedFlatConfigItem[] = [];\n\n\tif (json) {\n\t\tconfigs.push({\n\t\t\tfiles: [\"package.json\", \"**/package.json\"],\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: jsoncParser,\n\t\t\t},\n\n\t\t\tname: \"zayne/pnpm/package-json/rules\",\n\n\t\t\tplugins: {\n\t\t\t\tpnpm: eslintPluginPnpm,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t...(catalogs && {\n\t\t\t\t\t\"pnpm/json-enforce-catalog\": [\"error\", { ignores: [\"@types/vscode\"] }],\n\t\t\t\t}),\n\t\t\t\t\"pnpm/json-prefer-workspace-settings\": \"error\",\n\t\t\t\t\"pnpm/json-valid-catalog\": \"error\",\n\n\t\t\t\t...overrides?.json,\n\t\t\t},\n\t\t});\n\t}\n\n\tif (yaml) {\n\t\tconfigs.push({\n\t\t\tfiles: [\"pnpm-workspace.yaml\"],\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: yamlParser,\n\t\t\t},\n\n\t\t\tname: \"zayne/pnpm/pnpm-workspace-yaml/rules\",\n\n\t\t\tplugins: {\n\t\t\t\tpnpm: eslintPluginPnpm,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t// \"pnpm/yaml-enforce-settings\": [\n\t\t\t\t// \t\"error\",\n\t\t\t\t// \t{\n\t\t\t\t// \t\tsettings: {\n\t\t\t\t// \t\t\tshellEmulator: true,\n\t\t\t\t// \t\t\ttrustPolicy: \"no-downgrade\",\n\t\t\t\t// \t\t},\n\t\t\t\t// \t},\n\t\t\t\t// ],\n\t\t\t\t\"pnpm/yaml-no-duplicate-catalog-item\": \"error\",\n\t\t\t\t\"pnpm/yaml-no-unused-catalog-item\": \"error\",\n\n\t\t\t\t...overrides?.yaml,\n\t\t\t},\n\t\t});\n\t}\n\n\tif (yaml && sort) {\n\t\tconfigs.push({\n\t\t\tfiles: [\"pnpm-workspace.yaml\"],\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: yamlParser,\n\t\t\t},\n\t\t\tname: \"zayne/pnpm/sort/pnpm-workspace-yaml\",\n\n\t\t\tplugins: {\n\t\t\t\tyaml: eslintPluginYaml,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t\"yaml/sort-keys\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: [\n\t\t\t\t\t\t\t// Settings\n\t\t\t\t\t\t\t// @keep-sorted\n\t\t\t\t\t\t\t\"cacheDir\",\n\t\t\t\t\t\t\t\"catalogMode\",\n\t\t\t\t\t\t\t\"cleanupUnusedCatalogs\",\n\t\t\t\t\t\t\t\"dedupeDirectDeps\",\n\t\t\t\t\t\t\t\"deployAllFiles\",\n\t\t\t\t\t\t\t\"enablePrePostScripts\",\n\t\t\t\t\t\t\t\"engineStrict\",\n\t\t\t\t\t\t\t\"extendNodePath\",\n\t\t\t\t\t\t\t\"hoist\",\n\t\t\t\t\t\t\t\"hoistPattern\",\n\t\t\t\t\t\t\t\"hoistWorkspacePackages\",\n\t\t\t\t\t\t\t\"ignoreCompatibilityDb\",\n\t\t\t\t\t\t\t\"ignoreDepScripts\",\n\t\t\t\t\t\t\t\"ignoreScripts\",\n\t\t\t\t\t\t\t\"ignoreWorkspaceRootCheck\",\n\t\t\t\t\t\t\t\"managePackageManagerVersions\",\n\t\t\t\t\t\t\t\"minimumReleaseAge\",\n\t\t\t\t\t\t\t\"minimumReleaseAgeExclude\",\n\t\t\t\t\t\t\t\"modulesDir\",\n\t\t\t\t\t\t\t\"nodeLinker\",\n\t\t\t\t\t\t\t\"nodeVersion\",\n\t\t\t\t\t\t\t\"optimisticRepeatInstall\",\n\t\t\t\t\t\t\t\"packageManagerStrict\",\n\t\t\t\t\t\t\t\"packageManagerStrictVersion\",\n\t\t\t\t\t\t\t\"preferSymlinkedExecutables\",\n\t\t\t\t\t\t\t\"preferWorkspacePackages\",\n\t\t\t\t\t\t\t\"publicHoistPattern\",\n\t\t\t\t\t\t\t\"registrySupportsTimeField\",\n\t\t\t\t\t\t\t\"requiredScripts\",\n\t\t\t\t\t\t\t\"resolutionMode\",\n\t\t\t\t\t\t\t\"savePrefix\",\n\t\t\t\t\t\t\t\"scriptShell\",\n\t\t\t\t\t\t\t\"shamefullyHoist\",\n\t\t\t\t\t\t\t\"shellEmulator\",\n\t\t\t\t\t\t\t\"stateDir\",\n\t\t\t\t\t\t\t\"supportedArchitectures\",\n\t\t\t\t\t\t\t\"symlink\",\n\t\t\t\t\t\t\t\"tag\",\n\t\t\t\t\t\t\t\"trustPolicy\",\n\t\t\t\t\t\t\t\"trustPolicyExclude\",\n\t\t\t\t\t\t\t\"updateNotifier\",\n\n\t\t\t\t\t\t\t// Packages and dependencies\n\t\t\t\t\t\t\t\"packages\",\n\t\t\t\t\t\t\t\"overrides\",\n\t\t\t\t\t\t\t\"patchedDependencies\",\n\t\t\t\t\t\t\t\"catalog\",\n\t\t\t\t\t\t\t\"catalogs\",\n\n\t\t\t\t\t\t\t// Other\n\t\t\t\t\t\t\t// @keep-sorted\n\t\t\t\t\t\t\t\"allowedDeprecatedVersions\",\n\t\t\t\t\t\t\t\"allowNonAppliedPatches\",\n\t\t\t\t\t\t\t\"configDependencies\",\n\t\t\t\t\t\t\t\"ignoredBuiltDependencies\",\n\t\t\t\t\t\t\t\"ignoredOptionalDependencies\",\n\t\t\t\t\t\t\t\"neverBuiltDependencies\",\n\t\t\t\t\t\t\t\"onlyBuiltDependencies\",\n\t\t\t\t\t\t\t\"onlyBuiltDependenciesFile\",\n\t\t\t\t\t\t\t\"packageExtensions\",\n\t\t\t\t\t\t\t\"peerDependencyRules\",\n\t\t\t\t\t\t],\n\t\t\t\t\t\tpathPattern: \"^$\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\t\tpathPattern: \".*\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t});\n\t}\n\n\treturn configs;\n}\n","import { isObject } from \"@zayne-labs/toolkit-type-helpers\";\nimport { isPackageExists } from \"local-pkg\";\nimport {\n\tgetDefaultAllowedNextJsExportNames,\n\tgetDefaultAllowedReactRouterExportNames,\n\tgetDefaultPluginRenameMap,\n} from \"../constants/defaults\";\nimport { GLOB_ASTRO_TS, GLOB_MARKDOWN, GLOB_SRC, GLOB_TS, GLOB_TSX } from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { ensurePackages, interopDefault, renamePlugins, renameRules } from \"../utils\";\n\n// React refresh\nconst ReactRefreshAllowConstantExportPackages = [\"vite\"];\nconst ReactRouterPackages = [\n\t\"@react-router/node\",\n\t\"@react-router/react\",\n\t\"@react-router/serve\",\n\t\"@react-router/dev\",\n];\nconst NextJsPackages = [\"next\"];\n\nconst isAllowConstantExport = ReactRefreshAllowConstantExportPackages.some((i) => isPackageExists(i));\nconst isUsingReactRouter = ReactRouterPackages.some((i) => isPackageExists(i));\nconst isUsingNext = NextJsPackages.some((i) => isPackageExists(i));\n\nconst react = async (\n\toptions: ExtractOptions<OptionsConfig[\"react\"]> = {}\n\t// eslint-disable-next-line complexity -- Ignore\n): Promise<TypedFlatConfigItem[]> => {\n\tconst {\n\t\tcompiler = true,\n\t\tfiles = [GLOB_SRC],\n\t\tfilesTypeAware = [GLOB_TS, GLOB_TSX],\n\t\tignoresTypeAware = [`${GLOB_MARKDOWN}/**`, GLOB_ASTRO_TS],\n\t\tnextjs = isUsingNext,\n\t\toverrides,\n\t\treact: enableReact = true,\n\t\trefresh = true,\n\t\ttypescript = true,\n\t\tyouMightNotNeedAnEffect = true,\n\t} = options;\n\n\tawait ensurePackages([\n\t\tenableReact ? \"@eslint-react/eslint-plugin\" : undefined,\n\t\tenableReact ? \"eslint-plugin-react-hooks\" : undefined,\n\t\trefresh ? \"eslint-plugin-react-refresh\" : undefined,\n\t\tyouMightNotNeedAnEffect ? \"eslint-plugin-react-you-might-not-need-an-effect\" : undefined,\n\t\tnextjs ? \"@next/eslint-plugin-next\" : undefined,\n\t]);\n\n\tconst [\n\t\teslintPluginReact,\n\t\teslintReactHooks,\n\t\teslintPluginReactRefresh,\n\t\teslintPluginReactYouMightNotNeedAnEffect,\n\t\teslintPluginNextjs,\n\t] = await Promise.all([\n\t\tenableReact ? interopDefault(import(\"@eslint-react/eslint-plugin\")) : undefined,\n\t\tenableReact ? interopDefault(import(\"eslint-plugin-react-hooks\")) : undefined,\n\t\trefresh ? interopDefault(import(\"eslint-plugin-react-refresh\")) : undefined,\n\t\tyouMightNotNeedAnEffect ?\n\t\t\tinteropDefault(import(\"eslint-plugin-react-you-might-not-need-an-effect\"))\n\t\t:\tundefined,\n\t\tnextjs ? interopDefault(import(\"@next/eslint-plugin-next\")) : undefined,\n\t]);\n\n\tconst strictConfigKey = typescript ? \"strict-type-checked\" : \"strict\";\n\n\tconst strictReactConfig = eslintPluginReact?.configs[strictConfigKey];\n\n\tconst config: TypedFlatConfigItem[] = [\n\t\t{\n\t\t\tlanguageOptions: {\n\t\t\t\tparserOptions: {\n\t\t\t\t\tecmaFeatures: { jsx: true },\n\t\t\t\t\tsourceType: \"module\",\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tname: \"zayne/react/setup\",\n\n\t\t\tplugins: {\n\t\t\t\t...(strictReactConfig\n\t\t\t\t\t&& renamePlugins(\n\t\t\t\t\t\t(strictReactConfig as { plugins: Record<string, unknown> }).plugins,\n\t\t\t\t\t\tgetDefaultPluginRenameMap()\n\t\t\t\t\t)),\n\t\t\t\t...(eslintReactHooks && {\n\t\t\t\t\t\"react-hooks\": eslintReactHooks,\n\t\t\t\t}),\n\t\t\t\t...(eslintPluginReactRefresh && {\n\t\t\t\t\t\"react-refresh\": eslintPluginReactRefresh,\n\t\t\t\t}),\n\t\t\t\t...(eslintPluginReactYouMightNotNeedAnEffect && {\n\t\t\t\t\t\"react-you-might-not-need-an-effect\": eslintPluginReactYouMightNotNeedAnEffect,\n\t\t\t\t}),\n\t\t\t\t...(eslintPluginNextjs && {\n\t\t\t\t\tnextjs: eslintPluginNextjs,\n\t\t\t\t}),\n\t\t\t},\n\t\t},\n\t];\n\n\tif (enableReact && strictReactConfig && eslintReactHooks) {\n\t\tconfig.push(\n\t\t\t{\n\t\t\t\tfiles,\n\n\t\t\t\tname: \"zayne/react/official/rules\",\n\n\t\t\t\trules: {\n\t\t\t\t\t// Turn these off since the unofficial plugin supports them and is faster\n\t\t\t\t\t// \"react-hooks/exhaustive-deps\": \"warn\",\n\t\t\t\t\t// \"react-hooks/rules-of-hooks\": \"error\",\n\t\t\t\t},\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tfiles: typescript ? filesTypeAware : files,\n\n\t\t\t\t...(typescript && { ignores: ignoresTypeAware }),\n\n\t\t\t\tname: `zayne/react/unofficial/${strictConfigKey}`,\n\n\t\t\t\trules: renameRules(strictReactConfig.rules, getDefaultPluginRenameMap()),\n\n\t\t\t\tsettings: strictReactConfig.settings,\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tfiles,\n\n\t\t\t\tname: \"zayne/react/unofficial/rules\",\n\n\t\t\t\trules: {\n\t\t\t\t\t\"react-x/jsx-shorthand-boolean\": [\"error\", -1],\n\t\t\t\t\t\"react-x/jsx-shorthand-fragment\": \"warn\",\n\t\t\t\t\t\"react-x/no-children-count\": \"off\",\n\t\t\t\t\t\"react-x/no-children-only\": \"off\",\n\t\t\t\t\t\"react-x/no-clone-element\": \"off\",\n\t\t\t\t\t\"react-x/no-implicit-key\": \"off\",\n\t\t\t\t\t\"react-x/no-missing-component-display-name\": \"warn\",\n\n\t\t\t\t\t/* eslint-disable perfectionist/sort-objects -- Allow */\n\t\t\t\t\t\"react-x/exhaustive-deps\": \"warn\",\n\t\t\t\t\t\"react-x/rules-of-hooks\": \"error\",\n\t\t\t\t\t/* eslint-enable perfectionist/sort-objects -- Allow */\n\n\t\t\t\t\t...overrides,\n\t\t\t\t\t...(isObject(enableReact) && enableReact.overrides),\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t}\n\n\tif (compiler && eslintPluginReact) {\n\t\tconfig.push({\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/react/official/compiler/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"react-hooks/capitalized-calls\": \"error\",\n\t\t\t\t\"react-hooks/config\": \"error\",\n\t\t\t\t\"react-hooks/error-boundaries\": \"error\",\n\t\t\t\t\"react-hooks/gating\": \"error\",\n\t\t\t\t\"react-hooks/globals\": \"error\",\n\t\t\t\t\"react-hooks/hooks\": \"error\",\n\t\t\t\t\"react-hooks/immutability\": \"error\",\n\t\t\t\t\"react-hooks/incompatible-library\": \"warn\",\n\t\t\t\t\"react-hooks/no-deriving-state-in-effects\": \"error\",\n\t\t\t\t\"react-hooks/preserve-manual-memoization\": \"warn\",\n\t\t\t\t\"react-hooks/purity\": \"warn\",\n\t\t\t\t\"react-hooks/refs\": \"error\",\n\t\t\t\t\"react-hooks/rule-suppression\": \"off\",\n\t\t\t\t\"react-hooks/set-state-in-effect\": \"warn\",\n\t\t\t\t\"react-hooks/set-state-in-render\": \"error\",\n\t\t\t\t\"react-hooks/static-components\": \"warn\",\n\t\t\t\t\"react-hooks/syntax\": \"error\",\n\t\t\t\t\"react-hooks/todo\": \"error\",\n\t\t\t\t\"react-hooks/unsupported-syntax\": \"error\",\n\t\t\t\t\"react-hooks/use-memo\": \"warn\",\n\n\t\t\t\t...overrides,\n\t\t\t\t...(isObject(compiler) && compiler.overrides),\n\t\t\t},\n\t\t});\n\t}\n\n\tif (refresh && eslintPluginReactRefresh) {\n\t\tconfig.push({\n\t\t\tfiles: isObject(refresh) && refresh.files ? refresh.files : files,\n\n\t\t\tname: \"zayne/react/refresh/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"react-refresh/only-export-components\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\tallowConstantExport: isAllowConstantExport,\n\t\t\t\t\t\tallowExportNames: [\n\t\t\t\t\t\t\t...(nextjs ? getDefaultAllowedNextJsExportNames() : []),\n\t\t\t\t\t\t\t...(isUsingReactRouter ? getDefaultAllowedReactRouterExportNames() : []),\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t...overrides,\n\t\t\t\t...(isObject(refresh) && refresh.overrides),\n\t\t\t},\n\t\t});\n\t}\n\n\tif (youMightNotNeedAnEffect && eslintPluginReactYouMightNotNeedAnEffect) {\n\t\tconfig.push(\n\t\t\t{\n\t\t\t\tfiles,\n\n\t\t\t\tname: \"zayne/react/you-might-not-need-an-effect/recommended\",\n\n\t\t\t\trules: eslintPluginReactYouMightNotNeedAnEffect.configs.recommended.rules,\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tfiles,\n\n\t\t\t\tname: \"zayne/react/you-might-not-need-an-effect/rules\",\n\n\t\t\t\trules: {\n\t\t\t\t\t...overrides,\n\t\t\t\t\t...(isObject(youMightNotNeedAnEffect) && youMightNotNeedAnEffect.overrides),\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t}\n\n\tif (nextjs && eslintPluginNextjs) {\n\t\tconfig.push(\n\t\t\t{\n\t\t\t\tfiles: isObject(nextjs) && nextjs.files ? nextjs.files : files,\n\n\t\t\t\tname: \"zayne/react/nextjs/recommended\",\n\n\t\t\t\trules: renameRules(\n\t\t\t\t\t{\n\t\t\t\t\t\t// @ts-expect-error -- missing types\n\t\t\t\t\t\t// eslint-disable-next-line ts-eslint/no-unsafe-member-access -- missing types\n\t\t\t\t\t\t...(eslintPluginNextjs.configs?.recommended?.rules as Record<string, unknown>),\n\t\t\t\t\t\t// @ts-expect-error -- missing types\n\t\t\t\t\t\t// eslint-disable-next-line ts-eslint/no-unsafe-member-access -- missing types\n\t\t\t\t\t\t...(eslintPluginNextjs.configs?.[\"core-web-vitals\"]?.rules as Record<string, unknown>),\n\t\t\t\t\t},\n\t\t\t\t\tgetDefaultPluginRenameMap()\n\t\t\t\t),\n\t\t\t},\n\t\t\t{\n\t\t\t\tfiles: isObject(nextjs) && nextjs.files ? nextjs.files : files,\n\n\t\t\t\tname: \"zayne/react/nextjs/rules\",\n\n\t\t\t\trules: {\n\t\t\t\t\t...overrides,\n\t\t\t\t\t...(isObject(nextjs) && nextjs.overrides),\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t}\n\n\treturn config;\n};\n\nexport { react };\n","import { GLOB_SRC } from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { ensurePackages, interopDefault } from \"../utils\";\n\nconst solid = async (\n\toptions: ExtractOptions<OptionsConfig[\"solid\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { files = [GLOB_SRC], overrides, typescript = true } = options;\n\n\tawait ensurePackages([\"eslint-plugin-solid\"]);\n\n\tconst eslintPluginSolid = await interopDefault(import(\"eslint-plugin-solid\"));\n\n\tconst recommendedSolidConfig =\n\t\teslintPluginSolid.configs[typescript ? \"flat/typescript\" : \"flat/recommended\"];\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/solid/setup\",\n\n\t\t\tplugins: {\n\t\t\t\tsolid: eslintPluginSolid,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/solid/recommended\",\n\n\t\t\trules: recommendedSolidConfig.rules,\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/solid/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"solid/no-innerhtml\": [\"error\", { allowStatic: true }],\n\t\t\t\t\"solid/style-prop\": [\"error\", { styleProps: [\"style\", \"css\"] }],\n\t\t\t},\n\n\t\t\t...overrides,\n\t\t},\n\t];\n};\n\nexport { solid };\n","import type { TypedFlatConfigItem } from \"../types\";\n\n/**\n * @description - Sort package.json\n *\n * Requires `jsonc` config\n */\nexport const sortPackageJson = (): TypedFlatConfigItem[] => [\n\t{\n\t\tfiles: [\"**/package.json\"],\n\n\t\tname: \"zayne/sort/package.json\",\n\n\t\trules: {\n\t\t\t\"jsonc/sort-array-values\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\tpathPattern: \"^files$\",\n\t\t\t\t},\n\t\t\t],\n\t\t\t\"jsonc/sort-keys\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\torder: [\n\t\t\t\t\t\t\"publisher\",\n\t\t\t\t\t\t\"name\",\n\t\t\t\t\t\t\"displayName\",\n\t\t\t\t\t\t\"type\",\n\t\t\t\t\t\t\"version\",\n\t\t\t\t\t\t\"private\",\n\t\t\t\t\t\t\"packageManager\",\n\t\t\t\t\t\t\"description\",\n\t\t\t\t\t\t\"author\",\n\t\t\t\t\t\t\"contributors\",\n\t\t\t\t\t\t\"license\",\n\t\t\t\t\t\t\"funding\",\n\t\t\t\t\t\t\"homepage\",\n\t\t\t\t\t\t\"repository\",\n\t\t\t\t\t\t\"bugs\",\n\t\t\t\t\t\t\"keywords\",\n\t\t\t\t\t\t\"categories\",\n\t\t\t\t\t\t\"sideEffects\",\n\t\t\t\t\t\t\"exports\",\n\t\t\t\t\t\t\"main\",\n\t\t\t\t\t\t\"module\",\n\t\t\t\t\t\t\"unpkg\",\n\t\t\t\t\t\t\"jsdelivr\",\n\t\t\t\t\t\t\"types\",\n\t\t\t\t\t\t\"typesVersions\",\n\t\t\t\t\t\t\"bin\",\n\t\t\t\t\t\t\"icon\",\n\t\t\t\t\t\t\"files\",\n\t\t\t\t\t\t\"engines\",\n\t\t\t\t\t\t\"activationEvents\",\n\t\t\t\t\t\t\"contributes\",\n\t\t\t\t\t\t\"scripts\",\n\t\t\t\t\t\t\"peerDependencies\",\n\t\t\t\t\t\t\"peerDependenciesMeta\",\n\t\t\t\t\t\t\"dependencies\",\n\t\t\t\t\t\t\"optionalDependencies\",\n\t\t\t\t\t\t\"devDependencies\",\n\t\t\t\t\t\t\"pnpm\",\n\t\t\t\t\t\t\"overrides\",\n\t\t\t\t\t\t\"resolutions\",\n\t\t\t\t\t\t\"husky\",\n\t\t\t\t\t\t\"simple-git-hooks\",\n\t\t\t\t\t\t\"lint-staged\",\n\t\t\t\t\t\t\"eslintConfig\",\n\t\t\t\t\t],\n\t\t\t\t\tpathPattern: \"^$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\tpathPattern: \"^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\tpathPattern: \"scripts\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\tpathPattern: \"^(?:resolutions|overrides|pnpm.overrides)$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\tpathPattern: String.raw`^workspaces\\.catalog$`,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\tpathPattern: String.raw`^workspaces\\.catalogs\\.[^.]+$`,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: [\"types\", \"import\", \"require\", \"default\"],\n\t\t\t\t\tpathPattern: \"^exports.*$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: [\n\t\t\t\t\t\t// client hooks only\n\t\t\t\t\t\t\"pre-commit\",\n\t\t\t\t\t\t\"prepare-commit-msg\",\n\t\t\t\t\t\t\"commit-msg\",\n\t\t\t\t\t\t\"post-commit\",\n\t\t\t\t\t\t\"pre-rebase\",\n\t\t\t\t\t\t\"post-rewrite\",\n\t\t\t\t\t\t\"post-checkout\",\n\t\t\t\t\t\t\"post-merge\",\n\t\t\t\t\t\t\"pre-push\",\n\t\t\t\t\t\t\"pre-auto-gc\",\n\t\t\t\t\t],\n\t\t\t\t\tpathPattern: \"^(?:gitHooks|husky|simple-git-hooks)$\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n];\n\n/**\n * Sort tsconfig.json\n *\n * Requires `jsonc` config\n */\n\nexport const sortTsconfig = (): TypedFlatConfigItem[] => [\n\t{\n\t\tfiles: [\"**/[jt]sconfig.json\", \"**/[jt]sconfig.*.json\"],\n\n\t\tname: \"zayne/sort/tsconfig.json\",\n\n\t\trules: {\n\t\t\t\"jsonc/sort-keys\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\torder: [\"extends\", \"compilerOptions\", \"references\", \"files\", \"include\", \"exclude\"],\n\t\t\t\t\tpathPattern: \"^$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: [\n\t\t\t\t\t\t/* Projects */\n\t\t\t\t\t\t\"incremental\",\n\t\t\t\t\t\t\"composite\",\n\t\t\t\t\t\t\"tsBuildInfoFile\",\n\t\t\t\t\t\t\"disableSourceOfProjectReferenceRedirect\",\n\t\t\t\t\t\t\"disableSolutionSearching\",\n\t\t\t\t\t\t\"disableReferencedProjectLoad\",\n\n\t\t\t\t\t\t/* Language and Environment */\n\t\t\t\t\t\t\"target\",\n\t\t\t\t\t\t\"jsx\",\n\t\t\t\t\t\t\"jsxFactory\",\n\t\t\t\t\t\t\"jsxFragmentFactory\",\n\t\t\t\t\t\t\"jsxImportSource\",\n\t\t\t\t\t\t\"lib\",\n\t\t\t\t\t\t\"moduleDetection\",\n\t\t\t\t\t\t\"noLib\",\n\t\t\t\t\t\t\"reactNamespace\",\n\t\t\t\t\t\t\"useDefineForClassFields\",\n\t\t\t\t\t\t\"emitDecoratorMetadata\",\n\t\t\t\t\t\t\"experimentalDecorators\",\n\n\t\t\t\t\t\t/* Modules */\n\t\t\t\t\t\t\"baseUrl\",\n\t\t\t\t\t\t\"rootDir\",\n\t\t\t\t\t\t\"rootDirs\",\n\t\t\t\t\t\t\"customConditions\",\n\t\t\t\t\t\t\"module\",\n\t\t\t\t\t\t\"moduleResolution\",\n\t\t\t\t\t\t\"moduleSuffixes\",\n\t\t\t\t\t\t\"noResolve\",\n\t\t\t\t\t\t\"paths\",\n\t\t\t\t\t\t\"resolveJsonModule\",\n\t\t\t\t\t\t\"resolvePackageJsonExports\",\n\t\t\t\t\t\t\"resolvePackageJsonImports\",\n\t\t\t\t\t\t\"typeRoots\",\n\t\t\t\t\t\t\"types\",\n\t\t\t\t\t\t\"allowArbitraryExtensions\",\n\t\t\t\t\t\t\"allowImportingTsExtensions\",\n\t\t\t\t\t\t\"allowUmdGlobalAccess\",\n\n\t\t\t\t\t\t/* JavaScript Support */\n\t\t\t\t\t\t\"allowJs\",\n\t\t\t\t\t\t\"checkJs\",\n\t\t\t\t\t\t\"maxNodeModuleJsDepth\",\n\n\t\t\t\t\t\t/* Type Checking */\n\t\t\t\t\t\t\"strict\",\n\t\t\t\t\t\t\"strictBindCallApply\",\n\t\t\t\t\t\t\"strictFunctionTypes\",\n\t\t\t\t\t\t\"strictNullChecks\",\n\t\t\t\t\t\t\"strictPropertyInitialization\",\n\t\t\t\t\t\t\"allowUnreachableCode\",\n\t\t\t\t\t\t\"allowUnusedLabels\",\n\t\t\t\t\t\t\"alwaysStrict\",\n\t\t\t\t\t\t\"exactOptionalPropertyTypes\",\n\t\t\t\t\t\t\"noFallthroughCasesInSwitch\",\n\t\t\t\t\t\t\"noImplicitAny\",\n\t\t\t\t\t\t\"noImplicitOverride\",\n\t\t\t\t\t\t\"noImplicitReturns\",\n\t\t\t\t\t\t\"noImplicitThis\",\n\t\t\t\t\t\t\"noPropertyAccessFromIndexSignature\",\n\t\t\t\t\t\t\"noUncheckedIndexedAccess\",\n\t\t\t\t\t\t\"noUnusedLocals\",\n\t\t\t\t\t\t\"noUnusedParameters\",\n\t\t\t\t\t\t\"useUnknownInCatchVariables\",\n\n\t\t\t\t\t\t/* Emit */\n\t\t\t\t\t\t\"declaration\",\n\t\t\t\t\t\t\"declarationDir\",\n\t\t\t\t\t\t\"declarationMap\",\n\t\t\t\t\t\t\"downlevelIteration\",\n\t\t\t\t\t\t\"emitBOM\",\n\t\t\t\t\t\t\"emitDeclarationOnly\",\n\t\t\t\t\t\t\"importHelpers\",\n\t\t\t\t\t\t\"importsNotUsedAsValues\",\n\t\t\t\t\t\t\"inlineSourceMap\",\n\t\t\t\t\t\t\"inlineSources\",\n\t\t\t\t\t\t\"mapRoot\",\n\t\t\t\t\t\t\"newLine\",\n\t\t\t\t\t\t\"noEmit\",\n\t\t\t\t\t\t\"noEmitHelpers\",\n\t\t\t\t\t\t\"noEmitOnError\",\n\t\t\t\t\t\t\"outDir\",\n\t\t\t\t\t\t\"outFile\",\n\t\t\t\t\t\t\"preserveConstEnums\",\n\t\t\t\t\t\t\"preserveValueImports\",\n\t\t\t\t\t\t\"removeComments\",\n\t\t\t\t\t\t\"sourceMap\",\n\t\t\t\t\t\t\"sourceRoot\",\n\t\t\t\t\t\t\"stripInternal\",\n\n\t\t\t\t\t\t/* Interop Constraints */\n\t\t\t\t\t\t\"allowSyntheticDefaultImports\",\n\t\t\t\t\t\t\"esModuleInterop\",\n\t\t\t\t\t\t\"forceConsistentCasingInFileNames\",\n\t\t\t\t\t\t\"isolatedDeclarations\",\n\t\t\t\t\t\t\"isolatedModules\",\n\t\t\t\t\t\t\"preserveSymlinks\",\n\t\t\t\t\t\t\"verbatimModuleSyntax\",\n\n\t\t\t\t\t\t/* Completeness */\n\t\t\t\t\t\t\"skipDefaultLibCheck\",\n\t\t\t\t\t\t\"skipLibCheck\",\n\t\t\t\t\t],\n\n\t\t\t\t\tpathPattern: \"^compilerOptions$\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n];\n","import type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault } from \"../utils\";\n\nconst stylistic = async (\n\toptions: ExtractOptions<OptionsConfig[\"stylistic\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { jsx = true, overrides } = options;\n\n\tconst eslintPluginStylistic = await interopDefault(import(\"@stylistic/eslint-plugin\"));\n\n\treturn [\n\t\t// == Stylistic Rules (Optional)\n\t\t{\n\t\t\tname: \"zayne/stylistic/rules\",\n\n\t\t\tplugins: {\n\t\t\t\tstylistic: eslintPluginStylistic,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t\"stylistic/no-floating-decimal\": \"error\",\n\t\t\t\t\"stylistic/spaced-comment\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t\"always\",\n\t\t\t\t\t{\n\t\t\t\t\t\tblock: {\n\t\t\t\t\t\t\tbalanced: true,\n\t\t\t\t\t\t\texceptions: [\"*\"],\n\t\t\t\t\t\t\tmarkers: [\"!\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t\tline: {\n\t\t\t\t\t\t\texceptions: [\"/\", \"#\"],\n\t\t\t\t\t\t\tmarkers: [\"/\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t...(jsx && {\n\t\t\t\t\t\"stylistic/jsx-self-closing-comp\": \"warn\",\n\t\t\t\t}),\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n\nexport { stylistic };\n","import { getDefaultPluginRenameMap, getDefaultTailwindcssBetterSettings } from \"@/constants/defaults\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { ensurePackages, interopDefault, renameRules } from \"../utils\";\n\nexport const tailwindcssBetter = async (\n\toptions: ExtractOptions<OptionsConfig[\"tailwindcssBetter\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, settings: tailwindCssBetterSettings } = options;\n\n\tawait ensurePackages([\"eslint-plugin-better-tailwindcss\"]);\n\n\tconst [eslintPluginBetterTailwindCss, defaults] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-better-tailwindcss\")),\n\t\tinteropDefault(import(\"eslint-plugin-better-tailwindcss/defaults\")),\n\t]);\n\n\tconst zayneDefaultSettings = getDefaultTailwindcssBetterSettings();\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/tailwindcss-better/setup\",\n\n\t\t\tplugins: {\n\t\t\t\t\"tailwindcss-better\": eslintPluginBetterTailwindCss,\n\t\t\t},\n\n\t\t\tsettings: {\n\t\t\t\t\"better-tailwindcss\": {\n\t\t\t\t\t...tailwindCssBetterSettings,\n\n\t\t\t\t\tentryPoint: tailwindCssBetterSettings?.entryPoint ?? zayneDefaultSettings.entryPoint,\n\n\t\t\t\t\tselectors: [\n\t\t\t\t\t\t...defaults.getDefaultSelectors(),\n\t\t\t\t\t\t...zayneDefaultSettings.selectors,\n\t\t\t\t\t\t...(tailwindCssBetterSettings?.selectors ?? []),\n\t\t\t\t\t],\n\t\t\t\t} satisfies typeof tailwindCssBetterSettings,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/tailwindcss-better/recommended\",\n\n\t\t\trules: renameRules(\n\t\t\t\teslintPluginBetterTailwindCss.configs[\"recommended-warn\"].rules,\n\t\t\t\tgetDefaultPluginRenameMap()\n\t\t\t),\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/tailwindcss-better/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"tailwindcss-better/enforce-consistent-important-position\": \"warn\",\n\t\t\t\t\"tailwindcss-better/enforce-consistent-line-wrapping\": \"off\",\n\t\t\t\t\"tailwindcss-better/enforce-consistent-variable-syntax\": \"warn\",\n\t\t\t\t\"tailwindcss-better/enforce-shorthand-classes\": \"warn\",\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n\n/**\n * @description tailwindcss v4 is not supported yet\n * @deprecated until `eslint-plugin-tailwindcss` supports tailwindcss v4\n */\n// export const tailwindcss = async (\n// \toptions: ExtractOptions<OptionsConfig[\"tailwindcss\"]> = {}\n// ): Promise<TypedFlatConfigItem[]> => {\n// \tconst { overrides, settings: tailwindCssSettings } = options;\n\n// \tawait ensurePackages([\"eslint-plugin-tailwindcss\"]);\n\n// \tconst eslintPluginTailwindCss = await interopDefault(import(\"eslint-plugin-tailwindcss\"));\n\n// \treturn [\n// \t\t{\n// \t\t\tname: \"zayne/tailwindcss/setup\",\n// \t\t\tplugins: {\n// \t\t\t\ttailwindcss: eslintPluginTailwindCss,\n// \t\t\t},\n// \t\t\tsettings: {\n// \t\t\t\ttailwindcss: {\n// \t\t\t\t\tcallees: [\"tv\", \"cnMerge\", \"cn\", \"cnJoin\", \"twMerge\", \"twJoin\"],\n// \t\t\t\t\tclassRegex: \"^class(Name|Names)?$\",\n// \t\t\t\t\tcssFiles: [],\n// \t\t\t\t\tremoveDuplicates: false, // Turned off cuz prettier already handles this via plugin\n// \t\t\t\t\t...tailwindCssSettings,\n// \t\t\t\t},\n// \t\t\t},\n// \t\t},\n\n// \t\t{\n// \t\t\tname: \"zayne/tailwindcss/recommended\",\n\n// \t\t\trules: eslintPluginTailwindCss.configs[\"flat/recommended\"][1]?.rules,\n// \t\t},\n\n// \t\t{\n// \t\t\tname: \"zayne/tailwindcss/rules\",\n\n// \t\t\trules: {\n// \t\t\t\t\"tailwindcss/no-contradicting-classname\": \"off\", // Turned off cuz tw intellisense already handles this\n// \t\t\t\t\"tailwindcss/no-custom-classname\": [\n// \t\t\t\t\t\"warn\",\n// \t\t\t\t\t{ ignoredKeys: [\"compoundVariants\", \"defaultVariants\", \"responsiveVariants\"] },\n// \t\t\t\t],\n\n// \t\t\t\t...overrides,\n// \t\t\t},\n// \t\t},\n// \t];\n// };\n","import { getDefaultPluginRenameMap } from \"../constants/defaults\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { ensurePackages, interopDefault, isObject, renameRules } from \"../utils\";\n\nconst tanstack = async (\n\toptions: ExtractOptions<OptionsConfig[\"tanstack\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, query = true, router } = options;\n\n\tconst config: TypedFlatConfigItem[] = [];\n\n\tawait ensurePackages([\n\t\tquery ? \"@tanstack/eslint-plugin-query\" : undefined,\n\t\trouter ? \"@tanstack/eslint-plugin-router\" : undefined,\n\t]);\n\n\tconst [eslintPluginTanstackQuery, eslintPluginTanstackRouter] = await Promise.all([\n\t\tquery ? interopDefault(import(\"@tanstack/eslint-plugin-query\")) : undefined,\n\t\trouter ? interopDefault(import(\"@tanstack/eslint-plugin-router\")) : undefined,\n\t]);\n\n\tif (query && eslintPluginTanstackQuery) {\n\t\tconfig.push(\n\t\t\t{\n\t\t\t\tname: \"zayne/tanstack-query/recommended\",\n\n\t\t\t\tplugins: {\n\t\t\t\t\t\"tanstack-query\": eslintPluginTanstackQuery,\n\t\t\t\t},\n\n\t\t\t\trules: renameRules(\n\t\t\t\t\teslintPluginTanstackQuery.configs[\"flat/recommended\"][0]?.rules,\n\t\t\t\t\tgetDefaultPluginRenameMap()\n\t\t\t\t),\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tname: \"zayne/tanstack-query/rules\",\n\n\t\t\t\trules: {\n\t\t\t\t\t...overrides,\n\t\t\t\t\t...(isObject(query) && query.overrides),\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t}\n\n\tif (router && eslintPluginTanstackRouter) {\n\t\tconfig.push(\n\t\t\t{\n\t\t\t\tname: \"zayne/tanstack-router/recommended\",\n\n\t\t\t\tplugins: {\n\t\t\t\t\t\"tanstack-router\": eslintPluginTanstackRouter,\n\t\t\t\t},\n\n\t\t\t\trules: renameRules(\n\t\t\t\t\teslintPluginTanstackRouter.configs[\"flat/recommended\"][0]?.rules,\n\t\t\t\t\tgetDefaultPluginRenameMap()\n\t\t\t\t),\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tname: \"zayne/tanstack-router/rules\",\n\n\t\t\t\trules: {\n\t\t\t\t\t...overrides,\n\t\t\t\t\t...(isObject(router) && router.overrides),\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t}\n\n\treturn config;\n};\n\nexport { tanstack };\n","import { GLOB_TOML } from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault } from \"../utils\";\n\nexport const toml = async (\n\toptions: ExtractOptions<OptionsConfig[\"toml\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { files = [GLOB_TOML], overrides, stylistic = true } = options;\n\n\tconst [pluginToml, parserToml] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-toml\")),\n\t\tinteropDefault(import(\"toml-eslint-parser\")),\n\t]);\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/toml/setup\",\n\n\t\t\tplugins: {\n\t\t\t\ttoml: pluginToml,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: parserToml,\n\t\t\t},\n\n\t\t\tname: \"zayne/toml/parser\",\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/toml/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"style/spaced-comment\": \"off\",\n\n\t\t\t\t\"toml/comma-style\": \"error\",\n\t\t\t\t\"toml/keys-order\": \"error\",\n\t\t\t\t\"toml/no-space-dots\": \"error\",\n\t\t\t\t\"toml/no-unreadable-number-separator\": \"error\",\n\t\t\t\t\"toml/precision-of-fractional-seconds\": \"error\",\n\t\t\t\t\"toml/precision-of-integer\": \"error\",\n\t\t\t\t\"toml/tables-order\": \"error\",\n\n\t\t\t\t\"toml/vue-custom-block/no-parsing-error\": \"error\",\n\n\t\t\t\t...(stylistic && {\n\t\t\t\t\t\"toml/array-bracket-newline\": \"error\",\n\t\t\t\t\t\"toml/array-bracket-spacing\": \"error\",\n\t\t\t\t\t\"toml/array-element-newline\": \"error\",\n\t\t\t\t\t// \"toml/indent\": [\"error\", indent],\n\t\t\t\t\t\"toml/inline-table-curly-spacing\": \"error\",\n\t\t\t\t\t\"toml/key-spacing\": \"error\",\n\t\t\t\t\t\"toml/padding-line-between-pairs\": \"error\",\n\t\t\t\t\t\"toml/padding-line-between-tables\": \"error\",\n\t\t\t\t\t\"toml/quoted-keys\": \"error\",\n\t\t\t\t\t\"toml/spaced-comment\": \"error\",\n\t\t\t\t\t\"toml/table-bracket-spacing\": \"error\",\n\t\t\t\t}),\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n","import { getDefaultPluginRenameMap } from \"@/constants/defaults\";\nimport { GLOB_ASTRO_TS, GLOB_MARKDOWN, GLOB_TS, GLOB_TSX } from \"../globs\";\nimport type {\n\tExtractOptions,\n\tOptionsConfig,\n\tOptionsTypeScriptParserOptions,\n\tOptionsTypeScriptWithTypes,\n\tTypedFlatConfigItem,\n} from \"../types\";\nimport { ensurePackages, interopDefault, renameRules } from \"../utils\";\n\nexport const typescript = async (\n\toptions: ExtractOptions<OptionsConfig[\"typescript\"]>\n\t\t& OptionsTypeScriptParserOptions\n\t\t& OptionsTypeScriptWithTypes = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst {\n\t\tallowDefaultProject,\n\t\tcomponentExts = [],\n\t\tcomponentExtsTypeAware = [],\n\t\terasableOnly = false,\n\t\tfiles = [GLOB_TS, GLOB_TSX, ...componentExts.map((ext) => `**/*.${ext}`)],\n\t\tfilesTypeAware = [GLOB_TS, GLOB_TSX, ...componentExtsTypeAware.map((ext) => `**/*.${ext}`)],\n\t\tignoresTypeAware = [`${GLOB_MARKDOWN}/**`, GLOB_ASTRO_TS],\n\t\ttsconfigPath = true,\n\t\tisTypeAware = Boolean(tsconfigPath),\n\t\toverrides,\n\t\tparserOptions,\n\t\tstylistic = true,\n\t} = options;\n\n\tawait ensurePackages([erasableOnly ? \"eslint-plugin-erasable-syntax-only\" : undefined]);\n\n\tconst [tsEslint, eslintPluginErasableOnly] = await Promise.all([\n\t\tinteropDefault(import(\"typescript-eslint\")),\n\t\terasableOnly ? interopDefault(import(\"eslint-plugin-erasable-syntax-only\")) : undefined,\n\t]);\n\n\tconst makeParser = (\n\t\ttypeAware: boolean,\n\t\tparsedFiles: string[],\n\t\tignores?: string[]\n\t): TypedFlatConfigItem => {\n\t\treturn {\n\t\t\tfiles: parsedFiles,\n\n\t\t\t...(ignores && { ignores }),\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: tsEslint.parser,\n\n\t\t\t\tparserOptions: {\n\t\t\t\t\textraFileExtensions: componentExts.map((ext) => `.${ext}`),\n\n\t\t\t\t\tsourceType: \"module\",\n\n\t\t\t\t\t...(typeAware\n\t\t\t\t\t\t&& (allowDefaultProject ?\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tprojectService: {\n\t\t\t\t\t\t\t\t\tallowDefaultProject,\n\t\t\t\t\t\t\t\t\tdefaultProject: tsconfigPath,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\ttsconfigRootDir: process.cwd(),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t:\t{\n\t\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t\t * @default true for auto-discovery of project's tsconfig as fallback\n\t\t\t\t\t\t\t\t * @see https://typescript-eslint.io/blog/parser-options-project-true\n\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\tproject: tsconfigPath,\n\t\t\t\t\t\t\t\ttsconfigRootDir: process.cwd(),\n\t\t\t\t\t\t\t})),\n\n\t\t\t\t\t...parserOptions,\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tname: `zayne/ts-eslint/${typeAware ? \"parser-type-aware\" : \"parser\"}`,\n\t\t};\n\t};\n\n\tconst recommendedRules = tsEslint.configs[isTypeAware ? \"strictTypeChecked\" : \"strict\"]\n\t\t.map((config) => config.rules)\n\t\t.reduce<TypedFlatConfigItem[\"rules\"]>((accumulator, rules) => ({ ...accumulator, ...rules }), {});\n\n\tconst recommendedStylisticRules = tsEslint.configs[isTypeAware ? \"stylisticTypeChecked\" : \"stylistic\"]\n\t\t.map((config) => config.rules)\n\t\t.reduce<TypedFlatConfigItem[\"rules\"]>((accumulator, rules) => ({ ...accumulator, ...rules }), {});\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/ts-eslint/setup\",\n\n\t\t\tplugins: {\n\t\t\t\t\"ts-eslint\": tsEslint.plugin,\n\t\t\t},\n\t\t},\n\n\t\t// == Assign both type-aware and type-unaware parser for type-aware files and only type-unaware parser for the rest\n\t\t...(isTypeAware ?\n\t\t\t[makeParser(false, files), makeParser(true, filesTypeAware, ignoresTypeAware)]\n\t\t:\t[makeParser(false, files)]),\n\n\t\t{\n\t\t\tfiles: isTypeAware ? filesTypeAware : files,\n\n\t\t\tignores: isTypeAware ? ignoresTypeAware : [],\n\n\t\t\tname: `zayne/ts-eslint/recommended-${isTypeAware ? \"strict-type-checked\" : \"strict\"}`,\n\n\t\t\trules: renameRules(recommendedRules, getDefaultPluginRenameMap()),\n\t\t},\n\n\t\t...(stylistic ?\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\tfiles: isTypeAware ? filesTypeAware : files,\n\n\t\t\t\t\tignores: isTypeAware ? ignoresTypeAware : [],\n\n\t\t\t\t\tname: `zayne/ts-eslint/recommended-${isTypeAware ? \"stylistic-type-checked\" : \"stylistic\"}`,\n\n\t\t\t\t\trules: renameRules(recommendedStylisticRules, getDefaultPluginRenameMap()),\n\t\t\t\t},\n\t\t\t]\n\t\t:\t[]),\n\n\t\t{\n\t\t\tfiles: isTypeAware ? filesTypeAware : files,\n\n\t\t\tignores: isTypeAware ? ignoresTypeAware : [],\n\n\t\t\tname: `zayne/ts-eslint/rules${isTypeAware ? \"-type-checked\" : \"\"}`,\n\n\t\t\trules: {\n\t\t\t\t\"ts-eslint/array-type\": [\"error\", { default: \"array-simple\" }],\n\t\t\t\t\"ts-eslint/consistent-type-definitions\": [\"error\", \"type\"],\n\t\t\t\t\"ts-eslint/default-param-last\": \"error\",\n\t\t\t\t\"ts-eslint/member-ordering\": \"error\",\n\t\t\t\t\"ts-eslint/method-signature-style\": [\"error\", \"property\"],\n\t\t\t\t\"ts-eslint/no-confusing-void-expression\": \"off\",\n\t\t\t\t\"ts-eslint/no-empty-function\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{ allow: [\"arrowFunctions\", \"functions\", \"methods\"] },\n\t\t\t\t],\n\t\t\t\t\"ts-eslint/no-import-type-side-effects\": \"error\",\n\t\t\t\t\"ts-eslint/no-shadow\": \"error\",\n\t\t\t\t\"ts-eslint/no-unused-expressions\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tallowShortCircuit: true,\n\t\t\t\t\t\tallowTernary: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"ts-eslint/no-unused-vars\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\targs: \"all\",\n\t\t\t\t\t\targsIgnorePattern: \"^_\",\n\t\t\t\t\t\tcaughtErrors: \"all\",\n\t\t\t\t\t\tdestructuredArrayIgnorePattern: \"^_\",\n\t\t\t\t\t\treportUsedIgnorePattern: true,\n\t\t\t\t\t\tvars: \"all\",\n\t\t\t\t\t\tvarsIgnorePattern: \"[iI]gnored\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"ts-eslint/no-use-before-define\": \"off\",\n\t\t\t\t\"ts-eslint/no-useless-constructor\": \"error\",\n\t\t\t\t\"ts-eslint/no-useless-empty-export\": \"error\",\n\n\t\t\t\t...(isTypeAware && {\n\t\t\t\t\t\"ts-eslint/no-unnecessary-type-conversion\": \"error\",\n\t\t\t\t\t\"ts-eslint/no-unnecessary-type-parameters\": \"off\",\n\t\t\t\t\t\"ts-eslint/non-nullable-type-assertion-style\": \"off\",\n\t\t\t\t\t\"ts-eslint/prefer-nullish-coalescing\": [\"error\", { ignoreConditionalTests: true }],\n\t\t\t\t\t\"ts-eslint/restrict-template-expressions\": [\n\t\t\t\t\t\t\"error\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tallowAny: false,\n\t\t\t\t\t\t\tallowArray: false,\n\t\t\t\t\t\t\tallowBoolean: true,\n\t\t\t\t\t\t\tallowNever: true,\n\t\t\t\t\t\t\tallowNullish: true,\n\t\t\t\t\t\t\tallowNumber: true,\n\t\t\t\t\t\t\tallowRegExp: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\t\"ts-eslint/return-await\": [\"error\", \"in-try-catch\"],\n\t\t\t\t}),\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\n\t\t...(erasableOnly ?\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\tname: \"zayne/ts-eslint/erasable-syntax-only/recommended\",\n\n\t\t\t\t\tplugins: {\n\t\t\t\t\t\t\"erasable-syntax-only\": eslintPluginErasableOnly,\n\t\t\t\t\t},\n\n\t\t\t\t\trules: eslintPluginErasableOnly?.configs.recommended.rules as TypedFlatConfigItem[\"rules\"],\n\t\t\t\t},\n\t\t\t]\n\t\t:\t[]),\n\t];\n};\n","import type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault } from \"../utils\";\n\nexport const unicorn = async (\n\toptions: ExtractOptions<OptionsConfig[\"unicorn\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, type = \"app\" } = options;\n\n\tconst eslintPluginUnicorn = await interopDefault(import(\"eslint-plugin-unicorn\"));\n\n\treturn [\n\t\t{\n\t\t\t...eslintPluginUnicorn.configs.recommended,\n\n\t\t\tname: \"zayne/unicorn/recommended\",\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/unicorn/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"unicorn/filename-case\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{ cases: { camelCase: true, kebabCase: true, pascalCase: true } },\n\t\t\t\t],\n\t\t\t\t\"unicorn/new-for-builtins\": \"off\",\n\t\t\t\t\"unicorn/no-array-for-each\": \"off\",\n\t\t\t\t\"unicorn/no-array-reduce\": \"off\",\n\t\t\t\t\"unicorn/no-negated-condition\": \"off\",\n\t\t\t\t\"unicorn/no-null\": \"off\",\n\t\t\t\t\"unicorn/no-useless-undefined\": [\"error\", { checkArguments: true }],\n\t\t\t\t\"unicorn/numeric-separators-style\": \"off\",\n\t\t\t\t\"unicorn/prefer-global-this\": type === \"lib\" || type === \"lib-strict\" ? \"warn\" : \"off\",\n\t\t\t\t\"unicorn/prefer-native-coercion-functions\": \"off\",\n\t\t\t\t\"unicorn/prevent-abbreviations\": \"off\",\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\t];\n};\n","import type { Linter } from \"eslint\";\nimport { mergeProcessors } from \"eslint-merge-processors\";\nimport { GLOB_VUE } from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { ensurePackages, interopDefault, resolveOptions } from \"../utils\";\n\nexport const vue = async (\n\toptions: ExtractOptions<OptionsConfig[\"vue\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst {\n\t\tfiles = [GLOB_VUE],\n\t\toverrides,\n\t\tsfcBlocks = true,\n\t\tstylistic = true,\n\t\ttypescript = true,\n\t\tvueVersion = 3,\n\t} = options;\n\n\tawait ensurePackages([\n\t\t\"eslint-plugin-vue\",\n\t\t\"vue-eslint-parser\",\n\t\tsfcBlocks ? \"eslint-processor-vue-blocks\" : undefined,\n\t]);\n\n\tconst [pluginVue, parserVue, processorVueBlocks, tsEslint] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-vue\")),\n\t\tinteropDefault(import(\"vue-eslint-parser\")),\n\t\tsfcBlocks ? interopDefault(import(\"eslint-processor-vue-blocks\")) : undefined,\n\t\ttypescript ? interopDefault(import(\"typescript-eslint\")) : undefined,\n\t]);\n\n\treturn [\n\t\t{\n\t\t\t/**\n\t\t\t * This allows Vue plugin to work with auto imports\n\t\t\t * @ see https://github.com/vuejs/eslint-plugin-vue/pull/2422\n\t\t\t */\n\t\t\tlanguageOptions: {\n\t\t\t\tglobals: {\n\t\t\t\t\tcomputed: \"readonly\",\n\t\t\t\t\tdefineEmits: \"readonly\",\n\t\t\t\t\tdefineExpose: \"readonly\",\n\t\t\t\t\tdefineProps: \"readonly\",\n\t\t\t\t\tonMounted: \"readonly\",\n\t\t\t\t\tonUnmounted: \"readonly\",\n\t\t\t\t\treactive: \"readonly\",\n\t\t\t\t\tref: \"readonly\",\n\t\t\t\t\tshallowReactive: \"readonly\",\n\t\t\t\t\tshallowRef: \"readonly\",\n\t\t\t\t\ttoRef: \"readonly\",\n\t\t\t\t\ttoRefs: \"readonly\",\n\t\t\t\t\twatch: \"readonly\",\n\t\t\t\t\twatchEffect: \"readonly\",\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tname: \"zayne/vue/setup\",\n\n\t\t\tplugins: {\n\t\t\t\tvue: pluginVue,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: parserVue,\n\t\t\t\tparserOptions: {\n\t\t\t\t\tecmaFeatures: {\n\t\t\t\t\t\tjsx: true,\n\t\t\t\t\t},\n\t\t\t\t\textraFileExtensions: [\".vue\"],\n\t\t\t\t\tsourceType: \"module\",\n\t\t\t\t\t...(typescript && { parser: tsEslint?.parser }),\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tname: \"zayne/vue/parser\",\n\n\t\t\tprocessor:\n\t\t\t\tsfcBlocks === false ?\n\t\t\t\t\t(pluginVue.processors[\".vue\"] as Linter.Processor)\n\t\t\t\t:\tmergeProcessors([\n\t\t\t\t\t\tpluginVue.processors[\".vue\"] as Linter.Processor,\n\t\t\t\t\t\tprocessorVueBlocks?.({\n\t\t\t\t\t\t\t...resolveOptions(sfcBlocks),\n\t\t\t\t\t\t\tblocks: {\n\t\t\t\t\t\t\t\tstyles: true,\n\t\t\t\t\t\t\t\t...resolveOptions(sfcBlocks).blocks,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}) ?? (pluginVue.processors[\".vue\"] as Linter.Processor),\n\t\t\t\t\t]),\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/vue/recommended\",\n\n\t\t\trules: {\n\t\t\t\t...pluginVue.configs.base.rules,\n\n\t\t\t\t...pluginVue.configs[`flat/${vueVersion === 2 ? \"vue2-\" : \"\"}essential`].at(-1)?.rules,\n\t\t\t\t...pluginVue.configs[`flat/${vueVersion === 2 ? \"vue2-\" : \"\"}strongly-recommended`].at(-1)\n\t\t\t\t\t?.rules,\n\t\t\t\t...pluginVue.configs[`flat/${vueVersion === 2 ? \"vue2-\" : \"\"}recommended`].at(-1)?.rules,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/vue/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"vue/block-order\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: [\"script\", \"template\", \"style\"],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"vue/component-name-in-template-casing\": [\"error\", \"PascalCase\"],\n\n\t\t\t\t\"vue/component-options-name-casing\": [\"error\", \"PascalCase\"],\n\n\t\t\t\t// == this is deprecated\n\t\t\t\t\"vue/component-tags-order\": \"off\",\n\n\t\t\t\t\"vue/custom-event-name-casing\": [\"error\", \"camelCase\"],\n\t\t\t\t\"vue/define-macros-order\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: [\"defineOptions\", \"defineProps\", \"defineEmits\", \"defineSlots\"],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"vue/dot-location\": [\"error\", \"property\"],\n\t\t\t\t\"vue/dot-notation\": [\"error\", { allowKeywords: true }],\n\t\t\t\t\"vue/eqeqeq\": [\"error\", \"smart\"],\n\t\t\t\t\"vue/html-indent\": \"off\",\n\t\t\t\t\"vue/html-quotes\": [\"error\", \"double\"],\n\t\t\t\t\"vue/max-attributes-per-line\": \"off\",\n\t\t\t\t\"vue/multi-word-component-names\": \"off\",\n\t\t\t\t\"vue/no-dupe-keys\": \"off\",\n\t\t\t\t\"vue/no-empty-pattern\": \"error\",\n\t\t\t\t\"vue/no-irregular-whitespace\": \"error\",\n\t\t\t\t\"vue/no-loss-of-precision\": \"error\",\n\t\t\t\t\"vue/no-restricted-syntax\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t\"DebuggerStatement\",\n\t\t\t\t\t\"LabeledStatement\",\n\t\t\t\t\t\"WithStatement\",\n\t\t\t\t],\n\t\t\t\t\"vue/no-restricted-v-bind\": [\"error\", \"/^v-/\"],\n\t\t\t\t\"vue/no-setup-props-reactivity-loss\": \"off\",\n\t\t\t\t\"vue/no-sparse-arrays\": \"error\",\n\t\t\t\t\"vue/no-unused-refs\": \"error\",\n\t\t\t\t\"vue/no-useless-v-bind\": \"error\",\n\t\t\t\t\"vue/no-v-html\": \"off\",\n\t\t\t\t\"vue/object-shorthand\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t\"always\",\n\t\t\t\t\t{\n\t\t\t\t\t\tavoidQuotes: true,\n\t\t\t\t\t\tignoreConstructors: false,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"vue/prefer-separate-static-class\": \"error\",\n\t\t\t\t\"vue/prefer-template\": \"error\",\n\t\t\t\t\"vue/prop-name-casing\": [\"error\", \"camelCase\"],\n\t\t\t\t\"vue/require-default-prop\": \"off\",\n\t\t\t\t\"vue/require-prop-types\": \"off\",\n\t\t\t\t\"vue/singleline-html-element-content-newline\": \"off\",\n\t\t\t\t\"vue/space-infix-ops\": \"error\",\n\t\t\t\t\"vue/space-unary-ops\": [\"error\", { nonwords: false, words: true }],\n\n\t\t\t\t...(stylistic && {\n\t\t\t\t\t\"vue/array-bracket-spacing\": [\"error\", \"never\"],\n\t\t\t\t\t\"vue/arrow-spacing\": [\"error\", { after: true, before: true }],\n\t\t\t\t\t\"vue/block-spacing\": [\"error\", \"always\"],\n\t\t\t\t\t\"vue/block-tag-newline\": [\n\t\t\t\t\t\t\"error\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmultiline: \"always\",\n\t\t\t\t\t\t\tsingleline: \"always\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\t\"vue/brace-style\": [\"error\", \"stroustrup\", { allowSingleLine: true }],\n\t\t\t\t\t\"vue/comma-dangle\": [\"error\", \"always-multiline\"],\n\t\t\t\t\t\"vue/comma-spacing\": [\"error\", { after: true, before: false }],\n\t\t\t\t\t\"vue/comma-style\": [\"error\", \"last\"],\n\t\t\t\t\t\"vue/html-comment-content-spacing\": [\n\t\t\t\t\t\t\"error\",\n\t\t\t\t\t\t\"always\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\texceptions: [\"-\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\t\"vue/key-spacing\": [\"error\", { afterColon: true, beforeColon: false }],\n\t\t\t\t\t\"vue/keyword-spacing\": [\"error\", { after: true, before: true }],\n\t\t\t\t\t\"vue/object-curly-newline\": \"off\",\n\t\t\t\t\t\"vue/object-curly-spacing\": [\"error\", \"always\"],\n\t\t\t\t\t\"vue/object-property-newline\": [\"error\", { allowMultiplePropertiesPerLine: true }],\n\t\t\t\t\t\"vue/operator-linebreak\": [\"error\", \"before\"],\n\t\t\t\t\t\"vue/padding-line-between-blocks\": [\"error\", \"always\"],\n\t\t\t\t\t\"vue/quote-props\": [\"error\", \"consistent-as-needed\"],\n\t\t\t\t\t\"vue/space-in-parens\": [\"error\", \"never\"],\n\t\t\t\t\t\"vue/template-curly-spacing\": \"error\",\n\t\t\t\t}),\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/vue/disables\",\n\n\t\t\trules: {\n\t\t\t\t\"node/prefer-global/process\": \"off\",\n\t\t\t\t\"ts-eslint/no-unused-vars\": \"off\",\n\t\t\t},\n\t\t},\n\t];\n};\n","import { GLOB_YAML } from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { interopDefault } from \"../utils\";\n\nexport const yaml = async (\n\toptions: ExtractOptions<OptionsConfig[\"yaml\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { files = [GLOB_YAML], overrides, stylistic = true } = options;\n\n\tconst [eslintPluginYaml, parserYaml] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-yml\")),\n\t\tinteropDefault(import(\"yaml-eslint-parser\")),\n\t]);\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/yaml/setup\",\n\n\t\t\tplugins: {\n\t\t\t\tyaml: eslintPluginYaml,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: parserYaml,\n\t\t\t},\n\n\t\t\tname: \"zayne/yaml/parser\",\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/yaml/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"yaml/block-mapping\": \"error\",\n\t\t\t\t\"yaml/block-sequence\": \"error\",\n\t\t\t\t\"yaml/no-empty-key\": \"error\",\n\t\t\t\t\"yaml/no-empty-sequence-entry\": \"error\",\n\t\t\t\t\"yaml/no-irregular-whitespace\": \"error\",\n\t\t\t\t\"yaml/plain-scalar\": \"error\",\n\n\t\t\t\t\"yaml/vue-custom-block/no-parsing-error\": \"error\",\n\n\t\t\t\t...(stylistic && {\n\t\t\t\t\t\"yaml/block-mapping-question-indicator-newline\": \"error\",\n\t\t\t\t\t\"yaml/block-sequence-hyphen-indicator-newline\": \"error\",\n\t\t\t\t\t\"yaml/flow-mapping-curly-newline\": \"error\",\n\t\t\t\t\t\"yaml/flow-mapping-curly-spacing\": \"error\",\n\t\t\t\t\t\"yaml/flow-sequence-bracket-newline\": \"error\",\n\t\t\t\t\t\"yaml/flow-sequence-bracket-spacing\": \"error\",\n\t\t\t\t\t// \"yaml/indent\": [\"error\", indent],\n\t\t\t\t\t\"yaml/key-spacing\": \"error\",\n\t\t\t\t\t\"yaml/no-tab-indent\": \"error\",\n\t\t\t\t\t// \"yaml/quotes\": [\n\t\t\t\t\t// \t\"error\",\n\t\t\t\t\t// \t{ avoidEscape: true, prefer: quotes === \"backtick\" ? \"double\" : quotes },\n\t\t\t\t\t// ],\n\t\t\t\t\t\"yaml/spaced-comment\": \"error\",\n\t\t\t\t}),\n\n\t\t\t\t...overrides,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/yaml/disables\",\n\n\t\t\trules: {\n\t\t\t\t\"stylistic/spaced-comment\": \"off\",\n\t\t\t},\n\t\t},\n\t];\n};\n","import { assert } from \"@zayne-labs/toolkit-type-helpers\";\nimport type { Linter } from \"eslint\";\nimport { FlatConfigComposer } from \"eslint-flat-config-utils\";\nimport { findUpSync } from \"find-up-simple\";\nimport { isPackageExists } from \"local-pkg\";\nimport {\n\tastro,\n\tcomments,\n\tdepend,\n\texpo,\n\tgitIgnores,\n\tignores,\n\timports,\n\tjavascript,\n\tjsdoc,\n\tjsonc,\n\tjsx,\n\tmarkdown,\n\tnode,\n\tperfectionist,\n\tpnpm,\n\treact,\n\tsolid,\n\tsortPackageJson,\n\tsortTsconfig,\n\tstylistic,\n\ttailwindcssBetter,\n\ttanstack,\n\ttoml,\n\ttypescript,\n\tunicorn,\n\tvue,\n\tyaml,\n} from \"./configs\";\nimport { getDefaultPluginRenameMap } from \"./constants/defaults\";\nimport type { Awaitable, ConfigNames, OptionsConfig, Prettify, TypedFlatConfigItem } from \"./types\";\nimport { isObject, resolveOptions } from \"./utils\";\n\nconst ReactPackages = [\"react\", \"react-dom\"];\n\n/**\n * @description Construct an array of ESLint flat config items.\n * @param options\n * The options for generating the ESLint configurations.\n * @param userConfigs\n * The extra user configurations to be merged with the generated configurations.\n * @returns\n * The merged ESLint configurations.\n */\nexport const zayne = (\n\toptions: OptionsConfig & Prettify<Pick<TypedFlatConfigItem, \"ignores\">> = {},\n\t...userConfigs: Array<\n\t\tAwaitable<FlatConfigComposer | Linter.Config[] | TypedFlatConfigItem | TypedFlatConfigItem[]>\n\t>\n\t// eslint-disable-next-line complexity -- Ignore\n): FlatConfigComposer<TypedFlatConfigItem, ConfigNames> => {\n\tconst {\n\t\tautoRenamePlugins = true,\n\t\tcomponentExts = [],\n\t\tcomponentExtsTypeAware = [],\n\t\tignores: userIgnores,\n\t\ttype = \"app\",\n\t\twithDefaults = true,\n\t\t...restOfOptions\n\t} = options;\n\n\t// == These configs are too needful to be turned off with a single switch, plus won't harm things much\n\tconst enableGitignore = restOfOptions.gitignore ?? true;\n\tconst enableJsx = restOfOptions.jsx ?? true;\n\n\t// == These ones won't matter if they are all turned off at once\n\tconst enableComments = restOfOptions.comments ?? withDefaults;\n\tconst enableImports = restOfOptions.imports ?? withDefaults;\n\tconst enableJsdoc = restOfOptions.jsdoc ?? withDefaults;\n\tconst enableJsonc = restOfOptions.jsonc ?? withDefaults;\n\tconst enableNode = restOfOptions.node ?? withDefaults;\n\tconst enablePerfectionist = restOfOptions.perfectionist ?? withDefaults;\n\tconst enableReact =\n\t\trestOfOptions.react ?? (withDefaults && ReactPackages.some((pkg) => isPackageExists(pkg)));\n\tconst enableStylistic = restOfOptions.stylistic ?? withDefaults;\n\tconst enableToml = restOfOptions.toml ?? withDefaults;\n\tconst enableTypeScript = restOfOptions.typescript ?? (withDefaults && isPackageExists(\"typescript\"));\n\tconst enableUnicorn = restOfOptions.unicorn ?? withDefaults;\n\tconst enableYaml = restOfOptions.yaml ?? withDefaults;\n\tconst enableMarkdown = restOfOptions.markdown ?? withDefaults;\n\tconst enablePnpmCatalogs =\n\t\trestOfOptions.pnpm ?? (withDefaults && Boolean(findUpSync(\"pnpm-workspace.yaml\")));\n\n\tconst isStylistic = Boolean(enableStylistic);\n\n\tconst tsconfigPath =\n\t\tisObject(enableTypeScript) && \"tsconfigPath\" in enableTypeScript ? enableTypeScript.tsconfigPath\n\t\t\t// eslint-disable-next-line unicorn/no-nested-ternary -- Allow\n\t\t: enableTypeScript === true ? enableTypeScript\n\t\t: null;\n\n\tconst isTypeAware = Boolean(tsconfigPath);\n\n\tconst configs: Array<Awaitable<TypedFlatConfigItem[]>> = [\n\t\t// == Base configs\n\t\tignores(userIgnores),\n\t\tjavascript(restOfOptions.javascript),\n\t];\n\n\tif (enableGitignore) {\n\t\tconfigs.push(gitIgnores(resolveOptions(enableGitignore)));\n\t}\n\n\t// == Other configs\n\tif (enableJsx) {\n\t\tconfigs.push(jsx(resolveOptions(enableJsx)));\n\t}\n\n\tif (restOfOptions.vue) {\n\t\tcomponentExts.push(\"vue\");\n\n\t\t(resolveOptions(restOfOptions.vue).typescript ?? isTypeAware) && componentExtsTypeAware.push(\"vue\");\n\t}\n\n\tif (restOfOptions.astro) {\n\t\tcomponentExts.push(\"astro\");\n\n\t\t(resolveOptions(restOfOptions.astro).typescript ?? isTypeAware)\n\t\t\t&& componentExtsTypeAware.push(\"astro\");\n\t}\n\n\tif (enableTypeScript) {\n\t\tconfigs.push(\n\t\t\ttypescript({\n\t\t\t\tcomponentExts,\n\t\t\t\tcomponentExtsTypeAware,\n\t\t\t\tisTypeAware,\n\t\t\t\tstylistic: isStylistic,\n\t\t\t\t...resolveOptions(enableTypeScript),\n\t\t\t\ttsconfigPath,\n\t\t\t})\n\t\t);\n\t}\n\n\tif (enableStylistic) {\n\t\tconfigs.push(stylistic({ jsx: Boolean(enableJsx), ...resolveOptions(enableStylistic) }));\n\t}\n\n\tif (enableComments) {\n\t\tconfigs.push(comments({ type, ...resolveOptions(enableComments) }));\n\t}\n\n\tif (enableImports) {\n\t\tconfigs.push(\n\t\t\timports({ stylistic: isStylistic, typescript: isTypeAware, ...resolveOptions(enableImports) })\n\t\t);\n\t}\n\n\tif (enablePnpmCatalogs) {\n\t\tconfigs.push(pnpm(resolveOptions(enablePnpmCatalogs)));\n\t}\n\n\tif (enableNode) {\n\t\tconfigs.push(node({ type, ...resolveOptions(enableNode) }));\n\t}\n\n\tif (enablePerfectionist) {\n\t\tconfigs.push(perfectionist(resolveOptions(enablePerfectionist)));\n\t}\n\n\tif (enableUnicorn) {\n\t\tconfigs.push(unicorn({ type, ...resolveOptions(enableUnicorn) }));\n\t}\n\n\tif (enableJsonc) {\n\t\tconfigs.push(jsonc(resolveOptions(enableJsonc)), sortPackageJson(), sortTsconfig());\n\t}\n\n\tif (enableJsdoc) {\n\t\tconfigs.push(jsdoc({ stylistic: isStylistic, ...resolveOptions(enableJsdoc) }));\n\t}\n\n\tif (enableToml) {\n\t\tconfigs.push(toml({ stylistic: isStylistic, ...resolveOptions(enableToml) }));\n\t}\n\n\tif (enableYaml) {\n\t\tconfigs.push(yaml({ stylistic: isStylistic, ...resolveOptions(enableYaml) }));\n\t}\n\n\tif (enableMarkdown) {\n\t\tconfigs.push(markdown({ componentExts, ...resolveOptions(enableMarkdown) }));\n\t}\n\n\tif (enableReact) {\n\t\tconfigs.push(react({ typescript: isTypeAware, ...resolveOptions(enableReact) }));\n\t}\n\n\tif (restOfOptions.vue) {\n\t\tconfigs.push(\n\t\t\tvue({ stylistic: isStylistic, typescript: isTypeAware, ...resolveOptions(restOfOptions.vue) })\n\t\t);\n\t}\n\n\tif (restOfOptions.solid) {\n\t\tconfigs.push(solid({ typescript: isTypeAware, ...resolveOptions(restOfOptions.solid) }));\n\t}\n\n\tif (restOfOptions.astro) {\n\t\tconfigs.push(astro({ typescript: isTypeAware, ...resolveOptions(restOfOptions.astro) }));\n\t}\n\n\tif (restOfOptions.expo) {\n\t\tconfigs.push(expo(resolveOptions(restOfOptions.expo)));\n\t}\n\n\tif (restOfOptions.tailwindcssBetter) {\n\t\tconfigs.push(tailwindcssBetter(resolveOptions(restOfOptions.tailwindcssBetter)));\n\t}\n\n\tif (restOfOptions.tanstack) {\n\t\tconfigs.push(tanstack(resolveOptions(restOfOptions.tanstack)));\n\t}\n\n\tif (restOfOptions.depend) {\n\t\tconfigs.push(depend(resolveOptions(restOfOptions.depend)));\n\t}\n\n\tassert(\n\t\t!(\"files\" in restOfOptions),\n\t\t`[@zayne-labs/eslint-config]: The first argument should not contain the \"files\" property as the options are supposed to be global. Place it in the second config array instead.`\n\t);\n\n\tconst composer = new FlatConfigComposer<TypedFlatConfigItem, ConfigNames>()\n\t\t.append(...configs, ...(userConfigs as TypedFlatConfigItem[]))\n\t\t.renamePlugins(autoRenamePlugins ? getDefaultPluginRenameMap() : {});\n\n\treturn composer;\n};\n"],"mappings":"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AG;GACH;EACD,CACD;AAED,KAAI,YAAY,qBACf,QAAO,KAAK;EACX,MAAM;EAEN,SAAS,EACR,UAAU,sBACV;EAED,OAAO;GACN,GAAG,qBAAqB,QAAQ,YAAY;GAE5C,GAAG;GACH,GAAIC,WAAS,SAAS,IAAI,SAAS;GACnC;EACD,CAAC;AAGH,QAAO;;;;ACpER,MAAM,gBAAgB,OACrB,UAA0D,EAAE,KACxB;CACpC,MAAM,EAAE,cAAc;AAItB,QAAO,CACN;EACC,MAAM;EAEN,SAAS,EACR,eAP+B,MAAM,eAAe,OAAO,+BAA+B,EAQ1F;EAED,OAAO;GACN,qCAAqC,CACpC,QACA;IACC,OAAO;IACP,MAAM;IACN,CACD;GAED,8BAA8B,CAC7B,QACA;IACC,OAAO;IACP,MAAM;IACN,CACD;GAED,iCAAiC,CAChC,QACA;IACC,OAAO;IACP,MAAM;IACN,CACD;GAED,yCAAyC,CACxC,QACA;IACC,QAAQ;KACP;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;IACD,OAAO;IACP,MAAM;IACN,CACD;GAED,2BAA2B,CAC1B,QACA;IACC,OAAO;IACP,MAAM;IACN,CACD;GAED,mCAAmC,CAClC,QACA;IACC,OAAO;IACP,MAAM;IACN,CACD;GAED,8BAA8B,CAC7B,QACA;IACC,OAAO;IACP,MAAM;IACN,CACD;GAED,kCAAkC,CACjC,QACA;IACC,OAAO;IACP,MAAM;IACN,CACD;GAED,kCAAkC,CACjC,QACA;IACC,QAAQ;KACP;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;IACD,OAAO;IACP,MAAM;IACN,CACD;GACD,4CAA4C,CAC3C,QACA;IACC,OAAO;IACP,MAAM;IACN,CACD;GA+BD,GAAG;GACH;EACD,CACD;;;;AC7IF,eAAsB,KACrB,UAAiD,EAAE,EAClB;CACjC,MAAM,EAEL,WAAW,OACX,OAAO,MACP,WACA,OAAO,MACP,OAAO,SACJ;AAEJ,OAAM,eAAe,CAAC,qBAAqB,CAAC;CAE5C,MAAM,CAAC,kBAAkB,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A;KACA;KACA;KACA;KACA;KACA;IACD,aAAa;IACb;GACD;IACC,OAAO,EAAE,MAAM,OAAO;IACtB,aAAa;IACb;GACD;IACC,OAAO,EAAE,MAAM,OAAO;IACtB,aAAa;IACb;GACD;IACC,OAAO,EAAE,MAAM,OAAO;IACtB,aAAa;IACb;GACD;IACC,OAAO,EAAE,MAAM,OAAO;IACtB,aAAa,OAAO,GAAG;IACvB;GACD;IACC,OAAO,EAAE,MAAM,OAAO;IACtB,aAAa,OAAO,GAAG;IACvB;GACD;IACC,OAAO;KAAC;KAAS;KAAU;KAAW;KAAU;IAChD,aAAa;IACb;GACD;IACC,OAAO;KAEN;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;IACD,aAAa;IACb;GACD;EACD;CACD,CACD;;;;;;AAQD,MAAa,qBAA4C,CACxD;CACC,OAAO,CAAC,uBAAuB,wBAAwB;CAEvD,MAAM;CAEN,OAAO,EACN,mBAAmB;EAClB;EACA;GACC,OAAO;IAAC;IAAW;IAAmB;IAAc;IAAS;IAAW;IAAU;GAClF,aAAa;GACb;EACD;GACC,OAAO;IAEN;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;IACA;IAGA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;IACA;GAED,aAAa;GACb;EACD,EACD;CACD,CACD;;;ACtPD,MAAM,YAAY,OACjB,UAAsD,EAAE,KACpB;CACpC,MAAM,EAAE,MAAM,MAAM,cAAc;AAIlC,QAAO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"}
|
package/dist/utils.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zayne-labs/eslint-config",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.12.
|
|
4
|
+
"version": "0.12.2",
|
|
5
5
|
"description": "Zayne Labs' ESLint config preset",
|
|
6
6
|
"author": "Ryan Zayne",
|
|
7
7
|
"license": "MIT",
|
|
@@ -128,7 +128,7 @@
|
|
|
128
128
|
"eslint-plugin-jsdoc": "62.8.0",
|
|
129
129
|
"eslint-plugin-jsonc": "3.1.2",
|
|
130
130
|
"eslint-plugin-n": "17.24.0",
|
|
131
|
-
"eslint-plugin-perfectionist": "5.
|
|
131
|
+
"eslint-plugin-perfectionist": "5.7.0",
|
|
132
132
|
"eslint-plugin-pnpm": "1.6.0",
|
|
133
133
|
"eslint-plugin-security": "4.0.0",
|
|
134
134
|
"eslint-plugin-toml": "1.3.1",
|
|
@@ -146,8 +146,8 @@
|
|
|
146
146
|
"@arethetypeswrong/cli": "0.18.2",
|
|
147
147
|
"@changesets/cli": "2.30.0",
|
|
148
148
|
"@eslint-react/eslint-plugin": "3.0.0",
|
|
149
|
-
"@next/eslint-plugin-next": "16.1
|
|
150
|
-
"@tanstack/eslint-plugin-query": "5.
|
|
149
|
+
"@next/eslint-plugin-next": "16.2.1",
|
|
150
|
+
"@tanstack/eslint-plugin-query": "5.94.5",
|
|
151
151
|
"@tanstack/eslint-plugin-router": "1.161.6",
|
|
152
152
|
"@total-typescript/ts-reset": "0.6.1",
|
|
153
153
|
"@types/eslint-plugin-jsx-a11y": "6.10.1",
|
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
"astro-eslint-parser": "1.3.0",
|
|
158
158
|
"concurrently": "9.2.1",
|
|
159
159
|
"cross-env": "10.1.0",
|
|
160
|
-
"eslint": "10.0
|
|
160
|
+
"eslint": "10.1.0",
|
|
161
161
|
"eslint-config-expo": "55.0.0",
|
|
162
162
|
"eslint-plugin-astro": "1.6.0",
|
|
163
163
|
"eslint-plugin-better-tailwindcss": "4.3.2",
|
|
@@ -168,7 +168,7 @@
|
|
|
168
168
|
"eslint-plugin-react-refresh": "0.5.2",
|
|
169
169
|
"eslint-plugin-react-you-might-not-need-an-effect": "0.9.2",
|
|
170
170
|
"eslint-plugin-solid": "0.14.5",
|
|
171
|
-
"eslint-plugin-svelte": "3.
|
|
171
|
+
"eslint-plugin-svelte": "3.16.0",
|
|
172
172
|
"eslint-plugin-vue": "10.8.0",
|
|
173
173
|
"eslint-processor-vue-blocks": "2.0.0",
|
|
174
174
|
"eslint-typegen": "2.3.1",
|
|
@@ -177,12 +177,12 @@
|
|
|
177
177
|
"pkg-pr-new": "0.0.66",
|
|
178
178
|
"prettier": "3.8.1",
|
|
179
179
|
"publint": "0.3.18",
|
|
180
|
-
"tailwindcss": "4.2.
|
|
180
|
+
"tailwindcss": "4.2.2",
|
|
181
181
|
"tsdown": "0.21.4",
|
|
182
182
|
"tsx": "4.21.0",
|
|
183
183
|
"typescript": "5.9.3",
|
|
184
184
|
"vue-eslint-parser": "10.4.0",
|
|
185
|
-
"@zayne-labs/tsconfig": "0.12.
|
|
185
|
+
"@zayne-labs/tsconfig": "0.12.2"
|
|
186
186
|
},
|
|
187
187
|
"publishConfig": {
|
|
188
188
|
"access": "public",
|