@ghettoddos/eslint-config 1.8.3 → 2.0.1
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 +8 -7
- package/dist/index.d.ts +152 -72
- package/dist/index.js +37 -28
- package/package.json +35 -34
package/README.md
CHANGED
|
@@ -293,13 +293,14 @@ Check out the [configs](https://github.com/ghettoDdOS/eslint-config/blob/master/
|
|
|
293
293
|
|
|
294
294
|
Since flat config requires us to explicitly provide the plugin names (instead of the mandatory convention from npm package name), we renamed some plugins to make the overall scope more consistent and easier to write.
|
|
295
295
|
|
|
296
|
-
| New Prefix | Original Prefix | Source Plugin
|
|
297
|
-
| ---------- | ---------------------- |
|
|
298
|
-
| `import/*` | `import-lite/*` | [eslint-plugin-import-lite](https://github.com/9romise/eslint-plugin-import-lite)
|
|
299
|
-
| `node/*` | `n/*` | [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n)
|
|
300
|
-
| `yaml/*` | `yml/*` | [eslint-plugin-yml](https://github.com/ota-meshi/eslint-plugin-yml)
|
|
301
|
-
| `ts/*` | `@typescript-eslint/*` | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint)
|
|
302
|
-
| `style/*` | `@stylistic/*` | [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic)
|
|
296
|
+
| New Prefix | Original Prefix | Source Plugin |
|
|
297
|
+
| ---------- | ---------------------- | ----------------------------------------------------------------------------------------------------- |
|
|
298
|
+
| `import/*` | `import-lite/*` | [eslint-plugin-import-lite](https://github.com/9romise/eslint-plugin-import-lite) |
|
|
299
|
+
| `node/*` | `n/*` | [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) |
|
|
300
|
+
| `yaml/*` | `yml/*` | [eslint-plugin-yml](https://github.com/ota-meshi/eslint-plugin-yml) |
|
|
301
|
+
| `ts/*` | `@typescript-eslint/*` | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint) |
|
|
302
|
+
| `style/*` | `@stylistic/*` | [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic) |
|
|
303
|
+
| `next/*` | `@next/next` | [@next/eslint-plugin-next](https://github.com/vercel/next.js/tree/canary/packages/eslint-plugin-next) |
|
|
303
304
|
|
|
304
305
|
When you want to override rules, or disable them inline, you need to update to the new prefix:
|
|
305
306
|
|
package/dist/index.d.ts
CHANGED
|
@@ -375,6 +375,16 @@ interface RuleOptions {
|
|
|
375
375
|
* @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/require-description.html
|
|
376
376
|
*/
|
|
377
377
|
'eslint-comments/require-description'?: Linter.RuleEntry<EslintCommentsRequireDescription>;
|
|
378
|
+
/**
|
|
379
|
+
* Prevents process.env from being accessed dynamically
|
|
380
|
+
* @see https://github.com/expo/expo/blob/main/packages/eslint-plugin-expo/docs/rules/no-dynamic-env-var.md
|
|
381
|
+
*/
|
|
382
|
+
'expo/no-dynamic-env-var'?: Linter.RuleEntry<[]>;
|
|
383
|
+
/**
|
|
384
|
+
* Disallow desctructuring of environment variables
|
|
385
|
+
* @see https://github.com/expo/expo/blob/main/packages/eslint-plugin-expo/docs/rules/no-env-var-destructuring.md
|
|
386
|
+
*/
|
|
387
|
+
'expo/no-env-var-destructuring'?: Linter.RuleEntry<[]>;
|
|
378
388
|
/**
|
|
379
389
|
* Enforce `for` loop update clause moving the counter in the right direction
|
|
380
390
|
* @see https://eslint.org/docs/latest/rules/for-direction
|
|
@@ -1013,7 +1023,7 @@ interface RuleOptions {
|
|
|
1013
1023
|
* Enforce heading levels increment by one
|
|
1014
1024
|
* @see https://github.com/eslint/markdown/blob/main/docs/rules/heading-increment.md
|
|
1015
1025
|
*/
|
|
1016
|
-
'markdown/heading-increment'?: Linter.RuleEntry<
|
|
1026
|
+
'markdown/heading-increment'?: Linter.RuleEntry<MarkdownHeadingIncrement>;
|
|
1017
1027
|
/**
|
|
1018
1028
|
* Disallow bare URLs
|
|
1019
1029
|
* @see https://github.com/eslint/markdown/blob/main/docs/rules/no-bare-urls.md
|
|
@@ -1058,7 +1068,7 @@ interface RuleOptions {
|
|
|
1058
1068
|
* Disallow headings without a space after the hash characters
|
|
1059
1069
|
* @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-atx-heading-space.md
|
|
1060
1070
|
*/
|
|
1061
|
-
'markdown/no-missing-atx-heading-space'?: Linter.RuleEntry<
|
|
1071
|
+
'markdown/no-missing-atx-heading-space'?: Linter.RuleEntry<MarkdownNoMissingAtxHeadingSpace>;
|
|
1062
1072
|
/**
|
|
1063
1073
|
* Disallow missing label references
|
|
1064
1074
|
* @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-label-refs.md
|
|
@@ -1079,6 +1089,11 @@ interface RuleOptions {
|
|
|
1079
1089
|
* @see https://github.com/eslint/markdown/blob/main/docs/rules/no-reversed-media-syntax.md
|
|
1080
1090
|
*/
|
|
1081
1091
|
'markdown/no-reversed-media-syntax'?: Linter.RuleEntry<[]>;
|
|
1092
|
+
/**
|
|
1093
|
+
* Disallow spaces around emphasis markers
|
|
1094
|
+
* @see https://github.com/eslint/markdown/blob/main/docs/rules/no-space-in-emphasis.md
|
|
1095
|
+
*/
|
|
1096
|
+
'markdown/no-space-in-emphasis'?: Linter.RuleEntry<MarkdownNoSpaceInEmphasis>;
|
|
1082
1097
|
/**
|
|
1083
1098
|
* Disallow unused definitions
|
|
1084
1099
|
* @see https://github.com/eslint/markdown/blob/main/docs/rules/no-unused-definitions.md
|
|
@@ -2468,7 +2483,7 @@ interface RuleOptions {
|
|
|
2468
2483
|
*/
|
|
2469
2484
|
'pnpm/json-enforce-catalog'?: Linter.RuleEntry<PnpmJsonEnforceCatalog>;
|
|
2470
2485
|
/**
|
|
2471
|
-
* Prefer having pnpm settings in `pnpm-workspace.yaml` instead of `package.json`. This
|
|
2486
|
+
* Prefer having pnpm settings in `pnpm-workspace.yaml` instead of `package.json`. This requires pnpm v10.6+, see https://github.com/orgs/pnpm/discussions/9037.
|
|
2472
2487
|
* @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/json/json-prefer-workspace-settings.test.ts
|
|
2473
2488
|
*/
|
|
2474
2489
|
'pnpm/json-prefer-workspace-settings'?: Linter.RuleEntry<PnpmJsonPreferWorkspaceSettings>;
|
|
@@ -2478,7 +2493,7 @@ interface RuleOptions {
|
|
|
2478
2493
|
*/
|
|
2479
2494
|
'pnpm/json-valid-catalog'?: Linter.RuleEntry<PnpmJsonValidCatalog>;
|
|
2480
2495
|
/**
|
|
2481
|
-
* Disallow
|
|
2496
|
+
* Disallow duplicate catalog items in `pnpm-workspace.yaml`
|
|
2482
2497
|
* @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/yaml/yaml-no-duplicate-catalog-item.test.ts
|
|
2483
2498
|
*/
|
|
2484
2499
|
'pnpm/yaml-no-duplicate-catalog-item'?: Linter.RuleEntry<PnpmYamlNoDuplicateCatalogItem>;
|
|
@@ -2991,7 +3006,7 @@ interface RuleOptions {
|
|
|
2991
3006
|
'react/no-nested-components'?: Linter.RuleEntry<[]>;
|
|
2992
3007
|
/**
|
|
2993
3008
|
* Disallow nesting lazy component declarations inside other components.
|
|
2994
|
-
* @see https://eslint-react.xyz/docs/rules/no-nested-component-
|
|
3009
|
+
* @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
|
|
2995
3010
|
*/
|
|
2996
3011
|
'react/no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>;
|
|
2997
3012
|
/**
|
|
@@ -3796,8 +3811,9 @@ interface RuleOptions {
|
|
|
3796
3811
|
*/
|
|
3797
3812
|
'style/jsx-pascal-case'?: Linter.RuleEntry<StyleJsxPascalCase>;
|
|
3798
3813
|
/**
|
|
3799
|
-
* Disallow multiple spaces between inline JSX props
|
|
3814
|
+
* Disallow multiple spaces between inline JSX props. Deprecated, use `no-multi-spaces` rule instead.
|
|
3800
3815
|
* @see https://eslint.style/rules/jsx-props-no-multi-spaces
|
|
3816
|
+
* @deprecated
|
|
3801
3817
|
*/
|
|
3802
3818
|
'style/jsx-props-no-multi-spaces'?: Linter.RuleEntry<[]>;
|
|
3803
3819
|
/**
|
|
@@ -5593,7 +5609,7 @@ interface RuleOptions {
|
|
|
5593
5609
|
* Order of UnoCSS utilities in class attribute
|
|
5594
5610
|
* @see https://unocss.dev/integrations/eslint#rules
|
|
5595
5611
|
*/
|
|
5596
|
-
'unocss/order'?: Linter.RuleEntry<
|
|
5612
|
+
'unocss/order'?: Linter.RuleEntry<UnocssOrder>;
|
|
5597
5613
|
/**
|
|
5598
5614
|
* Order of UnoCSS attributes
|
|
5599
5615
|
* @see https://unocss.dev/integrations/eslint#rules
|
|
@@ -6159,6 +6175,16 @@ interface RuleOptions {
|
|
|
6159
6175
|
* @see https://eslint.vuejs.org/rules/no-mutating-props.html
|
|
6160
6176
|
*/
|
|
6161
6177
|
'vue/no-mutating-props'?: Linter.RuleEntry<VueNoMutatingProps>;
|
|
6178
|
+
/**
|
|
6179
|
+
* Disallow negated conditions in `<template>`
|
|
6180
|
+
* @see https://eslint.vuejs.org/rules/no-negated-condition.html
|
|
6181
|
+
*/
|
|
6182
|
+
'vue/no-negated-condition'?: Linter.RuleEntry<[]>;
|
|
6183
|
+
/**
|
|
6184
|
+
* disallow negated conditions in v-if/v-else
|
|
6185
|
+
* @see https://eslint.vuejs.org/rules/no-negated-v-if-condition.html
|
|
6186
|
+
*/
|
|
6187
|
+
'vue/no-negated-v-if-condition'?: Linter.RuleEntry<[]>;
|
|
6162
6188
|
/**
|
|
6163
6189
|
* disallow parsing errors in `<template>`
|
|
6164
6190
|
* @see https://eslint.vuejs.org/rules/no-parsing-error.html
|
|
@@ -7024,6 +7050,7 @@ type AccessorPairs = [] | [{
|
|
|
7024
7050
|
getWithoutSet?: boolean;
|
|
7025
7051
|
setWithoutGet?: boolean;
|
|
7026
7052
|
enforceForClassMembers?: boolean;
|
|
7053
|
+
enforceForTSTypes?: boolean;
|
|
7027
7054
|
}];
|
|
7028
7055
|
// ----- antfu/consistent-chaining -----
|
|
7029
7056
|
type AntfuConsistentChaining = [] | [{
|
|
@@ -7272,7 +7299,9 @@ type GetterReturn = [] | [{
|
|
|
7272
7299
|
allowImplicit?: boolean;
|
|
7273
7300
|
}];
|
|
7274
7301
|
// ----- grouped-accessor-pairs -----
|
|
7275
|
-
type GroupedAccessorPairs = [] | [("anyOrder" | "getBeforeSet" | "setBeforeGet")]
|
|
7302
|
+
type GroupedAccessorPairs = [] | [("anyOrder" | "getBeforeSet" | "setBeforeGet")] | [("anyOrder" | "getBeforeSet" | "setBeforeGet"), {
|
|
7303
|
+
enforceForTSTypes?: boolean;
|
|
7304
|
+
}];
|
|
7276
7305
|
// ----- handle-callback-err -----
|
|
7277
7306
|
type HandleCallbackErr = [] | [string];
|
|
7278
7307
|
// ----- id-blacklist -----
|
|
@@ -8233,6 +8262,10 @@ type LogicalAssignmentOperators = (([] | ["always"] | ["always", {
|
|
|
8233
8262
|
type MarkdownFencedCodeLanguage = [] | [{
|
|
8234
8263
|
required?: string[];
|
|
8235
8264
|
}];
|
|
8265
|
+
// ----- markdown/heading-increment -----
|
|
8266
|
+
type MarkdownHeadingIncrement = [] | [{
|
|
8267
|
+
frontmatterTitle?: string;
|
|
8268
|
+
}];
|
|
8236
8269
|
// ----- markdown/no-duplicate-definitions -----
|
|
8237
8270
|
type MarkdownNoDuplicateDefinitions = [] | [{
|
|
8238
8271
|
allowDefinitions?: string[];
|
|
@@ -8251,6 +8284,11 @@ type MarkdownNoEmptyDefinitions = [] | [{
|
|
|
8251
8284
|
// ----- markdown/no-html -----
|
|
8252
8285
|
type MarkdownNoHtml = [] | [{
|
|
8253
8286
|
allowed?: string[];
|
|
8287
|
+
allowedIgnoreCase?: boolean;
|
|
8288
|
+
}];
|
|
8289
|
+
// ----- markdown/no-missing-atx-heading-space -----
|
|
8290
|
+
type MarkdownNoMissingAtxHeadingSpace = [] | [{
|
|
8291
|
+
checkClosedHeadings?: boolean;
|
|
8254
8292
|
}];
|
|
8255
8293
|
// ----- markdown/no-missing-link-fragments -----
|
|
8256
8294
|
type MarkdownNoMissingLinkFragments = [] | [{
|
|
@@ -8261,6 +8299,10 @@ type MarkdownNoMissingLinkFragments = [] | [{
|
|
|
8261
8299
|
type MarkdownNoMultipleH1 = [] | [{
|
|
8262
8300
|
frontmatterTitle?: string;
|
|
8263
8301
|
}];
|
|
8302
|
+
// ----- markdown/no-space-in-emphasis -----
|
|
8303
|
+
type MarkdownNoSpaceInEmphasis = [] | [{
|
|
8304
|
+
checkStrikethrough?: boolean;
|
|
8305
|
+
}];
|
|
8264
8306
|
// ----- markdown/no-unused-definitions -----
|
|
8265
8307
|
type MarkdownNoUnusedDefinitions = [] | [{
|
|
8266
8308
|
allowDefinitions?: string[];
|
|
@@ -8617,10 +8659,17 @@ type NoRestrictedExports = [] | [({
|
|
|
8617
8659
|
};
|
|
8618
8660
|
})];
|
|
8619
8661
|
// ----- no-restricted-globals -----
|
|
8620
|
-
type NoRestrictedGlobals = (string | {
|
|
8662
|
+
type NoRestrictedGlobals = ((string | {
|
|
8621
8663
|
name: string;
|
|
8622
8664
|
message?: string;
|
|
8623
|
-
})[]
|
|
8665
|
+
})[] | [] | [{
|
|
8666
|
+
globals: (string | {
|
|
8667
|
+
name: string;
|
|
8668
|
+
message?: string;
|
|
8669
|
+
})[];
|
|
8670
|
+
checkGlobalObject?: boolean;
|
|
8671
|
+
globalObjects?: string[];
|
|
8672
|
+
}]);
|
|
8624
8673
|
// ----- no-restricted-imports -----
|
|
8625
8674
|
type NoRestrictedImports = ((string | {
|
|
8626
8675
|
name: string;
|
|
@@ -8749,6 +8798,7 @@ type NoUnusedVars = [] | [(("all" | "local") | {
|
|
|
8749
8798
|
caughtErrorsIgnorePattern?: string;
|
|
8750
8799
|
destructuredArrayIgnorePattern?: string;
|
|
8751
8800
|
ignoreClassWithStaticInitBlock?: boolean;
|
|
8801
|
+
ignoreUsingDeclarations?: boolean;
|
|
8752
8802
|
reportUsedIgnorePattern?: boolean;
|
|
8753
8803
|
})];
|
|
8754
8804
|
// ----- no-use-before-define -----
|
|
@@ -9114,6 +9164,8 @@ type OneVar = [] | [(("always" | "never" | "consecutive") | {
|
|
|
9114
9164
|
var?: ("always" | "never" | "consecutive");
|
|
9115
9165
|
let?: ("always" | "never" | "consecutive");
|
|
9116
9166
|
const?: ("always" | "never" | "consecutive");
|
|
9167
|
+
using?: ("always" | "never" | "consecutive");
|
|
9168
|
+
awaitUsing?: ("always" | "never" | "consecutive");
|
|
9117
9169
|
} | {
|
|
9118
9170
|
initialized?: ("always" | "never" | "consecutive");
|
|
9119
9171
|
uninitialized?: ("always" | "never" | "consecutive");
|
|
@@ -11436,6 +11488,7 @@ type StyleIndent = [] | [("tab" | number)] | [("tab" | number), {
|
|
|
11436
11488
|
const?: (number | ("first" | "off"));
|
|
11437
11489
|
using?: (number | ("first" | "off"));
|
|
11438
11490
|
});
|
|
11491
|
+
assignmentOperator?: (number | "off");
|
|
11439
11492
|
outerIIFEBody?: (number | "off");
|
|
11440
11493
|
MemberExpression?: (number | "off");
|
|
11441
11494
|
FunctionDeclaration?: {
|
|
@@ -11668,6 +11721,22 @@ type StyleKeywordSpacing = [] | [{
|
|
|
11668
11721
|
before?: boolean;
|
|
11669
11722
|
after?: boolean;
|
|
11670
11723
|
};
|
|
11724
|
+
arguments?: {
|
|
11725
|
+
before?: boolean;
|
|
11726
|
+
after?: boolean;
|
|
11727
|
+
};
|
|
11728
|
+
as?: {
|
|
11729
|
+
before?: boolean;
|
|
11730
|
+
after?: boolean;
|
|
11731
|
+
};
|
|
11732
|
+
async?: {
|
|
11733
|
+
before?: boolean;
|
|
11734
|
+
after?: boolean;
|
|
11735
|
+
};
|
|
11736
|
+
await?: {
|
|
11737
|
+
before?: boolean;
|
|
11738
|
+
after?: boolean;
|
|
11739
|
+
};
|
|
11671
11740
|
boolean?: {
|
|
11672
11741
|
before?: boolean;
|
|
11673
11742
|
after?: boolean;
|
|
@@ -11732,6 +11801,10 @@ type StyleKeywordSpacing = [] | [{
|
|
|
11732
11801
|
before?: boolean;
|
|
11733
11802
|
after?: boolean;
|
|
11734
11803
|
};
|
|
11804
|
+
eval?: {
|
|
11805
|
+
before?: boolean;
|
|
11806
|
+
after?: boolean;
|
|
11807
|
+
};
|
|
11735
11808
|
export?: {
|
|
11736
11809
|
before?: boolean;
|
|
11737
11810
|
after?: boolean;
|
|
@@ -11760,10 +11833,18 @@ type StyleKeywordSpacing = [] | [{
|
|
|
11760
11833
|
before?: boolean;
|
|
11761
11834
|
after?: boolean;
|
|
11762
11835
|
};
|
|
11836
|
+
from?: {
|
|
11837
|
+
before?: boolean;
|
|
11838
|
+
after?: boolean;
|
|
11839
|
+
};
|
|
11763
11840
|
function?: {
|
|
11764
11841
|
before?: boolean;
|
|
11765
11842
|
after?: boolean;
|
|
11766
11843
|
};
|
|
11844
|
+
get?: {
|
|
11845
|
+
before?: boolean;
|
|
11846
|
+
after?: boolean;
|
|
11847
|
+
};
|
|
11767
11848
|
goto?: {
|
|
11768
11849
|
before?: boolean;
|
|
11769
11850
|
after?: boolean;
|
|
@@ -11796,6 +11877,10 @@ type StyleKeywordSpacing = [] | [{
|
|
|
11796
11877
|
before?: boolean;
|
|
11797
11878
|
after?: boolean;
|
|
11798
11879
|
};
|
|
11880
|
+
let?: {
|
|
11881
|
+
before?: boolean;
|
|
11882
|
+
after?: boolean;
|
|
11883
|
+
};
|
|
11799
11884
|
long?: {
|
|
11800
11885
|
before?: boolean;
|
|
11801
11886
|
after?: boolean;
|
|
@@ -11812,6 +11897,10 @@ type StyleKeywordSpacing = [] | [{
|
|
|
11812
11897
|
before?: boolean;
|
|
11813
11898
|
after?: boolean;
|
|
11814
11899
|
};
|
|
11900
|
+
of?: {
|
|
11901
|
+
before?: boolean;
|
|
11902
|
+
after?: boolean;
|
|
11903
|
+
};
|
|
11815
11904
|
package?: {
|
|
11816
11905
|
before?: boolean;
|
|
11817
11906
|
after?: boolean;
|
|
@@ -11832,6 +11921,10 @@ type StyleKeywordSpacing = [] | [{
|
|
|
11832
11921
|
before?: boolean;
|
|
11833
11922
|
after?: boolean;
|
|
11834
11923
|
};
|
|
11924
|
+
set?: {
|
|
11925
|
+
before?: boolean;
|
|
11926
|
+
after?: boolean;
|
|
11927
|
+
};
|
|
11835
11928
|
short?: {
|
|
11836
11929
|
before?: boolean;
|
|
11837
11930
|
after?: boolean;
|
|
@@ -11876,59 +11969,43 @@ type StyleKeywordSpacing = [] | [{
|
|
|
11876
11969
|
before?: boolean;
|
|
11877
11970
|
after?: boolean;
|
|
11878
11971
|
};
|
|
11879
|
-
|
|
11880
|
-
before?: boolean;
|
|
11881
|
-
after?: boolean;
|
|
11882
|
-
};
|
|
11883
|
-
var?: {
|
|
11884
|
-
before?: boolean;
|
|
11885
|
-
after?: boolean;
|
|
11886
|
-
};
|
|
11887
|
-
void?: {
|
|
11888
|
-
before?: boolean;
|
|
11889
|
-
after?: boolean;
|
|
11890
|
-
};
|
|
11891
|
-
volatile?: {
|
|
11892
|
-
before?: boolean;
|
|
11893
|
-
after?: boolean;
|
|
11894
|
-
};
|
|
11895
|
-
while?: {
|
|
11972
|
+
type?: {
|
|
11896
11973
|
before?: boolean;
|
|
11897
11974
|
after?: boolean;
|
|
11898
11975
|
};
|
|
11899
|
-
|
|
11976
|
+
typeof?: {
|
|
11900
11977
|
before?: boolean;
|
|
11901
11978
|
after?: boolean;
|
|
11902
11979
|
};
|
|
11903
|
-
|
|
11980
|
+
using?: {
|
|
11904
11981
|
before?: boolean;
|
|
11905
11982
|
after?: boolean;
|
|
11906
11983
|
};
|
|
11907
|
-
|
|
11984
|
+
var?: {
|
|
11908
11985
|
before?: boolean;
|
|
11909
11986
|
after?: boolean;
|
|
11910
11987
|
};
|
|
11911
|
-
|
|
11988
|
+
void?: {
|
|
11912
11989
|
before?: boolean;
|
|
11913
11990
|
after?: boolean;
|
|
11914
11991
|
};
|
|
11915
|
-
|
|
11992
|
+
volatile?: {
|
|
11916
11993
|
before?: boolean;
|
|
11917
11994
|
after?: boolean;
|
|
11918
11995
|
};
|
|
11919
|
-
|
|
11996
|
+
while?: {
|
|
11920
11997
|
before?: boolean;
|
|
11921
11998
|
after?: boolean;
|
|
11922
11999
|
};
|
|
11923
|
-
|
|
12000
|
+
with?: {
|
|
11924
12001
|
before?: boolean;
|
|
11925
12002
|
after?: boolean;
|
|
11926
12003
|
};
|
|
11927
|
-
|
|
12004
|
+
yield?: {
|
|
11928
12005
|
before?: boolean;
|
|
11929
12006
|
after?: boolean;
|
|
11930
12007
|
};
|
|
11931
|
-
|
|
12008
|
+
accessor?: {
|
|
11932
12009
|
before?: boolean;
|
|
11933
12010
|
after?: boolean;
|
|
11934
12011
|
};
|
|
@@ -11936,22 +12013,6 @@ type StyleKeywordSpacing = [] | [{
|
|
|
11936
12013
|
before?: boolean;
|
|
11937
12014
|
after?: boolean;
|
|
11938
12015
|
};
|
|
11939
|
-
set?: {
|
|
11940
|
-
before?: boolean;
|
|
11941
|
-
after?: boolean;
|
|
11942
|
-
};
|
|
11943
|
-
using?: {
|
|
11944
|
-
before?: boolean;
|
|
11945
|
-
after?: boolean;
|
|
11946
|
-
};
|
|
11947
|
-
yield?: {
|
|
11948
|
-
before?: boolean;
|
|
11949
|
-
after?: boolean;
|
|
11950
|
-
};
|
|
11951
|
-
type?: {
|
|
11952
|
-
before?: boolean;
|
|
11953
|
-
after?: boolean;
|
|
11954
|
-
};
|
|
11955
12016
|
};
|
|
11956
12017
|
}];
|
|
11957
12018
|
// ----- style/line-comment-position -----
|
|
@@ -12151,6 +12212,7 @@ type StyleNoExtraParens = ([] | ["functions"] | [] | ["all"] | ["all", {
|
|
|
12151
12212
|
LogicalExpression?: boolean;
|
|
12152
12213
|
AwaitExpression?: boolean;
|
|
12153
12214
|
};
|
|
12215
|
+
ignoredNodes?: string[];
|
|
12154
12216
|
}]);
|
|
12155
12217
|
// ----- style/no-mixed-operators -----
|
|
12156
12218
|
type StyleNoMixedOperators = [] | [{
|
|
@@ -12266,7 +12328,7 @@ type StylePaddedBlocks = [] | [(("always" | "never" | "start" | "end") | {
|
|
|
12266
12328
|
// ----- style/padding-line-between-statements -----
|
|
12267
12329
|
type _StylePaddingLineBetweenStatementsPaddingType = ("any" | "never" | "always");
|
|
12268
12330
|
type _StylePaddingLineBetweenStatementsStatementOption = (_StylePaddingLineBetweenStatementsStatementType | [_StylePaddingLineBetweenStatementsStatementType, ...(_StylePaddingLineBetweenStatementsStatementType)[]]);
|
|
12269
|
-
type _StylePaddingLineBetweenStatementsStatementType = ("*" | "exports" | "require" | "directive" | "iife" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "continue" | "debugger" | "default" | "do" | "for" | "if" | "import" | "
|
|
12331
|
+
type _StylePaddingLineBetweenStatementsStatementType = ("*" | "exports" | "require" | "directive" | "iife" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "continue" | "debugger" | "default" | "do" | "for" | "if" | "import" | "switch" | "throw" | "try" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "function-overload" | "block-like" | "singleline-block-like" | "multiline-block-like" | "expression" | "singleline-expression" | "multiline-expression" | "return" | "singleline-return" | "multiline-return" | "export" | "singleline-export" | "multiline-export" | "var" | "singleline-var" | "multiline-var" | "let" | "singleline-let" | "multiline-let" | "const" | "singleline-const" | "multiline-const" | "using" | "singleline-using" | "multiline-using" | "type" | "singleline-type" | "multiline-type");
|
|
12270
12332
|
type StylePaddingLineBetweenStatements = {
|
|
12271
12333
|
blankLine: _StylePaddingLineBetweenStatementsPaddingType;
|
|
12272
12334
|
prev: _StylePaddingLineBetweenStatementsStatementOption;
|
|
@@ -13678,6 +13740,11 @@ type UnocssEnforceClassCompile = [] | [{
|
|
|
13678
13740
|
prefix?: string;
|
|
13679
13741
|
enableFix?: boolean;
|
|
13680
13742
|
}];
|
|
13743
|
+
// ----- unocss/order -----
|
|
13744
|
+
type UnocssOrder = [] | [{
|
|
13745
|
+
unoFunctions?: string[];
|
|
13746
|
+
unoVariables?: string[];
|
|
13747
|
+
}];
|
|
13681
13748
|
// ----- unused-imports/no-unused-imports -----
|
|
13682
13749
|
type UnusedImportsNoUnusedImports = [] | [(("all" | "local") | {
|
|
13683
13750
|
args?: ("all" | "after-used" | "none");
|
|
@@ -14430,6 +14497,7 @@ type VueNoDeprecatedRouterLinkTagProp = [] | [{
|
|
|
14430
14497
|
// ----- vue/no-deprecated-slot-attribute -----
|
|
14431
14498
|
type VueNoDeprecatedSlotAttribute = [] | [{
|
|
14432
14499
|
ignore?: string[];
|
|
14500
|
+
ignoreParents?: string[];
|
|
14433
14501
|
}];
|
|
14434
14502
|
// ----- vue/no-dupe-keys -----
|
|
14435
14503
|
type VueNoDupeKeys = [] | [{
|
|
@@ -15112,7 +15180,7 @@ type Yoda = [] | [("always" | "never")] | [("always" | "never"), {
|
|
|
15112
15180
|
onlyEquality?: boolean;
|
|
15113
15181
|
}];
|
|
15114
15182
|
// Names of all the configs
|
|
15115
|
-
type ConfigNames = 'eslint-comments/rules' | 'formatter/setup' | 'imports/rules' | 'javascript/setup' | 'javascript/rules' | 'jsx/setup' | 'jsonc/setup' | 'jsonc/rules' | 'markdown/setup' | 'markdown/processor' | 'markdown/parser' | 'markdown/disables' | 'node/rules' | 'perfectionist/setup' | 'pnpm/package-json' | 'pnpm/pnpm-workspace-yaml' | 'react/setup' | 'react/rules' | 'react-native/setup' | 'react-native/rules' | 'sort/package-json' | 'stylistic/rules' | 'toml/setup' | 'toml/rules' | 'regexp/rules' | 'typescript/setup' | 'typescript/parser' | 'typescript/rules' | 'unicorn/rules' | 'unocss' | 'vue/setup' | 'vue/rules' | 'yaml/setup' | 'yaml/rules' | 'yaml/pnpm-workspace' | 'next/setup' | 'next/rules' | '
|
|
15183
|
+
type ConfigNames = 'eslint-comments/rules' | 'formatter/setup' | 'imports/rules' | 'javascript/setup' | 'javascript/rules' | 'jsx/setup' | 'jsonc/setup' | 'jsonc/rules' | 'markdown/setup' | 'markdown/processor' | 'markdown/parser' | 'markdown/disables' | 'node/rules' | 'perfectionist/setup' | 'pnpm/package-json' | 'pnpm/pnpm-workspace-yaml' | 'react/setup' | 'react/rules' | 'react-native/setup' | 'react-native/rules' | 'sort/package-json' | 'stylistic/rules' | 'toml/setup' | 'toml/rules' | 'regexp/rules' | 'typescript/setup' | 'typescript/parser' | 'typescript/rules' | 'unicorn/rules' | 'unocss' | 'vue/setup' | 'vue/rules' | 'yaml/setup' | 'yaml/rules' | 'yaml/pnpm-workspace' | 'next/setup' | 'next/rules' | 'effector/setup' | 'effector/rules';
|
|
15116
15184
|
//#endregion
|
|
15117
15185
|
//#region src/vendor/prettier-types.d.ts
|
|
15118
15186
|
/**
|
|
@@ -15236,18 +15304,25 @@ interface VendoredPrettierOptionsRequired {
|
|
|
15236
15304
|
//#endregion
|
|
15237
15305
|
//#region src/types.d.ts
|
|
15238
15306
|
type Awaitable<T> = T | Promise<T>;
|
|
15239
|
-
|
|
15240
|
-
|
|
15307
|
+
type Rules = Record<string, Linter.RuleEntry<any> | undefined> & RuleOptions;
|
|
15308
|
+
/**
|
|
15309
|
+
* An updated version of ESLint's `Linter.Config`, which provides autocompletion
|
|
15310
|
+
* for `rules` and relaxes type limitations for `plugins` and `rules`, because
|
|
15311
|
+
* many plugins still lack proper type definitions.
|
|
15312
|
+
*/
|
|
15313
|
+
type TypedFlatConfigItem = Omit<Linter.Config, 'plugins' | 'rules'> & {
|
|
15241
15314
|
/**
|
|
15242
|
-
* An object containing a name-value mapping of plugin names to plugin objects.
|
|
15315
|
+
* An object containing a name-value mapping of plugin names to plugin objects.
|
|
15316
|
+
* When `files` is specified, these plugins are only available to the matching files.
|
|
15243
15317
|
*
|
|
15244
15318
|
* @see [Using plugins in your configuration](https://eslint.org/docs/latest/user-guide/configuring/configuration-files-new#using-plugins-in-your-configuration)
|
|
15245
15319
|
*/
|
|
15246
15320
|
plugins?: Record<string, any>;
|
|
15247
15321
|
/**
|
|
15248
|
-
*
|
|
15322
|
+
* An object containing the configured rules. When `files` or `ignores` are
|
|
15323
|
+
* specified, these rule configurations are only available to the matching files.
|
|
15249
15324
|
*/
|
|
15250
|
-
rules?:
|
|
15325
|
+
rules?: Rules;
|
|
15251
15326
|
};
|
|
15252
15327
|
interface OptionsFiles {
|
|
15253
15328
|
/**
|
|
@@ -15255,6 +15330,19 @@ interface OptionsFiles {
|
|
|
15255
15330
|
*/
|
|
15256
15331
|
files?: string[];
|
|
15257
15332
|
}
|
|
15333
|
+
interface OptionsJSXA11y extends OptionsOverrides {}
|
|
15334
|
+
interface OptionsJSX {
|
|
15335
|
+
/**
|
|
15336
|
+
* Enable JSX accessibility rules.
|
|
15337
|
+
*
|
|
15338
|
+
* Requires installing:
|
|
15339
|
+
* - `eslint-plugin-jsx-a11y`
|
|
15340
|
+
*
|
|
15341
|
+
* Can be a boolean or an object for custom options and overrides.
|
|
15342
|
+
* @default false
|
|
15343
|
+
*/
|
|
15344
|
+
a11y?: boolean | OptionsJSXA11y;
|
|
15345
|
+
}
|
|
15258
15346
|
interface OptionsVue extends OptionsOverrides {
|
|
15259
15347
|
/**
|
|
15260
15348
|
* Create virtual files for Vue SFC blocks to enable linting.
|
|
@@ -15461,11 +15549,11 @@ interface OptionsConfig extends OptionsComponentExts, OptionsProjectType {
|
|
|
15461
15549
|
/**
|
|
15462
15550
|
* Enable JSX related rules.
|
|
15463
15551
|
*
|
|
15464
|
-
*
|
|
15552
|
+
* Passing an object to enable JSX accessibility rules.
|
|
15465
15553
|
*
|
|
15466
15554
|
* @default true
|
|
15467
15555
|
*/
|
|
15468
|
-
jsx?: boolean;
|
|
15556
|
+
jsx?: boolean | OptionsJSX;
|
|
15469
15557
|
/**
|
|
15470
15558
|
* Options for eslint-plugin-unicorn.
|
|
15471
15559
|
*
|
|
@@ -15530,12 +15618,6 @@ interface OptionsConfig extends OptionsComponentExts, OptionsProjectType {
|
|
|
15530
15618
|
* @default auto-detect based on the dependencies
|
|
15531
15619
|
*/
|
|
15532
15620
|
react?: boolean | OptionsOverrides;
|
|
15533
|
-
/**
|
|
15534
|
-
* Enable jsxA11y rules.
|
|
15535
|
-
*
|
|
15536
|
-
* @default auto-detect based on the react dependencies
|
|
15537
|
-
*/
|
|
15538
|
-
jsxA11y?: boolean | OptionsOverrides;
|
|
15539
15621
|
/**
|
|
15540
15622
|
* Enable next rules.
|
|
15541
15623
|
*
|
|
@@ -15627,6 +15709,7 @@ declare const defaultPluginRenaming: {
|
|
|
15627
15709
|
'@eslint-react/dom': string;
|
|
15628
15710
|
'@eslint-react/hooks-extra': string;
|
|
15629
15711
|
'@eslint-react/naming-convention': string;
|
|
15712
|
+
'@next/next': string;
|
|
15630
15713
|
'@stylistic': string;
|
|
15631
15714
|
'@typescript-eslint': string;
|
|
15632
15715
|
'import-lite': string;
|
|
@@ -15670,10 +15753,7 @@ declare function javascript(options?: OptionsIsInEditor & OptionsOverrides): Pro
|
|
|
15670
15753
|
declare function jsonc(options?: OptionsFiles & OptionsStylistic & OptionsOverrides): Promise<TypedFlatConfigItem[]>;
|
|
15671
15754
|
//#endregion
|
|
15672
15755
|
//#region src/configs/jsx.d.ts
|
|
15673
|
-
declare function jsx(): Promise<TypedFlatConfigItem[]>;
|
|
15674
|
-
//#endregion
|
|
15675
|
-
//#region src/configs/jsx-a11y.d.ts
|
|
15676
|
-
declare function jsxA11y(options?: OptionsOverrides): Promise<TypedFlatConfigItem[]>;
|
|
15756
|
+
declare function jsx(options?: OptionsJSX): Promise<TypedFlatConfigItem[]>;
|
|
15677
15757
|
//#endregion
|
|
15678
15758
|
//#region src/configs/markdown.d.ts
|
|
15679
15759
|
declare function markdown(options?: OptionsFiles & OptionsComponentExts & OptionsOverrides): Promise<TypedFlatConfigItem[]>;
|
|
@@ -15827,4 +15907,4 @@ type ResolvedOptions<T> = T extends boolean ? never : NonNullable<T>;
|
|
|
15827
15907
|
declare function resolveSubOptions<C extends Record<string, any>, K extends keyof C>(options: C, key: K): ResolvedOptions<C[K]>;
|
|
15828
15908
|
declare function getOverrides<C extends Record<string, any>, K extends keyof C>(options: C, key: K): Partial<Linter.RulesRecord & RuleOptions>;
|
|
15829
15909
|
//#endregion
|
|
15830
|
-
export { Awaitable, type ConfigNames, GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVG, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, OptionsComponentExts, OptionsConfig, OptionsEffector, OptionsFiles, OptionsFormatters, OptionsHasTypeScript, OptionsIsInEditor, OptionsOverrides, OptionsProjectType, OptionsReactNative, OptionsRegExp, OptionsStylistic, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsUnicorn, OptionsUnoCSS, OptionsVue, ResolvedOptions, Rules, StylisticConfig, StylisticConfigDefaults, StylisticOptions, TypedFlatConfigItem, combine, comments, config, config as default, defaultPluginRenaming, disables, effector, ensurePackages, formatters, getOverrides, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsonc, jsx,
|
|
15910
|
+
export { Awaitable, type ConfigNames, GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVG, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, OptionsComponentExts, OptionsConfig, OptionsEffector, OptionsFiles, OptionsFormatters, OptionsHasTypeScript, OptionsIsInEditor, OptionsJSX, OptionsJSXA11y, OptionsOverrides, OptionsProjectType, OptionsReactNative, OptionsRegExp, OptionsStylistic, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsUnicorn, OptionsUnoCSS, OptionsVue, ResolvedOptions, Rules, StylisticConfig, StylisticConfigDefaults, StylisticOptions, TypedFlatConfigItem, combine, comments, config, config as default, defaultPluginRenaming, disables, effector, ensurePackages, formatters, getOverrides, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsonc, jsx, markdown, next, node, parserPlain, perfectionist, pnpm, react, reactNative, regexp, renameRules, resolveSubOptions, sortPackageJson, sortTsconfig, stylistic, toml, typescript, unicorn, unocss, vue, yaml };
|
package/dist/index.js
CHANGED
|
@@ -749,35 +749,44 @@ async function jsonc(options = {}) {
|
|
|
749
749
|
|
|
750
750
|
//#endregion
|
|
751
751
|
//#region src/configs/jsx.ts
|
|
752
|
-
async function jsx() {
|
|
753
|
-
|
|
752
|
+
async function jsx(options = {}) {
|
|
753
|
+
const { a11y } = options;
|
|
754
|
+
const baseConfig = {
|
|
754
755
|
files: [GLOB_JSX, GLOB_TSX],
|
|
755
756
|
languageOptions: { parserOptions: { ecmaFeatures: { jsx: true } } },
|
|
756
|
-
name: "jsx/setup"
|
|
757
|
-
|
|
758
|
-
}
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
//#region src/configs/jsx-a11y.ts
|
|
762
|
-
async function jsxA11y(options = {}) {
|
|
763
|
-
const { overrides = {} } = options;
|
|
757
|
+
name: "jsx/setup",
|
|
758
|
+
plugins: {},
|
|
759
|
+
rules: {}
|
|
760
|
+
};
|
|
761
|
+
if (!a11y) return [baseConfig];
|
|
764
762
|
await ensurePackages(["eslint-plugin-jsx-a11y"]);
|
|
765
|
-
const
|
|
763
|
+
const jsxA11yPlugin = await interopDefault(import("eslint-plugin-jsx-a11y"));
|
|
764
|
+
const a11yConfig = jsxA11yPlugin.flatConfigs.recommended;
|
|
766
765
|
const isUsingNext = NextJsPackages.some((i) => isPackageExists(i));
|
|
766
|
+
const a11yRules = {
|
|
767
|
+
...a11yConfig.rules || {},
|
|
768
|
+
"jsx-a11y/alt-text": ["error", {
|
|
769
|
+
elements: ["img"],
|
|
770
|
+
img: [...isUsingNext ? ["Image"] : []]
|
|
771
|
+
}],
|
|
772
|
+
...typeof a11y === "object" && a11y.overrides ? a11y.overrides : {}
|
|
773
|
+
};
|
|
767
774
|
return [{
|
|
768
|
-
|
|
769
|
-
|
|
775
|
+
...baseConfig,
|
|
776
|
+
...a11yConfig,
|
|
777
|
+
files: baseConfig.files,
|
|
778
|
+
languageOptions: {
|
|
779
|
+
...baseConfig.languageOptions,
|
|
780
|
+
...a11yConfig.languageOptions
|
|
781
|
+
},
|
|
782
|
+
name: baseConfig.name,
|
|
783
|
+
plugins: {
|
|
784
|
+
...baseConfig.plugins,
|
|
785
|
+
"jsx-a11y": jsxA11yPlugin
|
|
786
|
+
},
|
|
770
787
|
rules: {
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
img: [...isUsingNext ? ["Image"] : []]
|
|
774
|
-
}],
|
|
775
|
-
"jsx-a11y/aria-props": "warn",
|
|
776
|
-
"jsx-a11y/aria-proptypes": "warn",
|
|
777
|
-
"jsx-a11y/aria-unsupported-elements": "warn",
|
|
778
|
-
"jsx-a11y/role-has-required-aria-props": "warn",
|
|
779
|
-
"jsx-a11y/role-supports-aria-props": "warn",
|
|
780
|
-
...overrides
|
|
788
|
+
...baseConfig.rules,
|
|
789
|
+
...a11yRules
|
|
781
790
|
}
|
|
782
791
|
}];
|
|
783
792
|
}
|
|
@@ -1963,6 +1972,7 @@ const defaultPluginRenaming = {
|
|
|
1963
1972
|
"@eslint-react/dom": "react-dom",
|
|
1964
1973
|
"@eslint-react/hooks-extra": "react-hooks-extra",
|
|
1965
1974
|
"@eslint-react/naming-convention": "react-naming-convention",
|
|
1975
|
+
"@next/next": "next",
|
|
1966
1976
|
"@stylistic": "style",
|
|
1967
1977
|
"@typescript-eslint": "ts",
|
|
1968
1978
|
"import-lite": "import",
|
|
@@ -1981,14 +1991,14 @@ const defaultPluginRenaming = {
|
|
|
1981
1991
|
*/
|
|
1982
1992
|
function config(options = {}, ...userConfigs) {
|
|
1983
1993
|
const isUsingReact = ReactPackages.some((i) => isPackageExists(i));
|
|
1984
|
-
const { autoRenamePlugins = true, componentExts = [], effector: enableEffector = isPackageExists("effector"), gitignore: enableGitignore = true, imports: enableImports = true, jsx: enableJsx = true,
|
|
1994
|
+
const { autoRenamePlugins = true, componentExts = [], effector: enableEffector = isPackageExists("effector"), gitignore: enableGitignore = true, imports: enableImports = true, jsx: enableJsx = true, next: enableNext = NextJsPackages.some((i) => isPackageExists(i)), pnpm: enableCatalogs = false, react: enableReact = isUsingReact, reactNative: enableReactNative = ReactNativePackages.some((i) => isPackageExists(i)), regexp: enableRegexp = true, typescript: enableTypeScript = isPackageExists("typescript"), unicorn: enableUnicorn = true, unocss: enableUnoCSS = false, vue: enableVue = VuePackages.some((i) => isPackageExists(i)) } = options;
|
|
1985
1995
|
let isInEditor = options.isInEditor;
|
|
1986
1996
|
if (isInEditor == null) {
|
|
1987
1997
|
isInEditor = isInEditorEnv();
|
|
1988
1998
|
if (isInEditor) console.log("[@ghettoddos/eslint-config] Detected running in editor, some rules are disabled.");
|
|
1989
1999
|
}
|
|
1990
2000
|
const stylisticOptions = options.stylistic === false ? false : typeof options.stylistic === "object" ? options.stylistic : {};
|
|
1991
|
-
if (stylisticOptions && !("jsx" in stylisticOptions)) stylisticOptions.jsx = enableJsx;
|
|
2001
|
+
if (stylisticOptions && !("jsx" in stylisticOptions)) stylisticOptions.jsx = typeof enableJsx === "object" ? true : enableJsx;
|
|
1992
2002
|
const configs$1 = [];
|
|
1993
2003
|
if (enableGitignore) if (typeof enableGitignore !== "boolean") configs$1.push(interopDefault(import("eslint-config-flat-gitignore")).then((r) => [r({
|
|
1994
2004
|
name: "gitignore",
|
|
@@ -2010,7 +2020,7 @@ function config(options = {}, ...userConfigs) {
|
|
|
2010
2020
|
}));
|
|
2011
2021
|
if (enableUnicorn) configs$1.push(unicorn(enableUnicorn === true ? {} : enableUnicorn));
|
|
2012
2022
|
if (enableVue) componentExts.push("vue");
|
|
2013
|
-
if (enableJsx) configs$1.push(jsx());
|
|
2023
|
+
if (enableJsx) configs$1.push(jsx(enableJsx === true ? {} : enableJsx));
|
|
2014
2024
|
if (enableTypeScript) configs$1.push(typescript({
|
|
2015
2025
|
...typescriptOptions,
|
|
2016
2026
|
componentExts,
|
|
@@ -2037,7 +2047,6 @@ function config(options = {}, ...userConfigs) {
|
|
|
2037
2047
|
...resolveSubOptions(options, "reactNative"),
|
|
2038
2048
|
overrides: getOverrides(options, "reactNative")
|
|
2039
2049
|
}));
|
|
2040
|
-
if (enableJsxA11y) configs$1.push(jsxA11y({ overrides: getOverrides(options, "jsxA11y") }));
|
|
2041
2050
|
if (enableNext) configs$1.push(next({ overrides: getOverrides(options, "next") }));
|
|
2042
2051
|
if (enableEffector) configs$1.push(effector({
|
|
2043
2052
|
...resolveSubOptions(options, "effector"),
|
|
@@ -2084,4 +2093,4 @@ function config(options = {}, ...userConfigs) {
|
|
|
2084
2093
|
var src_default = config;
|
|
2085
2094
|
|
|
2086
2095
|
//#endregion
|
|
2087
|
-
export { GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVG, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, StylisticConfigDefaults, combine, comments, config, src_default as default, defaultPluginRenaming, disables, effector, ensurePackages, formatters, getOverrides, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsonc, jsx,
|
|
2096
|
+
export { GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVG, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, StylisticConfigDefaults, combine, comments, config, src_default as default, defaultPluginRenaming, disables, effector, ensurePackages, formatters, getOverrides, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsonc, jsx, markdown, next, node, parserPlain, perfectionist, pnpm, react, reactNative, regexp, renameRules, resolveSubOptions, sortPackageJson, sortTsconfig, stylistic, toml, typescript, unicorn, unocss, vue, yaml };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ghettoddos/eslint-config",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "2.0.1",
|
|
5
5
|
"description": "ghettoDdOS ESLint config",
|
|
6
6
|
"author": "ghettoDdOS <pen.egor2002@gamil.com> (https://github.com/ghettoDdOS/)",
|
|
7
7
|
"license": "MIT",
|
|
@@ -25,16 +25,16 @@
|
|
|
25
25
|
"dist"
|
|
26
26
|
],
|
|
27
27
|
"peerDependencies": {
|
|
28
|
-
"@next/eslint-plugin-next": "^15.4.
|
|
29
|
-
"@prettier/plugin-xml": "^3.4.
|
|
30
|
-
"@react-native/eslint-plugin": "
|
|
28
|
+
"@next/eslint-plugin-next": "^15.4.0",
|
|
29
|
+
"@prettier/plugin-xml": "^3.4.1",
|
|
30
|
+
"@react-native/eslint-plugin": ">=0.80.0",
|
|
31
31
|
"@unocss/eslint-plugin": ">=0.50.0",
|
|
32
32
|
"eslint": "^9.10.0",
|
|
33
|
-
"eslint-plugin-effector": "
|
|
33
|
+
"eslint-plugin-effector": ">=0.15.0",
|
|
34
34
|
"eslint-plugin-expo": "^0.1.4",
|
|
35
35
|
"eslint-plugin-format": ">=0.1.0",
|
|
36
|
-
"eslint-plugin-jsx-a11y": "
|
|
37
|
-
"eslint-plugin-react-native": "
|
|
36
|
+
"eslint-plugin-jsx-a11y": ">=6.10.2",
|
|
37
|
+
"eslint-plugin-react-native": ">=5.0.0",
|
|
38
38
|
"eslint-plugin-vuejs-accessibility": "^2.4.1"
|
|
39
39
|
},
|
|
40
40
|
"peerDependenciesMeta": {
|
|
@@ -73,60 +73,61 @@
|
|
|
73
73
|
"@antfu/install-pkg": "^1.1.0",
|
|
74
74
|
"@clack/prompts": "^0.11.0",
|
|
75
75
|
"@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
|
|
76
|
-
"@eslint-react/eslint-plugin": "^1.52.
|
|
77
|
-
"@eslint/compat": "^1.3.
|
|
78
|
-
"@eslint/markdown": "^7.
|
|
79
|
-
"@stylistic/eslint-plugin": "^5.
|
|
80
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
81
|
-
"@typescript-eslint/parser": "^8.
|
|
76
|
+
"@eslint-react/eslint-plugin": "^1.52.9",
|
|
77
|
+
"@eslint/compat": "^1.3.2",
|
|
78
|
+
"@eslint/markdown": "^7.2.0",
|
|
79
|
+
"@stylistic/eslint-plugin": "^5.3.1",
|
|
80
|
+
"@typescript-eslint/eslint-plugin": "^8.42.0",
|
|
81
|
+
"@typescript-eslint/parser": "^8.42.0",
|
|
82
82
|
"eslint-config-flat-gitignore": "^2.1.0",
|
|
83
|
-
"eslint-flat-config-utils": "^2.1.
|
|
83
|
+
"eslint-flat-config-utils": "^2.1.1",
|
|
84
84
|
"eslint-merge-processors": "^2.0.0",
|
|
85
85
|
"eslint-plugin-antfu": "^3.1.1",
|
|
86
86
|
"eslint-plugin-import-lite": "^0.3.0",
|
|
87
87
|
"eslint-plugin-import-x": "^4.16.1",
|
|
88
88
|
"eslint-plugin-jsonc": "^2.20.1",
|
|
89
|
-
"eslint-plugin-n": "^17.21.
|
|
89
|
+
"eslint-plugin-n": "^17.21.3",
|
|
90
90
|
"eslint-plugin-perfectionist": "^4.15.0",
|
|
91
|
-
"eslint-plugin-pnpm": "^1.1.
|
|
91
|
+
"eslint-plugin-pnpm": "^1.1.1",
|
|
92
92
|
"eslint-plugin-react-hooks": "^5.2.0",
|
|
93
93
|
"eslint-plugin-react-refresh": "^0.4.20",
|
|
94
|
-
"eslint-plugin-regexp": "^2.
|
|
94
|
+
"eslint-plugin-regexp": "^2.10.0",
|
|
95
95
|
"eslint-plugin-toml": "^0.12.0",
|
|
96
96
|
"eslint-plugin-unicorn": "^60.0.0",
|
|
97
|
-
"eslint-plugin-unused-imports": "^4.
|
|
98
|
-
"eslint-plugin-vue": "^10.
|
|
97
|
+
"eslint-plugin-unused-imports": "^4.2.0",
|
|
98
|
+
"eslint-plugin-vue": "^10.4.0",
|
|
99
99
|
"eslint-plugin-yml": "^1.18.0",
|
|
100
100
|
"eslint-processor-vue-blocks": "^2.0.0",
|
|
101
101
|
"globals": "^16.3.0",
|
|
102
102
|
"jsonc-eslint-parser": "^2.4.0",
|
|
103
|
-
"local-pkg": "^1.1.
|
|
103
|
+
"local-pkg": "^1.1.2",
|
|
104
104
|
"parse-gitignore": "^2.0.0",
|
|
105
105
|
"toml-eslint-parser": "^0.10.0",
|
|
106
106
|
"vue-eslint-parser": "^10.2.0",
|
|
107
107
|
"yaml-eslint-parser": "^1.3.0"
|
|
108
108
|
},
|
|
109
109
|
"devDependencies": {
|
|
110
|
-
"@eslint/config-inspector": "^1.
|
|
111
|
-
"@next/eslint-plugin-next": "^15.
|
|
110
|
+
"@eslint/config-inspector": "^1.2.0",
|
|
111
|
+
"@next/eslint-plugin-next": "^15.5.2",
|
|
112
112
|
"@prettier/plugin-xml": "^3.4.2",
|
|
113
|
-
"@react-native/eslint-plugin": "^0.
|
|
114
|
-
"@types/
|
|
115
|
-
"@
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
"eslint
|
|
113
|
+
"@react-native/eslint-plugin": "^0.81.1",
|
|
114
|
+
"@types/eslint-plugin-jsx-a11y": "^6.10.0",
|
|
115
|
+
"@types/node": "^24.3.0",
|
|
116
|
+
"@unocss/eslint-plugin": "^66.5.0",
|
|
117
|
+
"bumpp": "^10.2.3",
|
|
118
|
+
"eslint": "^9.34.0",
|
|
119
|
+
"eslint-plugin-effector": "^0.16.0",
|
|
119
120
|
"eslint-plugin-expo": "^0.1.4",
|
|
120
121
|
"eslint-plugin-format": "^1.0.1",
|
|
121
122
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
122
123
|
"eslint-plugin-react-native": "^5.0.0",
|
|
123
124
|
"eslint-plugin-vuejs-accessibility": "^2.4.1",
|
|
124
|
-
"eslint-typegen": "^2.
|
|
125
|
-
"lint-staged": "^16.1.
|
|
126
|
-
"simple-git-hooks": "^2.13.
|
|
127
|
-
"tsdown": "^0.
|
|
128
|
-
"tsx": "^4.20.
|
|
129
|
-
"typescript": "^5.
|
|
125
|
+
"eslint-typegen": "^2.3.0",
|
|
126
|
+
"lint-staged": "^16.1.6",
|
|
127
|
+
"simple-git-hooks": "^2.13.1",
|
|
128
|
+
"tsdown": "^0.14.2",
|
|
129
|
+
"tsx": "^4.20.5",
|
|
130
|
+
"typescript": "^5.9.2"
|
|
130
131
|
},
|
|
131
132
|
"simple-git-hooks": {
|
|
132
133
|
"pre-commit": "npx lint-staged"
|