@shayanthenerd/eslint-config 0.35.0 → 0.36.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 (83) hide show
  1. package/dist/configs/astro.mjs +1 -2
  2. package/dist/configs/baseline.mjs +1 -2
  3. package/dist/configs/css.mjs +1 -2
  4. package/dist/configs/cypress.mjs +1 -2
  5. package/dist/configs/html.mjs +1 -2
  6. package/dist/configs/importX.mjs +1 -2
  7. package/dist/configs/javascript.mjs +1 -2
  8. package/dist/configs/markdown.mjs +1 -2
  9. package/dist/configs/next.mjs +1 -2
  10. package/dist/configs/node.mjs +1 -2
  11. package/dist/configs/nuxt.mjs +1 -2
  12. package/dist/configs/packageJson.mjs +1 -2
  13. package/dist/configs/perfectionist.mjs +1 -2
  14. package/dist/configs/playwright.mjs +1 -2
  15. package/dist/configs/promise.mjs +1 -2
  16. package/dist/configs/react.mjs +1 -2
  17. package/dist/configs/storybook.mjs +1 -2
  18. package/dist/configs/stylistic.mjs +1 -2
  19. package/dist/configs/tailwind.mjs +1 -2
  20. package/dist/configs/tanstack.mjs +1 -2
  21. package/dist/configs/typescript.mjs +1 -2
  22. package/dist/configs/unicorn.mjs +1 -2
  23. package/dist/configs/vitest.mjs +1 -2
  24. package/dist/configs/vue.mjs +1 -2
  25. package/dist/configs/zod.mjs +1 -2
  26. package/dist/helpers/globs.mjs +1 -2
  27. package/dist/helpers/ignores/defaultIgnorePatterns.mjs +1 -2
  28. package/dist/helpers/ignores/getIgnorePatterns.mjs +1 -2
  29. package/dist/helpers/ignores/resolveGitignorePatterns.mjs +1 -2
  30. package/dist/helpers/isPackageDetected.mjs +1 -2
  31. package/dist/helpers/options/defaultOptions.mjs +1 -2
  32. package/dist/helpers/options/enableDetectedConfigs.mjs +1 -2
  33. package/dist/helpers/options/mergeWithDefaults.mjs +1 -2
  34. package/dist/helpers/vue/getRestrictedVueElements.mjs +1 -2
  35. package/dist/helpers/vue/getRestrictedVueInputs.mjs +1 -2
  36. package/dist/index.d.mts +0 -2
  37. package/dist/index.mjs +1 -2
  38. package/dist/prettier.config.d.mts +0 -2
  39. package/dist/prettier.config.mjs +1 -2
  40. package/dist/rules/astro.mjs +1 -2
  41. package/dist/rules/baseline.mjs +1 -2
  42. package/dist/rules/css.mjs +5 -2
  43. package/dist/rules/cypress.mjs +1 -2
  44. package/dist/rules/html.mjs +1 -2
  45. package/dist/rules/importX.mjs +1 -2
  46. package/dist/rules/javascript.mjs +1 -2
  47. package/dist/rules/markdown.mjs +1 -2
  48. package/dist/rules/next.mjs +1 -2
  49. package/dist/rules/node.mjs +1 -2
  50. package/dist/rules/nuxt.mjs +1 -2
  51. package/dist/rules/packageJson.mjs +6 -2
  52. package/dist/rules/perfectionist.mjs +1 -2
  53. package/dist/rules/playwright.mjs +1 -2
  54. package/dist/rules/promise.mjs +1 -2
  55. package/dist/rules/react.mjs +1 -2
  56. package/dist/rules/storybook.mjs +1 -2
  57. package/dist/rules/stylistic.mjs +1 -2
  58. package/dist/rules/tailwind.mjs +1 -2
  59. package/dist/rules/tanstack.mjs +1 -2
  60. package/dist/rules/typescript.mjs +2 -3
  61. package/dist/rules/unicorn.mjs +1 -2
  62. package/dist/rules/vitest.mjs +1 -2
  63. package/dist/rules/vue.mjs +1 -2
  64. package/dist/rules/zod.mjs +1 -2
  65. package/dist/types/eslint-schema.d.mts +854 -493
  66. package/dist/types/eslintRules.d.mts +0 -2
  67. package/dist/types/helpers.d.mts +0 -2
  68. package/dist/types/index.d.mts +0 -2
  69. package/dist/types/options/baseline.d.mts +0 -2
  70. package/dist/types/options/markdown.d.mts +0 -2
  71. package/dist/types/options/nuxt.d.mts +0 -2
  72. package/dist/types/options/react.d.mts +0 -2
  73. package/dist/types/options/stylistic.d.mts +0 -2
  74. package/dist/types/options/tailwind.d.mts +0 -2
  75. package/dist/types/options/tanstack.d.mts +0 -2
  76. package/dist/types/options/test.d.mts +0 -2
  77. package/dist/types/options/typescript.d.mts +0 -2
  78. package/dist/types/options/vue.d.mts +0 -2
  79. package/dist/types/options/zod.d.mts +0 -2
  80. package/dist/utils/isEmptyString.mjs +1 -2
  81. package/dist/utils/isEnabled.mjs +1 -2
  82. package/dist/utils/isTruthy.mjs +1 -2
  83. package/package.json +22 -22
@@ -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,6 +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
3
+ // src/rules/packageJson.ts
4
4
  /**
5
5
  Using a wildcard to target all objects within an array isn't supported yet.
6
6
  @see https://github.com/michaelfaith/eslint-plugin-package-json/issues/1967
@@ -53,6 +53,11 @@ function getPackageJsonRules(options) {
53
53
  const { allowedDistTags: userUseAllowedDistTags, allowedDistTagsFor: userUseAllowedDistTagsFor } = isEnabled(packageJson) ? packageJson : defaultOptions.configs.packageJson;
54
54
  return {
55
55
  "package-json/bin-name-casing": "warn",
56
+ "package-json/consistent-package-manager-declaration": "warn",
57
+ "package-json/consistent-property-aliases": ["warn", { prefer: {
58
+ license: "license",
59
+ bundleDependencies: "bundledDependencies"
60
+ } }],
56
61
  "package-json/exports-subpaths-style": ["warn", { prefer: "implicit" }],
57
62
  "package-json/no-empty-fields": "error",
58
63
  "package-json/no-local-dependencies": "error",
@@ -166,5 +171,4 @@ function getPackageJsonRules(options) {
166
171
  "package-json/valid-workspaces": "error"
167
172
  };
168
173
  }
169
- //#endregion
170
174
  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 };
@@ -3,7 +3,7 @@ import { isEnabled } from "../utils/isEnabled.mjs";
3
3
  import { isTruthy } from "../utils/isTruthy.mjs";
4
4
  import { getRestrictedVueElements } from "../helpers/vue/getRestrictedVueElements.mjs";
5
5
  import { getRestrictedVueInputs } from "../helpers/vue/getRestrictedVueInputs.mjs";
6
- //#region src/rules/vue.ts
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;
@@ -407,5 +407,4 @@ function getVueRules(options) {
407
407
  if (isEnabled(stylistic)) vueRules["@stylistic/max-len"] = "off";
408
408
  return vueRules;
409
409
  }
410
- //#endregion
411
410
  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 };