@shayanthenerd/eslint-config 0.35.0 → 0.37.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.
Files changed (84) hide show
  1. package/README.md +1 -2
  2. package/dist/configs/astro.mjs +2 -3
  3. package/dist/configs/baseline.mjs +2 -3
  4. package/dist/configs/css.mjs +2 -3
  5. package/dist/configs/cypress.mjs +2 -3
  6. package/dist/configs/html.mjs +2 -3
  7. package/dist/configs/importX.mjs +2 -3
  8. package/dist/configs/javascript.mjs +2 -3
  9. package/dist/configs/markdown.mjs +2 -3
  10. package/dist/configs/next.mjs +2 -3
  11. package/dist/configs/node.mjs +2 -3
  12. package/dist/configs/nuxt.mjs +2 -3
  13. package/dist/configs/packageJson.mjs +2 -3
  14. package/dist/configs/perfectionist.mjs +2 -3
  15. package/dist/configs/playwright.mjs +2 -3
  16. package/dist/configs/promise.mjs +2 -3
  17. package/dist/configs/react.mjs +2 -3
  18. package/dist/configs/storybook.mjs +2 -3
  19. package/dist/configs/stylistic.mjs +2 -3
  20. package/dist/configs/tailwind.mjs +2 -3
  21. package/dist/configs/tanstack.mjs +2 -3
  22. package/dist/configs/typescript.mjs +2 -3
  23. package/dist/configs/unicorn.mjs +2 -3
  24. package/dist/configs/vitest.mjs +2 -3
  25. package/dist/configs/vue.mjs +2 -3
  26. package/dist/configs/zod.mjs +2 -3
  27. package/dist/helpers/globs.mjs +1 -2
  28. package/dist/helpers/ignores/defaultIgnorePatterns.mjs +1 -2
  29. package/dist/helpers/ignores/getIgnorePatterns.mjs +1 -2
  30. package/dist/helpers/ignores/resolveGitignorePatterns.mjs +1 -2
  31. package/dist/helpers/isPackageDetected.mjs +1 -2
  32. package/dist/helpers/options/defaultOptions.mjs +1 -2
  33. package/dist/helpers/options/enableDetectedConfigs.mjs +2 -3
  34. package/dist/helpers/options/mergeWithDefaults.mjs +1 -2
  35. package/dist/helpers/vue/getRestrictedVueElements.mjs +1 -2
  36. package/dist/helpers/vue/getRestrictedVueInputs.mjs +1 -2
  37. package/dist/index.d.mts +0 -2
  38. package/dist/index.mjs +3 -4
  39. package/dist/prettier.config.d.mts +0 -2
  40. package/dist/prettier.config.mjs +1 -2
  41. package/dist/rules/astro.mjs +1 -2
  42. package/dist/rules/baseline.mjs +1 -2
  43. package/dist/rules/css.mjs +5 -2
  44. package/dist/rules/cypress.mjs +1 -2
  45. package/dist/rules/html.mjs +1 -2
  46. package/dist/rules/importX.mjs +1 -2
  47. package/dist/rules/javascript.mjs +1 -2
  48. package/dist/rules/markdown.mjs +1 -2
  49. package/dist/rules/next.mjs +1 -2
  50. package/dist/rules/node.mjs +1 -2
  51. package/dist/rules/nuxt.mjs +1 -2
  52. package/dist/rules/packageJson.mjs +44 -7
  53. package/dist/rules/perfectionist.mjs +1 -2
  54. package/dist/rules/playwright.mjs +1 -2
  55. package/dist/rules/promise.mjs +1 -2
  56. package/dist/rules/react.mjs +1 -2
  57. package/dist/rules/storybook.mjs +1 -2
  58. package/dist/rules/stylistic.mjs +1 -2
  59. package/dist/rules/tailwind.mjs +1 -2
  60. package/dist/rules/tanstack.mjs +1 -2
  61. package/dist/rules/typescript.mjs +2 -3
  62. package/dist/rules/unicorn.mjs +1 -2
  63. package/dist/rules/vitest.mjs +1 -2
  64. package/dist/rules/vue.mjs +6 -4
  65. package/dist/rules/zod.mjs +1 -2
  66. package/dist/types/eslint-schema.d.mts +878 -495
  67. package/dist/types/eslintRules.d.mts +0 -2
  68. package/dist/types/helpers.d.mts +0 -2
  69. package/dist/types/index.d.mts +0 -2
  70. package/dist/types/options/baseline.d.mts +0 -2
  71. package/dist/types/options/markdown.d.mts +0 -2
  72. package/dist/types/options/nuxt.d.mts +0 -2
  73. package/dist/types/options/react.d.mts +0 -2
  74. package/dist/types/options/stylistic.d.mts +0 -2
  75. package/dist/types/options/tailwind.d.mts +0 -2
  76. package/dist/types/options/tanstack.d.mts +0 -2
  77. package/dist/types/options/test.d.mts +0 -2
  78. package/dist/types/options/typescript.d.mts +0 -2
  79. package/dist/types/options/vue.d.mts +0 -2
  80. package/dist/types/options/zod.d.mts +0 -2
  81. package/dist/utils/isEmptyString.mjs +1 -2
  82. package/dist/utils/isEnabled.mjs +1 -2
  83. package/dist/utils/isTruthy.mjs +1 -2
  84. package/package.json +31 -31
@@ -2,7 +2,7 @@ import { defaultOptions } from "./defaultOptions.mjs";
2
2
  import { enableDetectedConfigs } from "./enableDetectedConfigs.mjs";
3
3
  import { isEmptyString } from "../../utils/isEmptyString.mjs";
4
4
  import { createDefu } from "defu";
5
- //#region src/helpers/options/mergeWithDefaults.ts
5
+ // src/helpers/options/mergeWithDefaults.ts
6
6
  const mergeOptions = createDefu((object, key, value) => {
7
7
  if ([
8
8
  "allowedRelativeFontUnits",
@@ -21,5 +21,4 @@ function mergeWithDefaults(options) {
21
21
  const optionsWithDetectedConfigs = enableDetectedConfigs(options);
22
22
  return mergeOptions(optionsWithDetectedConfigs, defaultOptions);
23
23
  }
24
- //#endregion
25
24
  export { mergeWithDefaults };
@@ -1,4 +1,4 @@
1
- //#region src/helpers/vue/getRestrictedVueElements.ts
1
+ // src/helpers/vue/getRestrictedVueElements.ts
2
2
  const alternativeComponentPairs = Object.entries({
3
3
  kbd: "Kbd",
4
4
  form: "Form",
@@ -21,5 +21,4 @@ function getRestrictedVueElements(prefix) {
21
21
  });
22
22
  return restrictedElements;
23
23
  }
24
- //#endregion
25
24
  export { getRestrictedVueElements };
@@ -1,4 +1,4 @@
1
- //#region src/helpers/vue/getRestrictedVueInputs.ts
1
+ // src/helpers/vue/getRestrictedVueInputs.ts
2
2
  const alternativeComponentPairs = Object.entries({
3
3
  range: "Slider",
4
4
  date: "Calendar",
@@ -17,5 +17,4 @@ function getRestrictedVueInputs(prefix) {
17
17
  });
18
18
  return restrictedInputs;
19
19
  }
20
- //#endregion
21
20
  export { getRestrictedVueInputs };
package/dist/index.d.mts CHANGED
@@ -1,6 +1,5 @@
1
1
  import { Options } from "./types/index.mjs";
2
2
  import { Linter } from "eslint";
3
- //#region src/index.d.ts
4
3
  /**
5
4
  * Define your ESLint configuration based on the provided options and/or custom Flat Config Objects.
6
5
  *
@@ -39,5 +38,4 @@ declare function defineConfig(): Linter.Config[];
39
38
  declare function defineConfig(options: Options): Linter.Config[];
40
39
  declare function defineConfig(configs: Linter.Config[]): Linter.Config[];
41
40
  declare function defineConfig(options: Options, configs: Linter.Config[]): Linter.Config[];
42
- //#endregion
43
41
  export { defineConfig };
package/dist/index.mjs CHANGED
@@ -1,6 +1,4 @@
1
- import { isEnabled } from "./utils/isEnabled.mjs";
2
1
  import { getAstroConfig } from "./configs/astro.mjs";
3
- import { isTruthy } from "./utils/isTruthy.mjs";
4
2
  import { getBaselineConfig } from "./configs/baseline.mjs";
5
3
  import { getCssConfig } from "./configs/css.mjs";
6
4
  import { getCypressConfig } from "./configs/cypress.mjs";
@@ -27,8 +25,10 @@ import { getVueConfig } from "./configs/vue.mjs";
27
25
  import { getZodConfig } from "./configs/zod.mjs";
28
26
  import { getIgnorePatterns } from "./helpers/ignores/getIgnorePatterns.mjs";
29
27
  import { mergeWithDefaults } from "./helpers/options/mergeWithDefaults.mjs";
28
+ import { isEnabled } from "./utils/isEnabled.mjs";
29
+ import { isTruthy } from "./utils/isTruthy.mjs";
30
30
  import { defineConfig as defineConfig$1, globalIgnores } from "eslint/config";
31
- //#region src/index.ts
31
+ // src/index.ts
32
32
  function defineConfig(...args) {
33
33
  let options = {};
34
34
  let userConfigs = [];
@@ -81,5 +81,4 @@ function defineConfig(...args) {
81
81
  ].filter(isTruthy);
82
82
  return defineConfig$1(configObjects);
83
83
  }
84
- //#endregion
85
84
  export { defineConfig };
@@ -1,5 +1,3 @@
1
1
  import { Config } from "prettier";
2
- //#region src/prettier.config.d.ts
3
2
  declare const prettierConfig: Config;
4
- //#endregion
5
3
  export { prettierConfig as default };
@@ -1,4 +1,4 @@
1
- //#region src/prettier.config.ts
1
+ // src/prettier.config.ts
2
2
  const prettierConfig = {
3
3
  arrowParens: "always",
4
4
  bracketSameLine: false,
@@ -32,5 +32,4 @@ const prettierConfig = {
32
32
  options: { parser: "html" }
33
33
  }]
34
34
  };
35
- //#endregion
36
35
  export { prettierConfig as default };
@@ -1,6 +1,6 @@
1
1
  import { defaultOptions } from "../helpers/options/defaultOptions.mjs";
2
2
  import { isEnabled } from "../utils/isEnabled.mjs";
3
- //#region src/rules/astro.ts
3
+ // src/rules/astro.ts
4
4
  function getAstroRules(options) {
5
5
  const { astro, importX, stylistic } = options.configs;
6
6
  const { semi } = isEnabled(stylistic) ? stylistic : defaultOptions.configs.stylistic;
@@ -66,5 +66,4 @@ function getAstroRules(options) {
66
66
  if (isEnabled(stylistic)) astroRules["@stylistic/jsx-one-expression-per-line"] = "off";
67
67
  return astroRules;
68
68
  }
69
- //#endregion
70
69
  export { getAstroRules };
@@ -1,6 +1,6 @@
1
1
  import { defaultOptions } from "../helpers/options/defaultOptions.mjs";
2
2
  import { isEnabled } from "../utils/isEnabled.mjs";
3
- //#region src/rules/baseline.ts
3
+ // src/rules/baseline.ts
4
4
  function getBaselineRules(options) {
5
5
  const baselineOption = options.configs.baseline;
6
6
  const { baseline, javascript: { ignoredFeatures: userIgnoredFeatures, ignoredNodeTypes: userIgnoredNodeTypes } } = isEnabled(baselineOption) ? baselineOption : defaultOptions.configs.baseline;
@@ -19,5 +19,4 @@ function getBaselineRules(options) {
19
19
  }]
20
20
  };
21
21
  }
22
- //#endregion
23
22
  export { getBaselineRules };
@@ -1,6 +1,6 @@
1
1
  import { defaultOptions } from "../helpers/options/defaultOptions.mjs";
2
2
  import { isEnabled } from "../utils/isEnabled.mjs";
3
- //#region src/rules/css.ts
3
+ // src/rules/css.ts
4
4
  const allowedPhysicalUnits = [
5
5
  "cqh",
6
6
  "cqw",
@@ -115,6 +115,7 @@ function getCssRules(options) {
115
115
  "cssicorn/no-layout-animations": "warn",
116
116
  "cssicorn/no-nesting-with-mixed-specificity": "warn",
117
117
  "cssicorn/no-overflow-axis-coercion": "error",
118
+ "cssicorn/no-overridden-animation-properties": "error",
118
119
  "cssicorn/no-redundant-functions": "warn",
119
120
  "cssicorn/no-redundant-nested-style-rules": "warn",
120
121
  "cssicorn/no-redundant-nesting-selector": "warn",
@@ -123,6 +124,7 @@ function getCssRules(options) {
123
124
  "cssicorn/no-unknown-animations": "error",
124
125
  "cssicorn/no-unknown-annotations": "error",
125
126
  "cssicorn/no-unknown-pseudo-selectors": ["error", { allow: userAllowedUnknownPseudoSelectors }],
127
+ "cssicorn/no-unknown-type-selectors": "error",
126
128
  "cssicorn/no-unscoped-nesting-selector": isEnabled(tailwind) ? "error" : ["error", { scopingRootAtRules: [] }],
127
129
  "cssicorn/no-useless-is": "warn",
128
130
  "cssicorn/no-zero-length-unit": "warn",
@@ -132,13 +134,14 @@ function getCssRules(options) {
132
134
  "cssicorn/prefer-explicit-viewport-units": "warn",
133
135
  "cssicorn/prefer-individual-transform-properties": "warn",
134
136
  "cssicorn/prefer-light-dark": "warn",
137
+ "cssicorn/prefer-longhand-overrides": "warn",
135
138
  "cssicorn/prefer-media-feature-range-syntax": "warn",
136
139
  "cssicorn/prefer-merged-rules": "warn",
137
140
  "cssicorn/prefer-modern-syntax": "warn",
138
141
  "cssicorn/prefer-nesting": "warn",
139
142
  "cssicorn/prefer-relative-colors": "warn",
143
+ "cssicorn/prefer-subgrid": "warn",
140
144
  "cssicorn/require-property-descriptors": "error"
141
145
  };
142
146
  }
143
- //#endregion
144
147
  export { getCssRules };
@@ -1,4 +1,4 @@
1
- //#region src/rules/cypress.ts
1
+ // src/rules/cypress.ts
2
2
  const cypressRules = {
3
3
  "cypress/no-and": "warn",
4
4
  "cypress/no-assigning-return-values": "error",
@@ -14,5 +14,4 @@ const cypressRules = {
14
14
  function getCypressRules() {
15
15
  return cypressRules;
16
16
  }
17
- //#endregion
18
17
  export { getCypressRules };
@@ -1,6 +1,6 @@
1
1
  import { defaultOptions } from "../helpers/options/defaultOptions.mjs";
2
2
  import { isEnabled } from "../utils/isEnabled.mjs";
3
- //#region src/rules/html.ts
3
+ // src/rules/html.ts
4
4
  function getHtmlRules(options) {
5
5
  const { html, unicorn, tailwind, stylistic, baseline } = options.configs;
6
6
  const { idNamingConvention } = isEnabled(html) ? html : defaultOptions.configs.html;
@@ -91,5 +91,4 @@ function getHtmlRules(options) {
91
91
  if (isEnabled(tailwind)) htmlRules["better-tailwindcss/no-duplicate-classes"] = "off";
92
92
  return htmlRules;
93
93
  }
94
- //#endregion
95
94
  export { getHtmlRules };
@@ -1,6 +1,6 @@
1
1
  import { isEnabled } from "../utils/isEnabled.mjs";
2
2
  import path from "node:path";
3
- //#region src/rules/importX.ts
3
+ // src/rules/importX.ts
4
4
  function getImportXRules(options) {
5
5
  const { packageDir, configs: { unicorn, typescript } } = options;
6
6
  const isTypescriptEnabled = isEnabled(typescript);
@@ -36,5 +36,4 @@ function getImportXRules(options) {
36
36
  "import-x/no-named-default": "error"
37
37
  };
38
38
  }
39
- //#endregion
40
39
  export { getImportXRules };
@@ -1,5 +1,5 @@
1
1
  import { isEnabled } from "../utils/isEnabled.mjs";
2
- //#region src/rules/javascript.ts
2
+ // src/rules/javascript.ts
3
3
  function getJavaScriptRules(options) {
4
4
  const { importX, unicorn, typescript, javascript: { maxDepth, maxNestedCallbacks } } = options.configs;
5
5
  const isImportXEnabled = isEnabled(importX);
@@ -226,5 +226,4 @@ function getJavaScriptRules(options) {
226
226
  "yoda": "warn"
227
227
  };
228
228
  }
229
- //#endregion
230
229
  export { getJavaScriptRules };
@@ -1,6 +1,6 @@
1
1
  import { defaultOptions } from "../helpers/options/defaultOptions.mjs";
2
2
  import { isEnabled } from "../utils/isEnabled.mjs";
3
- //#region src/rules/markdown.ts
3
+ // src/rules/markdown.ts
4
4
  function getMarkdownRules(options) {
5
5
  const { unicorn, markdown } = options.configs;
6
6
  const { language, allowedHtmlTags: userAllowedHtmlTags } = isEnabled(markdown) ? markdown : defaultOptions.configs.markdown;
@@ -56,5 +56,4 @@ function getMarkdownRules(options) {
56
56
  if (isEnabled(unicorn)) Object.assign(markdownRules, unicornRules);
57
57
  return markdownRules;
58
58
  }
59
- //#endregion
60
59
  export { getMarkdownRules };
@@ -1,4 +1,4 @@
1
- //#region src/rules/next.ts
1
+ // src/rules/next.ts
2
2
  const nextRules = {
3
3
  "next/google-font-display": "warn",
4
4
  "next/google-font-preconnect": "warn",
@@ -26,5 +26,4 @@ const nextRules = {
26
26
  function getNextRules() {
27
27
  return nextRules;
28
28
  }
29
- //#endregion
30
29
  export { getNextRules };
@@ -1,5 +1,5 @@
1
1
  import { isEnabled } from "../utils/isEnabled.mjs";
2
- //#region src/rules/node.ts
2
+ // src/rules/node.ts
3
3
  function getNodeRules(options) {
4
4
  const { typescript } = options.configs;
5
5
  return {
@@ -33,5 +33,4 @@ function getNodeRules(options) {
33
33
  "n/process-exit-as-throw": "error"
34
34
  };
35
35
  }
36
- //#endregion
37
36
  export { getNodeRules };
@@ -1,4 +1,4 @@
1
- //#region src/rules/nuxt.ts
1
+ // src/rules/nuxt.ts
2
2
  const nuxtRules = {
3
3
  "link-checker/valid-route": "error",
4
4
  "link-checker/valid-sitemap-link": "warn",
@@ -8,5 +8,4 @@ const nuxtRules = {
8
8
  function getNuxtRules() {
9
9
  return nuxtRules;
10
10
  }
11
- //#endregion
12
11
  export { getNuxtRules };
@@ -1,10 +1,6 @@
1
1
  import { defaultOptions } from "../helpers/options/defaultOptions.mjs";
2
2
  import { isEnabled } from "../utils/isEnabled.mjs";
3
- //#region src/rules/packageJson.ts
4
- /**
5
- Using a wildcard to target all objects within an array isn't supported yet.
6
- @see https://github.com/michaelfaith/eslint-plugin-package-json/issues/1967
7
- */
3
+ // src/rules/packageJson.ts
8
4
  const collectionSortPatterns = [
9
5
  {
10
6
  key: "author",
@@ -19,8 +15,24 @@ const collectionSortPatterns = [
19
15
  order: ["email", "url"]
20
16
  },
21
17
  "config",
18
+ {
19
+ key: "contributors.*",
20
+ order: [
21
+ "name",
22
+ "email",
23
+ "url"
24
+ ]
25
+ },
22
26
  "dependencies",
23
27
  "devEngines",
28
+ {
29
+ key: "devEngines.*",
30
+ order: [
31
+ "name",
32
+ "version",
33
+ "onFail"
34
+ ]
35
+ },
24
36
  "devDependencies",
25
37
  "directories",
26
38
  {
@@ -29,9 +41,25 @@ const collectionSortPatterns = [
29
41
  },
30
42
  "engines",
31
43
  "exports",
44
+ {
45
+ key: "funding.*",
46
+ order: ["type", "url"]
47
+ },
32
48
  "husky",
33
49
  "husky.hooks",
50
+ {
51
+ key: "licenses.*",
52
+ order: ["type", "url"]
53
+ },
34
54
  "lint-staged",
55
+ {
56
+ key: "maintainers.*",
57
+ order: [
58
+ "name",
59
+ "email",
60
+ "url"
61
+ ]
62
+ },
35
63
  "nano-staged",
36
64
  "optionalDependencies",
37
65
  "overrides",
@@ -46,13 +74,22 @@ const collectionSortPatterns = [
46
74
  ]
47
75
  },
48
76
  "release",
49
- "simple-git-hooks"
77
+ "simple-git-hooks",
78
+ {
79
+ key: "workspaces.*",
80
+ order: ["packages", "nohoist"]
81
+ }
50
82
  ];
51
83
  function getPackageJsonRules(options) {
52
84
  const { packageJson } = options.configs;
53
85
  const { allowedDistTags: userUseAllowedDistTags, allowedDistTagsFor: userUseAllowedDistTagsFor } = isEnabled(packageJson) ? packageJson : defaultOptions.configs.packageJson;
54
86
  return {
55
87
  "package-json/bin-name-casing": "warn",
88
+ "package-json/consistent-package-manager-declaration": "warn",
89
+ "package-json/consistent-property-aliases": ["warn", { prefer: {
90
+ license: "license",
91
+ bundleDependencies: "bundledDependencies"
92
+ } }],
56
93
  "package-json/exports-subpaths-style": ["warn", { prefer: "implicit" }],
57
94
  "package-json/no-empty-fields": "error",
58
95
  "package-json/no-local-dependencies": "error",
@@ -61,6 +98,7 @@ function getPackageJsonRules(options) {
61
98
  "package-json/order-properties": "warn",
62
99
  "package-json/repository-shorthand": "warn",
63
100
  "package-json/require-attribution": "warn",
101
+ "package-json/require-override-restrictions": "error",
64
102
  "package-json/require-package-json-export": "error",
65
103
  "package-json/require-bugs": "warn",
66
104
  "package-json/require-description": ["warn", { ignorePrivate: true }],
@@ -166,5 +204,4 @@ function getPackageJsonRules(options) {
166
204
  "package-json/valid-workspaces": "error"
167
205
  };
168
206
  }
169
- //#endregion
170
207
  export { getPackageJsonRules };
@@ -1,6 +1,6 @@
1
1
  import { defaultOptions } from "../helpers/options/defaultOptions.mjs";
2
2
  import { isEnabled } from "../utils/isEnabled.mjs";
3
- //#region src/rules/perfectionist.ts
3
+ // src/rules/perfectionist.ts
4
4
  const literalCustomGroups = [
5
5
  {
6
6
  groupName: "template-literal",
@@ -162,5 +162,4 @@ function getPerfectionistRules(options) {
162
162
  }]
163
163
  };
164
164
  }
165
- //#endregion
166
165
  export { getPerfectionistRules };
@@ -1,4 +1,4 @@
1
- //#region src/rules/playwright.ts
1
+ // src/rules/playwright.ts
2
2
  function getPlaywrightRules(options) {
3
3
  const { maxNestedDescribe } = options.configs.test;
4
4
  return {
@@ -62,5 +62,4 @@ function getPlaywrightRules(options) {
62
62
  "playwright/valid-test-tags": "error"
63
63
  };
64
64
  }
65
- //#endregion
66
65
  export { getPlaywrightRules };
@@ -1,4 +1,4 @@
1
- //#region src/rules/promise.ts
1
+ // src/rules/promise.ts
2
2
  const promiseRules = {
3
3
  "promise/always-return": ["error", { ignoreLastCallback: true }],
4
4
  "promise/avoid-new": "warn",
@@ -22,5 +22,4 @@ const promiseRules = {
22
22
  function getPromiseRules() {
23
23
  return promiseRules;
24
24
  }
25
- //#endregion
26
25
  export { getPromiseRules };
@@ -1,6 +1,6 @@
1
1
  import { defaultOptions } from "../helpers/options/defaultOptions.mjs";
2
2
  import { isEnabled } from "../utils/isEnabled.mjs";
3
- //#region src/rules/react.ts
3
+ // src/rules/react.ts
4
4
  const commonCallees = [
5
5
  "classnames",
6
6
  "classNames",
@@ -163,5 +163,4 @@ function getReactRules(options) {
163
163
  }
164
164
  return reactRules;
165
165
  }
166
- //#endregion
167
166
  export { getReactRules };
@@ -1,5 +1,5 @@
1
1
  import path from "node:path";
2
- //#region src/rules/storybook.ts
2
+ // src/rules/storybook.ts
3
3
  function getStorybookRules(options) {
4
4
  return {
5
5
  "storybook/await-interactions": "error",
@@ -19,5 +19,4 @@ function getStorybookRules(options) {
19
19
  "storybook/use-storybook-testing-library": "error"
20
20
  };
21
21
  }
22
- //#endregion
23
22
  export { getStorybookRules };
@@ -1,6 +1,6 @@
1
1
  import { defaultOptions } from "../helpers/options/defaultOptions.mjs";
2
2
  import { isEnabled } from "../utils/isEnabled.mjs";
3
- //#region src/rules/stylistic.ts
3
+ // src/rules/stylistic.ts
4
4
  function getStylisticRules(options) {
5
5
  const { stylistic } = options.configs;
6
6
  const { semi, quotes, indent, jsxQuotes, arrowParens, trailingComma, maxLineLength, maxAttributesPerLine, memberDelimiterStyle, maxConsecutiveEmptyLines } = isEnabled(stylistic) ? stylistic : defaultOptions.configs.stylistic;
@@ -230,5 +230,4 @@ function getStylisticRules(options) {
230
230
  "@stylistic/yield-star-spacing": "warn"
231
231
  };
232
232
  }
233
- //#endregion
234
233
  export { getStylisticRules };
@@ -1,6 +1,6 @@
1
1
  import { defaultOptions } from "../helpers/options/defaultOptions.mjs";
2
2
  import { isEnabled } from "../utils/isEnabled.mjs";
3
- //#region src/rules/tailwind.ts
3
+ // src/rules/tailwind.ts
4
4
  const nonLogicalTailwindUtilityPatterns = [
5
5
  "-?top(?:-.+)?",
6
6
  "-?bottom(?:-.+)?",
@@ -53,5 +53,4 @@ function getTailwindRules(options) {
53
53
  "better-tailwindcss/no-unnecessary-whitespace": "warn"
54
54
  };
55
55
  }
56
- //#endregion
57
56
  export { getTailwindRules };
@@ -1,5 +1,5 @@
1
1
  import { isEnabled } from "../utils/isEnabled.mjs";
2
- //#region src/rules/tanstack.ts
2
+ // src/rules/tanstack.ts
3
3
  const tanstackStartRules = {
4
4
  "@tanstack/start/no-async-client-component": "error",
5
5
  "@tanstack/start/no-client-code-in-server-component": "error"
@@ -35,5 +35,4 @@ function getTanstackRules(options) {
35
35
  if (isEnabled(tanstack.router)) Object.assign(rules, tanstackRouterRules);
36
36
  return rules;
37
37
  }
38
- //#endregion
39
38
  export { getTanstackRules };
@@ -1,11 +1,11 @@
1
1
  import { defaultOptions } from "../helpers/options/defaultOptions.mjs";
2
2
  import { isEnabled } from "../utils/isEnabled.mjs";
3
- //#region src/rules/typescript.ts
3
+ // src/rules/typescript.ts
4
4
  function getTypescriptRules(options) {
5
5
  const { unicorn, typescript } = options.configs;
6
6
  const { removeUnusedImports, typeDefinitionStyle, methodSignatureStyle } = isEnabled(typescript) ? typescript : defaultOptions.configs.typescript;
7
7
  return {
8
- "@typescript-eslint/await-thenable": "error",
8
+ "@typescript-eslint/await-thenable": ["error", { allowMixedPromiseArrays: true }],
9
9
  "@typescript-eslint/ban-ts-comment": ["warn", { "ts-expect-error": { descriptionFormat: "^ -- .+ $" } }],
10
10
  "@typescript-eslint/consistent-return": "error",
11
11
  "@typescript-eslint/consistent-type-exports": "error",
@@ -160,5 +160,4 @@ function getTypescriptRules(options) {
160
160
  ]
161
161
  };
162
162
  }
163
- //#endregion
164
163
  export { getTypescriptRules };
@@ -1,6 +1,6 @@
1
1
  import { defaultOptions } from "../helpers/options/defaultOptions.mjs";
2
2
  import { isEnabled } from "../utils/isEnabled.mjs";
3
- //#region src/rules/unicorn.ts
3
+ // src/rules/unicorn.ts
4
4
  function getUnicornRules(options) {
5
5
  const { node, unicorn, stylistic, typescript } = options.configs;
6
6
  const { functionStyle } = isEnabled(unicorn) ? unicorn : defaultOptions.configs.unicorn;
@@ -298,5 +298,4 @@ function getUnicornRules(options) {
298
298
  "unicorn/throw-new-error": "warn"
299
299
  };
300
300
  }
301
- //#endregion
302
301
  export { getUnicornRules };
@@ -1,4 +1,4 @@
1
- //#region src/rules/vitest.ts
1
+ // src/rules/vitest.ts
2
2
  function getVitestRules(options) {
3
3
  const { testFunction, maxNestedDescribe } = options.configs.test;
4
4
  return {
@@ -74,5 +74,4 @@ function getVitestRules(options) {
74
74
  "vitest/valid-title": ["error", { allowArguments: true }]
75
75
  };
76
76
  }
77
- //#endregion
78
77
  export { getVitestRules };
@@ -1,9 +1,9 @@
1
1
  import { defaultOptions } from "../helpers/options/defaultOptions.mjs";
2
- import { isEnabled } from "../utils/isEnabled.mjs";
3
- import { isTruthy } from "../utils/isTruthy.mjs";
4
2
  import { getRestrictedVueElements } from "../helpers/vue/getRestrictedVueElements.mjs";
5
3
  import { getRestrictedVueInputs } from "../helpers/vue/getRestrictedVueInputs.mjs";
6
- //#region src/rules/vue.ts
4
+ import { isEnabled } from "../utils/isEnabled.mjs";
5
+ import { isTruthy } from "../utils/isTruthy.mjs";
6
+ // src/rules/vue.ts
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;
@@ -270,12 +270,15 @@ function getVueRules(options) {
270
270
  }],
271
271
  "vue/match-component-import-name": "warn",
272
272
  "vue/next-tick-style": "warn",
273
+ "vue/no-content-outside-block": "error",
274
+ "vue/no-define-model-default": "warn",
273
275
  "vue/no-duplicate-attr-inheritance": "error",
274
276
  "vue/no-duplicate-class-names": "warn",
275
277
  "vue/no-empty-component-block": "error",
276
278
  "vue/no-import-compiler-macros": "error",
277
279
  "vue/no-multiple-objects-in-class": "warn",
278
280
  "vue/no-negated-v-if-condition": "warn",
281
+ "vue/no-props-shadow": "error",
279
282
  "vue/no-ref-object-reactivity-loss": "error",
280
283
  "vue/no-restricted-html-elements": [
281
284
  "error",
@@ -407,5 +410,4 @@ function getVueRules(options) {
407
410
  if (isEnabled(stylistic)) vueRules["@stylistic/max-len"] = "off";
408
411
  return vueRules;
409
412
  }
410
- //#endregion
411
413
  export { getVueRules };
@@ -1,6 +1,6 @@
1
1
  import { defaultOptions } from "../helpers/options/defaultOptions.mjs";
2
2
  import { isEnabled } from "../utils/isEnabled.mjs";
3
- //#region src/rules/zod.ts
3
+ // src/rules/zod.ts
4
4
  function getZodRules(options) {
5
5
  const { zod } = options.configs;
6
6
  const { mini } = isEnabled(zod) ? zod : defaultOptions.configs.zod;
@@ -69,5 +69,4 @@ function getZodRules(options) {
69
69
  "zod/require-error-message": "warn"
70
70
  };
71
71
  }
72
- //#endregion
73
72
  export { getZodRules };