@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 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 quality matchers
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?: unknown[];
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.38.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.37.0",
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.4.0"
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.0",
191
+ "@eslint/compat": "^1.4.1",
188
192
  "@eslint/css": "^0.13.0",
189
- "@eslint/markdown": "^7.4.0",
190
- "@html-eslint/eslint-plugin": "^0.47.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.18.9",
195
- "@vitest/eslint-plugin": "^1.3.16",
198
+ "@types/node": "^22.19.1",
199
+ "@vitest/eslint-plugin": "^1.5.0",
196
200
  "bumpp": "^10.3.1",
197
- "eslint": "^9.37.0",
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.4",
206
+ "eslint-plugin-jsdoc": "^61.4.1",
203
207
  "eslint-plugin-jsonc": "^2.21.0",
204
- "eslint-plugin-markdown-preferences": "^0.36.2",
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.0",
209
- "eslint-plugin-react-refresh": "^0.4.23",
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.12.0",
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.2.0",
215
- "eslint-plugin-vue": "^10.5.0",
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.64.3",
224
- "lint-staged": "^16.2.4",
228
+ "knip": "^5.70.2",
229
+ "lint-staged": "^16.2.7",
225
230
  "prettier": "^3.6.2",
226
- "svelte": "^5.39.11",
231
+ "svelte": "^5.44.1",
227
232
  "tailwind-csstree": "^0.1.4",
228
- "tsdown": "^0.15.6",
233
+ "tsdown": "^0.16.4",
229
234
  "typescript": "^5.9.3",
230
- "typescript-eslint": "^8.46.0",
235
+ "typescript-eslint": "^8.48.0",
231
236
  "vitest": "^3.2.4"
232
237
  },
233
238
  "prettier": "@kazupon/prettier-config",