@shayanthenerd/eslint-config 0.28.0 → 0.28.2
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 +3 -3
- package/dist/configs/importX.mjs +1 -1
- package/dist/configs/node.mjs +2 -2
- package/dist/configs/tailwind.mjs +2 -2
- package/dist/helpers/options/defaultOptions.mjs +1 -0
- package/dist/helpers/options/enableDetectedConfigs.mjs +15 -5
- package/dist/index.mjs +2 -2
- package/dist/rules/perfectionist.mjs +1 -1
- package/dist/rules/stylistic.mjs +22 -4
- package/dist/rules/vue.mjs +2 -1
- package/dist/rules/zod.mjs +6 -0
- package/dist/types/eslint-schema.d.mts +42 -0
- package/dist/types/index.d.mts +7 -7
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -80,7 +80,7 @@ Legend:
|
|
|
80
80
|
{
|
|
81
81
|
"scripts": {
|
|
82
82
|
"lint:inspect": "npx @eslint/config-inspector",
|
|
83
|
-
"lint": "eslint --fix --cache --cache-location='node_modules/.cache/.eslintcache'"
|
|
83
|
+
"lint": "eslint --fix --max-warnings=0 --cache --cache-location='node_modules/.cache/.eslintcache'"
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
```
|
|
@@ -363,7 +363,7 @@ _package.json_:
|
|
|
363
363
|
{
|
|
364
364
|
"scripts": {
|
|
365
365
|
"format": "prettier --write . --cache",
|
|
366
|
-
"lint": "eslint --fix --cache --cache-location='node_modules/.cache/.eslintcache'"
|
|
366
|
+
"lint": "eslint --fix --max-warnings=0 --cache --cache-location='node_modules/.cache/.eslintcache'"
|
|
367
367
|
}
|
|
368
368
|
}
|
|
369
369
|
```
|
|
@@ -427,7 +427,7 @@ _.vscode/settings.json_:
|
|
|
427
427
|
packageDir?: string,
|
|
428
428
|
tsConfig?: false | {
|
|
429
429
|
filename?: string,
|
|
430
|
-
rootDir
|
|
430
|
+
rootDir?: string,
|
|
431
431
|
},
|
|
432
432
|
|
|
433
433
|
project?: {
|
package/dist/configs/importX.mjs
CHANGED
|
@@ -18,7 +18,7 @@ function getImportXConfig(options) {
|
|
|
18
18
|
isEnabled(astro) ? globs.astro : ""
|
|
19
19
|
].filter(isTruthy),
|
|
20
20
|
plugins: { "import-x": eslintPluginImportX },
|
|
21
|
-
settings: isEnabled(typescript) ? eslintPluginImportX.flatConfigs.typescript.settings :
|
|
21
|
+
settings: isEnabled(typescript) ? eslintPluginImportX.flatConfigs.typescript.settings : {},
|
|
22
22
|
rules: getImportXRules(options)
|
|
23
23
|
}, overrides);
|
|
24
24
|
}
|
package/dist/configs/node.mjs
CHANGED
|
@@ -10,7 +10,7 @@ import path from "node:path";
|
|
|
10
10
|
function getNodeConfig(options) {
|
|
11
11
|
const { tsConfig, configs: { vue, node, astro } } = options;
|
|
12
12
|
const { overrides } = isEnabled(node) ? node : defaultOptions.configs.node;
|
|
13
|
-
const
|
|
13
|
+
const tsconfigPath = tsConfig ? path.resolve(tsConfig.rootDir, tsConfig.filename) : void 0;
|
|
14
14
|
return mergeConfigs({
|
|
15
15
|
name: "shayanthenerd/node",
|
|
16
16
|
files: [
|
|
@@ -20,7 +20,7 @@ function getNodeConfig(options) {
|
|
|
20
20
|
isEnabled(astro) ? globs.astro : ""
|
|
21
21
|
].filter(isTruthy),
|
|
22
22
|
plugins: { n: eslintPluginNode },
|
|
23
|
-
settings: { n: { tsconfigPath:
|
|
23
|
+
settings: { n: tsconfigPath ? { tsconfigPath } : void 0 },
|
|
24
24
|
rules: getNodeRules(options)
|
|
25
25
|
}, overrides);
|
|
26
26
|
}
|
|
@@ -45,7 +45,7 @@ const nuxtUiAppConfigUiFields = {
|
|
|
45
45
|
function getTailwindConfig(options) {
|
|
46
46
|
const { tsConfig, configs: { vue, nuxt, html, astro, tailwind } } = options;
|
|
47
47
|
const { cwd, config, overrides, entryPoint } = isEnabled(tailwind) ? tailwind : defaultOptions.configs.tailwind;
|
|
48
|
-
const
|
|
48
|
+
const tsconfigPath = tsConfig ? path.resolve(tsConfig.rootDir, tsConfig.filename) : void 0;
|
|
49
49
|
const isNuxtUiEnabled = isEnabled(nuxt) && isEnabled(nuxt.ui);
|
|
50
50
|
const selectors = [
|
|
51
51
|
...getDefaultSelectors(),
|
|
@@ -66,10 +66,10 @@ function getTailwindConfig(options) {
|
|
|
66
66
|
plugins: { "better-tailwindcss": eslintPluginTailwind },
|
|
67
67
|
settings: { "better-tailwindcss": {
|
|
68
68
|
cwd,
|
|
69
|
-
tsconfig,
|
|
70
69
|
selectors,
|
|
71
70
|
entryPoint,
|
|
72
71
|
tailwindConfig: config,
|
|
72
|
+
tsconfig: tsconfigPath,
|
|
73
73
|
detectComponentClasses: true
|
|
74
74
|
} },
|
|
75
75
|
rules: getTailwindRules(options)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { isEnabled } from "../../utils/isEnabled.mjs";
|
|
2
|
+
import { defaultOptions } from "./defaultOptions.mjs";
|
|
2
3
|
import { isPackageDetected, logDetectedPackages } from "../isPackageDetected.mjs";
|
|
3
4
|
//#region src/helpers/options/enableDetectedConfigs.ts
|
|
4
5
|
function enableDetectedConfigs(options) {
|
|
@@ -58,11 +59,20 @@ function enableDetectedConfigs(options) {
|
|
|
58
59
|
options.configs.test.cypress ??= autoDetectedPackages.cypress;
|
|
59
60
|
options.configs.test.storybook ??= autoDetectedPackages.storybook;
|
|
60
61
|
options.configs.test.playwright ??= autoDetectedPackages.playwright;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
62
|
+
const isTypeScriptEnabled = isEnabled(options.configs.typescript);
|
|
63
|
+
if (isTypeScriptEnabled) {
|
|
64
|
+
const defaultTsConfigRootDir = options.packageDir ?? defaultOptions.packageDir;
|
|
65
|
+
const defaultTsConfigFilename = "tsconfig.json";
|
|
66
|
+
if (options.tsConfig === void 0) options.tsConfig = {
|
|
67
|
+
rootDir: defaultTsConfigRootDir,
|
|
68
|
+
filename: defaultTsConfigFilename
|
|
69
|
+
};
|
|
70
|
+
else if (options.tsConfig !== false) {
|
|
71
|
+
options.tsConfig.rootDir ??= defaultTsConfigRootDir;
|
|
72
|
+
options.tsConfig.filename ??= defaultTsConfigFilename;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (isTypeScriptEnabled && options.configs.vue) {
|
|
66
76
|
options.configs.vue = options.configs.vue === true ? {} : options.configs.vue;
|
|
67
77
|
options.configs.vue.blockLang = { script: "ts" };
|
|
68
78
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -82,9 +82,9 @@ function defineConfig(...args) {
|
|
|
82
82
|
return defineConfig$1([
|
|
83
83
|
{
|
|
84
84
|
name: "shayanthenerd/project",
|
|
85
|
-
rules,
|
|
86
85
|
linterOptions,
|
|
87
|
-
|
|
86
|
+
settings,
|
|
87
|
+
rules
|
|
88
88
|
},
|
|
89
89
|
globalIgnores(ignorePatterns, "shayanthenerd/ignores"),
|
|
90
90
|
getBaseConfig(mergedOptions),
|
|
@@ -114,7 +114,7 @@ function getPerfectionistRules(options) {
|
|
|
114
114
|
"perfectionist/sort-named-exports": "warn",
|
|
115
115
|
"perfectionist/sort-imports": ["warn", {
|
|
116
116
|
environment: env === "bun" ? "bun" : "node",
|
|
117
|
-
tsconfig: tsConfig ||
|
|
117
|
+
tsconfig: tsConfig || { rootDir: "" },
|
|
118
118
|
sortSideEffects: true,
|
|
119
119
|
fallbackSort: {
|
|
120
120
|
order: "asc",
|
package/dist/rules/stylistic.mjs
CHANGED
|
@@ -165,10 +165,10 @@ function getStylisticRules(options) {
|
|
|
165
165
|
},
|
|
166
166
|
{
|
|
167
167
|
prev: [
|
|
168
|
-
"var",
|
|
169
|
-
"let",
|
|
170
168
|
"const",
|
|
171
|
-
"
|
|
169
|
+
"let",
|
|
170
|
+
"using",
|
|
171
|
+
"var"
|
|
172
172
|
],
|
|
173
173
|
next: "block-like",
|
|
174
174
|
blankLine: "any"
|
|
@@ -178,10 +178,28 @@ function getStylisticRules(options) {
|
|
|
178
178
|
next: "*",
|
|
179
179
|
blankLine: "always"
|
|
180
180
|
},
|
|
181
|
+
{
|
|
182
|
+
prev: [
|
|
183
|
+
"if",
|
|
184
|
+
"switch",
|
|
185
|
+
"try",
|
|
186
|
+
"for",
|
|
187
|
+
"while",
|
|
188
|
+
"do",
|
|
189
|
+
"with"
|
|
190
|
+
],
|
|
191
|
+
next: [
|
|
192
|
+
"break",
|
|
193
|
+
"continue",
|
|
194
|
+
"return",
|
|
195
|
+
"throw"
|
|
196
|
+
],
|
|
197
|
+
blankLine: "any"
|
|
198
|
+
},
|
|
181
199
|
{
|
|
182
200
|
prev: ["case", "default"],
|
|
183
201
|
next: ["case", "default"],
|
|
184
|
-
blankLine: "
|
|
202
|
+
blankLine: "never"
|
|
185
203
|
}
|
|
186
204
|
],
|
|
187
205
|
"@stylistic/quote-props": ["warn", "consistent-as-needed"],
|
package/dist/rules/vue.mjs
CHANGED
|
@@ -56,11 +56,12 @@ function getVueRules(options) {
|
|
|
56
56
|
"vuejs-accessibility/tabindex-no-positive": "error"
|
|
57
57
|
};
|
|
58
58
|
const vueAndNuxtRules = {
|
|
59
|
+
"@typescript-eslint/no-useless-default-assignment": "off",
|
|
59
60
|
"vue/jsx-uses-vars": "error",
|
|
60
61
|
"vue/comment-directive": ["error", { reportUnusedDisableDirectives: true }],
|
|
61
62
|
"vue/multi-word-component-names": "error",
|
|
62
63
|
"vue/no-arrow-functions-in-watch": "warn",
|
|
63
|
-
"vue/no-async-in-computed-properties": ["error", { ignoredObjectNames: ["z"] }],
|
|
64
|
+
"vue/no-async-in-computed-properties": ["error", { ignoredObjectNames: ["z", "zod"] }],
|
|
64
65
|
"vue/no-child-content": "error",
|
|
65
66
|
"vue/no-computed-properties-in-data": "error",
|
|
66
67
|
"vue/no-deprecated-data-object-declaration": "error",
|
package/dist/rules/zod.mjs
CHANGED
|
@@ -12,12 +12,15 @@ function getZodRules(options) {
|
|
|
12
12
|
"zod-mini/consistent-schema-var-name": "warn",
|
|
13
13
|
"zod-mini/no-any-schema": "error",
|
|
14
14
|
"zod-mini/no-coerce-boolean": "warn",
|
|
15
|
+
"zod-mini/no-conflicting-checks": "warn",
|
|
15
16
|
"zod-mini/no-duplicate-schema-methods": "error",
|
|
16
17
|
"zod-mini/no-empty-custom-schema": "error",
|
|
17
18
|
"zod-mini/no-throw-in-refine": "error",
|
|
18
19
|
"zod-mini/no-transform-in-record-key": "error",
|
|
20
|
+
"zod-mini/no-unnecessary-readonly": "warn",
|
|
19
21
|
"zod-mini/prefer-enum-over-literal-union": "warn",
|
|
20
22
|
"zod-mini/prefer-meta": "warn",
|
|
23
|
+
"zod-mini/prefer-tuple-over-array-length": "warn",
|
|
21
24
|
"zod-mini/require-brand-type-parameter": "error",
|
|
22
25
|
"zod-mini/require-error-message": "warn"
|
|
23
26
|
} : {
|
|
@@ -28,6 +31,7 @@ function getZodRules(options) {
|
|
|
28
31
|
"zod/consistent-schema-var-name": "warn",
|
|
29
32
|
"zod/no-any-schema": "error",
|
|
30
33
|
"zod/no-coerce-boolean": "warn",
|
|
34
|
+
"zod/no-conflicting-checks": "error",
|
|
31
35
|
"zod/no-duplicate-schema-methods": "error",
|
|
32
36
|
"zod/no-empty-custom-schema": "error",
|
|
33
37
|
"zod/no-native-enum": "warn",
|
|
@@ -43,6 +47,7 @@ function getZodRules(options) {
|
|
|
43
47
|
"zod/no-schema-with-is-optional": "warn",
|
|
44
48
|
"zod/no-throw-in-refine": "error",
|
|
45
49
|
"zod/no-transform-in-record-key": "error",
|
|
50
|
+
"zod/no-unnecessary-readonly": "warn",
|
|
46
51
|
"zod/prefer-enum-over-literal-union": "warn",
|
|
47
52
|
"zod/prefer-loose-object": "warn",
|
|
48
53
|
"zod/prefer-meta": "warn",
|
|
@@ -50,6 +55,7 @@ function getZodRules(options) {
|
|
|
50
55
|
"zod/prefer-strict-object": "warn",
|
|
51
56
|
"zod/prefer-top-level-string-formats": "warn",
|
|
52
57
|
"zod/prefer-trim-before-string-length-checks": "error",
|
|
58
|
+
"zod/prefer-tuple-over-array-length": "warn",
|
|
53
59
|
"zod/require-brand-type-parameter": "error",
|
|
54
60
|
"zod/require-error-message": "warn"
|
|
55
61
|
};
|
|
@@ -9731,6 +9731,11 @@ interface ESLintSchema {
|
|
|
9731
9731
|
* @see https://github.com/marcalexiei/eslint-zod/blob/HEAD/plugins/eslint-plugin-zod-mini/docs/rules/no-coerce-boolean.md
|
|
9732
9732
|
*/
|
|
9733
9733
|
'zod-mini/no-coerce-boolean'?: Linter.RuleEntry<[]>;
|
|
9734
|
+
/**
|
|
9735
|
+
* Disallow check combinations that can never match, are redundant, or do not apply to the schema type
|
|
9736
|
+
* @see https://github.com/marcalexiei/eslint-zod/blob/HEAD/plugins/eslint-plugin-zod-mini/docs/rules/no-conflicting-checks.md
|
|
9737
|
+
*/
|
|
9738
|
+
'zod-mini/no-conflicting-checks'?: Linter.RuleEntry<ZodMiniNoConflictingChecks>;
|
|
9734
9739
|
/**
|
|
9735
9740
|
* Disallow calling the same schema method more than once in a single chain
|
|
9736
9741
|
* @see https://github.com/marcalexiei/eslint-zod/blob/HEAD/plugins/eslint-plugin-zod-mini/docs/rules/no-duplicate-schema-methods.md
|
|
@@ -9756,6 +9761,11 @@ interface ESLintSchema {
|
|
|
9756
9761
|
* @see https://github.com/marcalexiei/eslint-zod/blob/HEAD/plugins/eslint-plugin-zod-mini/docs/rules/no-unknown-schema.md
|
|
9757
9762
|
*/
|
|
9758
9763
|
'zod-mini/no-unknown-schema'?: Linter.RuleEntry<[]>;
|
|
9764
|
+
/**
|
|
9765
|
+
* Disallow `z.readonly()` on schemas whose output is already immutable
|
|
9766
|
+
* @see https://github.com/marcalexiei/eslint-zod/blob/HEAD/plugins/eslint-plugin-zod-mini/docs/rules/no-unnecessary-readonly.md
|
|
9767
|
+
*/
|
|
9768
|
+
'zod-mini/no-unnecessary-readonly'?: Linter.RuleEntry<[]>;
|
|
9759
9769
|
/**
|
|
9760
9770
|
* Prefer `z.enum()` over `z.union()` when all members are string literals.
|
|
9761
9771
|
* @see https://github.com/marcalexiei/eslint-zod/blob/HEAD/plugins/eslint-plugin-zod-mini/docs/rules/prefer-enum-over-literal-union.md
|
|
@@ -9766,6 +9776,11 @@ interface ESLintSchema {
|
|
|
9766
9776
|
* @see https://github.com/marcalexiei/eslint-zod/blob/HEAD/plugins/eslint-plugin-zod-mini/docs/rules/prefer-meta.md
|
|
9767
9777
|
*/
|
|
9768
9778
|
'zod-mini/prefer-meta'?: Linter.RuleEntry<[]>;
|
|
9779
|
+
/**
|
|
9780
|
+
* Prefer `z.tuple()` over a length-constrained `z.array()` so the length is preserved in the inferred type.
|
|
9781
|
+
* @see https://github.com/marcalexiei/eslint-zod/blob/HEAD/plugins/eslint-plugin-zod-mini/docs/rules/prefer-tuple-over-array-length.md
|
|
9782
|
+
*/
|
|
9783
|
+
'zod-mini/prefer-tuple-over-array-length'?: Linter.RuleEntry<[]>;
|
|
9769
9784
|
/**
|
|
9770
9785
|
* Require type parameter on `.brand()` functions
|
|
9771
9786
|
* @see https://github.com/marcalexiei/eslint-zod/blob/HEAD/plugins/eslint-plugin-zod-mini/docs/rules/require-brand-type-parameter.md
|
|
@@ -9821,6 +9836,11 @@ interface ESLintSchema {
|
|
|
9821
9836
|
* @see https://github.com/marcalexiei/eslint-zod/blob/HEAD/plugins/eslint-plugin-zod/docs/rules/no-coerce-boolean.md
|
|
9822
9837
|
*/
|
|
9823
9838
|
'zod/no-coerce-boolean'?: Linter.RuleEntry<[]>;
|
|
9839
|
+
/**
|
|
9840
|
+
* Disallow check combinations that can never match, are redundant, or do not apply to the schema type
|
|
9841
|
+
* @see https://github.com/marcalexiei/eslint-zod/blob/HEAD/plugins/eslint-plugin-zod/docs/rules/no-conflicting-checks.md
|
|
9842
|
+
*/
|
|
9843
|
+
'zod/no-conflicting-checks'?: Linter.RuleEntry<ZodNoConflictingChecks>;
|
|
9824
9844
|
/**
|
|
9825
9845
|
* Disallow calling the same schema method more than once in a single chain
|
|
9826
9846
|
* @see https://github.com/marcalexiei/eslint-zod/blob/HEAD/plugins/eslint-plugin-zod/docs/rules/no-duplicate-schema-methods.md
|
|
@@ -9907,6 +9927,11 @@ interface ESLintSchema {
|
|
|
9907
9927
|
* @see https://github.com/marcalexiei/eslint-zod/blob/HEAD/plugins/eslint-plugin-zod/docs/rules/no-unknown-schema.md
|
|
9908
9928
|
*/
|
|
9909
9929
|
'zod/no-unknown-schema'?: Linter.RuleEntry<[]>;
|
|
9930
|
+
/**
|
|
9931
|
+
* Disallow `.readonly()` on schemas whose output is already immutable
|
|
9932
|
+
* @see https://github.com/marcalexiei/eslint-zod/blob/HEAD/plugins/eslint-plugin-zod/docs/rules/no-unnecessary-readonly.md
|
|
9933
|
+
*/
|
|
9934
|
+
'zod/no-unnecessary-readonly'?: Linter.RuleEntry<[]>;
|
|
9910
9935
|
/**
|
|
9911
9936
|
* Prefer `z.enum()` over `z.union()` when all members are string literals.
|
|
9912
9937
|
* @see https://github.com/marcalexiei/eslint-zod/blob/HEAD/plugins/eslint-plugin-zod/docs/rules/prefer-enum-over-literal-union.md
|
|
@@ -9947,6 +9972,11 @@ interface ESLintSchema {
|
|
|
9947
9972
|
* @see https://github.com/marcalexiei/eslint-zod/blob/HEAD/plugins/eslint-plugin-zod/docs/rules/prefer-trim-before-string-length-checks.md
|
|
9948
9973
|
*/
|
|
9949
9974
|
'zod/prefer-trim-before-string-length-checks'?: Linter.RuleEntry<[]>;
|
|
9975
|
+
/**
|
|
9976
|
+
* Prefer `z.tuple()` over a length-constrained `z.array()` so the length is preserved in the inferred type.
|
|
9977
|
+
* @see https://github.com/marcalexiei/eslint-zod/blob/HEAD/plugins/eslint-plugin-zod/docs/rules/prefer-tuple-over-array-length.md
|
|
9978
|
+
*/
|
|
9979
|
+
'zod/prefer-tuple-over-array-length'?: Linter.RuleEntry<[]>;
|
|
9950
9980
|
/**
|
|
9951
9981
|
* Require type parameter on `.brand()` functions
|
|
9952
9982
|
* @see https://github.com/marcalexiei/eslint-zod/blob/HEAD/plugins/eslint-plugin-zod/docs/rules/require-brand-type-parameter.md
|
|
@@ -23108,6 +23138,12 @@ type ZodMiniConsistentSchemaVarName = [] | [{
|
|
|
23108
23138
|
before?: string;
|
|
23109
23139
|
after?: string;
|
|
23110
23140
|
}];
|
|
23141
|
+
// ----- zod-mini/no-conflicting-checks -----
|
|
23142
|
+
type ZodMiniNoConflictingChecks = [] | [{
|
|
23143
|
+
checkImpossibleCases?: boolean;
|
|
23144
|
+
checkConfusingCases?: boolean;
|
|
23145
|
+
checkInapplicableChecks?: boolean;
|
|
23146
|
+
}];
|
|
23111
23147
|
// ----- zod-mini/schema-error-property-style -----
|
|
23112
23148
|
type ZodMiniSchemaErrorPropertyStyle = [] | [{
|
|
23113
23149
|
selector?: string;
|
|
@@ -23138,6 +23174,12 @@ type ZodConsistentSchemaVarName = [] | [{
|
|
|
23138
23174
|
before?: string;
|
|
23139
23175
|
after?: string;
|
|
23140
23176
|
}];
|
|
23177
|
+
// ----- zod/no-conflicting-checks -----
|
|
23178
|
+
type ZodNoConflictingChecks = [] | [{
|
|
23179
|
+
checkImpossibleCases?: boolean;
|
|
23180
|
+
checkConfusingCases?: boolean;
|
|
23181
|
+
checkInapplicableChecks?: boolean;
|
|
23182
|
+
}];
|
|
23141
23183
|
// ----- zod/no-optional-and-default-together -----
|
|
23142
23184
|
type ZodNoOptionalAndDefaultTogether = [] | [{
|
|
23143
23185
|
preferredMethod?: ("none" | "default" | "optional");
|
package/dist/types/index.d.mts
CHANGED
|
@@ -81,25 +81,25 @@ interface Options {
|
|
|
81
81
|
* - [better-tailwindcss: `tsconfig` option](https://github.com/schoero/eslint-plugin-better-tailwindcss/blob/main/docs/settings/settings.md#tsconfig)
|
|
82
82
|
* - [perfectionist/sort-imports: `tsconfig` option](https://perfectionist.dev/rules/sort-imports#tsconfig)
|
|
83
83
|
*
|
|
84
|
-
* @default
|
|
84
|
+
* @default false // `{ rootDir: options.packageDir ?? '.', filename: 'tsconfig.json' }` if TypeScript integration is enabled
|
|
85
85
|
*/
|
|
86
86
|
tsConfig?: false | {
|
|
87
87
|
/**
|
|
88
|
-
* The
|
|
88
|
+
* The directory of the root TypeScript config file.
|
|
89
89
|
*
|
|
90
90
|
* It will fall back to the default value if set to an empty string (`''`).
|
|
91
91
|
*
|
|
92
|
-
* @default '
|
|
92
|
+
* @default options.packageDir ?? '.'
|
|
93
93
|
*/
|
|
94
|
-
|
|
94
|
+
rootDir?: string;
|
|
95
95
|
/**
|
|
96
|
-
* The
|
|
96
|
+
* The name of the root TypeScript config file.
|
|
97
97
|
*
|
|
98
98
|
* It will fall back to the default value if set to an empty string (`''`).
|
|
99
99
|
*
|
|
100
|
-
* @default '.'
|
|
100
|
+
* @default 'tsconfig.json'
|
|
101
101
|
*/
|
|
102
|
-
|
|
102
|
+
filename?: string;
|
|
103
103
|
};
|
|
104
104
|
/*** Project ***/
|
|
105
105
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shayanthenerd/eslint-config",
|
|
3
|
-
"version": "0.28.
|
|
3
|
+
"version": "0.28.2",
|
|
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,7 +49,7 @@
|
|
|
49
49
|
"{**/*.ts,package.json}": "pnpm lint"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@eslint-react/eslint-plugin": "5.
|
|
52
|
+
"@eslint-react/eslint-plugin": "5.17.1",
|
|
53
53
|
"@eslint/css": "1.4.0",
|
|
54
54
|
"@eslint/markdown": "8.0.3",
|
|
55
55
|
"@html-eslint/eslint-plugin": "0.64.0",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"defu": "6.1.7",
|
|
62
62
|
"eslint-flat-config-utils": "3.2.0",
|
|
63
63
|
"eslint-import-resolver-typescript": "4.4.5",
|
|
64
|
-
"eslint-plugin-astro": "3.0.
|
|
64
|
+
"eslint-plugin-astro": "3.0.1",
|
|
65
65
|
"eslint-plugin-baseline-js": "0.7.0",
|
|
66
66
|
"eslint-plugin-better-tailwindcss": "4.6.1",
|
|
67
67
|
"eslint-plugin-cypress": "6.4.3",
|
|
@@ -72,12 +72,12 @@
|
|
|
72
72
|
"eslint-plugin-perfectionist": "5.10.0",
|
|
73
73
|
"eslint-plugin-playwright": "2.10.5",
|
|
74
74
|
"eslint-plugin-promise": "7.3.0",
|
|
75
|
-
"eslint-plugin-storybook": "10.5.
|
|
75
|
+
"eslint-plugin-storybook": "10.5.2",
|
|
76
76
|
"eslint-plugin-unicorn": "72.0.0",
|
|
77
77
|
"eslint-plugin-vue": "10.9.2",
|
|
78
78
|
"eslint-plugin-vuejs-accessibility": "2.5.0",
|
|
79
|
-
"eslint-plugin-zod": "4.
|
|
80
|
-
"eslint-plugin-zod-mini": "1.
|
|
79
|
+
"eslint-plugin-zod": "4.8.0",
|
|
80
|
+
"eslint-plugin-zod-mini": "1.5.0",
|
|
81
81
|
"globals": "17.7.0",
|
|
82
82
|
"local-pkg": "1.2.1",
|
|
83
83
|
"tailwind-csstree": "0.3.3",
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
"serve": "14.2.6",
|
|
98
98
|
"simple-git-hooks": "2.13.1",
|
|
99
99
|
"ts-morph": "28.0.0",
|
|
100
|
-
"tsdown": "0.22.
|
|
100
|
+
"tsdown": "0.22.9",
|
|
101
101
|
"typescript": "6.0.3",
|
|
102
102
|
"unplugin-unused": "0.5.7"
|
|
103
103
|
},
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
"devEngines": {
|
|
111
111
|
"packageManager": {
|
|
112
112
|
"name": "pnpm",
|
|
113
|
-
"version": "11.13.
|
|
113
|
+
"version": "11.13.1",
|
|
114
114
|
"onFail": "warn"
|
|
115
115
|
},
|
|
116
116
|
"runtime": {
|