@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,5 @@
1
1
  import { ESLintSchema } from "./eslint-schema.mjs";
2
2
  import { DeepNonNullable, Tail } from "./helpers.mjs";
3
- //#region src/types/eslintRules.d.ts
4
3
  type RuleNames = keyof ESLintSchema;
5
4
  type PluginRuleNames = Extract<RuleNames, `${string}/${string}`>;
6
5
  type PluginNames = PluginRuleNames extends `${infer PluginName}/${string}` ? PluginName : never;
@@ -11,5 +10,4 @@ type PluginRules<PluginName extends PluginNames> = Pick<ESLintSchema, PluginRule
11
10
  type Rule<RuleName extends RuleNames> = DeepNonNullable<ESLintSchema>[RuleName];
12
11
  type RuleConfigs<RuleName extends RuleNames> = Tail<Rule<RuleName>>;
13
12
  type RuleOptions<RuleName extends RuleNames, Index extends (0 | 1 | 2) = 0> = NonNullable<RuleConfigs<RuleName>[Index]>;
14
- //#endregion
15
13
  export type { JavascriptRules, PluginRules, RuleOptions };
@@ -1,5 +1,3 @@
1
- //#region src/types/helpers.d.ts
2
1
  type Tail<Tuple> = Tuple extends [unknown, ...(infer LastItems)] ? LastItems : never;
3
2
  type DeepNonNullable<Type> = Type extends Function ? Type /* eslint-disable-line @typescript-eslint/no-unsafe-function-type */ : Type extends object ? { [Key in keyof Type]-?: DeepNonNullable<NonNullable<Type[Key]>>; } : NonNullable<Type>;
4
- //#endregion
5
3
  export type { DeepNonNullable, Tail };
@@ -11,7 +11,6 @@ import { TypescriptOptions } from "./options/typescript.mjs";
11
11
  import { VueOptions } from "./options/vue.mjs";
12
12
  import { ZodOptions } from "./options/zod.mjs";
13
13
  import { Linter } from "eslint";
14
- //#region src/types/index.d.ts
15
14
  type ConfigOverrides = Pick<Linter.Config, 'name' | 'files' | 'ignores' | 'plugins' | 'settings' | 'languageOptions'>;
16
15
  interface ConfigWithOverrides<ConfigRules extends Linter.RulesRecord> {
17
16
  /**
@@ -477,5 +476,4 @@ interface Options {
477
476
  zod?: boolean | ZodOptions;
478
477
  };
479
478
  }
480
- //#endregion
481
479
  export type { ConfigWithOverrides, Options };
@@ -1,6 +1,5 @@
1
1
  import { PluginRules, RuleOptions } from "../eslintRules.mjs";
2
2
  import { ConfigWithOverrides } from "../index.mjs";
3
- //#region src/types/options/baseline.d.ts
4
3
  type ConfigRules = PluginRules<'baseline-js'>;
5
4
  type CssBaselineOptions = RuleOptions<'css/use-baseline'>;
6
5
  interface BaselineOptions extends ConfigWithOverrides<ConfigRules> {
@@ -122,5 +121,4 @@ interface BaselineOptions extends ConfigWithOverrides<ConfigRules> {
122
121
  ignoredNodeTypes?: RuleOptions<'baseline-js/use-baseline'>['ignoreNodeTypes'];
123
122
  };
124
123
  }
125
- //#endregion
126
124
  export type { BaselineOptions };
@@ -1,6 +1,5 @@
1
1
  import { PluginRules, RuleOptions } from "../eslintRules.mjs";
2
2
  import { ConfigWithOverrides } from "../index.mjs";
3
- //#region src/types/options/markdown.d.ts
4
3
  type ConfigRules = PluginRules<'markdown'>;
5
4
  interface MarkdownOptions extends ConfigWithOverrides<ConfigRules> {
6
5
  /**
@@ -37,5 +36,4 @@ interface MarkdownOptions extends ConfigWithOverrides<ConfigRules> {
37
36
  */
38
37
  language?: 'gfm' | 'commonmark';
39
38
  }
40
- //#endregion
41
39
  export type { MarkdownOptions };
@@ -1,6 +1,5 @@
1
1
  import { PluginRules } from "../eslintRules.mjs";
2
2
  import { ConfigWithOverrides } from "../index.mjs";
3
- //#region src/types/options/nuxt.d.ts
4
3
  type ConfigRules = PluginRules<'nuxt'> | PluginRules<'link-checker'>;
5
4
  interface NuxtOptions extends ConfigWithOverrides<ConfigRules> {
6
5
  /**
@@ -64,5 +63,4 @@ interface NuxtOptions extends ConfigWithOverrides<ConfigRules> {
64
63
  prefix?: string;
65
64
  };
66
65
  }
67
- //#endregion
68
66
  export type { NuxtOptions };
@@ -1,6 +1,5 @@
1
1
  import { PluginRules, RuleOptions } from "../eslintRules.mjs";
2
2
  import { ConfigWithOverrides } from "../index.mjs";
3
- //#region src/types/options/react.d.ts
4
3
  type ConfigRules = PluginRules<'@eslint-react'>;
5
4
  interface ReactOptions extends ConfigWithOverrides<ConfigRules> {
6
5
  /**
@@ -45,5 +44,4 @@ interface ReactOptions extends ConfigWithOverrides<ConfigRules> {
45
44
  imageComponents?: RuleOptions<'jsx-a11y-x/img-redundant-alt'>['components'];
46
45
  };
47
46
  }
48
- //#endregion
49
47
  export type { ReactOptions };
@@ -1,6 +1,5 @@
1
1
  import { PluginRules, RuleOptions } from "../eslintRules.mjs";
2
2
  import { ConfigWithOverrides } from "../index.mjs";
3
- //#region src/types/options/stylistic.d.ts
4
3
  type ConfigRules = PluginRules<'@stylistic'>;
5
4
  interface StylisticOptions extends ConfigWithOverrides<ConfigRules> {
6
5
  /**
@@ -120,5 +119,4 @@ interface StylisticOptions extends ConfigWithOverrides<ConfigRules> {
120
119
  */
121
120
  trailingComma?: Exclude<RuleOptions<'@stylistic/comma-dangle'>, object>;
122
121
  }
123
- //#endregion
124
122
  export type { StylisticOptions };
@@ -1,6 +1,5 @@
1
1
  import { PluginRules, RuleOptions } from "../eslintRules.mjs";
2
2
  import { ConfigWithOverrides } from "../index.mjs";
3
- //#region src/types/options/tailwind.d.ts
4
3
  type ConfigRules = PluginRules<'better-tailwindcss'>;
5
4
  interface BaseTailwindOptions extends ConfigWithOverrides<ConfigRules> {
6
5
  /**
@@ -51,5 +50,4 @@ interface ConfigRequired {
51
50
  config: string;
52
51
  }
53
52
  type TailwindOptions = BaseTailwindOptions & (ConfigRequired | EntryPointRequired);
54
- //#endregion
55
53
  export type { TailwindOptions };
@@ -1,6 +1,5 @@
1
1
  import { PluginRules } from "../eslintRules.mjs";
2
2
  import { ConfigWithOverrides } from "../index.mjs";
3
- //#region src/types/options/tanstack.d.ts
4
3
  type ConfigRules = PluginRules<'@tanstack'>;
5
4
  interface TanstackOptions extends ConfigWithOverrides<ConfigRules> {
6
5
  /**
@@ -28,5 +27,4 @@ interface TanstackOptions extends ConfigWithOverrides<ConfigRules> {
28
27
  */
29
28
  start?: boolean;
30
29
  }
31
- //#endregion
32
30
  export type { TanstackOptions };
@@ -1,6 +1,5 @@
1
1
  import { PluginRules, RuleOptions } from "../eslintRules.mjs";
2
2
  import { ConfigWithOverrides } from "../index.mjs";
3
- //#region src/types/options/test.d.ts
4
3
  type StorybookConfigRules = PluginRules<'storybook'>;
5
4
  type VitestConfigRules = PluginRules<'vitest'>;
6
5
  type PlaywrightConfigRules = PluginRules<'playwright'>;
@@ -49,5 +48,4 @@ interface TestOptions {
49
48
  */
50
49
  vitest?: boolean | ConfigWithOverrides<VitestConfigRules>;
51
50
  }
52
- //#endregion
53
51
  export type { TestOptions };
@@ -1,6 +1,5 @@
1
1
  import { PluginRules, RuleOptions } from "../eslintRules.mjs";
2
2
  import { ConfigWithOverrides } from "../index.mjs";
3
- //#region src/types/options/typescript.d.ts
4
3
  type ConfigRules = PluginRules<'@typescript-eslint'>;
5
4
  interface TypescriptOptions extends ConfigWithOverrides<ConfigRules> {
6
5
  /**
@@ -42,5 +41,4 @@ interface TypescriptOptions extends ConfigWithOverrides<ConfigRules> {
42
41
  */
43
42
  typeDefinitionStyle?: RuleOptions<'@typescript-eslint/consistent-type-definitions'>;
44
43
  }
45
- //#endregion
46
44
  export type { TypescriptOptions };
@@ -1,6 +1,5 @@
1
1
  import { PluginRules, RuleOptions } from "../eslintRules.mjs";
2
2
  import { ConfigWithOverrides } from "../index.mjs";
3
- //#region src/types/options/vue.d.ts
4
3
  type AnchorHasContentRuleOptions = RuleOptions<'vuejs-accessibility/anchor-has-content'>;
5
4
  interface BlockLang {
6
5
  style?: 'css' | 'scss' | 'postcss' | 'implicit';
@@ -233,5 +232,4 @@ interface VueOptions extends ConfigWithOverrides<ConfigRules> {
233
232
  */
234
233
  vOnHandlerStyle?: RuleOptions<'vue/v-on-handler-style'>;
235
234
  }
236
- //#endregion
237
235
  export type { VueOptions };
@@ -1,6 +1,5 @@
1
1
  import { PluginRules } from "../eslintRules.mjs";
2
2
  import { ConfigWithOverrides } from "../index.mjs";
3
- //#region src/types/options/zod.d.ts
4
3
  interface BaseZodOptions {
5
4
  /**
6
5
  * Whether to opt into [eslint-plugin-zod-mini](https://github.com/marcalexiei/eslint-zod/tree/main/plugins/eslint-plugin-zod-mini) when using Zod Mini (`zod/mini`).
@@ -22,5 +21,4 @@ type ZodOptions = (BaseZodOptions & ConfigWithOverrides<ConfigRulesZodMini> & {
22
21
  } | {
23
22
  mini?: undefined;
24
23
  }));
25
- //#endregion
26
24
  export type { ZodOptions };
@@ -1,6 +1,5 @@
1
- //#region src/utils/isEmptyString.ts
1
+ // src/utils/isEmptyString.ts
2
2
  function isEmptyString(value) {
3
3
  return typeof value === "string" && value.trim().length === 0;
4
4
  }
5
- //#endregion
6
5
  export { isEmptyString };
@@ -1,6 +1,5 @@
1
- //#region src/utils/isEnabled.ts
1
+ // src/utils/isEnabled.ts
2
2
  function isEnabled(option) {
3
3
  return Boolean(option);
4
4
  }
5
- //#endregion
6
5
  export { isEnabled };
@@ -1,6 +1,5 @@
1
- //#region src/utils/isTruthy.ts
1
+ // src/utils/isTruthy.ts
2
2
  function isTruthy(value) {
3
3
  return Boolean(value);
4
4
  }
5
- //#endregion
6
5
  export { isTruthy };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shayanthenerd/eslint-config",
3
- "version": "0.35.0",
3
+ "version": "0.36.0",
4
4
  "description": "A modern, flexible ESLint configuration for enforcing best practices and maintaining a consistent coding style",
5
5
  "keywords": [
6
6
  "eslint",
@@ -54,51 +54,51 @@
54
54
  "{.github/workflows/**/*.yaml,pnpm-workspace.yaml}": "pnpm format"
55
55
  },
56
56
  "dependencies": {
57
- "@eslint-react/eslint-plugin": "5.26.5",
58
- "@eslint/css": "2.0.0",
57
+ "@eslint-react/eslint-plugin": "5.28.8",
58
+ "@eslint/css": "2.0.1",
59
59
  "@eslint/markdown": "8.0.3",
60
- "@html-eslint/eslint-plugin": "0.66.1",
61
- "@html-eslint/eslint-plugin-react": "0.66.1",
62
- "@next/eslint-plugin-next": "16.4.0",
60
+ "@html-eslint/eslint-plugin": "0.67.0",
61
+ "@html-eslint/eslint-plugin-react": "0.67.0",
62
+ "@next/eslint-plugin-next": "16.4.3",
63
63
  "@nuxt/eslint-plugin": "1.17.0",
64
64
  "@stylistic/eslint-plugin": "5.10.0",
65
- "@tanstack/eslint-plugin-query": "5.104.2",
65
+ "@tanstack/eslint-plugin-query": "5.104.5",
66
66
  "@tanstack/eslint-plugin-router": "1.162.0",
67
67
  "@tanstack/eslint-plugin-start": "0.1.0",
68
- "@vitest/eslint-plugin": "1.6.27",
68
+ "@vitest/eslint-plugin": "1.6.28",
69
69
  "astro-eslint-parser": "3.2.0",
70
70
  "defu": "6.1.7",
71
- "eslint-cssicorn": "0.2.0",
71
+ "eslint-cssicorn": "0.3.0",
72
72
  "eslint-flat-config-utils": "3.2.0",
73
73
  "eslint-import-resolver-typescript": "4.4.5",
74
74
  "eslint-plugin-astro": "3.2.1",
75
75
  "eslint-plugin-baseline-js": "0.7.5",
76
- "eslint-plugin-better-tailwindcss": "4.9.0",
76
+ "eslint-plugin-better-tailwindcss": "4.10.0",
77
77
  "eslint-plugin-cypress": "7.0.2",
78
78
  "eslint-plugin-import-x": "4.17.1",
79
79
  "eslint-plugin-jsx-a11y-x": "0.2.0",
80
- "eslint-plugin-n": "18.4.1",
81
- "eslint-plugin-package-json": "1.10.1",
82
- "eslint-plugin-perfectionist": "5.12.1",
80
+ "eslint-plugin-n": "18.5.0",
81
+ "eslint-plugin-package-json": "1.11.0",
82
+ "eslint-plugin-perfectionist": "5.13.0",
83
83
  "eslint-plugin-playwright": "2.12.1",
84
84
  "eslint-plugin-promise": "7.3.0",
85
- "eslint-plugin-storybook": "10.6.2",
86
- "eslint-plugin-unicorn": "78.0.0",
85
+ "eslint-plugin-storybook": "10.6.3",
86
+ "eslint-plugin-unicorn": "79.0.0",
87
87
  "eslint-plugin-vue": "10.11.1",
88
- "eslint-plugin-vuejs-accessibility": "2.6.2",
89
- "eslint-plugin-zod": "5.0.1",
90
- "eslint-plugin-zod-mini": "2.0.1",
88
+ "eslint-plugin-vuejs-accessibility": "2.6.3",
89
+ "eslint-plugin-zod": "5.2.2",
90
+ "eslint-plugin-zod-mini": "2.1.3",
91
91
  "globals": "17.13.0",
92
92
  "local-pkg": "1.2.1",
93
93
  "nuxt-link-checker": "6.0.1",
94
94
  "tailwind-csstree": "0.4.1",
95
- "typescript-eslint": "8.71.2"
95
+ "typescript-eslint": "8.72.0"
96
96
  },
97
97
  "devDependencies": {
98
98
  "@arethetypeswrong/cli": "0.18.5",
99
99
  "@eslint/config-inspector": "3.5.0",
100
100
  "@types/node": "26.6.5",
101
- "eslint": "10.12.0",
101
+ "eslint": "10.13.0",
102
102
  "eslint-typegen": "2.3.1",
103
103
  "nano-staged": "1.0.2",
104
104
  "prettier": "3.9.10",
@@ -106,7 +106,7 @@
106
106
  "serve": "14.2.6",
107
107
  "simple-git-hooks": "2.14.0",
108
108
  "ts-morph": "28.0.0",
109
- "tsdown": "0.23.1",
109
+ "tsdown": "0.23.2",
110
110
  "typescript": "6.0.3",
111
111
  "unplugin-unused": "0.6.0"
112
112
  },
@@ -125,7 +125,7 @@
125
125
  "devEngines": {
126
126
  "packageManager": {
127
127
  "name": "pnpm",
128
- "version": "12.12.0",
128
+ "version": "12.15.0",
129
129
  "onFail": "warn"
130
130
  },
131
131
  "runtime": {