@infernodesign/eslint-config 2.4.0 → 2.5.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 +4 -1
- package/dist/cli.js +6 -6
- package/dist/index.d.ts +790 -72
- package/dist/index.js +160 -27
- package/package.json +27 -27
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { FlatConfigComposer } from "eslint-flat-config-utils";
|
|
|
3
3
|
import process$1 from "node:process";
|
|
4
4
|
import fs from "node:fs/promises";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
6
|
-
import fs$1, { existsSync, readdirSync, statSync } from "node:fs";
|
|
6
|
+
import fs$1, { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import { isPackageExists } from "local-pkg";
|
|
9
9
|
import createCommand from "eslint-plugin-command/config";
|
|
@@ -105,6 +105,9 @@ const GLOB_EXCLUDE = [
|
|
|
105
105
|
"**/.agents",
|
|
106
106
|
"**/.antigravity",
|
|
107
107
|
"**/.bmad",
|
|
108
|
+
"**/.bmad-*",
|
|
109
|
+
"**/_bmad",
|
|
110
|
+
"**/_bmad-*",
|
|
108
111
|
"**/.context",
|
|
109
112
|
"**/.codex",
|
|
110
113
|
"**/.claude",
|
|
@@ -112,10 +115,12 @@ const GLOB_EXCLUDE = [
|
|
|
112
115
|
"**/.windsurf",
|
|
113
116
|
"**/.*/skills",
|
|
114
117
|
"**/AGENTS.md",
|
|
118
|
+
"**/CLAUDE.md",
|
|
115
119
|
"**/.idea",
|
|
116
120
|
"**/.vscode",
|
|
117
121
|
"**/.zed",
|
|
118
122
|
"**/__snapshots__",
|
|
123
|
+
"**/badges",
|
|
119
124
|
"**/coverage",
|
|
120
125
|
"**/.cache",
|
|
121
126
|
"**/.eslintcache",
|
|
@@ -157,10 +162,14 @@ const GLOB_EXCLUDE = [
|
|
|
157
162
|
];
|
|
158
163
|
const GLOB_SEARCH_EXCLUDE = new Set([
|
|
159
164
|
"__snapshots__",
|
|
165
|
+
"_bmad",
|
|
166
|
+
"_bmad-*",
|
|
160
167
|
".bmad",
|
|
168
|
+
".bmad-*",
|
|
161
169
|
".cache",
|
|
162
170
|
".changeset",
|
|
163
171
|
".claude",
|
|
172
|
+
".codex",
|
|
164
173
|
".cursor",
|
|
165
174
|
".eslintcache",
|
|
166
175
|
".git",
|
|
@@ -1796,7 +1805,6 @@ async function react(options = {}) {
|
|
|
1796
1805
|
name: "config/react/rules",
|
|
1797
1806
|
rules: {
|
|
1798
1807
|
...pluginReact.configs.recommended.rules,
|
|
1799
|
-
"react/prefer-namespace-import": "error",
|
|
1800
1808
|
"react-refresh/only-export-components": ["error", {
|
|
1801
1809
|
allowConstantExport: isAllowConstantExport,
|
|
1802
1810
|
allowExportNames: [...isUsingNext ? [
|
|
@@ -2288,25 +2296,60 @@ async function svelte(options = {}) {
|
|
|
2288
2296
|
const defaultEntryPointCandidates = [
|
|
2289
2297
|
"src/styles/global.css",
|
|
2290
2298
|
"src/styles/globals.css",
|
|
2299
|
+
"src/styles/app.css",
|
|
2300
|
+
"src/styles/index.css",
|
|
2301
|
+
"src/styles/style.css",
|
|
2302
|
+
"src/app/styles/global.css",
|
|
2303
|
+
"src/app/styles/globals.css",
|
|
2304
|
+
"src/app/styles/app.css",
|
|
2305
|
+
"src/app/styles/index.css",
|
|
2306
|
+
"src/app/styles/style.css",
|
|
2291
2307
|
"src/app/global.css",
|
|
2292
2308
|
"src/app/globals.css",
|
|
2293
|
-
"src/
|
|
2294
|
-
"
|
|
2309
|
+
"src/app/app.css",
|
|
2310
|
+
"app/styles/global.css",
|
|
2311
|
+
"app/styles/globals.css",
|
|
2312
|
+
"app/styles/app.css",
|
|
2313
|
+
"app/styles/index.css",
|
|
2314
|
+
"app/styles/style.css",
|
|
2295
2315
|
"app/global.css",
|
|
2296
2316
|
"app/globals.css",
|
|
2317
|
+
"app/app.css",
|
|
2318
|
+
"src/global.css",
|
|
2319
|
+
"src/globals.css",
|
|
2320
|
+
"src/app.css",
|
|
2321
|
+
"src/index.css",
|
|
2322
|
+
"src/style.css",
|
|
2297
2323
|
"styles/global.css",
|
|
2298
2324
|
"styles/globals.css",
|
|
2325
|
+
"styles/app.css",
|
|
2326
|
+
"styles/index.css",
|
|
2327
|
+
"styles/style.css",
|
|
2299
2328
|
"global.css",
|
|
2300
|
-
"globals.css"
|
|
2329
|
+
"globals.css",
|
|
2330
|
+
"app.css",
|
|
2331
|
+
"index.css",
|
|
2332
|
+
"style.css"
|
|
2301
2333
|
];
|
|
2334
|
+
const entryPointCandidateFileNames = new Set([
|
|
2335
|
+
"app.css",
|
|
2336
|
+
"global.css",
|
|
2337
|
+
"globals.css",
|
|
2338
|
+
"index.css",
|
|
2339
|
+
"style.css"
|
|
2340
|
+
]);
|
|
2341
|
+
const tailwindEntryPointPattern = /@import\s+["']tailwindcss(?:\/[^"']+)?["']|@tailwind\s+(?:base|components|utilities|variants)|@theme\b|@utility\b|@custom-variant\b/;
|
|
2342
|
+
const tailwindEntryPointCache = /* @__PURE__ */ new Map();
|
|
2343
|
+
const warnings = /* @__PURE__ */ new Set();
|
|
2302
2344
|
async function tailwindcss(options = {}) {
|
|
2303
2345
|
const { files = [GLOB_SRC], overrides = {} } = options;
|
|
2304
2346
|
if (!isPackageExists("tailwindcss")) return [];
|
|
2305
2347
|
await ensurePackages(["eslint-plugin-better-tailwindcss"]);
|
|
2306
2348
|
const tsconfigPath = options?.tsconfigPath !== void 0 ? toArray(options.tsconfigPath) : void 0;
|
|
2307
|
-
const
|
|
2349
|
+
const cwd = resolveCwd(options.cwd);
|
|
2350
|
+
const resolvedTsconfigPath = tsconfigPath?.[0] ? path.resolve(cwd, tsconfigPath[0]) : void 0;
|
|
2308
2351
|
const isTypeAware = !!resolvedTsconfigPath;
|
|
2309
|
-
const resolvedEntryPointPath = resolveTailwindEntryPoint(options.entryPoint);
|
|
2352
|
+
const resolvedEntryPointPath = resolveTailwindEntryPoint(options.entryPoint, cwd);
|
|
2310
2353
|
const isUsingEntryPoint = !!resolvedEntryPointPath;
|
|
2311
2354
|
const [pluginTailwindCSS, parserTs] = await Promise.all([interopDefault(import("eslint-plugin-better-tailwindcss")), interopDefault(import("@typescript-eslint/parser"))]);
|
|
2312
2355
|
return [{
|
|
@@ -2317,7 +2360,7 @@ async function tailwindcss(options = {}) {
|
|
|
2317
2360
|
...isTypeAware ? {
|
|
2318
2361
|
jsxPragma: null,
|
|
2319
2362
|
project: tsconfigPath,
|
|
2320
|
-
tsconfigRootDir:
|
|
2363
|
+
tsconfigRootDir: cwd
|
|
2321
2364
|
} : {}
|
|
2322
2365
|
}
|
|
2323
2366
|
},
|
|
@@ -2325,6 +2368,7 @@ async function tailwindcss(options = {}) {
|
|
|
2325
2368
|
plugins: { "tailwindcss": pluginTailwindCSS },
|
|
2326
2369
|
settings: { tailwindcss: {
|
|
2327
2370
|
...isUsingEntryPoint ? { entryPoint: resolvedEntryPointPath } : {},
|
|
2371
|
+
...options.cwd ? { cwd } : {},
|
|
2328
2372
|
detectComponentClasses: options.detectComponentClasses ?? false,
|
|
2329
2373
|
...isTypeAware ? { tsconfig: resolvedTsconfigPath } : {}
|
|
2330
2374
|
} }
|
|
@@ -2369,15 +2413,15 @@ function findExistingFile(filePath) {
|
|
|
2369
2413
|
* @param {string} relativePath - The relative path to the file to find.
|
|
2370
2414
|
* @returns {string | undefined} The path to the existing file, or undefined if the file does not exist.
|
|
2371
2415
|
*/
|
|
2372
|
-
function findFileRecursiveFromCwd(relativePath) {
|
|
2373
|
-
let resolvedPath = path.resolve(
|
|
2416
|
+
function findFileRecursiveFromCwd(relativePath, cwd) {
|
|
2417
|
+
let resolvedPath = path.resolve(cwd, relativePath);
|
|
2374
2418
|
while (true) {
|
|
2375
2419
|
const foundFile = findExistingFile(resolvedPath);
|
|
2376
2420
|
if (foundFile) return foundFile;
|
|
2377
2421
|
const fileName = path.basename(resolvedPath);
|
|
2378
2422
|
const directory = path.dirname(resolvedPath);
|
|
2379
2423
|
const parentDirectory = path.resolve(directory, "..");
|
|
2380
|
-
if (parentDirectory === directory || directory ===
|
|
2424
|
+
if (parentDirectory === directory || directory === cwd) return;
|
|
2381
2425
|
resolvedPath = path.resolve(parentDirectory, fileName);
|
|
2382
2426
|
}
|
|
2383
2427
|
}
|
|
@@ -2386,12 +2430,17 @@ function findFileRecursiveFromCwd(relativePath) {
|
|
|
2386
2430
|
*
|
|
2387
2431
|
* @returns {string | undefined} The path to the global CSS entry point, or undefined if no entry point is found.
|
|
2388
2432
|
*/
|
|
2389
|
-
function findGlobalCssEntryPoint() {
|
|
2433
|
+
function findGlobalCssEntryPoint(cwd) {
|
|
2434
|
+
const explicitCandidates = [];
|
|
2390
2435
|
for (const candidate of defaultEntryPointCandidates) {
|
|
2391
|
-
const found = findExistingFile(path.resolve(
|
|
2392
|
-
if (found)
|
|
2436
|
+
const found = findExistingFile(path.resolve(cwd, candidate));
|
|
2437
|
+
if (found) explicitCandidates.push(found);
|
|
2438
|
+
}
|
|
2439
|
+
if (explicitCandidates.length) {
|
|
2440
|
+
const resolvedEntryPoint = resolveBestEntryPointCandidate(explicitCandidates);
|
|
2441
|
+
if (resolvedEntryPoint) return resolvedEntryPoint;
|
|
2393
2442
|
}
|
|
2394
|
-
const queue = [
|
|
2443
|
+
const queue = [cwd];
|
|
2395
2444
|
const candidates = [];
|
|
2396
2445
|
while (queue.length) {
|
|
2397
2446
|
const currentPath = queue.shift();
|
|
@@ -2409,18 +2458,57 @@ function findGlobalCssEntryPoint() {
|
|
|
2409
2458
|
queue.push(nextPath);
|
|
2410
2459
|
continue;
|
|
2411
2460
|
}
|
|
2412
|
-
if (entry.isFile() && (entry.name
|
|
2461
|
+
if (entry.isFile() && entryPointCandidateFileNames.has(entry.name)) candidates.push(nextPath);
|
|
2413
2462
|
}
|
|
2414
2463
|
}
|
|
2415
2464
|
if (!candidates.length) {
|
|
2416
|
-
|
|
2465
|
+
warnOnce(`[${PACKAGE_NAME}] No global CSS entry point found in "${cwd}".`);
|
|
2417
2466
|
return;
|
|
2418
2467
|
}
|
|
2419
|
-
const resolvedEntryPoint = candidates
|
|
2468
|
+
const resolvedEntryPoint = resolveBestEntryPointCandidate(candidates);
|
|
2469
|
+
if (!resolvedEntryPoint) return;
|
|
2420
2470
|
console.log(`[${PACKAGE_NAME}] Resolved global CSS entryPoint: "${resolvedEntryPoint}".`);
|
|
2421
2471
|
return resolvedEntryPoint;
|
|
2422
2472
|
}
|
|
2423
2473
|
/**
|
|
2474
|
+
* Resolve the best entry point candidate from a list of file paths.
|
|
2475
|
+
*
|
|
2476
|
+
* @param {string[]} candidates - The entry point candidate paths.
|
|
2477
|
+
* @returns {string | undefined} The best entry point candidate, or undefined if no candidate exists.
|
|
2478
|
+
*/
|
|
2479
|
+
function resolveBestEntryPointCandidate(candidates) {
|
|
2480
|
+
return candidates.sort(compareEntryPointPaths)[0];
|
|
2481
|
+
}
|
|
2482
|
+
/**
|
|
2483
|
+
* Compare two entry point paths.
|
|
2484
|
+
*
|
|
2485
|
+
* @param {string} a - The first entry point path.
|
|
2486
|
+
* @param {string} b - The second entry point path.
|
|
2487
|
+
* @returns {number} The comparison result.
|
|
2488
|
+
*/
|
|
2489
|
+
function compareEntryPointPaths(a, b) {
|
|
2490
|
+
return Number(hasTailwindEntryPointDirective(b)) - Number(hasTailwindEntryPointDirective(a)) || rankEntryPointPath(a) - rankEntryPointPath(b) || a.length - b.length || a.localeCompare(b);
|
|
2491
|
+
}
|
|
2492
|
+
/**
|
|
2493
|
+
* Check whether a CSS file appears to be a Tailwind entry point.
|
|
2494
|
+
*
|
|
2495
|
+
* @param {string} filePath - The path to the CSS file.
|
|
2496
|
+
* @returns {boolean} Whether the CSS file contains Tailwind entry point directives.
|
|
2497
|
+
*/
|
|
2498
|
+
function hasTailwindEntryPointDirective(filePath) {
|
|
2499
|
+
const cachedResult = tailwindEntryPointCache.get(filePath);
|
|
2500
|
+
if (cachedResult !== void 0) return cachedResult;
|
|
2501
|
+
try {
|
|
2502
|
+
const fileContents = readFileSync(filePath, "utf8");
|
|
2503
|
+
const hasTailwindDirective = tailwindEntryPointPattern.test(fileContents);
|
|
2504
|
+
tailwindEntryPointCache.set(filePath, hasTailwindDirective);
|
|
2505
|
+
return hasTailwindDirective;
|
|
2506
|
+
} catch {
|
|
2507
|
+
tailwindEntryPointCache.set(filePath, false);
|
|
2508
|
+
return false;
|
|
2509
|
+
}
|
|
2510
|
+
}
|
|
2511
|
+
/**
|
|
2424
2512
|
* Rank the entry point path.
|
|
2425
2513
|
*
|
|
2426
2514
|
* @param {string} filePath - The path to the entry point.
|
|
@@ -2428,11 +2516,37 @@ function findGlobalCssEntryPoint() {
|
|
|
2428
2516
|
*/
|
|
2429
2517
|
function rankEntryPointPath(filePath) {
|
|
2430
2518
|
const normalizedPath = filePath.split(path.sep).join("/");
|
|
2431
|
-
if (normalizedPath.includes("/src/styles/")) return 0;
|
|
2432
|
-
if (normalizedPath.includes("/src/")) return 1;
|
|
2433
|
-
if (normalizedPath.includes("/app/")) return 2;
|
|
2434
|
-
if (normalizedPath.
|
|
2435
|
-
if (normalizedPath.
|
|
2519
|
+
if (normalizedPath.includes("/src/styles/")) return getEntryPointRank(0, normalizedPath);
|
|
2520
|
+
if (normalizedPath.includes("/src/app/styles/")) return getEntryPointRank(1, normalizedPath);
|
|
2521
|
+
if (normalizedPath.includes("/src/app/")) return getEntryPointRank(2, normalizedPath);
|
|
2522
|
+
if (normalizedPath.includes("/app/styles/")) return getEntryPointRank(3, normalizedPath);
|
|
2523
|
+
if (normalizedPath.includes("/app/")) return getEntryPointRank(4, normalizedPath);
|
|
2524
|
+
if (normalizedPath.includes("/src/")) return getEntryPointRank(5, normalizedPath);
|
|
2525
|
+
if (normalizedPath.includes("/styles/")) return getEntryPointRank(6, normalizedPath);
|
|
2526
|
+
return getEntryPointRank(7, normalizedPath);
|
|
2527
|
+
}
|
|
2528
|
+
/**
|
|
2529
|
+
* Get the entry point rank from its directory and file name.
|
|
2530
|
+
*
|
|
2531
|
+
* @param {number} directoryRank - The rank of the entry point directory.
|
|
2532
|
+
* @param {string} normalizedPath - The normalized entry point path.
|
|
2533
|
+
* @returns {number} The entry point rank.
|
|
2534
|
+
*/
|
|
2535
|
+
function getEntryPointRank(directoryRank, normalizedPath) {
|
|
2536
|
+
return directoryRank * 10 + getEntryPointFileNameRank(normalizedPath);
|
|
2537
|
+
}
|
|
2538
|
+
/**
|
|
2539
|
+
* Get the entry point file name rank.
|
|
2540
|
+
*
|
|
2541
|
+
* @param {string} normalizedPath - The normalized entry point path.
|
|
2542
|
+
* @returns {number} The entry point file name rank.
|
|
2543
|
+
*/
|
|
2544
|
+
function getEntryPointFileNameRank(normalizedPath) {
|
|
2545
|
+
if (normalizedPath.endsWith("/global.css")) return 0;
|
|
2546
|
+
if (normalizedPath.endsWith("/globals.css")) return 1;
|
|
2547
|
+
if (normalizedPath.endsWith("/app.css")) return 2;
|
|
2548
|
+
if (normalizedPath.endsWith("/index.css")) return 3;
|
|
2549
|
+
if (normalizedPath.endsWith("/style.css")) return 4;
|
|
2436
2550
|
return 5;
|
|
2437
2551
|
}
|
|
2438
2552
|
/**
|
|
@@ -2441,16 +2555,35 @@ function rankEntryPointPath(filePath) {
|
|
|
2441
2555
|
* @param {string} entryPoint - The entry point to resolve.
|
|
2442
2556
|
* @returns {string | undefined} The path to the resolved entry point, or undefined if no entry point is found.
|
|
2443
2557
|
*/
|
|
2444
|
-
function resolveTailwindEntryPoint(entryPoint) {
|
|
2558
|
+
function resolveTailwindEntryPoint(entryPoint, cwd) {
|
|
2445
2559
|
if (entryPoint) {
|
|
2446
|
-
const resolvedEntryPoint = findFileRecursiveFromCwd(entryPoint);
|
|
2560
|
+
const resolvedEntryPoint = findFileRecursiveFromCwd(entryPoint, cwd);
|
|
2447
2561
|
if (resolvedEntryPoint) {
|
|
2448
2562
|
console.log(`[${PACKAGE_NAME}] Resolved Tailwind CSS entryPoint: "${resolvedEntryPoint}".`);
|
|
2449
2563
|
return resolvedEntryPoint;
|
|
2450
2564
|
}
|
|
2451
|
-
|
|
2565
|
+
warnOnce(`[${PACKAGE_NAME}] Tailwind CSS entryPoint "${entryPoint}" was not found from "${cwd}".`);
|
|
2452
2566
|
}
|
|
2453
|
-
return findGlobalCssEntryPoint();
|
|
2567
|
+
return findGlobalCssEntryPoint(cwd);
|
|
2568
|
+
}
|
|
2569
|
+
/**
|
|
2570
|
+
* Resolve the Tailwind CSS working directory.
|
|
2571
|
+
*
|
|
2572
|
+
* @param {string} cwd - The configured working directory.
|
|
2573
|
+
* @returns {string} The resolved working directory.
|
|
2574
|
+
*/
|
|
2575
|
+
function resolveCwd(cwd) {
|
|
2576
|
+
return cwd ? path.resolve(process.cwd(), cwd) : process.cwd();
|
|
2577
|
+
}
|
|
2578
|
+
/**
|
|
2579
|
+
* Warn only once per process for repeated Tailwind CSS resolution failures.
|
|
2580
|
+
*
|
|
2581
|
+
* @param {string} message - The warning message.
|
|
2582
|
+
*/
|
|
2583
|
+
function warnOnce(message) {
|
|
2584
|
+
if (warnings.has(message)) return;
|
|
2585
|
+
warnings.add(message);
|
|
2586
|
+
console.warn(message);
|
|
2454
2587
|
}
|
|
2455
2588
|
//#endregion
|
|
2456
2589
|
//#region src/configs/test.ts
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@infernodesign/eslint-config",
|
|
3
3
|
"description": "ESLint config for Inferno Design.",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.5.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "Inferno Design <support@infernodesign.com>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -47,22 +47,22 @@
|
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"@antfu/install-pkg": "1.1.0",
|
|
50
|
-
"@clack/prompts": "1.
|
|
51
|
-
"@e18e/eslint-plugin": "0.
|
|
50
|
+
"@clack/prompts": "1.3.0",
|
|
51
|
+
"@e18e/eslint-plugin": "0.4.1",
|
|
52
52
|
"@eslint-community/eslint-plugin-eslint-comments": "4.7.1",
|
|
53
53
|
"@eslint/compat": "2.0.5",
|
|
54
54
|
"@eslint/config-array": "0.23.5",
|
|
55
55
|
"@eslint/config-helpers": "0.5.5",
|
|
56
56
|
"@eslint/markdown": "8.0.1",
|
|
57
57
|
"@stylistic/eslint-plugin": "5.10.0",
|
|
58
|
-
"@typescript-eslint/eslint-plugin": "8.59.
|
|
59
|
-
"@typescript-eslint/parser": "8.59.
|
|
60
|
-
"@typescript-eslint/utils": "8.59.
|
|
58
|
+
"@typescript-eslint/eslint-plugin": "8.59.1",
|
|
59
|
+
"@typescript-eslint/parser": "8.59.1",
|
|
60
|
+
"@typescript-eslint/utils": "8.59.1",
|
|
61
61
|
"@vitest/eslint-plugin": "1.6.16",
|
|
62
62
|
"ansis": "4.2.0",
|
|
63
63
|
"cac": "7.0.0",
|
|
64
64
|
"eslint-config-flat-gitignore": "2.3.0",
|
|
65
|
-
"eslint-flat-config-utils": "3.
|
|
65
|
+
"eslint-flat-config-utils": "3.2.0",
|
|
66
66
|
"eslint-merge-processors": "2.0.0",
|
|
67
67
|
"eslint-plugin-antfu": "3.2.2",
|
|
68
68
|
"eslint-plugin-command": "3.5.2",
|
|
@@ -70,17 +70,17 @@
|
|
|
70
70
|
"eslint-plugin-jsdoc": "62.9.0",
|
|
71
71
|
"eslint-plugin-jsonc": "3.1.2",
|
|
72
72
|
"eslint-plugin-n": "17.24.0",
|
|
73
|
-
"eslint-plugin-no-only-tests": "3.
|
|
73
|
+
"eslint-plugin-no-only-tests": "3.4.0",
|
|
74
74
|
"eslint-plugin-perfectionist": "5.9.0",
|
|
75
75
|
"eslint-plugin-pnpm": "1.6.0",
|
|
76
76
|
"eslint-plugin-regexp": "3.1.0",
|
|
77
77
|
"eslint-plugin-toml": "1.3.1",
|
|
78
78
|
"eslint-plugin-unicorn": "64.0.0",
|
|
79
79
|
"eslint-plugin-unused-imports": "4.4.1",
|
|
80
|
-
"eslint-plugin-vue": "10.
|
|
81
|
-
"eslint-plugin-yml": "3.3.
|
|
80
|
+
"eslint-plugin-vue": "10.9.0",
|
|
81
|
+
"eslint-plugin-yml": "3.3.2",
|
|
82
82
|
"eslint-processor-vue-blocks": "2.0.0",
|
|
83
|
-
"globals": "17.
|
|
83
|
+
"globals": "17.6.0",
|
|
84
84
|
"jsonc-eslint-parser": "3.1.0",
|
|
85
85
|
"local-pkg": "1.1.2",
|
|
86
86
|
"parse-gitignore": "2.0.0",
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
"yaml-eslint-parser": "2.0.0"
|
|
90
90
|
},
|
|
91
91
|
"devDependencies": {
|
|
92
|
-
"@eslint-react/eslint-plugin": "
|
|
92
|
+
"@eslint-react/eslint-plugin": "5.7.1",
|
|
93
93
|
"@eslint/config-inspector": "2.0.0",
|
|
94
94
|
"@infernodesign/typescript-config": "workspace:*",
|
|
95
95
|
"@next/eslint-plugin-next": "16.2.4",
|
|
@@ -98,16 +98,16 @@
|
|
|
98
98
|
"@types/node": "25.6.0",
|
|
99
99
|
"@unocss/eslint-plugin": "66.6.8",
|
|
100
100
|
"astro-eslint-parser": "1.4.0",
|
|
101
|
-
"eslint": "10.
|
|
101
|
+
"eslint": "10.3.0",
|
|
102
102
|
"eslint-plugin-astro": "1.7.0",
|
|
103
|
-
"eslint-plugin-better-tailwindcss": "4.
|
|
104
|
-
"eslint-plugin-erasable-syntax-only": "0.4.
|
|
103
|
+
"eslint-plugin-better-tailwindcss": "4.5.0",
|
|
104
|
+
"eslint-plugin-erasable-syntax-only": "0.4.1",
|
|
105
105
|
"eslint-plugin-format": "2.0.1",
|
|
106
106
|
"eslint-plugin-jsx-a11y": "6.10.2",
|
|
107
107
|
"eslint-plugin-react-refresh": "0.5.2",
|
|
108
108
|
"eslint-plugin-solid": "0.14.5",
|
|
109
|
-
"eslint-plugin-storybook": "10.3.
|
|
110
|
-
"eslint-plugin-svelte": "3.17.
|
|
109
|
+
"eslint-plugin-storybook": "10.3.6",
|
|
110
|
+
"eslint-plugin-svelte": "3.17.1",
|
|
111
111
|
"eslint-plugin-vuejs-accessibility": "2.5.0",
|
|
112
112
|
"eslint-typegen": "2.3.1",
|
|
113
113
|
"execa": "9.6.1",
|
|
@@ -116,30 +116,30 @@
|
|
|
116
116
|
"pnpm-workspace-yaml": "1.6.0",
|
|
117
117
|
"prettier-plugin-astro": "0.14.1",
|
|
118
118
|
"prettier-plugin-slidev": "1.0.5",
|
|
119
|
-
"svelte": "5.55.
|
|
119
|
+
"svelte": "5.55.5",
|
|
120
120
|
"svelte-eslint-parser": "1.6.0",
|
|
121
121
|
"tinyglobby": "0.2.16",
|
|
122
|
-
"tsdown": "0.21.
|
|
123
|
-
"typescript": "
|
|
122
|
+
"tsdown": "0.21.10",
|
|
123
|
+
"typescript": "6.0.3",
|
|
124
124
|
"vitest": "4.1.5",
|
|
125
|
-
"vue": "3.5.
|
|
125
|
+
"vue": "3.5.33"
|
|
126
126
|
},
|
|
127
127
|
"peerDependencies": {
|
|
128
|
-
"@eslint-react/eslint-plugin": "^
|
|
128
|
+
"@eslint-react/eslint-plugin": "^5.7.1",
|
|
129
129
|
"@next/eslint-plugin-next": "^16.2.4",
|
|
130
130
|
"@prettier/plugin-xml": "^3.4.2",
|
|
131
131
|
"@unocss/eslint-plugin": "^66.6.8",
|
|
132
132
|
"astro-eslint-parser": "^1.4.0",
|
|
133
|
-
"eslint": "^10.
|
|
133
|
+
"eslint": "^10.3.0",
|
|
134
134
|
"eslint-plugin-astro": "^1.7.0",
|
|
135
|
-
"eslint-plugin-better-tailwindcss": "^4.
|
|
136
|
-
"eslint-plugin-erasable-syntax-only": "^0.4.
|
|
135
|
+
"eslint-plugin-better-tailwindcss": "^4.5.0",
|
|
136
|
+
"eslint-plugin-erasable-syntax-only": "^0.4.1",
|
|
137
137
|
"eslint-plugin-format": "^2.0.1",
|
|
138
138
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
139
139
|
"eslint-plugin-react-refresh": "^0.5.2",
|
|
140
140
|
"eslint-plugin-solid": "^0.14.5",
|
|
141
|
-
"eslint-plugin-storybook": "^10.3.
|
|
142
|
-
"eslint-plugin-svelte": "^3.17.
|
|
141
|
+
"eslint-plugin-storybook": "^10.3.6",
|
|
142
|
+
"eslint-plugin-svelte": "^3.17.1",
|
|
143
143
|
"eslint-plugin-vuejs-accessibility": "^2.5.0",
|
|
144
144
|
"prettier-plugin-astro": "^0.14.1",
|
|
145
145
|
"prettier-plugin-slidev": "^1.0.5",
|