@ariel-salgado/eslint-config 0.2.0-beta.1 → 0.2.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.d.ts → index.d.mts} +2610 -764
- package/dist/{index.js → index.mjs} +170 -102
- package/package.json +35 -37
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { findUp, findUpSync } from "find-up-simple";
|
|
1
2
|
import { FlatConfigComposer } from "eslint-flat-config-utils";
|
|
2
3
|
import { fileURLToPath } from "node:url";
|
|
3
4
|
import { isPackageExists } from "local-pkg";
|
|
@@ -8,10 +9,11 @@ import { configs as plugin_regexp } from "eslint-plugin-regexp";
|
|
|
8
9
|
import plugin_unicorn from "eslint-plugin-unicorn";
|
|
9
10
|
import plugin_morgan from "eslint-plugin-de-morgan";
|
|
10
11
|
import plugin_import from "eslint-plugin-import-lite";
|
|
11
|
-
import
|
|
12
|
+
import "eslint-config-flat-gitignore";
|
|
12
13
|
import plugin_perfectionist from "eslint-plugin-perfectionist";
|
|
13
14
|
import plugin_unused_imports from "eslint-plugin-unused-imports";
|
|
14
15
|
import plugin_comments from "@eslint-community/eslint-plugin-eslint-comments";
|
|
16
|
+
import { readFile } from "node:fs/promises";
|
|
15
17
|
import { mergeProcessors, processorPassThrough } from "eslint-merge-processors";
|
|
16
18
|
import globals from "globals";
|
|
17
19
|
|
|
@@ -236,32 +238,128 @@ async function node() {
|
|
|
236
238
|
|
|
237
239
|
//#endregion
|
|
238
240
|
//#region src/configs/pnpm.ts
|
|
239
|
-
async function
|
|
240
|
-
const
|
|
241
|
+
async function detect_catalog_usage() {
|
|
242
|
+
const workspace_file = await findUp("pnpm-workspace.yaml");
|
|
243
|
+
if (!workspace_file) return false;
|
|
244
|
+
const yaml$1 = await readFile(workspace_file, "utf-8");
|
|
245
|
+
return yaml$1.includes("catalog:") || yaml$1.includes("catalogs:");
|
|
246
|
+
}
|
|
247
|
+
async function pnpm(options) {
|
|
248
|
+
const [plugin_pnpm, plugin_yaml, yaml_parser, jsonc_parser] = await Promise.all([
|
|
241
249
|
interop_default(import("eslint-plugin-pnpm")),
|
|
250
|
+
interop_default(import("eslint-plugin-yml")),
|
|
242
251
|
interop_default(import("yaml-eslint-parser")),
|
|
243
252
|
interop_default(import("jsonc-eslint-parser"))
|
|
244
253
|
]);
|
|
245
|
-
|
|
254
|
+
const { catalogs = await detect_catalog_usage(), json = true, sort = true, yaml: yaml$1 = true } = options;
|
|
255
|
+
const configs = [];
|
|
256
|
+
if (json) configs.push({
|
|
246
257
|
files: ["package.json", "**/package.json"],
|
|
247
258
|
languageOptions: { parser: jsonc_parser },
|
|
248
259
|
name: "ariel/pnpm/package-json",
|
|
249
260
|
plugins: { pnpm: plugin_pnpm },
|
|
250
261
|
rules: {
|
|
251
|
-
"pnpm/json-enforce-catalog": "error",
|
|
252
|
-
"pnpm/json-prefer-workspace-settings": "error",
|
|
253
|
-
"pnpm/json-valid-catalog": "error"
|
|
254
|
-
}
|
|
255
|
-
}, {
|
|
256
|
-
files: ["pnpm-workspace.yaml"],
|
|
257
|
-
languageOptions: { parser: yaml_parser },
|
|
258
|
-
name: "ariel/pnpm/pnpm-workspace-yaml",
|
|
259
|
-
plugins: { pnpm: plugin_pnpm },
|
|
260
|
-
rules: {
|
|
261
|
-
"pnpm/yaml-no-duplicate-catalog-item": "error",
|
|
262
|
-
"pnpm/yaml-no-unused-catalog-item": "error"
|
|
262
|
+
...catalogs ? { "pnpm/json-enforce-catalog": ["error", { autofix: !is_in_editor_env() }] } : {},
|
|
263
|
+
"pnpm/json-prefer-workspace-settings": ["error", { autofix: !is_in_editor_env() }],
|
|
264
|
+
"pnpm/json-valid-catalog": ["error", { autofix: !is_in_editor_env() }]
|
|
263
265
|
}
|
|
264
|
-
}
|
|
266
|
+
});
|
|
267
|
+
if (yaml$1) {
|
|
268
|
+
configs.push({
|
|
269
|
+
files: ["pnpm-workspace.yaml"],
|
|
270
|
+
languageOptions: { parser: yaml_parser },
|
|
271
|
+
name: "ariel/pnpm/pnpm-workspace-yaml",
|
|
272
|
+
plugins: { pnpm: plugin_pnpm },
|
|
273
|
+
rules: {
|
|
274
|
+
"pnpm/yaml-enforce-settings": ["error", { settings: {
|
|
275
|
+
shellEmulator: true,
|
|
276
|
+
trustPolicy: "no-downgrade",
|
|
277
|
+
...catalogs ? { catalogMode: "prefer" } : {}
|
|
278
|
+
} }],
|
|
279
|
+
"pnpm/yaml-no-duplicate-catalog-item": "error",
|
|
280
|
+
"pnpm/yaml-no-unused-catalog-item": "error"
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
if (sort) configs.push({
|
|
284
|
+
files: ["pnpm-workspace.yaml"],
|
|
285
|
+
languageOptions: { parser: yaml_parser },
|
|
286
|
+
name: "ariel/pnpm/pnpm-workspace-yaml-sort",
|
|
287
|
+
plugins: { yaml: plugin_yaml },
|
|
288
|
+
rules: { "yaml/sort-keys": [
|
|
289
|
+
"error",
|
|
290
|
+
{
|
|
291
|
+
order: [
|
|
292
|
+
...[
|
|
293
|
+
"cacheDir",
|
|
294
|
+
"catalogMode",
|
|
295
|
+
"cleanupUnusedCatalogs",
|
|
296
|
+
"dedupeDirectDeps",
|
|
297
|
+
"deployAllFiles",
|
|
298
|
+
"enablePrePostScripts",
|
|
299
|
+
"engineStrict",
|
|
300
|
+
"extendNodePath",
|
|
301
|
+
"hoist",
|
|
302
|
+
"hoistPattern",
|
|
303
|
+
"hoistWorkspacePackages",
|
|
304
|
+
"ignoreCompatibilityDb",
|
|
305
|
+
"ignoreDepScripts",
|
|
306
|
+
"ignoreScripts",
|
|
307
|
+
"ignoreWorkspaceRootCheck",
|
|
308
|
+
"managePackageManagerVersions",
|
|
309
|
+
"minimumReleaseAge",
|
|
310
|
+
"minimumReleaseAgeExclude",
|
|
311
|
+
"modulesDir",
|
|
312
|
+
"nodeLinker",
|
|
313
|
+
"nodeVersion",
|
|
314
|
+
"optimisticRepeatInstall",
|
|
315
|
+
"packageManagerStrict",
|
|
316
|
+
"packageManagerStrictVersion",
|
|
317
|
+
"preferSymlinkedExecutables",
|
|
318
|
+
"preferWorkspacePackages",
|
|
319
|
+
"publicHoistPattern",
|
|
320
|
+
"registrySupportsTimeField",
|
|
321
|
+
"requiredScripts",
|
|
322
|
+
"resolutionMode",
|
|
323
|
+
"savePrefix",
|
|
324
|
+
"scriptShell",
|
|
325
|
+
"shamefullyHoist",
|
|
326
|
+
"shellEmulator",
|
|
327
|
+
"stateDir",
|
|
328
|
+
"supportedArchitectures",
|
|
329
|
+
"symlink",
|
|
330
|
+
"tag",
|
|
331
|
+
"trustPolicy",
|
|
332
|
+
"trustPolicyExclude",
|
|
333
|
+
"updateNotifier"
|
|
334
|
+
],
|
|
335
|
+
"packages",
|
|
336
|
+
"overrides",
|
|
337
|
+
"patchedDependencies",
|
|
338
|
+
"catalog",
|
|
339
|
+
"catalogs",
|
|
340
|
+
...[
|
|
341
|
+
"allowedDeprecatedVersions",
|
|
342
|
+
"allowNonAppliedPatches",
|
|
343
|
+
"configDependencies",
|
|
344
|
+
"ignoredBuiltDependencies",
|
|
345
|
+
"ignoredOptionalDependencies",
|
|
346
|
+
"neverBuiltDependencies",
|
|
347
|
+
"onlyBuiltDependencies",
|
|
348
|
+
"onlyBuiltDependenciesFile",
|
|
349
|
+
"packageExtensions",
|
|
350
|
+
"peerDependencyRules"
|
|
351
|
+
]
|
|
352
|
+
],
|
|
353
|
+
pathPattern: "^$"
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
order: { type: "asc" },
|
|
357
|
+
pathPattern: ".*"
|
|
358
|
+
}
|
|
359
|
+
] }
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
return configs;
|
|
265
363
|
}
|
|
266
364
|
|
|
267
365
|
//#endregion
|
|
@@ -515,7 +613,7 @@ async function test(options = {}) {
|
|
|
515
613
|
}],
|
|
516
614
|
"test/no-identical-title": "error",
|
|
517
615
|
"test/no-import-node-test": "error",
|
|
518
|
-
"test/no-only-tests": "warn",
|
|
616
|
+
"test/no-only-tests": is_in_editor_env() ? "warn" : "error",
|
|
519
617
|
"test/prefer-hooks-in-order": "error",
|
|
520
618
|
"test/prefer-lowercase-title": "error",
|
|
521
619
|
"ariel/no-top-level-await": "off",
|
|
@@ -574,77 +672,40 @@ async function yaml(options = {}) {
|
|
|
574
672
|
const { files = [GLOB_YAML], overrides = {}, stylistic: stylistic$1 = true } = options;
|
|
575
673
|
const { indent = 2, quotes = "single" } = typeof stylistic$1 === "boolean" ? {} : stylistic$1;
|
|
576
674
|
const [plugin_yaml, parser_yaml] = await Promise.all([interop_default(import("eslint-plugin-yml")), interop_default(import("yaml-eslint-parser"))]);
|
|
577
|
-
return [
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
{
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
"yaml/
|
|
594
|
-
"yaml/
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
"
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
"yaml/spaced-comment": "error"
|
|
610
|
-
} : {},
|
|
611
|
-
...overrides
|
|
612
|
-
}
|
|
613
|
-
},
|
|
614
|
-
{
|
|
615
|
-
files: ["pnpm-workspace.yaml"],
|
|
616
|
-
name: "ariel/yaml/pnpm-workspace",
|
|
617
|
-
rules: { "yaml/sort-keys": [
|
|
618
|
-
"error",
|
|
619
|
-
{
|
|
620
|
-
order: [
|
|
621
|
-
"packages",
|
|
622
|
-
"overrides",
|
|
623
|
-
"patchedDependencies",
|
|
624
|
-
"hoistPattern",
|
|
625
|
-
"catalog",
|
|
626
|
-
"catalogs",
|
|
627
|
-
"allowedDeprecatedVersions",
|
|
628
|
-
"allowNonAppliedPatches",
|
|
629
|
-
"configDependencies",
|
|
630
|
-
"ignoredBuiltDependencies",
|
|
631
|
-
"ignoredOptionalDependencies",
|
|
632
|
-
"neverBuiltDependencies",
|
|
633
|
-
"onlyBuiltDependencies",
|
|
634
|
-
"onlyBuiltDependenciesFile",
|
|
635
|
-
"packageExtensions",
|
|
636
|
-
"peerDependencyRules",
|
|
637
|
-
"supportedArchitectures"
|
|
638
|
-
],
|
|
639
|
-
pathPattern: "^$"
|
|
640
|
-
},
|
|
641
|
-
{
|
|
642
|
-
order: { type: "asc" },
|
|
643
|
-
pathPattern: ".*"
|
|
644
|
-
}
|
|
645
|
-
] }
|
|
675
|
+
return [{
|
|
676
|
+
name: "ariel/yaml/setup",
|
|
677
|
+
plugins: { yaml: plugin_yaml }
|
|
678
|
+
}, {
|
|
679
|
+
files,
|
|
680
|
+
languageOptions: { parser: parser_yaml },
|
|
681
|
+
name: "ariel/yaml/rules",
|
|
682
|
+
rules: {
|
|
683
|
+
"style/spaced-comment": "off",
|
|
684
|
+
"yaml/block-mapping": "error",
|
|
685
|
+
"yaml/block-sequence": "error",
|
|
686
|
+
"yaml/no-empty-key": "error",
|
|
687
|
+
"yaml/no-empty-sequence-entry": "error",
|
|
688
|
+
"yaml/no-irregular-whitespace": "error",
|
|
689
|
+
"yaml/plain-scalar": "error",
|
|
690
|
+
...stylistic$1 ? {
|
|
691
|
+
"yaml/block-mapping-question-indicator-newline": "error",
|
|
692
|
+
"yaml/block-sequence-hyphen-indicator-newline": "error",
|
|
693
|
+
"yaml/flow-mapping-curly-newline": "error",
|
|
694
|
+
"yaml/flow-mapping-curly-spacing": "error",
|
|
695
|
+
"yaml/flow-sequence-bracket-newline": "error",
|
|
696
|
+
"yaml/flow-sequence-bracket-spacing": "error",
|
|
697
|
+
"yaml/indent": ["error", indent === "tab" ? 2 : indent],
|
|
698
|
+
"yaml/key-spacing": "error",
|
|
699
|
+
"yaml/no-tab-indent": "error",
|
|
700
|
+
"yaml/quotes": ["error", {
|
|
701
|
+
avoidEscape: true,
|
|
702
|
+
prefer: quotes === "backtick" ? "single" : quotes
|
|
703
|
+
}],
|
|
704
|
+
"yaml/spaced-comment": "error"
|
|
705
|
+
} : {},
|
|
706
|
+
...overrides
|
|
646
707
|
}
|
|
647
|
-
];
|
|
708
|
+
}];
|
|
648
709
|
}
|
|
649
710
|
|
|
650
711
|
//#endregion
|
|
@@ -1091,13 +1152,13 @@ async function svelte(options = {}) {
|
|
|
1091
1152
|
|
|
1092
1153
|
//#endregion
|
|
1093
1154
|
//#region src/configs/ignores.ts
|
|
1094
|
-
async function ignores(
|
|
1155
|
+
async function ignores(userIgnores = []) {
|
|
1156
|
+
let ignores$1 = [...GLOB_EXCLUDE];
|
|
1157
|
+
if (typeof userIgnores === "function") ignores$1 = userIgnores(ignores$1);
|
|
1158
|
+
else ignores$1 = [...ignores$1, ...userIgnores];
|
|
1095
1159
|
return [{
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
}, {
|
|
1099
|
-
name: "ariel/gitignore",
|
|
1100
|
-
...plugin_ignore({ strict: false })
|
|
1160
|
+
ignores: ignores$1,
|
|
1161
|
+
name: "ariel/ignores"
|
|
1101
1162
|
}];
|
|
1102
1163
|
}
|
|
1103
1164
|
|
|
@@ -1527,7 +1588,7 @@ async function javascript(options = {}) {
|
|
|
1527
1588
|
allowNamedFunctions: false,
|
|
1528
1589
|
allowUnboundThis: true
|
|
1529
1590
|
}],
|
|
1530
|
-
"prefer-const": ["warn", {
|
|
1591
|
+
"prefer-const": [is_in_editor_env() ? "warn" : "error", {
|
|
1531
1592
|
destructuring: "all",
|
|
1532
1593
|
ignoreReadBeforeAssign: true
|
|
1533
1594
|
}],
|
|
@@ -1540,7 +1601,7 @@ async function javascript(options = {}) {
|
|
|
1540
1601
|
"require-yield": "error",
|
|
1541
1602
|
"symbol-description": "error",
|
|
1542
1603
|
"unicode-bom": ["error", "never"],
|
|
1543
|
-
"unused-imports/no-unused-imports": "warn",
|
|
1604
|
+
"unused-imports/no-unused-imports": is_in_editor_env() ? "warn" : "error",
|
|
1544
1605
|
"unused-imports/no-unused-vars": ["error", {
|
|
1545
1606
|
args: "after-used",
|
|
1546
1607
|
argsIgnorePattern: "^_",
|
|
@@ -1777,7 +1838,7 @@ async function perfectionist() {
|
|
|
1777
1838
|
modifiers: ["named"]
|
|
1778
1839
|
}
|
|
1779
1840
|
],
|
|
1780
|
-
newlinesBetween:
|
|
1841
|
+
newlinesBetween: 1,
|
|
1781
1842
|
sortSideEffects: true
|
|
1782
1843
|
}],
|
|
1783
1844
|
"perfectionist/sort-named-imports": ["error", {
|
|
@@ -1828,7 +1889,7 @@ const default_plugin_renaming = {
|
|
|
1828
1889
|
* The merged ESLint configurations.
|
|
1829
1890
|
*/
|
|
1830
1891
|
function ariel(options = {}, ...userConfigs) {
|
|
1831
|
-
const { autoRenamePlugins = true, componentExts = [], gitignore: enable_git_ignore = true, imports: enable_imports = true, jsx: enable_jsx = true, nextjs: enable_nextjs = has_nextjs(), pnpm: enable_catalogs =
|
|
1892
|
+
const { autoRenamePlugins = true, componentExts = [], gitignore: enable_git_ignore = true, ignores: user_ignores = [], imports: enable_imports = true, jsdoc: enable_jsdoc = true, jsx: enable_jsx = true, nextjs: enable_nextjs = has_nextjs(), node: enable_node = true, pnpm: enable_catalogs = !!findUpSync("pnpm-workspace.yaml"), react: enable_react = has_react(), regexp: enable_regexp = true, solid: enable_solid = has_solid(), svelte: enable_svelte = has_svelte(), tailwindcss: enable_tailwindcss = has_tailwindcss(), typescript: enable_typescript = has_typescript(), unicorn: enable_unicorn = true } = options;
|
|
1832
1893
|
const is_in_editor = is_in_editor_env();
|
|
1833
1894
|
if (is_in_editor) console.log("[@ariel-salgado/eslint-config] Detected running in editor, some rules are disabled.");
|
|
1834
1895
|
const stylistic_options = options.stylistic === false ? false : typeof options.stylistic === "object" ? options.stylistic : {};
|
|
@@ -1844,10 +1905,12 @@ function ariel(options = {}, ...userConfigs) {
|
|
|
1844
1905
|
})]));
|
|
1845
1906
|
const typescript_options = resolve_sub_options(options, "typescript");
|
|
1846
1907
|
const tsconfig_path = "tsconfigPath" in typescript_options ? typescript_options.tsconfigPath : void 0;
|
|
1847
|
-
configs.push(ignores(
|
|
1848
|
-
if (
|
|
1908
|
+
configs.push(ignores(user_ignores), javascript({ overrides: get_overrides(options, "javascript") }), comments(), perfectionist(), morgan());
|
|
1909
|
+
if (enable_node) configs.push(node());
|
|
1910
|
+
if (enable_jsdoc) configs.push(jsdoc({ stylistic: stylistic_options }));
|
|
1911
|
+
if (enable_imports) configs.push(imports({
|
|
1849
1912
|
stylistic: stylistic_options,
|
|
1850
|
-
...
|
|
1913
|
+
...resolve_sub_options(options, "imports")
|
|
1851
1914
|
}));
|
|
1852
1915
|
if (enable_unicorn) configs.push(unicorn(enable_unicorn === true ? {} : enable_unicorn));
|
|
1853
1916
|
if (enable_jsx) configs.push(jsx(enable_jsx === true ? {} : enable_jsx));
|
|
@@ -1865,6 +1928,7 @@ function ariel(options = {}, ...userConfigs) {
|
|
|
1865
1928
|
if (options.test ?? true) configs.push(test({ overrides: get_overrides(options, "test") }));
|
|
1866
1929
|
if (enable_react) configs.push(react({
|
|
1867
1930
|
...typescript_options,
|
|
1931
|
+
...resolve_sub_options(options, "react"),
|
|
1868
1932
|
overrides: get_overrides(options, "react"),
|
|
1869
1933
|
tsconfigPath: tsconfig_path
|
|
1870
1934
|
}));
|
|
@@ -1887,7 +1951,11 @@ function ariel(options = {}, ...userConfigs) {
|
|
|
1887
1951
|
overrides: get_overrides(options, "jsonc"),
|
|
1888
1952
|
stylistic: stylistic_options
|
|
1889
1953
|
}), sort_package_json(), sort_ts_config());
|
|
1890
|
-
if (enable_catalogs) configs.push(pnpm(
|
|
1954
|
+
if (enable_catalogs) configs.push(pnpm({
|
|
1955
|
+
json: options.jsonc !== false,
|
|
1956
|
+
yaml: options.yaml !== false,
|
|
1957
|
+
...resolve_sub_options(options, "pnpm")
|
|
1958
|
+
}));
|
|
1891
1959
|
if (options.yaml ?? true) configs.push(yaml({
|
|
1892
1960
|
overrides: get_overrides(options, "yaml"),
|
|
1893
1961
|
stylistic: stylistic_options
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ariel-salgado/eslint-config",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.2.0
|
|
4
|
+
"version": "0.2.0",
|
|
5
5
|
"description": "ESLint config for @ariel-salgado.",
|
|
6
6
|
"author": "Ariel Salgado <ariel.salgado.acevedo@gmail.com>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
"url": "git+https://github.com/ariel-salgado/eslint-config.git"
|
|
12
12
|
},
|
|
13
13
|
"exports": {
|
|
14
|
-
".": "./dist/index.
|
|
14
|
+
".": "./dist/index.mjs",
|
|
15
15
|
"./package.json": "./package.json"
|
|
16
16
|
},
|
|
17
|
-
"main": "./dist/index.
|
|
18
|
-
"module": "./dist/index.
|
|
19
|
-
"types": "./dist/index.d.
|
|
17
|
+
"main": "./dist/index.mjs",
|
|
18
|
+
"module": "./dist/index.mjs",
|
|
19
|
+
"types": "./dist/index.d.mts",
|
|
20
20
|
"files": [
|
|
21
21
|
"dist"
|
|
22
22
|
],
|
|
@@ -68,61 +68,59 @@
|
|
|
68
68
|
"@antfu/install-pkg": "^1.1.0",
|
|
69
69
|
"@clack/prompts": "^0.11.0",
|
|
70
70
|
"@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
|
|
71
|
-
"@eslint/markdown": "^7.5.
|
|
72
|
-
"@stylistic/eslint-plugin": "^5.
|
|
73
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
74
|
-
"@typescript-eslint/parser": "^8.
|
|
75
|
-
"@vitest/eslint-plugin": "^1.
|
|
71
|
+
"@eslint/markdown": "^7.5.1",
|
|
72
|
+
"@stylistic/eslint-plugin": "^5.6.1",
|
|
73
|
+
"@typescript-eslint/eslint-plugin": "^8.50.0",
|
|
74
|
+
"@typescript-eslint/parser": "^8.50.0",
|
|
75
|
+
"@vitest/eslint-plugin": "^1.5.4",
|
|
76
76
|
"eslint-config-flat-gitignore": "^2.1.0",
|
|
77
77
|
"eslint-flat-config-utils": "^2.1.4",
|
|
78
78
|
"eslint-merge-processors": "^2.0.0",
|
|
79
79
|
"eslint-plugin-ariel": "^0.0.3",
|
|
80
80
|
"eslint-plugin-de-morgan": "^2.0.0",
|
|
81
|
-
"eslint-plugin-import-lite": "^0.3.
|
|
82
|
-
"eslint-plugin-jsdoc": "^61.
|
|
81
|
+
"eslint-plugin-import-lite": "^0.3.1",
|
|
82
|
+
"eslint-plugin-jsdoc": "^61.5.0",
|
|
83
83
|
"eslint-plugin-jsonc": "^2.21.0",
|
|
84
84
|
"eslint-plugin-n": "^17.23.1",
|
|
85
85
|
"eslint-plugin-no-only-tests": "^3.3.0",
|
|
86
86
|
"eslint-plugin-perfectionist": "^4.15.1",
|
|
87
|
-
"eslint-plugin-pnpm": "^1.3
|
|
87
|
+
"eslint-plugin-pnpm": "^1.4.3",
|
|
88
88
|
"eslint-plugin-regexp": "^2.10.0",
|
|
89
89
|
"eslint-plugin-toml": "^0.12.0",
|
|
90
|
-
"eslint-plugin-unicorn": "^
|
|
90
|
+
"eslint-plugin-unicorn": "^62.0.0",
|
|
91
91
|
"eslint-plugin-unused-imports": "^4.3.0",
|
|
92
|
-
"eslint-plugin-yml": "^1.19.
|
|
93
|
-
"
|
|
94
|
-
"
|
|
92
|
+
"eslint-plugin-yml": "^1.19.1",
|
|
93
|
+
"find-up-simple": "1.0.1",
|
|
94
|
+
"globals": "^16.5.0",
|
|
95
|
+
"jsonc-eslint-parser": "^2.4.2",
|
|
95
96
|
"local-pkg": "1.1.2",
|
|
96
|
-
"toml-eslint-parser": "^0.10.
|
|
97
|
-
"yaml-eslint-parser": "^1.3.
|
|
97
|
+
"toml-eslint-parser": "^0.10.1",
|
|
98
|
+
"yaml-eslint-parser": "^1.3.2"
|
|
98
99
|
},
|
|
99
100
|
"devDependencies": {
|
|
100
|
-
"@eslint-react/eslint-plugin": "^2.
|
|
101
|
-
"@next/eslint-plugin-next": "^16.
|
|
101
|
+
"@eslint-react/eslint-plugin": "^2.3.13",
|
|
102
|
+
"@next/eslint-plugin-next": "^16.1.0",
|
|
102
103
|
"@types/eslint-plugin-jsx-a11y": "^6.10.1",
|
|
103
|
-
"@types/node": "^
|
|
104
|
-
"@typescript/native-preview": "7.0.0-dev.
|
|
105
|
-
"bumpp": "^10.3.
|
|
106
|
-
"eslint": "^9.
|
|
107
|
-
"eslint-plugin-better-tailwindcss": "^3.
|
|
104
|
+
"@types/node": "^25.0.3",
|
|
105
|
+
"@typescript/native-preview": "7.0.0-dev.20251213.1",
|
|
106
|
+
"bumpp": "^10.3.2",
|
|
107
|
+
"eslint": "^9.39.2",
|
|
108
|
+
"eslint-plugin-better-tailwindcss": "^3.8.0",
|
|
108
109
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
109
110
|
"eslint-plugin-react-hooks": "^7.0.1",
|
|
110
|
-
"eslint-plugin-react-refresh": "^0.4.
|
|
111
|
+
"eslint-plugin-react-refresh": "^0.4.26",
|
|
111
112
|
"eslint-plugin-solid": "^0.14.5",
|
|
112
|
-
"eslint-plugin-svelte": "^3.
|
|
113
|
+
"eslint-plugin-svelte": "^3.13.1",
|
|
113
114
|
"eslint-typegen": "^2.3.0",
|
|
114
|
-
"lint-staged": "^16.2.
|
|
115
|
+
"lint-staged": "^16.2.7",
|
|
115
116
|
"simple-git-hooks": "^2.13.1",
|
|
116
|
-
"svelte": "^5.
|
|
117
|
-
"svelte-eslint-parser": "^1.4.
|
|
118
|
-
"tailwindcss": "^4.1.
|
|
119
|
-
"tsdown": "^0.
|
|
120
|
-
"tsx": "^4.
|
|
117
|
+
"svelte": "^5.46.0",
|
|
118
|
+
"svelte-eslint-parser": "^1.4.1",
|
|
119
|
+
"tailwindcss": "^4.1.18",
|
|
120
|
+
"tsdown": "^0.17.4",
|
|
121
|
+
"tsx": "^4.21.0",
|
|
121
122
|
"typescript": "~5.9.3"
|
|
122
123
|
},
|
|
123
|
-
"resolutions": {
|
|
124
|
-
"eslint": "catalog:"
|
|
125
|
-
},
|
|
126
124
|
"simple-git-hooks": {
|
|
127
125
|
"pre-commit": "pnpm exec lint-staged"
|
|
128
126
|
},
|