@mlaursen/eslint-config 9.0.0 → 9.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/base.d.ts +2 -2
- package/dist/frontend.d.ts +3 -3
- package/dist/gitignore.d.ts +4 -4
- package/dist/gitignore.js +2 -2
- package/dist/index.d.ts +26 -26
- package/dist/jsxA11y.d.ts +4 -4
- package/dist/jsxA11y.js +4 -5
- package/dist/react.d.ts +4 -4
- package/dist/react.js +6 -5
- package/dist/testing-library.d.ts +7 -7
- package/dist/testing-library.js +4 -4
- package/dist/testing.d.ts +5 -5
- package/dist/testing.js +1 -0
- package/dist/typescript.d.ts +3 -3
- package/package.json +2 -2
package/dist/base.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type Linter } from "eslint";
|
|
2
2
|
/**
|
|
3
3
|
* @example
|
|
4
4
|
* ```js
|
|
@@ -7,4 +7,4 @@ import { type TSESLint } from "@typescript-eslint/utils";
|
|
|
7
7
|
* export default config(...configs.base);
|
|
8
8
|
* ```
|
|
9
9
|
*/
|
|
10
|
-
export declare const base:
|
|
10
|
+
export declare const base: Linter.Config[];
|
package/dist/frontend.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type Linter } from "eslint";
|
|
2
2
|
import { type TestFramework } from "./testing.js";
|
|
3
3
|
/**
|
|
4
4
|
* @example
|
|
@@ -12,7 +12,7 @@ import { type TestFramework } from "./testing.js";
|
|
|
12
12
|
* );
|
|
13
13
|
* ```
|
|
14
14
|
*/
|
|
15
|
-
export declare const frontend: (testFramework: TestFramework) =>
|
|
15
|
+
export declare const frontend: (testFramework: TestFramework) => Linter.Config[];
|
|
16
16
|
/**
|
|
17
17
|
* @example
|
|
18
18
|
* ```ts
|
|
@@ -25,4 +25,4 @@ export declare const frontend: (testFramework: TestFramework) => TSESLint.FlatCo
|
|
|
25
25
|
* );
|
|
26
26
|
* ```
|
|
27
27
|
*/
|
|
28
|
-
export declare const frontendTypeChecking: (tsconfigRootDir: string, testFramework: TestFramework) =>
|
|
28
|
+
export declare const frontendTypeChecking: (tsconfigRootDir: string, testFramework: TestFramework) => Linter.Config[];
|
package/dist/gitignore.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type Linter } from "eslint";
|
|
2
2
|
/**
|
|
3
3
|
* @example
|
|
4
4
|
* ```ts
|
|
@@ -9,10 +9,10 @@ import { type TSESLint } from "@typescript-eslint/utils";
|
|
|
9
9
|
*
|
|
10
10
|
* @example .gitignore in a different folder
|
|
11
11
|
* ```ts
|
|
12
|
-
* import {
|
|
12
|
+
* import { configs, defineConfig, gitignore } from "@mlaursen/eslint-config";
|
|
13
13
|
* import { join } from "node:path";
|
|
14
14
|
*
|
|
15
|
-
* export default
|
|
15
|
+
* export default defineConfig(gitignore(join(import.meta.url, "..", "..")), ...configs.typescript);
|
|
16
16
|
* ```
|
|
17
17
|
*/
|
|
18
|
-
export declare function gitignore(importMetaUrl: string):
|
|
18
|
+
export declare function gitignore(importMetaUrl: string): Linter.Config;
|
package/dist/gitignore.js
CHANGED
|
@@ -11,10 +11,10 @@ import { fileURLToPath } from "node:url";
|
|
|
11
11
|
*
|
|
12
12
|
* @example .gitignore in a different folder
|
|
13
13
|
* ```ts
|
|
14
|
-
* import {
|
|
14
|
+
* import { configs, defineConfig, gitignore } from "@mlaursen/eslint-config";
|
|
15
15
|
* import { join } from "node:path";
|
|
16
16
|
*
|
|
17
|
-
* export default
|
|
17
|
+
* export default defineConfig(gitignore(join(import.meta.url, "..", "..")), ...configs.typescript);
|
|
18
18
|
* ```
|
|
19
19
|
*/
|
|
20
20
|
export function gitignore(importMetaUrl) {
|
package/dist/index.d.ts
CHANGED
|
@@ -3,36 +3,36 @@ import { gitignore } from "./gitignore.js";
|
|
|
3
3
|
export * from "./constants.js";
|
|
4
4
|
export { defineConfig, gitignore };
|
|
5
5
|
export declare const configs: {
|
|
6
|
-
readonly base: import("
|
|
7
|
-
readonly jest: import("
|
|
8
|
-
readonly jestDom: import("
|
|
9
|
-
readonly react: import("
|
|
10
|
-
readonly typescript: import("
|
|
11
|
-
readonly typescriptTypeChecking: (tsconfigRootDir: string) => import("
|
|
12
|
-
readonly testingLibraryDom: import("
|
|
13
|
-
readonly testingLibraryReact: import("
|
|
14
|
-
readonly frontend: (testFramework: import("./testing.js").TestFramework) => import("
|
|
15
|
-
readonly frontendTypeChecking: (tsconfigRootDir: string, testFramework: import("./testing.js").TestFramework) => import("
|
|
16
|
-
readonly jsxA11y: import("
|
|
17
|
-
readonly testing: (framework: import("./testing.js").TestFramework) => import("
|
|
18
|
-
readonly vitest: import("
|
|
6
|
+
readonly base: import("eslint").Linter.Config<import("eslint").Linter.RulesRecord>[];
|
|
7
|
+
readonly jest: import("eslint").Linter.Config<import("eslint").Linter.RulesRecord>[];
|
|
8
|
+
readonly jestDom: import("eslint").Linter.Config<import("eslint").Linter.RulesRecord>[];
|
|
9
|
+
readonly react: import("eslint").Linter.Config<import("eslint").Linter.RulesRecord>[];
|
|
10
|
+
readonly typescript: import("eslint").Linter.Config<import("eslint").Linter.RulesRecord>[];
|
|
11
|
+
readonly typescriptTypeChecking: (tsconfigRootDir: string) => import("eslint").Linter.Config[];
|
|
12
|
+
readonly testingLibraryDom: import("eslint").Linter.Config<import("eslint").Linter.RulesRecord>[];
|
|
13
|
+
readonly testingLibraryReact: import("eslint").Linter.Config<import("eslint").Linter.RulesRecord>[];
|
|
14
|
+
readonly frontend: (testFramework: import("./testing.js").TestFramework) => import("eslint").Linter.Config[];
|
|
15
|
+
readonly frontendTypeChecking: (tsconfigRootDir: string, testFramework: import("./testing.js").TestFramework) => import("eslint").Linter.Config[];
|
|
16
|
+
readonly jsxA11y: import("eslint").Linter.Config<import("eslint").Linter.RulesRecord>[];
|
|
17
|
+
readonly testing: (framework: import("./testing.js").TestFramework) => import("eslint").Linter.Config[];
|
|
18
|
+
readonly vitest: import("eslint").Linter.Config<import("eslint").Linter.RulesRecord>[];
|
|
19
19
|
};
|
|
20
20
|
declare const _default: {
|
|
21
21
|
defineConfig: typeof defineConfig;
|
|
22
22
|
configs: {
|
|
23
|
-
readonly base: import("
|
|
24
|
-
readonly jest: import("
|
|
25
|
-
readonly jestDom: import("
|
|
26
|
-
readonly react: import("
|
|
27
|
-
readonly typescript: import("
|
|
28
|
-
readonly typescriptTypeChecking: (tsconfigRootDir: string) => import("
|
|
29
|
-
readonly testingLibraryDom: import("
|
|
30
|
-
readonly testingLibraryReact: import("
|
|
31
|
-
readonly frontend: (testFramework: import("./testing.js").TestFramework) => import("
|
|
32
|
-
readonly frontendTypeChecking: (tsconfigRootDir: string, testFramework: import("./testing.js").TestFramework) => import("
|
|
33
|
-
readonly jsxA11y: import("
|
|
34
|
-
readonly testing: (framework: import("./testing.js").TestFramework) => import("
|
|
35
|
-
readonly vitest: import("
|
|
23
|
+
readonly base: import("eslint").Linter.Config<import("eslint").Linter.RulesRecord>[];
|
|
24
|
+
readonly jest: import("eslint").Linter.Config<import("eslint").Linter.RulesRecord>[];
|
|
25
|
+
readonly jestDom: import("eslint").Linter.Config<import("eslint").Linter.RulesRecord>[];
|
|
26
|
+
readonly react: import("eslint").Linter.Config<import("eslint").Linter.RulesRecord>[];
|
|
27
|
+
readonly typescript: import("eslint").Linter.Config<import("eslint").Linter.RulesRecord>[];
|
|
28
|
+
readonly typescriptTypeChecking: (tsconfigRootDir: string) => import("eslint").Linter.Config[];
|
|
29
|
+
readonly testingLibraryDom: import("eslint").Linter.Config<import("eslint").Linter.RulesRecord>[];
|
|
30
|
+
readonly testingLibraryReact: import("eslint").Linter.Config<import("eslint").Linter.RulesRecord>[];
|
|
31
|
+
readonly frontend: (testFramework: import("./testing.js").TestFramework) => import("eslint").Linter.Config[];
|
|
32
|
+
readonly frontendTypeChecking: (tsconfigRootDir: string, testFramework: import("./testing.js").TestFramework) => import("eslint").Linter.Config[];
|
|
33
|
+
readonly jsxA11y: import("eslint").Linter.Config<import("eslint").Linter.RulesRecord>[];
|
|
34
|
+
readonly testing: (framework: import("./testing.js").TestFramework) => import("eslint").Linter.Config[];
|
|
35
|
+
readonly vitest: import("eslint").Linter.Config<import("eslint").Linter.RulesRecord>[];
|
|
36
36
|
};
|
|
37
37
|
gitignore: typeof gitignore;
|
|
38
38
|
};
|
package/dist/jsxA11y.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type Linter } from "eslint";
|
|
2
2
|
/**
|
|
3
3
|
* @example
|
|
4
4
|
* ```ts
|
|
5
|
-
* import {
|
|
5
|
+
* import { configs, defineConfig } from "@mlaursen/eslint-config";
|
|
6
6
|
*
|
|
7
|
-
* export default
|
|
7
|
+
* export default defineConfig(...configs.jsxA11y);
|
|
8
8
|
* ```
|
|
9
9
|
*/
|
|
10
|
-
export declare const jsxA11y:
|
|
10
|
+
export declare const jsxA11y: Linter.Config[];
|
package/dist/jsxA11y.js
CHANGED
|
@@ -14,17 +14,16 @@ import { BASE_NAME, JSX_FILES, TEST_FILES } from "./constants.js";
|
|
|
14
14
|
/**
|
|
15
15
|
* @example
|
|
16
16
|
* ```ts
|
|
17
|
-
* import {
|
|
17
|
+
* import { configs, defineConfig } from "@mlaursen/eslint-config";
|
|
18
18
|
*
|
|
19
|
-
* export default
|
|
19
|
+
* export default defineConfig(...configs.jsxA11y);
|
|
20
20
|
* ```
|
|
21
21
|
*/
|
|
22
22
|
export var jsxA11y = [
|
|
23
|
-
__assign(__assign({ name: "".concat(BASE_NAME, "/jsx-a11y"), files: JSX_FILES }, jsxA11yPlugin.flatConfigs.recommended), { rules: {
|
|
23
|
+
__assign(__assign({ name: "".concat(BASE_NAME, "/jsx-a11y"), files: JSX_FILES }, jsxA11yPlugin.flatConfigs.recommended), { rules: __assign(__assign({}, jsxA11yPlugin.flatConfigs.recommended.rules), {
|
|
24
24
|
// I **only** use autoFocus within dialogs which provide the correct
|
|
25
25
|
// context for screen readers.
|
|
26
|
-
"jsx-a11y/no-autofocus": "off",
|
|
27
|
-
} }),
|
|
26
|
+
"jsx-a11y/no-autofocus": "off" }) }),
|
|
28
27
|
{
|
|
29
28
|
name: "".concat(BASE_NAME, "/jsx-a11y/testing"),
|
|
30
29
|
files: TEST_FILES,
|
package/dist/react.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type Linter } from "eslint";
|
|
2
2
|
/**
|
|
3
3
|
* @example
|
|
4
4
|
* ```ts
|
|
5
|
-
* import {
|
|
5
|
+
* import { configs, defineConfig } from "@mlaursen/eslint-config";
|
|
6
6
|
*
|
|
7
|
-
* export default
|
|
7
|
+
* export default defineConfig(...configs.react);
|
|
8
8
|
* ```
|
|
9
9
|
*
|
|
10
10
|
* Enables:
|
|
@@ -14,4 +14,4 @@ import { type TSESLint } from "@typescript-eslint/utils";
|
|
|
14
14
|
* - `eslint-plugin-react-hooks` with:
|
|
15
15
|
* - recommended rules
|
|
16
16
|
*/
|
|
17
|
-
export declare const react:
|
|
17
|
+
export declare const react: Linter.Config[];
|
package/dist/react.js
CHANGED
|
@@ -9,20 +9,21 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
+
var _a, _b, _c;
|
|
12
13
|
import reactPlugin from "eslint-plugin-react";
|
|
13
14
|
import reactHooksPlugin from "eslint-plugin-react-hooks";
|
|
14
15
|
import { BASE_NAME, JSX_FILES } from "./constants.js";
|
|
15
16
|
// Why is the typedef optional?
|
|
16
17
|
var flat = reactPlugin.configs.flat;
|
|
17
|
-
var reactPlugins = flat.recommended.plugins;
|
|
18
|
-
var recommendedRules = flat.recommended.rules;
|
|
19
|
-
var jsxRuntimeRules = flat["jsx-runtime"].rules;
|
|
18
|
+
var reactPlugins = (_a = flat.recommended) === null || _a === void 0 ? void 0 : _a.plugins;
|
|
19
|
+
var recommendedRules = (_b = flat.recommended) === null || _b === void 0 ? void 0 : _b.rules;
|
|
20
|
+
var jsxRuntimeRules = (_c = flat["jsx-runtime"]) === null || _c === void 0 ? void 0 : _c.rules;
|
|
20
21
|
/**
|
|
21
22
|
* @example
|
|
22
23
|
* ```ts
|
|
23
|
-
* import {
|
|
24
|
+
* import { configs, defineConfig } from "@mlaursen/eslint-config";
|
|
24
25
|
*
|
|
25
|
-
* export default
|
|
26
|
+
* export default defineConfig(...configs.react);
|
|
26
27
|
* ```
|
|
27
28
|
*
|
|
28
29
|
* Enables:
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type Linter } from "eslint";
|
|
2
2
|
/**
|
|
3
3
|
* @example
|
|
4
4
|
* ```ts
|
|
5
|
-
* import {
|
|
5
|
+
* import { configs, defineConfig } from "@mlaursen/eslint-config";
|
|
6
6
|
*
|
|
7
|
-
* export default
|
|
7
|
+
* export default defineConfig(
|
|
8
8
|
* ...configs.react,
|
|
9
9
|
* ...configs.jest,
|
|
10
10
|
* ...configs.jestDom,
|
|
@@ -15,13 +15,13 @@ import { type TSESLint } from "@typescript-eslint/utils";
|
|
|
15
15
|
* NOTE: Only choose this or the {@link testingLibraryDom}. Do not use
|
|
16
16
|
* both.
|
|
17
17
|
*/
|
|
18
|
-
export declare const testingLibraryReact:
|
|
18
|
+
export declare const testingLibraryReact: Linter.Config[];
|
|
19
19
|
/**
|
|
20
20
|
* @example
|
|
21
21
|
* ```ts
|
|
22
|
-
* import {
|
|
22
|
+
* import { configs, defineConfig } from "@mlaursen/eslint-config";
|
|
23
23
|
*
|
|
24
|
-
* export default
|
|
24
|
+
* export default defineConfig(
|
|
25
25
|
* ...configs.jest,
|
|
26
26
|
* ...configs.jestDom,
|
|
27
27
|
* ...configs.testingLibraryDom
|
|
@@ -31,4 +31,4 @@ export declare const testingLibraryReact: TSESLint.FlatConfig.ConfigArray;
|
|
|
31
31
|
* NOTE: Only choose this or the {@link testingLibraryReact}. Do not use
|
|
32
32
|
* both.
|
|
33
33
|
*/
|
|
34
|
-
export declare const testingLibraryDom:
|
|
34
|
+
export declare const testingLibraryDom: Linter.Config[];
|
package/dist/testing-library.js
CHANGED
|
@@ -14,9 +14,9 @@ import { BASE_NAME, TEST_FILES } from "./constants.js";
|
|
|
14
14
|
/**
|
|
15
15
|
* @example
|
|
16
16
|
* ```ts
|
|
17
|
-
* import {
|
|
17
|
+
* import { configs, defineConfig } from "@mlaursen/eslint-config";
|
|
18
18
|
*
|
|
19
|
-
* export default
|
|
19
|
+
* export default defineConfig(
|
|
20
20
|
* ...configs.react,
|
|
21
21
|
* ...configs.jest,
|
|
22
22
|
* ...configs.jestDom,
|
|
@@ -33,9 +33,9 @@ export var testingLibraryReact = [
|
|
|
33
33
|
/**
|
|
34
34
|
* @example
|
|
35
35
|
* ```ts
|
|
36
|
-
* import {
|
|
36
|
+
* import { configs, defineConfig } from "@mlaursen/eslint-config";
|
|
37
37
|
*
|
|
38
|
-
* export default
|
|
38
|
+
* export default defineConfig(
|
|
39
39
|
* ...configs.jest,
|
|
40
40
|
* ...configs.jestDom,
|
|
41
41
|
* ...configs.testingLibraryDom
|
package/dist/testing.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type Linter } from "eslint";
|
|
2
2
|
export type TestFramework = "jest" | "vitest";
|
|
3
3
|
/**
|
|
4
4
|
* @example
|
|
@@ -8,7 +8,7 @@ export type TestFramework = "jest" | "vitest";
|
|
|
8
8
|
* export default config(...configs.vitest);
|
|
9
9
|
* ```
|
|
10
10
|
*/
|
|
11
|
-
export declare const vitest:
|
|
11
|
+
export declare const vitest: Linter.Config[];
|
|
12
12
|
/**
|
|
13
13
|
* @example
|
|
14
14
|
* ```ts
|
|
@@ -17,7 +17,7 @@ export declare const vitest: TSESLint.FlatConfig.ConfigArray;
|
|
|
17
17
|
* export default config(...configs.jest);
|
|
18
18
|
* ```
|
|
19
19
|
*/
|
|
20
|
-
export declare const jest:
|
|
20
|
+
export declare const jest: Linter.Config[];
|
|
21
21
|
/**
|
|
22
22
|
* @example
|
|
23
23
|
* ```ts
|
|
@@ -26,7 +26,7 @@ export declare const jest: TSESLint.FlatConfig.ConfigArray;
|
|
|
26
26
|
* export default config(...configs.jest, ...configs.jestDom);
|
|
27
27
|
* ```
|
|
28
28
|
*/
|
|
29
|
-
export declare const jestDom:
|
|
29
|
+
export declare const jestDom: Linter.Config[];
|
|
30
30
|
/**
|
|
31
31
|
* @example
|
|
32
32
|
* ```ts
|
|
@@ -38,4 +38,4 @@ export declare const jestDom: TSESLint.FlatConfig.ConfigArray;
|
|
|
38
38
|
* export default config(...configs.testing("vitest"));
|
|
39
39
|
* ```
|
|
40
40
|
*/
|
|
41
|
-
export declare const testing: (framework: TestFramework) =>
|
|
41
|
+
export declare const testing: (framework: TestFramework) => Linter.Config[];
|
package/dist/testing.js
CHANGED
|
@@ -51,6 +51,7 @@ export var vitest = [
|
|
|
51
51
|
name: "".concat(BASE_NAME, "/vitest"),
|
|
52
52
|
files: TEST_FILES,
|
|
53
53
|
plugins: {
|
|
54
|
+
// @ts-expect-error Invalid Linter.Config type
|
|
54
55
|
vitest: vitestPlugin,
|
|
55
56
|
},
|
|
56
57
|
rules: __assign(__assign({}, vitestPlugin.configs.recommended.rules), { "vitest/no-alias-methods": "error", "vitest/no-focused-tests": DEV_WARNING_PROD_ERROR, "vitest/no-disabled-tests": DEV_WARNING_PROD_ERROR, "vitest/no-duplicate-hooks": "error", "vitest/no-standalone-expect": "error", "vitest/prefer-expect-resolves": "error", "vitest/prefer-spy-on": "error", "vitest/prefer-vi-mocked": "error" }),
|
package/dist/typescript.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type Linter } from "eslint";
|
|
2
2
|
/**
|
|
3
3
|
* @example
|
|
4
4
|
* ```ts
|
|
@@ -7,7 +7,7 @@ import { type TSESLint } from "@typescript-eslint/utils";
|
|
|
7
7
|
* export default config(gitignore(import.meta.url), ...configs.typescript);
|
|
8
8
|
* ```
|
|
9
9
|
*/
|
|
10
|
-
export declare const typescript:
|
|
10
|
+
export declare const typescript: Linter.Config[];
|
|
11
11
|
/**
|
|
12
12
|
* @example
|
|
13
13
|
* ```ts
|
|
@@ -20,4 +20,4 @@ export declare const typescript: TSESLint.FlatConfig.ConfigArray;
|
|
|
20
20
|
* );
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
|
-
export declare const typescriptTypeChecking: (tsconfigRootDir: string) =>
|
|
23
|
+
export declare const typescriptTypeChecking: (tsconfigRootDir: string) => Linter.Config[];
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mlaursen/eslint-config",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "9.0.
|
|
4
|
+
"version": "9.0.2",
|
|
5
5
|
"description": "An eslint config used by mlaursen for most projects.",
|
|
6
6
|
"repository": "https://github.com/mlaursen/eslint-config.git",
|
|
7
7
|
"author": "Mikkel Laursen <mlaursen03@gmail.com>",
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"@types/eslint-plugin-jsx-a11y": "^6.10.0",
|
|
27
27
|
"@typescript-eslint/utils": "^8.44.1",
|
|
28
28
|
"@vitest/eslint-plugin": "^1.3.13",
|
|
29
|
+
"eslint": "^9.36.0",
|
|
29
30
|
"eslint-plugin-jest": "^29.0.1",
|
|
30
31
|
"eslint-plugin-jest-dom": "^5.5.0",
|
|
31
32
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
@@ -38,7 +39,6 @@
|
|
|
38
39
|
"@changesets/cli": "^2.29.7",
|
|
39
40
|
"@mlaursen/release-script": "^0.0.5",
|
|
40
41
|
"@types/node": "^24.5.2",
|
|
41
|
-
"eslint": "^9.36.0",
|
|
42
42
|
"husky": "^9.1.7",
|
|
43
43
|
"lint-staged": "^16.2.1",
|
|
44
44
|
"prettier": "^3.6.2",
|