@coderwyd/eslint-config 4.8.0 → 4.10.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/README.md +1 -1
- package/dist/{cli.js → cli.mjs} +2 -1
- package/dist/{index.d.ts → index.d.mts} +2054 -1898
- package/dist/{index.js → index.mjs} +128 -57
- package/package.json +38 -39
- /package/bin/{index.js → index.mjs} +0 -0
- /package/dist/{cli.d.ts → cli.d.mts} +0 -0
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import process from "node:process";
|
|
2
1
|
import createCommand from "eslint-plugin-command/config";
|
|
3
2
|
import pluginComments from "@eslint-community/eslint-plugin-eslint-comments";
|
|
4
3
|
import pluginAntfu from "eslint-plugin-antfu";
|
|
@@ -7,11 +6,12 @@ import pluginNode from "eslint-plugin-n";
|
|
|
7
6
|
import pluginPerfectionist from "eslint-plugin-perfectionist";
|
|
8
7
|
import pluginUnicorn from "eslint-plugin-unicorn";
|
|
9
8
|
import pluginUnusedImports from "eslint-plugin-unused-imports";
|
|
9
|
+
import process from "node:process";
|
|
10
10
|
import { fileURLToPath } from "node:url";
|
|
11
11
|
import { getPackageInfoSync, isPackageExists } from "local-pkg";
|
|
12
12
|
import globals from "globals";
|
|
13
13
|
import prettierRules from "eslint-config-prettier";
|
|
14
|
-
import { configs } from "eslint-plugin-regexp";
|
|
14
|
+
import { configs as configs$1 } from "eslint-plugin-regexp";
|
|
15
15
|
|
|
16
16
|
//#region src/configs/command.ts
|
|
17
17
|
function command() {
|
|
@@ -122,8 +122,8 @@ const isCwdInScope = isPackageExists("@coderwyd/eslint-config");
|
|
|
122
122
|
/**
|
|
123
123
|
* Combine array and non-array configs into a single array.
|
|
124
124
|
*/
|
|
125
|
-
async function combine(...configs
|
|
126
|
-
return (await Promise.all(configs
|
|
125
|
+
async function combine(...configs) {
|
|
126
|
+
return (await Promise.all(configs)).flat();
|
|
127
127
|
}
|
|
128
128
|
/**
|
|
129
129
|
* Rename plugin prefixes in a rule object.
|
|
@@ -163,8 +163,8 @@ function renameRules(rules, map) {
|
|
|
163
163
|
* })
|
|
164
164
|
* ```
|
|
165
165
|
*/
|
|
166
|
-
function renamePluginInConfigs(configs
|
|
167
|
-
return configs
|
|
166
|
+
function renamePluginInConfigs(configs, map) {
|
|
167
|
+
return configs.map((i) => {
|
|
168
168
|
const clone = { ...i };
|
|
169
169
|
if (clone.rules) clone.rules = renameRules(clone.rules, map);
|
|
170
170
|
if (clone.plugins) clone.plugins = Object.fromEntries(Object.entries(clone.plugins).map(([key, value]) => {
|
|
@@ -243,13 +243,13 @@ async function imports() {
|
|
|
243
243
|
//#endregion
|
|
244
244
|
//#region src/configs/javascript.ts
|
|
245
245
|
function javascript(options = {}) {
|
|
246
|
-
const { isInEditor
|
|
246
|
+
const { isInEditor = false, overrides = {} } = options;
|
|
247
247
|
return [{
|
|
248
248
|
languageOptions: {
|
|
249
|
-
ecmaVersion:
|
|
249
|
+
ecmaVersion: "latest",
|
|
250
250
|
globals: {
|
|
251
251
|
...globals.browser,
|
|
252
|
-
...globals.
|
|
252
|
+
...globals.es2026,
|
|
253
253
|
...globals.node,
|
|
254
254
|
document: "readonly",
|
|
255
255
|
navigator: "readonly",
|
|
@@ -257,7 +257,7 @@ function javascript(options = {}) {
|
|
|
257
257
|
},
|
|
258
258
|
parserOptions: {
|
|
259
259
|
ecmaFeatures: { jsx: true },
|
|
260
|
-
ecmaVersion:
|
|
260
|
+
ecmaVersion: "latest",
|
|
261
261
|
sourceType: "module"
|
|
262
262
|
},
|
|
263
263
|
sourceType: "module"
|
|
@@ -444,7 +444,7 @@ function javascript(options = {}) {
|
|
|
444
444
|
"require-yield": "error",
|
|
445
445
|
"symbol-description": "error",
|
|
446
446
|
"unicode-bom": ["error", "never"],
|
|
447
|
-
"unused-imports/no-unused-imports": isInEditor
|
|
447
|
+
"unused-imports/no-unused-imports": isInEditor ? "off" : "error",
|
|
448
448
|
"unused-imports/no-unused-vars": ["error", {
|
|
449
449
|
args: "after-used",
|
|
450
450
|
argsIgnorePattern: "^_",
|
|
@@ -602,13 +602,11 @@ function perfectionist() {
|
|
|
602
602
|
type: "natural"
|
|
603
603
|
}],
|
|
604
604
|
"perfectionist/sort-named-exports": ["warn", {
|
|
605
|
-
|
|
606
|
-
order: "asc",
|
|
605
|
+
groups: ["value-export", "type-export"],
|
|
607
606
|
type: "natural"
|
|
608
607
|
}],
|
|
609
608
|
"perfectionist/sort-named-imports": ["warn", {
|
|
610
|
-
|
|
611
|
-
order: "asc",
|
|
609
|
+
groups: ["value-import", "type-import"],
|
|
612
610
|
type: "natural"
|
|
613
611
|
}]
|
|
614
612
|
}
|
|
@@ -639,6 +637,7 @@ async function pnpm() {
|
|
|
639
637
|
name: "coderwyd/pnpm/pnpm-workspace-yaml",
|
|
640
638
|
plugins: { pnpm: pluginPnpm },
|
|
641
639
|
rules: {
|
|
640
|
+
"pnpm/yaml-enforce-settings": ["error", { settings: { shellEmulator: true } }],
|
|
642
641
|
"pnpm/yaml-no-duplicate-catalog-item": "error",
|
|
643
642
|
"pnpm/yaml-no-unused-catalog-item": "error"
|
|
644
643
|
}
|
|
@@ -834,7 +833,7 @@ async function react(options = {}) {
|
|
|
834
833
|
//#endregion
|
|
835
834
|
//#region src/configs/regexp.ts
|
|
836
835
|
function regexp(options = {}) {
|
|
837
|
-
const config = configs["flat/recommended"];
|
|
836
|
+
const config = configs$1["flat/recommended"];
|
|
838
837
|
const rules = { ...config.rules };
|
|
839
838
|
if (options.level === "warn") Object.keys(rules).forEach((key) => {
|
|
840
839
|
if (rules[key] === "error") rules[key] = "warn";
|
|
@@ -878,6 +877,7 @@ function sortPackageJson() {
|
|
|
878
877
|
"packageManager",
|
|
879
878
|
"description",
|
|
880
879
|
"author",
|
|
880
|
+
"contributors",
|
|
881
881
|
"license",
|
|
882
882
|
"funding",
|
|
883
883
|
"homepage",
|
|
@@ -913,7 +913,9 @@ function sortPackageJson() {
|
|
|
913
913
|
"simple-git-hooks",
|
|
914
914
|
"lint-staged",
|
|
915
915
|
"nano-staged",
|
|
916
|
-
"eslintConfig"
|
|
916
|
+
"eslintConfig",
|
|
917
|
+
"prettier",
|
|
918
|
+
"tsdown"
|
|
917
919
|
],
|
|
918
920
|
pathPattern: "^$"
|
|
919
921
|
},
|
|
@@ -923,7 +925,7 @@ function sortPackageJson() {
|
|
|
923
925
|
},
|
|
924
926
|
{
|
|
925
927
|
order: { type: "asc" },
|
|
926
|
-
pathPattern:
|
|
928
|
+
pathPattern: String.raw`^(?:resolutions|overrides|pnpm\.overrides)$`
|
|
927
929
|
},
|
|
928
930
|
{
|
|
929
931
|
order: [
|
|
@@ -1074,6 +1076,84 @@ function sortTsconfig() {
|
|
|
1074
1076
|
] }
|
|
1075
1077
|
}];
|
|
1076
1078
|
}
|
|
1079
|
+
function sortPnpmWorkspace() {
|
|
1080
|
+
return [{
|
|
1081
|
+
files: ["**/pnpm-workspace.yaml"],
|
|
1082
|
+
name: "coderwyd/sort/pnpm-workspace",
|
|
1083
|
+
rules: { "yaml/sort-keys": [
|
|
1084
|
+
"error",
|
|
1085
|
+
{
|
|
1086
|
+
order: [
|
|
1087
|
+
...[
|
|
1088
|
+
"cacheDir",
|
|
1089
|
+
"catalogMode",
|
|
1090
|
+
"cleanupUnusedCatalogs",
|
|
1091
|
+
"dedupeDirectDeps",
|
|
1092
|
+
"deployAllFiles",
|
|
1093
|
+
"enablePrePostScripts",
|
|
1094
|
+
"engineStrict",
|
|
1095
|
+
"extendNodePath",
|
|
1096
|
+
"hoist",
|
|
1097
|
+
"hoistPattern",
|
|
1098
|
+
"hoistWorkspacePackages",
|
|
1099
|
+
"ignoreCompatibilityDb",
|
|
1100
|
+
"ignoreDepScripts",
|
|
1101
|
+
"ignoreScripts",
|
|
1102
|
+
"ignoreWorkspaceRootCheck",
|
|
1103
|
+
"managePackageManagerVersions",
|
|
1104
|
+
"minimumReleaseAge",
|
|
1105
|
+
"minimumReleaseAgeExclude",
|
|
1106
|
+
"modulesDir",
|
|
1107
|
+
"nodeLinker",
|
|
1108
|
+
"nodeVersion",
|
|
1109
|
+
"optimisticRepeatInstall",
|
|
1110
|
+
"packageManagerStrict",
|
|
1111
|
+
"packageManagerStrictVersion",
|
|
1112
|
+
"preferSymlinkedExecutables",
|
|
1113
|
+
"preferWorkspacePackages",
|
|
1114
|
+
"publicHoistPattern",
|
|
1115
|
+
"registrySupportsTimeField",
|
|
1116
|
+
"requiredScripts",
|
|
1117
|
+
"resolutionMode",
|
|
1118
|
+
"savePrefix",
|
|
1119
|
+
"scriptShell",
|
|
1120
|
+
"shamefullyHoist",
|
|
1121
|
+
"shellEmulator",
|
|
1122
|
+
"stateDir",
|
|
1123
|
+
"supportedArchitectures",
|
|
1124
|
+
"symlink",
|
|
1125
|
+
"tag",
|
|
1126
|
+
"trustPolicy",
|
|
1127
|
+
"trustPolicyExclude",
|
|
1128
|
+
"updateNotifier"
|
|
1129
|
+
],
|
|
1130
|
+
"packages",
|
|
1131
|
+
"overrides",
|
|
1132
|
+
"patchedDependencies",
|
|
1133
|
+
"catalog",
|
|
1134
|
+
"catalogs",
|
|
1135
|
+
...[
|
|
1136
|
+
"allowedDeprecatedVersions",
|
|
1137
|
+
"allowNonAppliedPatches",
|
|
1138
|
+
"configDependencies",
|
|
1139
|
+
"ignoredBuiltDependencies",
|
|
1140
|
+
"ignoredOptionalDependencies",
|
|
1141
|
+
"neverBuiltDependencies",
|
|
1142
|
+
"onlyBuiltDependencies",
|
|
1143
|
+
"onlyBuiltDependenciesFile",
|
|
1144
|
+
"packageExtensions",
|
|
1145
|
+
"peerDependencyRules"
|
|
1146
|
+
]
|
|
1147
|
+
],
|
|
1148
|
+
pathPattern: "^$"
|
|
1149
|
+
},
|
|
1150
|
+
{
|
|
1151
|
+
order: { type: "asc" },
|
|
1152
|
+
pathPattern: ".*"
|
|
1153
|
+
}
|
|
1154
|
+
] }
|
|
1155
|
+
}];
|
|
1156
|
+
}
|
|
1077
1157
|
|
|
1078
1158
|
//#endregion
|
|
1079
1159
|
//#region src/configs/specials.ts
|
|
@@ -1216,7 +1296,7 @@ async function tailwindcss(options = {}) {
|
|
|
1216
1296
|
//#region src/configs/test.ts
|
|
1217
1297
|
let _pluginTest;
|
|
1218
1298
|
async function test(options = {}) {
|
|
1219
|
-
const { files = GLOB_TESTS, isInEditor
|
|
1299
|
+
const { files = GLOB_TESTS, isInEditor = false, overrides = {} } = options;
|
|
1220
1300
|
const [pluginVitest, pluginNoOnlyTests] = await Promise.all([interopDefault(import("@vitest/eslint-plugin")), interopDefault(import("eslint-plugin-no-only-tests"))]);
|
|
1221
1301
|
_pluginTest = _pluginTest || {
|
|
1222
1302
|
...pluginVitest,
|
|
@@ -1239,7 +1319,7 @@ async function test(options = {}) {
|
|
|
1239
1319
|
}],
|
|
1240
1320
|
"test/no-identical-title": "error",
|
|
1241
1321
|
"test/no-import-node-test": "error",
|
|
1242
|
-
"test/no-only-tests": isInEditor
|
|
1322
|
+
"test/no-only-tests": isInEditor ? "off" : "error",
|
|
1243
1323
|
"test/prefer-hooks-in-order": "error",
|
|
1244
1324
|
"test/prefer-lowercase-title": "error",
|
|
1245
1325
|
"ts/explicit-function-return-type": "off",
|
|
@@ -1314,10 +1394,10 @@ async function typescript(options = {}) {
|
|
|
1314
1394
|
"ts/unbound-method": "error"
|
|
1315
1395
|
};
|
|
1316
1396
|
const [pluginTs, parserTs] = await Promise.all([interopDefault(import("@typescript-eslint/eslint-plugin")), interopDefault(import("@typescript-eslint/parser"))]);
|
|
1317
|
-
function makeParser(typeAware, files
|
|
1397
|
+
function makeParser(typeAware, files, ignores) {
|
|
1318
1398
|
return {
|
|
1319
|
-
files
|
|
1320
|
-
...ignores
|
|
1399
|
+
files,
|
|
1400
|
+
...ignores ? { ignores } : {},
|
|
1321
1401
|
languageOptions: {
|
|
1322
1402
|
parser: parserTs,
|
|
1323
1403
|
parserOptions: {
|
|
@@ -1563,15 +1643,6 @@ async function vue(options = {}) {
|
|
|
1563
1643
|
"defineSlots"
|
|
1564
1644
|
] }],
|
|
1565
1645
|
"vue/eqeqeq": ["error", "smart"],
|
|
1566
|
-
"vue/html-self-closing": ["error", {
|
|
1567
|
-
html: {
|
|
1568
|
-
component: "always",
|
|
1569
|
-
normal: "always",
|
|
1570
|
-
void: "any"
|
|
1571
|
-
},
|
|
1572
|
-
math: "always",
|
|
1573
|
-
svg: "always"
|
|
1574
|
-
}],
|
|
1575
1646
|
"vue/max-attributes-per-line": "off",
|
|
1576
1647
|
"vue/multi-word-component-names": "off",
|
|
1577
1648
|
"vue/no-constant-condition": "warn",
|
|
@@ -1726,69 +1797,69 @@ const defaultPluginRenaming = {
|
|
|
1726
1797
|
*/
|
|
1727
1798
|
async function defineConfig(options = {}, ...userConfigs) {
|
|
1728
1799
|
const { autoRenamePlugins = true, componentExts = [], gitignore: enableGitignore = true, pnpm: enableCatalogs = false, react: enableReact = false, regexp: enableRegexp = true, svelte: enableSvelte = false, tailwindcss: enableTailwindCSS = false, typescript: enableTypeScript = isUsingTypeScript, unocss: enableUnoCSS = false, vue: enableVue = isUsingVue } = options;
|
|
1729
|
-
let isInEditor
|
|
1730
|
-
if (isInEditor
|
|
1731
|
-
isInEditor
|
|
1732
|
-
if (isInEditor
|
|
1800
|
+
let isInEditor = options.isInEditor;
|
|
1801
|
+
if (isInEditor == null) {
|
|
1802
|
+
isInEditor = isInEditorEnv();
|
|
1803
|
+
if (isInEditor) console.log("[@coderwyd/eslint-config] Detected running in editor, some rules are disabled.");
|
|
1733
1804
|
}
|
|
1734
|
-
const configs
|
|
1735
|
-
if (enableGitignore) if (typeof enableGitignore !== "boolean") configs
|
|
1805
|
+
const configs = [];
|
|
1806
|
+
if (enableGitignore) if (typeof enableGitignore !== "boolean") configs.push(interopDefault(import("eslint-config-flat-gitignore")).then((r) => [r({
|
|
1736
1807
|
...enableGitignore,
|
|
1737
1808
|
name: "coderwyd/gitignore"
|
|
1738
1809
|
})]));
|
|
1739
|
-
else configs
|
|
1810
|
+
else configs.push(interopDefault(import("eslint-config-flat-gitignore")).then((r) => [r({
|
|
1740
1811
|
name: "coderwyd/gitignore",
|
|
1741
1812
|
strict: false
|
|
1742
1813
|
})]));
|
|
1743
1814
|
const typescriptOptions = resolveSubOptions(options, "typescript");
|
|
1744
1815
|
const tsconfigPath = "tsconfigPath" in typescriptOptions ? typescriptOptions.tsconfigPath : void 0;
|
|
1745
|
-
configs
|
|
1746
|
-
isInEditor
|
|
1816
|
+
configs.push(ignores(options.ignores), javascript({
|
|
1817
|
+
isInEditor,
|
|
1747
1818
|
overrides: getOverrides(options, "javascript")
|
|
1748
|
-
}), comments(), node(), jsdoc(), imports(), unicorn(), command(), deMorgan(), perfectionist());
|
|
1819
|
+
}), comments(), node(), jsdoc(), imports(), unicorn(), command(), deMorgan(), perfectionist(), sortPnpmWorkspace());
|
|
1749
1820
|
if (enableVue) componentExts.push("vue");
|
|
1750
|
-
if (enableTypeScript) configs
|
|
1821
|
+
if (enableTypeScript) configs.push(typescript({
|
|
1751
1822
|
...typescriptOptions,
|
|
1752
1823
|
componentExts,
|
|
1753
1824
|
overrides: getOverrides(options, "typescript")
|
|
1754
1825
|
}));
|
|
1755
|
-
if (enableRegexp) configs
|
|
1756
|
-
if (options.test ?? true) configs
|
|
1757
|
-
isInEditor
|
|
1826
|
+
if (enableRegexp) configs.push(regexp(typeof enableRegexp === "boolean" ? {} : enableRegexp));
|
|
1827
|
+
if (options.test ?? true) configs.push(test({
|
|
1828
|
+
isInEditor,
|
|
1758
1829
|
overrides: getOverrides(options, "test")
|
|
1759
1830
|
}));
|
|
1760
|
-
if (enableVue) configs
|
|
1831
|
+
if (enableVue) configs.push(vue({
|
|
1761
1832
|
...resolveSubOptions(options, "vue"),
|
|
1762
1833
|
overrides: getOverrides(options, "typescript"),
|
|
1763
1834
|
typescript: !!enableTypeScript
|
|
1764
1835
|
}));
|
|
1765
|
-
if (enableReact) configs
|
|
1836
|
+
if (enableReact) configs.push(react({
|
|
1766
1837
|
overrides: getOverrides(options, "react"),
|
|
1767
1838
|
tsconfigPath
|
|
1768
1839
|
}));
|
|
1769
|
-
if (enableSvelte) configs
|
|
1840
|
+
if (enableSvelte) configs.push(svelte({
|
|
1770
1841
|
overrides: getOverrides(options, "svelte"),
|
|
1771
1842
|
typescript: !!enableTypeScript
|
|
1772
1843
|
}));
|
|
1773
|
-
if (enableUnoCSS) configs
|
|
1844
|
+
if (enableUnoCSS) configs.push(unocss({
|
|
1774
1845
|
...resolveSubOptions(options, "unocss"),
|
|
1775
1846
|
overrides: getOverrides(options, "unocss")
|
|
1776
1847
|
}));
|
|
1777
|
-
if (enableTailwindCSS) configs
|
|
1848
|
+
if (enableTailwindCSS) configs.push(tailwindcss({
|
|
1778
1849
|
...resolveSubOptions(options, "tailwindcss"),
|
|
1779
1850
|
overrides: getOverrides(options, "tailwindcss")
|
|
1780
1851
|
}));
|
|
1781
|
-
if (options.jsonc ?? true) configs
|
|
1782
|
-
if (enableCatalogs) configs
|
|
1783
|
-
if (options.yaml ?? true) configs
|
|
1784
|
-
configs
|
|
1852
|
+
if (options.jsonc ?? true) configs.push(jsonc({ overrides: getOverrides(options, "jsonc") }), sortPackageJson(), sortTsconfig());
|
|
1853
|
+
if (enableCatalogs) configs.push(pnpm());
|
|
1854
|
+
if (options.yaml ?? true) configs.push(yaml({ overrides: getOverrides(options, "yaml") }));
|
|
1855
|
+
configs.push(specials(), prettier());
|
|
1785
1856
|
if ("files" in options) throw new Error("[@coderwyd/eslint-config] The first argument should not contain the \"files\" property as the options are supposed to be global. Place it in the second or later config instead.");
|
|
1786
1857
|
const fusedConfig = flatConfigProps.reduce((acc, key) => {
|
|
1787
1858
|
if (key in options) acc[key] = options[key];
|
|
1788
1859
|
return acc;
|
|
1789
1860
|
}, {});
|
|
1790
|
-
if (Object.keys(fusedConfig).length > 0) configs
|
|
1791
|
-
const merged = await combine(...configs
|
|
1861
|
+
if (Object.keys(fusedConfig).length > 0) configs.push([fusedConfig]);
|
|
1862
|
+
const merged = await combine(...configs, ...userConfigs);
|
|
1792
1863
|
if (autoRenamePlugins) return renamePluginInConfigs(merged, defaultPluginRenaming);
|
|
1793
1864
|
return merged;
|
|
1794
1865
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coderwyd/eslint-config",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "4.
|
|
4
|
+
"version": "4.10.0",
|
|
5
5
|
"description": "Donny's ESLint config",
|
|
6
6
|
"author": "Donny Wang <donny526@outlook.com> (https://github.com/coderwyd/)",
|
|
7
7
|
"license": "MIT",
|
|
@@ -21,14 +21,12 @@
|
|
|
21
21
|
"access": "public"
|
|
22
22
|
},
|
|
23
23
|
"exports": {
|
|
24
|
-
".": "./dist/index.
|
|
25
|
-
"./cli": "./dist/cli.
|
|
24
|
+
".": "./dist/index.mjs",
|
|
25
|
+
"./cli": "./dist/cli.mjs",
|
|
26
26
|
"./package.json": "./package.json"
|
|
27
27
|
},
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"types": "./dist/index.d.ts",
|
|
31
|
-
"bin": "./bin/index.js",
|
|
28
|
+
"types": "./dist/index.d.mts",
|
|
29
|
+
"bin": "./bin/index.mjs",
|
|
32
30
|
"files": [
|
|
33
31
|
"bin",
|
|
34
32
|
"dist"
|
|
@@ -74,59 +72,60 @@
|
|
|
74
72
|
},
|
|
75
73
|
"dependencies": {
|
|
76
74
|
"@antfu/install-pkg": "^1.1.0",
|
|
77
|
-
"@eslint-community/eslint-plugin-eslint-comments": "^4.
|
|
78
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
79
|
-
"@typescript-eslint/parser": "^8.
|
|
80
|
-
"@vitest/eslint-plugin": "^1.
|
|
75
|
+
"@eslint-community/eslint-plugin-eslint-comments": "^4.6.0",
|
|
76
|
+
"@typescript-eslint/eslint-plugin": "^8.53.1",
|
|
77
|
+
"@typescript-eslint/parser": "^8.53.1",
|
|
78
|
+
"@vitest/eslint-plugin": "^1.6.6",
|
|
81
79
|
"cac": "^6.7.14",
|
|
82
80
|
"eslint-config-flat-gitignore": "^2.1.0",
|
|
83
81
|
"eslint-config-prettier": "^10.1.8",
|
|
84
|
-
"eslint-plugin-antfu": "^3.1.
|
|
85
|
-
"eslint-plugin-command": "^3.
|
|
82
|
+
"eslint-plugin-antfu": "^3.1.3",
|
|
83
|
+
"eslint-plugin-command": "^3.4.0",
|
|
86
84
|
"eslint-plugin-de-morgan": "^2.0.0",
|
|
87
|
-
"eslint-plugin-import-lite": "^0.
|
|
88
|
-
"eslint-plugin-jsdoc": "61.1
|
|
85
|
+
"eslint-plugin-import-lite": "^0.5.0",
|
|
86
|
+
"eslint-plugin-jsdoc": "61.4.1",
|
|
89
87
|
"eslint-plugin-jsonc": "^2.21.0",
|
|
90
|
-
"eslint-plugin-n": "^17.23.
|
|
88
|
+
"eslint-plugin-n": "^17.23.2",
|
|
91
89
|
"eslint-plugin-no-only-tests": "^3.3.0",
|
|
92
|
-
"eslint-plugin-perfectionist": "^4.
|
|
93
|
-
"eslint-plugin-pnpm": "^1.
|
|
94
|
-
"eslint-plugin-regexp": "^
|
|
90
|
+
"eslint-plugin-perfectionist": "^5.4.0",
|
|
91
|
+
"eslint-plugin-pnpm": "^1.5.0",
|
|
92
|
+
"eslint-plugin-regexp": "^3.0.0",
|
|
95
93
|
"eslint-plugin-unicorn": "^62.0.0",
|
|
96
94
|
"eslint-plugin-unused-imports": "^4.3.0",
|
|
97
|
-
"eslint-plugin-vue": "^10.
|
|
98
|
-
"eslint-plugin-yml": "^
|
|
99
|
-
"globals": "^
|
|
100
|
-
"jsonc-eslint-parser": "^2.4.
|
|
95
|
+
"eslint-plugin-vue": "^10.7.0",
|
|
96
|
+
"eslint-plugin-yml": "^3.0.0",
|
|
97
|
+
"globals": "^17.1.0",
|
|
98
|
+
"jsonc-eslint-parser": "^2.4.2",
|
|
101
99
|
"local-pkg": "^1.1.2",
|
|
102
100
|
"parse-gitignore": "^2.0.0",
|
|
103
101
|
"prompts": "^2.4.2",
|
|
104
102
|
"vue-eslint-parser": "^10.2.0",
|
|
105
|
-
"yaml-eslint-parser": "^
|
|
103
|
+
"yaml-eslint-parser": "^2.0.0"
|
|
106
104
|
},
|
|
107
105
|
"devDependencies": {
|
|
108
|
-
"@eslint-react/eslint-plugin": "^2.2
|
|
109
|
-
"@eslint/config-inspector": "^1.
|
|
106
|
+
"@eslint-react/eslint-plugin": "^2.7.2",
|
|
107
|
+
"@eslint/config-inspector": "^1.4.2",
|
|
110
108
|
"@types/eslint-config-prettier": "^6.11.3",
|
|
111
|
-
"@types/node": "^
|
|
109
|
+
"@types/node": "^25.0.10",
|
|
112
110
|
"@types/prompts": "^2.4.9",
|
|
113
|
-
"@
|
|
114
|
-
"
|
|
115
|
-
"
|
|
111
|
+
"@typescript/native-preview": "7.0.0-dev.20260107.1",
|
|
112
|
+
"@unocss/eslint-plugin": "^66.6.0",
|
|
113
|
+
"bumpp": "^10.4.0",
|
|
114
|
+
"eslint": "^9.39.2",
|
|
116
115
|
"eslint-plugin-react-hooks": "7.0.1",
|
|
117
|
-
"eslint-plugin-react-refresh": "^0.4.
|
|
118
|
-
"eslint-plugin-svelte": "^3.
|
|
116
|
+
"eslint-plugin-react-refresh": "^0.4.26",
|
|
117
|
+
"eslint-plugin-svelte": "^3.14.0",
|
|
119
118
|
"eslint-plugin-tailwindcss": "^3.18.2",
|
|
120
119
|
"eslint-typegen": "^2.3.0",
|
|
121
120
|
"jiti": "^2.6.1",
|
|
122
|
-
"nano-staged": "^0.
|
|
123
|
-
"prettier": "^3.
|
|
124
|
-
"publint": "^0.3.
|
|
121
|
+
"nano-staged": "^0.9.0",
|
|
122
|
+
"prettier": "^3.8.1",
|
|
123
|
+
"publint": "^0.3.17",
|
|
125
124
|
"simple-git-hooks": "^2.13.1",
|
|
126
|
-
"svelte-eslint-parser": "^1.4.
|
|
127
|
-
"tsdown": "^0.
|
|
125
|
+
"svelte-eslint-parser": "^1.4.1",
|
|
126
|
+
"tsdown": "^0.20.1",
|
|
128
127
|
"typescript": "^5.9.3",
|
|
129
|
-
"unplugin-unused": "^0.5.
|
|
128
|
+
"unplugin-unused": "^0.5.7"
|
|
130
129
|
},
|
|
131
130
|
"simple-git-hooks": {
|
|
132
131
|
"pre-commit": "pnpm exec nano-staged"
|
|
@@ -142,6 +141,6 @@
|
|
|
142
141
|
"build:inspector": "pnpm build && pnpx @eslint/config-inspector build",
|
|
143
142
|
"build:typegen": "jiti scripts/typegen.ts",
|
|
144
143
|
"release": "bumpp",
|
|
145
|
-
"typecheck": "
|
|
144
|
+
"typecheck": "tsgo --noEmit"
|
|
146
145
|
}
|
|
147
146
|
}
|
|
File without changes
|
|
File without changes
|