@luxass/eslint-config 4.12.0 → 4.13.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 +109 -62
- package/dist/index.d.cts +1078 -562
- package/dist/index.d.ts +1078 -562
- package/dist/index.js +108 -61
- package/package.json +48 -48
package/dist/index.js
CHANGED
|
@@ -237,6 +237,7 @@ async function astro(options = {}) {
|
|
|
237
237
|
},
|
|
238
238
|
processor: "astro/client-side-ts",
|
|
239
239
|
rules: {
|
|
240
|
+
// use recommended rules
|
|
240
241
|
"astro/missing-client-only-directive-value": "error",
|
|
241
242
|
"astro/no-conflict-set-directives": "error",
|
|
242
243
|
"astro/no-deprecated-astro-canonicalurl": "error",
|
|
@@ -245,12 +246,11 @@ async function astro(options = {}) {
|
|
|
245
246
|
"astro/no-deprecated-getentrybyslug": "error",
|
|
246
247
|
"astro/no-set-html-directive": "off",
|
|
247
248
|
"astro/no-unused-define-vars-in-style": "error",
|
|
248
|
-
"astro/semi": "
|
|
249
|
+
"astro/semi": "off",
|
|
249
250
|
"astro/valid-compile": "error",
|
|
250
251
|
...stylistic2 ? {
|
|
251
252
|
"style/indent": "off",
|
|
252
253
|
"style/jsx-closing-tag-location": "off",
|
|
253
|
-
"style/jsx-indent": "off",
|
|
254
254
|
"style/jsx-one-expression-per-line": "off",
|
|
255
255
|
"style/no-multiple-empty-lines": "off"
|
|
256
256
|
} : {},
|
|
@@ -276,9 +276,8 @@ async function comments() {
|
|
|
276
276
|
"eslint-comments/no-duplicate-disable": "error",
|
|
277
277
|
// https://github.com/eslint-community/eslint-plugin-eslint-comments/blob/main/docs/rules/no-unlimited-disable.md
|
|
278
278
|
"eslint-comments/no-unlimited-disable": "error",
|
|
279
|
-
//
|
|
280
|
-
|
|
281
|
-
"eslint-comments/no-unused-enable": "off"
|
|
279
|
+
// https://github.com/eslint-community/eslint-plugin-eslint-comments/blob/main/docs/rules/no-unused-enable.md
|
|
280
|
+
"eslint-comments/no-unused-enable": "error"
|
|
282
281
|
}
|
|
283
282
|
}
|
|
284
283
|
];
|
|
@@ -288,17 +287,19 @@ async function comments() {
|
|
|
288
287
|
async function disables() {
|
|
289
288
|
return [
|
|
290
289
|
{
|
|
291
|
-
files: [
|
|
290
|
+
files: [`**/scripts/${GLOB_SRC}`],
|
|
292
291
|
name: "luxass/disables/scripts",
|
|
293
292
|
rules: {
|
|
293
|
+
"antfu/no-top-level-await": "off",
|
|
294
294
|
"no-console": "off",
|
|
295
295
|
"ts/explicit-function-return-type": "off"
|
|
296
296
|
}
|
|
297
297
|
},
|
|
298
298
|
{
|
|
299
|
-
files: [
|
|
299
|
+
files: [`**/cli/${GLOB_SRC}`, `**/cli.${GLOB_SRC_EXT}`],
|
|
300
300
|
name: "luxass/disables/cli",
|
|
301
301
|
rules: {
|
|
302
|
+
"antfu/no-top-level-await": "off",
|
|
302
303
|
"no-console": "off"
|
|
303
304
|
}
|
|
304
305
|
},
|
|
@@ -321,17 +322,27 @@ async function disables() {
|
|
|
321
322
|
}
|
|
322
323
|
},
|
|
323
324
|
{
|
|
324
|
-
files: ["**/*.
|
|
325
|
-
name: "luxass/disables/
|
|
325
|
+
files: ["**/*.js", "**/*.cjs"],
|
|
326
|
+
name: "luxass/disables/cjs",
|
|
326
327
|
rules: {
|
|
327
|
-
"no-
|
|
328
|
+
"ts/no-require-imports": "off"
|
|
328
329
|
}
|
|
329
330
|
},
|
|
330
331
|
{
|
|
331
|
-
|
|
332
|
-
|
|
332
|
+
name: "luxass/disables/github-actions",
|
|
333
|
+
files: ["**/.github/workflows/*.{yml,yaml}"],
|
|
333
334
|
rules: {
|
|
334
|
-
|
|
335
|
+
// GitHub Actions supports empty values to enable features
|
|
336
|
+
"yaml/no-empty-mapping-value": "off"
|
|
337
|
+
}
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
files: [`**/*.config.${GLOB_SRC_EXT}`, `**/*.config.*.${GLOB_SRC_EXT}`],
|
|
341
|
+
name: "luxass/disables/config-files",
|
|
342
|
+
rules: {
|
|
343
|
+
"antfu/no-top-level-await": "off",
|
|
344
|
+
"no-console": "off",
|
|
345
|
+
"ts/explicit-function-return-type": "off"
|
|
335
346
|
}
|
|
336
347
|
}
|
|
337
348
|
];
|
|
@@ -387,6 +398,16 @@ async function stylistic(options = {}) {
|
|
|
387
398
|
}
|
|
388
399
|
|
|
389
400
|
// src/configs/formatters.ts
|
|
401
|
+
function mergePrettierOptions(options, overrides = {}) {
|
|
402
|
+
return {
|
|
403
|
+
...options,
|
|
404
|
+
...overrides,
|
|
405
|
+
plugins: [
|
|
406
|
+
...overrides.plugins || [],
|
|
407
|
+
...options.plugins || []
|
|
408
|
+
]
|
|
409
|
+
};
|
|
410
|
+
}
|
|
390
411
|
async function formatters(options = {}, stylistic2 = {}) {
|
|
391
412
|
if (options === true) {
|
|
392
413
|
options = {
|
|
@@ -449,10 +470,9 @@ async function formatters(options = {}, stylistic2 = {}) {
|
|
|
449
470
|
rules: {
|
|
450
471
|
"format/prettier": [
|
|
451
472
|
"error",
|
|
452
|
-
{
|
|
453
|
-
...prettierOptions,
|
|
473
|
+
mergePrettierOptions(prettierOptions, {
|
|
454
474
|
parser: "css"
|
|
455
|
-
}
|
|
475
|
+
})
|
|
456
476
|
]
|
|
457
477
|
}
|
|
458
478
|
},
|
|
@@ -465,10 +485,9 @@ async function formatters(options = {}, stylistic2 = {}) {
|
|
|
465
485
|
rules: {
|
|
466
486
|
"format/prettier": [
|
|
467
487
|
"error",
|
|
468
|
-
{
|
|
469
|
-
...prettierOptions,
|
|
488
|
+
mergePrettierOptions(prettierOptions, {
|
|
470
489
|
parser: "scss"
|
|
471
|
-
}
|
|
490
|
+
})
|
|
472
491
|
]
|
|
473
492
|
}
|
|
474
493
|
},
|
|
@@ -481,10 +500,9 @@ async function formatters(options = {}, stylistic2 = {}) {
|
|
|
481
500
|
rules: {
|
|
482
501
|
"format/prettier": [
|
|
483
502
|
"error",
|
|
484
|
-
{
|
|
485
|
-
...prettierOptions,
|
|
503
|
+
mergePrettierOptions(prettierOptions, {
|
|
486
504
|
parser: "less"
|
|
487
|
-
}
|
|
505
|
+
})
|
|
488
506
|
]
|
|
489
507
|
}
|
|
490
508
|
}
|
|
@@ -500,10 +518,9 @@ async function formatters(options = {}, stylistic2 = {}) {
|
|
|
500
518
|
rules: {
|
|
501
519
|
"format/prettier": [
|
|
502
520
|
"error",
|
|
503
|
-
{
|
|
504
|
-
...prettierOptions,
|
|
521
|
+
mergePrettierOptions(prettierOptions, {
|
|
505
522
|
parser: "html"
|
|
506
|
-
}
|
|
523
|
+
})
|
|
507
524
|
]
|
|
508
525
|
}
|
|
509
526
|
});
|
|
@@ -519,11 +536,10 @@ async function formatters(options = {}, stylistic2 = {}) {
|
|
|
519
536
|
rules: {
|
|
520
537
|
[`format/${formater}`]: [
|
|
521
538
|
"error",
|
|
522
|
-
formater === "prettier" ? {
|
|
523
|
-
...prettierOptions,
|
|
539
|
+
formater === "prettier" ? mergePrettierOptions(prettierOptions, {
|
|
524
540
|
embeddedLanguageFormatting: "off",
|
|
525
541
|
parser: "markdown"
|
|
526
|
-
} : {
|
|
542
|
+
}) : {
|
|
527
543
|
...dprintOptions,
|
|
528
544
|
language: "markdown"
|
|
529
545
|
}
|
|
@@ -541,13 +557,12 @@ async function formatters(options = {}, stylistic2 = {}) {
|
|
|
541
557
|
rules: {
|
|
542
558
|
"format/prettier": [
|
|
543
559
|
"error",
|
|
544
|
-
{
|
|
545
|
-
...prettierOptions,
|
|
560
|
+
mergePrettierOptions(prettierOptions, {
|
|
546
561
|
parser: "astro",
|
|
547
562
|
plugins: [
|
|
548
563
|
"prettier-plugin-astro"
|
|
549
564
|
]
|
|
550
|
-
}
|
|
565
|
+
})
|
|
551
566
|
]
|
|
552
567
|
}
|
|
553
568
|
});
|
|
@@ -562,10 +577,9 @@ async function formatters(options = {}, stylistic2 = {}) {
|
|
|
562
577
|
rules: {
|
|
563
578
|
"format/prettier": [
|
|
564
579
|
"error",
|
|
565
|
-
{
|
|
566
|
-
...prettierOptions,
|
|
580
|
+
mergePrettierOptions(prettierOptions, {
|
|
567
581
|
parser: "graphql"
|
|
568
|
-
}
|
|
582
|
+
})
|
|
569
583
|
]
|
|
570
584
|
}
|
|
571
585
|
});
|
|
@@ -664,6 +678,7 @@ async function javascript(options = {}) {
|
|
|
664
678
|
"error",
|
|
665
679
|
{ enforceForClassMembers: true, setWithoutGet: true }
|
|
666
680
|
],
|
|
681
|
+
"antfu/no-top-level-await": "error",
|
|
667
682
|
"array-callback-return": "error",
|
|
668
683
|
"block-scoped-var": "error",
|
|
669
684
|
"constructor-super": "error",
|
|
@@ -1060,6 +1075,7 @@ async function markdown(options = {}) {
|
|
|
1060
1075
|
}
|
|
1061
1076
|
},
|
|
1062
1077
|
rules: {
|
|
1078
|
+
"antfu/no-top-level-await": "off",
|
|
1063
1079
|
"import/newline-after-import": "off",
|
|
1064
1080
|
"no-alert": "off",
|
|
1065
1081
|
"no-console": "off",
|
|
@@ -1074,6 +1090,7 @@ async function markdown(options = {}) {
|
|
|
1074
1090
|
"style/comma-dangle": "off",
|
|
1075
1091
|
"style/eol-last": "off",
|
|
1076
1092
|
"ts/consistent-type-imports": "off",
|
|
1093
|
+
"ts/explicit-function-return-type": "off",
|
|
1077
1094
|
"ts/no-namespace": "off",
|
|
1078
1095
|
"ts/no-redeclare": "off",
|
|
1079
1096
|
"ts/no-require-imports": "off",
|
|
@@ -1126,12 +1143,12 @@ async function perfectionist() {
|
|
|
1126
1143
|
"perfectionist/sort-exports": ["error", { order: "asc", type: "natural" }],
|
|
1127
1144
|
"perfectionist/sort-imports": ["error", {
|
|
1128
1145
|
groups: [
|
|
1146
|
+
"type",
|
|
1147
|
+
["parent-type", "sibling-type", "index-type"],
|
|
1129
1148
|
"builtin",
|
|
1130
1149
|
"external",
|
|
1131
|
-
"type",
|
|
1132
1150
|
["internal", "internal-type"],
|
|
1133
1151
|
["parent", "sibling", "index"],
|
|
1134
|
-
["parent-type", "sibling-type", "index-type"],
|
|
1135
1152
|
"side-effect",
|
|
1136
1153
|
"object",
|
|
1137
1154
|
"unknown"
|
|
@@ -1158,34 +1175,41 @@ var RemixPackages = [
|
|
|
1158
1175
|
"@remix-run/serve",
|
|
1159
1176
|
"@remix-run/dev"
|
|
1160
1177
|
];
|
|
1178
|
+
var NextJsPackages = [
|
|
1179
|
+
"next"
|
|
1180
|
+
];
|
|
1161
1181
|
async function react(options = {}) {
|
|
1162
1182
|
const {
|
|
1163
1183
|
files = [GLOB_JS, GLOB_JSX, GLOB_TS, GLOB_TSX],
|
|
1164
|
-
overrides = {}
|
|
1184
|
+
overrides = {},
|
|
1185
|
+
filesTypeAware = [GLOB_TS, GLOB_TSX],
|
|
1186
|
+
ignoresTypeAware = [
|
|
1187
|
+
`${GLOB_MARKDOWN}/**`,
|
|
1188
|
+
GLOB_ASTRO_TS
|
|
1189
|
+
],
|
|
1190
|
+
tsconfigPath
|
|
1165
1191
|
} = options;
|
|
1166
1192
|
await ensure([
|
|
1167
1193
|
"@eslint-react/eslint-plugin",
|
|
1168
1194
|
"eslint-plugin-react-hooks",
|
|
1169
1195
|
"eslint-plugin-react-refresh"
|
|
1170
1196
|
]);
|
|
1171
|
-
const tsconfigPath = options?.tsconfigPath ? toArray(options.tsconfigPath) : void 0;
|
|
1172
1197
|
const isTypeAware = !!tsconfigPath;
|
|
1198
|
+
const typeAwareRules = {
|
|
1199
|
+
"react/no-leaked-conditional-rendering": "warn"
|
|
1200
|
+
};
|
|
1173
1201
|
const [
|
|
1174
1202
|
pluginReact,
|
|
1175
1203
|
pluginReactHooks,
|
|
1176
|
-
pluginReactRefresh
|
|
1177
|
-
parserTs
|
|
1204
|
+
pluginReactRefresh
|
|
1178
1205
|
] = await Promise.all([
|
|
1179
1206
|
interop(import("@eslint-react/eslint-plugin")),
|
|
1180
1207
|
interop(import("eslint-plugin-react-hooks")),
|
|
1181
|
-
interop(import("eslint-plugin-react-refresh"))
|
|
1182
|
-
interop(import("@typescript-eslint/parser"))
|
|
1208
|
+
interop(import("eslint-plugin-react-refresh"))
|
|
1183
1209
|
]);
|
|
1184
|
-
const isAllowConstantExport = ReactRefreshAllowConstantExportPackages.some(
|
|
1185
|
-
(i) => isPackageExists2(i)
|
|
1186
|
-
);
|
|
1210
|
+
const isAllowConstantExport = ReactRefreshAllowConstantExportPackages.some((i) => isPackageExists2(i));
|
|
1187
1211
|
const isUsingRemix = RemixPackages.some((i) => isPackageExists2(i));
|
|
1188
|
-
const isUsingNext = isPackageExists2(
|
|
1212
|
+
const isUsingNext = NextJsPackages.some((i) => isPackageExists2(i));
|
|
1189
1213
|
const plugins = pluginReact.configs.all.plugins;
|
|
1190
1214
|
return [
|
|
1191
1215
|
{
|
|
@@ -1203,12 +1227,10 @@ async function react(options = {}) {
|
|
|
1203
1227
|
name: "luxass/react/rules",
|
|
1204
1228
|
files,
|
|
1205
1229
|
languageOptions: {
|
|
1206
|
-
parser: parserTs,
|
|
1207
1230
|
parserOptions: {
|
|
1208
1231
|
ecmaFeatures: {
|
|
1209
1232
|
jsx: true
|
|
1210
|
-
}
|
|
1211
|
-
...isTypeAware ? { project: tsconfigPath } : {}
|
|
1233
|
+
}
|
|
1212
1234
|
},
|
|
1213
1235
|
sourceType: "module"
|
|
1214
1236
|
},
|
|
@@ -1235,6 +1257,13 @@ async function react(options = {}) {
|
|
|
1235
1257
|
allowConstantExport: isAllowConstantExport,
|
|
1236
1258
|
allowExportNames: [
|
|
1237
1259
|
...isUsingNext ? [
|
|
1260
|
+
"dynamic",
|
|
1261
|
+
"dynamicParams",
|
|
1262
|
+
"revalidate",
|
|
1263
|
+
"fetchCache",
|
|
1264
|
+
"runtime",
|
|
1265
|
+
"preferredRegion",
|
|
1266
|
+
"maxDuration",
|
|
1238
1267
|
"config",
|
|
1239
1268
|
"runtime",
|
|
1240
1269
|
"generateStaticParams",
|
|
@@ -1290,13 +1319,18 @@ async function react(options = {}) {
|
|
|
1290
1319
|
"react/prefer-destructuring-assignment": "warn",
|
|
1291
1320
|
"react/prefer-shorthand-boolean": "warn",
|
|
1292
1321
|
"react/prefer-shorthand-fragment": "warn",
|
|
1293
|
-
...isTypeAware ? {
|
|
1294
|
-
"react/no-leaked-conditional-rendering": "warn"
|
|
1295
|
-
} : {},
|
|
1296
1322
|
// overrides
|
|
1297
1323
|
...overrides
|
|
1298
1324
|
}
|
|
1299
|
-
}
|
|
1325
|
+
},
|
|
1326
|
+
...isTypeAware ? [{
|
|
1327
|
+
files: filesTypeAware,
|
|
1328
|
+
ignores: ignoresTypeAware,
|
|
1329
|
+
name: "antfu/react/type-aware-rules",
|
|
1330
|
+
rules: {
|
|
1331
|
+
...typeAwareRules
|
|
1332
|
+
}
|
|
1333
|
+
}] : []
|
|
1300
1334
|
];
|
|
1301
1335
|
}
|
|
1302
1336
|
|
|
@@ -1635,7 +1669,6 @@ async function test(options = {}) {
|
|
|
1635
1669
|
name: "luxass/test/rules",
|
|
1636
1670
|
files,
|
|
1637
1671
|
rules: {
|
|
1638
|
-
"node/prefer-global/process": "off",
|
|
1639
1672
|
"test/consistent-test-it": [
|
|
1640
1673
|
"error",
|
|
1641
1674
|
{ fn: "it", withinDescribe: "it" }
|
|
@@ -1645,7 +1678,13 @@ async function test(options = {}) {
|
|
|
1645
1678
|
"test/no-focused-tests": isInEditor ? "off" : ["error", { fixable: true }],
|
|
1646
1679
|
"test/prefer-hooks-in-order": "error",
|
|
1647
1680
|
"test/prefer-lowercase-title": "error",
|
|
1648
|
-
|
|
1681
|
+
// Disables
|
|
1682
|
+
...{
|
|
1683
|
+
"antfu/no-top-level-await": "off",
|
|
1684
|
+
"no-unused-expressions": "off",
|
|
1685
|
+
"node/prefer-global/process": "off",
|
|
1686
|
+
"ts/explicit-function-return-type": "off"
|
|
1687
|
+
},
|
|
1649
1688
|
...overrides
|
|
1650
1689
|
}
|
|
1651
1690
|
}
|
|
@@ -1719,6 +1758,7 @@ async function typescript(options = {}) {
|
|
|
1719
1758
|
exts = [],
|
|
1720
1759
|
overrides = {},
|
|
1721
1760
|
parserOptions = {},
|
|
1761
|
+
overridesTypeAware = {},
|
|
1722
1762
|
type = "app"
|
|
1723
1763
|
} = options ?? {};
|
|
1724
1764
|
const files = options.files ?? [
|
|
@@ -1843,8 +1883,13 @@ async function typescript(options = {}) {
|
|
|
1843
1883
|
"ts/no-invalid-this": "error",
|
|
1844
1884
|
"ts/no-invalid-void-type": "off",
|
|
1845
1885
|
"ts/no-non-null-assertion": "off",
|
|
1846
|
-
"ts/no-redeclare": "error",
|
|
1886
|
+
"ts/no-redeclare": ["error", { builtinGlobals: false }],
|
|
1847
1887
|
"ts/no-require-imports": "error",
|
|
1888
|
+
"ts/no-unused-expressions": ["error", {
|
|
1889
|
+
allowShortCircuit: true,
|
|
1890
|
+
allowTaggedTemplates: true,
|
|
1891
|
+
allowTernary: true
|
|
1892
|
+
}],
|
|
1848
1893
|
"ts/no-unused-vars": "off",
|
|
1849
1894
|
"ts/no-use-before-define": [
|
|
1850
1895
|
"error",
|
|
@@ -1868,7 +1913,10 @@ async function typescript(options = {}) {
|
|
|
1868
1913
|
files: filesTypeAware,
|
|
1869
1914
|
ignores: ignoresTypeAware,
|
|
1870
1915
|
name: "luxass/typescript/rules-type-aware",
|
|
1871
|
-
rules:
|
|
1916
|
+
rules: {
|
|
1917
|
+
...typeAwareRules,
|
|
1918
|
+
...overridesTypeAware
|
|
1919
|
+
}
|
|
1872
1920
|
}] : []
|
|
1873
1921
|
];
|
|
1874
1922
|
}
|
|
@@ -2052,7 +2100,9 @@ async function vue(options = {}) {
|
|
|
2052
2100
|
...pluginVue.configs["vue3-essential"].rules,
|
|
2053
2101
|
...pluginVue.configs["vue3-strongly-recommended"].rules,
|
|
2054
2102
|
...pluginVue.configs["vue3-recommended"].rules,
|
|
2103
|
+
"antfu/no-top-level-await": "off",
|
|
2055
2104
|
"node/prefer-global/process": "off",
|
|
2105
|
+
"ts/explicit-function-return-type": "off",
|
|
2056
2106
|
"vue/block-order": [
|
|
2057
2107
|
"error",
|
|
2058
2108
|
{
|
|
@@ -2213,10 +2263,7 @@ async function yaml(options = {}) {
|
|
|
2213
2263
|
"yaml/indent": ["error", indent === "tab" ? 2 : indent],
|
|
2214
2264
|
"yaml/key-spacing": "error",
|
|
2215
2265
|
"yaml/no-tab-indent": "error",
|
|
2216
|
-
"yaml/quotes": [
|
|
2217
|
-
"error",
|
|
2218
|
-
{ avoidEscape: false, prefer: quotes }
|
|
2219
|
-
],
|
|
2266
|
+
"yaml/quotes": ["error", { avoidEscape: true, prefer: quotes === "backtick" ? "single" : quotes }],
|
|
2220
2267
|
"yaml/spaced-comment": "error"
|
|
2221
2268
|
} : {},
|
|
2222
2269
|
...overrides
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luxass/eslint-config",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.13.0",
|
|
4
4
|
"description": "ESLint config for @luxass",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"email": "lucasnrgaard@gmail.com",
|
|
9
9
|
"url": "https://luxass.dev"
|
|
10
10
|
},
|
|
11
|
-
"packageManager": "pnpm@9.
|
|
11
|
+
"packageManager": "pnpm@9.14.2",
|
|
12
12
|
"license": "MIT",
|
|
13
13
|
"repository": {
|
|
14
14
|
"type": "git",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"dev": "pnpm eslint-config-inspector --config eslint.config.mjs",
|
|
43
43
|
"build:inspector": "pnpm build && pnpm eslint-config-inspector build",
|
|
44
44
|
"test": "vitest --run",
|
|
45
|
-
"typegen": "
|
|
45
|
+
"typegen": "tsx ./scripts/typegen.ts",
|
|
46
46
|
"test:watch": "vitest",
|
|
47
47
|
"lint": "eslint --flag unstable_ts_config .",
|
|
48
48
|
"typecheck": "tsc --noEmit"
|
|
@@ -90,67 +90,67 @@
|
|
|
90
90
|
},
|
|
91
91
|
"dependencies": {
|
|
92
92
|
"@antfu/install-pkg": "^0.4.1",
|
|
93
|
-
"@clack/prompts": "^0.
|
|
94
|
-
"@eslint-community/eslint-plugin-eslint-comments": "^4.4.
|
|
95
|
-
"@eslint/markdown": "^6.1
|
|
96
|
-
"@stylistic/eslint-plugin": "^2.
|
|
97
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
98
|
-
"@typescript-eslint/parser": "^8.
|
|
99
|
-
"@vitest/eslint-plugin": "^1.1.
|
|
93
|
+
"@clack/prompts": "^0.8.2",
|
|
94
|
+
"@eslint-community/eslint-plugin-eslint-comments": "^4.4.1",
|
|
95
|
+
"@eslint/markdown": "^6.2.1",
|
|
96
|
+
"@stylistic/eslint-plugin": "^2.11.0",
|
|
97
|
+
"@typescript-eslint/eslint-plugin": "^8.15.0",
|
|
98
|
+
"@typescript-eslint/parser": "^8.15.0",
|
|
99
|
+
"@vitest/eslint-plugin": "^1.1.10",
|
|
100
100
|
"eslint-config-flat-gitignore": "^0.3.0",
|
|
101
101
|
"eslint-flat-config-utils": "^0.4.0",
|
|
102
102
|
"eslint-merge-processors": "^0.1.0",
|
|
103
|
-
"eslint-plugin-antfu": "^2.
|
|
104
|
-
"eslint-plugin-import-x": "^4.
|
|
105
|
-
"eslint-plugin-jsdoc": "^50.
|
|
106
|
-
"eslint-plugin-jsonc": "^2.
|
|
107
|
-
"eslint-plugin-n": "^17.
|
|
108
|
-
"eslint-plugin-perfectionist": "^
|
|
109
|
-
"eslint-plugin-regexp": "^2.
|
|
103
|
+
"eslint-plugin-antfu": "^2.7.0",
|
|
104
|
+
"eslint-plugin-import-x": "^4.4.3",
|
|
105
|
+
"eslint-plugin-jsdoc": "^50.5.0",
|
|
106
|
+
"eslint-plugin-jsonc": "^2.18.2",
|
|
107
|
+
"eslint-plugin-n": "^17.14.0",
|
|
108
|
+
"eslint-plugin-perfectionist": "^4.0.3",
|
|
109
|
+
"eslint-plugin-regexp": "^2.7.0",
|
|
110
110
|
"eslint-plugin-toml": "^0.11.1",
|
|
111
|
-
"eslint-plugin-unicorn": "^
|
|
112
|
-
"eslint-plugin-unused-imports": "^4.1.
|
|
113
|
-
"eslint-plugin-vue": "^9.
|
|
114
|
-
"eslint-plugin-yml": "^1.
|
|
111
|
+
"eslint-plugin-unicorn": "^56.0.1",
|
|
112
|
+
"eslint-plugin-unused-imports": "^4.1.4",
|
|
113
|
+
"eslint-plugin-vue": "^9.31.0",
|
|
114
|
+
"eslint-plugin-yml": "^1.15.0",
|
|
115
115
|
"eslint-processor-vue-blocks": "^0.1.2",
|
|
116
|
-
"globals": "^15.
|
|
116
|
+
"globals": "^15.12.0",
|
|
117
117
|
"jsonc-eslint-parser": "^2.4.0",
|
|
118
|
-
"local-pkg": "^0.5.
|
|
118
|
+
"local-pkg": "^0.5.1",
|
|
119
119
|
"parse-gitignore": "^2.0.0",
|
|
120
120
|
"toml-eslint-parser": "^0.10.0",
|
|
121
121
|
"vue-eslint-parser": "^9.4.3",
|
|
122
122
|
"yaml-eslint-parser": "^1.2.3"
|
|
123
123
|
},
|
|
124
124
|
"devDependencies": {
|
|
125
|
-
"@eslint-react/eslint-plugin": "^1.
|
|
126
|
-
"@eslint/config-inspector": "^0.5.
|
|
127
|
-
"@stylistic/eslint-plugin-migrate": "^2.
|
|
128
|
-
"@types/
|
|
129
|
-
"@types/
|
|
130
|
-
"@
|
|
131
|
-
"@
|
|
132
|
-
"
|
|
133
|
-
"
|
|
134
|
-
"eslint": "^
|
|
135
|
-
"eslint-plugin-astro": "^1.2.3",
|
|
125
|
+
"@eslint-react/eslint-plugin": "^1.17.1",
|
|
126
|
+
"@eslint/config-inspector": "^0.5.6",
|
|
127
|
+
"@stylistic/eslint-plugin-migrate": "^2.11.0",
|
|
128
|
+
"@types/estree": "^1.0.6",
|
|
129
|
+
"@types/node": "^22.9.0",
|
|
130
|
+
"@typescript-eslint/rule-tester": "^8.15.0",
|
|
131
|
+
"@unocss/eslint-plugin": "^0.64.1",
|
|
132
|
+
"astro-eslint-parser": "^1.1.0",
|
|
133
|
+
"eslint": "^9.15.0",
|
|
134
|
+
"eslint-plugin-astro": "^1.3.1",
|
|
136
135
|
"eslint-plugin-format": "^0.1.2",
|
|
137
|
-
"eslint-plugin-react-hooks": "^
|
|
138
|
-
"eslint-plugin-react-refresh": "^0.4.
|
|
139
|
-
"eslint-plugin-tailwindcss": "^3.17.
|
|
136
|
+
"eslint-plugin-react-hooks": "^5.0.0",
|
|
137
|
+
"eslint-plugin-react-refresh": "^0.4.14",
|
|
138
|
+
"eslint-plugin-tailwindcss": "^3.17.5",
|
|
140
139
|
"eslint-typegen": "^0.3.2",
|
|
141
|
-
"jiti": "^
|
|
140
|
+
"jiti": "^2.4.0",
|
|
142
141
|
"prettier-plugin-astro": "^0.14.1",
|
|
143
|
-
"tailwindcss": "^3.4.
|
|
144
|
-
"tsup": "^8.
|
|
145
|
-
"
|
|
146
|
-
"
|
|
147
|
-
"
|
|
148
|
-
"
|
|
142
|
+
"tailwindcss": "^3.4.15",
|
|
143
|
+
"tsup": "^8.3.5",
|
|
144
|
+
"tsx": "^4.19.2",
|
|
145
|
+
"typescript": "^5.7.2",
|
|
146
|
+
"unocss": "^0.64.1",
|
|
147
|
+
"vitest": "^2.1.5",
|
|
148
|
+
"vue": "^3.5.13"
|
|
149
149
|
},
|
|
150
150
|
"resolutions": {
|
|
151
|
-
"@eslint-community/eslint-utils": "^4.4.
|
|
152
|
-
"@typescript-eslint/utils": "^8.
|
|
153
|
-
"eslint": "^9.
|
|
154
|
-
"tsx": "^4.19.
|
|
151
|
+
"@eslint-community/eslint-utils": "^4.4.1",
|
|
152
|
+
"@typescript-eslint/utils": "^8.15.0",
|
|
153
|
+
"eslint": "^9.15.0",
|
|
154
|
+
"tsx": "^4.19.2"
|
|
155
155
|
}
|
|
156
156
|
}
|