@kazupon/eslint-config 0.38.0 → 0.39.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.
- package/README.md +2 -0
- package/dist/{index.d.ts → index.d.mts} +88 -5
- package/dist/{index.js → index.mjs} +116 -1
- package/package.json +26 -21
package/README.md
CHANGED
|
@@ -30,6 +30,7 @@ ESLint config for @kazupon
|
|
|
30
30
|
- `css`
|
|
31
31
|
- `html`
|
|
32
32
|
- `deps`
|
|
33
|
+
- `oxlint`
|
|
33
34
|
- Support primitive eslint flat configuration
|
|
34
35
|
- Support overrides for built-in configurations
|
|
35
36
|
- `rules`
|
|
@@ -146,6 +147,7 @@ The following built-in preset configurations are supported:
|
|
|
146
147
|
| `css` | [`@eslint/css`](https://www.npmjs.com/package/@eslint/css) | yes |
|
|
147
148
|
| `html` | [`@html-eslint/eslint-plugin`](https://www.npmjs.com/package/@html-eslint/eslint-plugin) | yes |
|
|
148
149
|
| `deps` | [`eslint-plugin-barrel-files`](https://www.npmjs.com/package/eslint-plugin-barrel-files) | yes |
|
|
150
|
+
| `oxclint` | [`eslint-plugin-oxlint`](https://www.npmjs.com/package/eslint-plugin-oxlint) | yes |
|
|
149
151
|
|
|
150
152
|
You can use `import` syntax:
|
|
151
153
|
|
|
@@ -5,6 +5,10 @@ import * as typescript0 from "typescript";
|
|
|
5
5
|
import { StylisticCustomizeOptions } from "@stylistic/eslint-plugin";
|
|
6
6
|
|
|
7
7
|
//#region src/config.d.ts
|
|
8
|
+
/**
|
|
9
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
10
|
+
* @license MIT
|
|
11
|
+
*/
|
|
8
12
|
|
|
9
13
|
/**
|
|
10
14
|
* define eslint configurations
|
|
@@ -659,6 +663,7 @@ type HtmlEslintIndent = [] | [("tab" | number)] | [("tab" | number), {
|
|
|
659
663
|
tagChildrenIndent?: {
|
|
660
664
|
[k: string]: number;
|
|
661
665
|
};
|
|
666
|
+
ignoreComment?: boolean;
|
|
662
667
|
}];
|
|
663
668
|
type HtmlEslintMaxElementDepth = [] | [{
|
|
664
669
|
max: number;
|
|
@@ -4329,6 +4334,11 @@ interface JsdocRules {
|
|
|
4329
4334
|
*/
|
|
4330
4335
|
"jsdoc/require-property-type"?: Linter.RuleEntry<[]>;
|
|
4331
4336
|
/**
|
|
4337
|
+
* Requires that Promise rejections are documented with `@rejects` tags.
|
|
4338
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-rejects.md#repos-sticky-header
|
|
4339
|
+
*/
|
|
4340
|
+
"jsdoc/require-rejects"?: Linter.RuleEntry<JsdocRequireRejects>;
|
|
4341
|
+
/**
|
|
4332
4342
|
* Requires that returns are documented with `@returns`.
|
|
4333
4343
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns.md#repos-sticky-header
|
|
4334
4344
|
*/
|
|
@@ -4469,6 +4479,7 @@ type JsdocCheckExamples = [] | [{
|
|
|
4469
4479
|
reportUnusedDisableDirectives?: boolean;
|
|
4470
4480
|
}];
|
|
4471
4481
|
type JsdocCheckIndentation = [] | [{
|
|
4482
|
+
allowIndentedSections?: boolean;
|
|
4472
4483
|
excludeTags?: string[];
|
|
4473
4484
|
}];
|
|
4474
4485
|
type JsdocCheckLineAlignment = [] | [("always" | "never" | "any")] | [("always" | "never" | "any"), {
|
|
@@ -4780,6 +4791,13 @@ type JsdocRequireParamType = [] | [{
|
|
|
4780
4791
|
defaultDestructuredRootType?: string;
|
|
4781
4792
|
setDefaultDestructuredRootType?: boolean;
|
|
4782
4793
|
}];
|
|
4794
|
+
type JsdocRequireRejects = [] | [{
|
|
4795
|
+
contexts?: (string | {
|
|
4796
|
+
comment?: string;
|
|
4797
|
+
context?: string;
|
|
4798
|
+
})[];
|
|
4799
|
+
exemptedBy?: string[];
|
|
4800
|
+
}];
|
|
4783
4801
|
type JsdocRequireReturns = [] | [{
|
|
4784
4802
|
checkConstructors?: boolean;
|
|
4785
4803
|
checkGetters?: boolean;
|
|
@@ -4860,6 +4878,9 @@ type JsdocSortTags = [] | [{
|
|
|
4860
4878
|
linesBetween?: number;
|
|
4861
4879
|
reportIntraTagGroupSpacing?: boolean;
|
|
4862
4880
|
reportTagGroupSpacing?: boolean;
|
|
4881
|
+
tagExceptions?: {
|
|
4882
|
+
[k: string]: number;
|
|
4883
|
+
};
|
|
4863
4884
|
tagSequence?: {
|
|
4864
4885
|
tags?: string[];
|
|
4865
4886
|
}[];
|
|
@@ -5944,7 +5965,6 @@ type MarkdownPreferencesSortDefinitions = [] | [{
|
|
|
5944
5965
|
match: (string | [string, ...(string)[]]);
|
|
5945
5966
|
sort: ("alphabetical" | "ignore");
|
|
5946
5967
|
})[];
|
|
5947
|
-
alphabetical?: boolean;
|
|
5948
5968
|
}];
|
|
5949
5969
|
type MarkdownPreferencesStrikethroughDelimitersStyle = [] | [{
|
|
5950
5970
|
delimiter?: ("~" | "~~");
|
|
@@ -6275,7 +6295,7 @@ interface ReactRules {
|
|
|
6275
6295
|
*/
|
|
6276
6296
|
"react-hooks/use-memo"?: Linter.RuleEntry<ReactHooksUseMemo>;
|
|
6277
6297
|
/**
|
|
6278
|
-
* Validates that useMemos always return a value. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
|
|
6298
|
+
* Validates that useMemos always return a value and that the result of the useMemo is used by the component/hook. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
|
|
6279
6299
|
*/
|
|
6280
6300
|
"react-hooks/void-use-memo"?: Linter.RuleEntry<ReactHooksVoidUseMemo>;
|
|
6281
6301
|
"react-refresh/only-export-components"?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>;
|
|
@@ -10570,6 +10590,11 @@ interface TypescriptRules {
|
|
|
10570
10590
|
*/
|
|
10571
10591
|
"@typescript-eslint/no-unused-expressions"?: Linter.RuleEntry<TypescriptEslintNoUnusedExpressions>;
|
|
10572
10592
|
/**
|
|
10593
|
+
* Disallow unused private class members
|
|
10594
|
+
* @see https://typescript-eslint.io/rules/no-unused-private-class-members
|
|
10595
|
+
*/
|
|
10596
|
+
"@typescript-eslint/no-unused-private-class-members"?: Linter.RuleEntry<[]>;
|
|
10597
|
+
/**
|
|
10573
10598
|
* Disallow unused variables
|
|
10574
10599
|
* @see https://typescript-eslint.io/rules/no-unused-vars
|
|
10575
10600
|
*/
|
|
@@ -12561,6 +12586,11 @@ type UnicornTemplateIndent = [] | [{
|
|
|
12561
12586
|
//#endregion
|
|
12562
12587
|
//#region src/types/gens/vitest.d.ts
|
|
12563
12588
|
interface VitestRules {
|
|
12589
|
+
/**
|
|
12590
|
+
* enforce using `.each` or `.for` consistently
|
|
12591
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-each-for.md
|
|
12592
|
+
*/
|
|
12593
|
+
"vitest/consistent-each-for"?: Linter.RuleEntry<VitestConsistentEachFor>;
|
|
12564
12594
|
/**
|
|
12565
12595
|
* require test file pattern
|
|
12566
12596
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md
|
|
@@ -12778,7 +12808,7 @@ interface VitestRules {
|
|
|
12778
12808
|
*/
|
|
12779
12809
|
"vitest/prefer-each"?: Linter.RuleEntry<[]>;
|
|
12780
12810
|
/**
|
|
12781
|
-
* enforce using the built-in
|
|
12811
|
+
* enforce using the built-in equality matchers
|
|
12782
12812
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-equality-matcher.md
|
|
12783
12813
|
*/
|
|
12784
12814
|
"vitest/prefer-equality-matcher"?: Linter.RuleEntry<[]>;
|
|
@@ -12888,11 +12918,21 @@ interface VitestRules {
|
|
|
12888
12918
|
*/
|
|
12889
12919
|
"vitest/prefer-vi-mocked"?: Linter.RuleEntry<[]>;
|
|
12890
12920
|
/**
|
|
12921
|
+
* ensure that every `expect.poll` call is awaited
|
|
12922
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-awaited-expect-poll.md
|
|
12923
|
+
*/
|
|
12924
|
+
"vitest/require-awaited-expect-poll"?: Linter.RuleEntry<[]>;
|
|
12925
|
+
/**
|
|
12891
12926
|
* require setup and teardown to be within a hook
|
|
12892
12927
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-hook.md
|
|
12893
12928
|
*/
|
|
12894
12929
|
"vitest/require-hook"?: Linter.RuleEntry<VitestRequireHook>;
|
|
12895
12930
|
/**
|
|
12931
|
+
* require usage of import in vi.mock()
|
|
12932
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-import-vi-mock.md
|
|
12933
|
+
*/
|
|
12934
|
+
"vitest/require-import-vi-mock"?: Linter.RuleEntry<[]>;
|
|
12935
|
+
/**
|
|
12896
12936
|
* require local Test Context for concurrent snapshot tests
|
|
12897
12937
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-local-test-context-for-concurrent-snapshots.md
|
|
12898
12938
|
*/
|
|
@@ -12938,6 +12978,12 @@ interface VitestRules {
|
|
|
12938
12978
|
*/
|
|
12939
12979
|
"vitest/warn-todo"?: Linter.RuleEntry<[]>;
|
|
12940
12980
|
}
|
|
12981
|
+
type VitestConsistentEachFor = [] | [{
|
|
12982
|
+
test?: ("each" | "for");
|
|
12983
|
+
it?: ("each" | "for");
|
|
12984
|
+
describe?: ("each" | "for");
|
|
12985
|
+
suite?: ("each" | "for");
|
|
12986
|
+
}];
|
|
12941
12987
|
type VitestConsistentTestFilename = [] | [{
|
|
12942
12988
|
pattern?: string;
|
|
12943
12989
|
allTestPattern?: string;
|
|
@@ -12963,7 +13009,7 @@ type VitestNoFocusedTests = [] | [{
|
|
|
12963
13009
|
fixable?: boolean;
|
|
12964
13010
|
}];
|
|
12965
13011
|
type VitestNoHooks = [] | [{
|
|
12966
|
-
allow?:
|
|
13012
|
+
allow?: ("beforeAll" | "beforeEach" | "afterAll" | "afterEach")[];
|
|
12967
13013
|
}];
|
|
12968
13014
|
type VitestNoLargeSnapshots = [] | [{
|
|
12969
13015
|
maxSize?: number;
|
|
@@ -13658,6 +13704,11 @@ interface VueRules {
|
|
|
13658
13704
|
*/
|
|
13659
13705
|
"vue/no-duplicate-attributes"?: Linter.RuleEntry<VueNoDuplicateAttributes>;
|
|
13660
13706
|
/**
|
|
13707
|
+
* disallow duplication of class names in class attributes
|
|
13708
|
+
* @see https://eslint.vuejs.org/rules/no-duplicate-class-names.html
|
|
13709
|
+
*/
|
|
13710
|
+
"vue/no-duplicate-class-names"?: Linter.RuleEntry<[]>;
|
|
13711
|
+
/**
|
|
13661
13712
|
* disallow the `<template>` `<script>` `<style>` block to be empty
|
|
13662
13713
|
* @see https://eslint.vuejs.org/rules/no-empty-component-block.html
|
|
13663
13714
|
*/
|
|
@@ -16059,6 +16110,16 @@ type YmlSpacedComment = [] | [("always" | "never")] | [("always" | "never"), {
|
|
|
16059
16110
|
markers?: string[];
|
|
16060
16111
|
}];
|
|
16061
16112
|
//#endregion
|
|
16113
|
+
//#region src/types/gens/oxlint.d.ts
|
|
16114
|
+
interface OxlintRules {}
|
|
16115
|
+
//#endregion
|
|
16116
|
+
//#region src/types/gens/eslint.d.ts
|
|
16117
|
+
declare module "eslint" {
|
|
16118
|
+
namespace Linter {
|
|
16119
|
+
interface RulesRecord extends CommentsRules, CssRules, DepsRules, HtmlRules, ImportsRules, JavascriptRules, JsdocRules, JsoncRules, MarkdownRules, OxlintRules, PrettierRules, PromiseRules, ReactRules, RegexpRules, StylisticRules, SvelteRules, TomlRules, TypescriptRules, UnicornRules, VitestRules, VueRules, YmlRules {}
|
|
16120
|
+
}
|
|
16121
|
+
}
|
|
16122
|
+
//#endregion
|
|
16062
16123
|
//#region src/configs/comments.d.ts
|
|
16063
16124
|
/**
|
|
16064
16125
|
* comments preset options
|
|
@@ -16332,6 +16393,28 @@ interface MarkdownOptions {
|
|
|
16332
16393
|
declare function markdown(options?: MarkdownOptions & OverridesOptions<MarkdownRules>): Promise<Linter.Config[]>;
|
|
16333
16394
|
declare const md: typeof markdown;
|
|
16334
16395
|
//#endregion
|
|
16396
|
+
//#region src/configs/oxlint.d.ts
|
|
16397
|
+
/**
|
|
16398
|
+
* Oxlint configuration options
|
|
16399
|
+
*/
|
|
16400
|
+
interface OxlintOptions {
|
|
16401
|
+
/**
|
|
16402
|
+
* oxlint config file path
|
|
16403
|
+
*/
|
|
16404
|
+
configFile?: string;
|
|
16405
|
+
/**
|
|
16406
|
+
* enable nursery rules
|
|
16407
|
+
*/
|
|
16408
|
+
withNursery?: boolean;
|
|
16409
|
+
}
|
|
16410
|
+
/**
|
|
16411
|
+
* `eslint-plugin-oxlint` and overrides configuration options
|
|
16412
|
+
*
|
|
16413
|
+
* @param {OxlintOptions & OverridesOptions} options - eslint configuration options for oxlint
|
|
16414
|
+
* @returns {Promise<Linter.Config[]>} eslint flat configurations with `eslint-plugin-oxlint` and overrides
|
|
16415
|
+
*/
|
|
16416
|
+
declare function oxlint(options?: OxlintOptions & OverridesOptions): Promise<Linter.Config[]>;
|
|
16417
|
+
//#endregion
|
|
16335
16418
|
//#region src/configs/prettier.d.ts
|
|
16336
16419
|
/**
|
|
16337
16420
|
* Prettier configuration options
|
|
@@ -16643,4 +16726,4 @@ interface YmlOptions {
|
|
|
16643
16726
|
declare function yml(options?: YmlOptions & OverridesOptions<YmlRules>): Promise<Linter.Config[]>;
|
|
16644
16727
|
declare const yaml: typeof yml;
|
|
16645
16728
|
//#endregion
|
|
16646
|
-
export { CommentsOptions, CommentsRules, CssOptions, CssRules, DepsOptions, DepsRules, HtmlOptions, HtmlRules, ImportsOptions, ImportsRules, JavaScriptOptions, JavascriptRules, JsDocumentOptions, JsdocRules, JsoncOptions, JsoncRules, MarkdownOptions, MarkdownRules, OverridesOptions, PrettierOptions, PrettierRules, PromiseOptions, PromiseRules, ReactOptions, ReactRules, RegexpOptions, RegexpRules, StylisticOptions, StylisticRules, SvelteRules, SvelteScriptOptions, TomlOptions, TomlRules, TypeScriptOptions, TypeScriptParserOptions, TypeScriptProjectServiceOptions, TypescriptRules, UnicornOptions, UnicornRules, VitestOptions, VitestRules, VueI18nOptions, VueRules, VueScriptOptions, YmlOptions, YmlRules, comments, css, defineConfig, deps, html, imports, javascript, jsdoc, jsonc, markdown, md, prettier, promise, react, regexp, stylistic, svelte, toml, typescript, unicorn, vitest, vue, yaml, yml };
|
|
16729
|
+
export { CommentsOptions, CommentsRules, CssOptions, CssRules, DepsOptions, DepsRules, HtmlOptions, HtmlRules, ImportsOptions, ImportsRules, JavaScriptOptions, JavascriptRules, JsDocumentOptions, JsdocRules, JsoncOptions, JsoncRules, MarkdownOptions, MarkdownRules, OverridesOptions, OxlintOptions, PrettierOptions, PrettierRules, PromiseOptions, PromiseRules, ReactOptions, ReactRules, RegexpOptions, RegexpRules, StylisticOptions, StylisticRules, SvelteRules, SvelteScriptOptions, TomlOptions, TomlRules, TypeScriptOptions, TypeScriptParserOptions, TypeScriptProjectServiceOptions, TypescriptRules, UnicornOptions, UnicornRules, VitestOptions, VitestRules, VueI18nOptions, VueRules, VueScriptOptions, YmlOptions, YmlRules, comments, css, defineConfig, deps, html, imports, javascript, jsdoc, jsonc, markdown, md, oxlint, prettier, promise, react, regexp, stylistic, svelte, toml, typescript, unicorn, vitest, vue, yaml, yml };
|
|
@@ -6,6 +6,10 @@ import { mergeProcessors, processorPassThrough } from "eslint-merge-processors";
|
|
|
6
6
|
|
|
7
7
|
//#region src/config.ts
|
|
8
8
|
/**
|
|
9
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
10
|
+
* @license MIT
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
9
13
|
* define eslint configurations
|
|
10
14
|
*
|
|
11
15
|
* @param {Awaitable<Linter.Config | Linter.Config[]>[]} configs - eslint flat configurations
|
|
@@ -71,6 +75,10 @@ const GLOB_TESTS_TYPE = [`**/*.test-d.${SRC_EXT}`, `**/*.spec-d.${SRC_EXT}`];
|
|
|
71
75
|
//#endregion
|
|
72
76
|
//#region src/utils.ts
|
|
73
77
|
/**
|
|
78
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
79
|
+
* @license MIT
|
|
80
|
+
*/
|
|
81
|
+
/**
|
|
74
82
|
* load eslint plugin
|
|
75
83
|
*
|
|
76
84
|
* @typeParam T - plugin type
|
|
@@ -111,6 +119,10 @@ function getGlobSourceFiles(useTypeScript = false) {
|
|
|
111
119
|
//#endregion
|
|
112
120
|
//#region src/configs/comments.ts
|
|
113
121
|
/**
|
|
122
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
123
|
+
* @license MIT
|
|
124
|
+
*/
|
|
125
|
+
/**
|
|
114
126
|
* configure comments preset for the below plugins
|
|
115
127
|
*
|
|
116
128
|
* - `@eslint-community/eslint-plugin-eslint-comments`
|
|
@@ -147,6 +159,10 @@ async function comments(options = {}) {
|
|
|
147
159
|
//#endregion
|
|
148
160
|
//#region src/configs/css.ts
|
|
149
161
|
/**
|
|
162
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
163
|
+
* @license MIT
|
|
164
|
+
*/
|
|
165
|
+
/**
|
|
150
166
|
* `@eslint/css` and overrides configuration options
|
|
151
167
|
*
|
|
152
168
|
* @param {CssOptions & OverridesOptions} options
|
|
@@ -183,6 +199,10 @@ async function css(options = {}) {
|
|
|
183
199
|
//#endregion
|
|
184
200
|
//#region src/configs/deps.ts
|
|
185
201
|
/**
|
|
202
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
203
|
+
* @license MIT
|
|
204
|
+
*/
|
|
205
|
+
/**
|
|
186
206
|
* `eslint-plugin-barrel-files` and overrides configuration options
|
|
187
207
|
*
|
|
188
208
|
* @param {DepsOptions & OverridesOptions} options - deps configuration options
|
|
@@ -211,6 +231,10 @@ async function deps(options = {}) {
|
|
|
211
231
|
//#endregion
|
|
212
232
|
//#region src/configs/html.ts
|
|
213
233
|
/**
|
|
234
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
235
|
+
* @license MIT
|
|
236
|
+
*/
|
|
237
|
+
/**
|
|
214
238
|
* `@html-eslint/eslint-plugin` and overrides configuration options
|
|
215
239
|
*
|
|
216
240
|
* @param {HtmlOptions & OverridesOptions} options - eslint configuration options for HTML
|
|
@@ -274,6 +298,10 @@ function resolveTemplateEngineSyntax(syntax, parser) {
|
|
|
274
298
|
|
|
275
299
|
//#endregion
|
|
276
300
|
//#region src/configs/imports.ts
|
|
301
|
+
/**
|
|
302
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
303
|
+
* @license MIT
|
|
304
|
+
*/
|
|
277
305
|
const IMPORTS_FILES = [
|
|
278
306
|
GLOB_JS,
|
|
279
307
|
GLOB_JSX,
|
|
@@ -344,6 +372,10 @@ async function imports(options = {}) {
|
|
|
344
372
|
//#endregion
|
|
345
373
|
//#region src/configs/javascript.ts
|
|
346
374
|
/**
|
|
375
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
376
|
+
* @license MIT
|
|
377
|
+
*/
|
|
378
|
+
/**
|
|
347
379
|
* `@eslint/js` and overrides configuration options
|
|
348
380
|
*
|
|
349
381
|
* @param {JavaScriptOptions & OverridesOptions} options - eslint configuration options for JavaScript
|
|
@@ -390,6 +422,11 @@ async function javascript(options = {}) {
|
|
|
390
422
|
//#endregion
|
|
391
423
|
//#region src/configs/jsdoc.ts
|
|
392
424
|
/**
|
|
425
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
426
|
+
*
|
|
427
|
+
* @license MIT
|
|
428
|
+
*/
|
|
429
|
+
/**
|
|
393
430
|
* `eslint-plugin-jsdoc` and overrides configuration options
|
|
394
431
|
*
|
|
395
432
|
* @param {JsDocOptions & OverridesOptions} options - eslint configuration options for JavaScript
|
|
@@ -470,6 +507,10 @@ async function jsdoc(options = {}) {
|
|
|
470
507
|
//#endregion
|
|
471
508
|
//#region src/configs/jsonc.ts
|
|
472
509
|
/**
|
|
510
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
511
|
+
* @license MIT
|
|
512
|
+
*/
|
|
513
|
+
/**
|
|
473
514
|
* `eslint-plugin-jsonc` and overrides configuration options
|
|
474
515
|
*
|
|
475
516
|
* @param {JsoncOptions & OverridesOptions} options - eslint jsonc configuration options for json, jsonc, json5
|
|
@@ -597,6 +638,10 @@ function jsoncSort() {
|
|
|
597
638
|
//#endregion
|
|
598
639
|
//#region src/configs/markdown.ts
|
|
599
640
|
/**
|
|
641
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
642
|
+
* @license MIT
|
|
643
|
+
*/
|
|
644
|
+
/**
|
|
600
645
|
* `@eslint/markdown` and overrides configuration options
|
|
601
646
|
*
|
|
602
647
|
* @param {MarkdownOptions & OverridesOptions} options - eslint unicorn configuration options
|
|
@@ -655,9 +700,35 @@ async function markdown(options = {}) {
|
|
|
655
700
|
}
|
|
656
701
|
const md = markdown;
|
|
657
702
|
|
|
703
|
+
//#endregion
|
|
704
|
+
//#region src/configs/oxlint.ts
|
|
705
|
+
/**
|
|
706
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
707
|
+
* @license MIT
|
|
708
|
+
*/
|
|
709
|
+
/**
|
|
710
|
+
* `eslint-plugin-oxlint` and overrides configuration options
|
|
711
|
+
*
|
|
712
|
+
* @param {OxlintOptions & OverridesOptions} options - eslint configuration options for oxlint
|
|
713
|
+
* @returns {Promise<Linter.Config[]>} eslint flat configurations with `eslint-plugin-oxlint` and overrides
|
|
714
|
+
*/
|
|
715
|
+
async function oxlint(options = {}) {
|
|
716
|
+
const { rules: overrideRules = {} } = options;
|
|
717
|
+
const oxlint$1 = await loadPlugin("eslint-plugin-oxlint");
|
|
718
|
+
const customConfig = {
|
|
719
|
+
name: "@kazupon/oxlint",
|
|
720
|
+
rules: { ...overrideRules }
|
|
721
|
+
};
|
|
722
|
+
return [...options.configFile ? oxlint$1.buildFromOxlintConfigFile(options.configFile, { withNursery: options.withNursery }) : oxlint$1.configs["flat/all"], customConfig];
|
|
723
|
+
}
|
|
724
|
+
|
|
658
725
|
//#endregion
|
|
659
726
|
//#region src/configs/prettier.ts
|
|
660
727
|
/**
|
|
728
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
729
|
+
* @license MIT
|
|
730
|
+
*/
|
|
731
|
+
/**
|
|
661
732
|
* `eslint-config-prettier` and overrides configuration options
|
|
662
733
|
*
|
|
663
734
|
* @param {PrettierOptions & OverridesOptions} options - eslint configuration options for Prettier
|
|
@@ -677,6 +748,10 @@ async function prettier(options = {}) {
|
|
|
677
748
|
//#endregion
|
|
678
749
|
//#region src/configs/promise.ts
|
|
679
750
|
/**
|
|
751
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
752
|
+
* @license MIT
|
|
753
|
+
*/
|
|
754
|
+
/**
|
|
680
755
|
* `eslint-plugin-promise` and overrides configuration options
|
|
681
756
|
*
|
|
682
757
|
* @param {PromiseOptions & OverridesOptions} options - eslint promise configuration options
|
|
@@ -696,6 +771,10 @@ async function promise(options = {}) {
|
|
|
696
771
|
//#endregion
|
|
697
772
|
//#region src/configs/react.ts
|
|
698
773
|
/**
|
|
774
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
775
|
+
* @license MIT
|
|
776
|
+
*/
|
|
777
|
+
/**
|
|
699
778
|
* `eslint-plugin-react` and overrides configuration options
|
|
700
779
|
*
|
|
701
780
|
* @param {ReactOptions & OverridesOptions} options - eslint react configuration options for regular expressions
|
|
@@ -743,6 +822,10 @@ async function react(options = {}) {
|
|
|
743
822
|
//#endregion
|
|
744
823
|
//#region src/configs/regexp.ts
|
|
745
824
|
/**
|
|
825
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
826
|
+
* @license MIT
|
|
827
|
+
*/
|
|
828
|
+
/**
|
|
746
829
|
* `eslint-plugin-regexp` and overrides configuration options
|
|
747
830
|
*
|
|
748
831
|
* @param {RegexpOptions & OverridesOptions} options - eslint regexp configuration options for regular expressions
|
|
@@ -764,6 +847,10 @@ async function regexp(options = {}) {
|
|
|
764
847
|
//#endregion
|
|
765
848
|
//#region src/configs/stylistic.ts
|
|
766
849
|
/**
|
|
850
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
851
|
+
* @license MIT
|
|
852
|
+
*/
|
|
853
|
+
/**
|
|
767
854
|
* `@stylistic/eslint-plugin` and overrides configuration options
|
|
768
855
|
*
|
|
769
856
|
* @param {StylisticOptions & OverridesOptions} options - stylistic eslint plugin configuration options
|
|
@@ -808,6 +895,10 @@ async function stylistic(options = {}) {
|
|
|
808
895
|
//#endregion
|
|
809
896
|
//#region src/configs/svelte.ts
|
|
810
897
|
/**
|
|
898
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
899
|
+
* @license MIT
|
|
900
|
+
*/
|
|
901
|
+
/**
|
|
811
902
|
* `eslint-plugin-svelte` and overrides configuration options
|
|
812
903
|
*
|
|
813
904
|
* @param {SvelteScriptOptions & TypeScriptOptions & OverridesOptions} options - eslint configuration options for Vue
|
|
@@ -843,6 +934,10 @@ async function svelte(options = {}) {
|
|
|
843
934
|
//#endregion
|
|
844
935
|
//#region src/configs/toml.ts
|
|
845
936
|
/**
|
|
937
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
938
|
+
* @license MIT
|
|
939
|
+
*/
|
|
940
|
+
/**
|
|
846
941
|
* `eslint-plugin-yml` and overrides configuration options
|
|
847
942
|
*
|
|
848
943
|
* @param {YmlOptions & OverridesOptions} options - eslint yml configuration options for yml, yaml
|
|
@@ -872,6 +967,10 @@ async function toml(options = {}) {
|
|
|
872
967
|
//#endregion
|
|
873
968
|
//#region src/configs/typescript.ts
|
|
874
969
|
/**
|
|
970
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
971
|
+
* @license MIT
|
|
972
|
+
*/
|
|
973
|
+
/**
|
|
875
974
|
* `typescript-eslint` and overrides configuration options
|
|
876
975
|
*
|
|
877
976
|
* @param {TypeScriptOptions & OverridesOptions} options - eslint configuration options for TypeScript
|
|
@@ -949,6 +1048,10 @@ async function typescript(options = {}) {
|
|
|
949
1048
|
//#endregion
|
|
950
1049
|
//#region src/configs/unicorn.ts
|
|
951
1050
|
/**
|
|
1051
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
1052
|
+
* @license MIT
|
|
1053
|
+
*/
|
|
1054
|
+
/**
|
|
952
1055
|
* `eslint-plugin-unicorn` and overrides configuration options
|
|
953
1056
|
*
|
|
954
1057
|
* @param {UnicornOptions & OverridesOptions} options - eslint unicorn configuration options
|
|
@@ -972,6 +1075,10 @@ async function unicorn(options = {}) {
|
|
|
972
1075
|
//#endregion
|
|
973
1076
|
//#region src/configs/vitest.ts
|
|
974
1077
|
/**
|
|
1078
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
1079
|
+
* @license MIT
|
|
1080
|
+
*/
|
|
1081
|
+
/**
|
|
975
1082
|
* `@vitest/eslint-plugin` and overrides configuration options
|
|
976
1083
|
*
|
|
977
1084
|
* @param {VitestOptions & OverridesOptions} options - eslint vitest configuration options
|
|
@@ -1005,6 +1112,10 @@ async function vitest(options = {}) {
|
|
|
1005
1112
|
//#endregion
|
|
1006
1113
|
//#region src/configs/vue.ts
|
|
1007
1114
|
/**
|
|
1115
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
1116
|
+
* @license MIT
|
|
1117
|
+
*/
|
|
1118
|
+
/**
|
|
1008
1119
|
* `eslint-plugin-vue`, `eslint-plugin-vue-composable`, `eslint-plugin-vue-eslint-plugin-vuejs-accessibility` and overrides configuration options
|
|
1009
1120
|
*
|
|
1010
1121
|
* @param {VueScriptOptions & TypeScriptOptions & OverridesOptions} options - eslint configuration options for Vue
|
|
@@ -1081,6 +1192,10 @@ async function vue(options = {}) {
|
|
|
1081
1192
|
//#endregion
|
|
1082
1193
|
//#region src/configs/yml.ts
|
|
1083
1194
|
/**
|
|
1195
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
1196
|
+
* @license MIT
|
|
1197
|
+
*/
|
|
1198
|
+
/**
|
|
1084
1199
|
* `eslint-plugin-yml` and overrides configuration options
|
|
1085
1200
|
*
|
|
1086
1201
|
* @param {YmlOptions & OverridesOptions} options - eslint yml configuration options for yml, yaml
|
|
@@ -1114,4 +1229,4 @@ async function yml(options = {}) {
|
|
|
1114
1229
|
const yaml = yml;
|
|
1115
1230
|
|
|
1116
1231
|
//#endregion
|
|
1117
|
-
export { comments, css, defineConfig, deps, html, imports, javascript, jsdoc, jsonc, markdown, md, prettier, promise, react, regexp, stylistic, svelte, toml, typescript, unicorn, vitest, vue, yaml, yml };
|
|
1232
|
+
export { comments, css, defineConfig, deps, html, imports, javascript, jsdoc, jsonc, markdown, md, oxlint, prettier, promise, react, regexp, stylistic, svelte, toml, typescript, unicorn, vitest, vue, yaml, yml };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kazupon/eslint-config",
|
|
3
3
|
"description": "ESLint config for @kazupon",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.39.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"email": "kawakazu80@gmail.com",
|
|
7
7
|
"name": "kazuya kawaguchi"
|
|
@@ -50,13 +50,13 @@
|
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
|
|
53
|
-
"@eslint/js": "^9.
|
|
53
|
+
"@eslint/js": "^9.39.1",
|
|
54
54
|
"@kazupon/eslint-plugin": "^0.6.2",
|
|
55
55
|
"@kazupon/jts-utils": "^0.7.1",
|
|
56
56
|
"@stylistic/eslint-plugin": "^4.4.1",
|
|
57
57
|
"eslint-flat-config-utils": "^2.1.4",
|
|
58
58
|
"eslint-merge-processors": "^2.0.0",
|
|
59
|
-
"globals": "^16.
|
|
59
|
+
"globals": "^16.5.0"
|
|
60
60
|
},
|
|
61
61
|
"peerDependencies": {
|
|
62
62
|
"@eslint/css": ">=0.13.0",
|
|
@@ -73,6 +73,7 @@
|
|
|
73
73
|
"eslint-plugin-jsonc": ">=2.21.0",
|
|
74
74
|
"eslint-plugin-markdown-preferences": ">=0.36.2",
|
|
75
75
|
"eslint-plugin-module-interop": ">=0.3.0",
|
|
76
|
+
"eslint-plugin-oxlint": ">=1.30.0",
|
|
76
77
|
"eslint-plugin-promise": ">=7.2.0",
|
|
77
78
|
"eslint-plugin-react": ">=7.37.0",
|
|
78
79
|
"eslint-plugin-react-hooks": ">=7.0.0",
|
|
@@ -131,6 +132,9 @@
|
|
|
131
132
|
"eslint-plugin-module-interop": {
|
|
132
133
|
"optional": true
|
|
133
134
|
},
|
|
135
|
+
"eslint-plugin-oxlint": {
|
|
136
|
+
"optional": true
|
|
137
|
+
},
|
|
134
138
|
"eslint-plugin-promise": {
|
|
135
139
|
"optional": true
|
|
136
140
|
},
|
|
@@ -184,35 +188,36 @@
|
|
|
184
188
|
}
|
|
185
189
|
},
|
|
186
190
|
"devDependencies": {
|
|
187
|
-
"@eslint/compat": "^1.4.
|
|
191
|
+
"@eslint/compat": "^1.4.1",
|
|
188
192
|
"@eslint/css": "^0.13.0",
|
|
189
|
-
"@eslint/markdown": "^7.
|
|
190
|
-
"@html-eslint/eslint-plugin": "^0.
|
|
193
|
+
"@eslint/markdown": "^7.5.1",
|
|
194
|
+
"@html-eslint/eslint-plugin": "^0.48.0",
|
|
191
195
|
"@intlify/eslint-plugin-vue-i18n": "^4.1.0",
|
|
192
196
|
"@kazupon/prettier-config": "^0.1.1",
|
|
193
197
|
"@types/eslint": "^9.6.1",
|
|
194
|
-
"@types/node": "^22.
|
|
195
|
-
"@vitest/eslint-plugin": "^1.
|
|
198
|
+
"@types/node": "^22.19.1",
|
|
199
|
+
"@vitest/eslint-plugin": "^1.5.0",
|
|
196
200
|
"bumpp": "^10.3.1",
|
|
197
|
-
"eslint": "^9.
|
|
201
|
+
"eslint": "^9.39.1",
|
|
198
202
|
"eslint-config-prettier": "^10.1.8",
|
|
199
203
|
"eslint-import-resolver-typescript": "^4.4.4",
|
|
200
204
|
"eslint-plugin-barrel-files": "^3.0.1",
|
|
201
205
|
"eslint-plugin-import": "^2.32.0",
|
|
202
|
-
"eslint-plugin-jsdoc": "^61.1
|
|
206
|
+
"eslint-plugin-jsdoc": "^61.4.1",
|
|
203
207
|
"eslint-plugin-jsonc": "^2.21.0",
|
|
204
|
-
"eslint-plugin-markdown-preferences": "^0.36.
|
|
208
|
+
"eslint-plugin-markdown-preferences": "^0.36.3",
|
|
205
209
|
"eslint-plugin-module-interop": "^0.3.1",
|
|
210
|
+
"eslint-plugin-oxlint": "^1.30.0",
|
|
206
211
|
"eslint-plugin-promise": "^7.2.1",
|
|
207
212
|
"eslint-plugin-react": "^7.37.5",
|
|
208
|
-
"eslint-plugin-react-hooks": "^7.0.
|
|
209
|
-
"eslint-plugin-react-refresh": "^0.4.
|
|
213
|
+
"eslint-plugin-react-hooks": "^7.0.1",
|
|
214
|
+
"eslint-plugin-react-refresh": "^0.4.24",
|
|
210
215
|
"eslint-plugin-regexp": "^2.10.0",
|
|
211
|
-
"eslint-plugin-svelte": "^3.
|
|
216
|
+
"eslint-plugin-svelte": "^3.13.0",
|
|
212
217
|
"eslint-plugin-toml": "^0.12.0",
|
|
213
218
|
"eslint-plugin-unicorn": "^61.0.2",
|
|
214
|
-
"eslint-plugin-unused-imports": "^4.
|
|
215
|
-
"eslint-plugin-vue": "^10.
|
|
219
|
+
"eslint-plugin-unused-imports": "^4.3.0",
|
|
220
|
+
"eslint-plugin-vue": "^10.6.0",
|
|
216
221
|
"eslint-plugin-vue-composable": "^1.0.0",
|
|
217
222
|
"eslint-plugin-vue-scoped-css": "^2.12.0",
|
|
218
223
|
"eslint-plugin-vuejs-accessibility": "^2.4.1",
|
|
@@ -220,14 +225,14 @@
|
|
|
220
225
|
"eslint-typegen": "^2.3.0",
|
|
221
226
|
"gh-changelogen": "^0.2.8",
|
|
222
227
|
"jiti": "^2.6.1",
|
|
223
|
-
"knip": "^5.
|
|
224
|
-
"lint-staged": "^16.2.
|
|
228
|
+
"knip": "^5.70.2",
|
|
229
|
+
"lint-staged": "^16.2.7",
|
|
225
230
|
"prettier": "^3.6.2",
|
|
226
|
-
"svelte": "^5.
|
|
231
|
+
"svelte": "^5.44.1",
|
|
227
232
|
"tailwind-csstree": "^0.1.4",
|
|
228
|
-
"tsdown": "^0.
|
|
233
|
+
"tsdown": "^0.16.4",
|
|
229
234
|
"typescript": "^5.9.3",
|
|
230
|
-
"typescript-eslint": "^8.
|
|
235
|
+
"typescript-eslint": "^8.48.0",
|
|
231
236
|
"vitest": "^3.2.4"
|
|
232
237
|
},
|
|
233
238
|
"prettier": "@kazupon/prettier-config",
|