@infernodesign/eslint-config 1.3.2 → 1.4.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.4.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 = [] | [{
@@ -18265,4 +18319,4 @@ declare function renamePluginInConfigs(configs: TypedFlatConfigItem[], map: Reco
18265
18319
  declare function renameRules(rules: Record<string, any>, map: Record<string, string>): Record<string, any>;
18266
18320
  declare function toArray<T>(value: T | T[]): T[];
18267
18321
  //#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 };
18322
+ 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, 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, 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"));
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.4.0",
5
5
  "type": "module",
6
6
  "author": "Inferno Design <support@infernodesign.com>",
7
7
  "license": "MIT",
@@ -38,11 +38,11 @@
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",
@@ -51,17 +51,17 @@
51
51
  "eslint-plugin-antfu": "^3.1.1",
52
52
  "eslint-plugin-command": "^3.3.1",
53
53
  "eslint-plugin-import-lite": "^0.3.0",
54
- "eslint-plugin-jsdoc": "^61.1.2",
54
+ "eslint-plugin-jsdoc": "^61.1.5",
55
55
  "eslint-plugin-jsonc": "^2.21.0",
56
56
  "eslint-plugin-n": "^17.23.1",
57
57
  "eslint-plugin-no-only-tests": "^3.3.0",
58
58
  "eslint-plugin-perfectionist": "^4.15.1",
59
- "eslint-plugin-pnpm": "^1.2.0",
59
+ "eslint-plugin-pnpm": "^1.3.0",
60
60
  "eslint-plugin-regexp": "^2.10.0",
61
61
  "eslint-plugin-toml": "^0.12.0",
62
62
  "eslint-plugin-unicorn": "^61.0.2",
63
- "eslint-plugin-unused-imports": "^4.2.0",
64
- "eslint-plugin-vue": "^10.5.0",
63
+ "eslint-plugin-unused-imports": "^4.3.0",
64
+ "eslint-plugin-vue": "^10.5.1",
65
65
  "eslint-plugin-yml": "^1.19.0",
66
66
  "eslint-processor-vue-blocks": "^2.0.0",
67
67
  "globals": "^16.4.0",
@@ -75,59 +75,59 @@
75
75
  "devDependencies": {
76
76
  "@eslint-react/eslint-plugin": "^2.2.2",
77
77
  "@eslint/config-inspector": "^1.3.0",
78
- "@next/eslint-plugin-next": "^15.5.5",
78
+ "@next/eslint-plugin-next": "^15.5.6",
79
79
  "@prettier/plugin-xml": "^3.4.2",
80
80
  "@types/eslint-plugin-jsx-a11y": "^6.10.1",
81
- "@types/node": "^24.7.2",
82
- "@unocss/eslint-plugin": "^66.5.3",
81
+ "@types/node": "^24.9.1",
82
+ "@unocss/eslint-plugin": "^66.5.4",
83
83
  "astro-eslint-parser": "^1.2.2",
84
- "eslint": "^9.37.0",
84
+ "eslint": "^9.38.0",
85
85
  "eslint-plugin-astro": "^1.3.1",
86
86
  "eslint-plugin-format": "^1.0.2",
87
87
  "eslint-plugin-jsx-a11y": "^6.10.2",
88
88
  "eslint-plugin-react-hooks": "^7.0.0",
89
- "eslint-plugin-react-refresh": "^0.4.23",
89
+ "eslint-plugin-react-refresh": "^0.4.24",
90
90
  "eslint-plugin-solid": "^0.14.5",
91
- "eslint-plugin-storybook": "^9.1.10",
92
- "eslint-plugin-svelte": "^3.12.4",
91
+ "eslint-plugin-storybook": "^9.1.13",
92
+ "eslint-plugin-svelte": "^3.12.5",
93
93
  "eslint-plugin-vuejs-accessibility": "^2.4.1",
94
94
  "eslint-typegen": "^2.3.0",
95
95
  "execa": "^9.6.0",
96
96
  "jiti": "^2.6.1",
97
- "lint-staged": "^16.2.4",
98
- "pnpm-workspace-yaml": "^1.2.0",
97
+ "lint-staged": "^16.2.5",
98
+ "pnpm-workspace-yaml": "^1.3.0",
99
99
  "prettier-plugin-astro": "^0.14.1",
100
100
  "prettier-plugin-slidev": "^1.0.5",
101
101
  "simple-git-hooks": "^2.13.1",
102
- "svelte": "^5.40.0",
103
- "svelte-eslint-parser": "^1.3.3",
102
+ "svelte": "^5.41.1",
103
+ "svelte-eslint-parser": "^1.4.0",
104
104
  "tinyglobby": "^0.2.15",
105
- "tsdown": "^0.15.7",
105
+ "tsdown": "^0.15.9",
106
106
  "tsx": "^4.20.6",
107
107
  "typescript": "^5.9.3",
108
108
  "vitest": "^3.2.4",
109
109
  "vue": "^3.5.22",
110
- "@infernodesign/typescript-config": "1.1.0"
110
+ "@infernodesign/typescript-config": "1.2.0"
111
111
  },
112
112
  "peerDependencies": {
113
113
  "@eslint-react/eslint-plugin": "^2.2.2",
114
- "@next/eslint-plugin-next": "^15.5.5",
114
+ "@next/eslint-plugin-next": "^15.5.6",
115
115
  "@prettier/plugin-xml": "^3.4.2",
116
- "@unocss/eslint-plugin": "^66.5.3",
116
+ "@unocss/eslint-plugin": "^66.5.4",
117
117
  "astro-eslint-parser": "^1.2.2",
118
- "eslint": "^9.37.0",
118
+ "eslint": "^9.38.0",
119
119
  "eslint-plugin-astro": "^1.3.1",
120
120
  "eslint-plugin-format": "^1.0.2",
121
121
  "eslint-plugin-jsx-a11y": "^6.10.2",
122
122
  "eslint-plugin-react-hooks": "^7.0.0",
123
- "eslint-plugin-react-refresh": "^0.4.23",
123
+ "eslint-plugin-react-refresh": "^0.4.24",
124
124
  "eslint-plugin-solid": "^0.14.5",
125
- "eslint-plugin-storybook": "^9.1.10",
126
- "eslint-plugin-svelte": "^3.12.4",
125
+ "eslint-plugin-storybook": "^9.1.13",
126
+ "eslint-plugin-svelte": "^3.12.5",
127
127
  "eslint-plugin-vuejs-accessibility": "^2.4.1",
128
128
  "prettier-plugin-astro": "^0.14.1",
129
129
  "prettier-plugin-slidev": "^1.0.5",
130
- "svelte-eslint-parser": "^1.3.3"
130
+ "svelte-eslint-parser": "^1.4.0"
131
131
  },
132
132
  "peerDependenciesMeta": {
133
133
  "@eslint-react/eslint-plugin": {