@shayanthenerd/eslint-config 0.29.2 → 0.29.4

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 CHANGED
@@ -79,7 +79,8 @@ Legend:
79
79
  {
80
80
  "scripts": {
81
81
  "lint:inspect": "npx @eslint/config-inspector",
82
- "lint": "eslint --fix --max-warnings=0 --cache --cache-location='node_modules/.cache/.eslintcache'"
82
+ "lint:check": "eslint --max-warnings=0 --cache --cache-location='node_modules/.cache/.eslintcache'",
83
+ "lint:fix": "eslint --fix --max-warnings=0 --cache --cache-location='node_modules/.cache/.eslintcache'"
83
84
  }
84
85
  }
85
86
  ```
@@ -87,7 +88,8 @@ Legend:
87
88
  ---
88
89
 
89
90
  After installation:
90
- - Use `npm run lint` to lint and fix files.
91
+ - Use `npm run lint:fix` to lint and fix files.
92
+ - Use `npm run lint:check` to lint files without fixing them (useful for CI).
91
93
  - Use `npm run lint:inspect` to see a visual breakdown of your configuration.
92
94
  - See [IDE Support](#ide-support) for editor integration.
93
95
  - See [Customization](#customization) for advanced configuration.
@@ -645,6 +647,7 @@ _.vscode/settings.json_:
645
647
  message: string,
646
648
  value: true | string,
647
649
  })[],
650
+ templateMaxLineLength?: number,
648
651
  vForDelimiterStyle?: 'in' | 'of',
649
652
  overrides?: Overrides,
650
653
  },
@@ -222,6 +222,7 @@ const defaultOptions = {
222
222
  preferVBindTrueShorthand: "always",
223
223
  restrictedElements: [],
224
224
  restrictedStaticAttributes: [],
225
+ templateMaxLineLength: 130,
225
226
  vForDelimiterStyle: "in",
226
227
  overrides: {}
227
228
  },
@@ -7,7 +7,7 @@ import { getRestrictedVueElements } from "../helpers/vue/getRestrictedVueElement
7
7
  function getVueRules(options) {
8
8
  const { typescript, stylistic, vue, nuxt } = options.configs;
9
9
  const { indent, trailingComma, maxLineLength, maxAttributesPerLine, maxConsecutiveEmptyLines, selfCloseVoidHtmlElements } = isEnabled(stylistic) ? stylistic : defaultOptions.configs.stylistic;
10
- const { blockLang, blocksOrder, macrosOrder, attributesOrder, destructureProps, vForDelimiterStyle, attributeHyphenation, allowedStyleAttributes, preferVBindTrueShorthand, componentNameCaseInTemplate, preferVBindSameNameShorthand, restrictedElements: userRestrictedElements, ignoredUndefinedComponents: userIgnoredUndefinedComponents, restrictedStaticAttributes: userRestrictedStaticAttributes } = isEnabled(vue) ? vue : defaultOptions.configs.vue;
10
+ const { blockLang, blocksOrder, macrosOrder, attributesOrder, destructureProps, vForDelimiterStyle, attributeHyphenation, templateMaxLineLength, allowedStyleAttributes, preferVBindTrueShorthand, componentNameCaseInTemplate, preferVBindSameNameShorthand, restrictedElements: userRestrictedElements, ignoredUndefinedComponents: userIgnoredUndefinedComponents, restrictedStaticAttributes: userRestrictedStaticAttributes } = isEnabled(vue) ? vue : defaultOptions.configs.vue;
11
11
  const { imageComponents: userImageComponents, anchorComponents: userAnchorComponents, accessibleChildComponents: userAccessibleChildComponents } = isEnabled(vue) && isEnabled(vue.accessibility) ? vue.accessibility : defaultOptions.configs.vue.accessibility;
12
12
  const isNuxtEnabled = isEnabled(nuxt);
13
13
  const isNuxtImageEnabled = isNuxtEnabled ? nuxt.image : void 0;
@@ -207,7 +207,8 @@ function getVueRules(options) {
207
207
  "vue/max-len": ["warn", {
208
208
  tabWidth: indent,
209
209
  code: maxLineLength,
210
- template: Infinity,
210
+ template: templateMaxLineLength,
211
+ comments: templateMaxLineLength,
211
212
  ignoreUrls: true,
212
213
  ignoreStrings: true,
213
214
  ignoreComments: true,
@@ -59,7 +59,9 @@ interface StylisticOptions extends ConfigWithOverrides<ConfigRules> {
59
59
  */
60
60
  maxConsecutiveEmptyLines?: RuleOptions<'@stylistic/no-multiple-empty-lines'>['max'];
61
61
  /**
62
- * Maximum line length for the code. Strings, texts, and comments are ignored.
62
+ * Maximum line length for the code.
63
+ *
64
+ * Strings, texts, and comments are ignored.
63
65
  *
64
66
  * This is used by
65
67
  * - [vue/max-len](https://eslint.vuejs.org/rules/max-len)
@@ -206,6 +206,14 @@ interface VueOptions extends ConfigWithOverrides<ConfigRules> {
206
206
  * @see [vue/no-restricted-static-attribute](https://eslint.vuejs.org/rules/no-restricted-static-attribute)
207
207
  */
208
208
  restrictedStaticAttributes?: RuleOptions<'vue/no-restricted-static-attribute'>[];
209
+ /**
210
+ * Maximum line length for `<template>` blocks (including comments).
211
+ *
212
+ * @default 130
213
+ *
214
+ * @see [vue/max-len: `template` option](https://eslint.vuejs.org/rules/max-len.html#options)
215
+ */
216
+ templateMaxLineLength?: Exclude<RuleOptions<'vue/max-len'>, number>['template'];
209
217
  /**
210
218
  * The delimiter used in `v-for` directives.
211
219
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shayanthenerd/eslint-config",
3
- "version": "0.29.2",
3
+ "version": "0.29.4",
4
4
  "description": "A modern, flexible ESLint configuration for enforcing best practices and maintaining a consistent coding style",
5
5
  "keywords": [
6
6
  "eslint",
@@ -49,41 +49,41 @@
49
49
  "{**/*.ts,package.json}": "pnpm lint"
50
50
  },
51
51
  "dependencies": {
52
- "@eslint-react/eslint-plugin": "5.18.3",
52
+ "@eslint-react/eslint-plugin": "5.18.6",
53
53
  "@eslint/css": "1.4.0",
54
54
  "@eslint/markdown": "8.0.3",
55
55
  "@html-eslint/eslint-plugin": "0.64.0",
56
56
  "@html-eslint/eslint-plugin-react": "0.64.0",
57
- "@next/eslint-plugin-next": "16.3.0",
57
+ "@next/eslint-plugin-next": "16.3.1",
58
58
  "@nuxt/eslint-plugin": "1.17.0",
59
59
  "@stylistic/eslint-plugin": "5.10.0",
60
60
  "@vitest/eslint-plugin": "1.6.27",
61
- "astro-eslint-parser": "3.0.0",
61
+ "astro-eslint-parser": "3.1.0",
62
62
  "defu": "6.1.7",
63
63
  "eslint-flat-config-utils": "3.2.0",
64
64
  "eslint-import-resolver-typescript": "4.4.5",
65
65
  "eslint-plugin-astro": "3.1.0",
66
- "eslint-plugin-baseline-js": "0.7.0",
66
+ "eslint-plugin-baseline-js": "0.7.1",
67
67
  "eslint-plugin-better-tailwindcss": "4.7.0",
68
68
  "eslint-plugin-cypress": "7.0.0",
69
69
  "eslint-plugin-import-x": "4.17.1",
70
70
  "eslint-plugin-jsx-a11y": "6.10.2",
71
71
  "eslint-plugin-n": "18.3.0",
72
- "eslint-plugin-package-json": "1.7.0",
72
+ "eslint-plugin-package-json": "1.7.1",
73
73
  "eslint-plugin-perfectionist": "5.10.1",
74
74
  "eslint-plugin-playwright": "2.11.0",
75
75
  "eslint-plugin-promise": "7.3.0",
76
- "eslint-plugin-storybook": "10.5.7",
76
+ "eslint-plugin-storybook": "10.5.8",
77
77
  "eslint-plugin-unicorn": "73.0.0",
78
78
  "eslint-plugin-vue": "10.10.0",
79
79
  "eslint-plugin-vuejs-accessibility": "2.6.0",
80
80
  "eslint-plugin-zod": "4.9.1",
81
81
  "eslint-plugin-zod-mini": "1.6.1",
82
- "globals": "17.9.0",
82
+ "globals": "17.11.0",
83
83
  "local-pkg": "1.2.1",
84
84
  "nuxt-link-checker": "5.1.3",
85
85
  "tailwind-csstree": "0.3.3",
86
- "typescript-eslint": "8.66.0"
86
+ "typescript-eslint": "8.67.0"
87
87
  },
88
88
  "devDependencies": {
89
89
  "@arethetypeswrong/cli": "0.18.5",
@@ -111,7 +111,7 @@
111
111
  "devEngines": {
112
112
  "packageManager": {
113
113
  "name": "pnpm",
114
- "version": "11.20.0",
114
+ "version": "11.21.0",
115
115
  "onFail": "warn"
116
116
  },
117
117
  "runtime": {