@infernodesign/eslint-config 1.3.2 → 1.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/dist/cli.js CHANGED
@@ -9,7 +9,7 @@ import parse from "parse-gitignore";
9
9
  import { execSync } from "node:child_process";
10
10
 
11
11
  //#region package.json
12
- var version = "1.3.2";
12
+ var version = "1.5.0";
13
13
 
14
14
  //#endregion
15
15
  //#region src/cli/constants.ts
@@ -173,19 +173,19 @@ async function updateEslintFiles(result) {
173
173
  //#region src/cli/constants-generated.ts
174
174
  const versionsMap = {
175
175
  "@eslint-react/eslint-plugin": "^2.2.2",
176
- "@next/eslint-plugin-next": "^15.5.5",
177
- "@unocss/eslint-plugin": "^66.5.3",
176
+ "@next/eslint-plugin-next": "^15.5.6",
177
+ "@unocss/eslint-plugin": "^66.5.4",
178
178
  "astro-eslint-parser": "^1.2.2",
179
- "eslint": "^9.37.0",
179
+ "eslint": "^9.38.0",
180
180
  "eslint-plugin-astro": "^1.3.1",
181
181
  "eslint-plugin-format": "^1.0.2",
182
182
  "eslint-plugin-react-hooks": "^7.0.0",
183
- "eslint-plugin-react-refresh": "^0.4.23",
183
+ "eslint-plugin-react-refresh": "^0.4.24",
184
184
  "eslint-plugin-solid": "^0.14.5",
185
- "eslint-plugin-svelte": "^3.12.4",
185
+ "eslint-plugin-svelte": "^3.12.5",
186
186
  "prettier-plugin-astro": "^0.14.1",
187
187
  "prettier-plugin-slidev": "^1.0.5",
188
- "svelte-eslint-parser": "^1.3.3"
188
+ "svelte-eslint-parser": "^1.4.0"
189
189
  };
190
190
 
191
191
  //#endregion
package/dist/index.d.ts CHANGED
@@ -4431,6 +4431,11 @@ interface RuleOptions {
4431
4431
  * @see https://eslint.style/rules/eol-last
4432
4432
  */
4433
4433
  'style/eol-last'?: Linter.RuleEntry<StyleEolLast>;
4434
+ /**
4435
+ * Enforce consistent spacing and line break styles inside brackets.
4436
+ * @see https://eslint.style/rules/list-style
4437
+ */
4438
+ 'style/exp-list-style'?: Linter.RuleEntry<StyleExpListStyle>;
4434
4439
  /**
4435
4440
  * Enforce line breaks between arguments of a function call
4436
4441
  * @see https://eslint.style/rules/function-call-argument-newline
@@ -13859,6 +13864,50 @@ type StyleCurlyNewline = [] | [(("always" | "never") | {
13859
13864
  type StyleDotLocation = [] | [("object" | "property")];
13860
13865
  // ----- style/eol-last -----
13861
13866
  type StyleEolLast = [] | [("always" | "never" | "unix" | "windows")];
13867
+ // ----- style/exp-list-style -----
13868
+ type StyleExpListStyle = [] | [{
13869
+ singleLine?: _StyleExpListStyle_SingleLineConfig;
13870
+ multiLine?: _StyleExpListStyle_MultiLineConfig;
13871
+ overrides?: {
13872
+ "[]"?: _StyleExpListStyle_BaseConfig;
13873
+ "{}"?: _StyleExpListStyle_BaseConfig;
13874
+ "<>"?: _StyleExpListStyle_BaseConfig;
13875
+ "()"?: _StyleExpListStyle_BaseConfig;
13876
+ ArrayExpression?: _StyleExpListStyle_BaseConfig;
13877
+ ArrayPattern?: _StyleExpListStyle_BaseConfig;
13878
+ ArrowFunctionExpression?: _StyleExpListStyle_BaseConfig;
13879
+ CallExpression?: _StyleExpListStyle_BaseConfig;
13880
+ ExportNamedDeclaration?: _StyleExpListStyle_BaseConfig;
13881
+ FunctionDeclaration?: _StyleExpListStyle_BaseConfig;
13882
+ FunctionExpression?: _StyleExpListStyle_BaseConfig;
13883
+ ImportDeclaration?: _StyleExpListStyle_BaseConfig;
13884
+ ImportAttributes?: _StyleExpListStyle_BaseConfig;
13885
+ NewExpression?: _StyleExpListStyle_BaseConfig;
13886
+ ObjectExpression?: _StyleExpListStyle_BaseConfig;
13887
+ ObjectPattern?: _StyleExpListStyle_BaseConfig;
13888
+ TSDeclareFunction?: _StyleExpListStyle_BaseConfig;
13889
+ TSFunctionType?: _StyleExpListStyle_BaseConfig;
13890
+ TSInterfaceBody?: _StyleExpListStyle_BaseConfig;
13891
+ TSEnumBody?: _StyleExpListStyle_BaseConfig;
13892
+ TSTupleType?: _StyleExpListStyle_BaseConfig;
13893
+ TSTypeLiteral?: _StyleExpListStyle_BaseConfig;
13894
+ TSTypeParameterDeclaration?: _StyleExpListStyle_BaseConfig;
13895
+ TSTypeParameterInstantiation?: _StyleExpListStyle_BaseConfig;
13896
+ JSONArrayExpression?: _StyleExpListStyle_BaseConfig;
13897
+ JSONObjectExpression?: _StyleExpListStyle_BaseConfig;
13898
+ };
13899
+ }];
13900
+ interface _StyleExpListStyle_SingleLineConfig {
13901
+ spacing?: ("always" | "never");
13902
+ maxItems?: number;
13903
+ }
13904
+ interface _StyleExpListStyle_MultiLineConfig {
13905
+ minItems?: number;
13906
+ }
13907
+ interface _StyleExpListStyle_BaseConfig {
13908
+ singleLine?: _StyleExpListStyle_SingleLineConfig;
13909
+ multiline?: _StyleExpListStyle_MultiLineConfig;
13910
+ }
13862
13911
  // ----- style/function-call-argument-newline -----
13863
13912
  type StyleFunctionCallArgumentNewline = [] | [("always" | "never" | "consistent")];
13864
13913
  // ----- style/function-call-spacing -----
@@ -13928,7 +13977,11 @@ type StyleIndent = [] | [("tab" | number)] | [("tab" | number), {
13928
13977
  ObjectExpression?: (number | ("first" | "off"));
13929
13978
  ImportDeclaration?: (number | ("first" | "off"));
13930
13979
  flatTernaryExpressions?: boolean;
13931
- offsetTernaryExpressions?: boolean;
13980
+ offsetTernaryExpressions?: (boolean | {
13981
+ CallExpression?: boolean;
13982
+ AwaitExpression?: boolean;
13983
+ NewExpression?: boolean;
13984
+ });
13932
13985
  offsetTernaryExpressionsOffsetCallExpressions?: boolean;
13933
13986
  ignoredNodes?: string[];
13934
13987
  ignoreComments?: boolean;
@@ -14729,6 +14782,7 @@ type StyleObjectCurlySpacing = [] | [("always" | "never")] | [("always" | "never
14729
14782
  TSInterfaceBody?: ("always" | "never");
14730
14783
  TSEnumBody?: ("always" | "never");
14731
14784
  };
14785
+ emptyObjects?: ("ignore" | "always" | "never");
14732
14786
  }];
14733
14787
  // ----- style/object-property-newline -----
14734
14788
  type StyleObjectPropertyNewline = [] | [{
@@ -18001,6 +18055,7 @@ interface OptionsConfig extends OptionsComponentExts, OptionsProjectType {
18001
18055
  storybook?: boolean | OptionsOverrides;
18002
18056
  stylistic?: (OptionsOverrides & StylisticConfig) | boolean;
18003
18057
  svelte?: boolean | OptionsOverrides;
18058
+ tailwindcss?: boolean | OptionsOverrides | OptionsTailwindcss;
18004
18059
  test?: boolean | OptionsOverrides;
18005
18060
  toml?: boolean | OptionsOverrides;
18006
18061
  typescript?: boolean | OptionsTypescript;
@@ -18048,6 +18103,14 @@ interface OptionsRegExp {
18048
18103
  interface OptionsStylistic {
18049
18104
  stylistic?: boolean | StylisticConfig;
18050
18105
  }
18106
+ interface OptionsTailwindcss {
18107
+ settings?: {
18108
+ tailwindcss?: {
18109
+ entryPoint?: string;
18110
+ tailwindConfig?: string;
18111
+ };
18112
+ };
18113
+ }
18051
18114
  type OptionsTypescript = (OptionsOverrides & OptionsTypeScriptParserOptions) | (OptionsOverrides & OptionsTypeScriptWithTypes);
18052
18115
  interface OptionsTypeScriptParserOptions {
18053
18116
  filesTypeAware?: string[];
@@ -18173,6 +18236,9 @@ declare function stylistic(options?: StylisticOptions): Promise<TypedFlatConfigI
18173
18236
  //#region src/configs/svelte.d.ts
18174
18237
  declare function svelte(options?: OptionsFiles & OptionsHasTypeScript & OptionsOverrides & OptionsStylistic): Promise<TypedFlatConfigItem[]>;
18175
18238
  //#endregion
18239
+ //#region src/configs/tailwindcss.d.ts
18240
+ declare function tailwindcss(options?: OptionsFiles & OptionsOverrides & OptionsTailwindcss & OptionsTypeScriptWithTypes): Promise<TypedFlatConfigItem[]>;
18241
+ //#endregion
18176
18242
  //#region src/configs/test.d.ts
18177
18243
  declare function test(options?: OptionsFiles & OptionsIsInEditor & OptionsOverrides): Promise<TypedFlatConfigItem[]>;
18178
18244
  //#endregion
@@ -18265,4 +18331,4 @@ declare function renamePluginInConfigs(configs: TypedFlatConfigItem[], map: Reco
18265
18331
  declare function renameRules(rules: Record<string, any>, map: Record<string, string>): Record<string, any>;
18266
18332
  declare function toArray<T>(value: T | T[]): T[];
18267
18333
  //#endregion
18268
- export { Awaitable, type ConfigNames, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STORYBOOK, GLOB_STYLE, GLOB_SVELTE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, OptionsComponentExts, OptionsConfig, OptionsFiles, OptionsFormatters, OptionsHasTypeScript, OptionsIsInEditor, OptionsJSX, OptionsJSXA11y, OptionsOverrides, OptionsProjectType, OptionsRegExp, OptionsStylistic, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsUnicorn, OptionsUnoCSS, OptionsVue, ResolvedOptions, Rules, StylisticConfig, StylisticConfigDefaults, StylisticOptions, TypedFlatConfigItem, astro, combine, command, comments, inferno as default, defaultPluginRenaming, disables, ensurePackages, formatters, getOverrides, ignores, imports, inferno, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, nextjs, node, packageExportsSortOrder, packageSortOrder, parserPlain, perfectionist, pnpm, react, regexp, renamePluginInConfigs, renameRules, resolveSubOptions, solid, sortPackageJson, sortTsconfig, storybook, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
18334
+ export { Awaitable, type ConfigNames, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STORYBOOK, GLOB_STYLE, GLOB_SVELTE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, OptionsComponentExts, OptionsConfig, OptionsFiles, OptionsFormatters, OptionsHasTypeScript, OptionsIsInEditor, OptionsJSX, OptionsJSXA11y, OptionsOverrides, OptionsProjectType, OptionsRegExp, OptionsStylistic, OptionsTailwindcss, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsUnicorn, OptionsUnoCSS, OptionsVue, ResolvedOptions, Rules, StylisticConfig, StylisticConfigDefaults, StylisticOptions, TypedFlatConfigItem, astro, combine, command, comments, inferno as default, inferno, defaultPluginRenaming, disables, ensurePackages, formatters, getOverrides, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, nextjs, node, packageExportsSortOrder, packageSortOrder, parserPlain, perfectionist, pnpm, react, regexp, renamePluginInConfigs, renameRules, resolveSubOptions, solid, sortPackageJson, sortTsconfig, storybook, stylistic, svelte, tailwindcss, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
package/dist/index.js CHANGED
@@ -143,7 +143,7 @@ async function interopDefault(m) {
143
143
  function isInEditorEnv() {
144
144
  if (process.env.CI) return false;
145
145
  if (isInGitHooksOrLintStaged()) return false;
146
- return !!(process.env.VSCODE_PID || process.env.VSCODE_CWD || process.env.JETBRAINS_IDE || process.env.VIM || process.env.NVIM);
146
+ return !!(process.env.VSCODE_PID || process.env.VSCODE_CWD || process.env.TERM_PROGRAM === "vscode" || process.env.TERM_PROGRAM === "cursor" || process.env.TERM_PROGRAM === "windsurf" || process.env.JETBRAINS_IDE || process.env.VIM || process.env.NVIM);
147
147
  }
148
148
  function isInGitHooksOrLintStaged() {
149
149
  return !!(process.env.GIT_PARAMS || process.env.VSCODE_GIT_COMMAND || process.env.npm_lifecycle_script?.startsWith("lint-staged"));
@@ -1838,6 +1838,45 @@ async function svelte(options = {}) {
1838
1838
  }];
1839
1839
  }
1840
1840
 
1841
+ //#endregion
1842
+ //#region src/configs/tailwindcss.ts
1843
+ async function tailwindcss(options = {}) {
1844
+ const { files = [GLOB_SRC], overrides = {} } = options;
1845
+ await ensurePackages(["eslint-plugin-better-tailwindcss"]);
1846
+ if (!isPackageExists("tailwindcss")) return [];
1847
+ const tsconfigPath = options?.tsconfigPath !== void 0 ? toArray(options.tsconfigPath) : void 0;
1848
+ const isTypeAware = !!tsconfigPath;
1849
+ const [pluginTailwindCSS, parserTs] = await Promise.all([await interopDefault(import("eslint-plugin-better-tailwindcss")), await interopDefault(import("@typescript-eslint/parser"))]);
1850
+ return [{
1851
+ languageOptions: {
1852
+ parser: parserTs,
1853
+ parserOptions: {
1854
+ ecmaFeatures: { jsx: true },
1855
+ ...isTypeAware ? {
1856
+ jsxPragma: null,
1857
+ project: tsconfigPath,
1858
+ tsconfigRootDir: process.cwd()
1859
+ } : {}
1860
+ }
1861
+ },
1862
+ name: "config/tailwindcss/setup",
1863
+ plugins: { "tailwindcss": pluginTailwindCSS },
1864
+ settings: { tailwindcss: {
1865
+ entryPoint: options.settings?.tailwindcss?.entryPoint || "src/styles/globals.css",
1866
+ tailwindConfig: options.settings?.tailwindcss?.tailwindConfig || "tailwind.config.js"
1867
+ } }
1868
+ }, {
1869
+ files,
1870
+ name: "config/tailwindcss/rules",
1871
+ rules: {
1872
+ ...pluginTailwindCSS.configs["recommended-error"]?.rules,
1873
+ "tailwindcss/enforce-consistent-line-wrapping": "off",
1874
+ "tailwindcss/no-unregistered-classes": "off",
1875
+ ...overrides
1876
+ }
1877
+ }];
1878
+ }
1879
+
1841
1880
  //#endregion
1842
1881
  //#region src/configs/test.ts
1843
1882
  let _pluginTest;
@@ -2434,7 +2473,7 @@ function getOverrides(options, key) {
2434
2473
  * The merged ESLint configurations.
2435
2474
  */
2436
2475
  function inferno(options = {}, ...userConfigs) {
2437
- const { astro: enableAstro = false, autoRenamePlugins = true, componentExts = [], gitignore: enableGitignore = true, imports: enableImports = true, jsx: enableJsx = true, nextjs: enableNextjs = false, pnpm: enableCatalogs = false, react: enableReact = false, regexp: enableRegexp = true, solid: enableSolid = false, storybook: enableStorybook = false, svelte: enableSvelte = false, typescript: enableTypeScript = isPackageExists("typescript"), unicorn: enableUnicorn = true, unocss: enableUnoCSS = false, vue: enableVue = VuePackages.some((i) => isPackageExists(i)) } = options;
2476
+ const { astro: enableAstro = false, autoRenamePlugins = true, componentExts = [], gitignore: enableGitignore = true, imports: enableImports = true, jsx: enableJsx = true, nextjs: enableNextjs = false, pnpm: enableCatalogs = false, react: enableReact = false, regexp: enableRegexp = true, solid: enableSolid = false, storybook: enableStorybook = false, svelte: enableSvelte = false, tailwindcss: enableTailwindcss = false, typescript: enableTypeScript = isPackageExists("typescript"), unicorn: enableUnicorn = true, unocss: enableUnoCSS = false, vue: enableVue = VuePackages.some((i) => isPackageExists(i)) } = options;
2438
2477
  let isInEditor = options.isInEditor;
2439
2478
  if (isInEditor == null) {
2440
2479
  isInEditor = isInEditorEnv();
@@ -2476,6 +2515,7 @@ function inferno(options = {}, ...userConfigs) {
2476
2515
  overrides: getOverrides(options, "stylistic")
2477
2516
  }));
2478
2517
  if (enableRegexp) configs$1.push(regexp(typeof enableRegexp === "boolean" ? {} : enableRegexp));
2518
+ if (enableTailwindcss) configs$1.push(tailwindcss({ overrides: getOverrides(options, "tailwindcss") }));
2479
2519
  if (options.test ?? true) configs$1.push(test({
2480
2520
  isInEditor,
2481
2521
  overrides: getOverrides(options, "test")
@@ -2555,4 +2595,4 @@ function resolveSubOptions(options, key) {
2555
2595
  var src_default = inferno;
2556
2596
 
2557
2597
  //#endregion
2558
- export { GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STORYBOOK, GLOB_STYLE, GLOB_SVELTE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, StylisticConfigDefaults, astro, combine, command, comments, src_default as default, defaultPluginRenaming, disables, ensurePackages, formatters, getOverrides, ignores, imports, inferno, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, nextjs, node, packageExportsSortOrder, packageSortOrder, parserPlain, perfectionist, pnpm, react, regexp, renamePluginInConfigs, renameRules, resolveSubOptions, solid, sortPackageJson, sortTsconfig, storybook, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
2598
+ export { GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STORYBOOK, GLOB_STYLE, GLOB_SVELTE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, StylisticConfigDefaults, astro, combine, command, comments, src_default as default, defaultPluginRenaming, disables, ensurePackages, formatters, getOverrides, ignores, imports, inferno, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, nextjs, node, packageExportsSortOrder, packageSortOrder, parserPlain, perfectionist, pnpm, react, regexp, renamePluginInConfigs, renameRules, resolveSubOptions, solid, sortPackageJson, sortTsconfig, storybook, stylistic, svelte, tailwindcss, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
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": "1.3.2",
4
+ "version": "1.5.0",
5
5
  "type": "module",
6
6
  "author": "Inferno Design <support@infernodesign.com>",
7
7
  "license": "MIT",
@@ -38,30 +38,31 @@
38
38
  "@antfu/install-pkg": "^1.1.0",
39
39
  "@clack/prompts": "^0.11.0",
40
40
  "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
41
- "@eslint/markdown": "^7.4.0",
42
- "@stylistic/eslint-plugin": "^5.4.0",
43
- "@typescript-eslint/eslint-plugin": "^8.46.1",
44
- "@typescript-eslint/parser": "^8.46.1",
45
- "@vitest/eslint-plugin": "^1.3.20",
41
+ "@eslint/markdown": "^7.4.1",
42
+ "@stylistic/eslint-plugin": "^5.5.0",
43
+ "@typescript-eslint/eslint-plugin": "^8.46.2",
44
+ "@typescript-eslint/parser": "^8.46.2",
45
+ "@vitest/eslint-plugin": "^1.3.23",
46
46
  "ansis": "^4.2.0",
47
47
  "cac": "^6.7.14",
48
48
  "eslint-config-flat-gitignore": "^2.1.0",
49
49
  "eslint-flat-config-utils": "^2.1.4",
50
50
  "eslint-merge-processors": "^2.0.0",
51
51
  "eslint-plugin-antfu": "^3.1.1",
52
+ "eslint-plugin-better-tailwindcss": "^3.7.10",
52
53
  "eslint-plugin-command": "^3.3.1",
53
54
  "eslint-plugin-import-lite": "^0.3.0",
54
- "eslint-plugin-jsdoc": "^61.1.2",
55
+ "eslint-plugin-jsdoc": "^61.1.5",
55
56
  "eslint-plugin-jsonc": "^2.21.0",
56
57
  "eslint-plugin-n": "^17.23.1",
57
58
  "eslint-plugin-no-only-tests": "^3.3.0",
58
59
  "eslint-plugin-perfectionist": "^4.15.1",
59
- "eslint-plugin-pnpm": "^1.2.0",
60
+ "eslint-plugin-pnpm": "^1.3.0",
60
61
  "eslint-plugin-regexp": "^2.10.0",
61
62
  "eslint-plugin-toml": "^0.12.0",
62
63
  "eslint-plugin-unicorn": "^61.0.2",
63
- "eslint-plugin-unused-imports": "^4.2.0",
64
- "eslint-plugin-vue": "^10.5.0",
64
+ "eslint-plugin-unused-imports": "^4.3.0",
65
+ "eslint-plugin-vue": "^10.5.1",
65
66
  "eslint-plugin-yml": "^1.19.0",
66
67
  "eslint-processor-vue-blocks": "^2.0.0",
67
68
  "globals": "^16.4.0",
@@ -75,59 +76,59 @@
75
76
  "devDependencies": {
76
77
  "@eslint-react/eslint-plugin": "^2.2.2",
77
78
  "@eslint/config-inspector": "^1.3.0",
78
- "@next/eslint-plugin-next": "^15.5.5",
79
+ "@next/eslint-plugin-next": "^15.5.6",
79
80
  "@prettier/plugin-xml": "^3.4.2",
80
81
  "@types/eslint-plugin-jsx-a11y": "^6.10.1",
81
- "@types/node": "^24.7.2",
82
- "@unocss/eslint-plugin": "^66.5.3",
82
+ "@types/node": "^24.9.1",
83
+ "@unocss/eslint-plugin": "^66.5.4",
83
84
  "astro-eslint-parser": "^1.2.2",
84
- "eslint": "^9.37.0",
85
+ "eslint": "^9.38.0",
85
86
  "eslint-plugin-astro": "^1.3.1",
86
87
  "eslint-plugin-format": "^1.0.2",
87
88
  "eslint-plugin-jsx-a11y": "^6.10.2",
88
89
  "eslint-plugin-react-hooks": "^7.0.0",
89
- "eslint-plugin-react-refresh": "^0.4.23",
90
+ "eslint-plugin-react-refresh": "^0.4.24",
90
91
  "eslint-plugin-solid": "^0.14.5",
91
- "eslint-plugin-storybook": "^9.1.10",
92
- "eslint-plugin-svelte": "^3.12.4",
92
+ "eslint-plugin-storybook": "^9.1.13",
93
+ "eslint-plugin-svelte": "^3.12.5",
93
94
  "eslint-plugin-vuejs-accessibility": "^2.4.1",
94
95
  "eslint-typegen": "^2.3.0",
95
96
  "execa": "^9.6.0",
96
97
  "jiti": "^2.6.1",
97
- "lint-staged": "^16.2.4",
98
- "pnpm-workspace-yaml": "^1.2.0",
98
+ "lint-staged": "^16.2.5",
99
+ "pnpm-workspace-yaml": "^1.3.0",
99
100
  "prettier-plugin-astro": "^0.14.1",
100
101
  "prettier-plugin-slidev": "^1.0.5",
101
102
  "simple-git-hooks": "^2.13.1",
102
- "svelte": "^5.40.0",
103
- "svelte-eslint-parser": "^1.3.3",
103
+ "svelte": "^5.41.1",
104
+ "svelte-eslint-parser": "^1.4.0",
104
105
  "tinyglobby": "^0.2.15",
105
- "tsdown": "^0.15.7",
106
+ "tsdown": "^0.15.9",
106
107
  "tsx": "^4.20.6",
107
108
  "typescript": "^5.9.3",
108
109
  "vitest": "^3.2.4",
109
110
  "vue": "^3.5.22",
110
- "@infernodesign/typescript-config": "1.1.0"
111
+ "@infernodesign/typescript-config": "1.2.0"
111
112
  },
112
113
  "peerDependencies": {
113
114
  "@eslint-react/eslint-plugin": "^2.2.2",
114
- "@next/eslint-plugin-next": "^15.5.5",
115
+ "@next/eslint-plugin-next": "^15.5.6",
115
116
  "@prettier/plugin-xml": "^3.4.2",
116
- "@unocss/eslint-plugin": "^66.5.3",
117
+ "@unocss/eslint-plugin": "^66.5.4",
117
118
  "astro-eslint-parser": "^1.2.2",
118
- "eslint": "^9.37.0",
119
+ "eslint": "^9.38.0",
119
120
  "eslint-plugin-astro": "^1.3.1",
120
121
  "eslint-plugin-format": "^1.0.2",
121
122
  "eslint-plugin-jsx-a11y": "^6.10.2",
122
123
  "eslint-plugin-react-hooks": "^7.0.0",
123
- "eslint-plugin-react-refresh": "^0.4.23",
124
+ "eslint-plugin-react-refresh": "^0.4.24",
124
125
  "eslint-plugin-solid": "^0.14.5",
125
- "eslint-plugin-storybook": "^9.1.10",
126
- "eslint-plugin-svelte": "^3.12.4",
126
+ "eslint-plugin-storybook": "^9.1.13",
127
+ "eslint-plugin-svelte": "^3.12.5",
127
128
  "eslint-plugin-vuejs-accessibility": "^2.4.1",
128
129
  "prettier-plugin-astro": "^0.14.1",
129
130
  "prettier-plugin-slidev": "^1.0.5",
130
- "svelte-eslint-parser": "^1.3.3"
131
+ "svelte-eslint-parser": "^1.4.0"
131
132
  },
132
133
  "peerDependenciesMeta": {
133
134
  "@eslint-react/eslint-plugin": {