@luxass/eslint-config 4.15.0 → 4.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +85 -82
- package/dist/index.d.cts +1449 -636
- package/dist/index.d.ts +1449 -636
- package/dist/index.js +81 -78
- package/package.json +51 -46
package/dist/index.js
CHANGED
|
@@ -224,7 +224,6 @@ async function astro(options = {}) {
|
|
|
224
224
|
}
|
|
225
225
|
},
|
|
226
226
|
{
|
|
227
|
-
name: "luxass/astro/rules",
|
|
228
227
|
files,
|
|
229
228
|
languageOptions: {
|
|
230
229
|
globals: pluginAstro.environments.astro.globals,
|
|
@@ -235,6 +234,7 @@ async function astro(options = {}) {
|
|
|
235
234
|
},
|
|
236
235
|
sourceType: "module"
|
|
237
236
|
},
|
|
237
|
+
name: "luxass/astro/rules",
|
|
238
238
|
processor: "astro/client-side-ts",
|
|
239
239
|
rules: {
|
|
240
240
|
// Astro uses top level await for e.g. data fetching
|
|
@@ -332,8 +332,8 @@ async function disables() {
|
|
|
332
332
|
}
|
|
333
333
|
},
|
|
334
334
|
{
|
|
335
|
-
name: "luxass/disables/github-actions",
|
|
336
335
|
files: ["**/.github/workflows/*.{yml,yaml}"],
|
|
336
|
+
name: "luxass/disables/github-actions",
|
|
337
337
|
rules: {
|
|
338
338
|
// GitHub Actions supports empty values to enable features
|
|
339
339
|
"yaml/no-empty-mapping-value": "off"
|
|
@@ -372,7 +372,6 @@ async function stylistic(options = {}) {
|
|
|
372
372
|
};
|
|
373
373
|
const pluginStylistic = await interop(import("@stylistic/eslint-plugin"));
|
|
374
374
|
const config = pluginStylistic.configs.customize({
|
|
375
|
-
flat: true,
|
|
376
375
|
indent,
|
|
377
376
|
jsx: jsx2,
|
|
378
377
|
pluginName: "style",
|
|
@@ -394,6 +393,8 @@ async function stylistic(options = {}) {
|
|
|
394
393
|
"curly": ["error", "multi-line", "consistent"],
|
|
395
394
|
"style/arrow-parens": ["error", "always", { requireForBlockBody: true }],
|
|
396
395
|
"style/brace-style": ["error", "1tbs", { allowSingleLine: true }],
|
|
396
|
+
"style/generator-star-spacing": ["error", { after: true, before: false }],
|
|
397
|
+
"style/yield-star-spacing": ["error", { after: true, before: false }],
|
|
397
398
|
...overrides
|
|
398
399
|
}
|
|
399
400
|
}
|
|
@@ -465,11 +466,11 @@ async function formatters(options = {}, stylistic2 = {}) {
|
|
|
465
466
|
if (options.css) {
|
|
466
467
|
configs2.push(
|
|
467
468
|
{
|
|
468
|
-
name: "luxass/formatter/css",
|
|
469
469
|
files: [GLOB_CSS, GLOB_POSTCSS],
|
|
470
470
|
languageOptions: {
|
|
471
471
|
parser: parserPlain
|
|
472
472
|
},
|
|
473
|
+
name: "luxass/formatter/css",
|
|
473
474
|
rules: {
|
|
474
475
|
"format/prettier": [
|
|
475
476
|
"error",
|
|
@@ -480,11 +481,11 @@ async function formatters(options = {}, stylistic2 = {}) {
|
|
|
480
481
|
}
|
|
481
482
|
},
|
|
482
483
|
{
|
|
483
|
-
name: "luxass/formatter/scss",
|
|
484
484
|
files: [GLOB_SCSS],
|
|
485
485
|
languageOptions: {
|
|
486
486
|
parser: parserPlain
|
|
487
487
|
},
|
|
488
|
+
name: "luxass/formatter/scss",
|
|
488
489
|
rules: {
|
|
489
490
|
"format/prettier": [
|
|
490
491
|
"error",
|
|
@@ -495,11 +496,11 @@ async function formatters(options = {}, stylistic2 = {}) {
|
|
|
495
496
|
}
|
|
496
497
|
},
|
|
497
498
|
{
|
|
498
|
-
name: "luxass/formatter/less",
|
|
499
499
|
files: [GLOB_LESS],
|
|
500
500
|
languageOptions: {
|
|
501
501
|
parser: parserPlain
|
|
502
502
|
},
|
|
503
|
+
name: "luxass/formatter/less",
|
|
503
504
|
rules: {
|
|
504
505
|
"format/prettier": [
|
|
505
506
|
"error",
|
|
@@ -513,11 +514,11 @@ async function formatters(options = {}, stylistic2 = {}) {
|
|
|
513
514
|
}
|
|
514
515
|
if (options.html) {
|
|
515
516
|
configs2.push({
|
|
516
|
-
name: "luxass/formatter/html",
|
|
517
517
|
files: [GLOB_HTML],
|
|
518
518
|
languageOptions: {
|
|
519
519
|
parser: parserPlain
|
|
520
520
|
},
|
|
521
|
+
name: "luxass/formatter/html",
|
|
521
522
|
rules: {
|
|
522
523
|
"format/prettier": [
|
|
523
524
|
"error",
|
|
@@ -531,11 +532,11 @@ async function formatters(options = {}, stylistic2 = {}) {
|
|
|
531
532
|
if (options.markdown) {
|
|
532
533
|
const formatter = options.markdown === true ? "prettier" : options.markdown;
|
|
533
534
|
configs2.push({
|
|
534
|
-
name: "luxass/formatter/markdown",
|
|
535
535
|
files: [GLOB_MARKDOWN],
|
|
536
536
|
languageOptions: {
|
|
537
537
|
parser: parserPlain
|
|
538
538
|
},
|
|
539
|
+
name: "luxass/formatter/markdown",
|
|
539
540
|
rules: {
|
|
540
541
|
[`format/${formatter}`]: [
|
|
541
542
|
"error",
|
|
@@ -552,11 +553,11 @@ async function formatters(options = {}, stylistic2 = {}) {
|
|
|
552
553
|
}
|
|
553
554
|
if (options.astro) {
|
|
554
555
|
configs2.push({
|
|
555
|
-
name: "luxass/formatter/astro",
|
|
556
556
|
files: [GLOB_ASTRO],
|
|
557
557
|
languageOptions: {
|
|
558
558
|
parser: parserPlain
|
|
559
559
|
},
|
|
560
|
+
name: "luxass/formatter/astro",
|
|
560
561
|
rules: {
|
|
561
562
|
"format/prettier": [
|
|
562
563
|
"error",
|
|
@@ -572,11 +573,11 @@ async function formatters(options = {}, stylistic2 = {}) {
|
|
|
572
573
|
}
|
|
573
574
|
if (options.graphql) {
|
|
574
575
|
configs2.push({
|
|
575
|
-
name: "luxass/formatter/graphql",
|
|
576
576
|
files: [GLOB_GRAPHQL],
|
|
577
577
|
languageOptions: {
|
|
578
578
|
parser: parserPlain
|
|
579
579
|
},
|
|
580
|
+
name: "luxass/formatter/graphql",
|
|
580
581
|
rules: {
|
|
581
582
|
"format/prettier": [
|
|
582
583
|
"error",
|
|
@@ -621,6 +622,7 @@ async function imports(options = {}) {
|
|
|
621
622
|
"antfu/import-dedupe": "error",
|
|
622
623
|
"antfu/no-import-dist": "error",
|
|
623
624
|
"antfu/no-import-node-modules-by-path": "error",
|
|
625
|
+
"import/consistent-type-specifier-style": ["error", "prefer-top-level"],
|
|
624
626
|
"import/first": "error",
|
|
625
627
|
"import/no-duplicates": "error",
|
|
626
628
|
"import/no-mutable-exports": "error",
|
|
@@ -646,7 +648,6 @@ async function javascript(options = {}) {
|
|
|
646
648
|
} = options;
|
|
647
649
|
return [
|
|
648
650
|
{
|
|
649
|
-
name: "luxass/javascript/setup",
|
|
650
651
|
languageOptions: {
|
|
651
652
|
ecmaVersion: 2022,
|
|
652
653
|
globals: {
|
|
@@ -668,7 +669,8 @@ async function javascript(options = {}) {
|
|
|
668
669
|
},
|
|
669
670
|
linterOptions: {
|
|
670
671
|
reportUnusedDisableDirectives: true
|
|
671
|
-
}
|
|
672
|
+
},
|
|
673
|
+
name: "luxass/javascript/setup"
|
|
672
674
|
},
|
|
673
675
|
{
|
|
674
676
|
name: "luxass/javascript/rules",
|
|
@@ -744,8 +746,8 @@ async function javascript(options = {}) {
|
|
|
744
746
|
"no-regex-spaces": "error",
|
|
745
747
|
"no-restricted-globals": [
|
|
746
748
|
"error",
|
|
747
|
-
{
|
|
748
|
-
{
|
|
749
|
+
{ message: "Use `globalThis` instead.", name: "global" },
|
|
750
|
+
{ message: "Use `globalThis` instead.", name: "self" }
|
|
749
751
|
],
|
|
750
752
|
"no-restricted-properties": [
|
|
751
753
|
"error",
|
|
@@ -877,12 +879,12 @@ async function javascript(options = {}) {
|
|
|
877
879
|
}
|
|
878
880
|
},
|
|
879
881
|
{
|
|
880
|
-
name: "luxass/disables/cli",
|
|
881
882
|
files: [
|
|
882
883
|
`scripts/${GLOB_SRC}`,
|
|
883
884
|
`cli.${GLOB_SRC_EXT}`,
|
|
884
885
|
`**/playground.${GLOB_SRC_EXT}`
|
|
885
886
|
],
|
|
887
|
+
name: "luxass/disables/cli",
|
|
886
888
|
rules: {
|
|
887
889
|
"no-console": "off"
|
|
888
890
|
}
|
|
@@ -953,11 +955,11 @@ async function jsonc(options = {}) {
|
|
|
953
955
|
}
|
|
954
956
|
},
|
|
955
957
|
{
|
|
956
|
-
name: "luxass/jsonc/rules",
|
|
957
958
|
files,
|
|
958
959
|
languageOptions: {
|
|
959
960
|
parser: parserJsonc
|
|
960
961
|
},
|
|
962
|
+
name: "luxass/jsonc/rules",
|
|
961
963
|
rules: {
|
|
962
964
|
"jsonc/no-bigint-literals": "error",
|
|
963
965
|
"jsonc/no-binary-expression": "error",
|
|
@@ -1016,7 +1018,6 @@ async function jsonc(options = {}) {
|
|
|
1016
1018
|
async function jsx() {
|
|
1017
1019
|
return [
|
|
1018
1020
|
{
|
|
1019
|
-
name: "luxass/jsx/setup",
|
|
1020
1021
|
files: [GLOB_JSX, GLOB_TSX],
|
|
1021
1022
|
languageOptions: {
|
|
1022
1023
|
parserOptions: {
|
|
@@ -1024,7 +1025,8 @@ async function jsx() {
|
|
|
1024
1025
|
jsx: true
|
|
1025
1026
|
}
|
|
1026
1027
|
}
|
|
1027
|
-
}
|
|
1028
|
+
},
|
|
1029
|
+
name: "luxass/jsx/setup"
|
|
1028
1030
|
}
|
|
1029
1031
|
];
|
|
1030
1032
|
}
|
|
@@ -1046,9 +1048,9 @@ async function markdown(options = {}) {
|
|
|
1046
1048
|
}
|
|
1047
1049
|
},
|
|
1048
1050
|
{
|
|
1049
|
-
name: "luxass/markdown/processor",
|
|
1050
1051
|
files,
|
|
1051
1052
|
ignores: [GLOB_MARKDOWN_IN_MARKDOWN],
|
|
1053
|
+
name: "luxass/markdown/processor",
|
|
1052
1054
|
// `eslint-plugin-markdown` only creates virtual files for code blocks,
|
|
1053
1055
|
// but not the markdown file itself. We use `eslint-merge-processors` to
|
|
1054
1056
|
// add a pass-through processor for the markdown file itself.
|
|
@@ -1058,14 +1060,13 @@ async function markdown(options = {}) {
|
|
|
1058
1060
|
])
|
|
1059
1061
|
},
|
|
1060
1062
|
{
|
|
1061
|
-
name: "luxass/markdown/parser",
|
|
1062
1063
|
files,
|
|
1063
1064
|
languageOptions: {
|
|
1064
1065
|
parser: parserPlain
|
|
1065
|
-
}
|
|
1066
|
+
},
|
|
1067
|
+
name: "luxass/markdown/parser"
|
|
1066
1068
|
},
|
|
1067
1069
|
{
|
|
1068
|
-
name: "luxass/markdown/disables",
|
|
1069
1070
|
files: [
|
|
1070
1071
|
GLOB_MARKDOWN_CODE,
|
|
1071
1072
|
...exts.map((ext) => `${GLOB_MARKDOWN}/**/*.${ext}`)
|
|
@@ -1077,6 +1078,7 @@ async function markdown(options = {}) {
|
|
|
1077
1078
|
}
|
|
1078
1079
|
}
|
|
1079
1080
|
},
|
|
1081
|
+
name: "luxass/markdown/disables",
|
|
1080
1082
|
rules: {
|
|
1081
1083
|
"antfu/no-top-level-await": "off",
|
|
1082
1084
|
"import/newline-after-import": "off",
|
|
@@ -1190,12 +1192,12 @@ var NextJsPackages = [
|
|
|
1190
1192
|
async function react(options = {}) {
|
|
1191
1193
|
const {
|
|
1192
1194
|
files = [GLOB_JS, GLOB_JSX, GLOB_TS, GLOB_TSX],
|
|
1193
|
-
overrides = {},
|
|
1194
1195
|
filesTypeAware = [GLOB_TS, GLOB_TSX],
|
|
1195
1196
|
ignoresTypeAware = [
|
|
1196
1197
|
`${GLOB_MARKDOWN}/**`,
|
|
1197
1198
|
GLOB_ASTRO_TS
|
|
1198
1199
|
],
|
|
1200
|
+
overrides = {},
|
|
1199
1201
|
tsconfigPath
|
|
1200
1202
|
} = options;
|
|
1201
1203
|
await ensure([
|
|
@@ -1235,7 +1237,6 @@ async function react(options = {}) {
|
|
|
1235
1237
|
}
|
|
1236
1238
|
},
|
|
1237
1239
|
{
|
|
1238
|
-
name: "luxass/react/rules",
|
|
1239
1240
|
files,
|
|
1240
1241
|
languageOptions: {
|
|
1241
1242
|
parserOptions: {
|
|
@@ -1245,6 +1246,7 @@ async function react(options = {}) {
|
|
|
1245
1246
|
},
|
|
1246
1247
|
sourceType: "module"
|
|
1247
1248
|
},
|
|
1249
|
+
name: "luxass/react/rules",
|
|
1248
1250
|
rules: {
|
|
1249
1251
|
// recommended rules from @eslint-react/dom
|
|
1250
1252
|
"react-dom/no-children-in-void-dom-elements": "warn",
|
|
@@ -1384,8 +1386,8 @@ async function regexp(options = {}) {
|
|
|
1384
1386
|
function sortPackageJson() {
|
|
1385
1387
|
return [
|
|
1386
1388
|
{
|
|
1387
|
-
name: "luxass/sort/package-json",
|
|
1388
1389
|
files: ["**/package.json"],
|
|
1390
|
+
name: "luxass/sort/package-json",
|
|
1389
1391
|
rules: {
|
|
1390
1392
|
"jsonc/sort-array-values": [
|
|
1391
1393
|
"error",
|
|
@@ -1485,8 +1487,8 @@ function sortPackageJson() {
|
|
|
1485
1487
|
function sortTsconfig() {
|
|
1486
1488
|
return [
|
|
1487
1489
|
{
|
|
1488
|
-
name: "luxass/sort/tsconfig",
|
|
1489
1490
|
files: ["**/tsconfig.json", "**/tsconfig.*.json"],
|
|
1491
|
+
name: "luxass/sort/tsconfig",
|
|
1490
1492
|
rules: {
|
|
1491
1493
|
"jsonc/sort-keys": [
|
|
1492
1494
|
"error",
|
|
@@ -1612,8 +1614,8 @@ function sortTsconfig() {
|
|
|
1612
1614
|
// src/configs/tailwindcss.ts
|
|
1613
1615
|
async function tailwindcss(options = {}) {
|
|
1614
1616
|
const {
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
+
configPath,
|
|
1618
|
+
overrides
|
|
1617
1619
|
} = options;
|
|
1618
1620
|
await ensure([
|
|
1619
1621
|
"eslint-plugin-tailwindcss"
|
|
@@ -1625,7 +1627,6 @@ async function tailwindcss(options = {}) {
|
|
|
1625
1627
|
]);
|
|
1626
1628
|
return [
|
|
1627
1629
|
{
|
|
1628
|
-
name: "luxass/tailwindcss",
|
|
1629
1630
|
languageOptions: {
|
|
1630
1631
|
parserOptions: {
|
|
1631
1632
|
ecmaFeatures: {
|
|
@@ -1633,13 +1634,7 @@ async function tailwindcss(options = {}) {
|
|
|
1633
1634
|
}
|
|
1634
1635
|
}
|
|
1635
1636
|
},
|
|
1636
|
-
|
|
1637
|
-
...configPath != null ? {
|
|
1638
|
-
tailwindcss: {
|
|
1639
|
-
config: configPath
|
|
1640
|
-
}
|
|
1641
|
-
} : {}
|
|
1642
|
-
},
|
|
1637
|
+
name: "luxass/tailwindcss",
|
|
1643
1638
|
plugins: {
|
|
1644
1639
|
tailwindcss: pluginTailwindCSS
|
|
1645
1640
|
},
|
|
@@ -1659,6 +1654,13 @@ async function tailwindcss(options = {}) {
|
|
|
1659
1654
|
// https://github.com/francoismassart/eslint-plugin-tailwindcss/blob/master/docs/rules/no-custom-classname.md
|
|
1660
1655
|
"tailwindcss/no-custom-classname": "warn",
|
|
1661
1656
|
...overrides
|
|
1657
|
+
},
|
|
1658
|
+
settings: {
|
|
1659
|
+
...configPath != null ? {
|
|
1660
|
+
tailwindcss: {
|
|
1661
|
+
config: configPath
|
|
1662
|
+
}
|
|
1663
|
+
} : {}
|
|
1662
1664
|
}
|
|
1663
1665
|
}
|
|
1664
1666
|
];
|
|
@@ -1668,8 +1670,8 @@ async function tailwindcss(options = {}) {
|
|
|
1668
1670
|
var _pluginTest;
|
|
1669
1671
|
async function test(options = {}) {
|
|
1670
1672
|
const {
|
|
1671
|
-
isInEditor = false,
|
|
1672
1673
|
files = GLOB_TESTS,
|
|
1674
|
+
isInEditor = false,
|
|
1673
1675
|
overrides = {}
|
|
1674
1676
|
} = options;
|
|
1675
1677
|
const [
|
|
@@ -1686,16 +1688,16 @@ async function test(options = {}) {
|
|
|
1686
1688
|
}
|
|
1687
1689
|
},
|
|
1688
1690
|
{
|
|
1689
|
-
name: "luxass/test/rules",
|
|
1690
1691
|
files,
|
|
1692
|
+
name: "luxass/test/rules",
|
|
1691
1693
|
rules: {
|
|
1692
1694
|
"test/consistent-test-it": [
|
|
1693
1695
|
"error",
|
|
1694
1696
|
{ fn: "it", withinDescribe: "it" }
|
|
1695
1697
|
],
|
|
1698
|
+
"test/no-focused-tests": isInEditor ? "off" : ["error", { fixable: true }],
|
|
1696
1699
|
"test/no-identical-title": "error",
|
|
1697
1700
|
"test/no-import-node-test": "error",
|
|
1698
|
-
"test/no-focused-tests": isInEditor ? "off" : ["error", { fixable: true }],
|
|
1699
1701
|
"test/prefer-hooks-in-order": "error",
|
|
1700
1702
|
"test/prefer-lowercase-title": "error",
|
|
1701
1703
|
// Disables
|
|
@@ -1736,11 +1738,11 @@ async function toml(options = {}) {
|
|
|
1736
1738
|
}
|
|
1737
1739
|
},
|
|
1738
1740
|
{
|
|
1739
|
-
name: "luxass/toml/rules",
|
|
1740
1741
|
files,
|
|
1741
1742
|
languageOptions: {
|
|
1742
1743
|
parser: parserToml
|
|
1743
1744
|
},
|
|
1745
|
+
name: "luxass/toml/rules",
|
|
1744
1746
|
rules: {
|
|
1745
1747
|
"style/spaced-comment": "off",
|
|
1746
1748
|
"toml/comma-style": "error",
|
|
@@ -1777,8 +1779,8 @@ async function typescript(options = {}) {
|
|
|
1777
1779
|
const {
|
|
1778
1780
|
exts = [],
|
|
1779
1781
|
overrides = {},
|
|
1780
|
-
parserOptions = {},
|
|
1781
1782
|
overridesTypeAware = {},
|
|
1783
|
+
parserOptions = {},
|
|
1782
1784
|
type = "app"
|
|
1783
1785
|
} = options ?? {};
|
|
1784
1786
|
const files = options.files ?? [
|
|
@@ -1827,7 +1829,6 @@ async function typescript(options = {}) {
|
|
|
1827
1829
|
return {
|
|
1828
1830
|
files: files2,
|
|
1829
1831
|
...ignores2 ? { ignores: ignores2 } : {},
|
|
1830
|
-
name: `luxass/typescript/${typeAware ? "type-aware-parser" : "parser"}`,
|
|
1831
1832
|
languageOptions: {
|
|
1832
1833
|
parser: parserTs,
|
|
1833
1834
|
parserOptions: {
|
|
@@ -1842,7 +1843,8 @@ async function typescript(options = {}) {
|
|
|
1842
1843
|
} : {},
|
|
1843
1844
|
...parserOptions
|
|
1844
1845
|
}
|
|
1845
|
-
}
|
|
1846
|
+
},
|
|
1847
|
+
name: `luxass/typescript/${typeAware ? "type-aware-parser" : "parser"}`
|
|
1846
1848
|
};
|
|
1847
1849
|
}
|
|
1848
1850
|
return [
|
|
@@ -1859,8 +1861,8 @@ async function typescript(options = {}) {
|
|
|
1859
1861
|
makeParser(false, files, filesTypeAware)
|
|
1860
1862
|
] : [makeParser(false, files)],
|
|
1861
1863
|
{
|
|
1862
|
-
name: "luxass/typescript/rules",
|
|
1863
1864
|
files,
|
|
1865
|
+
name: "luxass/typescript/rules",
|
|
1864
1866
|
rules: {
|
|
1865
1867
|
...renameRules(
|
|
1866
1868
|
pluginTs.configs["eslint-recommended"].overrides[0].rules,
|
|
@@ -1883,14 +1885,18 @@ async function typescript(options = {}) {
|
|
|
1883
1885
|
"ts/ban-ts-comment": [
|
|
1884
1886
|
"error",
|
|
1885
1887
|
{
|
|
1886
|
-
"ts-
|
|
1887
|
-
"ts-
|
|
1888
|
+
"ts-expect-error": "allow-with-description",
|
|
1889
|
+
"ts-ignore": "allow-with-description"
|
|
1888
1890
|
}
|
|
1889
1891
|
],
|
|
1890
1892
|
"ts/consistent-type-definitions": ["error", "interface"],
|
|
1891
1893
|
"ts/consistent-type-imports": [
|
|
1892
1894
|
"error",
|
|
1893
|
-
{
|
|
1895
|
+
{
|
|
1896
|
+
disallowTypeAnnotations: false,
|
|
1897
|
+
fixStyle: "separate-type-imports",
|
|
1898
|
+
prefer: "type-imports"
|
|
1899
|
+
}
|
|
1894
1900
|
],
|
|
1895
1901
|
"ts/method-signature-style": ["error", "property"],
|
|
1896
1902
|
// https://www.totaltypescript.com/method-shorthand-syntax-considered-harmful
|
|
@@ -1944,9 +1950,6 @@ async function typescript(options = {}) {
|
|
|
1944
1950
|
// src/configs/unicorn.ts
|
|
1945
1951
|
import pluginUnicorn from "eslint-plugin-unicorn";
|
|
1946
1952
|
async function unicorn(options = {}) {
|
|
1947
|
-
if (options.allRecommended && pluginUnicorn.configs == null) {
|
|
1948
|
-
throw new Error("The `allRecommended` option requires `eslint-plugin-unicorn` to be installed.");
|
|
1949
|
-
}
|
|
1950
1953
|
return [
|
|
1951
1954
|
{
|
|
1952
1955
|
name: "luxass/unicorn/rules",
|
|
@@ -1954,7 +1957,7 @@ async function unicorn(options = {}) {
|
|
|
1954
1957
|
unicorn: pluginUnicorn
|
|
1955
1958
|
},
|
|
1956
1959
|
rules: {
|
|
1957
|
-
...options.allRecommended ? pluginUnicorn.configs
|
|
1960
|
+
...options.allRecommended ? pluginUnicorn.configs.recommended.rules : {
|
|
1958
1961
|
// Pass error message when throwing errors
|
|
1959
1962
|
// https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/error-message.md
|
|
1960
1963
|
"unicorn/error-message": "error",
|
|
@@ -1962,8 +1965,8 @@ async function unicorn(options = {}) {
|
|
|
1962
1965
|
// https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/escape-case.md
|
|
1963
1966
|
"unicorn/escape-case": "error",
|
|
1964
1967
|
// Array.isArray instead of instanceof
|
|
1965
|
-
// https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-instanceof-
|
|
1966
|
-
"unicorn/no-instanceof-
|
|
1968
|
+
// https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-instanceof-builtins.md
|
|
1969
|
+
"unicorn/no-instanceof-builtins": "error",
|
|
1967
1970
|
// Ban `new Array` as `Array` constructor's params are ambiguous
|
|
1968
1971
|
// https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-new-array.md
|
|
1969
1972
|
"unicorn/no-new-array": "error",
|
|
@@ -2004,9 +2007,9 @@ async function unicorn(options = {}) {
|
|
|
2004
2007
|
async function unocss(options = {}) {
|
|
2005
2008
|
const {
|
|
2006
2009
|
attributify = true,
|
|
2010
|
+
configPath,
|
|
2007
2011
|
overrides,
|
|
2008
|
-
strict = false
|
|
2009
|
-
configPath
|
|
2012
|
+
strict = false
|
|
2010
2013
|
} = options;
|
|
2011
2014
|
await ensure([
|
|
2012
2015
|
"@unocss/eslint-plugin"
|
|
@@ -2022,13 +2025,6 @@ async function unocss(options = {}) {
|
|
|
2022
2025
|
plugins: {
|
|
2023
2026
|
unocss: pluginUnoCSS
|
|
2024
2027
|
},
|
|
2025
|
-
settings: {
|
|
2026
|
-
...configPath != null ? {
|
|
2027
|
-
unocss: {
|
|
2028
|
-
configPath
|
|
2029
|
-
}
|
|
2030
|
-
} : {}
|
|
2031
|
-
},
|
|
2032
2028
|
rules: {
|
|
2033
2029
|
"unocss/order": "warn",
|
|
2034
2030
|
...attributify ? {
|
|
@@ -2038,6 +2034,13 @@ async function unocss(options = {}) {
|
|
|
2038
2034
|
"unocss/blocklist": "error"
|
|
2039
2035
|
} : {},
|
|
2040
2036
|
...overrides
|
|
2037
|
+
},
|
|
2038
|
+
settings: {
|
|
2039
|
+
...configPath != null ? {
|
|
2040
|
+
unocss: {
|
|
2041
|
+
configPath
|
|
2042
|
+
}
|
|
2043
|
+
} : {}
|
|
2041
2044
|
}
|
|
2042
2045
|
}
|
|
2043
2046
|
];
|
|
@@ -2066,7 +2069,6 @@ async function vue(options = {}) {
|
|
|
2066
2069
|
} = typeof stylistic2 === "boolean" ? {} : stylistic2;
|
|
2067
2070
|
return [
|
|
2068
2071
|
{
|
|
2069
|
-
name: "luxass/vue/setup",
|
|
2070
2072
|
// This allows Vue plugin to work with auto imports
|
|
2071
2073
|
// https://github.com/vuejs/eslint-plugin-vue/pull/2422
|
|
2072
2074
|
languageOptions: {
|
|
@@ -2087,12 +2089,12 @@ async function vue(options = {}) {
|
|
|
2087
2089
|
watchEffect: "readonly"
|
|
2088
2090
|
}
|
|
2089
2091
|
},
|
|
2092
|
+
name: "luxass/vue/setup",
|
|
2090
2093
|
plugins: {
|
|
2091
2094
|
vue: pluginVue
|
|
2092
2095
|
}
|
|
2093
2096
|
},
|
|
2094
2097
|
{
|
|
2095
|
-
name: "luxass/vue/rules",
|
|
2096
2098
|
files,
|
|
2097
2099
|
languageOptions: {
|
|
2098
2100
|
parser: parserVue,
|
|
@@ -2105,6 +2107,7 @@ async function vue(options = {}) {
|
|
|
2105
2107
|
sourceType: "module"
|
|
2106
2108
|
}
|
|
2107
2109
|
},
|
|
2110
|
+
name: "luxass/vue/rules",
|
|
2108
2111
|
processor: sfcBlocks === false ? pluginVue.processors[".vue"] : mergeProcessors2([
|
|
2109
2112
|
pluginVue.processors[".vue"],
|
|
2110
2113
|
processorVueBlocks({
|
|
@@ -2117,9 +2120,9 @@ async function vue(options = {}) {
|
|
|
2117
2120
|
]),
|
|
2118
2121
|
rules: {
|
|
2119
2122
|
...pluginVue.configs.base.rules,
|
|
2120
|
-
...pluginVue.configs["
|
|
2121
|
-
...pluginVue.configs["
|
|
2122
|
-
...pluginVue.configs["
|
|
2123
|
+
...pluginVue.configs["flat/essential"].map((c) => c.rules).reduce((acc, c) => ({ ...acc, ...c }), {}),
|
|
2124
|
+
...pluginVue.configs["flat/strongly-recommended"].map((c) => c.rules).reduce((acc, c) => ({ ...acc, ...c }), {}),
|
|
2125
|
+
...pluginVue.configs["flat/recommended"].map((c) => c.rules).reduce((acc, c) => ({ ...acc, ...c }), {}),
|
|
2123
2126
|
"antfu/no-top-level-await": "off",
|
|
2124
2127
|
"node/prefer-global/process": "off",
|
|
2125
2128
|
"ts/explicit-function-return-type": "off",
|
|
@@ -2258,11 +2261,11 @@ async function yaml(options = {}) {
|
|
|
2258
2261
|
}
|
|
2259
2262
|
},
|
|
2260
2263
|
{
|
|
2261
|
-
name: "luxass/yaml/rules",
|
|
2262
2264
|
files,
|
|
2263
2265
|
languageOptions: {
|
|
2264
2266
|
parser: parserYaml
|
|
2265
2267
|
},
|
|
2268
|
+
name: "luxass/yaml/rules",
|
|
2266
2269
|
rules: {
|
|
2267
2270
|
"style/spaced-comment": "off",
|
|
2268
2271
|
"yaml/block-mapping": "error",
|
|
@@ -2309,16 +2312,16 @@ var VuePackages = [
|
|
|
2309
2312
|
"@slidev/cli"
|
|
2310
2313
|
];
|
|
2311
2314
|
var defaultPluginRenaming = {
|
|
2315
|
+
"@eslint-react": "react",
|
|
2316
|
+
"@eslint-react/dom": "react-dom",
|
|
2317
|
+
"@eslint-react/hooks-extra": "react-hooks-extra",
|
|
2318
|
+
"@eslint-react/naming-convention": "react-naming-convention",
|
|
2312
2319
|
"@stylistic": "style",
|
|
2313
2320
|
"@typescript-eslint": "ts",
|
|
2314
2321
|
"import-x": "import",
|
|
2315
2322
|
"n": "node",
|
|
2316
2323
|
"vitest": "test",
|
|
2317
|
-
"yml": "yaml"
|
|
2318
|
-
"@eslint-react": "react",
|
|
2319
|
-
"@eslint-react/dom": "react-dom",
|
|
2320
|
-
"@eslint-react/hooks-extra": "react-hooks-extra",
|
|
2321
|
-
"@eslint-react/naming-convention": "react-naming-convention"
|
|
2324
|
+
"yml": "yaml"
|
|
2322
2325
|
};
|
|
2323
2326
|
function luxass(options = {}, ...userConfigs) {
|
|
2324
2327
|
const {
|
|
@@ -2329,12 +2332,12 @@ function luxass(options = {}, ...userConfigs) {
|
|
|
2329
2332
|
jsx: enableJsx = true,
|
|
2330
2333
|
react: enableReact = false,
|
|
2331
2334
|
regexp: enableRegexp = true,
|
|
2335
|
+
tailwindcss: enableTailwindCSS = false,
|
|
2336
|
+
type: projectType = "app",
|
|
2332
2337
|
typescript: enableTypeScript = isPackageExists3("typescript"),
|
|
2333
2338
|
unicorn: enableUnicorn = true,
|
|
2334
2339
|
unocss: enableUnoCSS = false,
|
|
2335
|
-
|
|
2336
|
-
vue: enableVue = VuePackages.some((i) => isPackageExists3(i)),
|
|
2337
|
-
type: projectType = "app"
|
|
2340
|
+
vue: enableVue = VuePackages.some((i) => isPackageExists3(i))
|
|
2338
2341
|
} = options;
|
|
2339
2342
|
let isInEditor = options.isInEditor;
|
|
2340
2343
|
if (isInEditor == null) {
|
|
@@ -2514,7 +2517,7 @@ function luxass(options = {}, ...userConfigs) {
|
|
|
2514
2517
|
}
|
|
2515
2518
|
|
|
2516
2519
|
// src/index.ts
|
|
2517
|
-
var
|
|
2520
|
+
var index_default = luxass;
|
|
2518
2521
|
export {
|
|
2519
2522
|
GLOB_ASTRO,
|
|
2520
2523
|
GLOB_ASTRO_TS,
|
|
@@ -2548,7 +2551,7 @@ export {
|
|
|
2548
2551
|
astro,
|
|
2549
2552
|
combine,
|
|
2550
2553
|
comments,
|
|
2551
|
-
|
|
2554
|
+
index_default as default,
|
|
2552
2555
|
disables,
|
|
2553
2556
|
ensure,
|
|
2554
2557
|
formatters,
|