@kazupon/eslint-config 0.37.2 → 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} +92 -5
- package/dist/{index.js → index.mjs} +164 -34
- 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
|
|
@@ -32,6 +36,10 @@ interface OverridesOptions<Rules = Linter.Config["rules"]> {
|
|
|
32
36
|
*/
|
|
33
37
|
rules?: Rules;
|
|
34
38
|
/**
|
|
39
|
+
* Override globals
|
|
40
|
+
*/
|
|
41
|
+
globals?: ESLint.Environment["globals"];
|
|
42
|
+
/**
|
|
35
43
|
* Override parser options
|
|
36
44
|
*/
|
|
37
45
|
parserOptions?: ESLint.Environment["parserOptions"];
|
|
@@ -655,6 +663,7 @@ type HtmlEslintIndent = [] | [("tab" | number)] | [("tab" | number), {
|
|
|
655
663
|
tagChildrenIndent?: {
|
|
656
664
|
[k: string]: number;
|
|
657
665
|
};
|
|
666
|
+
ignoreComment?: boolean;
|
|
658
667
|
}];
|
|
659
668
|
type HtmlEslintMaxElementDepth = [] | [{
|
|
660
669
|
max: number;
|
|
@@ -4325,6 +4334,11 @@ interface JsdocRules {
|
|
|
4325
4334
|
*/
|
|
4326
4335
|
"jsdoc/require-property-type"?: Linter.RuleEntry<[]>;
|
|
4327
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
|
+
/**
|
|
4328
4342
|
* Requires that returns are documented with `@returns`.
|
|
4329
4343
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns.md#repos-sticky-header
|
|
4330
4344
|
*/
|
|
@@ -4465,6 +4479,7 @@ type JsdocCheckExamples = [] | [{
|
|
|
4465
4479
|
reportUnusedDisableDirectives?: boolean;
|
|
4466
4480
|
}];
|
|
4467
4481
|
type JsdocCheckIndentation = [] | [{
|
|
4482
|
+
allowIndentedSections?: boolean;
|
|
4468
4483
|
excludeTags?: string[];
|
|
4469
4484
|
}];
|
|
4470
4485
|
type JsdocCheckLineAlignment = [] | [("always" | "never" | "any")] | [("always" | "never" | "any"), {
|
|
@@ -4776,6 +4791,13 @@ type JsdocRequireParamType = [] | [{
|
|
|
4776
4791
|
defaultDestructuredRootType?: string;
|
|
4777
4792
|
setDefaultDestructuredRootType?: boolean;
|
|
4778
4793
|
}];
|
|
4794
|
+
type JsdocRequireRejects = [] | [{
|
|
4795
|
+
contexts?: (string | {
|
|
4796
|
+
comment?: string;
|
|
4797
|
+
context?: string;
|
|
4798
|
+
})[];
|
|
4799
|
+
exemptedBy?: string[];
|
|
4800
|
+
}];
|
|
4779
4801
|
type JsdocRequireReturns = [] | [{
|
|
4780
4802
|
checkConstructors?: boolean;
|
|
4781
4803
|
checkGetters?: boolean;
|
|
@@ -4856,6 +4878,9 @@ type JsdocSortTags = [] | [{
|
|
|
4856
4878
|
linesBetween?: number;
|
|
4857
4879
|
reportIntraTagGroupSpacing?: boolean;
|
|
4858
4880
|
reportTagGroupSpacing?: boolean;
|
|
4881
|
+
tagExceptions?: {
|
|
4882
|
+
[k: string]: number;
|
|
4883
|
+
};
|
|
4859
4884
|
tagSequence?: {
|
|
4860
4885
|
tags?: string[];
|
|
4861
4886
|
}[];
|
|
@@ -5940,7 +5965,6 @@ type MarkdownPreferencesSortDefinitions = [] | [{
|
|
|
5940
5965
|
match: (string | [string, ...(string)[]]);
|
|
5941
5966
|
sort: ("alphabetical" | "ignore");
|
|
5942
5967
|
})[];
|
|
5943
|
-
alphabetical?: boolean;
|
|
5944
5968
|
}];
|
|
5945
5969
|
type MarkdownPreferencesStrikethroughDelimitersStyle = [] | [{
|
|
5946
5970
|
delimiter?: ("~" | "~~");
|
|
@@ -6271,7 +6295,7 @@ interface ReactRules {
|
|
|
6271
6295
|
*/
|
|
6272
6296
|
"react-hooks/use-memo"?: Linter.RuleEntry<ReactHooksUseMemo>;
|
|
6273
6297
|
/**
|
|
6274
|
-
* 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.
|
|
6275
6299
|
*/
|
|
6276
6300
|
"react-hooks/void-use-memo"?: Linter.RuleEntry<ReactHooksVoidUseMemo>;
|
|
6277
6301
|
"react-refresh/only-export-components"?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>;
|
|
@@ -10566,6 +10590,11 @@ interface TypescriptRules {
|
|
|
10566
10590
|
*/
|
|
10567
10591
|
"@typescript-eslint/no-unused-expressions"?: Linter.RuleEntry<TypescriptEslintNoUnusedExpressions>;
|
|
10568
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
|
+
/**
|
|
10569
10598
|
* Disallow unused variables
|
|
10570
10599
|
* @see https://typescript-eslint.io/rules/no-unused-vars
|
|
10571
10600
|
*/
|
|
@@ -12557,6 +12586,11 @@ type UnicornTemplateIndent = [] | [{
|
|
|
12557
12586
|
//#endregion
|
|
12558
12587
|
//#region src/types/gens/vitest.d.ts
|
|
12559
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>;
|
|
12560
12594
|
/**
|
|
12561
12595
|
* require test file pattern
|
|
12562
12596
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md
|
|
@@ -12774,7 +12808,7 @@ interface VitestRules {
|
|
|
12774
12808
|
*/
|
|
12775
12809
|
"vitest/prefer-each"?: Linter.RuleEntry<[]>;
|
|
12776
12810
|
/**
|
|
12777
|
-
* enforce using the built-in
|
|
12811
|
+
* enforce using the built-in equality matchers
|
|
12778
12812
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-equality-matcher.md
|
|
12779
12813
|
*/
|
|
12780
12814
|
"vitest/prefer-equality-matcher"?: Linter.RuleEntry<[]>;
|
|
@@ -12884,11 +12918,21 @@ interface VitestRules {
|
|
|
12884
12918
|
*/
|
|
12885
12919
|
"vitest/prefer-vi-mocked"?: Linter.RuleEntry<[]>;
|
|
12886
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
|
+
/**
|
|
12887
12926
|
* require setup and teardown to be within a hook
|
|
12888
12927
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-hook.md
|
|
12889
12928
|
*/
|
|
12890
12929
|
"vitest/require-hook"?: Linter.RuleEntry<VitestRequireHook>;
|
|
12891
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
|
+
/**
|
|
12892
12936
|
* require local Test Context for concurrent snapshot tests
|
|
12893
12937
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-local-test-context-for-concurrent-snapshots.md
|
|
12894
12938
|
*/
|
|
@@ -12934,6 +12978,12 @@ interface VitestRules {
|
|
|
12934
12978
|
*/
|
|
12935
12979
|
"vitest/warn-todo"?: Linter.RuleEntry<[]>;
|
|
12936
12980
|
}
|
|
12981
|
+
type VitestConsistentEachFor = [] | [{
|
|
12982
|
+
test?: ("each" | "for");
|
|
12983
|
+
it?: ("each" | "for");
|
|
12984
|
+
describe?: ("each" | "for");
|
|
12985
|
+
suite?: ("each" | "for");
|
|
12986
|
+
}];
|
|
12937
12987
|
type VitestConsistentTestFilename = [] | [{
|
|
12938
12988
|
pattern?: string;
|
|
12939
12989
|
allTestPattern?: string;
|
|
@@ -12959,7 +13009,7 @@ type VitestNoFocusedTests = [] | [{
|
|
|
12959
13009
|
fixable?: boolean;
|
|
12960
13010
|
}];
|
|
12961
13011
|
type VitestNoHooks = [] | [{
|
|
12962
|
-
allow?:
|
|
13012
|
+
allow?: ("beforeAll" | "beforeEach" | "afterAll" | "afterEach")[];
|
|
12963
13013
|
}];
|
|
12964
13014
|
type VitestNoLargeSnapshots = [] | [{
|
|
12965
13015
|
maxSize?: number;
|
|
@@ -13654,6 +13704,11 @@ interface VueRules {
|
|
|
13654
13704
|
*/
|
|
13655
13705
|
"vue/no-duplicate-attributes"?: Linter.RuleEntry<VueNoDuplicateAttributes>;
|
|
13656
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
|
+
/**
|
|
13657
13712
|
* disallow the `<template>` `<script>` `<style>` block to be empty
|
|
13658
13713
|
* @see https://eslint.vuejs.org/rules/no-empty-component-block.html
|
|
13659
13714
|
*/
|
|
@@ -16055,6 +16110,16 @@ type YmlSpacedComment = [] | [("always" | "never")] | [("always" | "never"), {
|
|
|
16055
16110
|
markers?: string[];
|
|
16056
16111
|
}];
|
|
16057
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
|
|
16058
16123
|
//#region src/configs/comments.d.ts
|
|
16059
16124
|
/**
|
|
16060
16125
|
* comments preset options
|
|
@@ -16328,6 +16393,28 @@ interface MarkdownOptions {
|
|
|
16328
16393
|
declare function markdown(options?: MarkdownOptions & OverridesOptions<MarkdownRules>): Promise<Linter.Config[]>;
|
|
16329
16394
|
declare const md: typeof markdown;
|
|
16330
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
|
|
16331
16418
|
//#region src/configs/prettier.d.ts
|
|
16332
16419
|
/**
|
|
16333
16420
|
* Prettier configuration options
|
|
@@ -16639,4 +16726,4 @@ interface YmlOptions {
|
|
|
16639
16726
|
declare function yml(options?: YmlOptions & OverridesOptions<YmlRules>): Promise<Linter.Config[]>;
|
|
16640
16727
|
declare const yaml: typeof yml;
|
|
16641
16728
|
//#endregion
|
|
16642
|
-
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
|
|
@@ -25,38 +29,56 @@ function defineConfig(...configs) {
|
|
|
25
29
|
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
26
30
|
* @license MIT
|
|
27
31
|
*/
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
const
|
|
42
|
-
const
|
|
43
|
-
const
|
|
32
|
+
const EXT_JS = "?([cm])js";
|
|
33
|
+
const EXT_JSX = "?([cm])jsx";
|
|
34
|
+
const EXT_TS = "?([cm])ts";
|
|
35
|
+
const EXT_TSX = "?([cm])tsx";
|
|
36
|
+
const EXT_JSON = "json";
|
|
37
|
+
const EXT_JSON5 = "json5";
|
|
38
|
+
const EXT_JSONC = "jsonc";
|
|
39
|
+
const EXT_YAML = "y?(a)ml";
|
|
40
|
+
const EXT_TOML = "toml";
|
|
41
|
+
const EXT_VUE = "vue";
|
|
42
|
+
const EXT_SVELTE = "svelte";
|
|
43
|
+
const EXT_MD = "md";
|
|
44
|
+
const EXT_HTML = "html";
|
|
45
|
+
const EXT_CSS = "css";
|
|
46
|
+
const GLOB_JS = `**/*.${EXT_JS}`;
|
|
47
|
+
const GLOB_JSX = `**/*.${EXT_JSX}`;
|
|
48
|
+
const GLOB_TS = `**/*.${EXT_TS}`;
|
|
49
|
+
const GLOB_TSX = `**/*.${EXT_TSX}`;
|
|
50
|
+
const GLOB_JSON = `**/*.${EXT_JSON}`;
|
|
51
|
+
const GLOB_JSON5 = `**/*.${EXT_JSON5}`;
|
|
52
|
+
const GLOB_JSONC = `**/*.${EXT_JSONC}`;
|
|
53
|
+
const GLOB_YAML = `**/*.${EXT_YAML}`;
|
|
54
|
+
const GLOB_TOML = `**/*.${EXT_TOML}`;
|
|
55
|
+
const GLOB_VUE = `**/*.${EXT_VUE}`;
|
|
56
|
+
const GLOB_SVELTE = `**/*.${EXT_SVELTE}`;
|
|
57
|
+
const GLOB_MARKDOWN = `**/*.${EXT_MD}`;
|
|
58
|
+
const GLOB_HTML = `**/*.${EXT_HTML}`;
|
|
59
|
+
const GLOB_CSS = `**/*.${EXT_CSS}`;
|
|
60
|
+
const SRC_EXT = "?([cm])[jt]s?(x)";
|
|
61
|
+
const GLOB_SRC = `**/*.${SRC_EXT}`;
|
|
44
62
|
const GLOB_TESTS = [
|
|
45
|
-
`**/test/**/*.${
|
|
46
|
-
`**/tests/**/*.${
|
|
47
|
-
`**/spec/**/*.${
|
|
48
|
-
`**/specs/**/*.${
|
|
49
|
-
`**/e2e/**/*.${
|
|
50
|
-
`**/__tests__/**/*.${
|
|
51
|
-
`**/__test__/**/*.${
|
|
52
|
-
`**/*.spec.${
|
|
53
|
-
`**/*.test.${
|
|
63
|
+
`**/test/**/*.${SRC_EXT}`,
|
|
64
|
+
`**/tests/**/*.${SRC_EXT}`,
|
|
65
|
+
`**/spec/**/*.${SRC_EXT}`,
|
|
66
|
+
`**/specs/**/*.${SRC_EXT}`,
|
|
67
|
+
`**/e2e/**/*.${SRC_EXT}`,
|
|
68
|
+
`**/__tests__/**/*.${SRC_EXT}`,
|
|
69
|
+
`**/__test__/**/*.${SRC_EXT}`,
|
|
70
|
+
`**/*.spec.${SRC_EXT}`,
|
|
71
|
+
`**/*.test.${SRC_EXT}`
|
|
54
72
|
];
|
|
55
|
-
const GLOB_TESTS_TYPE = [`**/*.test-d.${
|
|
73
|
+
const GLOB_TESTS_TYPE = [`**/*.test-d.${SRC_EXT}`, `**/*.spec-d.${SRC_EXT}`];
|
|
56
74
|
|
|
57
75
|
//#endregion
|
|
58
76
|
//#region src/utils.ts
|
|
59
77
|
/**
|
|
78
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
79
|
+
* @license MIT
|
|
80
|
+
*/
|
|
81
|
+
/**
|
|
60
82
|
* load eslint plugin
|
|
61
83
|
*
|
|
62
84
|
* @typeParam T - plugin type
|
|
@@ -97,6 +119,10 @@ function getGlobSourceFiles(useTypeScript = false) {
|
|
|
97
119
|
//#endregion
|
|
98
120
|
//#region src/configs/comments.ts
|
|
99
121
|
/**
|
|
122
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
123
|
+
* @license MIT
|
|
124
|
+
*/
|
|
125
|
+
/**
|
|
100
126
|
* configure comments preset for the below plugins
|
|
101
127
|
*
|
|
102
128
|
* - `@eslint-community/eslint-plugin-eslint-comments`
|
|
@@ -133,6 +159,10 @@ async function comments(options = {}) {
|
|
|
133
159
|
//#endregion
|
|
134
160
|
//#region src/configs/css.ts
|
|
135
161
|
/**
|
|
162
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
163
|
+
* @license MIT
|
|
164
|
+
*/
|
|
165
|
+
/**
|
|
136
166
|
* `@eslint/css` and overrides configuration options
|
|
137
167
|
*
|
|
138
168
|
* @param {CssOptions & OverridesOptions} options
|
|
@@ -169,6 +199,10 @@ async function css(options = {}) {
|
|
|
169
199
|
//#endregion
|
|
170
200
|
//#region src/configs/deps.ts
|
|
171
201
|
/**
|
|
202
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
203
|
+
* @license MIT
|
|
204
|
+
*/
|
|
205
|
+
/**
|
|
172
206
|
* `eslint-plugin-barrel-files` and overrides configuration options
|
|
173
207
|
*
|
|
174
208
|
* @param {DepsOptions & OverridesOptions} options - deps configuration options
|
|
@@ -197,6 +231,10 @@ async function deps(options = {}) {
|
|
|
197
231
|
//#endregion
|
|
198
232
|
//#region src/configs/html.ts
|
|
199
233
|
/**
|
|
234
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
235
|
+
* @license MIT
|
|
236
|
+
*/
|
|
237
|
+
/**
|
|
200
238
|
* `@html-eslint/eslint-plugin` and overrides configuration options
|
|
201
239
|
*
|
|
202
240
|
* @param {HtmlOptions & OverridesOptions} options - eslint configuration options for HTML
|
|
@@ -260,6 +298,10 @@ function resolveTemplateEngineSyntax(syntax, parser) {
|
|
|
260
298
|
|
|
261
299
|
//#endregion
|
|
262
300
|
//#region src/configs/imports.ts
|
|
301
|
+
/**
|
|
302
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
303
|
+
* @license MIT
|
|
304
|
+
*/
|
|
263
305
|
const IMPORTS_FILES = [
|
|
264
306
|
GLOB_JS,
|
|
265
307
|
GLOB_JSX,
|
|
@@ -330,13 +372,17 @@ async function imports(options = {}) {
|
|
|
330
372
|
//#endregion
|
|
331
373
|
//#region src/configs/javascript.ts
|
|
332
374
|
/**
|
|
375
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
376
|
+
* @license MIT
|
|
377
|
+
*/
|
|
378
|
+
/**
|
|
333
379
|
* `@eslint/js` and overrides configuration options
|
|
334
380
|
*
|
|
335
381
|
* @param {JavaScriptOptions & OverridesOptions} options - eslint configuration options for JavaScript
|
|
336
382
|
* @returns {Promise<Linter.Config[]>} eslint flat configurations with `@eslint/js` and overrides
|
|
337
383
|
*/
|
|
338
384
|
async function javascript(options = {}) {
|
|
339
|
-
const { rules: overrideRules = {} } = options;
|
|
385
|
+
const { rules: overrideRules = {}, globals: overrideGlobals = {} } = options;
|
|
340
386
|
return [(
|
|
341
387
|
/**
|
|
342
388
|
* {
|
|
@@ -358,7 +404,8 @@ async function javascript(options = {}) {
|
|
|
358
404
|
...globals.es2022,
|
|
359
405
|
document: "readonly",
|
|
360
406
|
navigator: "readonly",
|
|
361
|
-
window: "readonly"
|
|
407
|
+
window: "readonly",
|
|
408
|
+
...overrideGlobals
|
|
362
409
|
},
|
|
363
410
|
parserOptions: {
|
|
364
411
|
ecmaFeatures: { jsx: true },
|
|
@@ -375,6 +422,11 @@ async function javascript(options = {}) {
|
|
|
375
422
|
//#endregion
|
|
376
423
|
//#region src/configs/jsdoc.ts
|
|
377
424
|
/**
|
|
425
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
426
|
+
*
|
|
427
|
+
* @license MIT
|
|
428
|
+
*/
|
|
429
|
+
/**
|
|
378
430
|
* `eslint-plugin-jsdoc` and overrides configuration options
|
|
379
431
|
*
|
|
380
432
|
* @param {JsDocOptions & OverridesOptions} options - eslint configuration options for JavaScript
|
|
@@ -455,6 +507,10 @@ async function jsdoc(options = {}) {
|
|
|
455
507
|
//#endregion
|
|
456
508
|
//#region src/configs/jsonc.ts
|
|
457
509
|
/**
|
|
510
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
511
|
+
* @license MIT
|
|
512
|
+
*/
|
|
513
|
+
/**
|
|
458
514
|
* `eslint-plugin-jsonc` and overrides configuration options
|
|
459
515
|
*
|
|
460
516
|
* @param {JsoncOptions & OverridesOptions} options - eslint jsonc configuration options for json, jsonc, json5
|
|
@@ -582,6 +638,10 @@ function jsoncSort() {
|
|
|
582
638
|
//#endregion
|
|
583
639
|
//#region src/configs/markdown.ts
|
|
584
640
|
/**
|
|
641
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
642
|
+
* @license MIT
|
|
643
|
+
*/
|
|
644
|
+
/**
|
|
585
645
|
* `@eslint/markdown` and overrides configuration options
|
|
586
646
|
*
|
|
587
647
|
* @param {MarkdownOptions & OverridesOptions} options - eslint unicorn configuration options
|
|
@@ -640,9 +700,35 @@ async function markdown(options = {}) {
|
|
|
640
700
|
}
|
|
641
701
|
const md = markdown;
|
|
642
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
|
+
|
|
643
725
|
//#endregion
|
|
644
726
|
//#region src/configs/prettier.ts
|
|
645
727
|
/**
|
|
728
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
729
|
+
* @license MIT
|
|
730
|
+
*/
|
|
731
|
+
/**
|
|
646
732
|
* `eslint-config-prettier` and overrides configuration options
|
|
647
733
|
*
|
|
648
734
|
* @param {PrettierOptions & OverridesOptions} options - eslint configuration options for Prettier
|
|
@@ -662,6 +748,10 @@ async function prettier(options = {}) {
|
|
|
662
748
|
//#endregion
|
|
663
749
|
//#region src/configs/promise.ts
|
|
664
750
|
/**
|
|
751
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
752
|
+
* @license MIT
|
|
753
|
+
*/
|
|
754
|
+
/**
|
|
665
755
|
* `eslint-plugin-promise` and overrides configuration options
|
|
666
756
|
*
|
|
667
757
|
* @param {PromiseOptions & OverridesOptions} options - eslint promise configuration options
|
|
@@ -681,6 +771,10 @@ async function promise(options = {}) {
|
|
|
681
771
|
//#endregion
|
|
682
772
|
//#region src/configs/react.ts
|
|
683
773
|
/**
|
|
774
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
775
|
+
* @license MIT
|
|
776
|
+
*/
|
|
777
|
+
/**
|
|
684
778
|
* `eslint-plugin-react` and overrides configuration options
|
|
685
779
|
*
|
|
686
780
|
* @param {ReactOptions & OverridesOptions} options - eslint react configuration options for regular expressions
|
|
@@ -728,6 +822,10 @@ async function react(options = {}) {
|
|
|
728
822
|
//#endregion
|
|
729
823
|
//#region src/configs/regexp.ts
|
|
730
824
|
/**
|
|
825
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
826
|
+
* @license MIT
|
|
827
|
+
*/
|
|
828
|
+
/**
|
|
731
829
|
* `eslint-plugin-regexp` and overrides configuration options
|
|
732
830
|
*
|
|
733
831
|
* @param {RegexpOptions & OverridesOptions} options - eslint regexp configuration options for regular expressions
|
|
@@ -749,6 +847,10 @@ async function regexp(options = {}) {
|
|
|
749
847
|
//#endregion
|
|
750
848
|
//#region src/configs/stylistic.ts
|
|
751
849
|
/**
|
|
850
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
851
|
+
* @license MIT
|
|
852
|
+
*/
|
|
853
|
+
/**
|
|
752
854
|
* `@stylistic/eslint-plugin` and overrides configuration options
|
|
753
855
|
*
|
|
754
856
|
* @param {StylisticOptions & OverridesOptions} options - stylistic eslint plugin configuration options
|
|
@@ -793,6 +895,10 @@ async function stylistic(options = {}) {
|
|
|
793
895
|
//#endregion
|
|
794
896
|
//#region src/configs/svelte.ts
|
|
795
897
|
/**
|
|
898
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
899
|
+
* @license MIT
|
|
900
|
+
*/
|
|
901
|
+
/**
|
|
796
902
|
* `eslint-plugin-svelte` and overrides configuration options
|
|
797
903
|
*
|
|
798
904
|
* @param {SvelteScriptOptions & TypeScriptOptions & OverridesOptions} options - eslint configuration options for Vue
|
|
@@ -828,6 +934,10 @@ async function svelte(options = {}) {
|
|
|
828
934
|
//#endregion
|
|
829
935
|
//#region src/configs/toml.ts
|
|
830
936
|
/**
|
|
937
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
938
|
+
* @license MIT
|
|
939
|
+
*/
|
|
940
|
+
/**
|
|
831
941
|
* `eslint-plugin-yml` and overrides configuration options
|
|
832
942
|
*
|
|
833
943
|
* @param {YmlOptions & OverridesOptions} options - eslint yml configuration options for yml, yaml
|
|
@@ -857,6 +967,10 @@ async function toml(options = {}) {
|
|
|
857
967
|
//#endregion
|
|
858
968
|
//#region src/configs/typescript.ts
|
|
859
969
|
/**
|
|
970
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
971
|
+
* @license MIT
|
|
972
|
+
*/
|
|
973
|
+
/**
|
|
860
974
|
* `typescript-eslint` and overrides configuration options
|
|
861
975
|
*
|
|
862
976
|
* @param {TypeScriptOptions & OverridesOptions} options - eslint configuration options for TypeScript
|
|
@@ -874,7 +988,11 @@ async function typescript(options = {}) {
|
|
|
874
988
|
return [
|
|
875
989
|
...ts.configs.recommendedTypeChecked.map((config) => {
|
|
876
990
|
const mapped = { ...config };
|
|
877
|
-
|
|
991
|
+
mapped.files = [...config.files ?? files, ...[
|
|
992
|
+
EXT_TS,
|
|
993
|
+
EXT_TSX,
|
|
994
|
+
...extraFileExtensions
|
|
995
|
+
].map((ext) => `${GLOB_MARKDOWN}/**/*.${ext}`)];
|
|
878
996
|
return mapped;
|
|
879
997
|
}),
|
|
880
998
|
{
|
|
@@ -892,10 +1010,6 @@ async function typescript(options = {}) {
|
|
|
892
1010
|
],
|
|
893
1011
|
...ts.configs.disableTypeChecked
|
|
894
1012
|
},
|
|
895
|
-
{
|
|
896
|
-
name: "@kazupon/typescipt/typescript-eslint/overrides-for-disable-type-checked",
|
|
897
|
-
rules: { ...ts.configs.disableTypeChecked.rules }
|
|
898
|
-
},
|
|
899
1013
|
{
|
|
900
1014
|
name: "@kazupon/typescipt/typescript-eslint",
|
|
901
1015
|
files,
|
|
@@ -934,6 +1048,10 @@ async function typescript(options = {}) {
|
|
|
934
1048
|
//#endregion
|
|
935
1049
|
//#region src/configs/unicorn.ts
|
|
936
1050
|
/**
|
|
1051
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
1052
|
+
* @license MIT
|
|
1053
|
+
*/
|
|
1054
|
+
/**
|
|
937
1055
|
* `eslint-plugin-unicorn` and overrides configuration options
|
|
938
1056
|
*
|
|
939
1057
|
* @param {UnicornOptions & OverridesOptions} options - eslint unicorn configuration options
|
|
@@ -957,6 +1075,10 @@ async function unicorn(options = {}) {
|
|
|
957
1075
|
//#endregion
|
|
958
1076
|
//#region src/configs/vitest.ts
|
|
959
1077
|
/**
|
|
1078
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
1079
|
+
* @license MIT
|
|
1080
|
+
*/
|
|
1081
|
+
/**
|
|
960
1082
|
* `@vitest/eslint-plugin` and overrides configuration options
|
|
961
1083
|
*
|
|
962
1084
|
* @param {VitestOptions & OverridesOptions} options - eslint vitest configuration options
|
|
@@ -990,6 +1112,10 @@ async function vitest(options = {}) {
|
|
|
990
1112
|
//#endregion
|
|
991
1113
|
//#region src/configs/vue.ts
|
|
992
1114
|
/**
|
|
1115
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
1116
|
+
* @license MIT
|
|
1117
|
+
*/
|
|
1118
|
+
/**
|
|
993
1119
|
* `eslint-plugin-vue`, `eslint-plugin-vue-composable`, `eslint-plugin-vue-eslint-plugin-vuejs-accessibility` and overrides configuration options
|
|
994
1120
|
*
|
|
995
1121
|
* @param {VueScriptOptions & TypeScriptOptions & OverridesOptions} options - eslint configuration options for Vue
|
|
@@ -1066,6 +1192,10 @@ async function vue(options = {}) {
|
|
|
1066
1192
|
//#endregion
|
|
1067
1193
|
//#region src/configs/yml.ts
|
|
1068
1194
|
/**
|
|
1195
|
+
* @author kazuya kawaguchi (a.k.a. `@kazupon`)
|
|
1196
|
+
* @license MIT
|
|
1197
|
+
*/
|
|
1198
|
+
/**
|
|
1069
1199
|
* `eslint-plugin-yml` and overrides configuration options
|
|
1070
1200
|
*
|
|
1071
1201
|
* @param {YmlOptions & OverridesOptions} options - eslint yml configuration options for yml, yaml
|
|
@@ -1099,4 +1229,4 @@ async function yml(options = {}) {
|
|
|
1099
1229
|
const yaml = yml;
|
|
1100
1230
|
|
|
1101
1231
|
//#endregion
|
|
1102
|
-
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",
|