Skip to content

Commit 83656f3

Browse files
committed
chore: change eslint with biome
- use ultracite as biome default rules - add lefthook - add vitest-mock-extended - upgrade dependencies
1 parent 0912349 commit 83656f3

File tree

12 files changed

+625
-1778
lines changed

12 files changed

+625
-1778
lines changed

.devcontainer/devcontainer.json

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,42 @@
1818
"customizations": {
1919
"vscode": {
2020
"extensions": [
21-
"dbaeumer.vscode-eslint",
22-
"esbenp.prettier-vscode",
2321
"usernamehw.errorlens",
24-
"vitest.explorer"
22+
"vitest.explorer",
23+
"biomejs.biome"
2524
],
2625
"settings": {
27-
"editor.codeActionsOnSave": {
28-
"source.fixAll": "always",
29-
"source.fixAll.eslint": "explicit"
26+
"[javascript]": {
27+
"editor.defaultFormatter": "biomejs.biome"
3028
},
31-
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
32-
"editor.formatOnSave": true,
33-
"eslint.format.enable": true,
34-
"css.lint.unknownAtRules": "ignore",
3529
"[typescript]": {
36-
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
30+
"editor.defaultFormatter": "biomejs.biome"
31+
},
32+
"[javascriptreact]": {
33+
"editor.defaultFormatter": "biomejs.biome"
34+
},
35+
"[typescriptreact]": {
36+
"editor.defaultFormatter": "biomejs.biome"
37+
},
38+
"[json]": {
39+
"editor.defaultFormatter": "biomejs.biome"
40+
},
41+
"[jsonc]": {
42+
"editor.defaultFormatter": "biomejs.biome"
43+
},
44+
"[css]": {
45+
"editor.defaultFormatter": "biomejs.biome"
46+
},
47+
"[graphql]": {
48+
"editor.defaultFormatter": "biomejs.biome"
49+
},
50+
"typescript.tsdk": "node_modules/typescript/lib",
51+
"editor.formatOnSave": true,
52+
"editor.formatOnPaste": true,
53+
"emmet.showExpandedAbbreviation": "never",
54+
"editor.codeActionsOnSave": {
55+
"source.fixAll.biome": "explicit",
56+
"source.organizeImports.biome": "explicit"
3757
}
3858
}
3959
}

.github/workflows/test.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
- name: Install Node.js
1919
uses: actions/setup-node@v4
2020
with:
21-
node-version: 20
21+
node-version: 22
2222
cache: 'pnpm'
2323

2424
- name: Install dependencies

.prettierrc.json

Lines changed: 0 additions & 5 deletions
This file was deleted.

.vscode/extensions.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"recommendations": ["biomejs.biome", "vitest.explorer"]
3+
}

.vscode/settings.json

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
"[javascript]": {
3+
"editor.defaultFormatter": "biomejs.biome"
4+
},
5+
"[typescript]": {
6+
"editor.defaultFormatter": "biomejs.biome"
7+
},
8+
"[javascriptreact]": {
9+
"editor.defaultFormatter": "biomejs.biome"
10+
},
11+
"[typescriptreact]": {
12+
"editor.defaultFormatter": "biomejs.biome"
13+
},
14+
"[json]": {
15+
"editor.defaultFormatter": "biomejs.biome"
16+
},
17+
"[jsonc]": {
18+
"editor.defaultFormatter": "biomejs.biome"
19+
},
20+
"[css]": {
21+
"editor.defaultFormatter": "biomejs.biome"
22+
},
23+
"[graphql]": {
24+
"editor.defaultFormatter": "biomejs.biome"
25+
},
26+
"typescript.tsdk": "node_modules/typescript/lib",
27+
"editor.formatOnSave": true,
28+
"editor.formatOnPaste": true,
29+
"emmet.showExpandedAbbreviation": "never",
30+
"editor.codeActionsOnSave": {
31+
"source.fixAll.biome": "explicit",
32+
"source.organizeImports.biome": "explicit"
33+
}
34+
}

biome.jsonc

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
3+
"files": {
4+
"includes": ["**", "!.devcontainer"]
5+
},
6+
"extends": ["ultracite"],
7+
"javascript": {
8+
"formatter": {
9+
"semicolons": "asNeeded",
10+
"quoteStyle": "single"
11+
}
12+
}
13+
}

eslint.config.js

Lines changed: 0 additions & 60 deletions
This file was deleted.

lefthook.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
pre-commit:
2+
jobs:
3+
- run: pnpm run fix
4+
glob:
5+
- "*.js"
6+
- "*.jsx"
7+
- "*.ts"
8+
- "*.tsx"
9+
- "*.json"
10+
- "*.jsonc"
11+
- "*.css"
12+
stage_fixed: true

package.json

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,22 @@
66
"license": "AGPL-3.0",
77
"type": "module",
88
"devDependencies": {
9-
"@eslint/js": "^9.13.0",
10-
"@types/node": "^20.17.1",
11-
"@typescript-eslint/parser": "^8.11.0",
12-
"eslint": "^9.13.0",
13-
"eslint-config-prettier": "^9.1.0",
14-
"eslint-import-resolver-typescript": "^3.6.3",
15-
"eslint-plugin-import-x": "^4.3.1",
16-
"eslint-plugin-prettier": "^5.2.1",
17-
"eslint-plugin-simple-import-sort": "^12.1.1",
18-
"eslint-plugin-sort": "^4.0.0",
19-
"eslint-plugin-unicorn": "^56.0.0",
20-
"globals": "^15.11.0",
21-
"prettier": "3.3.3",
22-
"typescript": "^5.6.3",
23-
"typescript-eslint": "^8.11.0",
24-
"vitest": "^2.1.3"
9+
"@biomejs/biome": "2.2.4",
10+
"@types/node": "^22.11.10",
11+
"globals": "^16.4.0",
12+
"lefthook": "^1.12.4",
13+
"typescript": "^5.9.2",
14+
"ultracite": "^5.3.4",
15+
"vitest": "^3.2.4",
16+
"vitest-mock-extended": "^3.1.0"
2517
},
2618
"scripts": {
2719
"format-check": "prettier --check '**/*.ts'",
2820
"test": "vitest",
29-
"lint": "eslint src/",
30-
"lint:fix": "eslint --fix src/",
31-
"all": "pnpm run format-check && pnpm run lint && pnpm test"
21+
"check": "ultracite check",
22+
"fix": "ultracite fix",
23+
"all": "pnpm run check && pnpm run fix && pnpm test",
24+
"prepare": "lefthook install"
3225
},
33-
"packageManager": "pnpm@9.12.2+sha256.2ef6e547b0b07d841d605240dce4d635677831148cd30f6d564b8f4f928f73d2"
26+
"packageManager": "pnpm@10.15.1"
3427
}

0 commit comments

Comments
 (0)